@import "https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&display=swap";
:root{--bg:#f2f2f4;--bg-secondary:#fff;--bg-tertiary:#f9f9fa;--ink-strong:#000000d1;--ink:#000000a6;--ink-muted:#00000073;--ink-base:#0000008c;--brand-primary:var(--ink-strong);--brand-gradient:linear-gradient(135deg,#000000c7,#000000e0);--brand-glow:#0000000f;--accent-success:#22c55e;--accent-warning:#f59e0b;--accent-error:#ef4444;--accent-info:#64748b;--accent-neutral:var(--ink-muted);--tint-success:color-mix(in srgb,var(--accent-success)10%,transparent);--tint-warning:color-mix(in srgb,var(--accent-warning)10%,transparent);--tint-error:color-mix(in srgb,var(--accent-error)10%,transparent);--tint-info:color-mix(in srgb,var(--accent-info)10%,transparent);--glass-bg:#ffffffa8;--glass-bg-strong:#ffffffd1;--glass-border:#0000000f;--glass-blur:14px;--line:#0000000f;--line-focus:#00000026;--font-sans:"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:ui-monospace,"Cascadia Mono","Fira Mono",monospace;--fs-xs:clamp(10px,1.05vmin,12px);--fs-sm:clamp(12px,1.25vmin,14px);--fs-base:clamp(14px,1.45vmin,16px);--fs-lg:clamp(18px,2vmin,22px);--fs-xl:clamp(24px,2.8vmin,30px);--fs-2xl:clamp(32px,3.6vmin,40px);--sp-xs:clamp(4px,.5vmin,6px);--sp-sm:clamp(6px,.9vmin,8px);--sp-md:clamp(12px,1.8vmin,16px);--sp-lg:clamp(24px,3.6vmin,32px);--sp-xl:clamp(40px,6vmin,56px);--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-brand:0 4px 16px #0000001f;--focus-ring:0 0 0 2px var(--line-focus);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--ease-out:cubic-bezier(.22,1,.36,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--color-border:var(--line);--color-surface:var(--bg-tertiary);--color-surface-hover:var(--bg-secondary);--color-text-muted:var(--ink-muted);--color-text-secondary:var(--ink-base);--color-primary:var(--brand-primary);--color-bg-secondary:var(--bg-tertiary)}:root[data-theme=dark]{--bg:#0d0d10;--bg-secondary:#ffffff0a;--bg-tertiary:#ffffff05;--ink-strong:#ffffffeb;--ink:#ffffffb8;--ink-muted:#ffffff80;--ink-base:#ffffff8c;--brand-gradient:linear-gradient(135deg,#ffffff26,#ffffff38);--brand-glow:#ffffff1a;--glass-bg:#ffffff0a;--glass-bg-strong:#ffffff14;--glass-border:#ffffff14;--line:#ffffff14;--line-focus:#fff3;--accent-info:#64748b;--accent-neutral:var(--ink-muted);--tint-success:color-mix(in srgb,var(--accent-success)10%,transparent);--tint-warning:color-mix(in srgb,var(--accent-warning)10%,transparent);--tint-error:color-mix(in srgb,var(--accent-error)10%,transparent);--tint-info:color-mix(in srgb,var(--accent-info)10%,transparent)}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;overflow-x:hidden}body{font-family:var(--font-sans);font-size:var(--fs-base);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#00000014}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--ink-strong);outline-offset:2px}:focus:not(:focus-visible){outline:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-to-content{z-index:9999;background:var(--ink-strong);color:var(--bg);font-size:var(--fs-base);border-radius:var(--radius-md);transition:top var(--duration-fast)var(--ease-out);padding:12px 24px;font-weight:500;text-decoration:none;position:absolute;top:-100%;left:16px}.skip-to-content:focus{top:16px}@keyframes dv-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dv-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes dv-slide-in{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes dv-scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes dv-progress-shrink{0%{width:100%}to{width:0%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
