:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--font-xs:11px;--font-sm:13px;--font-base:15px;--font-lg:17px;--font-xl:21px;--font-2xl:28px;--font-3xl:34px;--leading-tight:1.08;--leading-normal:1.47;--leading-relaxed:1.58;--tracking-tight:-0.022em;--tracking-normal:-0.017em;--transition-fast:all 0.2s ease;--transition-smooth:all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--z-dropdown:10;--z-sticky:20;--z-overlay:30;--z-modal:40;--z-popover:50;--z-tooltip:60;--bg-primary:#000;--bg-secondary:#0a0a0a;--bg-tertiary:#141414;--bg-hover:hsla(0,0%,100%,.05);--surface-primary:hsla(0,0%,100%,.03);--surface-secondary:hsla(0,0%,100%,.05);--surface-tertiary:hsla(0,0%,100%,.08);--surface-elevated:hsla(0,0%,100%,.1);--surface-overlay:rgba(0,0,0,.8);--glass-bg:rgba(0,0,0,.6);--glass-border:hsla(0,0%,100%,.06);--glass-tint:255,255,255;--glass-tint-opacity:0.03;--glass-blur:50px;--text-primary:hsla(0,0%,100%,.95);--text-secondary:hsla(0,0%,100%,.7);--text-tertiary:hsla(0,0%,100%,.5);--text-disabled:hsla(0,0%,100%,.3);--border-default:hsla(0,0%,100%,.08);--border-hover:hsla(0,0%,100%,.12);--border-focus:hsla(0,0%,100%,.2);--accent-primary:#8b5cf6;--accent-secondary:#ec4899;--accent-success:#10b981;--accent-warning:#f97316;--accent-error:#ef4444;--accent-info:#3b82f6;--effect-purple:rgba(139,92,246,.3);--effect-pink:rgba(236,72,153,.3);--gradient-purple-pink:linear-gradient(135deg,#8b5cf6,#ec4899);--gradient-blue-cyan:linear-gradient(135deg,#3b82f6,#06b6d4);--gradient-green-emerald:linear-gradient(135deg,#10b981,#34d399);--gradient-orange-red:linear-gradient(135deg,#f97316,#ef4444)}[data-theme=light]{--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--bg-hover:rgba(0,0,0,.05);--surface-primary:rgba(0,0,0,.03);--surface-secondary:rgba(0,0,0,.05);--surface-tertiary:rgba(0,0,0,.08);--surface-elevated:rgba(0,0,0,.1);--surface-overlay:hsla(0,0%,100%,.95);--glass-bg:hsla(0,0%,100%,.6);--glass-border:rgba(0,0,0,.06);--glass-tint:0,0,0;--text-primary:rgba(0,0,0,.95);--text-secondary:rgba(0,0,0,.7);--text-tertiary:rgba(0,0,0,.5);--text-disabled:rgba(0,0,0,.3);--border-default:rgba(0,0,0,.08);--border-hover:rgba(0,0,0,.12);--border-focus:rgba(0,0,0,.2)}@media (prefers-contrast:high){:root{--text-primary:#fff;--text-secondary:#e5e5e5;--border-default:hsla(0,0%,100%,.2);--border-hover:hsla(0,0%,100%,.3)}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,system-ui,sans-serif;font-size:var(--font-base);letter-spacing:var(--tracking-normal);line-height:var(--leading-normal);font-weight:400;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}:lang(ko){font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,맑은 고딕,system-ui,sans-serif;word-break:keep-all;line-break:strict}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}::-moz-selection{background:var(--accent-primary);color:#fff}::selection{background:var(--accent-primary);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.touch-manipulation{touch-action:manipulation}.pb-safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.gpu-accelerated{transform:translateZ(0);will-change:transform}.no-select{-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}