:root{--bg:#0b0f1a;--card:#111827;--card2:#131a2b;--line:#1f2a40;--sky:#38bdf8;--vio:#8b5cf6;--red:#ef4444;--amb:#f59e0b;--grn:#10b981}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:#e2e8f0;font-family:'Bricolage Grotesque',sans-serif;
background-image:linear-gradient(rgba(56,189,248,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.035) 1px,transparent 1px);background-size:32px 32px}
.mono{font-family:'JetBrains Mono',monospace}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px}
.card2{background:var(--card2);border:1px solid var(--line);border-radius:10px}
.pulse{animation:pulse 1.6s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.rise{animation:rise .45s ease both}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.flag{border-bottom:2px solid var(--red);color:#fca5a5;cursor:help}
.flag.amb{border-color:var(--amb);color:#fcd34d}
.dot{width:6px;height:6px;border-radius:50%;background:#94a3b8;display:inline-block;margin:0 2px;animation:pulse 1s infinite}
.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}
.noscroll::-webkit-scrollbar{display:none}
::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:#1f2a40;border-radius:8px}
textarea,input{font-family:inherit}