@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap");:root{--bg:#f8f9fb;--bg2:#fff;--bg3:#f0f2f6;--surface:#fff;--border:#e8eaf0;--border2:#d4d7e3;--text:#0f1623;--text2:#5c6480;--text3:#9ba3bf;--accent:#0ea5e9;--accent-dark:#0284c7;--accent-bg:rgba(14,165,233,.08);--accent-border:rgba(14,165,233,.2);--success:#10b981;--success-bg:rgba(16,185,129,.08);--danger:#ef4444;--danger-bg:rgba(239,68,68,.08);--warning:#f59e0b;--warning-bg:rgba(245,158,11,.08);--sidebar-w:240px;--topnav-h:60px;--font:"Plus Jakarta Sans",sans-serif;--font-mono:"JetBrains Mono",monospace;--radius:10px;--radius-lg:14px;--radius-xl:18px;--shadow-sm:0 1px 3px rgba(15,22,35,.06),0 1px 2px rgba(15,22,35,.04);--shadow:0 4px 16px rgba(15,22,35,.08);--shadow-lg:0 8px 32px rgba(15,22,35,.12)}[data-theme=dark]{--bg:#0c0f1a;--bg2:#111827;--bg3:#1a2035;--surface:#111827;--border:#1e2d40;--border2:#2a3a55;--text:#f1f5ff;--text2:#8892b0;--text3:#4a5568;--accent:#38bdf8;--accent-dark:#0ea5e9;--accent-bg:rgba(56,189,248,.08);--accent-border:rgba(56,189,248,.2);--success:#34d399;--success-bg:rgba(52,211,153,.08);--danger:#f87171;--danger-bg:hsla(0,91%,71%,.08);--warning:#fbbf24;--warning-bg:rgba(251,191,36,.08);--shadow-sm:0 1px 3px rgba(0,0,0,.3);--shadow:0 4px 16px rgba(0,0,0,.4);--shadow-lg:0 8px 32px rgba(0,0,0,.5)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;transition:background .25s,color .25s}a{color:inherit;text-decoration:none}button{font-family:var(--font);cursor:pointer}img{display:block}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}.fade-in{animation:fadeIn .4s ease forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--bg3) 25%,var(--border) 50%,var(--bg3) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius)}