@font-face{font-family:Pretendard;src:url(/fonts/PretendardVariable-1.3.9.woff2) format("woff2");font-weight:45 920;font-style:normal;font-display:swap}:root{--primary:#1f5eff;--primary-hover:#1a52e0;--accent:#ff6b2c;--success:#16a34a;--danger:#dc2626;--warning:#d97706;--bg:#f7f8fa;--surface:#fff;--text:#111827;--text-sub:#6b7280;--text-tertiary:#9ca3af;--text-faint:#c4c9d2;--border:#e5e7eb;--divider:#f3f4f6;--track:#eef0f3;--chart-bar:#d6e0fa;--primary-tint:rgba(31,94,255,.08);--primary-tint-strong:#eef3ff;--success-tint:rgba(22,163,74,.08);--danger-tint:rgba(220,38,38,.07);--warning-tint:#fffbeb;--card-shadow:0 1px 2px rgba(17,24,39,.04);--radius-card:12px;--radius-chip:999px;--shell-max:1280px;--root-topbar-bg:#111827;--root-topbar-text:#f9fafb;--root-topbar-sub:#9ca3af;--root-topbar-border:#1f2937;--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-io:cubic-bezier(0.77,0,0.175,1);--dur-press:110ms;--dur-fast:160ms;--dur-med:220ms;--shadow-1:0 1px 2px rgba(17,24,39,.05),0 1px 1px rgba(17,24,39,.03);--shadow-2:0 2px 6px rgba(17,24,39,.06),0 12px 28px rgba(17,24,39,.1);--material-dark:rgba(17,24,39,.72);--material-blur:saturate(160%) blur(20px)}@keyframes wlGrowX{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes wlGrowY{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes wlFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes wlFade{0%{opacity:0}to{opacity:1}}@keyframes wlPulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){*{animation:none!important}.pressable:active,a[role=button]:active,button:not(:disabled):active{transform:none!important}tbody td{transition:none!important}}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5;min-height:100dvh}img{max-width:100%;display:block}button{font:inherit;border:none;background:none;cursor:pointer;transition:transform var(--dur-press) var(--ease-out)}.pressable:active,a[role=button]:active,button:not(:disabled):active{transform:scale(.97)}tbody td{transition:background var(--dur-fast) var(--ease-out)}tbody tr:active td{background:var(--primary-tint)}input,select{font:inherit}a{color:inherit;text-decoration:none}table{border-collapse:collapse}