:root{
  --bg:#0b1220;--card:#0f172a;--text:#e5e7eb;--muted:#94a3b8;--b:#1f2937;
  --brand:#7c5cff;--brand2:#22d3ee;--ok:#22c55e;--err:#ef4444;
}
@media (prefers-color-scheme: light){
  :root{--bg:#f8fafc;--card:#ffffff;--text:#0f172a;--muted:#475569;--b:#cbd5e1}
}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,Segoe UI,Roboto}
.topbar{position:sticky;top:0;z-index:10;background:color-mix(in oklab,var(--bg) 85%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--b);display:flex;align-items:center;justify-content:space-between;padding:10px 16px}
.brand{display:flex;align-items:center;gap:8px;color:var(--muted)} .brand .logo{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand2))}
.sep{opacity:.5}
nav a{color:var(--text);text-decoration:none;margin:0 8px;padding:6px 10px;border-radius:999px;border:1px solid transparent}
nav a:hover{background:color-mix(in oklab,var(--brand) 12%,var(--bg))}
main{max-width:980px;margin:24px auto;padding:0 16px}
.ft{opacity:.6;text-align:center;padding:24px 0;font-size:12px}

.card{background:var(--card);border:1px solid var(--b);border-radius:14px;padding:16px;margin:16px 0}
.grid2{display:grid;grid-template-columns:180px 1fr;gap:10px;align-items:center}
@media (max-width:700px){ .grid2{grid-template-columns:1fr} .grid2 label{font-size:12px;color:var(--muted)} }
.row{display:grid;grid-template-columns:180px 1fr;gap:10px;align-items:center;margin:8px 0}
.kv{display:grid;grid-template-columns:180px 1fr;gap:8px;margin-top:8px}
input,textarea,select{width:100%;padding:10px;border:1px solid var(--b);border-radius:10px;background:transparent;color:var(--text)}
textarea{min-height:90px}
.actions{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap}
.btn{padding:10px 14px;border-radius:10px;border:1px solid var(--b);background:transparent;color:var(--text);cursor:pointer}
.btn.primary{border:none;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff}
.badge{display:inline-block;padding:3px 8px;border:1px solid var(--b);border-radius:999px;font-size:12px;color:var(--muted)}
.pill{display:inline-block;padding:4px 8px;border-radius:999px;background:color-mix(in oklab, var(--brand) 12%, var(--bg));border:1px solid var(--b);font-size:12px}
.list{display:grid;gap:12px}
.item{border:1px solid var(--b);border-radius:12px;padding:12px}
.item-head{display:flex;align-items:center;gap:8px;justify-content:space-between}
.item-head .left{display:flex;gap:8px;align-items:center}
.inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.inline .sp{flex:1}
.mono{font-family:ui-monospace,Menlo,Consolas,monospace}
hr{border:none;height:1px;background:var(--b);margin:10px 0}
.hidden{display:none}
.muted{color:var(--muted);font-size:12px}
.color-row{display:flex;gap:10px;align-items:center}
.color-row input[type="color"]{width:42px;height:36px;border:none;background:transparent;padding:0}
.switch{display:inline-flex;align-items:center;gap:6px}
.switch input{accent-color: var(--brand)}
.tabbar{display:flex;gap:8px;margin-top:6px}
.tabbar button{border:1px solid var(--b);padding:6px 10px;border-radius:999px;background:transparent;color:var(--text);cursor:pointer}
.tabbar button.active{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border:none}
.timer{font-variant-numeric:tabular-nums}
.qr-video {
  width: 100%;
  max-height: 320px;
  border-radius: 10px;
  border: 1px solid var(--b);
}
