/* GM Console (office computer) + hub cleanup + Week Planner + Front Office + event pop-up.
   Styled to match the Concept B retro pixel phone (css/cellphone.css): stepped corners, scanlines, PS2P/VT fonts,
   square icon tiles (.pxp-ico / .pxp-badge / .pxp-lbl are the phone's own classes, reused here), boxy panels, hard shadows. */
:root{--px-ink:#0a0f2c;--px-navy:#141c46;--px-panel:#1d2763;--px-lav:#6f7fd8;--px-lav2:#aab4ff;--px-gold:#ffc83c;--px-red:#d8283a;--px-blue:#2a56d8;--px-green:#2c9a48;--px-white:#f2f2f6;
 --px-st16:polygon(0 36px,6px 36px,6px 24px,12px 24px,12px 12px,24px 12px,24px 6px,36px 6px,36px 0,calc(100% - 36px) 0,calc(100% - 36px) 6px,calc(100% - 24px) 6px,calc(100% - 24px) 12px,calc(100% - 12px) 12px,calc(100% - 12px) 24px,calc(100% - 6px) 24px,calc(100% - 6px) 36px,100% 36px,100% calc(100% - 36px),calc(100% - 6px) calc(100% - 36px),calc(100% - 6px) calc(100% - 24px),calc(100% - 12px) calc(100% - 24px),calc(100% - 12px) calc(100% - 12px),calc(100% - 24px) calc(100% - 12px),calc(100% - 24px) calc(100% - 6px),calc(100% - 36px) calc(100% - 6px),calc(100% - 36px) 100%,36px 100%,36px calc(100% - 6px),24px calc(100% - 6px),24px calc(100% - 12px),12px calc(100% - 12px),12px calc(100% - 24px),6px calc(100% - 24px),6px calc(100% - 36px),0 calc(100% - 36px));
 --px-st8:polygon(0 18px,6px 18px,6px 12px,12px 12px,12px 6px,18px 6px,18px 0,calc(100% - 18px) 0,calc(100% - 18px) 6px,calc(100% - 12px) 6px,calc(100% - 12px) 12px,calc(100% - 6px) 12px,calc(100% - 6px) 18px,100% 18px,100% calc(100% - 18px),calc(100% - 6px) calc(100% - 18px),calc(100% - 6px) calc(100% - 12px),calc(100% - 12px) calc(100% - 12px),calc(100% - 12px) calc(100% - 6px),calc(100% - 18px) calc(100% - 6px),calc(100% - 18px) 100%,18px 100%,18px calc(100% - 6px),12px calc(100% - 6px),12px calc(100% - 12px),6px calc(100% - 12px),6px calc(100% - 18px),0 calc(100% - 18px))}
