
:root {
  --bg:#120c1c; --card:#241836; --text:#f4eefc; --muted:#b5a8c9;
  --accent:#c77dff; --warn:#e0a43a; --radius:14px; --pad:14px;
  --font:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:17px;line-height:1.45;min-height:100%}
button,input{font:inherit;min-height:44px}
.top{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px var(--pad);background:linear-gradient(180deg,#2a1a44,#1a1030);border-bottom:1px solid rgba(199,125,255,.35)}
.brand{display:flex;gap:10px;align-items:center}
.logo{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,#e7c2ff,#6a2d9b);color:#1a0a28;font-size:20px}
h1{margin:0;font-size:1.05rem} h2{margin:14px 0 8px;font-size:1rem}
.tag{margin:2px 0 0;color:var(--muted);font-size:.85rem}
.toolbar{display:flex;gap:6px}
.btn{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:var(--text);border-radius:12px;padding:8px 12px;cursor:pointer}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.btn.primary{background:var(--accent);color:#1a0a28;border:0;font-weight:700;width:100%;margin-top:10px}
.btn.danger{width:100%;margin-top:10px;border-color:#a55;color:#f8c}
.btn:disabled{opacity:.45;cursor:not-allowed}
.panel{padding:var(--pad);max-width:720px;margin:0 auto}
.hidden{display:none!important}
.banner{max-width:720px;margin:10px auto;padding:10px 14px;background:rgba(224,164,58,.14);border-left:4px solid var(--warn);color:#ffe6b0;font-size:.92rem}
.list{list-style:none;margin:0;padding:0}
.list li{background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:12px 14px;margin:8px 0;cursor:pointer;overflow-wrap:anywhere}
.list li:focus-visible{outline:2px solid var(--accent)}
.card{background:var(--card);border-radius:var(--radius);padding:14px;border:1px solid rgba(255,255,255,.08);white-space:pre-wrap;overflow-wrap:anywhere}
.lbl{display:block;margin:0 0 6px;color:var(--muted);font-size:.9rem}
#qSearch{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#0c0814;color:var(--text);padding:10px 12px}
.navrow{display:flex;align-items:center;gap:8px}
.navrow h2{flex:1;margin:0}
.badge{display:inline-block;font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:999px;margin-right:6px;background:rgba(199,125,255,.2);color:#ecd4ff}
.badge.warn{background:rgba(224,164,58,.25);color:#ffe0a8}
.foot{max-width:720px;margin:20px auto;padding:0 var(--pad) 40px;color:var(--muted);font-size:.85rem}
.foot p{margin:0 0 10px}
.linkrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
