:root{
  --bg:#01020a; --ink:#edf1f9; --mut:#8e9ab3; --dim:#5d6881;
  --gold:#e6c67e; --gold2:#b08a45;
  --grn:#3ddc97; --amb:#ffb648; --red:#ff5d6c; --blu:#6cb6ff; --gry:#8f9bb5;
  --glass:rgba(9,13,24,.66); --glass2:rgba(14,19,33,.86); --line:rgba(255,255,255,.09); --line2:rgba(255,255,255,.16);
  --r:14px; --sh:0 24px 70px rgba(0,0,0,.62),0 2px 0 rgba(255,255,255,.04) inset;
  --f:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue","Segoe UI",Roboto,Arial,sans-serif;
  --m:"SF Mono",ui-monospace,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 var(--f);overflow:hidden;-webkit-font-smoothing:antialiased}
button,input{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
[hidden]{display:none!important}

#gl{position:fixed;inset:0;width:100%;height:100%;display:block;cursor:grab}
#gl:active{cursor:grabbing}
#labels{position:fixed;inset:0;pointer-events:none;z-index:1;clip-path:inset(56px 0 0 0)}      /* οι ετικέτες δεν περνούν κάτω από την πάνω μπάρα */
#vignette{position:fixed;inset:0;pointer-events:none;z-index:2;
  background:radial-gradient(120% 90% at 50% 45%,transparent 55%,rgba(0,0,0,.55) 100%),
             linear-gradient(180deg,rgba(1,2,10,.72) 0,transparent 16%,transparent 78%,rgba(1,2,10,.78) 100%)}

/* ── ετικέτες σταθμών
   ΠΟΤΕ transition/transform εδώ: τη ΘΕΣΗ της ετικέτας τη γράφει η σκηνή σε κάθε καρέ. Με transition στο transform κάθε ετικέτα
   ξεκινούσε νέα κίνηση 60 φορές το δευτερόλεπτο (μετρημένο 27/9: 58 κινήσεις ταυτόχρονα, η σελίδα 17% ακόμη και στα 4 καρέ).
   ΠΟΤΕ θόλωμα φόντου (backdrop-filter) σε ετικέτα: 58 θολώματα πάνω από εικόνα που αλλάζει συνεχώς = η κάρτα γραφικών στο κόκκινο. */
.st{pointer-events:auto;display:flex;align-items:center;gap:8px;padding:5px 10px 5px 8px;border-radius:999px;
  background:rgba(10,14,26,.84);border:1px solid var(--line);
  box-shadow:0 8px 26px rgba(0,0,0,.5);transition:opacity .35s,visibility 0s,border-color .2s,background .2s,box-shadow .2s;white-space:nowrap;text-align:left}
.st:hover,.st.hot{border-color:var(--gold);background:rgba(16,21,38,.94);box-shadow:0 10px 30px rgba(0,0,0,.6),0 0 18px rgba(230,198,126,.22)}
.st.occ{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s,visibility 0s .35s}
.st-ic{font-size:15px;line-height:1}
.st-tx{display:flex;flex-direction:column;line-height:1.15}
.st b{font-size:11px;letter-spacing:.09em;font-weight:650}
.st small{font-size:10.5px;color:var(--mut);max-height:0;max-width:0;overflow:hidden;opacity:0;transition:max-height .2s,max-width .25s,opacity .2s}
.st:hover small,.st.hot small,.st:focus-visible small{max-height:16px;max-width:240px;opacity:1}
.st-dot,.dot,.ch-dot,.dk-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--gry);box-shadow:0 0 0 3px rgba(143,155,181,.14)}
[data-state=live] .st-dot,[data-s=live].dot,[data-s=live] .ch-dot,[data-s=live] .dk-dot{background:var(--grn);box-shadow:0 0 0 3px rgba(61,220,151,.16),0 0 12px var(--grn)}
[data-state=stale] .st-dot,[data-s=stale].dot,[data-s=stale] .dk-dot{background:var(--amb);box-shadow:0 0 0 3px rgba(255,182,72,.16),0 0 12px var(--amb)}
[data-state=dead] .st-dot,[data-s=dead].dot,[data-s=dead] .dk-dot{background:var(--red);box-shadow:0 0 0 3px rgba(255,93,108,.16),0 0 12px var(--red)}
[data-state=na] .st-dot,[data-s=na] .dk-dot{background:var(--blu);box-shadow:0 0 0 3px rgba(108,182,255,.16)}
[data-s=off] .ch-dot{background:transparent;box-shadow:inset 0 0 0 1.5px var(--dim)}

