:root{--bg:#030806;--line:#1c3a2c;--txt:#cfe9da;--mut:#6f9483;--ac:#3dff9a;--ac2:#c9a227;--bad:#ff5c5c;--mono:"IBM Plex Mono",ui-monospace,monospace}
*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--txt);font-family:var(--mono);overflow:hidden}
.hud{position:fixed;inset:0;display:grid;grid-template-rows:auto 1fr auto;
 background:radial-gradient(ellipse at 50% 40%,rgba(61,255,154,.07),transparent 60%),repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px)}
.hud-top,.hud-bot{display:flex;align-items:center;gap:16px;padding:10px 18px;border-color:var(--line);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.hud-top{border-bottom:1px solid var(--line);justify-content:space-between}.hud-bot{border-top:1px solid var(--line);flex-wrap:wrap}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ac);margin-right:8px;box-shadow:0 0 10px var(--ac);animation:bl 1.6s infinite}
@keyframes bl{50%{opacity:.25}}
.hud-screen-name{color:var(--ac);font-weight:600}.hud-meta{color:var(--mut)}
button{background:transparent;color:var(--ac);border:1px solid var(--line);font:inherit;padding:6px 12px;cursor:pointer;letter-spacing:.1em}
button:hover{border-color:var(--ac);box-shadow:0 0 12px rgba(61,255,154,.25) inset}
.pips{display:flex;gap:5px}.pips i{width:18px;height:4px;background:var(--line)}.pips i.on{background:var(--ac);box-shadow:0 0 6px var(--ac)}
.progress{flex:1;min-width:80px;height:2px;background:var(--line)}.progress i{display:block;height:100%;width:0;background:var(--ac)}
.keys{color:var(--mut);font-size:10px}
.stage{position:relative;overflow:hidden}
.scr{position:absolute;inset:0;padding:22px;animation:in .6s ease-out}
@keyframes in{from{opacity:0;filter:blur(6px) brightness(2)}to{opacity:1;filter:none}}
.scr canvas{position:absolute;inset:0;width:100%;height:100%}
.panel{position:absolute;border:1px solid var(--line);background:rgba(3,12,8,.72);padding:12px 14px}
.panel::before,.panel::after{content:"";position:absolute;width:10px;height:10px;border:1px solid var(--ac)}
.panel::before{top:-1px;left:-1px;border-right:0;border-bottom:0}.panel::after{bottom:-1px;right:-1px;border-left:0;border-top:0}
.k{color:var(--mut);font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.v{font-size:15px;margin:2px 0 8px}.big{font-size:clamp(34px,7vw,92px);color:var(--ac);text-shadow:0 0 18px rgba(61,255,154,.45);letter-spacing:.04em}
.ac{color:var(--ac)}.ac2{color:var(--ac2)}.bad{color:var(--bad)}
table{border-collapse:collapse;width:100%;font-size:12px}td,th{padding:5px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
th{color:var(--mut);font-weight:400;font-size:10px;letter-spacing:.15em}
.bar{height:8px;background:var(--ac);box-shadow:0 0 8px var(--ac);display:inline-block;vertical-align:middle}
.feed{font-size:13px;line-height:1.9}.feed div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:in .5s both}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px;padding:30px 40px;perspective:900px}
.gal figure{margin:0;text-align:center;border:1px solid var(--line);padding:10px;animation:fl 6s ease-in-out infinite;transform-style:preserve-3d}
.gal img{width:100%;height:110px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(61,255,154,.35)) saturate(.9)}
.gal figcaption{font-size:10px;color:var(--mut);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@keyframes fl{50%{transform:rotateY(14deg) translateY(-6px)}}
.layer{position:absolute;left:0;right:0;border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:6px 26px;font-size:12px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.scr canvas.fx{pointer-events:none;z-index:3}
.scr .panel{z-index:4}
.scr.out{animation:out .45s ease-in forwards;z-index:5}
@keyframes out{0%{opacity:1;clip-path:inset(0 0 0 0);filter:none}60%{filter:hue-rotate(40deg) brightness(1.6);opacity:.7}100%{opacity:0;clip-path:inset(0 0 0 100%);filter:blur(4px)}}
.scr{animation:holo .7s ease-out}
@keyframes holo{0%{opacity:0;clip-path:inset(0 100% 0 0);filter:brightness(2.2) blur(3px)}70%{clip-path:inset(0 0 0 0)}100%{opacity:1;filter:none}}
.panel{border:none;background:linear-gradient(160deg,color-mix(in srgb,var(--ac) 9%,transparent),rgba(2,8,12,.82) 40%);clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px)}
.panel::before,.panel::after{display:none}
.hud{background:radial-gradient(ellipse at 50% 40%,color-mix(in srgb,var(--ac) 10%,transparent),transparent 65%),#02060a}
.hud-screen-name,.big,button{color:var(--ac)}.dot{background:var(--ac);box-shadow:0 0 10px var(--ac)}.pips i.on,.progress i{background:var(--ac)}
td.ac,.v.ac,.ac{color:var(--ac)}
@font-face{font-family:"Orbitron";src:url(/fonts/Orbitron.ttf) format("truetype");font-weight:400 900;font-display:swap}
@font-face{font-family:"Rajdhani";src:url(/fonts/Rajdhani-Medium.ttf) format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"Rajdhani";src:url(/fonts/Rajdhani-SemiBold.ttf) format("truetype");font-weight:600 700;font-display:swap}
@font-face{font-family:"Share Tech Mono";src:url(/fonts/ShareTechMono.ttf) format("truetype");font-display:swap}
html,body{font-family:"Rajdhani",sans-serif;font-weight:500;font-size:clamp(16px,1.25vw,48px)}
.hud-top,.hud-bot{font-family:"Orbitron",sans-serif;font-size:clamp(14px,1.05vw,40px);letter-spacing:.14em}
.hud-screen-name{font-size:clamp(18px,1.6vw,60px);text-shadow:0 0 12px var(--ac)}
.keys{font-family:"Share Tech Mono",monospace;font-size:clamp(13px,.95vw,34px)}
button{font-family:"Orbitron",sans-serif;font-size:clamp(13px,.9vw,34px)}
.k{font-family:"Share Tech Mono",monospace;font-size:clamp(18px,1.15vw,44px);letter-spacing:.12em;text-transform:uppercase}
.v{font-family:"Rajdhani",sans-serif;font-weight:600;font-size:clamp(20px,1.4vw,54px);margin:2px 0 10px}
.v.ac[style*="font-size"]{font-size:clamp(28px,1.9vw,72px)!important;font-family:"Orbitron",sans-serif;text-transform:uppercase;letter-spacing:.06em;text-shadow:0 0 10px var(--ac)}
.big,.big[style]{font-family:"Orbitron",sans-serif;font-weight:800;font-size:clamp(48px,12vh,260px)!important;line-height:1.02;letter-spacing:.04em;text-shadow:0 0 22px color-mix(in srgb,var(--ac) 70%,transparent);white-space:nowrap}
table{font-family:"Rajdhani",sans-serif;font-weight:600;font-size:clamp(18px,1.15vw,44px)}th{font-family:"Share Tech Mono",monospace;font-size:clamp(18px,1vw,40px)}td,th{padding:4px 8px;max-width:22vw}
tr[style*="font-size"]{font-size:clamp(20px,1.3vw,50px)!important}
.feed{font-size:clamp(18px,1.15vw,44px);line-height:1.6}.feed div[style*="font-size"]{font-size:clamp(20px,1.3vw,50px)!important}
.layer{font-size:clamp(18px,1.15vw,44px)}.layer b{font-family:"Orbitron",sans-serif;letter-spacing:.08em;text-shadow:0 0 10px var(--ac)}
.panel .k:first-child{font-family:"Orbitron",sans-serif;font-size:clamp(18px,1.25vw,48px);color:var(--ac);text-shadow:0 0 8px var(--ac)}
.panel{padding:clamp(12px,1vw,40px) clamp(14px,1.2vw,48px)}
.back{font-family:"Orbitron",sans-serif;font-weight:800;font-size:clamp(16px,1.3vw,52px);letter-spacing:.16em;color:var(--ac);text-decoration:none;padding:8px 18px;border:2px solid var(--ac);text-shadow:0 0 10px var(--ac);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);background:color-mix(in srgb,var(--ac) 10%,transparent)}
.back:hover{background:color-mix(in srgb,var(--ac) 25%,transparent)}
/* ===== 35px minimum at 1600x900 (scale with viewport) ===== */
:root{--t:max(35px,min(2.1875vw,3.889vh));--t2:calc(var(--t)*1.25);--hero:max(90px,min(7.5vw,13vh))}
html,body,.hud-top,.hud-bot,button,.keys,.k,.v,table,th,td,.feed,.layer,.back,.hud-screen-name,.hud-meta,.panel .k:first-child,tr[style*="font-size"],.feed div[style*="font-size"]{font-size:var(--t)!important}
.v.ac[style*="font-size"],.hud-screen-name{font-size:var(--t2)!important}
.big,.big[style]{font-size:var(--hero)!important}
.hud-top{flex-wrap:nowrap;gap:12px;padding:6px 14px}.hud-screen-name{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center}
.back{font-size:var(--t)!important;padding:4px 14px;white-space:nowrap}
.hud-bot{flex-wrap:nowrap;gap:10px;padding:6px 14px}.hud-bot button{padding:2px 12px}.pips{flex:1;overflow:hidden}.pips i{width:14px;height:8px}.pips i.qp{width:28px}.progress{display:none}
.keys{white-space:nowrap}
td,th{max-width:18vw}
.panel{overflow:hidden}
.gal figcaption{display:none}
.srcline{position:absolute;left:1.5%;bottom:1%;z-index:6;font-size:var(--t);color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%;background:rgba(2,6,10,.75);padding:0 10px}
/* quad */
.hud.quad .stage{padding:0}
.qcell{position:absolute;padding:0;transition:all .45s cubic-bezier(.2,.8,.2,1);animation:split .55s cubic-bezier(.2,.8,.2,1);clip-path:polygon(18px 0,calc(100% - 18px) 0,100% 18px,100% calc(100% - 18px),calc(100% - 18px) 100%,18px 100%,0 calc(100% - 18px),0 18px);border:0;cursor:zoom-in;overflow:hidden}
.qcell.q0{left:.5%;top:1%;width:49%;height:48%}.qcell.q1{left:50.5%;top:1%;width:49%;height:48%}.qcell.q2{left:.5%;top:51%;width:49%;height:48%}.qcell.q3{left:50.5%;top:51%;width:49%;height:48%}
@keyframes split{from{left:0;top:0;width:100%;height:100%;opacity:.3;filter:brightness(2)}}
.qcell.expand{left:0!important;top:0!important;width:100%!important;height:100%!important;z-index:9}
.qcell>.panel,.qcell>.layer,.qcell>.gal,.qcell .srcline{display:none!important}
.qcap{position:absolute;left:4%;top:5%;z-index:7;pointer-events:none;background:rgba(2,6,10,.55);padding:4px 14px}
.qcap .qt{font-family:Orbitron,sans-serif;font-weight:800;font-size:var(--t);color:var(--ac);letter-spacing:.12em;text-transform:uppercase;text-shadow:0 0 10px var(--ac);white-space:nowrap}
.qcap .qh{font-family:Orbitron,sans-serif;font-weight:800;font-size:max(60px,min(4.5vw,8vh));color:#fff;text-shadow:0 0 18px var(--ac);white-space:nowrap}
.qcell::after{content:"";position:absolute;inset:0;border:2px solid var(--ac);clip-path:inherit;pointer-events:none;box-shadow:inset 0 0 30px color-mix(in srgb,var(--ac) 25%,transparent)}
.hp .k,.hp .v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hp .hl{font-family:Orbitron,sans-serif;text-transform:uppercase;letter-spacing:.05em}
.layer{align-items:center}
.tmh{font-size:min(var(--hero),4.6vw)}.hp{max-width:48%}
.hud-meta,.back{flex-shrink:0}.layer{padding-right:60px}
.sndbtn{flex-shrink:0;border:2px solid var(--ac);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);font-weight:800}
.hud-screen-name{min-width:0}
.shchip{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:6px 16px!important}
.shrow{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.shk{font-family:Orbitron,sans-serif;font-weight:800;font-size:var(--t);letter-spacing:.1em;white-space:nowrap}
.shn{font-family:Orbitron,sans-serif;font-weight:800;font-size:calc(var(--t)*1.5);text-shadow:0 0 12px currentColor;white-space:nowrap}
.shbar{height:10px;background:rgba(255,255,255,.07)}.shbar i{display:block;height:100%;box-shadow:0 0 10px currentColor}
.hud{grid-template-columns:minmax(0,1fr)}.hud-top,.hud-bot{overflow:hidden;min-width:0}.stage{min-width:0}

/* defense section */
.dchip{display:flex;flex-direction:column;gap:6px;padding-bottom:18px!important}
.dchip .dh{font-family:Rajdhani,sans-serif;font-weight:700;font-size:calc(var(--t)*1.15);line-height:1.12;color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-transform:none}
.dchip .dsrc,.dchip .dsrc a{color:var(--ac);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--t)!important;margin:0}
.dchip .k{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dchip.flash{animation:dfl .5s ease-out}@keyframes dfl{0%{filter:brightness(2.2)}100%{filter:none}}
.hsw{position:absolute;inset:0;pointer-events:none}.hsw .panel{pointer-events:auto}
.river{position:absolute;left:0;right:0;top:0;bottom:36%;z-index:4}
.river .lane{position:absolute;left:1%;right:1%;height:14%;overflow:hidden;display:flex;align-items:center}
.river .lt{display:flex;flex-wrap:nowrap;gap:80px;padding-right:80px;width:max-content;max-width:none;white-space:nowrap;animation:riv linear infinite;will-change:transform}
.river .lt span{font-family:Rajdhani,sans-serif;font-weight:700;font-size:calc(var(--t)*1.2);color:#fff}.river .lt b{font-family:Orbitron,sans-serif;color:var(--ac);font-size:var(--t);margin-right:14px;text-shadow:0 0 10px var(--ac)}
@keyframes riv{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.qcell .river,.qcell .hsw{display:none}

.srcline .stale{color:#ffb000;font-weight:700}

.cmep{display:flex;flex-direction:column;gap:6px}.cmebox{position:relative;width:min(100%,12vh);aspect-ratio:1;background:#000;overflow:hidden;border:1px solid var(--ac)}
.cmebox img{width:100%;height:100%;object-fit:cover;filter:sepia(.3) saturate(1.3)}.cmebox .occ{position:absolute;left:50%;top:50%;width:30%;height:30%;transform:translate(-50%,-50%);border:2px solid var(--ac);border-radius:50%;box-shadow:0 0 12px var(--ac)}
.cmebox .occ::before,.cmebox .occ::after{content:"";position:absolute;background:var(--ac);opacity:.6}.cmebox .occ::before{left:-60%;right:-60%;top:50%;height:1px}.cmebox .occ::after{top:-60%;bottom:-60%;left:50%;width:1px}
.cmep .v,.solchip .v,.solchip .k,.cmep .k{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
.qcell .cmep,.qcell .solchip{display:none}

.snwrap{background:rgba(10,2,30,.72);border:2px solid #ff4fd8;box-shadow:0 0 30px rgba(255,79,216,.45)}
.sncard{display:flex;flex-direction:column;gap:14px;animation:snin .5s ease-out}.sncard.snout{animation:snoutk .45s ease-in forwards}
@keyframes snin{from{opacity:0;transform:perspective(900px) rotateX(-35deg) translateY(-30px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes snoutk{to{opacity:0;transform:perspective(900px) rotateX(40deg) translateY(40px) scale(.96);filter:blur(6px)}}
.snrow{display:flex;justify-content:space-between;align-items:center}.snchip{font-family:Orbitron,sans-serif;font-weight:700;font-size:max(35px,calc(var(--t)*1));padding:2px 18px;border:2px solid var(--cc);color:var(--cc);box-shadow:0 0 14px var(--cc)}
.sncount{font-family:Orbitron,sans-serif;font-size:max(35px,var(--t));color:#d9b3ff}
.snh{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-family:Rajdhani,sans-serif;font-weight:700;font-size:max(48px,calc(var(--t)*1.5));line-height:1.12;color:#fff;text-decoration:none;text-shadow:0 0 18px rgba(255,79,216,.6)}
.snsrc{font-size:max(35px,var(--t));color:#ffc0f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.snbar{height:8px;background:rgba(255,255,255,.1)}.snbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#3dfcff,#ff4fd8);box-shadow:0 0 12px #ff4fd8;animation:snbar 10s linear forwards}@keyframes snbar{to{width:100%}}
.snmeta{font-family:Orbitron,sans-serif;color:#ffc0f0;background:rgba(10,2,30,.6)}
.qcell .snmeta{display:none}.qcell .snh{-webkit-line-clamp:2}

.hzk .big{font-size:max(35px,calc(var(--hero)*.9))}.qcell .hznote{display:none}

.hzln{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:max(35px,calc(var(--hero)*.62))!important}.hzrow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qcell .hznext{display:none}

/* ---- no truncation anywhere (v20): wrap or fit instead of ellipsis/clamp ---- */
.hud-screen-name{overflow:visible!important;text-overflow:clip!important;white-space:nowrap;letter-spacing:.05em!important}.hud-screen-name.wrap{white-space:normal!important;line-height:1.05}
#hud .k,#hud .v,#hud .dh,#hud .dsrc,#hud .dsrc a,#hud .snh,#hud .snsrc,#hud .hzln,#hud .hzrow,#hud .hp .k,#hud .hp .v,#hud .hl,#hud .hl2,#hud .srcline,#hud .qt,#hud .qh,#hud td,#hud th,#hud .feed div{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;-webkit-line-clamp:unset!important;overflow-wrap:break-word}
#hud .dh,#hud .snh{display:block!important}
#hud .srcline{max-width:96%!important}


/* v21 draw-immediately ACQUIRING placeholder */
.acq{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:5}
.acqp{position:relative;text-align:center;max-width:80%;padding:18px 28px;border:2px solid var(--ac);background:rgba(0,10,20,.72);font-size:35px;animation:acqPulse 1.6s ease-in-out infinite}
.acqp .k,.acqp .v{font-size:35px}
.acqp .acqt{font-size:56px;color:var(--ac);white-space:normal}
.acqbar{margin-top:14px;height:10px;width:100%;background:rgba(255,255,255,.08);overflow:hidden;position:relative}
.acqbar i{position:absolute;top:0;bottom:0;width:30%;background:var(--ac);box-shadow:0 0 18px var(--ac);animation:acqScan 1.4s linear infinite}
@keyframes acqScan{from{left:-30%}to{left:100%}}
@keyframes acqPulse{50%{box-shadow:0 0 32px var(--ac)}}
#hud.quad .acqp .acqt{font-size:40px}

#hud .river .lt,#hud .river .lt span,#hud .river .lt b{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}#hud .river .lt span{flex:0 0 auto;max-width:none;line-height:1.15}
.ua-main,.ua-trend{display:flex;flex-direction:column;gap:4px}.ua-main{justify-content:space-evenly}
.ua-name{font-family:Orbitron,sans-serif;font-weight:800;font-size:max(46px,min(3.4vw,6vh));line-height:1.08;color:var(--ac);text-shadow:0 0 18px color-mix(in srgb,var(--ac) 60%,transparent);overflow-wrap:break-word}
.ua-mk,.ua-arm{font-size:var(--t)!important;line-height:1.15;margin:0 0 6px}
.ua-chip{align-self:flex-start;font-family:Orbitron,sans-serif;font-size:var(--t);border:2px solid;padding:2px 14px;margin:4px 0 8px;animation:uaPulse 1.6s ease-in-out infinite}
.ua-spec{font-family:Orbitron,sans-serif;font-weight:700;font-size:max(38px,min(2.6vw,4.6vh));line-height:1.12;color:#fff}
.ua-tt{font-family:Orbitron,sans-serif;font-weight:800;font-size:max(40px,min(2.8vw,5vh));color:var(--ac)}
.ua-trend .v{margin:0;line-height:1.15}
.ua-tag{position:absolute;z-index:4;font-family:"Share Tech Mono",monospace;font-size:var(--t);color:var(--ac);letter-spacing:.06em;max-width:46%;text-align:right;animation:uaPulse 2.4s ease-in-out infinite}
.ua-in{animation:uaIn .6s ease-out}
@keyframes uaIn{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
@keyframes uaPulse{50%{opacity:.6}}

/* site switcher (LAUNCH TRACKER / HUD / RETRO NEWS): hidden until tapped, overlays nothing by default */
.sites{position:relative;flex-shrink:0}
.sites-menu{position:fixed;left:14px;top:var(--sm-top,90px);z-index:200;display:flex;flex-direction:column;gap:10px;padding:14px;background:rgba(2,6,10,.96);border:2px solid var(--ac);box-shadow:0 0 30px color-mix(in srgb,var(--ac) 35%,transparent);clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);min-width:max-content;max-width:calc(100vw - 28px)}
.sites-menu[hidden]{display:none}
.sites-menu a{font-family:"Orbitron",sans-serif;font-weight:800;font-size:var(--t)!important;letter-spacing:.14em;white-space:nowrap;text-decoration:none;padding:10px 22px;min-height:44px;display:flex;align-items:center;border:2px solid var(--c);color:var(--c);text-shadow:0 0 10px var(--c);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
.sites-menu a[data-k=tracker]{--c:#3dff9a}.sites-menu a[data-k=hud]{--c:#30f0ff}.sites-menu a[data-k=retro]{--c:#ff4fd8}
.sites-menu a:hover,.sites-menu a:focus-visible{background:color-mix(in srgb,var(--c) 22%,transparent);outline:none}
.sites-menu a.on{background:var(--c);color:#02060a;text-shadow:none;box-shadow:0 0 22px var(--c)}
.sites-menu a.on::after{content:" ●";font-size:.7em}
#back[aria-expanded=true]{background:color-mix(in srgb,var(--ac) 30%,transparent)}
@media (max-width:900px){.sites-menu{min-width:0}.sites-menu a{white-space:normal;letter-spacing:.06em;overflow-wrap:break-word}}
/* quad tiles: the schematic disclaimer moves to the bottom so it never meets the tile caption (quad8 fix) */
.qcell .ua-tag{top:auto!important;bottom:4%!important;right:3%!important;max-width:60%}
/* ===== PHONE MODE (#hud.ph, set by hud.js at ≤768px wide or ≤500px tall). Desktop rules above are untouched. =====
   Composition: compact top bar (SITES menu · title · sound) → full-width hero visual → stats stacked, 2-up for short ones → slim nav.
   Type: labels ≥14px, body 16–17px, key numbers ≥24px, heroes ~40px. Page scrolls; nothing truncated. */
html.ph{--t:16px;--t2:18px;--hero:40px;--vizh:min(78vw,46vh)}
@media (max-height:500px){html.ph{--vizh:calc(100vh - 120px)}}
html.ph,html.ph body{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto;font-size:16px}
#hud.ph{position:relative;inset:auto;display:block;min-height:100vh;min-height:100dvh}
#hud.ph *{letter-spacing:.04em}
/* top bar */
#hud.ph .hud-top{position:sticky;top:0;z-index:50;background:rgba(2,6,10,.94);backdrop-filter:blur(6px);flex-wrap:nowrap;align-items:center;gap:8px;padding:6px 8px;overflow:visible;border-bottom:1px solid var(--line)}
#hud.ph .back{font-size:20px!important;padding:0 10px;min-height:44px;min-width:48px;display:flex;align-items:center;justify-content:center;letter-spacing:0;flex:0 0 auto}
#hud.ph .back .dot{margin-right:6px}
#hud.ph .hud-screen-name{flex:1 1 0;min-width:0;font-size:16px!important;line-height:1.2;white-space:normal!important;overflow:visible!important;text-align:left;overflow-wrap:break-word;letter-spacing:.06em!important;text-shadow:0 0 8px var(--ac)}
#hud.ph #snd{font-size:15px!important;min-height:44px;min-width:64px;padding:0 8px;flex:0 0 auto}
/* stage: hero visual + stacked stats */
#hud.ph .stage{overflow:visible;min-height:calc(100vh - 130px)}
#hud.ph .scr{position:relative;inset:auto;padding:10px 10px 16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}
#hud.ph .scr>*{grid-column:1/-1}
#hud.ph .scr>.phhalf{grid-column:auto}
#hud.ph .phviz{position:relative;height:var(--vizh);margin:-10px -10px 0;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--ac) 10%,transparent),transparent 70%)}
#hud.ph .phviz.empty{display:none}
#hud.ph .phviz canvas{position:absolute;inset:0;width:100%;height:100%}
#hud.ph .scr>:not(.phviz):not(canvas){position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;max-width:none!important;min-width:0!important;height:auto!important;min-height:0!important;max-height:none!important;transform:none!important;margin:0!important;inset:auto!important}
#hud.ph .scr *{font-size:16px!important;line-height:1.3}
#hud.ph .panel{padding:12px!important;overflow:visible!important;overflow-wrap:break-word;background:rgba(3,12,10,.82);border-color:color-mix(in srgb,var(--ac) 35%,var(--line))}
#hud.ph .panel *:not(.river):not(.river *){max-width:100%}
#hud.ph .k,#hud.ph .v,#hud.ph .hl,#hud.ph .hl2,#hud.ph .shk,#hud.ph .shn,#hud.ph .shrow,#hud.ph .qt,#hud.ph .layer,#hud.ph .layer *,#hud.ph .ua-tag,#hud.ph .snchip,#hud.ph .hzln,#hud.ph .hzrow,#hud.ph .dh,#hud.ph .snh,#hud.ph .dsrc,#hud.ph .snsrc,#hud.ph .srcline,#hud.ph .feed div{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;-webkit-line-clamp:unset!important;display:block;overflow-wrap:break-word}
#hud.ph .shrow,#hud.ph .snrow{display:flex!important;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 10px}
#hud.ph .scr .k{font-size:14px!important;font-family:"Share Tech Mono",monospace;color:var(--mut);text-transform:uppercase;letter-spacing:.1em;margin:0 0 4px}
#hud.ph .scr .panel .k:first-child,#hud.ph .scr .qt{font-family:Orbitron,sans-serif!important;font-size:14px!important;font-weight:700;color:var(--ac);text-shadow:0 0 8px var(--ac);letter-spacing:.12em}
#hud.ph .scr .v{font-family:Rajdhani,sans-serif;font-weight:600;font-size:17px!important;margin:2px 0 6px}
#hud.ph .scr .hl{font-size:18px!important}
#hud.ph .scr .big,#hud.ph .scr .big[style],#hud.ph .scr .tmh,#hud.ph .scr .acqt,#hud.ph .scr .big *{font-size:clamp(30px,9.5vw,44px)!important;line-height:1.05;white-space:normal!important;overflow-wrap:break-word;font-family:Orbitron,sans-serif}
#hud.ph .scr .shn,#hud.ph .scr .sncount,#hud.ph .scr .phv,#hud.ph .scr .ua-name,#hud.ph .scr .ua-tt,#hud.ph .scr .ua-spec,#hud.ph .scr .phhalf .v.ac,#hud.ph .scr .phhalf .v b{font-size:24px!important;line-height:1.15}
#hud.ph .scr .snh,#hud.ph .scr .dh{font-family:Rajdhani,sans-serif;font-weight:700;font-size:20px!important;line-height:1.2;color:#fff}
#hud.ph .scr .snchip{font-size:14px!important;padding:2px 10px}
#hud.ph .scr .layer{display:flex!important;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;padding:8px 10px!important;border:1px solid var(--line)}
/* tables → labelled rows */
#hud.ph table,#hud.ph tbody,#hud.ph tr,#hud.ph td,#hud.ph th{display:block;width:auto;max-width:none!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
#hud.ph tr:has(>th){display:none}
#hud.ph tr{border-bottom:1px solid var(--line);padding:6px 0;display:flex;flex-wrap:wrap;gap:2px 12px}
#hud.ph td{border:0;padding:0;overflow-wrap:break-word}
#hud.ph td:first-child{flex:1 1 100%;font-weight:700}
#hud.ph td[data-k]:not(:first-child)::before{content:attr(data-k) " ";color:var(--mut);font-family:"Share Tech Mono",monospace;font-size:14px}
/* tickers */
#hud.ph .river{display:flex;flex-direction:column;gap:6px}
#hud.ph .river .lane{position:relative;left:auto;right:auto;top:auto!important;height:auto;min-height:34px;padding:4px 0;border-bottom:1px solid var(--line)}
#hud.ph .river .lt span{font-size:18px!important}#hud.ph .river .lt b{font-size:14px!important}
#hud.ph .gal{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0}
#hud.ph .gal img{height:80px}
#hud.ph .srcline{background:none;padding:0 2px;color:var(--mut)}
#hud.ph .srcline,#hud.ph .srcline *{font-size:14px!important}
/* equalizer / scope cards (same data as the desktop canvas charts) */
#hud.ph .phcard{display:flex;flex-direction:column;gap:4px}
#hud.ph .phrow{padding:3px 0}#hud.ph .phrow.on .phl{color:#fff}
#hud.ph .phlv{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 12px}
#hud.ph .scr .phl{color:var(--mut);font-size:15px!important}
#hud.ph .scr .phv{color:var(--ac);font-family:Orbitron,sans-serif;font-weight:700;font-size:18px!important}
#hud.ph .phrow.on .phv{color:#fff;font-size:24px!important}
#hud.ph .phb{height:10px;background:rgba(255,255,255,.06);margin-top:3px}#hud.ph .phb i{display:block;height:100%;background:linear-gradient(90deg,var(--ac),#ffb347 80%,#ff5c5c);box-shadow:0 0 8px var(--ac)}
#hud.ph .phsp{display:block;width:100%;height:80px}
/* bottom nav */
#hud.ph .hud-bot{position:sticky;bottom:0;z-index:50;background:#02060a;flex-wrap:wrap;gap:6px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));overflow:visible}
#hud.ph .pips{flex:1 1 100%;order:-1;min-height:6px;gap:3px}#hud.ph .pips i{width:auto;flex:1;height:5px}
#hud.ph .keys{display:none}
#hud.ph .hud-bot button{font-size:16px!important;min-height:44px;min-width:56px;flex:1 1 0;padding:0 6px}
/* menu: sites + volume + clock */
#hud.ph .sites-menu{left:8px;right:8px;min-width:0;gap:8px;padding:10px}
#hud.ph .sites-menu a{font-size:18px!important;min-height:48px;padding:6px 14px;letter-spacing:.1em}
.ph-snd{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.ph-snd button{min-height:44px;flex:1 1 auto;font-size:16px!important}
.ph-snd .hud-meta{display:flex;align-items:center;font-family:Orbitron,sans-serif;font-size:16px!important;color:var(--mut)}
#phToast{position:fixed;left:50%;top:45%;transform:translate(-50%,-50%);z-index:300;padding:12px 22px;font-family:Orbitron,sans-serif;font-size:20px;color:#02060a;background:var(--ac);box-shadow:0 0 30px var(--ac);opacity:0;pointer-events:none;transition:opacity .2s}
#phToast.on{opacity:1}
html.hudcheck #hud.ph .hud-top,html.hudcheck #hud.ph .hud-bot{position:static}
#hud.ph .phst{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:2px 0 8px}
#hud.ph .scr .phnum{font-family:Orbitron,sans-serif;font-weight:700;font-size:24px!important;color:#fff;text-shadow:0 0 10px var(--ac);overflow-wrap:break-word}
#hud.ph .phcols{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:3px;height:120px;align-items:end;border-bottom:1px solid var(--line)}
#hud.ph .phc{height:100%;display:flex;align-items:flex-end;background:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 6px,transparent 6px 9px)}
#hud.ph .phc i{display:block;width:100%;background:repeating-linear-gradient(0deg,var(--ac) 0 6px,transparent 6px 9px);box-shadow:0 0 8px color-mix(in srgb,var(--ac) 60%,transparent)}
#hud.ph .phc.on i{background:repeating-linear-gradient(0deg,#fff 0 6px,transparent 6px 9px)}
#hud.ph .phcl{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:3px;text-align:center}
#hud.ph .scr .phcl span{font-size:14px!important;color:var(--mut);overflow-wrap:normal;white-space:nowrap}
#hud.ph .scr .phcl span{font-family:"Share Tech Mono",monospace!important;letter-spacing:0!important}
#hud.ph .scr a{display:inline-flex;align-items:center;min-height:44px}

/* phone pass 2: SITES label stacked, defense chips flow in the stack, nav labels spelled out */
#hud.ph .back{font-size:14px!important;width:min-content;min-width:56px;text-align:center;line-height:1.1;letter-spacing:.08em!important;padding:2px 8px}
#hud.ph .back .dot{display:none}
#hud.ph .hsw{position:relative!important;inset:auto!important;height:auto!important;pointer-events:auto}
#hud.ph .scr .dchip{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;max-width:none!important;transform:none!important}
#hud.ph .hud-bot button{font-size:15px!important;letter-spacing:.04em!important;white-space:nowrap;padding:0 4px}
/* phone landscape: hero visual pinned on the left, stats scroll on the right */
@media (orientation:landscape) and (max-height:500px){
  #hud.ph .phviz:not(.empty){position:fixed!important;left:0!important;top:58px!important;bottom:70px!important;width:44vw!important;height:auto!important;margin:0!important;border-bottom:0;border-right:1px solid var(--line);z-index:1}
  #hud.ph .scr:has(>.phviz:not(.empty)){padding-left:calc(44vw + 10px)}
  html.hudcheck #hud.ph .phviz:not(.empty){position:absolute!important;grid-area:auto!important;left:0!important;top:0!important;bottom:auto!important;height:calc(100vh - 120px)!important}
  #hud.ph .stage{position:relative}
}
/* body must not be a scroll container, or the sticky top bar / bottom nav never stick */
html.ph body{overflow:visible!important;overflow-x:clip!important}
html.ph{overflow-x:hidden;overflow-y:auto}
/* ===== Austin Shows screen ===== */
.as-main,.as-empty{display:flex;flex-direction:column;gap:6px;justify-content:space-evenly}
.as-name{font-family:Orbitron,sans-serif;font-weight:800;font-size:max(46px,min(3.4vw,6vh));line-height:1.08;color:var(--ac);text-shadow:0 0 18px color-mix(in srgb,var(--ac) 60%,transparent);overflow-wrap:break-word}
.as-empty .as-name{font-size:max(44px,min(3vw,5.4vh))}
.as-when{font-family:Orbitron,sans-serif;font-weight:700;font-size:max(38px,min(2.4vw,4.4vh));color:#fff;line-height:1.12}
.as-venue{font-size:var(--t)!important;line-height:1.15;margin:0}
.as-chip{align-self:flex-start;font-family:Orbitron,sans-serif;font-size:var(--t);border:2px solid;padding:2px 14px;animation:uaPulse 1.6s ease-in-out infinite}
.as-tix{align-self:flex-start;display:inline-flex;align-items:center;min-height:56px;padding:6px 22px;font-family:Orbitron,sans-serif;font-weight:700;font-size:var(--t);color:#02060a;background:var(--ac);text-decoration:none;box-shadow:0 0 22px color-mix(in srgb,var(--ac) 70%,transparent);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
.as-tix:hover,.as-tix:focus-visible{background:#fff;outline:none}
.as-src{color:var(--ac);text-decoration:underline;display:inline-block;min-height:44px;line-height:44px}
.as-list{display:flex;flex-direction:column;gap:4px}
.as-row{display:flex;flex-wrap:wrap;gap:0 18px;align-items:baseline;font-size:var(--t);line-height:1.2;padding:4px 0;border-bottom:1px solid var(--line)}
.as-rd{font-family:"Share Tech Mono",monospace;color:#ffd24d}.as-ra{font-family:Rajdhani,sans-serif;font-weight:700;color:#fff;overflow-wrap:anywhere}
.as-ex{position:absolute;z-index:6;right:2%;top:3%;max-width:43%;text-align:center;font-family:Orbitron,sans-serif;font-weight:800;font-size:max(35px,var(--t));color:#02060a;background:#ff4fd8;padding:8px 18px;box-shadow:0 0 28px #ff4fd8;animation:uaPulse 1.6s ease-in-out infinite}
.as-draft{position:absolute;z-index:6;right:2%;bottom:3%;font-family:"Share Tech Mono",monospace;font-size:max(35px,var(--t));color:#ffd24d;border:2px dashed #ffd24d;padding:2px 14px}
.as-empty~.as-draft{bottom:auto;top:58%}
.qcell .as-ex,.qcell .as-draft{font-size:var(--t);max-width:90%}
#hud.ph .scr .as-name{font-size:26px!important;line-height:1.12}
#hud.ph .scr .as-when{font-size:20px!important}
#hud.ph .scr .as-tix{font-size:18px!important;min-height:52px;width:100%;justify-content:center;align-self:stretch}
#hud.ph .scr .as-ex{order:-1;font-size:18px!important;padding:10px 12px;max-width:none}
#hud.ph .scr .as-draft{font-size:16px!important;text-align:center}
#hud.ph .scr .as-row{font-size:17px!important;padding:8px 0;min-height:44px}
#hud.ph .scr .as-rd,#hud.ph .scr .as-ra{font-size:17px!important}
