@import url('../vendor/fonts/outfit.css');
:root{--bg:#06161F;--bg2:#0A2230;--panel:rgba(14,40,56,.78);--edge:rgba(125,194,66,.18);--green:#7DC242;--lime:#B8E05A;--blue:#29A8E0;--blue2:#0E6BA8;
  --ink:#EAF4EE;--muted:#86A3B3;--amber:#F4B53F;--red:#FF6A55;--violet:#9C82F2;--u:min(1vw,1.78vh)}
*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:Outfit,system-ui,sans-serif}
body{background:radial-gradient(70vw 60vh at 0% 0%,rgba(125,194,66,.16),transparent 60%),radial-gradient(60vw 60vh at 100% 100%,rgba(41,168,224,.18),transparent 60%),var(--bg)}
.hex{position:fixed;inset:0;opacity:.07;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='98' viewBox='0 0 56 98'%3E%3Cpath d='M28 66L0 50V16L28 0l28 16v34L28 66zm0 32L0 82V66l28 16 28-16v16L28 98z' fill='none' stroke='%23B8E05A' stroke-width='1'/%3E%3C/svg%3E")}
.tv{position:relative;height:100vh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;gap:calc(var(--u)*.8);padding:calc(var(--u)*1) calc(var(--u)*1.2) 0}
.tv-h{display:flex;justify-content:space-between;align-items:center}
.brand{display:flex;align-items:center;gap:calc(var(--u)*1.2)}
.logo{background:#fff;border-radius:calc(var(--u)*1);padding:calc(var(--u)*.5) calc(var(--u)*.9);display:flex;box-shadow:0 0 0 3px rgba(125,194,66,.25),0 10px 30px rgba(0,0,0,.35)}
.logo img{height:calc(var(--u)*3.6)}
.tv-h h1{margin:0;font-size:calc(var(--u)*2.4);font-weight:800;letter-spacing:-.01em;background:linear-gradient(90deg,#fff,#B8E05A);-webkit-background-clip:text;background-clip:text;color:transparent}
.tv-h p{margin:0;color:var(--muted);font-size:calc(var(--u)*1.05)}
.hright{display:flex;align-items:center;gap:calc(var(--u)*1.4)}
.live{display:flex;align-items:center;gap:8px;font-weight:800;letter-spacing:.2em;font-size:calc(var(--u)*1);color:var(--green)}
.live i{width:calc(var(--u)*1);height:calc(var(--u)*1);border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(125,194,66,.7);animation:ping 1.6s infinite}
.live.stale{color:var(--amber)} .live.stale i{background:var(--amber);animation:none}
@keyframes ping{to{box-shadow:0 0 0 calc(var(--u)*1.4) rgba(125,194,66,0)}}
.clock{text-align:right;line-height:1} .clock b{font-size:calc(var(--u)*2.6);font-weight:700;font-variant-numeric:tabular-nums;display:block}
.clock span{color:var(--muted);font-size:calc(var(--u)*.95)}
.ctl{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:#fff;border-radius:10px;width:calc(var(--u)*3);height:calc(var(--u)*3);font-size:calc(var(--u)*1.3);cursor:pointer}
body.kiosk .ctl{opacity:0} body.kiosk .ctl:hover{opacity:1} body.kiosk{cursor:none}

/* KPIs */
.kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:calc(var(--u)*.8)}
.kpi{position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--edge);border-radius:calc(var(--u)*1.2);padding:calc(var(--u)*.9) calc(var(--u)*1.1);backdrop-filter:blur(6px)}
.kpi .l{font-size:calc(var(--u)*.85);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:600}
.kpi .v{font-size:calc(var(--u)*3);font-weight:800;line-height:1.05;margin-top:4px;font-variant-numeric:tabular-nums}
.kpi .v small{font-size:.42em;font-weight:600;color:var(--muted);margin-left:4px}
.kpi .s{font-size:calc(var(--u)*.9);color:var(--muted);margin-top:2px}
.kpi .s .up{color:var(--green);font-weight:700} .kpi .s .dn{color:var(--red);font-weight:700}
.kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--c,var(--green))}
.kpi::after{content:"";position:absolute;right:-20%;top:-60%;width:60%;padding-top:60%;border-radius:50%;background:var(--c,var(--green));opacity:.09}
.kpi.flash{animation:kflash 1.2s}
@keyframes kflash{0%{box-shadow:0 0 0 0 rgba(125,194,66,.9)}100%{box-shadow:0 0 0 calc(var(--u)*1.2) rgba(125,194,66,0)}}

.panel{background:var(--panel);border:1px solid var(--edge);border-radius:calc(var(--u)*1.2);padding:calc(var(--u)*1) calc(var(--u)*1.1);display:flex;flex-direction:column;min-height:0;overflow:hidden;backdrop-filter:blur(6px)}
.ph{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:calc(var(--u)*.6)}
.ph h2{margin:0;font-size:calc(var(--u)*1.3);font-weight:700}
.tag{font-size:calc(var(--u)*.85);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}

/* Cylinders */
.cyls{flex:1;display:flex;align-items:flex-end;justify-content:space-around;gap:calc(var(--u)*.6);min-height:0}
.cyl{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;min-width:0}
.cyl .stage{position:relative;width:100%;display:flex;justify-content:center;align-items:flex-end;flex:1;min-height:0}
.cyl .fig{position:relative;height:var(--h);aspect-ratio:var(--ar)}
.cyl .fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.cyl .ghost{filter:grayscale(1) brightness(.35) contrast(.9);opacity:.75}
.cyl .full{clip-path:inset(var(--cut,100%) 0 0 0);transition:clip-path 1.6s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 0 calc(var(--u)*1) rgba(125,194,66,.45))}
.cyl .lvl{position:absolute;left:-6%;right:-6%;height:2px;top:var(--cut,100%);background:linear-gradient(90deg,transparent,#fff,transparent);box-shadow:0 0 12px #B8E05A;transition:top 1.6s cubic-bezier(.2,.8,.2,1);opacity:.85}
.cyl .lvl::after{content:attr(data-p);position:absolute;right:0;top:-1.6em;font-size:calc(var(--u)*.8);font-weight:700;color:var(--lime)}
.cyl .qty{font-size:calc(var(--u)*2.6);font-weight:800;margin-top:calc(var(--u)*.4);font-variant-numeric:tabular-nums;line-height:1}
.cyl .sz{display:inline-block;background:var(--blue);color:#fff;border-radius:8px;padding:2px calc(var(--u)*.8);font-weight:800;font-size:calc(var(--u)*1.05);margin-top:4px}
.cyl .mini{white-space:nowrap;font-size:calc(var(--u)*.82);color:var(--muted);margin-top:4px;text-align:center;line-height:1.35}
.cyl .mini b{color:var(--ink)}

/* Tank */
.tank-panel{gap:calc(var(--u)*.6)}
.tank-wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:calc(var(--u)*1);align-items:center;flex:1 1 0;min-height:0;overflow:hidden}
#tank{display:block;width:100%;height:100%;min-height:0}
.tank-side{display:flex;flex-direction:column;justify-content:center;min-width:0;line-height:1.25}
.tank-side b{font-size:calc(var(--u)*4.2);font-weight:900;line-height:1;font-variant-numeric:tabular-nums;background:linear-gradient(90deg,#fff,#B8E05A);-webkit-background-clip:text;background-clip:text;color:transparent}
.tank-side b small{font-size:.45em}
.tank-side span{font-size:calc(var(--u)*1);color:var(--muted);margin-top:calc(var(--u)*.4)} .tank-side span i{font-style:normal;color:var(--ink);font-weight:700}
.tank-side em{font-style:normal;font-weight:700;font-size:calc(var(--u)*.95);margin-top:calc(var(--u)*.4)}
.balance{display:grid;gap:calc(var(--u)*.45)}
.bal{display:grid;grid-template-columns:calc(var(--u)*12) minmax(0,1fr) calc(var(--u)*5);align-items:center;gap:calc(var(--u)*.7);font-size:calc(var(--u)*.95)}
.bal .tr{height:calc(var(--u)*1.1);background:rgba(255,255,255,.06);border-radius:99px;overflow:hidden}
.bal .tr i{display:block;height:100%;border-radius:99px;width:0;transition:width 1.4s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}
.bal .tr i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:shine 2.4s infinite}
@keyframes shine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.bal b{text-align:right;font-variant-numeric:tabular-nums}


/* Map */
.map-panel{padding-bottom:calc(var(--u)*.8)}
#map{flex:1;border-radius:calc(var(--u)*.8);background:#0A2230;min-height:0}
.leaflet-container{font-family:Outfit,sans-serif}
.rg-dot{position:relative}
.rg-dot i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(184,224,90,.95),rgba(125,194,66,.55) 60%,rgba(125,194,66,.15));box-shadow:0 0 18px rgba(125,194,66,.7)}
.rg-dot i::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(184,224,90,.7);animation:ring 2.4s infinite}
.rg-dot.hot i{background:radial-gradient(circle,rgba(41,168,224,1),rgba(41,168,224,.55) 60%,rgba(41,168,224,.15));box-shadow:0 0 22px rgba(41,168,224,.9)}
@keyframes ring{from{transform:scale(.7);opacity:1}to{transform:scale(1.8);opacity:0}}
.leaflet-tooltip.rg-tip{background:rgba(6,22,31,.85);border:1px solid rgba(125,194,66,.4);color:#fff;font-weight:600;font-size:calc(var(--u)*.85);box-shadow:none;padding:2px 6px}
.leaflet-tooltip.rg-tip::before{display:none}

/* Ticker */
.ticker{display:flex;align-items:stretch;height:calc(var(--u)*3);margin:0 calc(var(--u)*-1.2);background:linear-gradient(90deg,#5FA82A,#7DC242);color:#06161F;font-weight:700}
.tk-l{background:#06161F;color:var(--lime);display:flex;align-items:center;padding:0 calc(var(--u)*1.4);letter-spacing:.2em;font-size:calc(var(--u)*1);font-weight:900}
.tk{flex:1;min-width:0;overflow:hidden;display:flex;align-items:center;font-size:calc(var(--u)*1.15)}
#tk{white-space:nowrap;display:inline-block;padding-left:100%;animation:marq var(--dur,60s) linear infinite}
#tk span{margin-right:calc(var(--u)*4)} #tk span::before{content:"●";margin-right:calc(var(--u)*1);color:#fff}
@keyframes marq{to{transform:translateX(-100%)}}

/* ===== v3.1 layout: header · KPIs · 3 panels · 3 flow lanes · ticker ===== */
.tv{grid-template-rows:auto auto minmax(0,.82fr) minmax(0,1.18fr) auto}
.top3{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.1fr) minmax(0,.75fr);gap:calc(var(--u)*.8);min-height:0}
.tank-wrap{min-height:0}
.balance{gap:calc(var(--u)*.25)}
.bal{font-size:calc(var(--u)*.85);grid-template-columns:calc(var(--u)*11) minmax(0,1fr) calc(var(--u)*4.5)} .bal .tr{height:calc(var(--u)*.8)}
.tank-side b{font-size:calc(var(--u)*3.4)}
.sph-mini{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--u)*.3) calc(var(--u)*.9);font-size:calc(var(--u)*.82);color:var(--muted);border-top:1px solid rgba(255,255,255,.07);padding-top:calc(var(--u)*.4)}
.sph-mini:empty{display:none}
.sph-mini .sl{text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.sph-mini .sg{display:inline-flex;align-items:center;gap:5px;color:var(--ink)}
.sph-mini .sg i{width:calc(var(--u)*1.2);height:calc(var(--u)*1.2);border-radius:50%;border:2px solid var(--c);background:linear-gradient(to top,var(--c) var(--p),transparent var(--p))}
.sph-mini .st{margin-left:auto} .sph-mini .st b{color:var(--ink)}
.dark-tiles{filter:invert(1) hue-rotate(180deg) brightness(.82) saturate(.55) contrast(.95)}
.leaflet-control-attribution{background:rgba(6,22,31,.6)!important;color:#567!important;font-size:9px!important} .leaflet-control-attribution a{color:#789!important}

/* header extras */
.lastord{font-size:calc(var(--u)*1);color:var(--muted)} .lastord b{color:var(--ink)}
.overdue{background:#5A1E17;color:#FF8B7A;font-weight:800;border-radius:99px;padding:calc(var(--u)*.3) calc(var(--u)*1);font-size:calc(var(--u)*1.05);animation:pulseR 1.6s infinite}
.overdue[hidden]{display:none}
.ctl.off{opacity:.45}
@keyframes pulseR{50%{box-shadow:0 0 0 calc(var(--u)*.6) rgba(255,106,85,0);background:#7A2418}0%{box-shadow:0 0 0 0 rgba(255,106,85,.6)}}

/* flow lanes */
.flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(var(--u)*.8);min-height:0;position:relative}
.lane{position:relative;display:flex;flex-direction:column;min-height:0;background:var(--panel);border:1px solid var(--edge);border-top:4px solid var(--lc);border-radius:calc(var(--u)*1.2);padding:calc(var(--u)*.8) calc(var(--u)*.9);backdrop-filter:blur(6px)}
.lane:not(:last-child)::after{content:"➜";position:absolute;right:calc(var(--u)*-1.25);top:calc(var(--u)*1.6);z-index:2;font-size:calc(var(--u)*1.5);color:var(--lc);text-shadow:0 0 10px var(--lc)}
.lane.haslate{border-color:rgba(255,106,85,.45);border-top-color:var(--lc)}
.lh{display:flex;align-items:center;gap:calc(var(--u)*.8)}
.lh .ln{flex:none;width:calc(var(--u)*2.4);height:calc(var(--u)*2.4);border-radius:50%;display:grid;place-items:center;background:var(--lc);color:#06161F;font-weight:900;font-size:calc(var(--u)*1.3)}
.lh>div{flex:1;min-width:0}
.lh h2{margin:0;font-size:calc(var(--u)*1.55);font-weight:800;line-height:1.1;color:var(--lc)}
.lh p{margin:0;font-size:calc(var(--u)*.9);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lh .lc{font-size:calc(var(--u)*3.4);font-weight:900;line-height:1;font-variant-numeric:tabular-nums;color:#fff}
.lt{display:flex;flex-wrap:wrap;gap:calc(var(--u)*.35);margin:calc(var(--u)*.5) 0;padding-bottom:calc(var(--u)*.5);border-bottom:1px dashed rgba(255,255,255,.1)}
.tc{display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,.06);border-radius:8px;padding:2px calc(var(--u)*.5);font-size:calc(var(--u)*.9);color:var(--muted)}
.tc img{height:calc(var(--u)*1.5)} .tc b{color:#fff;font-size:1.1em} .tc.empty{background:none}
.cards{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:calc(var(--u)*.4)}
.cd{flex:none;background:rgba(255,255,255,.045);border-left:4px solid var(--lc);border-radius:10px;padding:calc(var(--u)*.45) calc(var(--u)*.7)}
.cd .c1{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.cd .c1 b{font-size:calc(var(--u)*1.12);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cd .ag{flex:none;font-weight:800;font-variant-numeric:tabular-nums;font-size:calc(var(--u)*.95);color:var(--muted)}
.cd .c2{font-size:calc(var(--u)*.8);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cd .c3{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:3px}
.ch{display:inline-flex;align-items:center;gap:3px;background:rgba(41,168,224,.15);color:#BFE6F7;border-radius:6px;padding:1px 6px 1px 3px;font-weight:700;font-size:calc(var(--u)*.85)}
.ch img{height:calc(var(--u)*1.3)} .ch.nw{background:rgba(184,224,90,.18);color:var(--lime)} .ch.nw::after{content:"NEW";font-size:.7em;margin-left:2px}
.cd .kg{margin-left:auto;font-weight:800;font-variant-numeric:tabular-nums;font-size:calc(var(--u)*.95)}
.b{font-style:normal;font-weight:800;font-size:calc(var(--u)*.68);letter-spacing:.05em;border-radius:5px;padding:1px 5px;margin-left:4px;vertical-align:1px}
.b.wait{background:#4A3A10;color:#F4B53F}.b.ok{background:#0F3A52;color:#6CC6F0}.b.ready{background:#0E3F33;color:#4FD1A5}.b.road{background:#163246;color:#9FD8F2}
.b.out{background:#B8E05A;color:#06161F}.b.urg{background:#FF6A55;color:#fff;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:.35}}
.cd.late{border-left-color:var(--red);background:rgba(255,106,85,.12);animation:lateP 2s infinite}
.cd.late .ag{color:#FF8B7A}
@keyframes lateP{50%{background:rgba(255,106,85,.22)}}
.cd.fresh{animation:slidein .9s cubic-bezier(.2,.9,.3,1.2),freshG 2.4s 4}
@keyframes slidein{from{transform:translateX(30%);opacity:0}}
@keyframes freshG{50%{background:rgba(244,181,63,.28);box-shadow:0 0 18px rgba(244,181,63,.35)}}
.none{margin:auto;color:var(--muted);font-size:calc(var(--u)*1.05);opacity:.7}

/* NEW ORDER alarm – full screen flashing */
.alarm{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;cursor:pointer;animation:alFlash .5s steps(2) infinite;background:rgba(6,22,31,.86)}
.alarm[hidden]{display:none}
@keyframes alFlash{0%{background:rgba(125,194,66,.9)}100%{background:rgba(6,22,31,.92)}}
.alarm .ab{width:min(86vw,1400px);text-align:center;background:linear-gradient(140deg,#0B2433,#103A52);border:calc(var(--u)*.4) solid var(--lime);border-radius:calc(var(--u)*2.4);padding:calc(var(--u)*2.4) calc(var(--u)*3);box-shadow:0 0 0 calc(var(--u)*1) rgba(184,224,90,.25),0 40px 120px rgba(0,0,0,.7);animation:nbIn .6s cubic-bezier(.2,1.4,.3,1),abShake .5s .6s 3}
.alarm .ab.urg{border-color:var(--red);box-shadow:0 0 0 calc(var(--u)*1) rgba(255,106,85,.35),0 40px 120px rgba(0,0,0,.7)}
.alarm .at{font-size:calc(var(--u)*3.4);font-weight:900;letter-spacing:.14em;color:var(--lime)}
.alarm .at span{color:var(--red);animation:blink .6s steps(2) infinite}
.alarm .an{font-size:calc(var(--u)*5.6);font-weight:900;line-height:1.05;margin-top:calc(var(--u)*.8);color:#fff}
.alarm .ar{font-size:calc(var(--u)*2);color:#9FD8F2;margin-top:calc(var(--u)*.4)}
.alarm .ai{display:flex;justify-content:center;gap:calc(var(--u)*2.4);margin:calc(var(--u)*1.6) 0 calc(var(--u)*.6);flex-wrap:wrap}
.aic{display:flex;flex-direction:column;align-items:center;line-height:1}
.aic img{height:calc(var(--u)*10);filter:drop-shadow(0 10px 20px rgba(0,0,0,.5));animation:bob .9s ease-in-out infinite alternate}
.aic b{font-size:calc(var(--u)*4.6);font-weight:900;color:#fff;margin-top:calc(var(--u)*.4)}
.aic span{font-size:calc(var(--u)*1.4);color:var(--muted);font-weight:700}
.alarm .ad{font-size:calc(var(--u)*2.3);font-weight:800;color:var(--lime);margin-top:calc(var(--u)*.6)}
.alarm .bar{height:calc(var(--u)*.5);background:rgba(255,255,255,.1);border-radius:99px;margin-top:calc(var(--u)*1.4);overflow:hidden}
.alarm .bar i{display:block;height:100%;background:var(--lime);animation:barGo linear forwards}
@keyframes barGo{from{width:100%}to{width:0}}
@keyframes nbIn{from{transform:scale(.4);opacity:0}}
@keyframes abShake{25%{transform:translateX(-12px) rotate(-.6deg)}75%{transform:translateX(12px) rotate(.6deg)}}
@keyframes bob{to{transform:translateY(-10px)}}
body.alerting .tv{filter:blur(2px)}

/* toasts */
.toasts{position:fixed;right:calc(var(--u)*1.2);bottom:calc(var(--u)*4.2);z-index:900;display:flex;flex-direction:column;gap:calc(var(--u)*.6);width:calc(var(--u)*30)}
.toast{display:flex;gap:calc(var(--u)*.8);align-items:center;background:#0E2C3E;border:1px solid rgba(255,255,255,.12);border-left:6px solid var(--blue);border-radius:14px;padding:calc(var(--u)*.8) calc(var(--u)*1);box-shadow:0 20px 50px rgba(0,0,0,.5);animation:tIn .6s cubic-bezier(.2,1.3,.3,1);transition:opacity .8s,transform .8s}
.toast.pay{border-left-color:var(--amber)} .toast.ready{border-left-color:#4FD1A5}
.toast .ti{font-size:calc(var(--u)*2.2)} .toast b{display:block;font-size:calc(var(--u)*1.25)} .toast span{font-size:calc(var(--u)*1);color:var(--muted)}
.toast.out{opacity:0;transform:translateX(60px)}
@keyframes tIn{from{transform:translateX(120%)}}

/* sound unlock */
.unlock{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;background:rgba(6,22,31,.88);cursor:pointer;text-align:center}
.unlock[hidden]{display:none}
.unlock .big{font-size:calc(var(--u)*8);animation:bob .8s ease-in-out infinite alternate}
.unlock h2{font-size:calc(var(--u)*2.6);margin:calc(var(--u)*1) 0}
.unlock p{color:var(--muted);font-size:calc(var(--u)*1.2);max-width:70vw;margin:auto}
.unlock code{background:rgba(255,255,255,.08);padding:2px 8px;border-radius:6px;color:var(--lime)}

@media (max-width:1100px),(max-aspect-ratio:1/1){
  html,body{overflow:auto} .tv{height:auto;grid-template-rows:none} :root{--u:1.6vw}
  .kpis{grid-template-columns:repeat(3,1fr)} .top3,.flow{grid-template-columns:1fr}
  .panel{min-height:340px} #map{min-height:300px} .lane{min-height:300px} .lane::after{display:none}
}
@media (max-width:640px){ :root{--u:2.6vw} .kpis{grid-template-columns:repeat(2,1fr)} .tank-wrap{grid-template-columns:1fr} .hright .ctl,.lastord{display:none} }
/* fit tweaks */
.tv{grid-template-rows:auto auto minmax(0,1fr) minmax(0,1fr) auto}
.tank-wrap{min-height:calc(var(--u)*6.5)}
.tank-panel .ph{margin-bottom:calc(var(--u)*.3)}
.sph-mini{flex-wrap:nowrap;white-space:nowrap;overflow:hidden} .sph-mini .st{font-size:.95em}
.cd .c1 b{min-width:0}

/* fit to TV (overscan / browser bars) */
html,body{height:var(--vh,100vh)}
.tv{height:var(--vh,100vh);transform:scale(var(--fit,1));transform-origin:50% 50%}
.fitbox{position:fixed;right:calc(var(--u)*1.2);top:calc(var(--u)*6);z-index:1200;background:#0E2C3E;border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:calc(var(--u)*1) calc(var(--u)*1.2);width:calc(var(--u)*22);box-shadow:0 20px 50px rgba(0,0,0,.5);font-size:calc(var(--u)*1)}
.fitbox[hidden]{display:none}
.fitbox div{display:flex;align-items:center;justify-content:space-between;margin:calc(var(--u)*.6) 0}
.fitbox button{width:calc(var(--u)*3.4);height:calc(var(--u)*3.4);font-size:calc(var(--u)*2);border-radius:10px;border:0;background:var(--green);color:#06161F;font-weight:900;cursor:pointer}
.fitbox span{font-size:calc(var(--u)*2.2);font-weight:800} .fitbox small{color:var(--muted)}
