:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--gap-item:var(--space-2);--gap-group:var(--space-6);--gap-section:var(--space-8);--band:var(--space-2);--page-inline:var(--space-4);--content-max:1280px;--text-caption:12px;--text-small:14px;--text-body:16px;--text-heading:20px;--text-title:24px;--text-display:32px;--text-hero:40px;--font-sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,"Helvetica Neue","Segoe UI","Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;--leading-tight:1.3;--leading-body:1.5;--weight-regular:400;--weight-semibold:600;--weight-bold:700;--radius-control:8px;--radius-card:12px;--radius-sheet:24px;--radius-full:999px;--measure:65ch;--tap-min:44px;--control-height:48px;--ratio-square:1/1;--ratio-photo:4/3;--ratio-wide:16/9;--color-text:#1c1c1c;--color-text-secondary:#525252;--color-text-tertiary:#686868;--color-line:#e6e6e6;--color-surface:#ffffff;--color-canvas:#f3f3f3;--color-accent:#222222;--color-on-accent:#ffffff;--color-accent-soft:#e8e8e8;--color-danger:#c8341f;--color-success:#13795b;--color-rise:#d0262d;--color-fall:#1b64da;--color-reward:#b07d00;--color-reward-silver:#7b8088;--color-reward-bronze:#a8662b}@media (min-width:768px){:root{--page-inline:var(--space-6);--gap-section:var(--space-12)}}:root{--motion-duration-instant:100ms;--motion-duration-fast:150ms;--motion-duration-base:250ms;--motion-duration-slow:350ms;--motion-duration-page:420ms;--motion-exit-ratio:0.75;--motion-ease-out:cubic-bezier(0.22,1,0.36,1);--motion-ease-in-out:cubic-bezier(0.65,0,0.35,1);--motion-ease-drawer:cubic-bezier(0.32,0.72,0,1);--motion-ease-overshoot:cubic-bezier(0.34,1.56,0.64,1);--motion-ease-linear:linear;--motion-stagger:30ms}@media (prefers-reduced-motion:reduce){:root{--motion-duration-instant:1ms;--motion-duration-fast:1ms;--motion-duration-base:80ms;--motion-duration-slow:80ms;--motion-duration-page:120ms;--motion-stagger:0ms}}.modal{--_duration:var(--modal-duration,240ms);--_ease-out:cubic-bezier(0.22,1,0.36,1);width:var(--modal-width,min(420px,calc(100vw - 32px)));max-height:min(80vh,640px);padding:0;border:none;border-radius:var(--modal-radius,16px);background:var(--modal-bg,#fff);color:inherit;box-shadow:0 24px 64px rgba(15,23,42,.35);overflow:hidden}.modal[open]{animation:modal-in var(--_duration) var(--_ease-out)}.modal[open]::-webkit-backdrop{background:var(--modal-backdrop,rgba(15,23,42,.55));animation:modal-backdrop-in var(--_duration) ease}.modal[open]::backdrop{background:var(--modal-backdrop,rgba(15,23,42,.55));animation:modal-backdrop-in var(--_duration) ease}.modal[data-closing]{animation:modal-out calc(var(--_duration) * .75) var(--_ease-out) forwards}.modal[data-closing]::-webkit-backdrop{animation:modal-backdrop-out calc(var(--_duration) * .75) ease forwards}.modal[data-closing]::backdrop{animation:modal-backdrop-out calc(var(--_duration) * .75) ease forwards}.modal-body{padding:24px;overflow-y:auto;max-height:inherit}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}@keyframes modal-out{to{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes modal-backdrop-in{0%{opacity:0}}@keyframes modal-backdrop-out{to{opacity:0}}@media (prefers-reduced-motion:reduce){.modal[data-closing],.modal[open]{animation-name:modal-fade-in;animation-duration:.1s}.modal[data-closing]{animation-name:modal-fade-out}.modal[data-closing]::-webkit-backdrop,.modal[open]::-webkit-backdrop{animation-duration:.1s}.modal[data-closing]::backdrop,.modal[open]::backdrop{animation-duration:.1s}}@keyframes modal-fade-in{0%{opacity:0}}@keyframes modal-fade-out{to{opacity:0}}