:root{--bg: #0E131C;--bg-deep: #0A0E16;--panel: #131A26;--panel-2: #1A2230;--border: #1F2937;--border-strong: #2C3A4F;--text: #E8EDF5;--muted: #8B97A8;--accent: #FB923C;--accent-raw: #FB923C;--shadow-hover: 0 8px 24px rgba(0,0,0,.35);--font-display: "Space Grotesk", sans-serif;--font-body: "Instrument Sans", sans-serif;--font-mono: "JetBrains Mono", monospace}html[data-theme=light]{--bg: #F4F6F9;--bg-deep: #FFFFFF;--panel: #FFFFFF;--panel-2: #ECF0F5;--border: #E1E7EF;--border-strong: #C6D1DF;--text: #15202D;--muted: #5C6B7E;--shadow-hover: 0 8px 24px rgba(23, 32, 60, .1)}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;-webkit-font-smoothing:antialiased;transition:background .35s ease,color .35s ease}#root{height:100%}::selection{background:color-mix(in oklch,var(--accent) 30%,transparent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--panel-2);border-radius:8px;border:2px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}nav,header,aside{transition:background .35s ease,border-color .35s ease}@keyframes xpPop{0%{transform:translateY(10px) scale(.85);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translateY(14px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes floatA{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes floatB{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}a{text-decoration:none}button{font-family:var(--font-body)}h1,h2,h3{font-family:var(--font-display)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.7}input[type=range]{accent-color:var(--accent)}@media print{body{background:#fff}.no-print{display:none!important}}