/* ---------- shell ---------- */
#modal:has(.gmc){background:rgba(4,6,20,.7);padding:4px}
#mbox:has(.gmc){width:min(1240px,calc(100vw - 8px))!important;height:calc(100dvh - 8px)!important;max-height:none!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;overflow:hidden!important}
.computer-shell.gmc{display:block;position:relative;width:100%;height:100%;background:none;color:var(--px-white);font:400 18px/1.2 "VT",monospace;filter:drop-shadow(6px 8px 0 rgba(0,0,0,.55))}
.gmc *{box-sizing:border-box}
.gmc button{cursor:pointer;-webkit-tap-highlight-color:transparent}
.gmc button:focus-visible{outline:3px solid var(--px-gold);outline-offset:-3px}
.gmc-bezel{position:absolute;inset:0;clip-path:var(--px-st16);background:linear-gradient(180deg,#6f7fd8 0 6px,#3a4aa8 6px 14px,#1d2763 14px calc(100% - 14px),#0e1436 calc(100% - 14px))}
.gmc-screen{position:absolute;inset:12px;clip-path:var(--px-st8);background:var(--px-ink);display:flex;flex-direction:column;overflow:hidden}
.gmc-screen:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px);pointer-events:none;z-index:20}
.gmc-top{flex:none;display:flex;align-items:center;gap:10px;min-height:48px;padding:4px 14px 4px 18px;border-bottom:3px solid #000;background:var(--px-navy)}
.gmc-top b{font:10px/1 "PS2P",monospace;color:var(--px-gold);text-shadow:0 2px 0 #000;white-space:nowrap}
.gmc-led{width:8px;height:8px;background:#5fe08a;box-shadow:0 0 6px #5fe08a;flex:none}
.gmc-stat{flex:1;min-width:0;font:8px/1.3 "PS2P",monospace;color:var(--px-lav2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gmc-main{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px 14px}
.gmc-dock{flex:none;display:flex;justify-content:center;gap:6px;padding:10px 12px 12px;background:repeating-linear-gradient(90deg,#1d2763 0 6px,#18205a 6px 12px);border-top:3px solid #000}
.gmc-app{display:flex;flex-direction:column;align-items:center;gap:9px;width:66px;min-height:44px;padding:6px 0 2px;background:none;border:0;color:#fff}
.gmc-app[aria-pressed=true] .gmc-ico{box-shadow:0 0 0 2px #000,0 0 0 4px var(--px-gold),0 0 0 6px #000,4px 6px 0 4px rgba(0,0,0,.55)}
.gmc .gmc-ico{width:42px;height:42px;flex:none}
.gmc-lbl{font-size:6.5px!important;max-width:66px;overflow:hidden;text-overflow:ellipsis}
/* buttons */
.gmc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;min-width:40px;padding:6px 12px;border:0;background:var(--px-blue);color:#fff;font:8px/1.4 "PS2P",monospace;box-shadow:0 0 0 2px #000,3px 3px 0 2px #000;text-align:center;white-space:normal}
.gmc-btn.gold{background:var(--px-gold);color:#111}.gmc-btn.red{background:var(--px-red)}.gmc-btn.blue{background:var(--px-blue)}
.gmc-btn.ghost{background:var(--px-navy);color:var(--px-lav2);box-shadow:0 0 0 2px var(--px-lav)}.gmc-btn.on{background:var(--px-gold);color:#111}
.gmc-btn.sm{min-height:34px;padding:4px 9px;font-size:7px}
.gmc-btn:disabled{opacity:.55;cursor:default}
.gmc-btn:not(:disabled):active{transform:translate(2px,2px);box-shadow:0 0 0 2px #000,1px 1px 0 2px #000}
.gmc-i{flex:none;width:34px;height:34px;border:0;background:var(--px-navy);color:var(--px-lav2);font:9px "PS2P",monospace;box-shadow:0 0 0 2px var(--px-lav)}
/* widgets + home */
.gmc-widgets{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:14px}
.gmc-wd{text-align:left;min-height:62px;padding:9px 10px;border:0;background:var(--px-navy);color:#fff;box-shadow:0 0 0 2px #000,0 0 0 4px var(--px-lav),5px 6px 0 3px #000}
.gmc-wd small{display:block;font:7px/1.4 "PS2P",monospace;color:var(--px-lav2);margin-bottom:6px}.gmc-wd b{font:20px/1.1 "VT",monospace;color:#fff}
.gmc-wd.due{box-shadow:0 0 0 2px #000,0 0 0 4px var(--px-gold),5px 6px 0 3px #000}.gmc-wd.due small{color:var(--px-gold)}
.gmc-hint{font:7px/1.6 "PS2P",monospace;color:var(--px-lav);text-align:center;margin:14px 0 0}
/* windows */
.gmc-wins{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.gmc-win{min-width:0;background:var(--px-navy);box-shadow:0 0 0 2px #000,0 0 0 4px var(--px-lav),6px 7px 0 3px #000;margin:4px;display:flex;flex-direction:column}
.gmc-wt{flex:none;display:flex;align-items:center;gap:8px;min-height:40px;padding:3px 6px 3px 10px;background:var(--px-panel);border-bottom:3px solid #000}
.gmc-wt b{flex:1;min-width:0;font:8px/1.3 "PS2P",monospace;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gmc-dots{display:flex;gap:4px}.gmc-dots i{width:8px;height:8px;background:var(--px-red);box-shadow:0 0 0 1px #000}.gmc-dots i+i{background:var(--px-gold)}.gmc-dots i+i+i{background:#5fe08a}
.gmc-wx{width:34px;height:34px;border:0;background:var(--px-red);color:#fff;font:700 16px/1 system-ui,sans-serif;box-shadow:0 0 0 2px #000}
.gmc-wb{padding:12px;min-width:0;overflow-wrap:anywhere;font:18px/1.25 "VT",monospace}
.gmc-win2{opacity:.96}
@media(min-width:900px){.gmc-main.has-win.gmc-two{overflow:hidden}.gmc-main.gmc-two .gmc-wins{grid-template-columns:repeat(2,minmax(0,1fr));height:100%}
 .gmc-main.has-win .gmc-wins{height:100%}.gmc-main.has-win .gmc-win{min-height:0;max-height:100%}.gmc-main.has-win .gmc-wb{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
 .gmc-main.has-win:not(.gmc-two) .gmc-win{max-width:880px;margin:4px auto;width:calc(100% - 8px)}}
/* legacy app content inside windows */
.gmc .computer-body{flex:1;padding:12px}
.gmc .gmc-wb h2{font:10px/1.6 "PS2P",monospace;color:var(--px-gold);margin:2px 0 10px;text-shadow:0 2px 0 #000}
.gmc .gmc-wb .note,.gmc .computer-body .note{font:16px/1.3 "VT",monospace;color:var(--px-lav2)}
.gmc .computer-story,.gmc .computer-post{border:0;background:var(--px-ink);color:#eef;box-shadow:0 0 0 2px #000,0 0 0 4px #2a3a8a;font:18px/1.25 "VT",monospace;margin:4px 0}
.gmc .computer-story small{color:var(--px-lav2)}
.gmc .computer-list{gap:14px}
.gmc .gmc-wb .btn{min-height:40px;font:8px/1.4 "PS2P",monospace;border:0;box-shadow:0 0 0 2px #000,3px 3px 0 2px #000}
.gmc .computer-league-nav{gap:10px}
.gmc .gmc-wb table{font:16px/1.25 "VT",monospace}
/* shared bits */
.gmc-p{margin:6px 0;font:18px/1.25 "VT",monospace}.gmc-p.dim,.gmc .dim{color:var(--px-lav2)}
.gmc-h4{font:8px/1.5 "PS2P",monospace;color:#7fd0ff;margin:14px 0 6px}
.gmc-kv{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:2px solid #1d2763}.gmc-kv span{color:var(--px-lav2)}.gmc-kv b{color:#fff;text-align:right}
.gmc-drow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}.gmc-drow.c{justify-content:center}
.gmc-row{display:flex;gap:10px;width:100%;text-align:left;padding:8px;border:0;margin:6px 0;background:var(--px-ink);color:#fff;box-shadow:0 0 0 2px #000;font:17px/1.2 "VT",monospace}.gmc-row span{flex:1;min-width:0}.gmc-row em{font-style:normal;color:var(--px-lav2);max-width:45%}
.gmc-tag{display:inline-block;font:7px/1 "PS2P",monospace;padding:4px 5px;background:var(--px-panel);color:#fff;box-shadow:0 0 0 2px #000}.gmc-tag.need{background:var(--px-red)}.gmc-tag.ok{background:var(--px-green)}
.gmc-new{font:6px "PS2P",monospace;background:var(--px-gold);color:#111;padding:2px 4px;margin-left:4px}
.gmc-meter{height:12px;background:var(--px-ink);box-shadow:0 0 0 2px #000,0 0 0 3px #2a3a8a;position:relative;overflow:hidden;margin:6px 0}.gmc-meter i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#2a56d8,#7fd0ff)}
.gmc-panel{background:var(--px-ink);box-shadow:0 0 0 2px #000,0 0 0 4px #2a3a8a;padding:10px;margin:12px 0;text-align:left}.gmc-panel p{margin:6px 0 0}
.gmc .up{color:#5fe08a}.gmc .dn{color:#ff6a78}.gmc .ev{color:var(--px-gold)}
/* ---------- Front Office ---------- */
.gmc-kick{display:flex;align-items:center;gap:12px;padding:10px;margin-bottom:14px;background:#2a1d00;box-shadow:0 0 0 2px #000,0 0 0 4px var(--px-gold)}
.gmc-kick.off{background:var(--px-ink);box-shadow:0 0 0 2px #000,0 0 0 4px #2a3a8a}
.gmc-kick b{font:8px/1.5 "PS2P",monospace;color:var(--px-gold)}.gmc-kick small{display:block;font:16px/1.2 "VT",monospace;color:var(--px-lav2)}
.gmc-tok{display:inline-flex;gap:4px;flex:none}.gmc-tok i{width:20px;height:20px;background:radial-gradient(circle at 35% 35%,#fff3b0,#ffc83c 45%,#b07a00);box-shadow:0 0 0 2px #000;clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%)}
.gmc-tok i.off{background:#1a1f3a}
.gmc-depts{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:14px}
.gmc-dept{background:var(--px-ink);box-shadow:0 0 0 2px #000,0 0 0 4px #24407a,4px 5px 0 3px #000;padding:10px;margin:3px;min-width:0}
.gmc-dtop{display:flex;gap:10px;align-items:center}.gmc-dtop small{display:block;font:16px/1.1 "VT",monospace;color:var(--px-lav2)}
.gmc-dn{font:8px/1.5 "PS2P",monospace;color:var(--px-gold)}
.gmc-face{flex:none;width:46px;height:46px;background:#24407a;box-shadow:0 0 0 2px #000;display:block;image-rendering:pixelated}.gmc-face svg{width:100%;height:100%;display:block}
.gmc-face.big{width:72px;height:72px}.gmc-face.huge{width:96px;height:96px;margin:0 auto 10px}.gmc-face.sm{width:36px;height:36px}
.gmc-dlv{display:flex;align-items:center;gap:8px;margin:10px 0 4px}.gmc-dlv b{font:8px "PS2P",monospace}
.gmc-tier{display:flex;gap:3px;flex:1;min-width:80px}.gmc-tier i{flex:1;height:10px;background:#1a1f3a;box-shadow:0 0 0 1px #000}.gmc-tier i.on{background:var(--px-gold)}.gmc-tier i.nx{background:repeating-linear-gradient(90deg,#ffc83c66 0 3px,transparent 3px 6px)}
.gmc-now{margin:4px 0;font:17px/1.2 "VT",monospace}.gmc-perk{margin:2px 0;font:16px/1.2 "VT",monospace;color:var(--px-lav2)}.gmc-perk.got{color:#5fe08a}
.gmc-dpage .gmc-staff{display:flex;gap:12px;align-items:center;margin:10px 0}.gmc-staff small{display:block;font:16px "VT",monospace;color:var(--px-lav2)}
.gmc-ladder{list-style:none;padding:0;margin:10px 0}.gmc-ladder li{display:flex;gap:10px;padding:7px 8px;margin-bottom:6px;background:var(--px-ink);box-shadow:0 0 0 2px #000;font:17px/1.2 "VT",monospace}
.gmc-ladder li span{flex:none;width:40px;font:7px/1.8 "PS2P",monospace}.gmc-ladder li em{font-style:normal}
.gmc-ladder li.got{background:#123a24}.gmc-ladder li.got span{color:#5fe08a}.gmc-ladder li.next{box-shadow:0 0 0 2px #000,0 0 0 4px var(--px-gold)}.gmc-ladder li.next span{color:var(--px-gold)}.gmc-ladder li.lock{opacity:.6}
.gmc-log{list-style:none;padding:0;margin:6px 0}.gmc-log li{display:flex;gap:10px;padding:4px 0;font:17px/1.2 "VT",monospace;border-bottom:1px solid #1d2763}.gmc-log li span{flex:none;width:52px;color:var(--px-lav2)}.gmc-log li em{font-style:normal}
.gmc-lvup{text-align:center;padding:10px 0}.gmc-spark{font:10px "PS2P",monospace;letter-spacing:4px}.gmc-big{font:16px/1.6 "PS2P",monospace;color:var(--px-gold);text-shadow:3px 3px 0 #000;margin:6px 0}
.gmc-left{font:8px "PS2P",monospace;color:var(--px-gold);vertical-align:middle}
@media(prefers-reduced-motion:no-preference){.gmc-lvup .gmc-big{animation:gmcPop .4s steps(4) both}@keyframes gmcPop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}}
/* staff hires */
.gmc-slot{background:var(--px-ink);box-shadow:0 0 0 2px #000,0 0 0 4px #24407a;padding:8px 10px;margin:14px 3px}
.gmc-cands{list-style:none;padding:0;margin:6px 0}.gmc-cand{display:flex;gap:10px;align-items:center;padding:6px 0;border-top:1px solid #1d2763}.gmc-cand div{flex:1;min-width:0}.gmc-cand small{display:block;font:16px/1.15 "VT",monospace;color:var(--px-lav2)}
/* mail */
.gmc-maill{list-style:none;padding:0;margin:10px 0}
.gmc-mrow{display:grid;grid-template-columns:12px minmax(0,1fr) auto;grid-template-areas:"d s t" "d e e" "d x x";gap:2px 8px;width:100%;text-align:left;padding:8px;margin:6px 0;border:0;background:var(--px-ink);color:#fff;box-shadow:0 0 0 2px #000;font:17px/1.2 "VT",monospace}
.gmc-mrow.static{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"s t" "e e"}
.gmc-mrow b{grid-area:s;font:7px/1.6 "PS2P",monospace;color:var(--px-lav2)}.gmc-mrow em{grid-area:e;font-style:normal}.gmc-mrow small{grid-area:t;color:var(--px-lav2)}.gmc-mrow .gmc-tag{grid-area:x;justify-self:start;margin-top:3px}
.gmc-dot{grid-area:d;width:8px;height:8px;margin-top:4px;background:transparent}.gmc-mrow.unread .gmc-dot{background:var(--px-gold)}.gmc-mrow.unread b{color:var(--px-gold)}
.gmc-mailbody{background:#0d1436;box-shadow:0 0 0 2px #000;padding:10px;margin:8px 0}
/* ---------- Week Planner ---------- */
.wp-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.wp-head>div:not(.wp-grade){flex:1;min-width:0}.wp-head small{display:block;color:var(--px-lav2);font:16px "VT",monospace}.wp-head b{font:20px/1.1 "VT",monospace}
.wp-grade{width:54px;height:54px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--px-gold);color:#111;font:16px "PS2P",monospace;box-shadow:0 0 0 3px #000,4px 4px 0 3px #000}
.wp-mode,.wp-presets{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 12px}
.wp-tray{display:flex;align-items:center;gap:10px;padding:8px;margin:4px 3px 14px;background:#0d1436;box-shadow:0 0 0 2px #000,0 0 0 4px #2a3a8a}.wp-tray.sel{box-shadow:0 0 0 2px #000,0 0 0 4px var(--px-gold)}
.wp-tray>b{flex:none;font:7px/1.5 "PS2P",monospace;color:var(--px-gold)}.wp-trayc{display:flex;flex-wrap:wrap;gap:5px;flex:1;min-width:0}.wp-cnt{flex:none;color:var(--px-lav2)}
.wp-chip{display:inline-block;width:24px;height:24px;flex:none;background:radial-gradient(circle at 35% 30%,#fff7c8,#ffc83c 45%,#a06e00);box-shadow:0 0 0 2px #000,inset 0 -3px 0 rgba(0,0,0,.3);clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%);touch-action:none;cursor:grab}
.wp-tray.sel .wp-chip:first-child{transform:translateY(-6px)}
.wp-chip.ghost{position:fixed;z-index:9999;pointer-events:none;transform:scale(1.15)}
.wp-buckets{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:14px}
.wp-bk{background:var(--px-ink);box-shadow:0 0 0 2px #000,0 0 0 4px #24407a,4px 5px 0 3px #000;padding:9px;margin:3px;min-width:0}.wp-bk.drop{box-shadow:0 0 0 2px #000,0 0 0 4px var(--px-gold)}
.wp-bt{display:flex;align-items:center;gap:8px}.wp-bt b{flex:1;font:8px "PS2P",monospace;color:var(--px-gold)}
.gmc .wp-ico{width:28px;height:28px;background:var(--px-panel);box-shadow:0 0 0 2px #000,0 0 0 3px var(--px-lav)}
.wp-stack{display:flex;flex-wrap:wrap;gap:4px;min-height:28px;margin:8px 0}
.wp-line{margin:4px 0;font:17px/1.2 "VT",monospace}.wp-line b{color:var(--px-gold)}
.wp-bk small{display:block;font:15px/1.15 "VT",monospace;color:var(--px-lav2)}
.wp-rolls,.wp-risk,.wp-crowd{display:flex;gap:3px;margin:6px 0 3px}.wp-rolls i,.wp-risk i,.wp-crowd i{flex:1;height:12px;background:#1a1f3a;box-shadow:0 0 0 1px #000}
.wp-rolls i.on{background:#5fe08a}.wp-risk i.g{background:var(--px-green)}.wp-risk i.y{background:#ffb028}.wp-risk i.r{background:var(--px-red)}.wp-crowd i.on{background:var(--px-gold)}
.wp-unl{display:inline-block;font:7px "PS2P",monospace;background:#5fe08a;color:#111;padding:3px 4px;margin-top:4px}
.wp-pm{display:flex;gap:8px;margin-top:8px}.wp-pm .gmc-btn{flex:1;font-size:12px;min-height:44px}
.wp-info{background:#0a0f2c;box-shadow:0 0 0 2px #000,0 0 0 4px var(--px-gold);padding:8px;margin:10px 2px}.wp-info b{font:7px/1.5 "PS2P",monospace;color:var(--px-gold)}.wp-info p{margin:6px 0;font:16px/1.2 "VT",monospace}
.wp-list{display:grid;gap:12px;margin:8px 0}.wp-sl{background:var(--px-ink);box-shadow:0 0 0 2px #000;padding:8px 10px}.wp-slh{display:flex;justify-content:space-between}.wp-slh b{color:var(--px-gold);font:10px "PS2P",monospace}
/* FIXED sliders (game-wide): transparent input, ~44px tap height, 10px gold-fill track, 28px thumb. --p = fill percent. */
input[type=range]{-webkit-appearance:none;appearance:none;background:transparent!important;box-shadow:none!important;min-height:44px!important;height:44px;margin:4px 0;padding:0;--p:50%}
input[type=range]::-webkit-slider-runnable-track{height:10px;background:linear-gradient(90deg,#ffc83c 0 var(--p),#0a0f2c var(--p) 100%);box-shadow:0 0 0 2px #000,0 0 0 3px #3a4388;border:0}
input[type=range]::-moz-range-track{height:10px;background:#0a0f2c;box-shadow:0 0 0 2px #000,0 0 0 3px #3a4388;border:0}
input[type=range]::-moz-range-progress{height:10px;background:#ffc83c}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-9px;background:linear-gradient(180deg,#fff,#c8ccec);border:3px solid #000;border-radius:0;box-shadow:2px 2px 0 #000}
input[type=range]::-moz-range-thumb{width:22px;height:22px;background:linear-gradient(180deg,#fff,#c8ccec);border:3px solid #000;border-radius:0;box-shadow:2px 2px 0 #000}
input[type=range]:focus-visible{outline:3px solid #ffc83c;outline-offset:2px}
/* ---------- Hub cleanup ---------- */
#v-hub .hcallw{margin:10px 0}
.hcall{display:flex;align-items:center;gap:10px;padding:10px;background:var(--px-navy);box-shadow:0 0 0 2px #000,0 0 0 4px var(--px-lav),4px 5px 0 3px #000;margin:4px 4px 12px}
.hcall.need{box-shadow:0 0 0 2px #000,0 0 0 4px var(--px-gold),4px 5px 0 3px #000}
.hcall>div{flex:1;min-width:0}.hcall b{display:block;font:8px/1.5 "PS2P",monospace;color:var(--px-gold)}.hcall span:not(.pxp-badge){color:var(--px-lav2)}
.hcall .pxp-badge{position:static;flex:none}
.hcall.done b{color:#5fe08a}
.hdock{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 4px}
.hdk{position:relative;min-height:66px;padding:10px 6px;border:0;background:#0d1a3a;color:#fff;text-align:center;box-shadow:0 0 0 2px #000,0 0 0 4px #24407a,4px 5px 0 3px #000;cursor:pointer}
.hdk b{display:block;font:7px/1.6 "PS2P",monospace;color:var(--px-gold)}.hdk small{display:block;font-size:12px;color:var(--px-lav2)}
.hdk .pxp-badge{position:absolute;top:-10px;right:-8px}
/* Non-current office fallback: still relative to the computer box. */
.scene:not(.office-current) .office-computer .hub-pc-badge{position:absolute;right:-8px;top:-10px;display:block!important;z-index:4;pointer-events:none}
/* Current office: pin to the monitor's top-right (League icon) in 384x204 stage space,
   not the expanded hit box. Lives on .office-stage so clip-path / SVG outlines can't clip it. */
.scene.office-current .hub-pc-badge{
  position:absolute;left:calc(100% * 122.3 / 384 - 7.5px);top:calc(100% * 83.2 / 204 - 7.5px);
  right:auto;display:block!important;min-width:15px;height:15px;padding:0 3px;
  font:8px/15px "PS2P",monospace;box-shadow:0 0 0 1px #000,0 0 0 2px #fff;
  transform-origin:50% 50%;z-index:8;pointer-events:none;overflow:visible
}
@media (prefers-reduced-motion:no-preference){
  .scene.office-current .hub-pc-badge{animation:hubBadgeWiggle 4.5s ease-in-out infinite}
}
@keyframes hubBadgeWiggle{
  0%,6%,100%{transform:translate(0) rotate(0)}
  1%{transform:translate(1px,0) rotate(-1.5deg)}
  2%{transform:translate(-1px,0) rotate(1.5deg)}
  3%{transform:translate(1px,0) rotate(-1deg)}
  4.5%{transform:translate(-1px,0) rotate(1deg)}
  6%{transform:translate(0) rotate(0)}
}
/* ---------- Event pop-up (buzz, outcome lights, result card) ---------- */
#mbox:has(.ev-pop){width:min(560px,94vw)!important}
.ev-pop:has(.ev-res) .ev-from small,.ev-pop:has(.ev-res) .ev-ring{display:none}
.ev-kicker{display:flex;align-items:center;gap:8px;font:8px/1.6 "PS2P",monospace!important;color:var(--px-gold)!important}
.ev-ring{display:inline-block;color:var(--px-gold)}
@media(prefers-reduced-motion:no-preference){.ev-pop:not([data-picked]) .ev-ring{animation:evBuzz .5s steps(2) infinite}@keyframes evBuzz{0%{transform:translateX(-2px)}100%{transform:translateX(2px)}}
 #deskPhone.ev-buzz{animation:evBuzz .45s steps(2) infinite}}
#deskPhone.ev-buzz{outline:3px solid var(--px-gold);outline-offset:2px;box-shadow:0 0 18px var(--px-gold)}
.ev-from{display:flex;flex-direction:column;margin:2px 0 8px}.ev-from small{color:var(--px-lav2)}
.ev-ab{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;background:var(--px-gold);color:#111;font:9px "PS2P",monospace;box-shadow:0 0 0 2px #000;margin-right:6px;vertical-align:middle}
.ev-lights{display:flex;gap:6px;justify-content:center;margin:10px 0}
.ev-lights span{font:8px "PS2P",monospace;padding:8px;background:#0d1436;color:#8890c8;box-shadow:0 0 0 2px #000}
.ev-res.r0 .l0{background:#2c9a48;color:#fff;box-shadow:0 0 0 2px #000,0 0 12px #5fe08a}.ev-res.r1 .l1{background:#ffb028;color:#111;box-shadow:0 0 0 2px #000,0 0 12px #ffb028}.ev-res.r2 .l2{background:#d8283a;color:#fff;box-shadow:0 0 0 2px #000,0 0 12px #ff6a78}
@media(prefers-reduced-motion:no-preference){.ev-lights span{animation:evLight .9s steps(1) both}.ev-lights .l1{animation-delay:.15s}.ev-lights .l0{animation-delay:.3s}
 @keyframes evLight{0%,20%{background:#fff;color:#111}21%,100%{}}
 .ev-card{animation:evIn .25s steps(4) .9s both}@keyframes evIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
.ev-stamp{display:inline-block;font:12px "PS2P",monospace;padding:8px 10px;border:3px solid currentColor;transform:rotate(-3deg);margin:4px 8px 8px 0}
.ev-res.r0 .ev-stamp{color:#5fe08a}.ev-res.r1 .ev-stamp{color:#ffb028}.ev-res.r2 .ev-stamp{color:#ff6a78}
.ev-tag{display:inline-block;font:7px "PS2P",monospace;padding:4px 6px;background:var(--px-panel);box-shadow:0 0 0 2px #000;vertical-align:middle}.ev-tag.right{background:#1f6b38}.ev-tag.shady{background:#7a2030}
.ev-txt{font-weight:700}
.ev-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.ev-chip{font-size:14px;padding:4px 8px;background:#1f6b38;box-shadow:0 0 0 2px #000}.ev-chip.dn{background:#7a2030}
.ev-nx{background:#3a2a08;box-shadow:0 0 0 2px #000;padding:6px 8px}
@media(max-width:700px){.gmc-top{padding:4px 10px 4px 14px;gap:6px}.gmc-top b{font-size:8px}.gmc-stat{font-size:7px}.gmc-main{padding:10px}.gmc-bezel{clip-path:var(--px-st8)}.gmc-screen{inset:8px}
 .gmc-dock{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px 2px;padding:12px 6px 12px}.gmc-app{width:auto;gap:11px;padding:4px 0 0;min-width:0}.gmc .gmc-ico{width:32px;height:32px}.gmc-lbl{font-size:5px!important;max-width:100%;letter-spacing:-.2px}
 .gmc-widgets{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gmc .computer-league-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* one clean hub (no Simple/Detailed toggle): keep the first-season objectives board visible */
#v-hub.hsimple.view .storyw .guide{display:block!important}

/* 12px floor + short-desktop layout */
.gmc-top b,.gmc-stat,.gmc-lbl,.gmc-btn,.gmc-btn.sm,.gmc-i,.gmc-wd small,.gmc-hint,
.gmc-wt b,.gmc .gmc-wb h2,.gmc .gmc-wb .btn,.gmc-h4,.gmc-tag,.gmc-new,.gmc-kick b,
.gmc-dn,.gmc-dlv b,.gmc-ladder li span,.gmc-left,.gmc-mrow b,.wp-tray>b,.wp-bt b,
.wp-info b,.wp-unl,.hcall b,.hdk b,.ev-kicker,.ev-lights span,.ev-ab,.ev-tag,
.gmc-spark,.gmc .computer-league-nav .btn{font-size:12px!important;line-height:1.35}
.gmc-lbl{max-width:100%;width:100%;white-space:normal;overflow:hidden;text-overflow:clip;letter-spacing:0;font-size:12px!important;word-break:keep-all;overflow-wrap:normal;hyphens:manual;text-align:center}
.gmc-wb{overflow-wrap:break-word}
.gmc .computer-league-nav{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:8px}
.gmc .computer-league-nav .btn,.gmc .gmc-wb .btn{overflow-wrap:break-word;word-break:normal;hyphens:manual;white-space:normal;min-height:44px}
.gmc-top{flex-wrap:nowrap;gap:8px;position:relative;z-index:4}
#computerOffice{flex:none;margin-left:auto;z-index:5}
@media(max-width:1100px){.gmc-dock{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));justify-items:center;gap:8px 4px}.gmc-app{width:100%;max-width:120px}}
@media(max-width:900px){.gmc-stat{max-width:28%;font-size:12px!important}}
@media(max-width:1100px),(max-height:700px){
 .gmc-main.has-win.gmc-two{overflow:auto}
 .gmc-main.gmc-two .gmc-wins{grid-template-columns:minmax(0,1fr);height:auto}
 .gmc-main.has-win .gmc-win{max-height:none}
}
@media(max-width:700px){
 .gmc-lbl{font-size:12px!important}
 .gmc-dock{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 6px}
}
#modal:has(.gmc){padding:2px;align-items:stretch;justify-content:stretch;overflow:hidden}
#mbox:has(.gmc){width:min(1240px,calc(100vw - 4px))!important;height:calc(100dvh - 4px)!important;max-height:calc(100dvh - 4px)!important}
.gmc h3,.gmc h4,.gmc .pxp-badge,.gmc .pxp-lbl,.computer-shell h3,.computer-shell .pxp-badge{font-size:12px!important;line-height:1.3}
