/* Scoped Team Game screens. The existing scorer and its styles remain unchanged. */
.tg-summary,.tg-quota,.tg-scorebar,.tg-fixture-row,.tg-formation-card .section-head{display:flex;gap:1rem;align-items:center;justify-content:space-between}
.tg-summary{justify-content:flex-start;flex-wrap:wrap;border-bottom:1px solid var(--line,#2c323f);padding:0 0 1rem;color:var(--muted,#a9b6ca);font-size:.9rem}
.tg-quota{margin:1rem 0;padding:1.5rem}.tg-quota p{max-width:60rem;margin:.6rem 0 0}.tg-quota h2{margin:.4rem 0;font-size:1.8rem}
.tg-scorebar{display:grid;grid-template-columns:1fr auto 1fr;gap:.6rem 1rem;margin:1rem 0;padding:1.25rem;border:1px solid var(--line,#2c323f);border-radius:1rem;background:var(--panel,#13181f);text-align:center;font-weight:700;font-size:1.25rem}
.tg-scorebar strong{font-size:3rem;line-height:1.15}.tg-scorebar strong span{color:var(--muted,#a9b6ca);font-weight:400}.tg-scorebar small{grid-column:1/-1;font-size:.8rem;font-weight:400;color:var(--muted,#a9b6ca)}
.tg-result{font-weight:700;white-space:nowrap}.tg-result small{display:block;font-size:.78rem;font-weight:400;white-space:normal}
.tg-formation-card{min-width:0}.tg-formation-card small{letter-spacing:.08em;color:var(--muted,#a9b6ca)}.tg-formation-card h3{margin:.3rem 0}.tg-formation{margin:1rem 0}.tg-slots{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.tg-active-list{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:1rem}.tg-active-list>div{display:flex;align-items:center;gap:.65rem;min-width:0}.tg-active-list b{background:#2b1820;color:#ff8697;border-radius:50%;width:1.7rem;height:1.7rem;display:grid;place-items:center;flex-shrink:0}
.tg-reserves{padding:.75rem;border:1px dashed var(--line,#38404c);border-radius:.5rem;margin:1rem 0 0;color:var(--muted,#a9b6ca)}
.tg-history{margin-top:1.25rem}.tg-history summary,.tg-locked summary{cursor:pointer;font-weight:700;padding:.25rem 0}.tg-history .table-wrap{margin-top:1rem}.tg-current-row{background:#371b24}
.tg-next{margin:1rem 0}.tg-next h2{font-size:1.25rem}.tg-names{padding-left:1.5rem;line-height:1.8}
.tg-squad-fields{border:1px solid var(--line,#303845);padding:1rem;border-radius:.6rem}.tg-squad-fields legend{font-weight:700;padding:0 .5rem}.tg-plan-feature{font-weight:600;color:var(--text,#edf3fc)}
#tg-live-leg{margin-top:1rem}#tg-live-leg>h2{font-size:1.2rem}#tg-live-leg .scorer{max-width:100%}.tg-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
[data-team-error][hidden],#tg-live-leg[hidden]{display:none!important}
@media(max-width:760px){.tg-quota{align-items:flex-start;flex-direction:column;padding:1rem}.tg-scorebar{font-size:.95rem;padding:1rem .5rem;gap:.4rem}.tg-scorebar strong{font-size:2.5rem}.tg-slots,.tg-active-list{grid-template-columns:1fr 1fr}.tg-summary{font-size:.8rem;gap:.5rem}.tg-fixture-row{align-items:flex-start}.tg-result{font-size:.9rem}.tg-formation-card{padding:1rem}.tg-squad-fields{padding:.6rem}}
@media(max-width:440px){.tg-slots{grid-template-columns:1fr}.tg-scorebar{grid-template-columns:1fr auto 1fr}.tg-scorebar strong{font-size:2rem}}

/* DX-TEAM-CHALKER-3 — a focused, scoped chalker workflow, not organiser panels. */
body.tg-chalker-open{overflow:hidden}
.tg-chalker-shell{position:fixed;inset:0;z-index:120;background:#0d1117;color:#f3f5f8;overflow:auto;overscroll-behavior:contain}
.tg-chalker-shell *{box-sizing:border-box}
.tg-c-header{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:.75rem max(1rem,calc((100vw - 1080px)/2));border-bottom:1px solid #2b3340;background:#12171f}
.tg-c-header>div{text-align:center;min-width:0}.tg-c-header strong,.tg-c-header span{display:block}.tg-c-header span{color:#9baabc;font-size:.78rem;margin-top:.2rem}
.tg-c-content{max-width:1080px;margin:auto;padding:1.4rem 1.4rem 2rem}
.tg-c-steps{max-width:700px;margin:1.1rem auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;padding:0 1rem}
.tg-c-steps>span{display:flex;gap:.5rem;align-items:center;font-size:.82rem;color:#9aa8ba;padding:.6rem .25rem;border-bottom:2px solid #2c3542}
.tg-c-steps b{width:1.5rem;height:1.5rem;display:grid;place-items:center;border-radius:50%;background:#222c38;color:#c4cfdd}
.tg-c-steps .current{color:#fff;border-color:#f04461}.tg-c-steps .current b{background:#f04461;color:#fff}
.tg-c-step-title{margin:0 0 1.6rem;text-align:center}.tg-c-step-title>span,.tg-c-final>span{font-size:.72rem;letter-spacing:.14em;font-weight:700;color:#ff879a}
.tg-c-step-title h1{font-size:clamp(1.6rem,3vw,2.25rem);margin:.45rem 0 .5rem;line-height:1.15}.tg-c-step-title h1 small{font-weight:400;color:#aebaca}
.tg-c-step-title p{color:#aebaca;margin:.35rem auto;max-width:700px;line-height:1.5}.tg-c-chalker{font-size:.82rem;color:#aebaca;margin:.8rem auto}
.tg-c-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}
.tg-c-card{background:#151c26;border:1px solid #313a49;border-radius:14px;padding:1.1rem;min-width:0}
.tg-c-team-heading{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;margin-bottom:.8rem}.tg-c-team-heading>span{font-size:.65rem;letter-spacing:.12em;color:#ff92a3;border:1px solid #5c2c39;border-radius:5px;padding:.3rem .5rem;background:#2c1b25}.tg-c-team-heading h2{font-size:1.25rem;margin:0;overflow-wrap:anywhere}
.tg-c-count{color:#aebaca;font-size:.82rem;margin:.4rem 0 .8rem}
.tg-c-rollcall{display:grid;gap:.5rem}
.tg-c-player{display:grid;grid-template-columns:2rem 1fr 1.5rem;align-items:center;gap:.6rem;min-height:64px;width:100%;text-align:left;background:#0e141d;border:1px solid #344053;border-radius:9px;color:#f4f6fa;padding:.55rem .7rem;cursor:pointer;font:inherit}
.tg-c-player[disabled]{cursor:default;opacity:.75}.tg-c-player strong{display:block;font-size:.95rem;overflow-wrap:anywhere}.tg-c-player small{display:block;color:#a1b0c2;font-size:.73rem;margin-top:.2rem}
.tg-c-number{display:grid;place-items:center;border:1px solid #455168;border-radius:50%;width:1.8rem;height:1.8rem;font-size:.8rem;color:#b6c5d8}
.tg-c-check{font-size:1.2rem;text-align:center;color:#9aa8ba}.tg-c-player.checked{background:#142a29;border-color:#4e9d8c}.tg-c-player.checked .tg-c-check{color:#8ae0c5}
.tg-chalker-shell button:focus-visible,.tg-chalker-shell select:focus-visible{outline:3px solid #ffbd70;outline-offset:3px}
.tg-c-step-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #303a4a;padding-top:1.1rem;margin-top:1.3rem}.tg-c-step-footer>span{font-size:.84rem;color:#aebaca}
.tg-c-lineup{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.7rem}.tg-c-lineup li{display:grid;grid-template-columns:2rem 1fr;gap:.7rem;align-items:center}.tg-c-lineup b{display:grid;place-items:center;background:#f04461;width:1.8rem;height:1.8rem;border-radius:5px}.tg-c-lineup strong{font-size:.93rem}.tg-c-lineup small{display:block;font-size:.73rem;color:#a4b5c9;margin-top:.15rem}
.tg-c-reserves{border-top:1px dashed #485268;padding-top:.7rem;margin-top:1rem}.tg-c-reserves h3{font-size:.75rem;color:#aebaca;font-weight:500;margin:0 0 .4rem}.tg-c-reserves span{display:block;font-size:.85rem;padding:.22rem 0}
.tg-c-subbar,.tg-c-access,.tg-code-entry{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:1rem 0;padding:.9rem;border-radius:10px;background:#1a2230}.tg-c-subbar span{color:#aebaca;font-size:.82rem}.tg-code-entry h2{font-size:1.08rem;margin:.2rem 0}.tg-code-entry p{font-size:.9rem;color:#aebaca}
.tg-c-bull{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 1rem;border:1px solid #844053;border-radius:14px;background:#211821;color:#fff;cursor:pointer;font:inherit;text-align:center}.tg-c-bull>span{font-size:.72rem;letter-spacing:.12em;color:#ff879a}.tg-c-bull strong{font-size:1.6rem}.tg-c-bull small{color:#b4c0d0}.tg-c-bull b{background:#f04461;border-radius:8px;padding:.7rem;font-size:.85rem}.tg-c-bull:disabled{opacity:.6;cursor:default}
.tg-c-message{margin:.75rem auto 0;padding:.65rem 1rem;max-width:1032px;color:#fee3ab;background:#332b1c;border:1px solid #625031;border-radius:7px;font-size:.85rem}
.tg-c-pairing{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;text-align:center;align-items:center}.tg-c-pairing>span{font-size:.85rem;color:#bdc9d8;overflow-wrap:anywhere}.tg-c-pairing>strong{font-size:1.7rem}
.tg-c-leg-progress{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:3px;margin:.7rem 0 1rem}.tg-c-leg-progress>span{text-align:center;font-size:.68rem;border-bottom:3px solid #303c4d;padding:.22rem 0;color:#8e9fb5}.tg-c-leg-progress>span.done{border-color:#4a9b87;color:#9addcc}.tg-c-leg-progress>span.current{background:#522636;color:#fff;border-color:#f04461;border-radius:3px}
.tg-c-scoring .score-head{display:none}.tg-c-scoring .mobile-player-head strong{font-size:clamp(.86rem,2.7vw,1.1rem);white-space:normal;overflow-wrap:anywhere}.tg-c-scoring .mobile-match-format{font-size:.85rem!important}.tg-c-scoring .mobile-scorer-toolbar{padding-top:.4rem!important;padding-bottom:.4rem!important}.tg-c-footer{margin-top:.8rem}
.tg-c-final{max-width:800px;margin:4vh auto;text-align:center;padding:2rem 1.1rem;border:1px solid #475364;border-radius:16px;background:#151c26}.tg-c-final h1{font-size:clamp(1.6rem,4vw,2.6rem)}.tg-c-final p{color:#b0becf}.tg-c-final-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin:2rem 0}.tg-c-final-score strong{font-size:clamp(3rem,8vw,5rem)}.tg-c-final-score>span{overflow-wrap:anywhere}
.tg-c-history{display:grid;gap:.5rem}.tg-register-person{padding:1rem 0;border-bottom:1px solid #354052}.tg-register-person h3{font-size:.9rem;color:#f39aab}
.tg-chalker-shell [hidden]{display:none!important}
@media(max-width:650px){.tg-c-header{padding:.6rem;gap:.35rem}.tg-c-header .btn{padding:.45rem .6rem;font-size:.74rem}.tg-c-header strong{font-size:.83rem}.tg-c-header span{font-size:.68rem}.tg-c-content{padding:1rem .7rem 1.5rem}.tg-c-steps{gap:.25rem;margin-top:.5rem}.tg-c-steps>span{font-size:.7rem;gap:.25rem}.tg-c-steps b{width:1.25rem;height:1.25rem}.tg-c-two{gap:.65rem}.tg-c-card{padding:.7rem}.tg-c-team-heading{gap:.35rem}.tg-c-team-heading h2{font-size:1rem}.tg-c-player{grid-template-columns:1.2rem 1fr 1rem;padding:.5rem .35rem;gap:.35rem;min-height:76px}.tg-c-number{width:1.15rem;height:1.15rem;font-size:.7rem}.tg-c-player strong{font-size:.85rem}.tg-c-player small{font-size:.66rem;overflow-wrap:anywhere}.tg-c-check{font-size:1rem}.tg-c-step-title{margin-bottom:1rem}.tg-c-step-title p{font-size:.84rem}.tg-c-step-footer{align-items:stretch;flex-direction:column;gap:.6rem}.tg-c-subbar{padding:.7rem}.tg-c-step-footer .btn{text-align:center}.tg-c-card .field span{font-size:.76rem}.tg-c-card select{font-size:.8rem;padding:.6rem .3rem;max-width:100%}.tg-c-lineup li{grid-template-columns:1.6rem 1fr;gap:.35rem}.tg-c-lineup b{width:1.4rem;height:1.4rem}.tg-c-lineup strong{font-size:.83rem}.tg-c-bull{padding:1.2rem .65rem;gap:.8rem}.tg-c-bull strong{font-size:1.2rem}.tg-c-bull b{font-size:.72rem}.tg-c-pairing{gap:.35rem}.tg-c-pairing>span{font-size:.7rem}.tg-c-pairing>strong{font-size:1.2rem}.tg-c-message{margin:.5rem .7rem 0}.tg-c-final{margin-top:1rem}.tg-c-final-score{gap:.5rem}.tg-c-final-score>span{font-size:.85rem}}
@media(max-width:350px){.tg-c-two{grid-template-columns:1fr}.tg-c-steps>span{font-size:.65rem}}
/* Fit the reused scorer INSIDE the fixture viewport; its normal 100dvh rule belongs
   to standalone scoring. Keep this change scoped, not in the original scorer CSS. */
.tg-chalker-shell.tg-c-in-play{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
.tg-c-in-play>.tg-c-header{flex:0 0 auto;padding-top:.4rem;padding-bottom:.4rem}
.tg-c-in-play>.tg-c-message{flex:0 0 auto;margin:.2rem .5rem;padding:.3rem .6rem;font-size:.75rem;align-self:center}
.tg-c-in-play .tg-c-content{flex:1;min-height:0;display:flex;flex-direction:column;width:100%;max-width:1080px;padding:0}
.tg-c-in-play .tg-c-scoring{display:flex;flex-direction:column;flex:1;min-height:0}
.tg-c-in-play .tg-c-progress{flex:0 0 auto;padding:0 .7rem}
.tg-c-in-play .tg-c-leg-progress{margin:.15rem 0 .2rem}
.tg-c-in-play .tg-c-footer:empty{display:none}
.tg-c-in-play .tg-c-footer{margin:0;flex:0 0 auto}
.tg-c-in-play .tg-c-access{margin:.2rem;padding:.4rem;font-size:.75rem}
.tg-c-in-play .tg-c-score-root.whiteboard-pad.score-appliance:not(.spectator-score-view){height:auto;min-height:0;flex:1;--pad-key-height:clamp(44px,5.8dvh,58px);--pad-short-height:36px}
.tg-c-in-play .tg-c-score-root.score-appliance:not(.spectator-score-view) .mobile-player-head strong{white-space:normal!important;text-overflow:clip!important;overflow:visible!important;overflow-wrap:anywhere;line-height:1.22;font-size:clamp(13px,3.1vw,18px);min-height:2.44em}
.tg-c-in-play .tg-c-score-root.score-appliance:not(.spectator-score-view) .mobile-player-score{padding:6px 10px}
.tg-c-in-play .tg-c-score-root.score-appliance:not(.spectator-score-view) .mobile-to-go{margin:4px 0;font-size:clamp(60px,min(21vw,10dvh),108px)!important}
.tg-c-in-play .tg-c-score-root .mobile-player-metrics small{white-space:normal;overflow:visible;text-overflow:clip;font-size:7px;line-height:1.15}
@media(max-width:650px){.tg-c-in-play>.tg-c-header strong{font-size:.78rem}.tg-c-in-play>.tg-c-header .btn{min-height:36px}.tg-c-in-play .tg-c-score-root .mobile-player-metrics b{font-size:13px}.tg-c-in-play .tg-c-score-root .controls{padding:5px 8px 6px!important}}
@media(max-height:680px) and (orientation:portrait){.tg-c-in-play>.tg-c-header span{display:none}.tg-c-in-play .tg-c-score-root.score-appliance:not(.spectator-score-view) .mobile-to-go{font-size:60px!important}.tg-c-in-play .tg-c-leg-progress{margin:0}.tg-c-in-play .tg-c-score-root.score-appliance:not(.spectator-score-view) .mobile-player-head strong{font-size:12px}}
.tg-c-in-play .tg-c-score-root.score-appliance{width:100%;max-width:980px;margin:0 auto!important;min-width:0}

/* DX-COMPETITION-UI-3.1.2 — organiser Team Game workspace. */
.tg-event-overview{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:0 0 1rem;padding:1.15rem 1.25rem;background:linear-gradient(135deg,#151c26,#111820)}
.tg-event-overview-copy{min-width:0}.tg-event-overview .tg-summary{border:0;padding:0;margin:.55rem 0 0;gap:.55rem}
.tg-event-overview .tg-summary span{border:1px solid #33404e;background:#0d141c;border-radius:999px;padding:.35rem .6rem;white-space:nowrap}.tg-event-overview .tg-summary b{color:#fff}
.tg-event-metrics{display:grid;grid-template-columns:repeat(3,minmax(78px,1fr));gap:.55rem;min-width:300px}.tg-event-metrics>div{border:1px solid #303b49;border-radius:10px;background:#0f151d;padding:.75rem;text-align:center}.tg-event-metrics strong{display:block;font-size:1.45rem}.tg-event-metrics small{display:block;color:#aebaca;margin-top:.15rem}
.tg-event-admin{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:1rem;align-items:stretch;margin:1rem 0 1.35rem}.tg-event-controls,.tg-event-plan{margin:0;padding:1.15rem}.tg-event-controls h2,.tg-event-plan h2{margin:.2rem 0}.tg-event-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:.9rem}.tg-event-actions .btn{min-height:42px}
.tg-event-plan{display:flex;flex-direction:column;justify-content:center}.tg-event-plan>strong{font-size:2rem;line-height:1.05;margin:.35rem 0 .15rem}.tg-event-plan>span,.tg-event-plan p{color:#aebaca}.tg-event-plan p{font-size:.82rem;line-height:1.4;margin:.75rem 0 0}.tg-plan-rule{display:flex;align-items:center;gap:.65rem;border-top:1px solid #303b49;margin-top:.8rem;padding-top:.8rem}.tg-plan-rule b{font-size:1.55rem}.tg-plan-rule small{color:#aebaca}
.tg-event-fixtures>.section-head,.tg-event-teams>.section-head{align-items:flex-end}.tg-event-teams{margin-top:1.3rem}.tg-event-teams>.section-head>span{color:#aebaca;font-size:.9rem}.tg-event-officials{margin-top:1rem}
@media(max-width:900px){.tg-event-overview{align-items:stretch;flex-direction:column}.tg-event-metrics{min-width:0}.tg-event-admin{grid-template-columns:1fr}.tg-event-plan{order:-1}}
@media(max-width:560px){.tg-event-overview{padding:.9rem}.tg-event-metrics{grid-template-columns:repeat(3,1fr)}.tg-event-metrics>div{padding:.6rem .35rem}.tg-event-metrics strong{font-size:1.2rem}.tg-event-metrics small{font-size:.7rem}.tg-event-actions{display:grid;grid-template-columns:1fr 1fr}.tg-event-actions .btn{text-align:center}.tg-event-overview .tg-summary span{white-space:normal}.tg-event-controls,.tg-event-plan{padding:.9rem}}
@media(max-width:380px){.tg-event-actions{grid-template-columns:1fr}}
