/* BRAINIMATIC STUDIO · estilo (base: blueprint v4 aprovado) */
:root{
 --void:#060a13;--panel:#0b1220;--card:#101c36;--card2:#142344;
 --line:rgba(126,164,224,.16);--line2:rgba(126,164,224,.3);
 --ink:#f0f5ff;--ink2:#a9bbdd;--ink3:#6d7fa4;
 --cyan:#2cc7f7;--amber:#ffb547;--rose:#ff5d95;--mint:#3ce0b0;--red:#ff6b6b;--ok:#3ad98f;--vio:#a78bfa;
 --disp:'Space Grotesk',sans-serif;--body:'Inter',sans-serif;--mono:'JetBrains Mono',monospace;
 --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--void);color:var(--ink);font-family:var(--body);font-size:15px;-webkit-font-smoothing:antialiased}
body{min-width:1500px;overflow-x:auto}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;font-size:inherit}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:8px}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#182742;border-radius:8px}
input,textarea,select{font-family:var(--body);color:var(--ink)}

.help{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line2);color:var(--ink3);font:700 13px var(--disp);flex:none;transition:all .2s var(--ease)}
.help:hover{border-color:var(--cyan);color:var(--cyan)}
#pop{position:fixed;z-index:200;max-width:330px;background:linear-gradient(170deg,#132244,#0d1830);border:1px solid var(--cyan);border-radius:14px;padding:14px 16px;font-size:13.5px;line-height:1.55;color:var(--ink2);box-shadow:0 22px 60px rgba(0,0,0,.6);display:none}
#pop b{color:var(--ink);display:block;margin-bottom:5px;font-family:var(--disp)}
#pop.show{display:block;animation:pop .3s var(--ease)}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}

