/* ── Reset & base ───────────────────────────────────────────────────────────── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html,body{height:100%;overflow:hidden;}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(--text);display:flex;flex-direction:column;font-size:14px;}

::-webkit-scrollbar{width:4px;height:4px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--s3);border-radius:4px;}

/* ── Buttons ────────────────────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:var(--r);font-size:12px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .15s;white-space:nowrap;background:var(--s2);color:var(--text2);border-color:var(--b1);}
.btn:hover{background:var(--s3);color:var(--text);border-color:var(--b2);}
.btn:disabled{opacity:.35;pointer-events:none;}
.btn.primary{background:rgba(56,189,248,.15);color:var(--accent);border-color:rgba(56,189,248,.3);}
.btn.primary:hover{background:rgba(56,189,248,.25);}
.btn.green{background:rgba(52,211,153,.12);color:var(--green);border-color:rgba(52,211,153,.25);}
.btn.green:hover{background:rgba(52,211,153,.2);}
.btn.danger{background:rgba(248,113,113,.1);color:var(--red);border-color:rgba(248,113,113,.2);}
.btn.danger:hover{background:rgba(248,113,113,.2);}
.btn.ghost{background:transparent;border-color:transparent;color:var(--text2);}
.btn.ghost:hover{background:var(--s2);color:var(--text);}
.btn.sm{padding:4px 9px;font-size:11px;}
.btn.active{background:rgba(56,189,248,.2);color:var(--accent);border-color:rgba(56,189,248,.35);}
.btn-sq{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:var(--text2);transition:background .15s;}
.btn-sq:hover{background:rgba(255,255,255,.1);color:var(--text);}
.btn-sq:disabled{opacity:.3;pointer-events:none;}

/* ── Lucide icon helper ────────────────────────────────────────────────────── */
.li{display:inline-flex;align-items:center;flex-shrink:0;}
.li svg{stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;}

/* ── Toast ──────────────────────────────────────────────────────────────────── */
#toast{position:fixed;bottom:72px;left:50%;transform:translateX(-50%) translateY(12px);background:rgba(12,20,35,.96);border:1px solid var(--b2);color:var(--text);padding:8px 18px;border-radius:20px;font-size:12px;font-weight:500;pointer-events:none;opacity:0;transition:all .2s;z-index:10000;white-space:nowrap;backdrop-filter:blur(12px);}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

.empty-state{color:var(--muted);font-size:12px;padding:10px 14px;}
.hidden{display:none!important;}

/* ── Drop overlay (landing screen) ─────────────────────────────────────────── */
#drop-ov{position:fixed;inset:0;background:rgba(7,12,20,.96);display:flex;align-items:center;justify-content:center;z-index:9999;backdrop-filter:blur(8px);}
#drop-ov.hidden{display:none;}
.drop-card{background:var(--s1);border:1px solid var(--b2);border-radius:20px;padding:48px 52px;text-align:center;max-width:440px;width:92%;box-shadow:var(--shadow);}
.drop-card.over{border-color:var(--accent);}
.drop-icon{font-size:48px;margin-bottom:18px;}
.drop-card h2{font-size:22px;font-weight:700;margin-bottom:8px;}
.drop-card p{color:var(--text2);font-size:13px;margin-bottom:22px;line-height:1.6;}
.drop-btns{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
.drop-note{margin-top:14px;font-size:11px;color:var(--muted);}
.drop-sec{margin-top:8px;background:transparent;border:none;color:var(--muted);font-size:12px;cursor:pointer;padding:4px;}
.drop-sec:hover{color:var(--text2);}
