:root{--bg:#120f24;--card:#1c1838;--line:#2d2858;--text:#ece9ff;--muted:#a9a3d6;--acc:#f59e0b;--pur:#7c3aed;--ok:#10b981;--bad:#ef4444;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,"Segoe UI",Arial,sans-serif}
body{padding:env(safe-area-inset-top,0) 0 env(safe-area-inset-bottom,0)}
header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:2px solid var(--pur);background:#171333;position:sticky;top:0;z-index:5}
header h1{margin:0;font-size:1.25rem;color:var(--acc);letter-spacing:.5px}header .sp{flex:1}
.pill{padding:4px 10px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-size:.85rem;color:var(--muted)}
.pill.on{color:#a7f3d0;border-color:#065f46}
main{max-width:1200px;margin:0 auto;padding:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:14px}
.card h2{margin:0 0 10px;font-size:1.05rem;color:var(--acc)}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
input,select,button,textarea{font:inherit;border-radius:12px;border:1px solid var(--line);background:#0f0c20;color:var(--text);padding:10px 12px}
button{cursor:pointer;background:var(--pur);border-color:var(--pur);font-weight:600}button.alt{background:transparent;color:var(--text)}button.warn{background:#7f1d1d;border-color:#7f1d1d}button.go{background:var(--acc);border-color:var(--acc);color:#1a1300}
button:disabled{opacity:.5;cursor:default}
.muted{color:var(--muted);font-size:.9rem}
.grid{display:grid;grid-template-columns:1.2fr 1fr;gap:14px}@media(max-width:900px){.grid{grid-template-columns:1fr}}
.list{display:flex;flex-direction:column;gap:6px}
.it{display:flex;gap:10px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:12px;background:#15122c}
.it img{width:44px;height:44px;object-fit:contain;border-radius:8px;background:#fff}
.it .nm{flex:1;min-width:0}.it .nm b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.it.picked{opacity:.65}.it.picked b{text-decoration:line-through}
.st{font-size:.78rem;padding:2px 8px;border-radius:999px;border:1px solid var(--line)}
.st.open{color:#fde68a}.st.picked{color:#a7f3d0;border-color:#065f46}.st.missing{color:#fca5a5;border-color:#7f1d1d}.st.extra{color:#c4b5fd}
.diff{color:#fca5a5;font-size:.8rem}
.chat{max-height:300px;overflow:auto;display:flex;flex-direction:column;gap:6px;padding:4px}
.msg{padding:8px 10px;border-radius:12px;max-width:85%}.msg.home{background:#2e1065;align-self:flex-start}.msg.store{background:#064e3b;align-self:flex-end}
.msg small{display:block;color:var(--muted);font-size:.72rem}
.code{font-size:2rem;letter-spacing:6px;color:var(--acc);font-weight:800}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.tile{display:block;text-decoration:none;color:inherit}.tile .card{height:100%}.tile .card:hover{border-color:var(--acc)}
.tile .ic{font-size:2.2rem}.tile h3{margin:6px 0;color:var(--acc)}
#video{width:100%;max-height:260px;border-radius:14px;background:#000;object-fit:cover}
.toast{position:fixed;inset:auto 12px 18px 12px;background:#065f46;color:#ecfdf5;padding:12px 14px;border-radius:14px;font-weight:700;text-align:center;z-index:20}
.toast.bad{background:#7f1d1d}[hidden]{display:none!important}
