*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #080E14;--surface: #0F1923;--surface-hi: #1A2535;--border: #1E2E42;--border-hi: #2A3E58;--accent: #5B8DEF;--accent-dim: rgba(91,141,239,.12);--accent-mid: rgba(91,141,239,.25);--teal: #38BFA1;--teal-dim: rgba(56,191,161,.12);--gold: #E8B84B;--gold-dim: rgba(232,184,75,.12);--success: #2DD4A0;--success-dim: rgba(45,212,160,.12);--danger: #F26B6B;--danger-dim: rgba(242,107,107,.12);--text-1: #E8EDF5;--text-2: #A0B4CC;--text-3: #7090A8;--btn-bg: #1E3A5F;--btn-text: #E8EDF5;--font-display: "Syne", sans-serif;--font-body: "Outfit", sans-serif;--font-mono: "DM Mono", monospace;--radius: 10px;--radius-lg: 14px;--shadow: 0 4px 24px rgba(0,0,0,.4);--shadow-lg: 0 12px 48px rgba(0,0,0,.6)}[data-theme=light]{--bg: #EEF2F9;--surface: #FFFFFF;--surface-hi: #E2E9F4;--border: #C8D5E8;--border-hi: #A8BCE0;--accent: #2D5FBF;--accent-dim: rgba(45,95,191,.08);--accent-mid: rgba(45,95,191,.2);--teal: #1E9E82;--teal-dim: rgba(30,158,130,.1);--gold: #C49A28;--gold-dim: rgba(196,154,40,.1);--success: #1A9E78;--success-dim: rgba(26,158,120,.1);--danger: #D94F4F;--danger-dim: rgba(217,79,79,.1);--text-1: #080E14;--text-2: #3D5070;--text-3: #4A5E78;--btn-bg: #2D5FBF;--btn-text: #FFFFFF;--shadow: 0 2px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 32px rgba(0,0,0,.12)}html{font-size:16px}body{font-family:var(--font-body);background:var(--bg);color:var(--text-1);line-height:1.6;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--border-hi);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-mid)}a{color:inherit;text-decoration:none}input,select,textarea,button{font-family:var(--font-body);font-size:.9rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}.fade-up{animation:fadeUp .3s ease both}.fade-in{animation:fadeIn .2s ease both}.mono{font-family:var(--font-mono)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