.ct{pointer-events:none;opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s;display:flex;flex-direction:column;align-items:center;
  padding:4px 10px;border-radius:9px;background:rgba(8,11,20,.88);border:1px solid rgba(230,198,126,.35);white-space:nowrap}
.ct.show{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .25s,visibility 0s}
.ct b{font-size:11.5px;letter-spacing:.04em;color:var(--gold)}
.ct small{font-size:10px;color:var(--mut)}

/* ── πάνω μπάρα */
#top{position:fixed;z-index:100;left:0;right:0;top:0;height:54px;display:flex;align-items:center;gap:12px;padding:0 16px}
.brand{display:flex;align-items:center;gap:10px;margin-right:4px;white-space:nowrap;flex:none}
.brand b{display:block;font-size:13px;letter-spacing:.2em;font-weight:700}
.brand small{display:block;font-size:10px;letter-spacing:.14em;color:var(--gold)}
.logo{font-size:22px;color:var(--gold);text-shadow:0 0 18px rgba(230,198,126,.7)}
.logo.big{font-size:54px;display:block;animation:breathe 2.2s ease-in-out infinite}
.pill{display:flex;align-items:center;gap:8px;height:32px;padding:0 13px;border-radius:999px;background:var(--glass);border:1px solid var(--line);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:12px;color:var(--mut);white-space:nowrap}
.pill:hover{border-color:var(--line2);color:var(--ink)}
.pill.warn{color:var(--amb);border-color:rgba(255,182,72,.35)}
.clocks{display:flex;gap:14px;margin-left:auto;font:12px var(--m);color:var(--mut);white-space:nowrap;flex:none}
.clocks span b{color:var(--ink);font-weight:500;margin-left:6px}
.clocks span i{font-style:normal;font-family:var(--f);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}
.tools{display:flex;gap:5px;flex:none}
.tools button{height:32px;min-width:34px;padding:0 10px;border-radius:9px;background:var(--glass);border:1px solid var(--line);font-size:12px;color:var(--ink);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:border-color .15s,background .15s;white-space:nowrap}
.tools button:hover{border-color:var(--gold);background:var(--glass2)}
.tools button[aria-pressed=false]{color:var(--dim)}
#bTV{border-color:rgba(230,198,126,.45);color:var(--gold)}

.menu{position:fixed;z-index:150;top:52px;min-width:250px;padding:6px;border-radius:12px;background:var(--glass2);border:1px solid var(--line2);box-shadow:var(--sh);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.menu button{display:block;width:100%;text-align:left;padding:9px 11px;border-radius:8px}
.menu button:hover{background:rgba(255,255,255,.07)}
.menu b{display:block;font-size:13px}.menu small{color:var(--mut);font-size:11.5px}

/* ── μπάρα πλατφορμών */
#dock{position:fixed;z-index:100;left:50%;bottom:14px;transform:translateX(-50%);display:flex;align-items:stretch;gap:4px;padding:7px;max-width:calc(100vw - 24px);overflow-x:auto;
  border-radius:20px;background:var(--glass);border:1px solid var(--line);box-shadow:var(--sh);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);scrollbar-width:none}
#dock::-webkit-scrollbar{display:none}
.dk{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:66px;height:64px;border-radius:14px;flex:none;
  transition:background .15s,transform .18s cubic-bezier(.2,.9,.3,1.3)}
.dk:hover{background:rgba(255,255,255,.08);transform:translateY(-5px)}
.dk.open{background:rgba(230,198,126,.12)}
.dk.open::after{content:"";position:absolute;bottom:3px;width:16px;height:2px;border-radius:2px;background:var(--gold)}
.dk-ic{font-size:23px;line-height:1}
.dk b{font-size:9.5px;letter-spacing:.09em;font-weight:600;color:var(--mut)}
.dk:hover b{color:var(--ink)}
.dk-dot{position:absolute;top:7px;right:9px;width:7px;height:7px}
.dk kbd{position:absolute;top:5px;left:8px;font:9px var(--m);color:var(--dim)}
.dk-sep{width:1px;margin:10px 5px;background:var(--line2);flex:none}
.dk[data-ext]::before{content:"↗";position:absolute;bottom:20px;right:9px;font-size:10px;color:var(--dim)}

