.tb-shell[data-panel="0"]{display:flex;flex-direction:column}.tb-summary{display:flex;gap:18px;align-items:center;flex-wrap:wrap;color:var(--muted)}.tb-play .tb-clock{margin-left:auto;font-size:2.5rem;color:var(--primary-strong);font-weight:900;font-variant-numeric:tabular-nums}.tb-scores{display:flex;gap:12px;flex-wrap:wrap}.tb-score{border:1px solid var(--line);border-left:5px solid var(--team-color);border-radius:20px;padding:12px 20px;background:rgba(255,255,255,.8);display:flex;gap:18px;align-items:center}.tb-score strong{font-size:1.6rem}.tb-card{min-height:52vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:clamp(24px,4vw,64px);gap:24px}.tb-card h2{font-size:clamp(2rem,5.5vw,5rem);line-height:1.12;overflow-wrap:anywhere;margin:16px 0 24px}.tb-card ul{list-style:none;padding:0;margin:0;display:flex;gap:12px;flex-wrap:wrap;justify-content:center;max-width:900px}.tb-card li{background:rgba(255,112,40,.09);border:1px solid var(--line);border-radius:18px;padding:9px 18px;font-size:clamp(1rem,2vw,1.5rem);overflow-wrap:anywhere}.tb-card-actions{justify-content:center}.tb-players{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.tb-person{position:relative;border:1px solid var(--line);border-radius:22px;padding:20px;background:rgba(255,255,255,.7)}.tb-person h3{margin:0 35px 8px 0;overflow-wrap:anywhere}.tb-person .muted{font-size:.85rem;margin:0 0 12px}.tb-person select{width:100%;margin:8px 0}.tb-person [data-tb-remove]{position:absolute;right:12px;top:12px}.tb-person-actions{display:flex;gap:8px}.tb-icon{width:40px;height:40px;padding:0!important;min-width:40px}.tb-join{box-sizing:border-box}.tb-card[hidden],.tb-join[hidden],.tb-shell [hidden]{display:none!important}.tb-team-fields{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:end}.tb-team-fields input[type=color]{width:54px;height:48px;padding:4px}.tb-deck-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.tb-deck-card{position:relative;padding:24px}.tb-deck-card>button{position:absolute;right:10px;top:10px}.tb-deck-card input,.tb-deck-card textarea{width:100%;box-sizing:border-box}.tb-deck-card label{display:block;margin-bottom:14px}@media(max-width:600px){.tb-clock{font-size:2rem}.tb-card{min-height:50vh}.tb-summary{gap:10px}.tb-card-actions .button{padding:11px 18px}.tb-header .toolbar-actions{gap:8px}.tb-team-fields{grid-template-columns:1fr auto auto}.tb-score{padding:10px 14px}}

.tb-shell [data-tb-label]:empty,.tb-shell [data-tb-message]:empty{display:none}
.tb-shell [data-tb-scores]{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.tb-shell .panel-metric .tb-clock{margin-left:0}.tb-shell .tb-score.panel-metric{justify-content:space-between}.tb-shell [data-tb-registration] label{display:grid;gap:8px}.tb-shell [data-tb-registration] .checkbox-line{display:flex}.tb-shell [data-tb-registration] fieldset{border:1px solid var(--line);border-radius:18px;padding:16px}[data-tb-team-list]{display:grid;gap:18px}
.tb-team-fields>.member-remove-button{position:static;align-self:center;flex-shrink:0}.tb-shell .race-summary-grid .metric-number{overflow-wrap:anywhere}
.tb-score{position:relative}.tb-score:has([data-tb-team-remove]){padding-right:60px}.tb-score [data-tb-team-remove]:disabled,.tb-team-fields>.member-remove-button:disabled{opacity:.35;cursor:default}
.tb-your-team,.tb-team-badge{border:1px solid var(--line);border-left:5px solid var(--team-color);border-radius:16px;background:rgba(255,255,255,.85);padding:10px 16px;font-weight:800;color:var(--ink)}.tb-your-team{align-self:flex-start;font-size:1.15rem}.tb-team-badge{display:inline-block;font-size:.85rem;padding:6px 10px;margin:0 0 12px}.tb-your-team[hidden]{display:none}
.tb-play{width:100%;max-width:1200px;margin:0 auto;gap:10px;min-height:calc(100svh - 40px)}
.tb-play>.tb-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;margin:0}
.tb-play>.tb-header>div:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.tb-play .tb-header h1{font-size:clamp(1.1rem,2vw,1.65rem);line-height:1.2;margin:0}
.tb-play .tb-header .eyebrow{font-size:.7rem;margin:0;padding:6px 10px}
.tb-play .tb-header .toolbar-actions{gap:8px;justify-content:flex-end}
.tb-play .tb-header .button,.tb-play .tb-header .pill-action{font-size:.8rem;padding:9px 14px;gap:8px}
.tb-play .tb-header .pill-action-hint{font-size:.65rem;padding:4px 6px}
.tb-play .tb-summary{gap:6px 14px;font-size:.8rem;min-width:0}
.tb-play .tb-your-team{font-size:.8rem;padding:5px 10px;border-radius:12px}
.tb-play .tb-summary .status-badge{font-size:.65rem;padding:5px 8px}
.tb-play .tb-clock{font-size:1.9rem;line-height:1.1}
.tb-play .tb-scores{gap:8px}
.tb-play .tb-score{gap:12px;padding:6px 12px;border-radius:14px;font-size:.8rem}
.tb-play .tb-score strong{font-size:1.2rem}
.tb-play>.tb-card{flex:1;min-height:calc(100svh - 205px);box-sizing:border-box;gap:16px;padding:clamp(20px,3vw,40px)}
.tb-play .tb-card h2{font-size:clamp(1.8rem,4vw,4rem);margin:16px 0 22px}
.tb-play .tb-card li{font-size:clamp(1rem,1.6vw,1.4rem);padding:8px 14px}
.tb-card-actions:not(:has(button:not([hidden]))),.tb-admin-controls:not(:has(button:not([hidden]))){display:none}
.tb-play>.tb-admin-controls{justify-content:center;gap:8px}
.tb-play>.tb-admin-controls .button{font-size:.8rem;padding:9px 14px}
.tb-roster-modal{position:fixed;inset:0;height:fit-content;width:min(900px,calc(100vw - 32px));max-height:85dvh;margin:auto;padding:28px;box-sizing:border-box;overflow:auto;border:1px solid var(--line);color:var(--ink);background:var(--surface,#fffaf4)}
.tb-roster-modal:not([open]){display:none}
.tb-roster-modal::backdrop{background:#26130b66}
.tb-roster-modal>.race-card-head{padding-right:34px}
.tb-play .tb-roster-modal .tb-players{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
.tb-play .tb-header button:disabled,.tb-person-actions button:disabled{opacity:.55;cursor:default}
@media(max-width:650px){.tb-play>.tb-header{grid-template-columns:minmax(0,1fr);gap:8px}.tb-play .tb-header .toolbar-actions{justify-content:flex-start;flex-wrap:wrap}.tb-play .tb-header .button,.tb-play .tb-header .pill-action{font-size:.7rem;padding:8px 10px}.tb-play .tb-summary{gap:6px 10px;font-size:.75rem}.tb-play .tb-summary [data-tb-current]{order:2;flex-basis:100%}.tb-play .tb-clock{font-size:1.6rem}.tb-play>.tb-card{min-height:calc(100svh - 270px);padding:20px}.tb-play .tb-card h2{font-size:clamp(1.7rem,7vw,2.4rem)}.tb-play .tb-card ul{gap:8px}.tb-roster-modal{padding:24px 18px}.tb-roster-modal>.race-card-head{gap:8px}}




.tb-play[data-entry="1"]{min-height:0;gap:12px}


.tb-player-identity{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;color:var(--ink)}.tb-player-identity>[data-tb-own-name]{font-size:1.1rem;overflow-wrap:anywhere}.tb-player-identity .tb-your-team{font-size:.9rem;padding:7px 12px}

.tb-mode-controls label,.tb-manual-form label{display:grid;gap:8px}.tb-mode-controls select{min-width:220px}.tb-manual-form{margin-top:16px}.tb-play[data-tb-controller="1"] [data-tb-current]{font-size:clamp(1rem,2vw,1.35rem);color:var(--ink)}
