:root{
  --bg:#0B0C0F;--panel:#14161B;--panel2:#0F1115;--line:#22262E;--line2:#2A2F39;
  --text:#E8EAF0;--muted:#9AA1AE;--accent:#B8F25A;--amber:#FFB547;--red:#FF8A8A;--blue:#6EA8FF;--purple:#C792FF;
  --mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
[hidden]{display:none !important}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;font-size:13px}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}
button{cursor:pointer}
input,select,textarea{background:var(--panel2);border:1px solid var(--line2);border-radius:8px;color:var(--text);padding:0 10px;height:34px;outline:none}
textarea{height:auto;padding:8px 10px}
input:focus,select:focus,textarea:focus{border-color:#4A6FA8}
.mono{font-family:var(--mono)}
.muted{color:var(--muted)}
.btn{height:34px;border-radius:8px;border:1px solid var(--line2);background:#1B1E25;color:var(--text);padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:500;white-space:nowrap}
.btn:hover{background:#232731}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#0B0C0F;font-weight:700}
.btn.primary:hover{filter:brightness(1.05)}
.btn.danger{background:#2A1316;border-color:#5A2228;color:var(--red)}
.btn.ghost{background:transparent}
.btn:disabled{opacity:.45;cursor:not-allowed}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px}
.pill{font-size:11px;font-weight:700;border-radius:999px;padding:2px 9px;display:inline-block}
.switch{width:30px;height:18px;border-radius:9px;background:#343944;position:relative;flex:0 0 auto;display:inline-block;transition:background .15s}
.switch::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:7px;background:#fff;transition:left .15s}
.on>.switch,.switch.on{background:var(--accent)}
.on>.switch::after,.switch.on::after{left:14px}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#1F232B;border:1px solid var(--line2);padding:10px 16px;border-radius:10px;z-index:1000;font-weight:500;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
