*{box-sizing:border-box}:root{--bg-app: #050510;--bg-gradient-1: rgba(0, 240, 255, .03);--bg-gradient-2: rgba(189, 0, 255, .03);--text-primary: #f5f5f7;--text-secondary: #86868b;--text-tertiary: #56565c;--color-primary: #2997ff;--color-primary-glow: rgba(41, 151, 255, .2);--color-secondary: #bf5af2;--color-accent: #ffd60a;--color-danger: #ff453a;--color-success: #32d74b;--surface-base: rgba(255, 255, 255, .05);--surface-hover: rgba(255, 255, 255, .08);--surface-active: rgba(255, 255, 255, .12);--border-subtle: rgba(255, 255, 255, .1);--border-focus: rgba(255, 255, 255, .2);--glass-bg: rgba(20, 20, 30, .65);--glass-border: 1px solid rgba(255, 255, 255, .08);--glass-backdrop: blur(20px) saturate(180%);--shadow-sm: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5);--font-body: -apple-system, BlinkMacSystemFont, "Inter", "SeoulNamsan", sans-serif;--font-header: "Orbitron", -apple-system, sans-serif;--font-mono: "SF Mono", "Menlo", monospace;--ease-spring: cubic-bezier(.25, .8, .25, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg-app: #f5f5f7;--bg-gradient-1: rgba(0, 122, 255, .05);--bg-gradient-2: rgba(175, 82, 222, .05);--text-primary: #1d1d1f;--text-secondary: #6e6e73;--text-tertiary: #86868b;--color-primary: #0066cc;--color-primary-glow: rgba(0, 102, 204, .1);--color-secondary: #7e3ff2;--color-accent: #f5a623;--color-danger: #d70015;--color-success: #248a3d;--surface-base: #ffffff;--surface-hover: #f0f0f5;--surface-active: #e5e5ea;--border-subtle: rgba(0, 0, 0, .08);--border-focus: rgba(0, 0, 0, .15);--glass-bg: rgba(255, 255, 255, .75);--glass-border: 1px solid rgba(0, 0, 0, .05);--glass-backdrop: blur(20px) saturate(180%);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-lg: 0 16px 32px rgba(0, 0, 0, .08)}body{margin:0;background-color:var(--bg-app);background-image:radial-gradient(circle at 10% 20%,var(--bg-gradient-1),transparent 50%),radial-gradient(circle at 90% 80%,var(--bg-gradient-2),transparent 50%);background-attachment:fixed;color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh;transition:background-color .3s var(--ease-smooth),color .3s var(--ease-smooth)}#root{width:100%;min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4{font-family:var(--font-header);font-weight:600;margin:0;color:var(--text-primary)}button{font-family:var(--font-body);border:none;background:none;cursor:pointer;color:inherit;transition:all .2s var(--ease-smooth)}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 4px var(--color-primary-glow)}.glass-panel{background:var(--glass-bg);border:var(--glass-border);box-shadow:var(--shadow-sm);backdrop-filter:var(--glass-backdrop);-webkit-backdrop-filter:var(--glass-backdrop);border-radius:16px}.container{max-width:1600px;width:100%;margin:0 auto;padding:1.5rem}input,select{font-family:inherit;transition:all .2s var(--ease-smooth)}input:focus,select:focus{outline:none;border-color:var(--color-primary)!important;box-shadow:0 0 0 3px var(--color-primary-glow)}.flex-center{display:flex;align-items:center;justify-content:center}.nav-btn{color:var(--text-secondary);padding:.6rem 1.2rem;border-radius:99px;font-family:var(--font-body);font-weight:500;font-size:.9rem;transition:all .2s var(--ease-smooth)}.nav-btn:hover{color:var(--text-primary);background:var(--surface-hover)}.nav-btn.active{color:#fff;background:var(--color-primary);box-shadow:0 4px 12px var(--color-primary-glow)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .4s var(--ease-spring) forwards}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-focus);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}input,select{font-family:var(--font-body);background:var(--surface-base);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:8px;transition:all .2s var(--ease-smooth)}input:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}
