:root{--bg-primary:#0b0f19;--bg-secondary:#0f1524;--bg-card:#141c2e;--bg-card-hover:#182035;--bg-editor:#0d1117;--bg-surface:#1a2340;--bg-glass:rgba(20,28,46,.85);--text-primary:#f0f4fc;--text-secondary:#8b9cc0;--text-muted:#5a6a8a;--text-code:#e2e8f0;--accent:#146ff8;--accent-light:#3b8bff;--accent-dark:#0d5ad4;--accent-glow:rgba(20,111,248,.15);--accent-glow-strong:rgba(20,111,248,.3);--teal:#0d9488;--teal-glow:rgba(13,148,136,.15);--green:#22c55e;--green-bg:rgba(34,197,94,.12);--red:#ef4444;--red-bg:rgba(239,68,68,.12);--yellow:#eab308;--yellow-bg:rgba(234,179,8,.12);--orange:#f97316;--border:#1e293b;--border-light:#253352;--border-focus:#146ff8;--radius-xs:6px;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 16px rgba(0,0,0,.3);--shadow-lg:0 8px 32px rgba(0,0,0,.4);--shadow-glow:0 0 20px var(--accent-glow);--shadow-card:0 2px 8px rgba(0,0,0,.2),0 0 1px hsla(0,0%,100%,.05) inset;--transition-fast:0.15s cubic-bezier(0.4,0,0.2,1);--transition:0.25s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.4s cubic-bezier(0.4,0,0.2,1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:translateX(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes pulseGlow{0%,to{box-shadow:0 0 4px var(--red)}50%{box-shadow:0 0 12px var(--red),0 0 24px rgba(239,68,68,.3)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes progress{0%{width:100%}to{width:0}}@keyframes breathe{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.05);opacity:1}}@keyframes checkPop{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}