:root{--bg:#141414;--panel:#1f1f1f;--tile:#262626;--blue:#2D8CFF;--red:#E5484D;--green:#30D158;--muted:#8a8a8a}
html,body{background:var(--bg);color:#eee;font-family:'Bricolage Grotesque',sans-serif;margin:0}
body{background:radial-gradient(1200px 600px at 10% -10%,#1d2a3d 0%,transparent 60%),radial-gradient(900px 500px at 110% 110%,#2a1d1d 0%,transparent 60%),var(--bg);min-height:100vh}
.mono{font-family:'JetBrains Mono',monospace}
.inp{background:#111;border:1px solid #333;border-radius:10px;padding:8px 10px;color:#eee;width:100%;outline:none;transition:border .15s}
.inp:focus{border-color:var(--blue)}
.btn{border-radius:10px;padding:8px 14px;font-weight:700;transition:transform .1s,filter .15s;cursor:pointer}
.btn:hover{filter:brightness(1.15)}.btn:active{transform:scale(.97)}
.btn:disabled{opacity:.4;cursor:not-allowed}
.b-blue{background:var(--blue);color:#fff}.b-red{background:var(--red);color:#fff}.b-ghost{background:#2b2b2b;color:#ddd}
.card{background:var(--panel);border:1px solid #2c2c2c;border-radius:16px;animation:rise .4s both}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.pulse{animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.35}}
input[type=range]{accent-color:var(--blue)}
::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:#333;border-radius:8px}