*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;padding:0;font-family:Pretendard,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}img,video{max-width:100%;height:auto}:root{--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-top: env(safe-area-inset-top, 0px);--header-height-desktop: 64px;--header-height-mobile: 56px;--header-height: var(--header-height-desktop);--mobile: 480px;--tablet: 768px;--desktop: 1024px;--desktop-large: 1280px;--container-padding: min(5vw, 32px);--container-padding-mobile: min(4vw, 20px);--fs-xs: clamp(.75rem, .7rem + .2vw, .875rem);--fs-sm: clamp(.875rem, .8rem + .3vw, 1rem);--fs-base: clamp(1rem, .9rem + .4vw, 1.125rem);--fs-lg: clamp(1.125rem, 1rem + .5vw, 1.25rem);--fs-xl: clamp(1.25rem, 1.1rem + .6vw, 1.5rem);--fs-2xl: clamp(1.5rem, 1.3rem + .8vw, 2rem);--fs-3xl: clamp(1.875rem, 1.5rem + 1.2vw, 2.75rem);--fs-4xl: clamp(2.25rem, 1.8rem + 1.8vw, 3.5rem);--fs-5xl: clamp(3rem, 2.2rem + 3vw, 4.5rem);--space-xs: clamp(.25rem, .2rem + .2vw, .375rem);--space-sm: clamp(.5rem, .4rem + .4vw, .75rem);--space-md: clamp(.75rem, .6rem + .6vw, 1.125rem);--space-lg: clamp(1rem, .8rem + .8vw, 1.5rem);--space-xl: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);--space-2xl: clamp(2rem, 1.6rem + 1.6vw, 3rem);--space-3xl: clamp(2.5rem, 2rem + 2vw, 4rem);--space-4xl: clamp(3rem, 2.4rem + 2.4vw, 5rem);--radius-sm: clamp(.25rem, .2rem + .1vw, .375rem);--radius-md: clamp(.375rem, .3rem + .2vw, .5rem);--radius-lg: clamp(.5rem, .4rem + .3vw, .75rem);--radius-xl: clamp(.75rem, .6rem + .4vw, 1rem)}@media (max-width: 768px){:root{--header-height: var(--header-height-mobile)}}.with-header-offset{padding-top:calc(var(--header-height) + clamp(8px,2vh,24px))}.only-desktop{display:block}.only-mobile,.only-tablet{display:none}@media (max-width: 479px){.only-desktop,.only-tablet{display:none!important}.only-mobile{display:block!important}.mobile-center{text-align:center!important}.mobile-full-width{width:100%!important}.mobile-hide{display:none!important}.mobile-stack{flex-direction:column!important}}@media (min-width: 480px) and (max-width: 767px){.only-desktop,.only-mobile{display:none!important}.only-tablet{display:block!important}}@media (min-width: 768px){.only-mobile,.only-tablet{display:none!important}.only-desktop{display:block!important}}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--container-padding)}@media (max-width: 768px){.container{padding:0 var(--container-padding-mobile)}}.grid{display:grid;gap:var(--space-lg)}.grid-cols-1{grid-template-columns:1fr}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 768px){.grid{gap:var(--space-md)}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.tablet\:grid-cols-2{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.grid{gap:var(--space-sm)}}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.gap-2xl{gap:var(--space-2xl)}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.p-2xl{padding:var(--space-2xl)}.m-xs{margin:var(--space-xs)}.m-sm{margin:var(--space-sm)}.m-md{margin:var(--space-md)}.m-lg{margin:var(--space-lg)}.m-xl{margin:var(--space-xl)}.m-2xl{margin:var(--space-2xl)}.text-xs{font-size:var(--fs-xs)}.text-sm{font-size:var(--fs-sm)}.text-base{font-size:var(--fs-base)}.text-lg{font-size:var(--fs-lg)}.text-xl{font-size:var(--fs-xl)}.text-2xl{font-size:var(--fs-2xl)}.text-3xl{font-size:var(--fs-3xl)}.text-4xl{font-size:var(--fs-4xl)}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}@media (max-width: 768px){button:not(.compact-btn),a:not(.compact-btn),[role=button]:not(.compact-btn){min-height:44px;min-width:44px}.compact-btn{min-height:auto;min-width:auto;line-height:1}.touch-target{min-height:48px;min-width:48px;display:flex;align-items:center;justify-content:center}*{-webkit-overflow-scrolling:touch}*{-webkit-tap-highlight-color:transparent}input,select,textarea{font-size:16px}}.swipeable{touch-action:pan-y pinch-zoom}.swipeable-horizontal{touch-action:pan-x pinch-zoom}.no-drag{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none}@media (max-width: 479px){.mobile-hide{display:none!important}.mobile-show{display:block!important}.mobile-full{width:100%!important;margin-left:0!important;margin-right:0!important}.mobile-center{text-align:center!important}.mobile-stack{flex-direction:column!important;align-items:stretch!important}.mobile-gap-sm{gap:.5rem!important}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-color-scheme: dark){:root{color-scheme:dark}.card-dark{background:#1e293b;color:#f1f5f9;border-color:#334155}.text-dark{color:#f1f5f9}.text-muted-dark{color:#94a3b8}}.focus-visible:focus{outline:2px solid #3b82f6;outline-offset:2px}.loading-shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 2s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
