/* LT Stat Tracker v2 clickable demo: overlay styles. Demo data only. */
.demo-badge{position:fixed;left:50%;bottom:6px;transform:translateX(-50%);z-index:9999;background:#FFD43B;color:#0A1A33;font:900 11px/1 Inter,system-ui,sans-serif;letter-spacing:.12em;padding:5px 10px;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.25);pointer-events:none;white-space:nowrap}
.pr,.b,.gl,.lr,.ic,.chk,.star,.cta,.btn2,.seg div,.ptile div,.pc span,.ck,.lnk{cursor:pointer;user-select:none}
.b:active,.cta:active,.btn2:active{transform:scale(.97)}
.b.flash{outline:3px solid #2BD47A;outline-offset:-3px}
input.inp{font:inherit;font-weight:700;font-size:13px;outline:none;min-width:0}input.inp::placeholder{color:#A3ADBF;font-weight:500}input.inp:focus{border-color:#1D4ED8}
.lr.ed{background:#FFF7E0;box-shadow:inset 3px 0 #F2B300}
.edrow{display:flex;flex-wrap:wrap;gap:6px;padding:0 10px 8px 58px;background:#FFF7E0;align-items:center}
.edrow select{font:700 11px Inter,system-ui,sans-serif;padding:4px 6px;border-radius:8px;border:1px solid #EAD9A3;background:#fff;max-width:140px}
.edrow button{font:800 11px Inter,system-ui,sans-serif;padding:5px 9px;border-radius:8px;border:1px solid #EAD9A3;background:#fff;cursor:pointer}.edrow button.ok{background:#0A1A33;color:#fff;border-color:#0A1A33}
.ic.e{color:#1D4ED8}
.lr.new{animation:lrIn .35s ease}@keyframes lrIn{from{background:#E2F6EA}to{background:transparent}}
.keys.hot{background:#FFF7E0}
.cta.sent{background:#13834A;box-shadow:0 8px 20px rgba(19,131,74,.3)}
.sentnote{background:#E2F6EA!important;border-color:#BFE8CF!important;color:#0B5A33!important}
.pr.added{animation:lrIn .6s ease}
@media (max-width:600px){.demo-badge{bottom:2px;font-size:9px;padding:3px 8px}}
/* Laptop scorer polish (02/04/05/06/08) — CSS only, phone untouched */
.jtype{margin-left:8px;display:inline-flex;align-items:center;gap:5px;font:800 11px Inter,system-ui,sans-serif;color:#41506A;white-space:nowrap}
.jtype input{width:60px;border:1px solid #DCE3EE;border-radius:8px;padding:5px 7px;background:#fff}
@media (min-width:900px){
 body:not([data-page="03-football"]) .rs{overflow-y:auto;overscroll-behavior:contain}
 body:not([data-page="03-football"]) .pr .n{font-size:13px}
 body:not([data-page="03-football"]) .pr .j{min-width:30px;font-weight:900}
 body:not([data-page="03-football"]) .sbd .sc{font-variant-numeric:tabular-nums}
 body:not([data-page="03-football"]) .card.lap .pad .b{min-height:54px}
}

/* Phone jersey type-in (non-football) */
.ph-jtype{display:none!important}
@media (max-width:600px){
  .ph-jtype{display:flex!important;align-items:center;gap:8px;padding:0 2px;font:800 12px Inter,system-ui,sans-serif;color:#41506A;flex:none}
  .ph-jtype input{flex:1;min-width:0;border:1px solid #DCE3EE;border-radius:10px;padding:9px 12px;background:#fff;font-size:16px}
}

/* ===== Laptop-primary game-day polish (2026-10-24, DEMO) — desk only, phone mirror untouched ===== */
@media (min-width:901px){
  body .ltcunit:not(.ltcunit-ph){padding:10px 12px;font-size:13px;border-top:2px solid #0A1A33}
  body .ltcunit:not(.ltcunit-ph) .ur{gap:8px}
  body .ltcunit:not(.ltcunit-ph) .ul{font-size:12px}
  body .ltcunit:not(.ltcunit-ph) .ut{min-height:40px;min-width:64px;padding:8px 14px;font-size:14px;border-radius:10px}
  body .ltcunit:not(.ltcunit-ph) .upos{min-height:40px;padding:8px 16px;font-size:14px;border-width:2px;border-radius:10px}
  body .ltcunit:not(.ltcunit-ph)[data-poss="LTC"] .upos{background:#0A1A33;color:#fff;border-color:#0A1A33}
  body .ltcunit:not(.ltcunit-ph)[data-poss]:not([data-poss="LTC"]) .upos{background:#FDECEC;color:#9B1C1C;border-color:#E11D2E}
  body .ltcunit:not(.ltcunit-ph) input{width:84px;min-height:38px;font-size:15px;padding:6px 9px}
  body .ltcunit:not(.ltcunit-ph) .ujm{font-size:12px}
  body .ltcunit:not(.ltcunit-ph) .uc{flex-wrap:wrap;overflow:visible;gap:7px;padding-top:8px}
  /* smoke-lock fix 2026-10-25: unit strip must not collapse the dressed roster list (.rs) to 0px on desk */
  body .card > .ltcunit:not(.ltcunit-ph){flex:0 1 auto;min-height:0;overflow-y:auto}
  body .card > .rs{flex:1 1 180px;min-height:180px}
  body .ltcunit:not(.ltcunit-ph) .uchip{min-width:62px;min-height:52px;font-size:12px;border-radius:11px;padding:5px 9px}
  body .ltcunit:not(.ltcunit-ph) .uchip b{font-size:18px}
  body .ltcunit:not(.ltcunit-ph) .uchip:hover,body .ltcunit:not(.ltcunit-ph) .ut:hover{border-color:#0A1A33}
  body .ltcunit button:focus-visible,body .ltcunit input:focus-visible,body .sbdp button:focus-visible{outline:3px solid #FFD43B;outline-offset:2px}
  body .sep.olpark{margin-top:10px;border-top:1px dashed #CBD5E1;padding-top:6px;font-weight:800}
  /* Softball DP/FLEX + CR panel: readable beside box score */
  body .sbdp:not(.sbdp-ph){max-height:52vh;overflow:auto;padding:12px 14px;font-size:13px;border-top:2px solid #0A1A33;background:#FBFCFE}
  body .sbdp:not(.sbdp-ph) .sbh{font-size:13px;margin-bottom:4px}
  body .sbdp:not(.sbdp-ph) .sbt{margin-top:8px;padding:8px 10px;background:#fff;border:1px solid #E6EBF3;border-radius:10px;line-height:1.6}
  body .sbdp:not(.sbdp-ph) .sbt b{font-size:14px;margin-right:6px}
  body .sbdp:not(.sbdp-ph) .sbb{min-height:38px!important;padding:8px 14px;font-size:13px;border-width:2px;border-radius:10px;margin:6px 8px 0 0}
  body .sbdp:not(.sbdp-ph) .sbb:hover{background:#0A1A33;color:#fff}
  body .sbdp:not(.sbdp-ph) .sbb.cr:hover{background:#E11D2E;color:#fff}
  body .sbdp:not(.sbdp-ph) .sbl{margin-top:10px;font-size:12.5px;color:#41506A;background:#FFF9E0;border-radius:8px;padding:7px 10px}
}

/* ===== Desk pass 2 (2026-10-25, DEMO): ? cheat sheet, Undo w/ confirm, BB/VB/soccer/baseball desk bar ===== */
.ltk-ov{position:fixed;inset:0;background:rgba(10,26,51,.55);z-index:9999;display:flex;align-items:center;justify-content:center;font-family:Inter,system-ui,sans-serif}
.ltk-ov[hidden]{display:none}
.ltk-box{background:#fff;border-radius:14px;width:min(860px,92vw);max-height:86vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.35);border-top:6px solid #E11D2E}
.ltk-hd{display:flex;justify-content:space-between;align-items:center;background:#0A1A33;color:#fff;padding:12px 18px}
.ltk-hd h2{margin:0;font-size:18px}
.ltk-x{background:#fff;color:#0A1A33;border:0;border-radius:8px;font-size:16px;font-weight:800;min-width:36px;min-height:36px;cursor:pointer}
.ltk-bd{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:14px 18px}
.ltk-bd h3{margin:6px 0;font-size:13px;color:#E11D2E;text-transform:uppercase;letter-spacing:.04em}
.ltk-bd table{width:100%;border-collapse:collapse;font-size:13.5px}
.ltk-bd td{padding:5px 6px;border-bottom:1px solid #EEF2F7;color:#0A1A33}
.ltk-bd td:first-child{width:40%;white-space:nowrap}
.ltk-ov kbd{display:inline-block;min-width:22px;padding:2px 7px;border:1px solid #0A1A33;border-bottom-width:3px;border-radius:6px;font:800 12.5px ui-monospace,Menlo,monospace;background:#F4F7FB;color:#0A1A33;text-align:center}
.ltk-ft{padding:8px 18px 14px;font-size:12px;color:#41506A}
.ltk-ov button:focus-visible,.ltu button:focus-visible{outline:3px solid #FFD43B;outline-offset:2px}
.ltu{position:fixed;right:16px;bottom:16px;z-index:9000;display:none;gap:8px;align-items:center;font:700 14px Inter,system-ui,sans-serif}
.ltu button{min-height:44px;padding:8px 16px;border-radius:10px;border:2px solid #0A1A33;background:#fff;color:#0A1A33;font:800 14px Inter,system-ui,sans-serif;cursor:pointer;box-shadow:0 4px 14px rgba(10,26,51,.18)}
.ltu .ltu-b{border-color:#E11D2E;color:#9B1C1C}
.ltu .ltu-b:hover{background:#E11D2E;color:#fff}
.ltu .ltu-c{display:inline-flex;gap:8px;align-items:center;background:#0A1A33;color:#fff;padding:6px 8px 6px 14px;border-radius:12px}
.ltu .ltu-c[hidden],.ltu [hidden]{display:none}
.ltu .ltu-y{background:#E11D2E;color:#fff;border-color:#E11D2E}
@media (min-width:901px){
  .ltu{display:flex}
  body .card.lap .pad .b{min-height:56px;font-size:15px}
  body .card.lap .pad .b kbd{font-size:12px;min-width:20px}
  body .card.lap .pad .b:focus-visible,body .pr:focus-visible,body .clock .pc span:focus-visible{outline:3px solid #FFD43B;outline-offset:2px}
  body .card.lap .pad .b:hover{box-shadow:0 0 0 2px #0A1A33 inset}
  body .jtype{font-size:14px;font-weight:800;padding:8px 10px;background:#FFF9E0;border:2px solid #0A1A33;border-radius:10px;margin:6px 0}
  body .jtype input{min-height:40px;font-size:18px;font-weight:800;width:100px;padding:6px 10px;border:2px solid #0A1A33;border-radius:8px}
  body .jtype input:focus-visible{outline:3px solid #FFD43B;outline-offset:2px}
  body .app{max-width:100%;box-sizing:border-box}
  body .rs,body .keys{flex-wrap:wrap;overflow-x:visible}
  body .card table{max-width:100%}
  body .card table th,body .card table td{padding-left:3px!important;padding-right:3px!important}
  body .card:has(> table),body .card .tw{overflow-x:auto}
}
@media (min-width:901px) and (max-width:1500px){
  body .card table{font-size:11.5px}
  body .card table th,body .card table td{padding-left:2px!important;padding-right:2px!important}
}
@media (min-width:901px){
  body .card div[style*="overflow:hidden"]:has(> table){overflow-x:auto!important}
}
@media (min-width:901px) and (max-width:1360px){
  body .card table td:first-child{white-space:normal}
}

/* ===== 3 AM fix (2026-10-25, DEMO): reserve a desk footer band so fixed Undo/Keys never cover the key strip (768/800/900 heights) ===== */
@media (min-width:901px){
  body .app{padding-bottom:64px!important;box-sizing:border-box}
  body:has(#ltUndo)::after{content:"";position:fixed;left:0;right:0;bottom:0;height:64px;background:#F2F4F8;border-top:1px solid #DCE3EE;z-index:8999;pointer-events:none}
  .ltu{bottom:10px;right:16px}
}
/* Scores export (DEMO) box: dock into the desk footer band, left side, so it never covers pad keys or CTAs */
@media (min-width:901px){
  body #scores-emit{left:16px!important;right:auto!important;bottom:8px!important;z-index:9001!important;display:flex;align-items:center;gap:8px;flex-wrap:nowrap;white-space:nowrap;padding:6px 10px!important;border:1px solid #DCE3EE!important;border-radius:10px!important;font:600 12.5px Inter,system-ui,sans-serif!important;color:#41506A}
  body #scores-emit br{display:none}
  body #scores-emit b{color:#0A1A33}
  body #scores-emit button{min-height:36px;padding:4px 12px;border:2px solid #0A1A33;border-radius:8px;background:#fff;color:#0A1A33;font:800 13px Inter,system-ui,sans-serif;cursor:pointer}
  body #scores-emit button:hover{background:#0A1A33;color:#fff}
  body #scores-emit button:focus-visible{outline:3px solid #FFD43B;outline-offset:2px}
}
/* ===== Send-final / review desk pass (3 AM, DEMO) ===== */
@media (min-width:901px){
  body[data-page="07-send-final"]::after{content:"";position:fixed;left:0;right:0;bottom:0;height:64px;background:#F2F4F8;border-top:1px solid #DCE3EE;z-index:8999;pointer-events:none}
  body[data-page="07-send-final"] .app{padding-bottom:64px;box-sizing:border-box}
  body[data-page="07-send-final"] .body{padding:14px 18px;gap:16px}
  body[data-page="07-send-final"] .ch{font-size:12px;padding:12px 14px 9px;color:#0A1A33;border-bottom:2px solid #F0F2F6}
  body[data-page="07-send-final"] .ch em{font-size:12.5px}
  body[data-page="07-send-final"] .card{border-top:4px solid #0A1A33}
  body[data-page="07-send-final"] .card.lap[style*="grid-area:a"]{border-top-color:#E11D2E;overflow:auto}
  body[data-page="07-send-final"] table{font-size:13px}
  body[data-page="07-send-final"] th{font-size:10.5px;padding:7px 6px}
  body[data-page="07-send-final"] td{padding:7px 6px}
  body[data-page="07-send-final"] tr:not(.t):hover td{background:#F4F7FB}
  body[data-page="07-send-final"] .pr{min-height:48px;padding:8px 14px!important}
  body[data-page="07-send-final"] .pr .n{font-size:14px}
  body[data-page="07-send-final"] .pr .n small{font-size:11.5px}
  body[data-page="07-send-final"] .chk{width:26px;height:26px;border-radius:7px;cursor:pointer}
  body[data-page="07-send-final"] .chk.on:after{left:7px;top:2px;width:7px;height:13px}
  body[data-page="07-send-final"] .lnk{font-size:12.5px;padding:8px 12px;cursor:pointer}
  body[data-page="07-send-final"] .kv{font-size:13px;padding:9px 14px}
  body[data-page="07-send-final"] .note{font-size:12.5px}
  body[data-page="07-send-final"] .cta{height:60px!important;font-size:17px!important;border-radius:14px;cursor:pointer;background:#E11D2E}
  body[data-page="07-send-final"] .cta:hover{background:#B8121F}
  body[data-page="07-send-final"] .cta.sent{background:#13834A;box-shadow:0 8px 20px rgba(19,131,74,.3)}
  body[data-page="07-send-final"] .btn2{height:48px!important;font-size:14px;border:2px solid #0A1A33;color:#0A1A33;cursor:pointer}
  body[data-page="07-send-final"] .btn2:hover{background:#0A1A33;color:#fff}
  body[data-page="07-send-final"] .hero .gl{height:40px;padding:0 16px;font-size:13px;cursor:pointer}
  body[data-page="07-send-final"] .cta:focus-visible,body[data-page="07-send-final"] .btn2:focus-visible,body[data-page="07-send-final"] .chk:focus-visible,body[data-page="07-send-final"] .lnk:focus-visible,body[data-page="07-send-final"] .gl:focus-visible{outline:3px solid #FFD43B;outline-offset:3px}
}
@media (min-width:901px) and (max-height:820px){
  body[data-page="07-send-final"] .hero{padding-bottom:24px}
  body[data-page="07-send-final"] .sc{font-size:48px}
  body[data-page="07-send-final"] td{padding:5px 6px}
  body[data-page="07-send-final"] .pr{min-height:44px;padding:6px 14px!important}
}
@media (min-width:901px){
  body #scores-emit{font-size:0!important}
  body #scores-emit b{font-size:12.5px}
  body #scores-emit .out{font-size:12px;color:#13834A;font-weight:700}
}
/* ===== Game Hub + check-in desk pass (Sun 3:xx AM, DEMO) — ≥901px only, matches send-final desk bar ===== */
@media (min-width:901px){
  body[data-page="index"] .idx{max-width:1180px;padding:28px 28px 60px}
  body[data-page="index"] .h1{font-size:30px}
  body[data-page="index"] .lead{font-size:14.5px;max-width:860px}
  body[data-page="index"] .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  body[data-page="index"] a.card{border-top:4px solid #0A1A33;min-height:96px;padding:16px 18px;cursor:pointer;justify-content:center;transition:box-shadow .12s,transform .12s}
  body[data-page="index"] a.card[data-link^="01"]{border-top-color:#E11D2E}
  body[data-page="index"] a.card[data-link="07-send-final"]{border-top-color:#E11D2E;background:#0A1A33;color:#fff}
  body[data-page="index"] a.card[data-link="07-send-final"] span{color:rgba(255,255,255,.75)}
  body[data-page="index"] a.card b{font-size:16.5px}
  body[data-page="index"] a.card span{font-size:13px}
  body[data-page="index"] a.card:hover{border-color:#E3E8F0;border-top-color:#E11D2E;box-shadow:0 8px 20px rgba(10,26,51,.14);transform:translateY(-1px)}
  body[data-page="index"] a.card:focus-visible{outline:3px solid #FFD43B;outline-offset:3px}
  body[data-page^="01"] .card{border-top:4px solid #0A1A33}
  body[data-page^="01"] .card.lap[style*="grid-area:away"]{border-top-color:#E11D2E}
  body[data-page^="01"] .ch{font-size:12px;padding:12px 14px 9px;color:#0A1A33;border-bottom:2px solid #F0F2F6}
  body[data-page^="01"] .pr{min-height:44px}
  body[data-page^="01"] .pr .n{font-size:13.5px}
  body[data-page^="01"] .pr:hover{background:#F4F7FB}
  body[data-page^="01"] .chk{width:26px;height:26px;border-radius:7px;cursor:pointer}
  body[data-page^="01"] .chk.on:after{left:7px;top:2px;width:7px;height:13px}
  body[data-page^="01"] .star{font-size:20px;cursor:pointer;padding:4px 6px;border-radius:8px}
  body[data-page^="01"] .kv{font-size:13px;padding:8px 14px}
  body[data-page^="01"] .note{font-size:12.5px}
  body[data-page^="01"] .cta{height:60px!important;min-height:60px;font-size:17px!important;cursor:pointer;background:#E11D2E}
  body[data-page^="01"] .cta:hover{background:#B8121F}
  body[data-page^="01"] .btn2{height:48px!important;font-size:14px;border:2px solid #0A1A33;color:#0A1A33;cursor:pointer}
  body[data-page^="01"] .btn2:hover{background:#0A1A33;color:#fff}
  body[data-page^="01"] input.inp{height:48px;font-size:15px}
  body[data-page^="01"] .hero .gl{height:48px;padding:0 18px;font-size:13.5px;cursor:pointer}
  body[data-page^="01"] .rs{overflow:auto}
  body[data-page^="01"] .cta:focus-visible,body[data-page^="01"] .btn2:focus-visible,body[data-page^="01"] .chk:focus-visible,body[data-page^="01"] .star:focus-visible,body[data-page^="01"] .gl:focus-visible,body[data-page^="01"] input.inp:focus-visible{outline:3px solid #FFD43B;outline-offset:3px}
}
@media (min-width:901px) and (max-height:820px){
  body[data-page^="01"] .pr{min-height:40px}
  body[data-page^="01"] .sc,body[data-page^="01"] .ck{font-size:28px}
}

/* Game Hub roster-state DEMO stubs */
.hst{font-size:15px;font-weight:900;color:#0A1A33;margin:22px 0 10px}.hst small{font-weight:600;color:#6B7890;font-size:12px;margin-left:6px}
.scard{padding:16px 18px;gap:8px;border-top:4px solid #0A1A33}.scard[data-state="opp-not-ltc"]{border-top-color:#E11D2E}
.scard .sh{display:flex;align-items:center;gap:8px}.scard b{font-size:16px}.scard>span{font-size:13px;color:#5B6B85;line-height:1.45}
.stag{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:#0A1A33;color:#fff;border-radius:6px;padding:2px 7px}.stag.red{background:#E11D2E}
.scard.empty{background:repeating-linear-gradient(135deg,#F7F9FC 0 10px,#F1F4F9 10px 20px);border-style:dashed;border-top-style:solid}
.scard.empty b{color:#5B6B85}.scard .ghost{display:flex;gap:6px}.scard .ghost i{flex:1;height:10px;border-radius:5px;background:#E3E8F0}
.scard .cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:12px;background:#0A1A33;color:#fff;font-weight:800;font-size:14px;text-decoration:none;align-self:flex-start;margin-top:auto}
.scard[data-state="opp-not-ltc"] .cta{background:#E11D2E}.scard .cta:hover{filter:brightness(1.12)}
.scard .cta:focus-visible{outline:3px solid #FFD43B;outline-offset:2px}
@media (min-width:901px){body[data-page="index"] .hstates{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* 2026-10-25 diamond desk polish (DEMO): denser, clearer scoreboard + inning at laptop 1280×800-class heights */
@media (min-width:901px) and (max-height:860px){
  body:is([data-page="06-baseball"],[data-page="08-softball"]) .hero{padding-bottom:22px}
  body:is([data-page="06-baseball"],[data-page="08-softball"]) .sbd{margin-top:6px;gap:12px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  body:is([data-page="06-baseball"],[data-page="08-softball"]) .sbd .sc{font-size:46px;line-height:1;letter-spacing:-1px;font-variant-numeric:tabular-nums;min-width:1.3ch;text-align:center;background:rgba(255,255,255,.08);border-radius:12px;padding:2px 8px}
  body:is([data-page="06-baseball"],[data-page="08-softball"]) .sbd .tm{min-width:0}
  body:is([data-page="06-baseball"],[data-page="08-softball"]) .sbd .tnm{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body:is([data-page="06-baseball"],[data-page="08-softball"]) .sbd .av{width:38px;height:38px;font-size:12px}
  body:is([data-page="06-baseball"],[data-page="08-softball"]) .clock{padding:6px 12px;border-radius:14px}
  body:is([data-page="06-baseball"],[data-page="08-softball"]) .clock .ck{font-size:27px;letter-spacing:0;display:inline-block;background:#fff;color:#0A1A33;border-radius:9px;padding:3px 12px;font-variant-numeric:tabular-nums}
  body:is([data-page="06-baseball"],[data-page="08-softball"]) .clock .pc{gap:4px;margin-top:5px;flex-wrap:nowrap}
  body:is([data-page="06-baseball"],[data-page="08-softball"]) .clock .pc span{height:22px;min-width:22px;padding:0 6px;font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}
}
/* 2026-10-25 timed-sports desk polish (DEMO): BB/VB/soccer clock + period chips denser/clearer, pad ≥56px */
@media (min-width:901px){
  body:is([data-page="02-basketball"],[data-page="04-volleyball"],[data-page="05-soccer"]) .clock{padding:6px 12px;border-radius:14px}
  body:is([data-page="02-basketball"],[data-page="04-volleyball"],[data-page="05-soccer"]) .clock .ck{font-size:30px;letter-spacing:0;display:inline-block;background:#fff;color:#0A1A33;border-radius:9px;padding:3px 12px;font-variant-numeric:tabular-nums;line-height:1.05}
  body:is([data-page="02-basketball"],[data-page="04-volleyball"],[data-page="05-soccer"]) .clock .pc{gap:4px;margin-top:5px;flex-wrap:nowrap;justify-content:center}
  body:is([data-page="02-basketball"],[data-page="04-volleyball"],[data-page="05-soccer"]) .clock .pc span{height:24px;min-width:26px;padding:0 7px;font-size:11.5px;white-space:nowrap;font-variant-numeric:tabular-nums;border:1px solid rgba(255,255,255,.18)}
  body:is([data-page="02-basketball"],[data-page="04-volleyball"],[data-page="05-soccer"]) .clock .pc span.on{background:#D0142C;color:#fff;border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.35)}
  body:is([data-page="02-basketball"],[data-page="04-volleyball"],[data-page="05-soccer"]) .card.lap .pad .b{min-height:56px}
}
/* 2026-10-25 selected-player bar: name ellipsizes inside its own box so the typed-jersey hint never overlaps (all pads share .selp) */
.selp .x{flex:1 1 120px;min-width:110px;overflow:hidden;white-space:normal;line-height:1.2;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;word-break:break-word}
.selp .x small{white-space:nowrap}
.selp .typed{flex:none;position:relative;z-index:1}
.selp .lnk{flex:0 1 auto;min-width:28px;overflow:hidden;text-overflow:ellipsis;position:relative;z-index:1}

/* 5 AM kbd pass: sport-page header Send final / Shortcuts / Undo focus ring */
.hero .gl[tabindex]:focus-visible{outline:3px solid #FFD43B;outline-offset:3px}
/* 2026-10-25 FB yards control in the ball-spot card header */
.ydsbox{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;color:#0A1A33;text-transform:none}
.ydsbox input.yds{width:44px;height:22px;padding:0 6px;border:2px solid #FFD43B;border-radius:6px;font:inherit;font-size:12px;text-align:center;background:#FFFBEA}
.ydsbox input.yds:focus{outline:3px solid #FFD43B;outline-offset:1px}
/* 2026-10-25 FB Pass → receiver prompt */
.rcvask{display:inline-block;margin:0 8px;padding:2px 8px;border-radius:6px;background:#FFD43B;color:#0A1A33;font-size:11px;font-weight:800;text-transform:none;letter-spacing:0;white-space:nowrap}
.pr.rcvpick{box-shadow:inset 0 0 0 2px #FFD43B;cursor:pointer}

/* FB box Offense | Defense toggle (DEMO) */
.bxv{display:inline-flex;gap:1px;margin:0 4px;vertical-align:middle;background:#F0F2F6;border-radius:7px;padding:2px}
.bxv button{border:0;background:transparent;font:800 10px/1 inherit;padding:3px 6px;border-radius:5px;color:#5A6B85;cursor:pointer}
.bxv button.on{background:#0A1A33;color:#fff}
table.dbox td,table.dbox th{text-align:right}table.dbox td:first-child,table.dbox th:first-child{text-align:left}
table.dbox th:last-child,table.dbox td:last-child{padding-right:12px}
.card[data-box-v] .ch em{white-space:nowrap}
table.dbox tr.dim{opacity:.5}
.edrow input.ed-yds{font:700 11px Inter,system-ui,sans-serif;padding:4px 6px;border-radius:8px;border:1px solid #EAD9A3;width:64px}

/* FB try prompt (DEMO) */
.card.lap[style*='grid-area:pad']{position:relative}
.trybar{position:absolute;top:6px;left:8px;right:8px;z-index:5;box-shadow:0 4px 14px rgba(10,26,51,.18);display:flex;align-items:center;gap:8px;margin:0;padding:8px 10px;border-radius:10px;background:#FFF4D6;border:2px solid #FFD43B;font:700 12px Inter,system-ui,sans-serif;color:#0A1A33}
.trybar b{margin-right:auto}
.trybar button{font:800 12px Inter,system-ui,sans-serif;padding:6px 12px;border-radius:8px;border:1px solid #0A1A33;background:#0A1A33;color:#fff;cursor:pointer}
.trybar button[data-a=skip]{background:#fff;color:#0A1A33}
.trybar kbd{font:700 10px ui-monospace,monospace;opacity:.7;margin-left:4px}
.penbar{gap:5px}.penbar span{font:800 10px Inter,system-ui,sans-serif;color:#5A6B85;margin-left:4px}.penbar button{padding:6px 8px}.penbar button.sk{background:#fff;color:#0A1A33}
.runbar button.cs{background:#D0142C}
body #scores-emit .mkn{font-size:11px;color:#5A6B85;font-weight:700}

/* DEMO diamond live box (1280×800): fixed inning columns; player stat rows show one summary cell (td.bsum) instead of per-stat cells */
body table.dia-box{table-layout:fixed;width:100%}
body table.dia-box th:first-child,body table.dia-box tr>td:first-child{width:34%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body table.dia-box th,body table.dia-box td{white-space:nowrap}
body table.dia-box td.bst{display:none}
body table.dia-box td.bsum{text-align:left;font-size:11px;overflow:hidden;text-overflow:ellipsis;color:inherit}
