:root{--bg:#0f1115;--fg:#e6eaf2;--muted:#9aa4b2;--card:#171a21;--accent:#4ea1ff;--bad:#f05;--warn:#ffb100;--good:#10b981}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.5 ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica,Arial}.container{max-width:1100px;margin:24px auto;padding:0 16px}h1,h2,h3{margin:0 0 8px}.card{background:var(--card);border:1px solid #1f2330;border-radius:10px;padding:14px;margin:8px 0}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:10px}.col-12{grid-column:span 12}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.col-3{grid-column:span 3}.col-2{grid-column:span 2}@media (max-width:900px){.col-6,.col-4,.col-3,.col-2{grid-column:span 12}}.input{width:100%;padding:8px 10px;border-radius:8px;border:1px solid #2a2f3f;background:#0d0f14;color:var(--fg)}select.input,textarea.input{background:#0d0f14;color:var(--fg)}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:8px;padding:8px 12px;cursor:pointer}button.primary{background:var(--accent);color:#001b3c}button.ghost{background:#1b2230;color:var(--fg)}button.warn{background:var(--warn)}button.danger{background:#ef4444}button.safe{background:var(--good)}.small{color:var(--muted);font-size:12px}pre.log{background:#0b0d12;border:1px solid #1f2330;border-radius:8px;padding:10px;white-space:pre-wrap;max-height:300px;overflow:auto}
