@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Space+Mono:wght@400;700&family=Inter:wght@400;500;600;700&display=swap');
:root{
  --gold:#B3892B;--gold-bright:#d4a83a;--gold-dim:#7a5e1e;--green:#5aa95a;--red:#c0605f;
  --bg:#070708;--surface:#101013;--surface2:#17171b;--border:rgba(255,255,255,0.09);--border-soft:rgba(255,255,255,0.05);--dim:#8e8c86;
  --soft:#e7e5df;--soft-mid:#bdbab1;--cyan:#6fa6b0;--radius:10px;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:radial-gradient(1200px 760px at 50% -12%,#15131a,var(--bg) 60%);color:var(--soft);font-family:'Space Mono',monospace;height:100vh;overflow:hidden;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
@keyframes flash{0%,100%{border-color:var(--red);box-shadow:0 0 8px var(--red);}50%{border-color:#000;box-shadow:none;}}
@keyframes pulseGold{0%,100%{box-shadow:0 0 0 0 rgba(169,134,55,0.4);}50%{box-shadow:0 0 0 6px rgba(169,134,55,0);}}
@keyframes shimmer{0%{transform:translateX(-100%);}100%{transform:translateX(200%);}}
@keyframes fadeIn{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}

/* LOGIN WALL */
#loginWall{position:fixed;inset:0;background:#000;z-index:9999;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0;}
#loginWall.hidden{display:none;}
#loginWall{background:radial-gradient(900px 600px at 50% 28%,#16131d,#050506 62%);}
.login-box{background:rgba(16,16,20,0.85);border:1px solid var(--border);padding:48px 56px;display:flex;flex-direction:column;gap:20px;min-width:420px;animation:fadeIn 0.4s ease;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,0.6),0 0 0 1px rgba(212,168,58,0.15);backdrop-filter:blur(20px);}
.login-logo{font-family:'Bebas Neue',sans-serif;font-size:52px;color:var(--gold-bright);letter-spacing:8px;text-align:center;line-height:1;}
.login-sub{font-size:10px;color:var(--dim);letter-spacing:3px;text-align:center;margin-top:-8px;}
.login-divider{height:1px;background:var(--border);margin:8px 0;}
.login-lbl{font-size:10px;color:var(--soft-mid);letter-spacing:2px;font-weight:700;margin-bottom:4px;display:block;}
.login-fld{background:rgba(255,255,255,0.03);border:1px solid var(--border);color:var(--soft);font-family:'Space Mono',monospace;font-size:13px;letter-spacing:1px;padding:13px;width:100%;outline:none;transition:border-color 0.2s;border-radius:10px;}
.login-fld:focus{border-color:var(--gold-bright);}
.login-btn{background:linear-gradient(180deg,#e6c25c,#c69a32);border:none;color:#1a1407;font-family:'Space Mono',monospace;font-size:13px;font-weight:700;letter-spacing:3px;padding:14px;cursor:pointer;width:100%;margin-top:6px;transition:all 0.15s;border-radius:980px;box-shadow:0 4px 16px rgba(212,168,58,0.22);}
.login-btn:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 8px 24px rgba(212,168,58,0.36);}
.login-err{font-size:11px;color:var(--red);letter-spacing:1px;text-align:center;display:none;font-weight:700;}

.topbar{display:flex;flex-direction:column;background:linear-gradient(180deg,#141418,var(--surface));border-bottom:1px solid var(--border);flex-shrink:0;box-shadow:0 2px 14px rgba(0,0,0,0.45);backdrop-filter:blur(8px);}
.topbar-r1{display:flex;align-items:center;padding:7px 14px;gap:9px;border-bottom:1px solid #111;min-height:44px;flex-wrap:wrap;}
.topbar-r2{display:flex;align-items:center;padding:6px 14px;gap:9px;min-height:40px;}
#logoCanvas{height:26px;width:auto;display:block;flex-shrink:0;}
.config-select{background:rgba(255,255,255,0.03);border:1px solid var(--gold);color:var(--gold-bright);font-family:'Space Mono',monospace;font-size:11px;letter-spacing:2px;padding:7px 11px;cursor:pointer;outline:none;flex-shrink:0;border-radius:8px;transition:border-color .15s,background .15s;}
.config-select:hover{background:rgba(179,137,43,0.10);}
.config-select option{background:#101013;color:var(--soft);}
.tb-btn{background:rgba(255,255,255,0.02);font-family:'Space Mono',monospace;font-size:11px;letter-spacing:2px;padding:7px 13px;cursor:pointer;white-space:nowrap;font-weight:700;flex-shrink:0;border-radius:8px;transition:transform .14s ease,background .15s ease,border-color .15s ease,color .15s ease;}
.tb-btn:hover{transform:translateY(-1px);}
.tb-btn:active{transform:translateY(0);}
.btn-gold{border:1px solid var(--gold);color:var(--gold);}
.btn-gold:hover{background:rgba(143,110,34,0.12);color:var(--gold-bright);}
.btn-gold-br{border:1px solid var(--gold-bright);color:var(--gold-bright);}
.btn-gold-br:hover{background:rgba(169,134,55,0.15);}
.btn-dim{border:1px solid #555;color:#555;}
.btn-dim:hover{border-color:var(--soft-mid);color:var(--soft-mid);}
.btn-cyan{border:1px solid var(--cyan);color:var(--cyan);}
.btn-cyan:hover{background:rgba(97,147,156,0.15);}
.btn-green{border:1px solid var(--green);color:var(--green);}
.btn-green:hover{background:rgba(74,150,74,0.15);}
.btn-red{border:1px solid var(--red);color:var(--red);}
.btn-red:hover{background:rgba(171,77,77,0.15);}
.btn-lock{border:1px solid var(--soft-mid);color:var(--soft-mid);font-size:10px;padding:6px 9px;}
.btn-lock:hover{border-color:var(--red);color:var(--red);}
.btn-clean{border:1px solid #333;color:#555;font-size:10px;padding:6px 9px;}
.btn-clean:hover{border-color:var(--gold-bright);color:var(--gold-bright);}
#opName{background:rgba(255,255,255,0.03);border:1px solid var(--red);color:var(--soft);font-family:'Space Mono',monospace;font-size:11px;letter-spacing:2px;padding:7px 11px;outline:none!important;animation:flash 0.8s infinite;transition:border-color 0.3s ease,color 0.3s ease,box-shadow 0.3s ease;flex-shrink:0;cursor:pointer;min-width:130px;border-radius:8px;}
#opName:focus{outline:none!important;border-color:var(--cyan)!important;box-shadow:0 0 8px rgba(97,147,156,0.5)!important;animation:none!important;}
#opName.baked{animation:none!important;border-color:var(--cyan)!important;color:var(--cyan)!important;}
#opName option{background:#0a0a0a;color:var(--soft);}
.audio-pill{display:none;font-family:'Space Mono',monospace;font-size:10px;font-weight:700;letter-spacing:1.5px;padding:4px 9px;border:1px solid var(--green);color:var(--green);border-radius:2px;white-space:nowrap;cursor:pointer;flex-shrink:0;max-width:220px;overflow:hidden;text-overflow:ellipsis;}
.audio-pill:hover{background:rgba(74,150,74,0.12);}
.record-pill{display:none;font-family:'Space Mono',monospace;font-size:10px;font-weight:700;letter-spacing:1.5px;padding:3px 9px;border:1px solid var(--red);color:var(--red);border-radius:2px;white-space:nowrap;animation:flash 1s infinite;flex-shrink:0;}
.speed-group{display:flex;align-items:center;border:1px solid var(--border);flex-shrink:0;}
.speed-label{font-size:10px;color:var(--soft-mid);letter-spacing:2px;padding:0 8px;border-right:1px solid var(--border);line-height:30px;}
.speed-btn{background:transparent;border:none;border-right:1px solid var(--border);color:var(--soft-mid);font-family:'Space Mono',monospace;font-size:11px;letter-spacing:1px;padding:6px 10px;cursor:pointer;transition:all 0.15s;}
.speed-btn:last-child{border-right:none;}
.speed-btn:hover{color:var(--soft);}
.speed-btn.active{color:var(--gold-bright);background:rgba(143,110,34,0.12);}
.slide-counter{font-size:11px;color:var(--soft-mid);letter-spacing:2px;white-space:nowrap;}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--dim);flex-shrink:0;}
.status-dot.playing{background:var(--green);box-shadow:0 0 10px var(--green);}
.save-dot{width:8px;height:8px;border-radius:50%;background:var(--dim);flex-shrink:0;}
.save-dot.saving{background:var(--gold);box-shadow:0 0 8px var(--gold);}
.save-dot.saved{background:var(--green);}
.save-dot.errored{background:var(--red);box-shadow:0 0 8px var(--red);}
.batch-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:10px;font-size:10.5px;letter-spacing:1.5px;font-weight:700;font-family:'Space Mono',monospace;}
.batch-pill .bd{width:7px;height:7px;border-radius:50%;}
.batch-pill.idle{display:none;}
.batch-pill.parsing{background:rgba(169,134,55,0.15);color:var(--gold-bright);border:1px solid var(--gold-bright);}
.batch-pill.parsing .bd{background:var(--gold-bright);animation:pulseGold 1.2s infinite;}
.batch-pill.processing{background:rgba(97,147,156,0.15);color:var(--cyan);border:1px solid var(--cyan);}
.batch-pill.processing .bd{background:var(--cyan);animation:pulseGold 1.5s infinite;}
.batch-pill.ready{background:rgba(74,150,74,0.15);color:var(--green);border:1px solid var(--green);}
.batch-pill.ready .bd{background:var(--green);}
.batch-pill.error{background:rgba(171,77,77,0.15);color:var(--red);border:1px solid var(--red);}
.batch-pill.error .bd{background:var(--red);}
.drive-pill{font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:1.5px;padding:3px 8px;border-radius:2px;display:none;font-weight:700;}
.drive-pill.saving{display:inline-block;color:var(--gold-bright);border:1px solid var(--gold-bright);}
.drive-pill.saved{display:inline-block;color:var(--green);border:1px solid var(--green);}
.drive-pill.error{display:inline-block;color:var(--red);border:1px solid var(--red);}
.presence-bar{display:flex;align-items:center;gap:5px;}
.presence-dot{display:flex;align-items:center;gap:4px;font-family:'Space Mono',monospace;font-size:11px;font-weight:700;letter-spacing:1px;white-space:nowrap;}
.presence-dot.me{color:var(--gold-bright);}
.presence-dot.other{color:var(--dim);}
.presence-dot.following{outline:1px solid var(--cyan);background:rgba(97,147,156,0.12)!important;}
.presence-pip{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.presence-dot.me .presence-pip{background:var(--gold-bright);box-shadow:0 0 4px var(--gold-bright);}
.presence-dot.other .presence-pip{background:var(--cyan);}

.session-bar-wrap{background:#050505;border-bottom:1px solid var(--border);flex-shrink:0;}
.session-bar{display:flex;align-items:center;gap:0;font-family:'Space Mono',monospace;font-size:11.5px;letter-spacing:1.5px;overflow:hidden;}
.session-bar-cell{padding:5px 14px;border-right:1px solid var(--border);white-space:nowrap;}
.session-bar-cell.clickable{cursor:pointer;user-select:none;}
.session-bar-cell.clickable:hover{background:rgba(255,255,255,0.02);}
.session-log-panel{display:none;border-top:1px solid var(--border);max-height:150px;overflow-y:auto;padding:6px 14px;flex-direction:column;gap:2px;font-family:'Space Mono',monospace;font-size:12px;}
.session-log-row{display:flex;gap:10px;align-items:baseline;padding:3px 0;border-bottom:1px solid #0d0d0d;}
.session-log-row:last-child{border-bottom:none;}

.main{display:flex;flex:1;overflow:hidden;}
.sidebar{width:260px;min-width:160px;max-width:624px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;position:relative;}
.sidebar-resizer{position:absolute;right:0;top:0;bottom:0;width:5px;cursor:col-resize;z-index:10;background:transparent;transition:background 0.15s;}
.sidebar-resizer:hover{background:var(--gold);}
.sidebar-hdr{font-size:11.5px;color:var(--cyan);letter-spacing:3px;padding:11px 12px;border-bottom:1px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;font-weight:700;}
.auto-lbl{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:10px;color:var(--soft-mid);letter-spacing:1px;}
.auto-lbl input{cursor:pointer;accent-color:var(--gold);width:13px;height:13px;}
.slide-list{flex:1;overflow-y:auto;}
.si{display:flex;align-items:center;gap:5px;padding:8px 12px;cursor:pointer;border-bottom:1px solid #111;transition:background 0.1s;flex-wrap:wrap;}
.si:hover{background:rgba(255,255,255,0.025);}
.si.active{background:rgba(143,110,34,0.08);border-left:3px solid var(--gold);padding-left:9px;}
.si-name{font-family:'Space Mono',monospace;color:#dedad4;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:60px;}
.si.active .si-name{color:var(--gold-bright);font-weight:700;}
.si-dur{color:#888;font-size:12px;flex-shrink:0;font-family:'Space Mono',monospace;}
.si-badge{font-size:10.5px;letter-spacing:1px;padding:2px 4px;border-radius:2px;display:none;font-weight:700;white-space:nowrap;flex-shrink:0;}
.si-badge.ok{display:block;border:1px solid var(--green);color:var(--green);background:rgba(74,150,74,0.1);}
.si-badge.rej{display:block;border:1px solid var(--red);color:var(--red);background:rgba(171,77,77,0.1);}
.si.group-start{border-top:1px solid #1f1f1f;}
.si-bananas{font-size:12.6px;flex-shrink:0;line-height:1;font-family:'Space Mono',monospace;font-weight:700;letter-spacing:0.5px;padding:2px 6px;border-radius:3px;border:1px solid var(--border);color:var(--soft-mid);}
.si-vbadge-redo{color:var(--gold-bright);border-color:var(--gold-bright);}
/* move buttons */
.si-move-wrap{display:flex;flex-direction:column;gap:2px;flex-shrink:0;}
.si-move-btn{background:transparent;border:1px solid #2a2a2a;color:#555;font-size:10.5px;cursor:pointer;padding:3px 5px;line-height:1;transition:all 0.15s;border-radius:2px;}
.si-move-btn:hover{color:var(--gold-bright);border-color:var(--gold-bright);background:rgba(169,134,55,0.1);}
.si-move-btn:disabled{opacity:0.15;cursor:default;border-color:#1a1a1a;}
.si-redo{font-family:'Space Mono',monospace;font-size:10.5px;font-weight:700;letter-spacing:1px;padding:4px 6px;background:transparent;border:1px solid #333;color:var(--soft-mid);border-radius:3px;cursor:pointer;transition:all 0.2s;flex-shrink:0;}
.si-redo:hover{background:rgba(169,134,55,0.15);border-color:var(--gold-bright);color:var(--gold-bright);}
.si.active .si-redo{border-color:var(--gold);color:var(--gold);}
.si-replace-btn,.si-del-btn{font-family:'Space Mono',monospace;font-size:10.5px;font-weight:700;padding:4px 6px;background:transparent;border-radius:3px;cursor:pointer;transition:all 0.2s;flex-shrink:0;}
.si-replace-btn{border:1px solid #333;color:var(--cyan);}
.si-replace-btn:hover{background:rgba(97,147,156,0.15);border-color:var(--cyan);}
.si-del-btn{border:1px solid rgba(171,77,77,0.55);color:var(--red);margin-left:4px;font-size:12px;}
.si-del-btn:hover{background:rgba(171,77,77,0.15);border-color:var(--red);color:var(--red);}
.si-dup-btn{font-family:'Space Mono',monospace;font-size:10.5px;font-weight:700;padding:4px 6px;background:transparent;border:1px solid #333;color:var(--soft-mid);border-radius:3px;cursor:pointer;transition:all 0.2s;flex-shrink:0;}
.si-dup-btn:hover{background:rgba(169,134,55,0.15);border-color:var(--gold-bright);color:var(--gold-bright);}
.si-rollback{font-family:'Space Mono',monospace;font-size:10.5px;font-weight:700;letter-spacing:0.5px;padding:3px 5px;background:#000;border:1px solid #333;color:var(--soft-mid);border-radius:3px;cursor:pointer;flex-shrink:0;max-width:64px;}
.si-rollback:focus{outline:none;border-color:var(--gold-bright);}
.si-rollback option{background:#0a0a0a;color:var(--soft);}
.si-vote-wrap{display:flex;flex-direction:column;gap:2px;flex-shrink:0;align-items:flex-end;}
.si-badge-pill{font-size:10.5px;letter-spacing:0.5px;padding:2px 5px;border-radius:2px;display:inline-flex;align-items:center;gap:2px;white-space:nowrap;font-weight:700;}
.si-badge-pill.ok{border:1px solid var(--green);color:var(--green);background:rgba(74,150,74,0.1);}
.si-badge-pill.rej{border:1px solid var(--red);color:var(--red);background:rgba(171,77,77,0.1);}
.vote-details summary{list-style:none;}
.vote-details summary::-webkit-details-marker{display:none;}
.vote-summary{display:flex;flex-direction:column;gap:2px;cursor:pointer;align-items:flex-end;}
.vote-dropdown{position:fixed;z-index:999;background:#0d0d0d;border:1px solid var(--border);min-width:260px;max-width:340px;padding:6px;display:flex;flex-direction:column;gap:4px;box-shadow:0 4px 16px rgba(0,0,0,0.9);}
.vote-row{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border-radius:2px;}
.vote-row.ok{background:rgba(74,150,74,0.06);border:1px solid rgba(74,150,74,0.2);}
.vote-row.rej{background:rgba(171,77,77,0.06);border:1px solid rgba(171,77,77,0.2);}
.vote-op{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--soft);}
.vote-verdict{font-size:10px;font-weight:700;}
.vote-row.ok .vote-verdict{color:var(--green);}
.vote-row.rej .vote-verdict{color:var(--red);}
.vote-note{font-size:10px;color:var(--soft-mid);font-style:italic;word-break:break-word;line-height:1.4;}
.vote-time{font-size:10.5px;color:var(--dim);}
.banana-details{flex-shrink:0;}
.banana-details summary{list-style:none;}
.banana-details summary::-webkit-details-marker{display:none;}
.banana-summary{cursor:pointer;display:flex;align-items:center;}
.banana-dropdown{position:fixed;z-index:999;background:#0d0d0d;border:1px solid var(--border);min-width:680px;max-width:820px;padding:10px;display:flex;flex-direction:column;gap:10px;box-shadow:0 4px 24px rgba(0,0,0,0.96);}
.banana-hdr{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:3px;color:var(--gold-bright);border-bottom:1px solid var(--border);padding-bottom:6px;}
.banana-versions-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;}
.bv-card{flex-shrink:0;width:200px;display:flex;flex-direction:column;gap:6px;background:#111;border:1px solid var(--border);padding:8px;border-radius:2px;transition:border-color 0.15s;}
.bv-card:hover{border-color:var(--gold);}
.bv-card.current-version{border-color:var(--cyan);}
.bv-card-label{font-size:10px;font-weight:700;letter-spacing:1px;color:var(--gold-bright);}
.bv-card.current-version .bv-card-label{color:var(--cyan);}
.bv-canvas-wrap{width:100%;aspect-ratio:16/9;background:#000;overflow:hidden;position:relative;border:1px solid #222;}
.bv-canvas-wrap canvas{width:100%;height:100%;display:block;}
.bv-note{font-size:10.5px;color:var(--soft-mid);font-style:italic;line-height:1.4;word-break:break-word;min-height:24px;}
.bv-meta{display:flex;gap:4px;flex-wrap:wrap;}
.bv-op{font-size:10.5px;font-weight:700;letter-spacing:1px;color:var(--cyan);padding:2px 5px;border:1px solid rgba(97,147,156,0.3);border-radius:2px;}
.bv-model{font-size:10.5px;letter-spacing:1px;color:var(--gold-bright);}
.bv-time{font-size:10.5px;color:var(--dim);}
.bv-btn-row{display:flex;gap:5px;}
.bv-view-btn{flex:1;font-family:'Space Mono',monospace;font-size:10.5px;font-weight:700;padding:5px 8px;background:transparent;border:1px solid var(--gold);color:var(--gold);cursor:pointer;letter-spacing:1px;transition:all 0.15s;}
.bv-view-btn:hover{background:rgba(143,110,34,0.15);}
.bv-view-btn.active{background:rgba(143,110,34,0.2);color:var(--gold-bright);}
.bv-restore-btn{flex:1;font-family:'Space Mono',monospace;font-size:10.5px;font-weight:700;padding:5px 8px;background:transparent;border:1px solid var(--green);color:var(--green);cursor:pointer;letter-spacing:1px;transition:all 0.15s;}
.bv-restore-btn:hover{background:rgba(74,150,74,0.15);}
.bv-clear-btn{font-family:'Space Mono',monospace;font-size:10.5px;font-weight:700;padding:5px 8px;background:transparent;border:1px solid #333;color:#555;cursor:pointer;transition:all 0.15s;letter-spacing:1px;align-self:flex-end;}
.bv-clear-btn:hover{border-color:var(--red);color:var(--red);background:rgba(171,77,77,0.1);}
.appr-history-bar{padding:6px 14px 8px;display:flex;flex-wrap:wrap;gap:6px;background:var(--surface);border-top:1px solid #111;max-height:90px;overflow-y:auto;}
.aphr{display:flex;flex-direction:column;gap:2px;padding:5px 9px;font-size:10.5px;letter-spacing:0.5px;border-radius:2px;min-width:160px;max-width:400px;}
.aphr.ok{background:rgba(74,150,74,0.08);border:1px solid rgba(74,150,74,0.3);}
.aphr.rej{background:rgba(171,77,77,0.08);border:1px solid rgba(171,77,77,0.3);}
.aphr-row1{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.aphr .ah-op{font-weight:700;color:var(--soft);letter-spacing:1px;font-size:10.5px;}
.aphr .ah-verdict{font-weight:700;font-size:10.5px;}
.aphr.ok .ah-verdict{color:var(--green);}
.aphr.rej .ah-verdict{color:var(--red);}
.aphr .ah-note{color:var(--soft-mid);font-size:10.5px;font-style:italic;white-space:normal;word-break:break-word;line-height:1.4;}
.aphr .ah-time{color:var(--dim);font-size:10.5px;white-space:nowrap;margin-left:auto;}
.viewer{flex:1;display:flex;flex-direction:column;overflow:hidden;}
.viewer-header{background:var(--surface);border-bottom:1px solid var(--border);padding:8px 16px;display:flex;align-items:center;flex-shrink:0;}
.nowplaying{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:3px;color:var(--gold-bright);}
.canvas-wrap{flex:1;display:flex;align-items:center;justify-content:center;background:#141414;position:relative;overflow:hidden;}
#slideCanvas{display:block;image-rendering:auto;image-rendering:-webkit-optimize-contrast;}
.empty{display:flex;flex-direction:column;align-items:center;gap:14px;}
.empty .big{font-family:'Bebas Neue',sans-serif;font-size:74px;color:#1a1a1a;letter-spacing:9px;}
.empty .sm{font-size:11px;letter-spacing:3px;color:var(--dim);}
.cdoverlay{position:absolute;inset:0;background:rgba(0,0,0,0.88);display:none;flex-direction:column;align-items:center;justify-content:center;gap:28px;z-index:100;}
.cdoverlay.show{display:flex;}
.cd-track{width:70%;max-width:520px;height:14px;background:#111;border:1px solid #2a2a2a;border-radius:2px;overflow:hidden;}
.cd-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--gold) 0%,var(--gold-bright) 85%,#fff 100%);border-radius:2px;position:relative;}
.cd-fill::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0.35) 50%,transparent 100%);animation:shimmer 0.6s linear infinite;}
.cd-label{font-family:'Space Mono',monospace;font-size:13px;letter-spacing:5px;color:var(--soft-mid);font-weight:700;text-align:center;}
.cd-sub{font-size:11px;letter-spacing:3px;color:var(--dim);margin-top:-16px;}
.cdoverlay.armed .cd-fill{background:var(--green);box-shadow:0 0 20px rgba(74,150,74,0.6);}
.cdoverlay.armed .cd-label{color:var(--green);letter-spacing:8px;}
.cdoverlay.armed .cd-fill::after{display:none;}
.controls{display:flex;align-items:center;gap:9px;padding:11px 14px;background:var(--surface);border-top:1px solid var(--border);flex-shrink:0;flex-wrap:wrap;}
.cb{background:transparent;border:1px solid var(--border);color:var(--soft-mid);font-family:'Space Mono',monospace;font-size:11px;letter-spacing:1.5px;padding:8px 13px;cursor:pointer;white-space:nowrap;transition:all 0.15s;font-weight:700;}
.cb:hover{border-color:var(--soft);color:var(--soft);}
.prog{flex:1;height:5px;background:#1a1a1a;cursor:pointer;position:relative;border-radius:1px;min-width:60px;}
.prog-bar{height:100%;background:var(--gold);width:0%;pointer-events:none;}
.tlbl{font-size:11px;color:var(--soft-mid);white-space:nowrap;min-width:90px;text-align:right;font-variant-numeric:tabular-nums;}
.appr{border:1px solid var(--green)!important;color:var(--green)!important;}
.appr:hover{background:rgba(74,150,74,0.14)!important;}
.rej{border:1px solid var(--red)!important;color:var(--red)!important;}
.rej:hover{background:rgba(171,77,77,0.14)!important;}
.exp{border:1px solid var(--cyan)!important;color:var(--cyan)!important;}
.exp:hover{background:rgba(97,147,156,0.14)!important;}
.inst-panel{position:relative;display:flex;background:var(--surface);border-left:1px solid var(--border);flex-shrink:0;z-index:10;width:265px;transition:width 0.35s cubic-bezier(0.4,0,0.2,1);}
.inst-panel.closed{width:0px;border-left:none;}
.inst-content{width:265px;flex-shrink:0;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:20px;opacity:1;transition:opacity 0.2s;}
.inst-panel.closed .inst-content{opacity:0;pointer-events:none;}
.inst-toggle{position:absolute;left:-24px;top:50%;transform:translateY(-50%);width:24px;height:48px;background:var(--surface);border:1px solid var(--border);border-right:none;color:var(--soft-mid);display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:6px 0 0 6px;font-size:10px;transition:all 0.2s;box-shadow:-2px 0 5px rgba(0,0,0,0.5);z-index:20;}
.inst-toggle:hover{color:var(--gold-bright);background:#111;}
.it{font-family:'Bebas Neue',sans-serif;font-size:17px;letter-spacing:3px;border-left:3px solid var(--gold);padding-left:9px;margin-bottom:10px;color:var(--gold-bright);}
.it.cyan{border-left-color:var(--cyan);color:var(--cyan);}
.it.soft{border-left-color:var(--soft-mid);color:var(--soft);}
.is{font-size:12px;color:var(--soft);letter-spacing:0.3px;line-height:1.6;padding:4px 0 4px 9px;display:flex;gap:8px;}
.is .step{color:var(--gold-bright);font-weight:700;flex-shrink:0;min-width:46px;letter-spacing:1px;}
.is .body{flex:1;}
.is .body b{color:var(--gold-bright);font-weight:700;}
.is .body i{color:var(--cyan);font-style:normal;font-weight:700;}
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,0.9);display:none;align-items:center;justify-content:center;z-index:200;}
.modal-bg.show{display:flex;}
.modal{background:var(--surface);border:1px solid var(--gold);padding:32px;display:flex;flex-direction:column;gap:18px;min-width:360px;max-width:560px;}
.m-eyebrow{font-size:11px;color:var(--soft-mid);letter-spacing:3px;font-weight:700;}
.m-title{font-family:'Bebas Neue',sans-serif;font-size:36px;color:var(--gold-bright);letter-spacing:4px;line-height:1.1;word-break:break-all;}
.m-sub{font-size:11px;color:var(--soft-mid);letter-spacing:1px;line-height:1.6;}
.m-action{font-size:13px;color:var(--soft);letter-spacing:1px;margin-top:6px;}
.m-action b{color:var(--green);}
.m-action.r b{color:var(--red);}
.m-btns{display:flex;gap:11px;margin-top:8px;}
.mb{flex:1;padding:16px 8px;font-family:'Space Mono',monospace;font-size:13px;letter-spacing:2px;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--soft);transition:all 0.15s;font-weight:700;}
.mb.confirm{border-color:var(--green);color:var(--green);}
.mb.confirm:hover{background:rgba(74,150,74,0.14);}
.mb.confirm-r{border-color:var(--red);color:var(--red);}
.mb.confirm-r:hover{background:rgba(171,77,77,0.14);}
.mb.cancel{border-color:#2a2a2a;color:var(--soft-mid);}
.mb.cancel:hover{border-color:#555;color:var(--soft);}
.mb.add{border-color:var(--cyan);color:var(--cyan);}
.mb.add:hover{background:rgba(97,147,156,0.14);}
.mb.video{border-color:var(--cyan);color:var(--cyan);}
.mb.video:hover{background:rgba(97,147,156,0.14);}
.model-picker-grp{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px;}
.model-pick{padding:10px 8px;border:1px solid var(--border);background:transparent;color:var(--soft-mid);font-family:'Space Mono',monospace;font-size:11px;letter-spacing:1.5px;cursor:pointer;text-align:left;font-weight:700;transition:all 0.15s;display:flex;flex-direction:column;gap:2px;}
.model-pick:hover{border-color:var(--soft);color:var(--soft);}
.model-pick.active{border-color:var(--gold-bright);color:var(--gold-bright);background:rgba(169,134,55,0.1);}
.model-pick .mp-name{font-size:12px;letter-spacing:2px;}
.model-pick .mp-cost{font-size:10.5px;color:var(--soft-mid);letter-spacing:1px;}
.model-pick.active .mp-cost{color:var(--gold-bright);}
.modal.input-modal{min-width:640px;max-width:760px;border-color:var(--gold-bright);}
.input-row{display:flex;gap:14px;align-items:flex-start;}
.input-row>div{flex:1;}
.input-lbl{font-size:10px;color:var(--soft-mid);letter-spacing:2px;font-weight:700;margin-bottom:5px;display:block;}
.input-fld{background:#000;border:1px solid var(--border);color:var(--soft);font-family:'Space Mono',monospace;font-size:11px;letter-spacing:1px;padding:10px;width:100%;outline:none;}
.input-fld:focus{border-color:var(--gold-bright);}
.input-area{background:#000;border:1px solid var(--border);color:var(--soft);font-family:'Space Mono',monospace;font-size:10px;letter-spacing:0.5px;padding:10px;width:100%;outline:none;resize:vertical;min-height:200px;}
.input-area:focus{border-color:var(--gold-bright);}
.input-radio-grp{display:flex;gap:8px;}
.input-radio{flex:1;padding:8px;border:1px solid var(--border);background:transparent;color:var(--soft-mid);font-family:'Space Mono',monospace;font-size:11px;letter-spacing:1.5px;cursor:pointer;text-align:center;font-weight:700;transition:all 0.15s;}
.input-radio:hover{border-color:var(--soft);color:var(--soft);}
.input-radio.active{border-color:var(--gold-bright);color:var(--gold-bright);background:rgba(169,134,55,0.1);}
.mode-tab{flex:1;padding:9px;border:1px solid var(--border);background:transparent;color:var(--soft-mid);font-family:'Space Mono',monospace;font-size:11px;letter-spacing:2px;cursor:pointer;text-align:center;font-weight:700;transition:all 0.15s;}
.mode-tab:hover{border-color:var(--soft);color:var(--soft);}
.mode-tab.active{border-color:var(--gold-bright);color:var(--gold-bright);background:rgba(169,134,55,0.1);}
.modal.preview-modal{min-width:880px;max-width:1100px;width:90vw;max-height:88vh;border-color:var(--cyan);}
.preview-summary{display:flex;gap:24px;padding:12px 16px;background:#000;border:1px solid var(--border);font-size:11px;letter-spacing:1.5px;}
.preview-summary span b{color:var(--gold-bright);font-weight:700;}
.preview-list{overflow-y:auto;max-height:55vh;display:flex;flex-direction:column;gap:10px;padding-right:4px;}
.pcard{display:flex;gap:14px;padding:14px;border:1px solid var(--border);background:rgba(255,255,255,0.015);transition:all 0.15s;}
.pcard.rejected{opacity:0.4;border-color:var(--red);}
.pcard-num{font-family:'Bebas Neue',sans-serif;font-size:32px;color:var(--gold-bright);letter-spacing:2px;width:50px;flex-shrink:0;line-height:1;padding-top:4px;}
.pcard-body{flex:1;display:flex;flex-direction:column;gap:8px;}
.pcard-topbar{font-family:'Space Mono',monospace;font-size:11px;color:var(--gold-bright);letter-spacing:2px;font-weight:700;}
.pcard-meta{display:flex;gap:14px;font-size:10px;color:var(--soft-mid);letter-spacing:1px;flex-wrap:wrap;}
.pcard-meta span b{color:var(--soft);font-weight:700;}
.pcard-bullets{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--soft);letter-spacing:0.5px;line-height:1.4;}
.pcard-bullets .b{padding-left:10px;border-left:2px solid var(--gold);}
.pcard-controls{display:flex;flex-direction:column;gap:6px;width:160px;flex-shrink:0;}
.pcard-controls select,.pcard-controls input{background:#000;border:1px solid var(--border);color:var(--soft);font-family:'Space Mono',monospace;font-size:10px;padding:6px 8px;outline:none;}
.pcard-controls select:focus,.pcard-controls input:focus{border-color:var(--gold-bright);}
.pcard-reject-btn{padding:6px 8px;background:transparent;border:1px solid var(--border);color:var(--soft-mid);font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:1px;cursor:pointer;font-weight:700;transition:all 0.15s;}
.pcard-reject-btn:hover{border-color:var(--red);color:var(--red);}
.pcard.rejected .pcard-reject-btn{border-color:var(--red);color:var(--red);background:rgba(171,77,77,0.1);}
.modal.secret-modal{min-width:420px;max-width:520px;border-color:var(--cyan);}
.secret-input{background:#000;border:1px solid var(--cyan);color:var(--soft);font-family:'Space Mono',monospace;font-size:12px;letter-spacing:1px;padding:12px;width:100%;outline:none;text-align:center;}
.secret-input:focus{border-color:var(--gold-bright);}
.modal.video-modal{min-width:500px;max-width:620px;border-color:var(--cyan);}
.video-slot-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;}
.video-slot-btn{padding:12px 8px;border:1px solid var(--border);background:transparent;color:var(--soft-mid);font-family:'Space Mono',monospace;font-size:11px;letter-spacing:1.5px;cursor:pointer;text-align:center;font-weight:700;transition:all 0.15s;display:flex;flex-direction:column;gap:4px;align-items:center;}
.video-slot-btn:hover{border-color:var(--cyan);color:var(--cyan);}
.video-slot-btn.active{border-color:var(--cyan);color:var(--cyan);background:rgba(97,147,156,0.12);}
.video-slot-btn .vs-label{font-size:14px;letter-spacing:3px;}
.video-slot-btn .vs-sub{font-size:10.5px;color:var(--dim);}
.video-slot-btn.active .vs-sub{color:var(--cyan);}
.video-export-summary{padding:12px;background:#000;border:1px solid var(--border);font-size:11px;letter-spacing:1px;line-height:2;}
.video-export-summary b{color:var(--gold-bright);}
.video-rule{font-size:10px;color:var(--soft-mid);letter-spacing:1px;line-height:1.7;padding:10px;background:#050505;border:1px solid var(--border);}
.video-rule b{color:var(--gold-bright);}
.modal.audio-modal{min-width:520px;max-width:660px;border-color:var(--green);}
.audio-tab{flex:1;padding:9px;border:1px solid var(--border);background:transparent;color:var(--soft-mid);font-family:'Space Mono',monospace;font-size:11px;letter-spacing:2px;cursor:pointer;text-align:center;font-weight:700;transition:all 0.15s;}
.audio-tab:hover{border-color:var(--green);color:var(--green);}
.audio-tab.active{border-color:var(--green);color:var(--green);background:rgba(74,150,74,0.1);}
.audio-file-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border);background:rgba(74,150,74,0.03);}
.audio-file-name{flex:1;font-size:11px;color:var(--green);letter-spacing:1px;word-break:break-all;}
.audio-del-btn{background:transparent;border:1px solid #333;color:var(--dim);font-family:'Space Mono',monospace;font-size:10.5px;padding:3px 8px;cursor:pointer;letter-spacing:1px;transition:all 0.15s;flex-shrink:0;}
.audio-del-btn:hover{border-color:var(--red);color:var(--red);}
.drive-mp3-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border);cursor:pointer;transition:background 0.1s;}
.drive-mp3-item:hover{background:rgba(255,255,255,0.02);}
.drive-mp3-item input[type=checkbox]{accent-color:var(--green);width:14px;height:14px;cursor:pointer;flex-shrink:0;}
.drive-mp3-item label{flex:1;font-size:11px;color:var(--soft);letter-spacing:1px;cursor:pointer;}
.drive-mp3-item .mp3-sz{font-size:10.5px;color:var(--dim);flex-shrink:0;}
.modal.record-modal{min-width:520px;max-width:640px;border-color:var(--red);}
.record-audio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.rec-audio-btn{padding:11px 8px;border:1px solid var(--border);background:transparent;color:var(--soft-mid);font-family:'Space Mono',monospace;font-size:10px;letter-spacing:1px;cursor:pointer;text-align:center;font-weight:700;transition:all 0.15s;display:flex;flex-direction:column;gap:5px;align-items:center;}
.rec-audio-btn:hover{border-color:var(--green);color:var(--green);}
.rec-audio-btn.selected{border-color:var(--green);color:var(--green);background:rgba(74,150,74,0.12);}
.quality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.quality-btn{padding:14px 8px;border:1px solid var(--border);background:transparent;color:var(--soft-mid);font-family:'Space Mono',monospace;font-size:11px;letter-spacing:2px;cursor:pointer;text-align:center;font-weight:700;transition:all 0.15s;display:flex;flex-direction:column;gap:4px;align-items:center;}
.quality-btn:hover{border-color:var(--cyan);color:var(--cyan);}
.quality-btn.selected{border-color:var(--cyan);color:var(--cyan);background:rgba(97,147,156,0.12);}
.quality-btn .q-res{font-size:16px;letter-spacing:3px;}
.quality-btn .q-bit{font-size:10.5px;color:var(--dim);}
.quality-btn.selected .q-bit{color:var(--cyan);}
.drive-prog-bar{height:5px;background:#111;border:1px solid var(--border);border-radius:2px;overflow:hidden;display:none;margin-top:4px;}
.drive-prog-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--cyan),var(--green));transition:width 0.3s;}
/* clean blobs modal */
.modal.clean-modal{min-width:480px;max-width:560px;border-color:var(--gold-bright);}
.clean-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border);background:rgba(0,0,0,0.3);}
.clean-item input[type=checkbox]{accent-color:var(--gold-bright);width:14px;height:14px;cursor:pointer;flex-shrink:0;}
.clean-item label{flex:1;font-size:11px;color:var(--soft);letter-spacing:1px;cursor:pointer;}
.clean-item .ci-count{font-size:10.5px;color:var(--gold-bright);font-weight:700;}
::-webkit-scrollbar{width:4px;}::-webkit-scrollbar-track{background:transparent;}::-webkit-scrollbar-thumb{background:#222;}::-webkit-scrollbar-thumb:hover{background:#333;}

#_autoDriveIndicator{position:fixed;bottom:60px;right:20px;z-index:8000;font-family:'Space Mono',monospace;font-size:10px;font-weight:700;letter-spacing:1.5px;padding:5px 10px;border-radius:3px;display:none;pointer-events:none;transition:opacity 0.5s;}
#_autoDriveIndicator.saving{display:block;background:#050505;border:1px solid var(--gold-bright);color:var(--gold-bright);}
#_autoDriveIndicator.saved{display:block;background:#050505;border:1px solid var(--green);color:var(--green);}
#_autoDriveIndicator.error{display:block;background:#050505;border:1px solid var(--red);color:var(--red);}

      .bn-row{display:grid;grid-template-columns:30px 1fr 60px 28px 28px 90px 60px 24px;gap:6px;align-items:center;padding:4px 0;border-bottom:1px dashed #1a1a1a;}
      .bn-row.focused{background:rgba(0,200,255,0.06);}
      .bn-row.nudged .bn-delta{color:var(--gold-bright);}
      .bn-idx{color:var(--dim);font-size:10px;text-align:right;font-family:monospace;}
      .bn-text{color:var(--soft);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
      .bn-at{color:var(--cyan);font-family:monospace;font-size:11px;text-align:right;}
      .bn-btn{background:transparent;border:1px solid var(--border);color:var(--gold);font-size:11px;cursor:pointer;padding:2px 0;font-family:monospace;}
      .bn-btn:hover{border-color:var(--gold);background:rgba(179,137,43,0.1);}
      .bn-custom{background:#0a0a0a;color:var(--gold);border:1px solid var(--border);padding:2px 4px;font-size:10px;font-family:monospace;width:100%;text-align:right;}
      .bn-delta{color:var(--dim);font-size:10.5px;font-family:monospace;text-align:right;letter-spacing:0.5px;}
      .bn-reset{background:transparent;border:1px solid var(--border);color:var(--red);font-size:10px;cursor:pointer;padding:0;}
      .bn-reset:hover{border-color:var(--red);}
      .bn-reset[disabled]{opacity:0.25;cursor:default;}
      #captureModeBtn.armed{background:var(--gold);color:#000;animation:capPulse 1s infinite;}
      @keyframes capPulse{0%,100%{opacity:1;}50%{opacity:0.6;}}
/* ── version pill + hover tooltip (DEV orange/large, PROD muted) ── */
.vp-wrap{position:relative;display:inline-block;}
#versionPill.vp-dev{background:#ff7a18;color:#000;border:1px solid #ff7a18;font-size:12px;}
#versionPill.vp-prod{background:var(--green);color:#000;border:1px solid var(--green);font-size:11px;}
.vp-tip{display:none;position:absolute;top:calc(100% + 6px);right:0;background:#0a0a0a;border:1px solid var(--border);color:var(--soft);font-size:10px;font-family:'Space Mono',monospace;letter-spacing:0.4px;padding:7px 10px;border-radius:5px;width:240px;line-height:1.5;z-index:9999;box-shadow:0 6px 22px rgba(0,0,0,0.65);white-space:normal;font-weight:400;text-transform:none;}
.vp-wrap:hover .vp-tip{display:block;}
.vp-emoji{font-size:14px;line-height:1;margin-right:5px;vertical-align:middle;display:inline-block;background:none;}

/* ── slide-row redesign: variant chips, spark, condensed status, ... menu ── */
.si-chips{display:flex;gap:3px;align-items:center;flex-shrink:0;}
.si-chip{background:#141414;border:1px solid #2a2a2a;color:var(--soft-mid);font-family:'Space Mono',monospace;font-size:9px;font-weight:700;letter-spacing:.5px;padding:2px 6px;border-radius:9px;cursor:pointer;line-height:1.3;}
.si-chip:hover{border-color:var(--gold);color:var(--gold);}
.si-chip.active{background:rgba(74,150,74,0.18);border-color:var(--green);color:var(--green);}
.si-spark{background:transparent;border:1px solid #2a2a2a;color:var(--gold-bright);font-size:11px;cursor:pointer;border-radius:9px;padding:2px 6px;flex-shrink:0;line-height:1;}
.si-spark:hover{border-color:var(--gold-bright);background:rgba(212,168,67,0.12);}
.si-stat{font-family:'Space Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.5px;padding:2px 7px;border-radius:9px;white-space:nowrap;}
.si-stat.ok{color:var(--green);border:1px solid rgba(74,150,74,0.40);}
.si-stat.rej{color:var(--red);border:1px solid rgba(171,77,77,0.40);}
.si-menu{position:relative;flex-shrink:0;}
.si-menu>summary.si-menu-btn{list-style:none;cursor:pointer;color:var(--soft-mid);font-size:15px;font-weight:700;line-height:1;padding:1px 7px;border:1px solid #2a2a2a;border-radius:4px;user-select:none;}
.si-menu>summary.si-menu-btn::-webkit-details-marker{display:none;}
.si-menu[open]>summary.si-menu-btn{border-color:var(--gold);color:var(--gold);}
.si-menu-pop{position:absolute;right:0;top:calc(100% + 3px);background:#0c0c0c;border:1px solid var(--border);border-radius:5px;display:flex;flex-direction:column;min-width:132px;z-index:1000;box-shadow:0 6px 22px rgba(0,0,0,0.6);}
.si-menu-pop button{background:transparent;border:none;border-bottom:1px solid #161616;color:var(--soft);font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:1px;text-align:left;padding:8px 11px;cursor:pointer;}
.si-menu-pop button:hover{background:rgba(255,255,255,0.05);}
.si-menu-pop button.si-menu-del{color:var(--red);}
.si-menu-pop button:last-child{border-bottom:none;}

/* fruit-count wrapper in slide row (emoji-only version indicator) */
.si-fruits{display:flex;align-items:center;flex-shrink:0;}
