:root{
  --bg:#0b0c10; --card:#111318; --border:#21232b; --text:#e8e8e8;
  --muted:#9aa0aa; --accent:#4f7cff; --dash:#2a2e38;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif}
.wrap{max-width:720px;margin:0 auto;padding:24px}
.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:0 8px 30px rgba(0,0,0,.28)}
h1{font-size:1.25rem;margin:0 0 12px}
.row{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;margin-top:8px}
.field{flex:1 1 220px;min-width:220px}
label{display:block;margin:0 0 8px;font-weight:600}
input[type=number], input[type=text]{width:100%;background:#0f1116;color:#f1f1f1;border:1px solid var(--dash);border-radius:10px;padding:12px 14px;font-size:1rem;outline:none}
button{appearance:none;cursor:pointer;border:0;border-radius:10px;padding:12px 16px;font-weight:700;font-size:1rem;background:var(--accent);color:#fff}
.result{margin-top:14px;padding:14px;border:1px dashed var(--dash);border-radius:10px;background:#0e1015}
.ok b{color:#a6e3a1}
.warn{color:#f2c66e}
.err{color:#ff6b6b}
.small{font-size:.9rem;color:#9aa0aa}

/* Tabs */
.tabs{display:flex;gap:8px;margin-bottom:8px}
.tab{background:#0f1116;color:#e8e8e8;border:1px solid var(--dash);border-radius:10px;padding:10px 12px;cursor:pointer}
.tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.pane{display:none}
.pane.active{display:block}