/* ── παράθυρα */
#desk{position:fixed;inset:0;z-index:10;pointer-events:none}
.win{position:absolute;display:flex;flex-direction:column;pointer-events:auto;border-radius:var(--r);overflow:hidden;background:#05070e;
  border:1px solid var(--line);box-shadow:var(--sh);opacity:0;transform:scale(.965) translateY(10px);transition:opacity .18s,transform .22s cubic-bezier(.2,.8,.2,1),border-color .15s}
.win.in{opacity:1;transform:none}
.win.on{border-color:rgba(230,198,126,.42)}
.win-h{display:flex;align-items:center;gap:9px;height:38px;padding:0 6px 0 12px;background:linear-gradient(180deg,#121829,#0a0e19);border-bottom:1px solid var(--line);cursor:grab;flex:none;user-select:none;-webkit-user-select:none;touch-action:none}
.win-h:active{cursor:grabbing}
.win-ic{font-size:15px}
.win-t{font-size:12px;letter-spacing:.11em;font-weight:650}
.win-s{font-size:11px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.win-b{margin-left:auto;display:flex;gap:2px}
.win-b button{width:30px;height:28px;border-radius:7px;color:var(--mut);font-size:13px}
.win-b button:hover{background:rgba(255,255,255,.1);color:var(--ink)}
.win-b button[data-a=close]:hover{background:var(--red);color:#fff}
.win-body{position:relative;flex:1;min-height:0;background:#05070e;container-type:inline-size}
.win-body iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#05070e}
#desk.dragging iframe{pointer-events:none}
.win-load,.win-sus{position:absolute;inset:0;display:grid;place-content:center;gap:14px;text-align:center;color:var(--mut);background:#05070e;padding:24px}
.win-load{animation:breathe 1.6s ease-in-out infinite;pointer-events:none}
.win-sus p{max-width:380px;margin:0}
.win-sus button,.tv-note button{padding:9px 16px;border-radius:9px;border:1px solid var(--gold);color:var(--gold);justify-self:center}
.win-sus button:hover,.tv-note button:hover{background:var(--gold);color:#10131c}
.win-rz{position:absolute;right:0;bottom:0;width:18px;height:18px;cursor:nwse-resize;touch-action:none;
  background:linear-gradient(135deg,transparent 50%,var(--line2) 50%,var(--line2) 58%,transparent 58%,transparent 70%,var(--line2) 70%,var(--line2) 78%,transparent 78%)}
.win[data-mode=max] .win-rz,.win[data-mode=left] .win-rz,.win[data-mode=right] .win-rz{display:none}

/* ── τηλεόραση */
.tv{position:absolute;inset:0;display:grid;grid-template-columns:268px 1fr;background:#05070e}
.tv-side{display:flex;flex-direction:column;gap:8px;padding:12px;border-right:1px solid var(--line);min-height:0;background:#080b14}
.tv-q{height:34px;padding:0 11px;border-radius:9px;border:1px solid var(--line);background:#0d111d}
.tv-only{height:30px;border-radius:8px;border:1px solid var(--line);font-size:12px;color:var(--mut)}
.tv-only[aria-pressed=true]{border-color:var(--grn);color:var(--grn)}
.tv-age{margin:0;font-size:11px;color:var(--dim)}
.tv-age[data-old=true]{color:var(--amb)}
.tv-list{flex:1;overflow:auto;min-height:0;margin:0 -6px;padding:0 6px}
.tv-list h4{margin:14px 6px 5px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);font-weight:650}
.tv-list h4:first-child{margin-top:2px}
.ch{display:flex;align-items:center;gap:9px;width:100%;padding:7px 8px;border-radius:8px;text-align:left}
.ch:hover{background:rgba(255,255,255,.06)}
.ch.on{background:rgba(230,198,126,.13)}
.ch b{font-size:12.5px;font-weight:550;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ch small{font-size:10.5px;color:var(--dim)}
.ch[data-s=off] b{color:var(--mut)}
.tv-chip{margin:0 6px 6px;padding:4px 10px;border-radius:999px;border:1px solid var(--gold);color:var(--gold);font-size:11.5px}
.tv-empty{color:var(--dim);padding:8px}
.tv-main{display:flex;flex-direction:column;min-width:0;min-height:0}
.tv-screen{position:relative;flex:1;min-height:0;background:#000}
.tv-host,.tv-host iframe,.tv-host>div{position:absolute;inset:0;width:100%;height:100%;border:0}
.tv-note{position:absolute;inset:0;display:grid;place-content:center;gap:12px;text-align:center;padding:24px;color:var(--mut);background:rgba(3,5,10,.88)}
.tv-note p{margin:0;max-width:440px}
.tv-now{display:flex;align-items:baseline;gap:10px;padding:9px 14px 0;min-height:30px;white-space:nowrap;overflow:hidden}
.tv-now b{font-size:13px;letter-spacing:.06em}
.tv-now span{font-size:11.5px;color:var(--mut)}
.tv-now em{font-style:normal;font-size:11.5px;color:var(--dim);overflow:hidden;text-overflow:ellipsis}
.tv-subs{--fs:1;flex:none;box-sizing:border-box;height:calc(24px + 96px*var(--fs));overflow:hidden;padding:10px 16px 6px;border-top:1px solid var(--line);margin-top:8px;background:linear-gradient(180deg,#0a0e19,#06080f)}
.tv-subs:has(.sub-src:not([hidden])){height:calc(44px + 96px*var(--fs))}
.sub-src{margin:0 0 4px;height:1.4em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:calc(12px*var(--fs));color:var(--dim)}
.sub-prev{margin:0 0 3px;font-size:calc(14px*var(--fs));line-height:1.35;color:#7f8aa3;height:1.35em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.sub-el{margin:0;font-size:calc(20px*var(--fs));line-height:1.35;font-weight:550;height:2.7em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-wrap:balance;color:#fff}
.sub-el.soft{color:#b9c3d8}
mark{background:rgba(230,198,126,.22);color:var(--gold);padding:0 3px;border-radius:4px;font-weight:650}
.tv-bar{display:flex;align-items:center;gap:6px;padding:9px 14px;flex-wrap:wrap}
.tv-cc{height:34px;padding:0 16px;border-radius:9px;border:1px solid var(--gold);color:var(--gold);font-size:12px;letter-spacing:.12em;font-weight:700}
.tv-cc[aria-pressed=true]{background:var(--gold);color:#10131c;box-shadow:0 0 22px rgba(230,198,126,.45)}
.tv-cc:disabled,.tv-cc[data-miss]{opacity:.45}
.tv-cc:disabled{cursor:not-allowed}
.tv-mini{height:30px;padding:0 10px;border-radius:8px;border:1px solid var(--line);font-size:12px;color:var(--mut)}
.tv-mini:hover{border-color:var(--line2);color:var(--ink)}
.tv-mini[aria-pressed=true]{color:var(--ink);border-color:var(--line2)}
.tv-stat{margin-left:6px;font-size:11.5px;color:var(--dim)}
.tv-stat[data-k=on]{color:var(--grn)}.tv-stat[data-k=ready]{color:var(--gold)}.tv-stat[data-k=wait]{color:var(--amb)}.tv-stat[data-k=fail]{color:var(--red)}
.tv-log{max-height:32%;overflow:auto;border-top:1px solid var(--line);padding:6px 14px 10px}
.log-row{display:grid;grid-template-columns:64px 1fr;gap:2px 10px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.log-row time{font:11px var(--m);color:var(--dim);grid-row:span 2}
.log-row p{margin:0;font-size:13px}
.log-row small{color:var(--dim);font-size:11px}
.log-cut{margin:8px 0 2px;padding:3px 0;font:11px var(--m);color:var(--gold2);border-top:1px dashed var(--line2)}
.log-row.key{border-left:2px solid var(--gold);padding-left:8px;margin-left:-10px}

/* ── αναζήτηση, ειδοποιήσεις, φύλλο */
#pal,#sheet{position:fixed;inset:0;z-index:300;display:grid;place-items:start center;padding-top:14vh;background:rgba(1,2,8,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pal-in,.sheet-in{width:min(620px,calc(100vw - 32px));border-radius:16px;background:var(--glass2);border:1px solid var(--line2);box-shadow:var(--sh);overflow:hidden}
#palQ{width:100%;height:54px;padding:0 18px;border:0;border-bottom:1px solid var(--line);background:transparent;font-size:16px;outline:0}
#palR{max-height:46vh;overflow:auto;padding:6px}
.pr{display:flex;align-items:center;gap:11px;width:100%;padding:9px 12px;border-radius:9px;text-align:left}
.pr[aria-selected=true]{background:rgba(230,198,126,.14)}
.pr span{font-size:17px;width:24px;text-align:center}
.pr b{font-size:13.5px;font-weight:550}
.pr small{margin-left:auto;color:var(--dim);font-size:11.5px}
.pal-h{margin:0;padding:8px 16px;border-top:1px solid var(--line);font-size:11px;color:var(--dim)}
.sheet-in{position:relative;padding:22px 24px;max-height:72vh;overflow:auto}
#sheetX{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:8px;color:var(--mut)}
#sheetX:hover{background:rgba(255,255,255,.1)}
.sheet-in h3{margin:0 0 12px;font-size:13px;letter-spacing:.14em;color:var(--gold)}
.sheet-in table{width:100%;border-collapse:collapse;font-size:12.5px}
.sheet-in td{padding:6px 0;border-bottom:1px solid var(--line);vertical-align:top}
.sheet-in td:first-child{color:var(--mut);padding-right:16px;white-space:nowrap}
.sheet-in kbd{font:11px var(--m);padding:2px 6px;border-radius:5px;border:1px solid var(--line2);color:var(--ink)}
.sheet-in p{color:var(--mut);font-size:12px}

#toasts{position:fixed;z-index:400;left:50%;bottom:112px;transform:translateX(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.toast{padding:10px 16px;border-radius:11px;background:var(--glass2);border:1px solid var(--line2);box-shadow:var(--sh);font-size:12.5px;max-width:min(560px,90vw);text-align:center;animation:rise .25s ease-out}

#veil{position:fixed;inset:0;z-index:500;display:grid;place-items:center;background:var(--bg);transition:opacity 1.1s ease .15s;text-align:center;color:var(--mut)}
#veil.gone{opacity:0;visibility:hidden;pointer-events:none;transition:opacity 1.1s ease .15s,visibility 0s 1.3s}
#veil.gone .logo{animation:none}
#veil p{letter-spacing:.2em;font-size:11px;text-transform:uppercase}

/* ── ειδοποιήσεις */
.bell{position:relative;padding:0 11px;gap:5px}
.bell[data-s=stale],.bell[data-s=unknown]{color:var(--amb)}
.bell-n{font:600 11px var(--m);color:var(--gold)}
.bell-n:empty{display:none}
.al-panel{position:fixed;z-index:160;top:54px;width:min(430px,calc(100vw - 20px));max-height:calc(100vh - 170px);overflow:auto;padding:16px 16px 12px;border-radius:14px;
  background:var(--glass2);border:1px solid var(--line2);box-shadow:var(--sh);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.al-panel h3{margin:0 0 10px;font-size:12px;letter-spacing:.16em;color:var(--gold)}
.al-panel h4{margin:14px 0 6px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);font-weight:650}
.al-panel section:first-of-type h4{margin-top:0}
.al-row{display:grid;grid-template-columns:52px 1fr auto;align-items:baseline;gap:10px;width:100%;padding:7px 8px;border-radius:8px;text-align:left;border-left:2px solid transparent}
.al-row:hover{background:rgba(255,255,255,.06)}
.al-row[data-tier=T1]{border-left-color:var(--red)}
.al-row[data-tier=T2]{border-left-color:var(--amb)}
.al-row[data-tier=live]{border-left-color:var(--grn)}
.al-row[data-tier=live] time{color:var(--grn)}
.al-row time{font:12px var(--m);color:var(--ink)}
.al-row b{font-size:12.5px;font-weight:550;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.al-row small{font-size:11px;color:var(--mut);white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}
.al-mut,.al-src{margin:4px 0;font-size:11.5px;color:var(--dim)}
.al-warn{margin:4px 0;padding:8px 10px;border-radius:8px;font-size:12px;color:var(--amb);background:rgba(255,182,72,.08);border:1px solid rgba(255,182,72,.25)}
.al-opt{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.al-tog{height:28px;padding:0 11px;border-radius:999px;border:1px solid var(--line);font-size:11.5px;color:var(--dim)}
.al-tog[aria-pressed=true]{border-color:var(--gold);color:var(--gold)}
.al-src{margin-top:10px}
#alStack{position:fixed;z-index:450;top:64px;right:14px;display:flex;flex-direction:column;gap:10px;width:min(400px,calc(100vw - 28px));pointer-events:none}
.al-card{pointer-events:auto;display:grid;grid-template-columns:34px 1fr;gap:4px 10px;padding:13px 14px;border-radius:14px;background:rgba(12,16,28,.94);
  border:1px solid rgba(230,198,126,.5);box-shadow:0 18px 60px rgba(0,0,0,.7),0 0 0 1px rgba(230,198,126,.12),0 0 46px rgba(230,198,126,.16);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:alIn .35s cubic-bezier(.2,.9,.2,1)}
.al-card[data-k=live]{border-color:rgba(255,93,108,.6);box-shadow:0 18px 60px rgba(0,0,0,.7),0 0 46px rgba(255,93,108,.2)}
.al-ic{font-size:22px;line-height:1.2;grid-row:span 2}
.al-tx b{display:block;font-size:13.5px;line-height:1.3}
.al-tx p{margin:3px 0 0;font-size:12px;color:var(--mut);overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.al-bt{display:flex;gap:6px;align-items:center;margin-top:6px}
.al-go{height:30px;padding:0 13px;border-radius:8px;background:var(--gold);color:#10131c;font-size:12px;font-weight:650}
.al-go:hover{filter:brightness(1.1)}
.al-x{width:30px;height:30px;border-radius:8px;color:var(--mut)}
.al-x:hover{background:rgba(255,255,255,.1);color:var(--ink)}
@keyframes alIn{from{opacity:0;transform:translateX(24px) scale(.97)}}
.tv-studio{height:32px;border-radius:9px;border:1px solid rgba(255,93,108,.45);color:#ff8c97;font-size:12px;flex:none}
.tv-studio:hover{background:rgba(255,93,108,.12)}
.tv-mini.ping{border-color:var(--gold);color:var(--gold);animation:breathe 1.2s ease-in-out 3}
[data-state=unknown] .st-dot{background:var(--gry)}

@keyframes breathe{50%{opacity:.45}}
@keyframes rise{from{opacity:0;transform:translateY(8px)}}
@media (max-width:1320px){.brand small{display:none}.clocks{gap:11px}}
@media (max-width:1120px){.clocks{display:none}}
@media (max-width:860px){#bCmd,#bAll,#bHome,#bMot{display:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ── ΣΤΟΥΝΤΙΟ */
.sd{position:absolute;inset:0;display:grid;grid-template-columns:minmax(300px,36%) 1fr;background:#05070e;min-height:0}
.sd-left{display:flex;flex-direction:column;gap:10px;padding:16px;border-right:1px solid var(--line);background:#080b14;overflow:auto;min-height:0}
.sd-left>*{flex:none}                      /* τίποτα δεν «ζουλιέται» όταν η στήλη γεμίσει· η στήλη κυλάει */
.sd-left h3{margin:0;font-size:12px;letter-spacing:.16em;color:var(--gold)}
.sd-left h4{margin:0 0 4px;font-size:11px;letter-spacing:.1em;color:var(--amb);font-weight:650}
.sd-mut{margin:0;font-size:12px;line-height:1.45;color:var(--mut)}
.sd-row{display:grid;grid-template-columns:1fr 44px;gap:8px}
.sd-mic{height:40px;border-radius:10px;border:1px solid var(--line2);font-size:18px}
.sd-mic:hover:not(:disabled){border-color:var(--gold)}
.sd-mic[aria-pressed=true]{border-color:var(--red);background:rgba(255,93,108,.16);animation:breathe 1.1s ease-in-out infinite}
.sd-mic:disabled{opacity:.4;cursor:not-allowed}
.sd-voice{margin:-4px 0 0;font-size:11.5px;color:var(--mut)}
.sd-voice[data-k=on]{color:var(--grn)}.sd-voice[data-k=wait]{color:var(--amb)}.sd-voice[data-k=fail]{color:var(--red)}
.sd-conn{display:grid;gap:7px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.02)}
.sd-conn p[data-k=on]{color:var(--grn)}.sd-conn p[data-k=fail]{color:#ffb3ba}
.sd-link{height:34px;border-radius:9px;border:1px solid var(--gold);color:var(--gold);font-size:12.5px;font-weight:650}
.sd-link:hover:not(:disabled){background:var(--gold);color:#10131c}
.sd-link:disabled{opacity:.5;cursor:progress}
.sd-test{font-size:12px;color:var(--mut);display:flex;align-items:center;gap:6px;cursor:pointer}
.sd-made{padding:12px 14px;border-radius:12px;border:1px solid rgba(86,211,154,.4);background:rgba(86,211,154,.08)}
.sd-made b{color:var(--grn);font-size:13.5px}.sd-made p{margin:4px 0 0;font-size:12.5px;color:var(--mut)}
.sd-topic:disabled{opacity:.55}
.sd-topic{height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--line2);background:#0d111d;font-size:14px}
.sd-topic:focus{outline:2px solid var(--gold);outline-offset:1px}
.sd-make{height:40px;border-radius:10px;border:1px solid var(--gold);color:var(--gold);font-weight:700;letter-spacing:.06em}
.sd-make:hover:not(:disabled){background:var(--gold);color:#10131c}
.sd-make:disabled{opacity:.55;cursor:progress}
.sd-sum{margin:0;padding:7px 10px;border-radius:9px;font-size:12.5px;font-weight:600;background:rgba(255,255,255,.04)}
.sd-sum[data-k=yes]{color:var(--grn)}.sd-sum[data-k=warn]{color:#ffd89a}.sd-sum[data-k=no]{color:#ffb3ba;background:rgba(255,93,108,.12)}
.sd-checks{list-style:none;margin:2px 0;padding:0;display:grid;gap:5px}
.sd-checks li{position:relative;padding:6px 8px 6px 26px;border-radius:8px;font-size:12px;line-height:1.4;background:rgba(255,255,255,.03);color:var(--ink)}
.sd-checks li::before{position:absolute;left:8px;top:6px;font-weight:700}
.sd-checks li[data-ok=yes]::before{content:"✓";color:var(--grn)}
.sd-checks li[data-ok=warn]{color:#ffd89a}.sd-checks li[data-ok=warn]::before{content:"!";color:var(--amb)}
.sd-checks li[data-ok=no]{color:#ffb3ba;background:rgba(255,93,108,.1)}.sd-checks li[data-ok=no]::before{content:"✕";color:var(--red)}
.sd-live{height:58px;border-radius:14px;border:0;font-size:17px;font-weight:800;letter-spacing:.12em;color:#fff;background:linear-gradient(180deg,#ff4b5c,#c9182b);box-shadow:0 0 0 1px rgba(255,255,255,.12) inset,0 10px 34px rgba(255,60,80,.38)}
.sd-live:hover:not(:disabled){filter:brightness(1.1)}
.sd-live:disabled{background:#2a2f3d;color:#737c92;box-shadow:none;cursor:not-allowed}
.sd-promo{height:40px;border-radius:10px;border:1px solid var(--line2);color:var(--ink);font-weight:650}
.sd-promo:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}
.sd-promo:disabled{opacity:.4;cursor:not-allowed}
.sd-send{margin-left:8px}
.sd-send:disabled{opacity:.55;border-style:dashed;cursor:default}
.sd-bh b{margin-right:auto}
.sd-after{margin-top:auto;padding:10px 12px;border-radius:10px;border:1px dashed var(--line2)}
.sd-after p{margin:0 0 4px;font-size:11.5px;line-height:1.45;color:var(--mut)}
.sd-right{display:flex;flex-direction:column;min-width:0;min-height:0}
.sd-tabs{display:flex;gap:4px;padding:10px 14px 0;flex-wrap:wrap}
.sd-tab{height:32px;padding:0 13px;border-radius:9px 9px 0 0;border:1px solid var(--line);border-bottom:0;font-size:12px;color:var(--mut)}
.sd-tab[aria-pressed=true]{color:var(--gold);border-color:var(--gold);background:rgba(230,198,126,.08)}
.sd-pane{flex:1;overflow:auto;min-height:0;padding:14px;border-top:1px solid var(--line);display:grid;gap:12px;align-content:start}
.sd-empty{color:var(--dim);margin:0}
.sd-block{border:1px solid var(--line);border-radius:12px;background:#0a0e19;overflow:hidden}
.sd-bh{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold2)}
.sd-copy{height:26px;padding:0 11px;border-radius:7px;border:1px solid var(--line2);font-size:11.5px;color:var(--ink);text-transform:none;letter-spacing:0}
.sd-copy:hover{border-color:var(--gold);color:var(--gold)}
.sd-tx{margin:0;padding:12px;font:inherit;font-size:13.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text}
.sd-ag{display:grid;grid-template-columns:26px 1fr;gap:2px 10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#0a0e19}
.sd-ag i{grid-row:1/3;font-style:normal;font:700 13px var(--m);color:var(--gold)}
.sd-ag b{font-size:13.5px}
.sd-ag pre{margin:0;font:inherit;font-size:12.5px;line-height:1.5;color:var(--mut);white-space:pre-wrap;overflow-wrap:anywhere}
.sd-present{height:36px;border-radius:10px;border:1px solid var(--gold);color:var(--gold);font-weight:650;justify-self:start;padding:0 16px}
.sd-present:hover{background:var(--gold);color:#10131c}
.sd-thumb{text-align:left;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:radial-gradient(120% 140% at 0 0,#121a30,#070a13 70%);display:grid;gap:4px}
.sd-thumb:hover{border-color:var(--gold)}
.sd-thumb small{font-size:10px;letter-spacing:.16em;color:var(--gold2)}
.sd-thumb b{font-size:16px}
.sd-thumb ul{margin:4px 0 0;padding-left:18px;font-size:12px;line-height:1.5;color:var(--mut)}
.sd-thumb.dense ul{columns:2}
.sd-show{position:fixed;inset:0;z-index:400;display:grid;place-items:center;background:radial-gradient(110% 120% at 20% 0,#14203f 0,#060912 55%,#020308 100%);outline:0;cursor:pointer}
.sd-slide{width:min(88vw,156vh);aspect-ratio:16/9;padding:6.5% 7%;box-sizing:border-box;display:flex;flex-direction:column;border-radius:22px;border:1px solid rgba(230,198,126,.28);background:linear-gradient(160deg,rgba(18,26,48,.92),rgba(6,9,18,.96));box-shadow:0 40px 120px rgba(0,0,0,.6),0 0 90px rgba(230,198,126,.08) inset}
.sd-slide small{font-size:clamp(11px,1.5vw,20px);letter-spacing:.22em;color:var(--gold)}
.sd-slide h1{margin:.35em 0 .5em;font-size:clamp(26px,4.6vw,68px);line-height:1.08;text-wrap:balance}
.sd-slide ul{margin:0;padding-left:1.1em;flex:1;min-height:0;overflow:hidden;font-size:clamp(14px,2.15vw,32px);line-height:1.5}
.sd-slide li::marker{color:var(--gold)}
.sd-slide.dense ul{columns:2;font-size:clamp(12px,1.5vw,22px)}
.sd-slide footer{margin-top:1em;font-size:clamp(10px,1.1vw,15px);color:var(--mut)}
.sd-nav{position:fixed;right:22px;bottom:16px;font:12px var(--m);color:var(--dim);pointer-events:none}


.pal-row{display:grid;grid-template-columns:1fr 46px;gap:8px;align-items:center}
#palMic{height:42px;border-radius:10px;border:1px solid var(--line2);font-size:18px}
#palMic:hover:not(:disabled){border-color:var(--gold)}
#palMic[aria-pressed=true]{border-color:var(--red);background:rgba(255,93,108,.16);animation:breathe 1.1s ease-in-out infinite}
#palMic:disabled{opacity:.4;cursor:not-allowed}

.pal-row{border-bottom:1px solid var(--line);padding-right:8px}
.pal-row #palQ{border-bottom:0}

/* ── ΣΤΕΝΟ ΠΑΡΑΘΥΡΟ (όχι στενή ΟΘΟΝΗ): η διάταξη ακολουθεί το πλάτος του ίδιου του παραθύρου.
   27/9: τρία παράθυρα δίπλα-δίπλα σε φαρδιά οθόνη ⇒ το βίντεο έβγαινε 145px και οι καρτέλες του στούντιο η μία πάνω στην άλλη. */
@container (max-width:720px){
  .tv{grid-template-columns:1fr;grid-template-rows:minmax(118px,28%) 1fr}
  .tv-side{border-right:0;border-bottom:1px solid var(--line);padding:8px}
  .tv-side .tv-age{display:none}
  .sd{display:block;overflow:auto}                                  /* το ένα κάτω από το άλλο· κυλάει ΟΛΟ το παράθυρο */
  .sd-left{border-right:0;border-bottom:1px solid var(--line);overflow:visible;min-height:auto}
  .sd-right{min-height:480px;height:auto}
  .sd-pane{overflow:visible}
  .sd-after{margin-top:0}
}
