:root{--bg:#0b0f17;--card:#121826;--line:#1f2a3d;--up:#16c784;--down:#ea3943;--berry:#ff3d7f;--mute:#7d8aa5}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:#e6ebf5;font-family:'Vazirmatn',sans-serif}
body{background:radial-gradient(1200px 500px at 90% -10%,rgba(255,61,127,.13),transparent 60%),radial-gradient(900px 400px at -10% 110%,rgba(22,199,132,.08),transparent 60%),var(--bg);min-height:100vh}
.mono{font-family:'JetBrains Mono',monospace;font-variant-numeric:tabular-nums;direction:ltr;display:inline-block}
.safe{padding-top:env(safe-area-inset-top);padding-bottom:calc(env(safe-area-inset-bottom) + 72px);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
@media(min-width:1024px){.safe{padding-bottom:20px}}
.card{background:linear-gradient(180deg,#141b2b,#10162290);border:1px solid var(--line);border-radius:14px;padding:14px;animation:rise .5s both}
.card h3{font-weight:900;font-size:14px;margin:0 0 10px;color:#fff;display:flex;justify-content:space-between;align-items:center}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.btn{min-height:44px;padding:0 14px;border-radius:10px;background:#1b2436;border:1px solid var(--line);color:#e6ebf5;font-weight:700;font-size:13px;cursor:pointer;transition:.15s}
.btn:hover{border-color:var(--berry)}
.btn.pri{background:var(--berry);border-color:var(--berry);color:#fff}
.btn.up{background:var(--up);color:#04170f;border-color:var(--up)}
.btn.down{background:var(--down);color:#fff;border-color:var(--down)}
.btn.sm{min-height:32px;padding:0 10px;font-size:12px}
.btn:disabled{opacity:.4;cursor:not-allowed}
.inp{min-height:40px;background:#0d1320;border:1px solid var(--line);border-radius:10px;color:#fff;padding:0 10px;width:100%;font-family:'JetBrains Mono',monospace}
.lbl{font-size:11px;color:var(--mute);display:block;margin-bottom:4px}
.up{color:var(--up)}.down{color:var(--down)}.mute{color:var(--mute)}
.edit .card{outline:2px dashed var(--berry);cursor:grab}
.dragover{outline:2px solid var(--up)!important}
.tab{flex:1;min-height:56px;font-size:11px;color:var(--mute);background:none;border:none;font-family:inherit;font-weight:700}
.tab.on{color:var(--berry)}
.spot{position:fixed;border-radius:12px;box-shadow:0 0 0 9999px rgba(0,0,0,.75);transition:all .3s;pointer-events:none;z-index:90}
.scroll{max-height:320px;overflow:auto}
.scroll::-webkit-scrollbar{width:4px}.scroll::-webkit-scrollbar-thumb{background:var(--line)}
.blink{animation:bl 1s infinite}@keyframes bl{50%{opacity:.3}}