.top{position:relative;z-index:40;display:flex;align-items:center;gap:18px;padding:14px 24px;background:linear-gradient(180deg,rgba(14,23,40,.95),rgba(8,13,24,.9));border-bottom:1px solid var(--line)}
.top img{height:32px}
.vsep{width:1px;height:32px;background:var(--line2)}
.wsname small{display:block;font:700 10px var(--mono);letter-spacing:.22em;color:var(--ink3)}
.wsname b{font:600 18px var(--disp)}
.grow{flex:1}
.savedot{font:600 12px var(--body);color:var(--ink3)}
.savedot.on{color:var(--ok)}
.live{display:flex;align-items:center;gap:9px;font:600 12.5px var(--body);color:var(--ink2);border:1px solid var(--line2);border-radius:999px;padding:9px 16px;transition:all .3s var(--ease)}
.live .dot{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 10px var(--ok)}
.live.warn{border-color:var(--red);color:#ffb0b0}
.live.warn .dot{background:var(--red);box-shadow:0 0 10px var(--red);animation:blink 1s infinite}
@keyframes blink{50%{opacity:.35}}
.cta{background:linear-gradient(135deg,#2ccdfd,#1493d8);color:#03121f;font:700 14px var(--disp);border-radius:12px;padding:12px 20px;box-shadow:0 8px 28px rgba(38,194,245,.35);transition:transform .25s var(--ease)}
.cta:hover{transform:translateY(-1px)}
.btn2{border:1.5px solid var(--line2);border-radius:11px;padding:10px 16px;font:600 13px var(--body);color:var(--ink2);transition:all .25s var(--ease)}
.btn2:hover{border-color:var(--cyan);color:var(--ink)}
.btn2.danger:hover{border-color:var(--red);color:#ffb0b0}

.main{display:grid;grid-template-columns:332px 1fr;height:calc(100vh - 69px);min-height:820px}

/* ===== BIBLIOTECA ===== */
.lib{border-right:1px solid var(--line);background:linear-gradient(180deg,var(--panel),#0a101d);display:flex;flex-direction:column;min-height:0}
.libhead{display:flex;align-items:center;gap:10px;padding:16px 16px 12px}
.libhead b{font:600 16px var(--disp)}
.tabs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;padding:0 14px 12px}
.tab{border:1px solid var(--line);border-radius:11px;padding:9px 4px;display:flex;flex-direction:column;gap:4px;align-items:center;color:var(--ink3);font:600 11px var(--body);transition:all .22s var(--ease)}
.tab svg{width:19px;height:19px}
.tab:hover{color:var(--ink2)}
.tab.sel{color:var(--cyan);border-color:var(--cyan);background:rgba(44,199,247,.08)}
.libbody{flex:1;overflow-y:auto;padding:6px 16px 24px}
.secline{display:flex;align-items:center;gap:9px;margin:12px 0}
.secline b{font:600 14px var(--disp)}
.addbtn{display:inline-flex;align-items:center;gap:7px;border:1.5px dashed var(--line2);border-radius:999px;padding:8px 14px;font:600 12.5px var(--body);color:var(--ink2);transition:all .22s var(--ease)}
.addbtn:hover{color:var(--cyan);border-color:var(--cyan)}
.tabpane{display:none}.tabpane.on{display:block}
.libitem{display:flex;gap:11px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,var(--card),#0d1830);padding:10px;margin-bottom:10px;align-items:center}
.libitem .thumb{width:64px;height:56px;border-radius:9px;flex:none;background:#0a1224 center/cover no-repeat;position:relative;overflow:hidden}
.libitem .thumb.ph::before{content:"?";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--ink3);font:700 18px var(--disp)}
.libitem .mid2{flex:1;min-width:0}
.libitem .mid2 b{display:block;font:600 13.5px var(--disp);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.libitem .mid2 small{display:block;color:var(--ink3);font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.iact{display:flex;flex-direction:column;gap:6px}
.ibtn{font:700 10.5px var(--mono);letter-spacing:.04em;border:1.5px solid var(--line2);border-radius:8px;padding:5px 9px;color:var(--ink2);transition:all .2s var(--ease);white-space:nowrap}
.ibtn:hover{border-color:var(--cyan);color:var(--cyan)}
.ibtn.warn:hover{border-color:var(--red);color:#ffb0b0}
.audrow{display:flex;align-items:center;gap:9px}
.wv{flex:1;height:15px;border-radius:3px;opacity:.7;background:repeating-linear-gradient(90deg,currentColor 0 2px,transparent 2px 5px)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;font:500 12.5px var(--body);border:1px solid var(--line2);color:var(--ink2);border-radius:999px;padding:8px 13px;background:var(--card);transition:all .2s var(--ease)}
.chip:hover{color:var(--ink)}
.chip .rm{position:absolute;top:-7px;right:-7px;width:19px;height:19px;border-radius:50%;background:var(--red);color:#fff;font:700 11px var(--mono);display:none;align-items:center;justify-content:center}
.chip:hover .rm{display:flex}
.chip.lockc{color:#ffd48a;border-color:rgba(255,181,71,.4)}
.stgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.stcard{border:1px solid var(--line);border-radius:13px;padding:10px;background:linear-gradient(180deg,var(--card),#0d1830)}
.stcard .sw{height:34px;border-radius:8px;margin-bottom:8px}
.stcard span{font:600 12px var(--disp)}
.sw-tybw{background:linear-gradient(104deg,#0a0f1e 0 40%,#f5b83d 40% 54%,#0a0f1e 54% 76%,#2a3e6b 76%)}
.sw-sein{background:linear-gradient(104deg,#20344f 0 34%,#e8eefc 34% 47%,#20344f 47% 68%,#c14b3a 68%)}
.sw-ova{background:linear-gradient(104deg,#12100e 0 44%,#6d1d24 44% 58%,#12100e 58% 80%,#3b3f52 80%)}
.sw-vin{background:linear-gradient(104deg,#2c3a2e 0 40%,#c9c2a6 40% 52%,#2c3a2e 52% 78%,#6b4a2e 78%)}
.sw-pix{background:radial-gradient(90% 130% at 28% 18%,#ffd9a0,#ff9e5e 45%,#7f5af0)}
.sw-real{background:linear-gradient(104deg,#141414 0 45%,#8a8f9c 45% 55%,#141414 55% 80%,#2c3e5c 80%)}
.fnote{font-size:11.5px;color:var(--ink3);line-height:1.5;margin:8px 2px}

/* formulários */
.form{border:1px solid var(--line2);border-radius:14px;background:linear-gradient(180deg,#0f1a33,#0c1526);padding:14px;margin-bottom:14px}
.form h6{font:700 10.5px var(--mono);letter-spacing:.16em;color:var(--cyan);margin-bottom:10px}
.frow{margin-bottom:10px}
.frow label{display:block;font:600 11px var(--body);color:var(--ink3);margin-bottom:5px}
.inp,.ta,.selx{width:100%;background:#0a1224;border:1px solid var(--line2);border-radius:10px;padding:10px 12px;font-size:13px}
.inp:focus,.ta:focus,.selx:focus{outline:none;border-color:var(--cyan)}
.ta{resize:vertical;min-height:60px;line-height:1.5}
.frow .en{border-color:rgba(255,181,71,.4)}
.frow .en:focus{border-color:var(--amber)}
.entag{font:700 8.5px var(--mono);color:var(--amber);border:1px solid rgba(255,181,71,.4);border-radius:999px;padding:2px 7px;margin-left:6px}
.filebtn{display:inline-flex;align-items:center;gap:8px;border:1.5px dashed var(--line2);border-radius:10px;padding:9px 13px;font:600 12px var(--body);color:var(--ink2);cursor:pointer}
.filebtn:hover{border-color:var(--cyan);color:var(--cyan)}
.filebtn input{display:none}
.upmsg{margin-top:7px;font-size:12px;color:#9fe8c6;line-height:1.5;word-break:break-word}
.upmsg.bad{color:#ffb0b0}
.fbtns{display:flex;gap:9px;margin-top:12px}
.fbtns .cta{padding:10px 16px;font-size:13px;flex:1}
.fbtns .btn2{flex:1;text-align:center}

/* ===== MESA ===== */
.mid{display:flex;flex-direction:column;min-width:0;min-height:0}
.cwrap{flex:1;position:relative;overflow:auto;background:radial-gradient(1100px 480px at 40% -6%,rgba(23,52,102,.35),transparent 60%),var(--void)}
.deskbar{position:sticky;top:0;left:0;z-index:8;display:flex;align-items:center;gap:12px;padding:12px 22px;width:100%;background:linear-gradient(180deg,rgba(6,10,19,.9),rgba(6,10,19,0));pointer-events:none}
.deskbar>*{pointer-events:auto}
.deskbar .lbl{color:var(--ink3);font:600 12.5px var(--body)}
.newscene{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#2ccdfd,#1493d8);color:#03121f;font:700 13px var(--disp);border-radius:11px;padding:10px 16px;box-shadow:0 8px 24px rgba(38,194,245,.3)}
.canvas{position:relative;width:3000px;height:1800px;background:radial-gradient(rgba(140,172,232,.11) 1px,transparent 1px) 0 0/28px 28px}
.canvas::after{content:"";position:absolute;left:0;right:0;bottom:0;height:240px;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(255,158,66,.05) 60%,rgba(255,158,66,.1))}
.wires{position:absolute;inset:0;overflow:visible;z-index:1}
.wires path{fill:none;stroke-linecap:round}
.wb{stroke-width:1.6;opacity:.3}
.wf{stroke-width:1.8;opacity:.95;stroke-dasharray:3 10;animation:flow 3.6s linear infinite}
@keyframes flow{to{stroke-dashoffset:-130}}
.c-cyan{stroke:var(--cyan)}.c-rose{stroke:var(--rose)}.c-mint{stroke:var(--mint)}.c-amber{stroke:var(--amber)}.c-vio{stroke:var(--vio)}
.bead{position:absolute;z-index:5;transform:translate(-50%,-50%);font:700 10px var(--mono);letter-spacing:.08em;color:#06111d;padding:5px 11px;border-radius:999px;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.5);cursor:pointer}
.b-cyan{background:linear-gradient(135deg,#3fd0ff,#18a8e6)}
.b-rose{background:linear-gradient(135deg,#ff7cab,#ff4d8f)}
.b-mint{background:linear-gradient(135deg,#5cf0c4,#25cf9d)}
.b-amber{background:linear-gradient(135deg,#ffc873,#ffa733)}
.b-vio{background:linear-gradient(135deg,#c4b5fd,#8b6ff0)}
#beadmenu{position:absolute;z-index:60;background:#0d1830;border:1px solid var(--line2);border-radius:12px;padding:6px;display:none;box-shadow:0 18px 50px rgba(0,0,0,.6)}
#beadmenu button{display:block;width:100%;text-align:left;font-size:12.5px;color:var(--ink2);padding:8px 12px;border-radius:8px}
#beadmenu button:hover{background:rgba(44,199,247,.1);color:var(--ink)}
#beadmenu button.danger:hover{background:rgba(255,107,107,.12);color:#ffb0b0}

.node{position:absolute;z-index:4;width:216px;border:1px solid var(--line2);border-radius:15px;cursor:grab;user-select:none;background:linear-gradient(165deg,rgba(22,36,68,.94),rgba(13,22,42,.94));box-shadow:0 14px 34px rgba(0,0,0,.5);transition:border-color .25s var(--ease)}
.node:hover{border-color:rgba(44,199,247,.55)}
.node.drag{cursor:grabbing;z-index:20;box-shadow:0 26px 60px rgba(0,0,0,.65)}
.node .hd{display:flex;align-items:center;gap:8px;padding:11px 13px 8px}
.node .hd b{font:600 14px var(--disp);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.node .hd .k{font:700 8.5px var(--mono);letter-spacing:.08em;color:var(--ink3);border:1px solid var(--line);border-radius:6px;padding:2px 6px;flex:none}
.node .thumb{margin:0 11px;height:64px;border-radius:10px;background:#0a1224 center/cover no-repeat;position:relative;overflow:hidden}
.node .ft{display:flex;flex-wrap:wrap;gap:6px;padding:9px 13px 12px;align-items:center}
.tag{font:600 10.5px var(--body);color:var(--ink3);border:1px solid var(--line);border-radius:7px;padding:4px 9px}
.tag.ok{color:#9fe8c6;border-color:rgba(58,217,143,.35)}
.tag.lk{color:#ffd48a;border-color:rgba(255,181,71,.35)}
.tag.rose{color:#ffa9c6;border-color:rgba(255,93,149,.4)}
.linkbtn{margin-left:auto;font:700 10.5px var(--mono);color:var(--cyan);border:1.5px solid rgba(44,199,247,.5);border-radius:8px;padding:5px 10px;transition:all .2s var(--ease)}
.linkbtn:hover{background:rgba(44,199,247,.12)}
.xnode{font:700 11px var(--mono);color:var(--ink3);border:1px solid var(--line);border-radius:8px;padding:5px 8px}
.xnode:hover{color:#ffb0b0;border-color:rgba(255,107,107,.5)}
body.linking .nuc{border-color:var(--mint);box-shadow:0 0 0 2px var(--mint),0 20px 54px rgba(0,0,0,.55);cursor:copy}
body.linking .node{opacity:.55}
body.linking .node.linksrc{opacity:1;border-color:var(--mint)}
.linkhint{position:fixed;left:50%;top:84px;transform:translateX(-50%);z-index:80;background:var(--mint);color:#052018;font:700 12.5px var(--disp);padding:10px 18px;border-radius:999px;display:none;box-shadow:0 10px 30px rgba(60,224,176,.4)}
body.linking .linkhint{display:block}

.nuc{position:absolute;z-index:4;width:292px;border-radius:17px;cursor:grab;user-select:none;border:1.5px solid var(--line2);background:linear-gradient(170deg,rgba(17,32,64,.96),rgba(10,18,36,.96));box-shadow:0 20px 54px rgba(0,0,0,.55);transition:border-color .3s var(--ease)}
.nuc.sel{border-color:var(--cyan);box-shadow:0 20px 54px rgba(0,0,0,.6),0 0 0 1.5px var(--cyan),0 0 44px rgba(44,199,247,.18)}
.nuc.drag{cursor:grabbing;z-index:20}
.nuc .chd{padding:13px 16px 10px;border-bottom:1px solid var(--line)}
.nuc .chd small{font:700 10px var(--mono);letter-spacing:.2em;color:var(--ink3)}
.nuc .chd b{display:block;font:600 16px var(--disp);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nuc .slot{position:relative;display:flex;align-items:center;gap:10px;height:36px;padding:0 13px 0 20px;font-size:12.5px;border-bottom:1px dashed rgba(126,164,224,.12)}
.nuc .slot .pd{position:absolute;left:-6px;width:11px;height:11px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(6,10,19,.9),0 0 10px currentColor}
.nuc .slot b{font:700 10px var(--mono);width:70px;color:var(--ink2);flex:none}
.nuc .slot span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nuc .empty{padding:15px;font-size:12.5px;color:var(--ink3);border-bottom:1px dashed rgba(126,164,224,.12);font-style:italic}
.nuc .cft{display:flex;gap:6px;padding:10px 13px;flex-wrap:wrap;align-items:center}
.mini{font:600 10px var(--mono);color:var(--ink2);border:1px solid var(--line);border-radius:7px;padding:4px 8px}
.pbtn{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font:700 10.5px var(--mono);color:var(--cyan);border:1.5px solid rgba(44,199,247,.5);border-radius:9px;padding:6px 10px;transition:all .2s var(--ease)}
.pbtn:hover{background:rgba(44,199,247,.12)}
.pbtn.on{background:var(--cyan);color:#03121f}

.pwin{position:absolute;z-index:6;width:372px;border-radius:15px;border:1px solid rgba(44,199,247,.45);background:linear-gradient(175deg,rgba(10,18,36,.97),rgba(7,13,26,.97));box-shadow:0 24px 60px rgba(0,0,0,.6);animation:pop .35s var(--ease)}
.pwin::before{content:"";position:absolute;left:-8px;top:26px;width:14px;height:14px;transform:rotate(45deg);background:inherit;border-left:1px solid rgba(44,199,247,.45);border-bottom:1px solid rgba(44,199,247,.45)}
.pwin .ph2{display:flex;align-items:center;gap:9px;padding:12px 14px;border-bottom:1px solid var(--line)}
.pwin .ph2 b{font:600 13.5px var(--disp)}
.enb{font:700 9px var(--mono);letter-spacing:.1em;color:var(--amber);border:1px solid rgba(255,181,71,.4);border-radius:999px;padding:3px 8px}
.pwin .x{margin-left:auto;width:26px;height:26px;border-radius:8px;border:1px solid var(--line2);color:var(--ink3);font-size:13px}
.pwin .x:hover{border-color:var(--red);color:var(--red)}
.pwin .ptabs{display:flex;gap:6px;padding:9px 12px 0}
.pwin .ptab{font:700 10px var(--mono);letter-spacing:.06em;color:var(--ink3);border:1px solid var(--line);border-radius:8px;padding:6px 10px}
.pwin .ptab.sel{color:var(--cyan);border-color:var(--cyan);background:rgba(44,199,247,.08)}
.pwin pre{margin:0;padding:12px 14px;font:400 10.5px var(--mono);color:#9db2dc;line-height:1.65;white-space:pre-wrap;max-height:260px;overflow:auto}
.pwin .refl{padding:4px 14px 10px;max-height:150px;overflow:auto}
.pwin .refl a{display:flex;gap:8px;align-items:center;font:600 11px var(--mono);color:var(--cyan);text-decoration:none;padding:5px 0;border-bottom:1px dashed var(--line)}
.pwin .refl a:hover{color:#7fe0ff}
.pwin .pf{display:flex;gap:8px;padding:11px 13px;border-top:1px solid var(--line)}
.pwin .pf button{flex:1;font:600 12px var(--body);border:1.5px solid var(--line2);border-radius:9px;padding:9px 8px;color:var(--ink2)}
.pwin .pf button:hover{border-color:var(--cyan);color:var(--ink)}
.pwin .pf button.main{background:linear-gradient(135deg,#2ccdfd,#1493d8);border:none;color:#03121f;font-weight:700}
.pwin .aud{padding:8px 14px;border-top:1px dashed var(--line);font-size:11.5px;color:#ffd0a0;display:none}
.pwin .aud.show{display:block}

/* ===== BEATS ===== */
.tl{border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(12,19,34,.97),rgba(9,14,26,.97));padding:15px 26px 16px}
.tlh{display:flex;align-items:center;gap:14px;margin-bottom:11px}
.tlh b{font:600 15px var(--disp)}
.tlh .sum{font:700 13px var(--mono);color:var(--ok)}
.tlh .sum.bad{color:var(--red)}
.tlh .tip{font-size:12.5px;color:var(--ink3)}
.tlh .tip i{color:var(--amber);font-style:normal;font-weight:600}
.tlwrap{overflow-x:auto;padding-bottom:4px}
.strip{display:flex;width:max-content;border:1px solid var(--line2);border-radius:14px;background:rgba(10,17,32,.7)}
.cell{position:relative;padding:11px 15px;display:flex;flex-direction:column;gap:3px;cursor:pointer;transition:background .25s var(--ease);min-width:86px}
.cell:first-child{border-radius:13px 0 0 13px}
.cell:hover{background:rgba(44,199,247,.06)}
.cell b{font:700 11.5px var(--mono);letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.cell span{font:600 14px var(--mono);color:var(--cyan)}
.cell .cm{font-size:10.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.cell.sel{background:linear-gradient(180deg,rgba(44,199,247,.16),rgba(44,199,247,.07));box-shadow:inset 0 0 0 2px var(--cyan);border-radius:12px}
.cell.err{animation:errpulse 1s var(--ease) 3}
@keyframes errpulse{0%,100%{box-shadow:inset 0 0 0 2px transparent}50%{box-shadow:inset 0 0 0 2.5px var(--red)}}
.blade{width:2.5px;flex:none;background:linear-gradient(180deg,transparent,rgba(255,214,150,.95),transparent);box-shadow:0 0 9px rgba(255,181,71,.6)}
.addcell{margin-left:12px;border:1.5px dashed var(--line2);border-radius:14px;color:var(--ink3);font-size:14px;padding:0 18px}
.addcell:hover{color:var(--cyan);border-color:var(--cyan)}
.ruler{position:relative;height:18px;margin-top:6px}
.ruler i{position:absolute;top:0;width:1px;height:6px;background:var(--line2)}
.ruler i.big{height:9px;background:rgba(126,164,224,.55)}
.ruler em{position:absolute;top:8px;transform:translateX(-50%);font:500 10px var(--mono);font-style:normal;color:var(--ink3)}

/* ===== DRAWER ===== */
.drawer{position:fixed;z-index:70;top:69px;right:0;bottom:0;width:428px;background:linear-gradient(180deg,#0d1526,#0a101d);border-left:1px solid var(--line2);box-shadow:-30px 0 70px rgba(0,0,0,.5);transform:translateX(105%);transition:transform .38s var(--ease);display:flex;flex-direction:column}
.drawer.open{transform:none}
.dhd{display:flex;align-items:flex-start;gap:11px;padding:18px 20px 14px;border-bottom:1px solid var(--line)}
.dhd b{font:600 17px var(--disp);line-height:1.25}
.dhd small{display:block;font:700 9.5px var(--mono);letter-spacing:.16em;color:var(--ink3);margin-top:4px}
.dclose{margin-left:auto;width:34px;height:34px;border-radius:10px;border:1px solid var(--line2);font-size:16px;color:var(--ink2);flex:none}
.dclose:hover{border-color:var(--red);color:var(--red)}
.dbody{flex:1;overflow-y:auto;padding:18px 20px 26px}
.sec{margin-bottom:20px}
.sec h5{display:flex;align-items:center;gap:8px;font:700 10.5px var(--mono);letter-spacing:.16em;color:var(--ink3);margin-bottom:10px}
.sec h5 .help{margin-left:auto;width:22px;height:22px;font-size:11px}
.nchips{display:flex;flex-wrap:wrap;gap:7px}
.nchip{font:700 11.5px var(--mono);border:1px solid var(--line2);border-radius:999px;padding:8px 13px;color:var(--ink2);transition:all .2s var(--ease);cursor:pointer}
.nchip:hover{border-color:rgba(44,199,247,.5);color:var(--ink)}
.nchip.sel{background:linear-gradient(135deg,#2ccdfd,#189fdf);border-color:transparent;color:#03121f}
.nchip.sel.rose{background:linear-gradient(135deg,#ff7cab,#ff4d8f)}
.nchip.warnc{color:#ffb0b0;border-color:rgba(255,107,107,.45)}
.durrow{display:flex;align-items:center;gap:14px}
.stp{width:38px;height:38px;border:1.5px solid var(--line2);border-radius:11px;font-size:19px;color:var(--ink2)}
.stp:hover{border-color:var(--cyan);color:var(--cyan)}
.durrow b{font:700 22px var(--mono);color:var(--cyan)}
.durrow b.err{color:var(--red)}
.durrow small{font-size:12px;color:var(--ink3);line-height:1.45}
.deck{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.camo{border:1px solid var(--line2);border-radius:12px;padding:9px 6px;display:flex;flex-direction:column;gap:6px;align-items:center;color:var(--ink3);transition:all .22s var(--ease);cursor:pointer;background:rgba(14,24,48,.4)}
.camo svg{width:100%;height:38px}
.camo span{font:500 10.5px var(--body);text-align:center;line-height:1.25}
.camo:hover{color:var(--ink2)}
.camo.sel{border-color:var(--cyan);color:var(--cyan);background:rgba(44,199,247,.09);box-shadow:0 0 0 1px var(--cyan)}
.acts{display:flex;flex-direction:column;gap:8px}
.act{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:12.5px;background:linear-gradient(180deg,var(--card),#0d1830)}
.act b{color:var(--cyan);font:700 11px var(--mono)}
.act .x{margin-left:auto;color:var(--ink3);cursor:pointer}
.act .x:hover{color:#ffb0b0}
.act.amber{border-style:dashed;border-color:rgba(255,181,71,.55);color:var(--amber);background:rgba(255,181,71,.05)}
.trow{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:12px;padding:10px 13px;font-size:13px;background:linear-gradient(180deg,var(--card),#0d1830);margin-bottom:8px;gap:10px}
.trow small{display:block;color:var(--ink3);font-size:11px;margin-top:2px}
.sw2{width:38px;height:21px;border-radius:999px;background:#1d2c4e;position:relative;flex:none;transition:background .25s var(--ease);cursor:pointer}
.sw2::after{content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#5d6f92;transition:all .25s var(--ease)}
.sw2.on{background:linear-gradient(135deg,#2ccdfd,#189fdf)}
.sw2.on::after{left:19px;background:#03121f}
.kv{border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,var(--card),#0d1830);padding:11px 13px;font-size:12.5px;color:var(--ink2);margin-bottom:9px;line-height:1.55}
.kv b{color:var(--ink);font:700 10px var(--mono);letter-spacing:.1em;display:block;margin-bottom:4px}
.slotrow{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:11px;padding:9px 11px;margin-bottom:7px;font-size:12.5px;background:linear-gradient(180deg,var(--card),#0d1830)}
.slotrow b{font:700 10px var(--mono);color:var(--ink2);width:66px;flex:none}
.slotrow span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.slotrow .mv{font:700 12px var(--mono);color:var(--ink3);border:1px solid var(--line);border-radius:7px;width:24px;height:24px}
.slotrow .mv:hover{color:var(--cyan);border-color:var(--cyan)}
.slotrow .del:hover{color:#ffb0b0;border-color:rgba(255,107,107,.5)}

/* popup central */
.ovl{position:fixed;inset:0;z-index:120;background:rgba(4,7,14,.62);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center}
.ovl.show{display:flex}
.errcard{width:540px;max-width:92vw;border-radius:20px;border:1.5px solid rgba(255,107,107,.6);background:linear-gradient(170deg,#1c1220,#120b16);box-shadow:0 40px 110px rgba(0,0,0,.7);padding:26px 28px;animation:pop .35s var(--ease)}
.errcard.pick{border-color:rgba(60,224,176,.6);background:linear-gradient(170deg,#0f1e1c,#0a1513)}
.errcard .eh{display:flex;gap:14px;align-items:flex-start}
.errcard .ico{width:46px;height:46px;border-radius:14px;background:rgba(255,107,107,.15);border:1px solid rgba(255,107,107,.5);display:flex;align-items:center;justify-content:center;font-size:22px;flex:none}
.errcard.pick .ico{background:rgba(60,224,176,.14);border-color:rgba(60,224,176,.5)}
.errcard h3{font:600 19px var(--disp);margin-bottom:4px}
.errcard .sub{font:700 10.5px var(--mono);letter-spacing:.16em;color:var(--red)}
.errcard.pick .sub{color:var(--mint)}
.errcard p{margin:14px 0 0;font-size:14px;line-height:1.6;color:var(--ink2)}
.errcard p b{color:var(--ink)}
.errbtns{display:flex;gap:11px;margin-top:20px;justify-content:flex-end;flex-wrap:wrap}
.ghostb{border:1.5px solid var(--line2);border-radius:12px;padding:11px 17px;font:600 13px var(--body);color:var(--ink2)}
.ghostb:hover{color:var(--ink)}
.gob{background:linear-gradient(135deg,#ff8585,#ff5d5d);color:#1c0808;border-radius:12px;padding:11px 19px;font:700 13px var(--disp)}
.gob.mint{background:linear-gradient(135deg,#6ff0cc,#2fd0a0);color:#052018}
.ilist{max-height:46vh;overflow-y:auto;margin-top:14px;display:flex;flex-direction:column;gap:9px}
.issue{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--line);border-radius:13px;padding:11px 13px;background:rgba(16,28,54,.5)}
.lvl{font:700 9px var(--mono);letter-spacing:.1em;border:1px solid;border-radius:999px;padding:3px 8px;flex:none;margin-top:2px}
.itxt{flex:1;font-size:13.5px;line-height:1.5;color:var(--ink2)}
.itxt b{color:var(--ink)}
.itxt small{display:block;margin-top:5px;color:var(--ink3);font-size:12px}
.ifix{font:700 11px var(--mono);color:var(--cyan);border:1.5px solid rgba(44,199,247,.5);border-radius:9px;padding:7px 11px;flex:none;white-space:nowrap}
.ifix:hover{background:rgba(44,199,247,.12)}
.pwarn{display:block;width:100%;text-align:left;font:600 11.5px var(--body);color:#ffd48a;background:rgba(255,181,71,.08);border-bottom:1px solid rgba(255,181,71,.3);padding:8px 14px}
.pwarn:hover{background:rgba(255,181,71,.14)}
.spkgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.spkopt{border:1.5px solid var(--line2);border-radius:13px;padding:11px;display:flex;align-items:center;gap:10px;font-size:13px;cursor:pointer;background:rgba(16,28,54,.6)}
.spkopt:hover{border-color:var(--mint)}
.spkopt .av{width:40px;height:40px;border-radius:10px;background:#0a1224 center/cover no-repeat;flex:none}

#toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(20px);z-index:150;background:#0f1e38;border:1px solid var(--cyan);color:var(--ink);font:600 13px var(--body);padding:12px 20px;border-radius:12px;opacity:0;pointer-events:none;transition:all .3s var(--ease);box-shadow:0 16px 44px rgba(0,0,0,.55)}
#toast.show{opacity:1;transform:translateX(-50%)}
#toast.err{border-color:var(--red);color:#ffc9c9}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
