:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1b1c1e;--chrome:#212224;--surface:#26272a;--surface-2:#2e2f33;--surface-3:#37383d;--field:#1f2023;--hover-tint:#ffffff0b;--glow:#ef6c2b21;--ink:#f5f5f4;--muted:#f5f5f4ad;--subtle:#f5f5f475;--line:#ffffff1a;--line-soft:#ffffff0f;--line-strong:#ffffff2b;--accent:#ef6c2b;--accent-hover:#f38a52;--accent-ink:#f38a52;--accent-soft:#ef6c2b24;--on-accent:#fff;--success:#4caf50;--success-ink:#8cdb94;--success-soft:#4caf5024;--warning:#e0a23a;--warning-ink:#f0bd62;--warning-soft:#e0a23a24;--danger:#ef7670;--danger-strong:#c9443f;--danger-ink:#ff9b96;--danger-soft:#ef76701f;--team-ink-mix:#fff;--team-ink-amount:58%;--shadow-sm:0 1px 2px #00000040;--shadow-lg:0 24px 70px #00000080;--backdrop:#080808b8;--radius:8px;--radius-lg:12px;--page-max:1440px;--page-pad:clamp(16px, 3vw, 32px);--header-h:56px;--sans:var(--font-sans), ui-sans-serif, system-ui, "Segoe UI", sans-serif;--mono:var(--font-mono), ui-monospace, "Cascadia Mono", Consolas, monospace;--orange:var(--accent);--orange-light:var(--accent-ink);--panel:var(--surface);--panel-2:var(--surface-2);--black:var(--bg);--error:var(--danger)}[hidden]{display:none!important}.settings-layout{gap:20px;padding-bottom:110px;display:grid}.settings-card{min-width:0;padding:24px}.settings-card h2{margin-bottom:18px;font-size:1.15rem}.settings-card>button,.settings-card>a{margin:12px 8px 0 0}.settings-card>label{gap:8px;margin:14px 0;display:grid}.settings-choices{flex-wrap:wrap;gap:12px;max-height:400px;margin:14px 0;display:flex;overflow:auto}.settings-choices label{background:var(--surface-2);border-radius:6px;align-items:center;gap:8px;padding:8px 12px;display:flex}.settings-order{padding-left:24px}.settings-order li{border-bottom:1px solid var(--line);padding:8px}.settings-order li span{min-width:45%;display:inline-block}.settings-order li button{margin-left:6px}.settings-subsection{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.settings-subsection button{margin:10px 8px 0 0}.settings-layout .sticky-bar{flex-wrap:wrap}.settings-layout .sticky-bar label{min-width:min(400px,100%)}.share-dialog{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);width:min(640px,100vw - 32px);max-height:88vh;box-shadow:var(--shadow-lg);padding:24px;overflow:auto}.share-dialog header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.share-dialog label{gap:8px;margin:14px 0;display:grid}.share-dialog>button,.share-dialog>a{margin:8px 8px 8px 0}dialog.finish-match-dialog{color:inherit;margin:auto}dialog.finish-match-dialog::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.help-tip{font-size:.8rem;font-weight:400;display:inline-block;position:relative}.help-tip-popover{z-index:30;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-2);width:min(310px,80vw);color:var(--ink);box-shadow:var(--shadow-lg);font:400 .875rem/1.5 var(--sans);padding:18px;position:absolute;top:calc(100% + 8px);left:0}.help-tip-popover>button{float:right;margin:-6px -6px 6px 12px}.match-tools{border-bottom:1px solid var(--line);padding:12px 20px}.match-tools-possession{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.match-tools-dialog .cell-actions{flex-wrap:wrap}.roster-picker{background:var(--surface-2);border-radius:var(--radius);min-width:0;padding:18px}.movement-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:18px 0;display:flex}.tournament-view-switch{flex-wrap:wrap;gap:10px;padding:18px 24px;display:flex}.diagram-shell{padding:0 24px 24px}.diagram-toolbar{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:14px;display:flex}.diagram-team-pool{background:var(--surface);border-radius:var(--radius);margin-bottom:16px;padding:14px}.diagram-team-pool input{width:min(320px,100%);margin:12px 0}.diagram-team-pool>div{flex-wrap:wrap;gap:8px;max-height:160px;display:flex;overflow:auto}.diagram-team-pool span{cursor:grab;border:1px solid var(--line);border-left:3px solid var(--team-color);border-radius:5px;padding:7px 10px;font-size:.8rem}.diagram-viewport{border:1px solid var(--line);background:var(--field);border-radius:var(--radius-lg);overscroll-behavior:contain;min-height:300px;max-height:72vh;overflow:auto}.diagram-board{transform-origin:0 0;position:relative}.diagram-stage-label{max-width:280px;font-size:.9rem;position:absolute;top:18px}.diagram-lines{pointer-events:none;position:absolute;inset:0}.diagram-lines path{fill:none;stroke:var(--accent);stroke-width:1.5px;opacity:.6}.diagram-group{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);contain:layout style;width:280px;padding:12px;transition:top .18s,left .18s;position:absolute}.diagram-group>header{justify-content:space-between;gap:8px;min-height:44px;font-size:.8rem;display:flex}.diagram-slot{text-align:left;border:1px solid var(--line);align-items:center;gap:8px;width:100%;height:44px;margin:3px 0;padding:7px 10px;font-size:.8rem;transition:background .15s,border-color .15s;display:flex}.diagram-slot span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.diagram-slot i{background:var(--team-color);border-radius:50%;flex-shrink:0;width:7px;height:7px}.diagram-slot.vacant{color:var(--muted);border-style:dashed}.diagram-slot:hover{border-color:var(--accent);background:var(--glow)}.diagram-slot small{margin-left:auto}.diagram-playoff{margin-top:24px}.playoff-rounds{gap:30px;padding:18px 0;display:flex;overflow:auto}.playoff-rounds>section{flex-direction:column;justify-content:space-around;gap:18px;min-width:260px;display:flex}.playoff-match{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.playoff-match>span{font:.8rem var(--mono)}.tournament-widget{background:var(--bg);color:var(--ink);min-width:0;padding:clamp(12px,3vw,24px)}.tournament-widget header{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.tournament-widget h1{margin:6px 0;font-size:clamp(1rem,4vw,1.5rem)}.tournament-widget h2{margin:22px 0 12px;font-size:1rem}.tournament-widget nav{flex-wrap:wrap;gap:16px;margin:16px 0;display:flex}.tournament-widget nav label{flex:1;gap:6px;min-width:130px;display:grid}.widget-table-scroll{overflow:auto}.tournament-widget table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:490px}.tournament-widget td,.tournament-widget th{border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;padding:10px 7px;font-size:.8rem}.tournament-widget td:nth-child(2),.tournament-widget th:nth-child(2){text-align:left;white-space:normal;min-width:160px}.widget-scroll-hint{color:var(--muted);font-size:.75rem;display:none}@media (max-width:600px){.widget-scroll-hint{display:block}}.tournament-widget footer{color:var(--muted);padding:18px 0 0;font-size:.75rem}@media (max-width:640px){.settings-card,.share-dialog{padding:16px}.settings-card .form-grid,.share-dialog .form-grid{grid-template-columns:minmax(0,1fr)}.settings-order li span{width:calc(100% - 135px);min-width:0}.movement-row{flex-direction:column;align-items:flex-start}.diagram-shell,.tournament-view-switch{padding-inline:12px}}@media (prefers-reduced-motion:reduce){.diagram-group,.diagram-slot{transition:none}}@media print{.help-tip,.tournament-view-switch,.settings-layout .sticky-bar{display:none!important}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f1ee;--chrome:#fbfaf8;--surface:#fff;--surface-2:#f5f4f1;--surface-3:#ebeae6;--field:#fff;--hover-tint:#14141409;--glow:#ef6c2b1a;--ink:#1c1c1e;--muted:#1c1c1ea8;--subtle:#1c1c1e75;--line:#1414141a;--line-soft:#1414140f;--line-strong:#1414142e;--accent-hover:#df5b1b;--accent-ink:#c2521a;--accent-soft:#ef6c2b1f;--success-ink:#2e7d32;--success-soft:#4caf5021;--warning-ink:#96600a;--warning-soft:#e0a23a2b;--danger-ink:#bf3a31;--danger-soft:#ef767021;--team-ink-mix:#000;--team-ink-amount:72%;--shadow-sm:0 1px 2px #1414140f, 0 1px 1px #1414140a;--shadow-lg:0 24px 70px #14141438;--backdrop:#1c1c1e6b}*{box-sizing:border-box}html,body{min-height:100%;margin:0}html{-webkit-text-size-adjust:100%;font-size:16px}@media (min-width:1800px){html{font-size:17px}}@media (min-width:2300px){html{font-size:18px}}body{min-height:100dvh;color:var(--ink);font-family:var(--sans);overflow-wrap:break-word;background:radial-gradient(1100px 520px at 88% -12%, var(--glow), transparent 62%) fixed, var(--bg);-webkit-font-smoothing:antialiased;line-height:1.5}:root:has(.overlay-root){color-scheme:normal;background:0 0}:root[data-theme]:has(.overlay-root){color-scheme:normal;background:0 0}body:has(.overlay-root){background:0 0;overflow:hidden}a{color:inherit}img{max-width:100%}h1,h2,h3,h4,p{margin:0}label,fieldset{min-width:0}fieldset{margin:0}kbd{color:var(--ink);background:var(--surface-2);border:1px solid var(--line-strong);font:700 .75rem/1.2 var(--mono);border-bottom-width:2px;border-radius:4px;margin:0 4px;padding:2px 6px;display:inline-block}:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 70%, var(--ink));outline-offset:2px}::selection{background:color-mix(in srgb, var(--accent) 35%, transparent)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}[style*=--team-color]{--team-ink:color-mix(in oklab, var(--team-color) var(--team-ink-amount), var(--team-ink-mix))}.eyebrow,.page-eyebrow,.workspace-brand{color:var(--accent-ink);font:700 .75rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;display:block}.muted{color:var(--muted)}button,.btn,.button-link{min-height:40px;color:var(--ink);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius);font:600 .875rem/1.2 var(--sans);text-align:center;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:8px 16px;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}button:hover:not(:disabled),.btn:hover,.button-link:hover{background:var(--surface-3);border-color:var(--line-strong)}button:active:not(:disabled),.btn:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}:is(button,.btn,.button-link).primary{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}:is(button,.btn,.button-link).primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}:is(button,.btn).success{color:#fff;background:var(--success);border-color:var(--success);font-weight:700}:is(button,.btn).success:hover:not(:disabled){background:color-mix(in srgb, var(--success) 88%, #000)}:is(button,.btn).ghost{color:var(--muted);background:0 0;border-color:#0000}:is(button,.btn).ghost:hover:not(:disabled){color:var(--ink);background:var(--hover-tint)}:is(button,.btn).outline{color:var(--accent-ink);border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:0 0}:is(button,.btn).outline:hover:not(:disabled){color:var(--ink);background:var(--accent-soft);border-color:var(--accent)}:is(button,.btn).danger,button.danger-outline,button.danger-button{color:var(--danger-ink);background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 42%, transparent)}:is(button,.btn).danger:hover:not(:disabled),button.danger-outline:hover:not(:disabled),button.danger-button:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 22%, transparent);border-color:var(--danger)}button.danger-solid{color:#fff;background:var(--danger-strong);border-color:var(--danger-strong)}button.danger-solid:hover:not(:disabled){background:color-mix(in srgb, var(--danger-strong) 88%, #000)}:is(button,.btn).btn-sm{border-radius:7px;min-height:32px;padding:5px 12px;font-size:.8125rem}:is(button,.btn).btn-lg{min-height:48px;padding:10px 22px;font-size:.9375rem;font-weight:700}:is(button,.btn).btn-icon{width:40px;padding:0}:is(button,.btn).btn-icon.btn-sm{width:32px}.btn-block{width:100%}:where(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):not([type=range]),select,textarea){width:100%;min-width:0;height:40px;color:var(--ink);background-color:var(--field);border:1px solid var(--line-strong);border-radius:var(--radius);font:400 .9375rem/1.3 var(--sans);outline:0;padding:0 12px;transition:border-color .15s,box-shadow .15s}:where(textarea){resize:vertical;height:auto;min-height:76px;padding:10px 12px;line-height:1.45}:where(select){appearance:none;text-overflow:ellipsis;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;background-repeat:no-repeat;background-size:5px 5px;padding-right:34px}:where(input,select,textarea):hover:not(:disabled):not(:focus){border-color:color-mix(in srgb, var(--ink) 30%, transparent)}:is(input,select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}:is(input,select,textarea):disabled{opacity:.55;cursor:not-allowed}:is(input,textarea)[readonly]{color:var(--muted);background-color:var(--surface-2)}::placeholder{color:var(--subtle);opacity:1}:where(input[type=checkbox],input[type=radio]){width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex:none;margin:0}:where(input[type=color]){cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;width:30px;height:30px;padding:0}input[type=file]{opacity:0;pointer-events:none;clip-path:inset(50%);width:1px;height:1px;position:absolute}:where(label:has(>:is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea))){min-width:0;color:var(--muted);align-content:start;gap:6px;font-size:.8125rem;font-weight:600;display:grid}:where(label:has(>:is(input,select,textarea)))>small{color:var(--subtle);font-size:.75rem;font-weight:500}.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px;display:grid}.form-grid>.span-all{grid-column:1/-1}.check,.captain-field,.disqualification-field{min-height:40px;color:var(--ink);background:var(--field);border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;align-items:center;gap:10px;padding:8px 12px;font-size:.875rem;font-weight:500;line-height:1.25;display:flex}.check:hover,.captain-field:hover,.disqualification-field:hover{border-color:color-mix(in srgb, var(--ink) 30%, transparent)}:is(.check:has(input:checked),.captain-field:has(input:checked)){border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:var(--accent-soft)}.disqualification-field:has(input:checked){border-color:color-mix(in srgb, var(--danger) 55%, transparent);background:var(--danger-soft)}.color-control{min-height:40px;color:var(--ink);background:var(--field);border:1px solid var(--line-strong);border-radius:var(--radius);font:600 .8125rem var(--mono);align-items:center;gap:10px;padding:4px 12px 4px 5px;display:flex}.badge,.status-badge,.tournament-status{width:max-content;max-width:100%;height:24px;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);font:700 .75rem/1 var(--sans);letter-spacing:0;text-transform:none;white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 9px;font-style:normal;display:inline-flex}.badge.success,.status-badge.admitted,.tournament-status.completed{color:var(--success-ink);background:var(--success-soft);border-color:#0000}.badge.danger,.status-badge.blocked{color:var(--danger-ink);background:var(--danger-soft);border-color:#0000}.badge.warning{color:var(--warning-ink);background:var(--warning-soft);border-color:#0000}.badge.accent,.tournament-status.in_progress{color:var(--accent-ink);background:var(--accent-soft);border-color:#0000}.badge.live:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite live-pulse}@keyframes live-pulse{50%{opacity:.3}}.card,.management-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm)}.card-header,.management-card>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:16px 20px;display:flex}.card-header{border-bottom:1px solid var(--line)}.management-card{padding:20px}.management-card>header{padding:0 0 16px}.card-header>div:first-child,.management-card>header>div:first-child{flex:240px;min-width:0}.card-header :is(h2,h3),.management-card h2{margin:0;font-size:1.0625rem;font-weight:750;line-height:1.3}.card-header p{color:var(--muted);margin-top:4px;font-size:.875rem}.card-body{padding:20px}.card-empty{color:var(--muted);text-align:center;margin:0;padding:28px 20px;font-size:.9375rem}.notice{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);margin:0;padding:12px 16px;font-size:.9375rem;line-height:1.5}.notice.error{border-left-color:var(--danger);background:var(--danger-soft)}.notice.success{border-left-color:var(--success);background:var(--success-soft)}.form-message,.tournament-message{color:var(--danger-ink);margin:0;font-size:.875rem;font-weight:600;line-height:1.4}.empty-state{background:linear-gradient(120deg, var(--accent-soft), transparent 55%), var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;min-height:320px;padding:clamp(28px,5vw,56px);display:flex}.empty-state h2{letter-spacing:-.03em;text-transform:uppercase;max-width:720px;font-size:clamp(1.5rem,3.2vw,2.25rem);line-height:1.1}.empty-state p{max-width:600px;color:var(--muted);font-size:1rem}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{text-align:left;vertical-align:middle;padding:9px 12px}th{color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--line);font:700 .6875rem/1.25 var(--mono);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}td{border-bottom:1px solid var(--line-soft);font-size:.875rem}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--hover-tint)}tfoot td{color:var(--muted);border-top:1px solid var(--line-strong);border-bottom:0;font-weight:700}.table-scroll{overscroll-behavior-x:contain;max-width:100%;overflow-x:auto}.num{text-align:center}.dt{flex-direction:column;min-width:0;display:flex}.dt-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.dt-plain{background:0 0}.dt-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:14px 18px;display:flex}.dt-header>div:first-child{flex:240px;min-width:0}.dt-eyebrow{color:var(--team-ink,var(--accent-ink));font:700 .6875rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;display:block}.dt-header h2{font-size:1.0625rem;font-weight:750;line-height:1.3}.dt-header p{color:var(--muted);margin-top:3px;font-size:.8125rem}.dt-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dt-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 18px;display:flex}.dt-plain .dt-toolbar{padding-inline:0}.dt-toolbar input[type=search]{flex:220px;max-width:360px;height:36px}.dt-toolbar-extra{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.dt-count{color:var(--muted);font:600 .75rem var(--mono)}.segmented{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented button{min-height:30px;color:var(--muted);background:0 0;border-color:#0000;border-radius:7px;gap:6px;padding:4px 11px;font-size:.8125rem}.segmented button span{color:var(--subtle);font:600 .6875rem var(--mono)}.segmented button:hover:not(:disabled){color:var(--ink);background:var(--hover-tint);border-color:#0000}.segmented button[aria-pressed=true]{color:var(--ink);background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-sm)}.dt-scroll{overscroll-behavior:contain;min-width:0;overflow:auto}.dt-table{border-collapse:separate;border-spacing:0;width:100%}.dt-table th{z-index:2;text-align:left;height:38px;padding:0 12px;position:sticky;top:0}.dt-table td{border-bottom:1px solid var(--line-soft);height:52px;padding:7px 12px}.dt-table tbody tr:last-child td{border-bottom:0}.dt-dense th{height:32px;padding:0 8px}.dt-dense td{height:38px;padding:4px 8px;font-size:.8125rem}.dt-plain .dt-table{border:1px solid var(--line);border-radius:10px}.dt-plain .dt-table thead th:first-child{border-top-left-radius:9px}.dt-plain .dt-table thead th:last-child{border-top-right-radius:9px}.dt-center{text-align:center!important}.dt-right{text-align:right!important}.dt-num{font-variant-numeric:tabular-nums;white-space:nowrap}.dt-sort{height:auto;min-height:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;white-space:nowrap;background:0 0;border:0;gap:5px;padding:0}.dt-sort:hover:not(:disabled){color:var(--ink);background:0 0}.dt-sort:active:not(:disabled){transform:none}.dt-sort i{color:var(--subtle);font-size:.5625rem;font-style:normal}th[aria-sort] .dt-sort,th[aria-sort] .dt-sort i{color:var(--accent-ink)}.dt-clickable{cursor:pointer}.dt-row:hover td{background:var(--hover-tint)}.dt-link{color:inherit;text-decoration:none}.dt-link:hover b,.dt-link:hover{color:var(--accent-ink)}.dt-selected td{background:var(--accent-soft)!important}.dt-tone-muted td{color:var(--muted)}.dt-tone-muted td>:not(.badge){opacity:.7}.dt-tone-danger td:first-child{box-shadow:inset 3px 0 var(--danger)}.dt-tone-warning td:first-child{box-shadow:inset 3px 0 var(--warning)}.dt-tone-accent td{background:var(--accent-soft)}.dt-tone-success td:first-child{box-shadow:inset 3px 0 var(--success)}.dt-accent{box-shadow:inset 3px 0 var(--row-accent)}.dt-has-detail td{background:var(--surface-2);border-bottom-color:#0000}.dt-detail>td{background:var(--surface-2);border-bottom:1px solid var(--line);height:auto;padding:0 12px 14px}.dt-sticky-first th:first-child,.dt-sticky-first td:first-child{z-index:1;background:var(--surface);position:sticky;left:0}.dt-sticky-first th:first-child{z-index:3;background:var(--surface-2)}.dt-table tfoot td{background:var(--surface-2);border-top:1px solid var(--line-strong);height:40px;position:sticky;bottom:0}.dt-empty{color:var(--muted);text-align:center;margin:0;padding:28px 20px;font-size:.9375rem}.dt-plain .dt-empty{border:1px dashed var(--line-strong);border-radius:10px}.dt+.dt{margin-top:0}.cell-main{gap:1px;min-width:0;display:grid}.cell-main b{font-size:.9375rem;font-weight:650;line-height:1.3}.cell-main small{color:var(--muted);font-size:.8125rem;line-height:1.3}.dt-dense .cell-main b{font-size:.8125rem}.dt-dense .cell-main small{font-size:.75rem}.cell-team{align-items:center;gap:10px;min-width:0;display:flex}.cell-mark{color:#fff;background:var(--team-color);width:32px;height:32px;font:800 .625rem var(--mono);border-radius:8px;flex:none;place-items:center;display:grid;overflow:hidden}.cell-mark.has-logo{background:var(--surface-2)}.cell-mark img{object-fit:contain;width:100%;height:100%;padding:2px}.dt-dense .cell-mark{border-radius:6px;width:24px;height:24px;font-size:.5rem}.cell-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.cell-arrow{color:var(--accent-ink);font-weight:700}.cell-mono{color:var(--muted);font:600 .8125rem var(--mono);white-space:nowrap}.cell-rank{color:var(--muted);font:700 .8125rem var(--mono)}.dt-table .badge{vertical-align:middle}.app-header{z-index:60;background:color-mix(in srgb, var(--chrome) 90%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0}.app-header-inner{max-width:var(--page-max);min-height:var(--header-h);padding:0 var(--page-pad);align-items:center;gap:8px 20px;margin:0 auto;display:flex}.app-brand{flex:none;align-items:center;gap:10px;text-decoration:none;display:flex}.app-brand b{letter-spacing:.02em;text-transform:uppercase;font-size:.9375rem;font-weight:850}.brand-mark{color:#fff;background:var(--accent);border-radius:6px;flex:none;place-items:center;width:28px;height:28px;font-size:.9375rem;font-weight:950;display:grid;transform:skew(-7deg)}.app-nav{scrollbar-width:none;flex:auto;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.app-nav::-webkit-scrollbar{display:none}.app-nav-link{height:34px;color:var(--muted);border-radius:var(--radius);white-space:nowrap;flex:none;align-items:center;padding:0 12px;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.app-nav-link:hover{color:var(--ink);background:var(--hover-tint)}.app-nav-link[aria-current=page]{color:var(--accent-ink);background:var(--accent-soft)}.app-header-tools{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.app-user{border-radius:999px;align-items:center;gap:9px;min-width:0;padding:3px 10px 3px 3px;text-decoration:none;display:flex}.app-user:hover{background:var(--hover-tint)}.app-user-avatar{width:30px;height:30px;color:var(--accent-ink);background:var(--accent-soft);font:800 .75rem var(--mono);border-radius:50%;flex:none;place-items:center;display:grid}.app-user-meta{min-width:0;line-height:1.2;display:grid}.app-user-meta b{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.8125rem;font-weight:700;overflow:hidden}.app-user-meta small{max-width:180px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;overflow:hidden}.theme-toggle{width:34px;height:34px;min-height:34px;color:var(--muted);border-color:var(--line);background:0 0;border-radius:50%;flex:none;padding:0}.theme-toggle:hover:not(:disabled){color:var(--ink);background:var(--hover-tint)}.theme-toggle svg{width:17px;height:17px}.app-logout-error{color:var(--danger-ink);font-size:.75rem}@media (max-width:1100px){.app-user-meta{display:none}.app-user{padding:3px}}@media (max-width:760px){.app-header-inner{flex-wrap:wrap;padding-top:8px;padding-bottom:6px}.app-brand b{display:none}.app-nav{margin:0 calc(var(--page-pad) * -1);padding:0 var(--page-pad);flex-basis:100%;order:3}}.page{width:100%;max-width:var(--page-max);padding:28px var(--page-pad) 72px;flex-direction:column;gap:16px;margin:0 auto;display:flex}.page>*{min-width:0}.page-narrow{max-width:1100px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px 24px;margin-bottom:6px;display:flex}.page-heading{flex:320px;min-width:0}.page-header h1{letter-spacing:-.03em;text-transform:uppercase;font-size:clamp(1.625rem,2.6vw,2.25rem);font-weight:850;line-height:1.1}.page-lead{color:var(--muted);margin-top:8px;font-size:.9375rem}.page-lead:first-letter{text-transform:uppercase}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.breadcrumbs{font:700 .75rem/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0 0 8px;display:flex}.breadcrumbs a{color:var(--muted);text-decoration:none}.breadcrumbs a:hover{color:var(--accent-ink)}.breadcrumbs>:not(:last-child):after{content:"/";color:var(--subtle);margin-left:8px}.breadcrumbs>:last-child{color:var(--accent-ink)}.section-heading{align-items:flex-start;gap:12px;display:flex}.section-heading>span{width:26px;height:26px;color:var(--on-accent);background:var(--accent);font:800 .75rem var(--mono);border-radius:6px;flex:none;place-items:center;display:grid}.section-heading>div{min-width:0}.section-heading h2{font-size:1.0625rem;font-weight:750;line-height:1.3}.section-heading p{color:var(--muted);margin-top:3px;font-size:.8125rem;line-height:1.4}.sticky-bar{z-index:20;background:color-mix(in srgb, var(--surface) 94%, transparent);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:12px 14px 12px 18px;display:flex;position:sticky;bottom:12px}.sticky-bar>div:first-child{min-width:0;color:var(--muted);flex:260px;font-size:.875rem}@media (max-width:760px){.page{gap:14px;padding-top:20px}.page-actions{width:100%}.page-actions>*,.sticky-bar>:is(button,.btn){flex:auto}}.login-shell{place-items:center;min-height:100dvh;padding:24px;display:grid}.login-card{background:linear-gradient(150deg, var(--accent-soft), transparent 45%), var(--surface);border:1px solid var(--line-strong);width:min(440px,100%);box-shadow:var(--shadow-lg);border-radius:16px;padding:clamp(26px,5vw,40px)}.login-card>header{text-transform:uppercase;align-items:center;gap:10px;font-size:.9375rem;display:flex}.login-card>header .theme-toggle{margin-left:auto}.login-eyebrow{color:var(--accent-ink);font:700 .75rem var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-top:36px}.login-card h1{letter-spacing:-.045em;text-transform:uppercase;margin:8px 0 10px;font-size:clamp(2rem,7vw,2.75rem);line-height:1}.login-card>p{color:var(--muted);font-size:.9375rem;line-height:1.55}.login-form{gap:6px;margin-top:24px;display:grid}.login-form label{color:var(--muted);margin-top:8px;font-size:.8125rem;font-weight:600}.login-form input:not([type=checkbox]){height:46px}.login-form button,.login-form .btn{min-height:48px;margin-top:16px}.login-form>p[role=status]{color:var(--ink);line-height:1.5}.login-error{color:var(--danger-ink);margin-top:10px;font-size:.875rem;font-weight:600}.login-card footer{color:var(--subtle);border-top:1px solid var(--line);margin-top:24px;padding-top:16px;font-size:.8125rem}.login-card .back-link{color:var(--accent-ink);margin-top:18px;font-weight:600;text-decoration:none;display:inline-flex}.team-management-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.team-color-mark{color:#fff;background:var(--team-color);width:52px;height:52px;font:800 .8125rem var(--mono);border-radius:14px;flex:none;place-items:center;display:grid}.management-form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:14px;display:grid}:is(.management-form-grid,.coach-profile-grid,.player-profile-grid,.discipline-fields)>label:not(.captain-field,.disqualification-field,.check){color:var(--muted);gap:6px;font-size:.8125rem;font-weight:600;display:grid}.discipline-fields{border:1px solid var(--line);border-radius:var(--radius-lg);grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));align-items:end;gap:14px;margin-top:16px;padding:16px;display:grid}.discipline-fields legend{color:var(--ink);padding:0 6px;font-size:.875rem;font-weight:700}.discipline-fields .status-note-field{grid-column:1/-1}.discipline-card .discipline-fields{border:0;margin-top:0;padding:0}.discipline-card .discipline-fields legend{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.entity-number{width:40px;height:40px;color:var(--team-ink);background:color-mix(in srgb, var(--team-color) 13%, transparent);border:1px solid color-mix(in srgb, var(--team-color) 35%, transparent);font:800 .9375rem var(--mono);border-radius:50%;place-items:center;display:grid}.entity-editor-body{border-top:1px solid var(--line);padding:16px 16px 18px}.player-profile-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));align-items:end;gap:14px;display:grid}.coach-profile-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;display:grid}.entity-editor-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;display:flex}.player-statistics-link{color:var(--accent-ink);font-size:.875rem;font-weight:700;text-decoration:none}.player-statistics-link:hover{text-decoration:underline}@media (max-width:1050px){.team-management-grid{grid-template-columns:minmax(0,1fr)}}.import-panel{gap:14px;padding:18px 20px;display:grid}.import-panel-body{grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:stretch;gap:12px;display:grid}.import-panel-actions{align-content:center;gap:8px;display:grid}.file-drop{cursor:pointer;background:var(--surface-2);border:1.5px dashed var(--line-strong);border-radius:var(--radius-lg);flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;min-height:96px;padding:16px;transition:border-color .15s,background-color .15s;display:flex;position:relative}.file-drop:hover,.file-drop:focus-within{border-color:var(--accent);background:var(--accent-soft)}.file-drop strong{color:var(--ink);overflow-wrap:anywhere;font-size:.9375rem;line-height:1.35}.file-drop span{color:var(--muted);font-size:.8125rem;line-height:1.45}.selected-file-list{background:var(--surface-2);border-radius:var(--radius);gap:2px;padding:8px 10px;display:grid}.selected-file-list span,.selected-file-list b{color:var(--muted);font:600 .75rem/1.4 var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selected-file-list b{color:var(--accent-ink)}.batch-global-warnings,.team-issue-list{background:var(--warning-soft);border-left:3px solid var(--warning);border-radius:6px;gap:4px;padding:8px 12px;display:grid}.batch-global-warnings p,.team-issue-list p{color:var(--warning-ink);gap:8px;font-size:.8125rem;line-height:1.4;display:flex}.team-issue-list p b{flex:none}.batch-team-body{gap:12px;padding-top:4px;display:grid}.dt-detail .dt-table input:not([type=checkbox]):not([type=file]),.dt-detail .dt-table select{height:34px;padding-left:8px;font-size:.875rem}.dt-table td>input:not([type=checkbox]):not([type=radio]).invalid{border-color:var(--danger)}.arena-editor{gap:12px;padding-top:12px;display:grid}.arena-editor .arena-fields{grid-template-columns:minmax(0,2fr) minmax(0,2fr) 100px}.arena-editor .arena-fields>label:first-child{grid-column:auto}.dt-detail .entity-editor-body{padding:14px 4px 4px}.dt-detail .entry-content{padding:4px 0 6px}.batch-team-fields{grid-template-columns:minmax(180px,1.4fr) minmax(110px,.6fr) minmax(170px,.9fr) minmax(240px,1.2fr);align-items:end;gap:12px;padding-top:10px;display:grid}.batch-team-fields>label{color:var(--muted);gap:6px;font-size:.8125rem;font-weight:600;display:grid}.batch-logo-picker{cursor:pointer;position:relative}.batch-logo-picker>span{background:var(--field);border:1.5px dashed var(--line-strong);border-radius:var(--radius);align-items:center;gap:9px;height:40px;padding:3px 10px 3px 3px;display:flex}.batch-logo-picker:hover>span,.batch-logo-picker:focus-within>span{border-color:var(--accent)}.batch-logo-picker img,.batch-logo-picker b{object-fit:contain;width:32px;height:32px;color:var(--accent-ink);background:var(--accent-soft);font:800 .6875rem var(--mono);border-radius:6px;flex:none;place-items:center;display:grid;overflow:hidden}.batch-logo-picker em{color:var(--muted);font:600 .75rem var(--mono);font-style:normal}.batch-colors{grid-template-columns:1fr 1fr;gap:8px;display:grid}.batch-colors label{color:var(--muted);gap:6px;font-size:.8125rem;font-weight:600;display:grid}.batch-colors label>span{background:var(--field);border:1px solid var(--line-strong);border-radius:var(--radius);align-items:center;gap:8px;height:40px;padding:4px 10px 4px 5px;display:flex}.batch-colors code{color:var(--ink);font-size:.75rem}.captain-toggle{cursor:pointer;justify-content:center;display:flex;position:relative}.captain-toggle input{opacity:0;pointer-events:none;position:absolute}.captain-toggle span{width:30px;height:30px;color:var(--muted);background:var(--field);border:1px solid var(--line-strong);font:800 .75rem var(--mono);border-radius:50%;place-items:center;display:grid}.captain-toggle input:checked+span{color:#fff;background:var(--accent);border-color:var(--accent)}.captain-toggle input:focus-visible+span{outline:3px solid color-mix(in srgb, var(--accent) 70%, var(--ink));outline-offset:2px}.player-photo-picker{cursor:pointer;background:var(--field);border:1.5px dashed var(--line-strong);border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:relative;overflow:hidden}.player-photo-picker:hover,.player-photo-picker:focus-within{border-color:var(--accent)}.player-photo-picker img{object-fit:cover;width:100%;height:100%}.player-photo-picker span{color:var(--muted);font:700 .5625rem var(--mono);text-transform:uppercase}.add-player-button{justify-self:start}.roster-import-blocker{z-index:1000;background:var(--backdrop);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.roster-import-progress{background:linear-gradient(145deg, var(--accent-soft), transparent 45%), var(--surface);border:1px solid var(--line-strong);width:min(480px,100%);max-height:calc(100dvh - 40px);box-shadow:var(--shadow-lg);border-radius:16px;padding:34px;position:relative;overflow:hidden auto}.roster-import-progress:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);width:100%;height:3px;animation:1.7s ease-in-out infinite roster-scan;position:absolute;inset:0 auto auto 0}.roster-import-orbit{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:50%;place-items:center;width:60px;height:60px;margin-bottom:22px;animation:2.4s linear infinite roster-orbit;display:grid;position:relative}.roster-import-orbit:after{content:"";background:var(--accent);width:14px;height:14px;box-shadow:0 0 24px color-mix(in srgb, var(--accent) 65%, transparent);border-radius:50%}.roster-import-orbit i{background:var(--accent-hover);border-radius:50%;width:7px;height:7px;position:absolute}.roster-import-orbit i:first-child{top:-3px}.roster-import-orbit i:nth-child(2){opacity:.65;bottom:8px;right:2px}.roster-import-orbit i:nth-child(3){opacity:.35;bottom:8px;left:2px}.roster-import-progress h2{letter-spacing:-.045em;text-transform:uppercase;margin:6px 0 4px;font-size:clamp(1.75rem,5vw,2.5rem);line-height:1}.roster-import-progress>p{color:var(--muted);font-size:.875rem}.roster-import-progress ol{margin:24px 0;padding:0;list-style:none}.roster-import-progress li{min-height:42px;color:var(--subtle);border-top:1px solid var(--line);grid-template-columns:32px 1fr;align-items:center;gap:10px;font-size:.875rem;font-weight:650;display:grid}.roster-import-progress li b{color:inherit;font:800 .75rem var(--mono)}.roster-import-progress li.active{color:var(--ink)}.roster-import-progress li.active b{color:var(--accent-ink)}.roster-import-progress li.done{color:var(--muted)}.roster-import-progress li.done b{color:var(--success-ink)}.roster-import-progress footer{color:var(--muted);border-top:1px solid var(--line);font:700 .75rem var(--mono);text-transform:uppercase;justify-content:space-between;padding-top:14px;display:flex}.roster-import-progress footer b{color:var(--accent-ink);font-variant-numeric:tabular-nums}@keyframes roster-orbit{to{transform:rotate(360deg)}}@keyframes roster-scan{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}@media (max-width:1280px){.batch-team-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.batch-team-fields{grid-template-columns:minmax(0,1fr)}}.arena-layout{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.arena-form-card{top:calc(var(--header-h) + 16px);gap:14px;padding:20px;display:grid;position:sticky}.arena-form-card>p{color:var(--muted);font-size:.875rem}.arena-fields{grid-template-columns:minmax(0,1fr) 100px;gap:12px;display:grid}.arena-fields>label:first-child,.arena-fields>.arena-note-field{grid-column:1/-1}.arena-actions{flex-wrap:wrap;gap:8px;display:flex}.arena-actions .danger{margin-left:auto}@media (max-width:900px){.arena-layout{grid-template-columns:minmax(0,1fr)}.arena-form-card{position:static}}.access-layout{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.access-form-card{top:calc(var(--header-h) + 16px);position:sticky}.access-form{gap:14px;margin-top:4px;display:grid}.access-form-actions{flex-wrap:wrap;gap:8px;display:flex}.access-form-actions>button{flex:auto}.access-scopes{border:1px solid var(--line-strong);border-radius:var(--radius);max-height:300px;padding:4px 12px 8px;overflow-y:auto}.access-scopes legend{color:var(--muted);padding:0 6px;font-size:.8125rem;font-weight:600}.access-scopes label{border-bottom:1px solid var(--line-soft);cursor:pointer;align-items:flex-start;gap:10px;padding:8px 0;font-size:.875rem;display:flex}.access-scopes label:last-child{border-bottom:0}.access-scopes p{color:var(--muted);margin:8px 0;font-size:.875rem}.access-hint{color:var(--muted);font-size:.8125rem;line-height:1.5}.access-form-card .notice{margin-top:14px}.invite-result{border-top:1px solid var(--line);gap:10px;margin-top:16px;padding-top:16px;display:grid}.access-lists{gap:16px;display:grid}@media (max-width:1050px){.access-layout{grid-template-columns:minmax(0,1fr)}.access-form-card{position:static}}.entry-content{gap:14px;display:grid}.entry-content h3{color:var(--muted);font:700 .6875rem var(--mono);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}.entry-actions{flex-wrap:wrap;gap:8px;display:flex}.entry-actions .danger{margin-left:auto}.entry-history{color:var(--muted);font-size:.875rem}.entry-history summary{width:max-content;color:var(--accent-ink);cursor:pointer;padding:4px 0;font-weight:600}.entry-history ol{gap:4px;margin:8px 0 0;padding-left:20px;display:grid}@media (max-width:760px){.entry-actions .danger{margin-left:0}}.tournament-form-card{gap:16px;padding:20px;display:grid}.tournament-builder-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.tournament-builder-side{gap:16px;min-width:0;display:grid}.format-options{gap:12px;display:grid}.tournament-switch{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:10px;padding:12px;display:flex}.tournament-switch span{gap:2px;display:grid}.tournament-switch b{font-size:.875rem}.tournament-switch small{color:var(--muted);font-size:.8125rem}@media (max-width:1180px){.tournament-builder-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.tournament-builder-layout{grid-template-columns:minmax(0,1fr)}}body:has(.tournament-workspace-shell){flex-direction:column;height:100dvh;display:flex;overflow:hidden}body:has(.tournament-workspace-shell) .app-header-inner{max-width:none}.tournament-workspace-shell{--ws-side:clamp(236px, 17vw, 300px);--ws-info:clamp(290px, 21vw, 380px);--ws-pad:clamp(20px, 2.4vw, 40px);flex:auto;grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.tournament-workspace-topbar{grid-template-columns:var(--ws-side) minmax(0, 1fr) auto;background:var(--chrome);border-bottom:1px solid var(--line);align-items:stretch;min-height:64px;display:grid}.tournament-wordmark{color:var(--muted);border-right:1px solid var(--line);align-items:center;gap:8px;padding:0 20px;font-size:.875rem;font-weight:600;text-decoration:none;display:flex}.tournament-wordmark:hover{color:var(--accent-ink)}.tournament-context{min-width:0;padding:8px var(--ws-pad);grid-template-columns:minmax(0,1fr);align-content:center;row-gap:2px;display:grid}.tournament-context>span{color:var(--accent-ink);font:700 .75rem var(--mono);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.tournament-context>span small{color:var(--muted);font:500 .8125rem var(--sans);letter-spacing:0;text-transform:none}.tournament-context b{text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:1.1875rem;font-weight:800;line-height:1.25;overflow:hidden}.tournament-context .tournament-status{height:20px}.tournament-rebuild-button{height:100%;min-height:0;color:var(--on-accent);background:var(--accent);border:0;border-radius:0;gap:12px;padding:0 22px;font-size:.875rem;font-weight:750}.tournament-rebuild-button:hover:not(:disabled){background:var(--accent-hover)}.tournament-rebuild-button:active:not(:disabled){transform:none}.tournament-rebuild-button span{font:700 .6875rem var(--mono);background:#0000002e;border-radius:4px;padding:4px 7px}.tournament-dashboard{grid-template-columns:var(--ws-side) minmax(0, 1fr) var(--ws-info);min-height:0;display:grid}.tournament-dashboard>*{min-width:0}.tournament-sidebar,.tournament-info-panel{background:var(--chrome);min-height:0;overflow-y:auto}.tournament-sidebar{border-right:1px solid var(--line);padding:18px 14px}.tournament-side-metric{background:linear-gradient(135deg, var(--accent-soft), transparent), var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 18px}.tournament-side-metric span,.tournament-side-section>span,.tournament-stage-nav>span,.tournament-info-panel section>span{color:var(--muted);font:700 .6875rem var(--mono);letter-spacing:.06em;text-transform:uppercase;display:block}.tournament-side-metric strong{color:var(--accent-ink);font:800 2.5rem/1 var(--mono);margin:6px 0 2px;display:block}.tournament-side-metric small{color:var(--muted);font-size:.8125rem}.tournament-side-section{border:1px solid var(--line);border-radius:10px;margin-top:10px;padding:14px 18px}.tournament-side-section strong{text-transform:uppercase;margin-top:6px;font-size:.9375rem;line-height:1.3;display:block}.tournament-side-section p{color:var(--muted);margin-top:4px;font-size:.8125rem;line-height:1.4}.tournament-stage-nav{margin-top:22px}.tournament-stage-nav>span{margin:0 8px 8px}.tournament-stage-nav button{width:100%;min-height:54px;color:var(--muted);text-align:left;background:0 0;border-color:#0000;grid-template-columns:28px minmax(0,1fr);justify-content:stretch;align-items:center;gap:10px;margin-bottom:4px;padding:8px 12px;display:grid}.tournament-stage-nav button:hover:not(:disabled){color:var(--ink);background:var(--hover-tint);border-color:#0000}.tournament-stage-nav button.active{color:var(--ink);background:var(--surface);border-color:var(--line);box-shadow:inset 3px 0 var(--accent), var(--shadow-sm)}.tournament-stage-nav button>i{color:var(--accent-ink);font:700 .8125rem var(--mono);font-style:normal}.tournament-stage-nav button>span{gap:1px;min-width:0;display:grid}.tournament-stage-nav button b{text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.875rem;font-weight:700;line-height:1.25;overflow:hidden}.tournament-stage-nav button small{font-size:.75rem;font-weight:500}.tournament-sidebar-link{width:100%;margin-top:14px}.tournament-main-panel{min-height:0;padding:var(--ws-pad);overflow-y:auto}.tournament-stage-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 24px;display:flex}.tournament-stage-header>div:first-child{flex:260px;min-width:0}.tournament-stage-header>div:first-child>span{color:var(--accent-ink);font:700 .75rem var(--mono);letter-spacing:.06em;text-transform:uppercase}.tournament-stage-header h1{letter-spacing:-.035em;text-transform:uppercase;margin:6px 0;font-size:clamp(1.75rem,3vw,2.75rem);line-height:1}.tournament-stage-header p{max-width:68ch;color:var(--muted);font-size:.9375rem;line-height:1.5}.tournament-stage-header>div:last-child:not(:first-child){background:var(--surface);border:1px solid var(--line);border-radius:10px;flex:none;gap:4px;min-width:180px;padding:12px 16px;display:grid}.tournament-stage-header>div:last-child:not(:first-child) span{color:var(--muted);font:700 .6875rem var(--mono);letter-spacing:.06em;text-transform:uppercase}.tournament-stage-header>div:last-child:not(:first-child) b{font-size:.9375rem}.tournament-stage-header>div:last-child:not(:first-child) small{color:var(--muted);font-size:.8125rem}.tournament-stage-header b.ready{color:var(--success-ink)}.tournament-stage-header b.waiting{color:var(--warning-ink)}.tournament-advancement{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:6px;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:16px;margin:20px 0 16px;padding:12px 16px;display:grid}.tournament-advancement span{color:var(--accent-ink);font:700 .6875rem var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.tournament-advancement p{font-size:.9375rem;line-height:1.5}.tournament-group-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,540px),1fr));align-items:start;gap:14px;display:grid}.tournament-group-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);overflow:hidden}.tournament-group-card>header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.tournament-group-card>header div{gap:1px;display:grid}.tournament-group-card>header span{text-transform:uppercase;font-size:1.0625rem;font-weight:800}.tournament-group-card>header div b{color:var(--muted);font-size:.8125rem;font-weight:500}.tournament-group-card>header>strong{color:var(--accent-ink);font:800 1.625rem/1 var(--mono);white-space:nowrap}.tournament-group-card>header>strong small{color:var(--muted);font:500 .8125rem var(--sans)}.tournament-participant-chips{border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:6px;padding:12px 14px;display:grid}.tournament-participant-chips>:is(span,button){width:100%;min-width:0;min-height:36px;color:var(--ink);text-align:left;background:var(--surface-2);border:1px solid #0000;border-radius:7px;justify-content:flex-start;align-items:center;gap:8px;padding:5px 10px 5px 5px;font-size:.875rem;font-weight:600;display:flex}.tournament-participant-chips>button:hover:not(:disabled){background:var(--surface-3);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.tournament-participant-chips>button:active:not(:disabled){transform:none}.tournament-participant-chips em{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;line-height:1.3;display:-webkit-box;overflow:hidden}.tournament-participant-chips i{width:24px;height:24px;color:var(--accent-ink);background:var(--bg);font:700 .6875rem var(--mono);border-radius:50%;flex:none;place-items:center;font-style:normal;display:grid}.tournament-participant-chips>button.withdrawn{opacity:.55}.tournament-participant-chips>button.withdrawn em{text-decoration:line-through}.tournament-standings{margin:12px 14px}.tournament-player-stats{margin-top:20px}.tournament-standings>p{color:var(--muted);margin:7px 9px;font-size:.75rem}.tournament-fixtures{padding:0 16px 14px}.tournament-round-label{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0 6px;display:flex}.tournament-round-label h3{color:var(--muted);font:700 .6875rem var(--mono);letter-spacing:.06em;text-transform:uppercase}.tournament-round-label button{min-height:30px;color:var(--accent-ink);border-color:color-mix(in srgb, var(--accent) 40%, transparent);background:0 0;padding:4px 12px;font-size:.8125rem}.tournament-round-label button:hover:not(:disabled){color:var(--ink);background:var(--accent-soft);border-color:var(--accent)}.tournament-fixture{width:100%;min-height:46px;color:inherit;border-bottom:1px solid var(--line-soft);content-visibility:auto;contain-intrinsic-size:auto 56px;grid-template-columns:34px minmax(0,1fr) 56px minmax(0,1fr) 34px;align-items:center;gap:3px 10px;padding:7px 0;display:grid}.tournament-fixture>b{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;font-size:.9375rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.tournament-fixture>b:first-of-type{text-align:right;grid-column:2}.tournament-fixture>i{color:var(--accent-ink);font:700 .9375rem var(--mono);text-align:center;grid-column:3;font-style:normal}.tournament-fixture>b:last-of-type{grid-column:4}.tournament-fixture-meta{color:var(--muted);text-align:center;flex-wrap:wrap;grid-area:2/2/auto/5;justify-content:center;gap:2px 10px;font-size:.8125rem;line-height:1.35;display:flex}.tournament-fixture-meta.unscheduled{color:var(--subtle)}.tournament-fixture-meta em{color:var(--danger-ink);flex-basis:100%;font-style:normal;font-weight:600}.tournament-fixture.scheduled .tournament-fixture-meta:not(.unscheduled){color:var(--success-ink)}.tournament-fixture.finished>b{color:var(--muted);font-weight:500}.tournament-fixture.won-home>b:first-of-type,.tournament-fixture.won-away>b:last-of-type{color:var(--ink);font-weight:800}.tournament-fixture.finished>i{color:var(--ink)}.tournament-fixture.cancelled{opacity:.45;text-decoration:line-through}.tournament-fixture.has-conflict{background:var(--danger-soft);box-shadow:inset 3px 0 var(--danger)}a.tournament-fixture,button.tournament-fixture{border-radius:6px;text-decoration:none}a.tournament-fixture:hover{background:var(--hover-tint)}button.tournament-fixture{min-height:46px;font:inherit;text-align:left;border:0;border-bottom:1px solid var(--line-soft);background:0 0;justify-content:stretch;padding:7px 0}button.tournament-fixture:hover:not(:disabled){background:var(--accent-soft)}button.tournament-fixture:active:not(:disabled){transform:none}.tournament-fixture>small{color:var(--accent-ink);opacity:0;grid-area:1/5/span 2;justify-self:end;margin-right:6px;font-size:.9375rem;transition:opacity .15s}button.tournament-fixture>small{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:50%;place-items:center;width:28px;height:28px;font-size:.8125rem;display:grid}.tournament-fixture:hover>small,.tournament-fixture:focus-visible>small{opacity:1}.slot-team,.slot-placeholder{font-style:normal}.slot-team:before{content:"";vertical-align:.05em;background:var(--slot-color);width:9px;height:9px;box-shadow:0 0 0 2px var(--line);border-radius:50%;margin-right:8px;display:inline-block}.slot-placeholder{color:var(--muted)}.tournament-fixtures>p,.tournament-awaiting{color:var(--muted);margin-top:10px;font-size:.875rem;line-height:1.45}.tournament-awaiting{padding:18px}.tournament-info-panel{border-left:1px solid var(--line);padding:16px 14px}.tournament-info-panel section{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-bottom:12px;padding:14px 16px}.tournament-info-panel section>span{margin-bottom:6px}.tournament-info-panel section>:is(div,button){width:100%;min-height:50px;color:inherit;text-align:left;border:0;border-bottom:1px solid var(--line-soft);background:0 0;border-radius:0;justify-content:flex-start;align-items:center;gap:10px;padding:6px 0;display:flex}.tournament-info-panel section>:is(div,button):last-of-type{border-bottom:0}.tournament-info-panel section>button:hover:not(:disabled){background:var(--hover-tint)}.tournament-info-panel section>button:active:not(:disabled){transform:none}.tournament-info-panel section>:is(div,button)>i{color:#fff;width:28px;height:28px;font:700 .6875rem var(--mono);border-radius:50%;flex:none;place-items:center;font-style:normal;display:grid}.tournament-info-panel section>:is(div,button)>p{gap:1px;min-width:0;display:grid}.tournament-info-panel section>:is(div,button) b{font-size:.875rem;font-weight:650;line-height:1.3}.tournament-info-panel section>:is(div,button) small{color:var(--muted);font-size:.75rem;line-height:1.35}.tournament-info-panel section>:is(div,button).withdrawn{opacity:.55}.tournament-info-panel section>:is(div,button).withdrawn b{text-decoration:line-through}.tournament-history section>:is(div,button)>i,.tournament-history>div>i{color:var(--accent-ink);background:var(--accent-soft)}.tournament-info-empty{color:var(--muted);font-size:.875rem;line-height:1.45}.tournament-info-link{color:var(--accent-ink);margin-top:10px;font-size:.8125rem;font-weight:700;text-decoration:none;display:inline-flex}@media (max-width:1439px){.tournament-dashboard{grid-template-columns:var(--ws-side) minmax(0, 1fr);background:linear-gradient(90deg, var(--chrome) var(--ws-side), transparent var(--ws-side));grid-template-rows:max-content max-content;align-items:start;overflow-y:auto}.tournament-sidebar{background:0 0;border-right:0;grid-row:1/span 2;position:sticky;top:0;overflow:visible}.tournament-main-panel{border-left:1px solid var(--line);grid-column:2;overflow:visible}.tournament-info-panel{padding:0 var(--ws-pad) var(--ws-pad);border-left:1px solid var(--line);background:0 0;grid-column:2;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:start;gap:14px;display:grid;overflow:visible}.tournament-info-panel section{margin:0}.tournament-info-panel section:first-child{grid-column:1/-1;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));column-gap:20px;display:grid}.tournament-info-panel section:first-child>span{grid-column:1/-1}.tournament-info-panel section:first-child>:is(div,button){border-bottom:1px solid var(--line-soft)}}@media (max-height:700px) and (min-width:761px){.tournament-sidebar{position:static}}@media (max-width:760px){body:has(.tournament-workspace-shell){height:auto;display:block;overflow:auto}.tournament-workspace-shell{--ws-pad:14px;display:block}.tournament-workspace-topbar{grid-template-columns:auto minmax(0,1fr) auto}.tournament-wordmark{border-right:0;padding:0 14px}.tournament-wordmark b{display:none}.tournament-context{padding:8px}.tournament-context>span small{display:none}.tournament-rebuild-button{gap:0;padding:0 14px;font-size:0}.tournament-rebuild-button span{font-size:.6875rem}.tournament-dashboard{background:0 0;display:block}.tournament-sidebar{border-bottom:1px solid var(--line);grid-template-columns:90px minmax(0,1fr);gap:8px;padding:10px;display:grid;position:static}.tournament-side-metric{padding:10px}.tournament-side-metric span,.tournament-side-metric small,.tournament-side-section{display:none}.tournament-side-metric strong{margin:0;font-size:1.75rem}.tournament-stage-nav{gap:4px;min-width:0;margin:0;display:flex;overflow-x:auto}.tournament-stage-nav>span{display:none}.tournament-stage-nav button{flex:none;width:auto;min-width:0;margin:0}.tournament-stage-nav button b{overflow:visible}.tournament-sidebar-link{grid-column:1/-1;margin:0}.tournament-main-panel{border-left:0}.tournament-stage-header>div:last-child:not(:first-child){display:none}.tournament-group-grid{grid-template-columns:minmax(0,1fr)}.tournament-advancement{grid-template-columns:1fr;gap:4px}.tournament-info-panel{border-left:0;padding:0 12px 12px;display:block}.tournament-info-panel section{margin-bottom:12px}.tournament-info-panel section:first-child{display:block}.tournament-fixtures{padding-inline:10px}.tournament-fixture{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr) 24px;gap:3px 6px}.tournament-fixture>b:first-of-type{grid-column:1}.tournament-fixture>i{grid-column:2}.tournament-fixture>b:last-of-type{grid-column:3}.tournament-fixture>small{opacity:1;grid-column:4}.tournament-fixture-meta{grid-column:1/4}}.tournament-editor-backdrop,.voice-info-backdrop{z-index:1000;background:var(--backdrop);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);place-items:center;padding:18px;display:grid;position:fixed;inset:0}.tournament-editor,.fixture-editor,.round-scheduler,.team-manager,.voice-info-dialog{max-height:calc(100dvh - 36px);color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-lg);border-radius:14px}.tournament-editor,.round-scheduler,.team-manager{grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.tournament-editor{width:min(1050px,100%)}.round-scheduler{width:min(1040px,100%)}.team-manager,.fixture-editor{width:min(700px,100%)}.fixture-editor{overflow-y:auto}:is(.tournament-editor,.fixture-editor,.round-scheduler,.team-manager)>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 22px 16px;display:flex}:is(.tournament-editor,.fixture-editor,.round-scheduler,.team-manager)>header>div{min-width:0}:is(.tournament-editor,.fixture-editor,.round-scheduler,.team-manager)>header span{color:var(--accent-ink);font:700 .75rem var(--mono);letter-spacing:.06em;text-transform:uppercase}:is(.tournament-editor,.fixture-editor,.round-scheduler,.team-manager)>header h2{text-transform:uppercase;margin-top:4px;font-size:1.375rem;font-weight:800;line-height:1.15}:is(.tournament-editor,.fixture-editor,.round-scheduler,.team-manager)>header p{color:var(--muted);margin-top:6px;font-size:.8125rem}:is(.tournament-editor,.fixture-editor,.round-scheduler,.team-manager)>header button{width:36px;min-height:36px;color:var(--muted);background:0 0;border-color:#0000;flex:none;padding:0;font-size:1.5rem;line-height:1}:is(.tournament-editor,.fixture-editor,.round-scheduler,.team-manager)>header button:hover:not(:disabled){color:var(--ink);background:var(--hover-tint)}:is(.tournament-editor,.fixture-editor,.round-scheduler,.team-manager)>footer{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px 16px;padding:14px 22px 16px;display:flex}:is(.tournament-editor,.fixture-editor,.round-scheduler,.team-manager)>footer>p:not(.tournament-message){min-width:0;color:var(--muted);flex:240px;font-size:.8125rem;line-height:1.4}:is(.tournament-editor,.fixture-editor,.round-scheduler)>footer>div{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}:is(.tournament-editor,.fixture-editor,.round-scheduler,.team-manager)>footer .tournament-message{flex-basis:100%}.tournament-editor-body{grid-template-columns:.85fr 1.15fr;gap:20px;min-height:0;padding:16px 22px;display:grid;overflow-y:auto}.tournament-editor-column{flex-direction:column;gap:10px;min-width:0;min-height:0;display:flex}.fixture-editor-section{color:var(--muted);font:700 .6875rem var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:16px 22px 0}.fixture-editor-fixed{margin:8px 22px 0;font-size:1.0625rem;font-weight:700}.fixture-editor-schedule{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:12px;padding:10px 22px 6px;display:grid}.fixture-editor-teams{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:10px;padding:10px 22px 6px;display:grid}.fixture-swap{width:40px;color:var(--accent-ink);padding:0;font-size:1.125rem}.fixture-editor-note{color:var(--muted);background:var(--surface-2);border-left:3px solid var(--line-strong);border-radius:6px;gap:4px;margin:10px 22px 16px;padding:10px 14px;font-size:.875rem;line-height:1.45;display:grid}.fixture-editor-note p{color:var(--ink)}div.fixture-editor-note{border-left-color:var(--warning);background:var(--warning-soft)}.fixture-editor-note.warning{color:var(--danger-ink);background:var(--danger-soft);border-left-color:var(--danger)}.fixture-editor-note.warning p{color:var(--danger-ink)}.fixture-editor-note a{color:var(--accent-ink);font-weight:600}.fixture-editor>footer{margin-top:10px}.round-scheduler-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.round-scheduler-form{border-right:1px solid var(--line);min-height:0;padding-bottom:16px;overflow-y:auto}.round-scheduler-form .fixture-editor-schedule{grid-template-columns:1fr 1fr}.round-scheduler-scope{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:6px;margin:16px 22px 4px;display:grid}.round-scheduler-scope button{min-height:42px;color:var(--muted);background:var(--surface-2);border-color:var(--line-soft);font-size:.8125rem}.round-scheduler-scope button.selected{color:var(--ink);background:var(--accent-soft);border-color:var(--accent)}.round-scheduler-courts{border:1px solid var(--line-strong);border-radius:var(--radius);flex-wrap:wrap;gap:8px 18px;margin:6px 22px 0;padding:10px 14px;display:flex}.round-scheduler-courts legend{color:var(--muted);padding:0 6px;font-size:.8125rem;font-weight:600}.round-scheduler-courts label,.round-scheduler-toggle{cursor:pointer;align-items:center;gap:8px;font-size:.875rem;display:inline-flex}.round-scheduler-toggle{margin:14px 22px 0}.round-scheduler-hint{color:var(--muted);margin:12px 22px 0;font-size:.8125rem;line-height:1.5}.round-scheduler-preview{background:var(--surface-2);min-height:0;padding:16px 20px;overflow-y:auto}.round-scheduler-preview h3{margin-bottom:8px;font-size:.9375rem}.round-scheduler-preview>div{border-bottom:1px solid var(--line-soft);grid-template-columns:140px 64px minmax(0,1fr);align-items:baseline;gap:10px;padding:8px 0;font-size:.875rem;display:grid}.round-scheduler-preview time{color:var(--success-ink);font:600 .8125rem var(--mono)}.round-scheduler-preview b{color:var(--accent-ink);font-size:.8125rem}.round-scheduler-preview small{color:var(--muted)}.round-scheduler-preview>p{color:var(--muted);font-size:.875rem;line-height:1.5}.team-manager-body{min-height:0;padding:4px 22px;overflow-y:auto}.team-manager-body section{border-bottom:1px solid var(--line);padding:16px 0}.team-manager-body section:last-child{border-bottom:0}.team-manager-body section.danger h3{color:var(--danger-ink)}.team-manager-body h3{font-size:1rem;font-weight:750}.team-manager-body p{color:var(--muted);margin:4px 0 12px;font-size:.875rem;line-height:1.45}.team-manager-choices{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.team-manager-choices button{text-align:left;flex-direction:column;align-items:flex-start;gap:2px}.team-manager-choices small{color:var(--muted);font-size:.75rem;font-weight:500}.team-manager-row{flex-wrap:wrap;gap:8px;display:flex}.team-manager-row select{flex:260px}@media (max-width:900px){.round-scheduler-body{grid-template-columns:minmax(0,1fr);overflow-y:auto}.round-scheduler-form{border-right:0;border-bottom:1px solid var(--line);overflow:visible}.round-scheduler-preview{overflow:visible}}@media (max-width:760px){.tournament-editor-backdrop{align-items:end;padding:8px 0 0}.tournament-editor,.fixture-editor,.round-scheduler,.team-manager{border-radius:14px 14px 0 0;max-height:calc(100dvh - 8px)}.tournament-editor-body{grid-template-columns:minmax(0,1fr)}:is(.tournament-editor,.fixture-editor,.round-scheduler)>footer>div{width:100%}:is(.tournament-editor,.fixture-editor,.round-scheduler)>footer button,.fixture-editor>footer>.btn{flex:130px}.round-scheduler-preview>div{grid-template-columns:minmax(0,1fr) 64px}.round-scheduler-preview>div>span{grid-column:1/-1}.fixture-editor-teams{grid-template-columns:minmax(0,1fr) 40px}.fixture-editor-teams>label:last-child{grid-column:1}.fixture-swap{grid-area:1/2/span 2;align-self:center}}.matchup-card{background:linear-gradient(130deg, var(--accent-soft), transparent 46%), var(--surface);gap:20px;padding:clamp(18px,3vw,28px);display:grid}.matchup-teams{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:16px;display:grid}.matchup-team{gap:8px;display:grid}.matchup-team>span{color:var(--team-ink,var(--accent-ink));font:700 .75rem var(--mono);letter-spacing:.08em;text-transform:uppercase}.matchup-team select{height:52px;box-shadow:inset 4px 0 var(--team-color,transparent);font-size:1rem;font-weight:650}.matchup-team.away{text-align:right}.matchup-vs{color:var(--subtle);font:800 1rem var(--mono);padding-bottom:14px}.starter-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.starter-picker{min-width:0}.starter-picker .dt-card{box-shadow:inset 0 3px var(--team-color,var(--line)), var(--shadow-sm)}.matchup-footer{border-top:1px solid var(--line);grid-template-columns:minmax(260px,380px) minmax(0,1fr) auto;align-items:end;gap:16px;padding-top:18px;display:grid}.matchup-footer>div p{font-size:.875rem;line-height:1.5}@media (max-width:900px){.matchup-footer{grid-template-columns:minmax(0,1fr)}}@media (max-width:680px){.matchup-teams,.starter-picker-grid{grid-template-columns:minmax(0,1fr)}.matchup-vs{display:none}.matchup-team.away{text-align:left}}.operator-shell{grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto;height:100dvh;min-height:540px;padding:clamp(8px,1.6vh,16px);display:grid;overflow:hidden}body:has(.operator-shell){overflow:hidden}.operator-shell>*{width:100%;max-width:1500px;margin-inline:auto}.operator-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;margin-bottom:clamp(6px,1vh,12px);display:flex}.operator-topbar>div:first-child{flex:280px;min-width:0}.operator-topbar .eyebrow{margin-bottom:2px}.operator-topbar h1{letter-spacing:-.01em;text-transform:uppercase;font-size:1.125rem;font-weight:800;line-height:1.25}.operator-topbar h1 span{color:var(--subtle);margin:0 8px;font-weight:500}.connection-pill{height:32px;color:var(--muted);background:var(--surface);border:1px solid var(--line);font:700 .75rem var(--mono);text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:0 12px;display:flex}.connection-pill i{background:var(--warning);border-radius:50%;width:7px;height:7px}.connection-pill.live i{background:var(--success);box-shadow:0 0 10px var(--success)}.connection-pill.offline{color:var(--danger-ink)}.connection-pill.offline i{background:var(--danger)}.operator-report-links{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.score-console{--ink:#f5f5f4;--muted:#f5f5f4ad;--subtle:#f5f5f475;--line:#ffffff1a;--team-ink-mix:#fff;--team-ink-amount:58%;min-height:clamp(104px,17vh,172px);color:var(--ink);border:1px solid var(--line);background:#1f2022;border-radius:12px 12px 0 0;grid-template-columns:minmax(0,1fr) clamp(130px,21vw,300px) minmax(0,1fr);display:grid;overflow:hidden}.score-console>*{min-width:0}.score-side{grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:4px 12px;min-height:0;padding:clamp(10px,2vh,20px) clamp(16px,2.6vw,38px);display:grid;position:relative}.score-side:before{content:"";background:var(--team-color);width:4px;position:absolute;inset:0 auto 0 0}.score-side.away{text-align:right;grid-template-columns:auto minmax(0,1fr)}.score-side.away:before{inset:0 0 0 auto}.side-label{color:var(--team-ink);font:700 .75rem var(--mono);letter-spacing:.1em;text-transform:uppercase;grid-column:1/-1}.score-team-name{letter-spacing:-.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;align-self:end;font-size:clamp(1.375rem,2.8vw,2.75rem);line-height:1.05;overflow:hidden}.score-number{font:850 clamp(52px, min(8vw, 12vh), 118px)/.85 var(--sans);letter-spacing:-.06em;font-variant-numeric:tabular-nums;grid-area:2/2/4;align-self:center}.score-side.away .score-number{grid-column:1;justify-self:start}.score-side.away .score-team-name,.score-side.away .score-metadata{grid-column:2}.score-metadata{color:var(--muted);font:700 .8125rem var(--mono);text-transform:uppercase;flex-wrap:wrap;gap:4px 16px;display:flex}.score-side.away .score-metadata{justify-content:flex-end}.clock-console{border-inline:1px solid var(--line);background:#151517;flex-direction:column;justify-content:center;align-items:center;display:flex}.period-badge{color:#fff;background:var(--accent);font:800 .8125rem var(--mono);border-radius:4px;padding:4px 9px}.main-clock{font:700 clamp(30px, min(4vw, 6vh), 52px)/.95 var(--mono);letter-spacing:-.06em;font-variant-numeric:tabular-nums;margin:clamp(6px,1.2vh,12px) 0 clamp(4px,.8vh,8px)}.clock-state{color:var(--muted);font:700 .6875rem var(--mono);letter-spacing:.1em;text-transform:uppercase}.clock-state.running{color:#f38a52}.transport-bar{background:var(--surface);border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;grid-template-columns:minmax(150px,200px) minmax(130px,170px) minmax(110px,140px) minmax(0,1fr);gap:6px;margin-bottom:clamp(6px,1vh,12px);padding:clamp(6px,1vh,10px);display:grid}.transport-bar>*{min-width:0}.transport{letter-spacing:.03em;text-transform:uppercase;min-height:clamp(36px,5vh,46px);font-size:.8125rem;font-weight:800}.transport.undo{color:var(--accent-ink)}.operator-message{min-width:0;font:600 .8125rem/1.35 var(--mono);flex-direction:column;justify-content:center;padding:4px 12px;display:flex}.operator-message span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem}.voice-console{background:linear-gradient(110deg, var(--accent-soft), transparent 45%), var(--surface);border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(150px,.5fr) minmax(200px,.7fr) minmax(260px,1.8fr);align-items:stretch;gap:7px;min-height:clamp(56px,8vh,70px);margin-bottom:clamp(6px,1vh,10px);padding:7px 44px 7px 7px;display:grid;position:relative}.voice-console>*{min-width:0}.voice-intro{flex-direction:column;justify-content:center;padding:4px 8px;display:flex}.voice-kicker{color:var(--accent-ink);font:700 .6875rem var(--mono);letter-spacing:.1em;text-transform:uppercase}.voice-intro strong{text-transform:uppercase;margin-top:2px;font-size:.9375rem}.voice-intro p{color:var(--muted);margin-top:4px;font-size:.75rem;line-height:1.35}.voice-info-button{width:28px;height:28px;min-height:28px;color:var(--accent-ink);border-color:var(--line-strong);background:0 0;border-radius:50%;padding:0;font:900 .8125rem/1 ui-serif,Georgia,serif;position:absolute;top:8px;right:8px}.push-to-talk{color:#fff;background:var(--accent);-webkit-user-select:none;user-select:none;touch-action:none;border-color:#0000;gap:12px;min-height:52px;padding:8px 18px}.push-to-talk:hover:not(:disabled){background:var(--accent-hover);border-color:#0000}.push-to-talk .mic-icon{border:2px solid #ffffffb3;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:.75rem;display:grid}.push-to-talk>span:nth-child(2){text-transform:uppercase;font-size:.8125rem;font-weight:800;line-height:1.15}.push-to-talk.recording{background:var(--danger-strong);box-shadow:0 0 0 4px var(--danger-soft);animation:1.2s ease-in-out infinite voice-pulse}@keyframes voice-pulse{50%{box-shadow:0 0 0 9px #0000}}.voice-feedback{align-items:stretch;min-width:0;display:flex}.voice-placeholder{width:100%;color:var(--muted);background:var(--surface-2);border:1px dashed var(--line-strong);text-align:center;border-radius:7px;justify-content:center;align-items:center;padding:8px 14px;font-size:.8125rem;line-height:1.45;display:flex}.voice-processing:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px;margin-right:9px;animation:1s ease-in-out infinite voice-pulse}.voice-result{background:var(--surface-2);border:1px solid var(--line);border-radius:7px;width:100%;padding:10px 14px}.voice-result.matched{box-shadow:inset 3px 0 var(--success)}.voice-result.ambiguous{box-shadow:inset 3px 0 var(--warning)}.voice-result.error,.voice-result.unrecognized{box-shadow:inset 3px 0 var(--danger)}.voice-result strong{margin:2px 0 4px;font-size:.9375rem;display:block}.voice-result p{color:var(--muted);margin:2px 0 6px;font-size:.8125rem;line-height:1.35}.voice-result .voice-transcript{color:var(--ink);font-size:.8125rem}.voice-result .voice-warning{color:var(--warning-ink)}.voice-result .voice-retry-hint{color:var(--ink);font-weight:600}.voice-actions{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.voice-result button{min-height:30px;padding:4px 10px;font-size:.75rem;font-weight:750}.voice-result button kbd{margin:0 4px 0 0}.voice-result .voice-apply{color:#fff;background:var(--success);border-color:var(--success)}.voice-candidates{flex-wrap:wrap;gap:5px;margin:8px 0 10px;display:flex}.voice-candidates span{background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:4px 9px;font-size:.8125rem}.voice-info-dialog{width:min(520px,100%);padding:24px;overflow-y:auto}.voice-info-dialog h2{text-transform:uppercase;margin:6px 0 10px;font-size:1.375rem;font-weight:800}.voice-info-dialog>p{color:var(--muted);font-size:.9375rem;line-height:1.55}.voice-info-examples{gap:6px;margin:16px 0;display:grid}.voice-info-examples span{background:var(--surface-2);border-left:2px solid var(--accent);font:700 .8125rem var(--mono);border-radius:4px;padding:8px 10px}.voice-info-dialog ol{padding-left:22px;font-size:.875rem;line-height:1.7}.voice-info-close{color:#fff;background:var(--accent);border-color:var(--accent);width:100%;min-height:44px;margin-top:18px}.voice-info-close:hover:not(:disabled){background:var(--accent-hover)}.team-panels{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:clamp(8px,1vw,14px);height:100%;min-height:0;display:grid}.team-panel{background:var(--surface);border:1px solid var(--line);min-width:0;min-height:0;max-height:480px;box-shadow:var(--shadow-sm);border-radius:10px;grid-template-rows:auto minmax(0,1fr) auto;display:grid}.team-panel-header{border-bottom:1px solid var(--line);min-height:clamp(44px,7vh,62px);box-shadow:inset 3px 0 var(--team-color);border-radius:10px 10px 0 0;justify-content:space-between;align-items:center;gap:10px;padding:clamp(6px,1.2vh,10px) clamp(10px,1.2vw,14px) clamp(6px,1.2vh,10px) clamp(12px,1.5vw,18px);display:flex}.team-panel-header>div{min-width:0}.team-panel-header span{color:var(--team-ink);font:700 .6875rem var(--mono);letter-spacing:.1em;text-transform:uppercase}.team-panel-header h2{text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:1.0625rem;font-weight:800;overflow:hidden}.team-panel-header button{text-transform:uppercase;flex:none;min-height:34px;padding:4px 12px;font-size:.75rem;font-weight:750}.player-list{grid-template-rows:repeat(var(--player-count,6), minmax(0, 1fr));min-height:0;padding:clamp(3px,.7vh,6px);display:grid}.player-row{border-bottom:1px solid var(--line-soft);border-radius:6px;grid-template-columns:clamp(30px,3vw,40px) minmax(70px,1fr) auto;align-items:center;gap:clamp(5px,.7vw,10px);min-height:0;padding:clamp(3px,.7vh,6px) clamp(4px,.6vw,8px);display:grid}.player-row:last-child{border-bottom:0}.player-row.selected-for-substitution{background:color-mix(in srgb, var(--team-color) 12%, transparent);box-shadow:inset 3px 0 var(--team-color)}.jersey{width:clamp(28px,3.4vh,36px);height:clamp(28px,3.4vh,36px);color:var(--team-ink);background:color-mix(in srgb, var(--team-color) 13%, transparent);border:1px solid color-mix(in srgb, var(--team-color) 32%, transparent);font:800 .875rem var(--mono);border-radius:50%;place-items:center;display:grid}.player-name{flex-direction:column;min-width:0;display:flex}.player-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:650;overflow:hidden}.player-name span{color:var(--muted);font:600 .6875rem var(--mono);margin-top:1px}.player-actions{align-items:center;gap:clamp(3px,.35vw,5px);display:flex}.player-actions button,.player-stat-menu summary{width:clamp(34px,3vw,44px);height:clamp(30px,4.6vh,40px);min-height:0;font:800 .8125rem var(--mono);padding:0}.player-actions button:not(.foul):not(.substitute){background:color-mix(in srgb, var(--team-color) 12%, var(--surface-2))}.player-actions .foul{width:clamp(42px,3.7vw,52px);color:var(--danger-ink)}.player-actions .substitute{color:var(--accent-ink);font-size:1rem}.player-actions .substitute[aria-pressed=true]{color:#fff;background:var(--accent);border-color:var(--accent)}.player-stat-menu{position:relative}.player-stat-menu[open]{z-index:20}.player-stat-menu summary{color:var(--accent-ink);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:var(--radius);cursor:pointer;background:0 0;place-items:center;font-size:.6875rem;list-style:none;display:grid}.player-stat-menu summary::-webkit-details-marker{display:none}.player-stat-menu summary:hover,.player-stat-menu[open] summary{background:var(--accent-soft)}.player-stat-menu>div{z-index:10;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);width:min(234px,100vw - 64px);box-shadow:var(--shadow-lg);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 6px);right:0}.player-stat-menu>div button{width:100%;height:auto;min-height:36px;font-size:.75rem}.bench-strip{background:var(--surface-2);border-top:1px solid var(--line);border-radius:0 0 10px 10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:48px;padding:6px 8px;display:grid}.bench-label{flex-direction:column;min-width:76px;display:flex}.bench-label span{color:var(--team-ink);font:700 .6875rem var(--mono);letter-spacing:.1em;text-transform:uppercase}.bench-label b{color:var(--muted);font:600 .6875rem var(--mono);white-space:nowrap;margin-top:1px}.substitution-active .bench-label b{color:var(--accent-ink)}.bench-players{scrollbar-width:thin;gap:5px;min-width:0;display:flex;overflow-x:auto}.bench-players button{min-width:max-content;min-height:34px;color:var(--muted);background:var(--surface);gap:6px;padding:4px 9px}.substitution-active .bench-players button{color:var(--ink);border-color:color-mix(in srgb, var(--team-color) 55%, var(--line))}.bench-players button i{width:21px;height:21px;color:var(--team-ink);background:color-mix(in srgb, var(--team-color) 12%, transparent);font:800 .6875rem var(--mono);border-radius:50%;place-items:center;font-style:normal;display:grid}.bench-players button span{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.75rem;font-weight:650;overflow:hidden}.empty-bench{color:var(--muted);font:600 .75rem var(--mono)}.hotkey-hint{color:var(--muted);font:600 .75rem var(--mono);text-transform:uppercase;margin-top:clamp(5px,.8vh,10px)}.hotkey-hint kbd{margin-left:14px}.hotkey-hint kbd:first-child{margin-left:0}@media (max-width:1180px){.voice-console{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.voice-feedback{grid-column:1/-1}}@media (max-width:1050px),(max-height:800px){body:has(.operator-shell){overflow:auto}.operator-shell{flex-direction:column;height:auto;min-height:100dvh;display:flex;overflow:visible}.team-panels{align-items:start;height:auto}.team-panel{max-height:none}.player-list{display:block}.player-row{min-height:56px}.player-actions button,.player-stat-menu summary{height:40px}}@media (max-width:1050px){.team-panels{grid-template-columns:minmax(0,1fr)}}@media (max-width:680px){.operator-shell{padding:8px}.operator-topbar h1{font-size:.9375rem}.operator-report-links{width:100%}.operator-report-links>:not(.theme-toggle){flex:auto}.score-console{grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr)}.score-side,.score-side.away{text-align:center;grid-template-columns:minmax(0,1fr);gap:4px;padding:10px 7px}.score-number,.score-side.away .score-number{grid-area:3/1;justify-self:center;font-size:2.75rem}.score-side.away .score-team-name,.score-side.away .score-metadata{grid-column:1}.score-team-name{font-size:.9375rem}.score-metadata,.score-side.away .score-metadata{justify-content:center;font-size:.6875rem}.main-clock{font-size:1.75rem}.transport-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.operator-message{grid-column:1/-1}.voice-console{grid-template-columns:minmax(0,1fr)}.player-row{grid-template-columns:34px minmax(0,1fr)}.player-actions{flex-wrap:wrap;grid-column:1/-1}.player-actions>*{flex:1 1 0}.player-actions button,.player-stat-menu summary,.player-actions .foul{width:100%}.bench-strip{grid-template-columns:minmax(0,1fr)}}.match-summary-score{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.match-summary-score .side{min-width:0;box-shadow:inset 4px 0 var(--team-color);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label score""name score";align-items:center;gap:4px 20px;padding:22px 26px;display:grid}.match-summary-score .side.away{text-align:right;border-left:1px solid var(--line);box-shadow:inset -4px 0 var(--team-color);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"score label""score name"}.match-summary-score span{color:var(--team-ink,var(--muted));font:700 .75rem var(--mono);letter-spacing:.06em;text-transform:uppercase;grid-area:label}.match-summary-score strong{text-transform:uppercase;grid-area:name;font-size:clamp(1.125rem,2.2vw,1.625rem);line-height:1.15}.match-summary-score b{color:var(--subtle);font:850 clamp(2.75rem, 6vw, 4.5rem)/1 var(--sans);letter-spacing:-.04em;font-variant-numeric:tabular-nums;grid-area:score}.match-summary-score .winner b{color:var(--ink)}.match-summary-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px;display:grid}.match-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);padding:18px 20px;overflow-x:auto}.match-card h2{text-transform:uppercase;margin-bottom:12px;font-size:1rem;font-weight:800}.box-score{box-shadow:inset 4px 0 var(--team-color,transparent), var(--shadow-sm)}.box-score-total{color:var(--accent-ink);font:800 1.5rem/1 var(--mono)}.leader-points{color:var(--accent-ink);font:800 1.25rem/1 var(--mono)}.event-type{color:var(--accent-ink);text-transform:uppercase;font-size:.8125rem;font-weight:700}.match-downloads div{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:700px){.match-summary-score{grid-template-columns:minmax(0,1fr)}.match-summary-score .side.away{border-left:0;border-top:1px solid var(--line)}}.report-score{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);text-transform:uppercase;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;padding:20px 24px;display:grid}.report-score strong{font-size:clamp(1rem,2vw,1.375rem)}.report-score strong:last-child{text-align:right}.report-score b{color:var(--accent-ink);font:800 clamp(1.5rem, 3vw, 2.125rem) var(--mono);white-space:nowrap}.statistical-report-shell table{min-width:1100px}.statistical-report-shell th,.statistical-report-shell td{text-align:center;white-space:nowrap;padding:7px 6px;font-size:.8125rem}.statistical-report-shell th:nth-child(2),.statistical-report-shell td:nth-child(2){text-align:left}.stat-report-period,.stat-report-legend{color:var(--muted);font-size:.8125rem;line-height:1.5}@media (max-width:760px){.report-score{gap:10px;padding:16px}}.protocol-shell{min-height:100dvh;padding:20px clamp(12px,3vw,40px) 48px}.protocol-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;max-width:1120px;margin:0 auto 16px;display:flex}.protocol-toolbar>div{flex-wrap:wrap;gap:8px;display:flex}.protocol-paper{--paper-line:#c9c9c9;overflow-wrap:anywhere;color:#111;background:#fff;border-radius:4px;max-width:1120px;margin:auto;padding:36px 40px;font-size:.875rem;box-shadow:0 20px 60px #0000004d}.protocol-paper table{border-collapse:collapse;background:0 0;width:100%}.protocol-paper th,.protocol-paper td{color:#111;border:1px solid var(--paper-line);background:0 0;padding:5px 7px;font-size:.8125rem}.protocol-paper th{color:#444;font:700 .6875rem/1.2 var(--sans);letter-spacing:0;text-transform:uppercase;background:#f1f1f1}.protocol-paper tbody tr:hover td{background:0 0}.protocol-head{border-bottom:2px solid #111;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding-bottom:16px;display:grid}.protocol-head p{color:#555;font:700 .75rem var(--mono);letter-spacing:.08em;text-transform:uppercase}.protocol-head h1{color:#111;margin:6px 0 4px;font-size:1.75rem;line-height:1.1}.protocol-head span{color:#333;font-size:.9375rem}.protocol-head dl{gap:6px;margin:0;display:grid}.protocol-head dl div,.protocol-team-facts div{grid-template-columns:130px minmax(0,1fr);gap:10px;display:grid}.protocol-head dt,.protocol-team-facts dt{color:#666;font-size:.8125rem}.protocol-head dd,.protocol-team-facts dd{color:#111;margin:0;font-size:.875rem;font-weight:600}.protocol-head dd:first-letter{text-transform:uppercase}.protocol-result{border-bottom:1px solid var(--paper-line);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px 24px;padding:18px 0;display:grid}.protocol-result>div span{color:#666;text-transform:uppercase;font-size:.75rem;display:block}.protocol-result>div strong{font-size:1.25rem}.protocol-result>div:nth-of-type(2){text-align:right}.protocol-result>b{font:800 2.25rem/1 var(--sans);font-variant-numeric:tabular-nums}.protocol-result table{grid-column:1/-1;justify-self:center;max-width:520px}.protocol-result table td,.protocol-result table th{text-align:center}.protocol-result>p{text-align:center;grid-column:1/-1;font-weight:700}.protocol-teams{grid-template-columns:1fr 1fr;gap:24px;padding:18px 0;display:grid}.protocol-team{min-width:0;overflow-x:auto}.protocol-team h2{color:#111;margin-bottom:8px;font-size:1rem}.protocol-team td:nth-child(3){width:46%}.protocol-team td:not(:nth-child(3)){text-align:center;font-variant-numeric:tabular-nums}.protocol-team .foul-box{color:#b3261e;width:26px;font-weight:700}.protocol-team-facts{gap:4px;margin:10px 0 0;display:grid}.protocol-running{border-top:1px solid var(--paper-line);padding:16px 0}.protocol-running h2{color:#111;margin-bottom:10px;font-size:1rem}.protocol-running>div{margin-bottom:10px}.protocol-running h3{color:#444;text-transform:uppercase;margin-bottom:6px;font-size:.8125rem}.protocol-running ol{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:3px 10px;margin:0;padding:0;list-style:none;display:grid}.protocol-running li{font-variant-numeric:tabular-nums;border-left:3px solid #d8d8d8;grid-template-columns:44px minmax(0,1fr) auto;gap:6px;padding:2px 6px;font-size:.75rem;display:grid}.protocol-running li.home{border-left-color:#1f5fbf}.protocol-running li.away{border-left-color:#c2410c}.protocol-running time{color:#777}.protocol-signatures{border-top:1px solid var(--paper-line);color:#444;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 32px;padding-top:26px;font-size:.8125rem;display:grid}.protocol-signatures span{border-bottom:1px solid #111;height:30px;display:block}.protocol-note{color:#888;margin-top:22px;font-size:.75rem}@media (max-width:800px){.protocol-head,.protocol-teams{grid-template-columns:1fr}.protocol-paper{padding:20px 16px}.protocol-head dl div,.protocol-team-facts div{grid-template-columns:100px minmax(0,1fr)}}@media (max-width:680px){.protocol-signatures{grid-template-columns:minmax(0,1fr)}}.overlay-root{--bug-radius:16px;--bug-height:88px;--hairline:#ffffff16;--orange-light:#f38a52;--success:#4caf50;--warning:#e0a23a;--error:#ef7670;background:0 0;justify-content:center;align-items:flex-end;padding-bottom:64px;display:flex;position:fixed;inset:0}.scorebug{width:min(96vw,1000px);min-width:744px;height:var(--bug-height);border-radius:var(--bug-radius);border:1px solid var(--hairline);background:linear-gradient(#ffffff0e 0%,#fff0 46%),linear-gradient(#17181cf0 0%,#0a0b0df6 100%);grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);animation:.95s cubic-bezier(.16,1,.3,1) both overlay-bug-in;display:grid;position:relative;box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #0000008c,0 2px 6px #00000052,0 26px 60px #00000080}.overlay-team{align-items:center;gap:16px;padding:0 24px;display:flex;position:relative;overflow:hidden}.overlay-team.home{border-radius:var(--bug-radius) 0 0 var(--bug-radius)}.overlay-team.away{border-radius:0 var(--bug-radius) var(--bug-radius) 0}.overlay-team:before{content:"";z-index:0;opacity:.55;background:radial-gradient(120% 150% at 0% 50%, color-mix(in srgb, var(--team-color) 30%, transparent) 0%, transparent 62%);transition:opacity .55s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.overlay-team.away:before{background:radial-gradient(120% 150% at 100% 50%, color-mix(in srgb, var(--team-color) 30%, transparent) 0%, transparent 62%)}.overlay-team.is-active:before{opacity:1}.overlay-team-edge{z-index:2;background:linear-gradient(180deg, color-mix(in srgb, var(--team-color) 82%, #fff), var(--team-color));width:3px;box-shadow:0 0 20px color-mix(in srgb, var(--team-color) 55%, transparent);position:absolute;top:0;bottom:0}.overlay-team.home .overlay-team-edge{left:0}.overlay-team.away .overlay-team-edge{right:0}.overlay-identity{z-index:1;align-items:center;gap:13px;min-width:0;animation:.8s cubic-bezier(.16,1,.3,1) .1s both overlay-rise;display:inline-flex;position:relative}.overlay-team.away .overlay-identity{margin-left:auto}.overlay-team-logo{object-fit:contain;filter:drop-shadow(0 2px 6px #0000008c);flex:none;width:38px;height:38px}.overlay-team-name{letter-spacing:.13em;text-overflow:ellipsis;text-transform:uppercase;color:#ffffffed;white-space:nowrap;text-shadow:0 1px 3px #00000080;min-width:0;font-size:17px;font-weight:700;overflow:hidden}.overlay-score-slot{z-index:1;flex-shrink:0;align-items:center;animation:.8s cubic-bezier(.16,1,.3,1) .18s both overlay-rise;display:inline-flex;position:relative}.overlay-team.home .overlay-score-slot{margin-left:auto}.overlay-score{color:#fff;letter-spacing:-.02em;font-variant-numeric:tabular-nums;text-shadow:0 2px 12px #0000008c;align-items:flex-start;font-size:44px;font-weight:700;line-height:1;display:inline-flex}.overlay-score.is-highlighted{animation:1.15s ease-out overlay-score-glow}.overlay-digit{min-width:.6em;height:1.08em;display:inline-block;position:relative;overflow:hidden}.overlay-digit b{height:1.08em;line-height:1.08em;font-weight:inherit;text-align:center;display:block}.overlay-digit .digit-out{position:absolute;inset:0}.overlay-score[data-direction=up] .digit-in{animation:.62s cubic-bezier(.16,1,.3,1) both digit-enter-up}.overlay-score[data-direction=up] .digit-out{animation:.62s cubic-bezier(.16,1,.3,1) both digit-leave-up}.overlay-score[data-direction=down] .digit-in{animation:.62s cubic-bezier(.16,1,.3,1) both digit-enter-down}.overlay-score[data-direction=down] .digit-out{animation:.62s cubic-bezier(.16,1,.3,1) both digit-leave-down}.overlay-points{z-index:4;pointer-events:none;white-space:nowrap;color:color-mix(in srgb, var(--team-color) 45%, #fff);letter-spacing:.04em;text-shadow:0 2px 10px #000000a6;font-size:15px;font-weight:700;animation:1.5s cubic-bezier(.16,1,.3,1) forwards overlay-points-float;position:absolute;top:-12px;left:50%}.overlay-center{box-shadow:inset 1px 0 0 var(--hairline), inset -1px 0 0 var(--hairline);background:linear-gradient(#ffffff08,#00000024);flex-direction:column;justify-content:center;align-items:center;gap:6px;animation:.8s cubic-bezier(.16,1,.3,1) .24s both overlay-rise;display:flex;position:relative}.overlay-clock{color:#fffffff7;letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:31px;font-weight:700;line-height:1;transition:color .4s}.overlay-center:has(.overlay-period:not(.is-running)) .overlay-clock{color:#fff9}.overlay-center .overlay-clock.is-warning{color:#ffb87a;text-shadow:0 0 24px #ff963c61}.overlay-period{color:#ffffff70;letter-spacing:.24em;text-transform:uppercase;align-items:center;gap:7px;font-size:9.5px;font-weight:700;display:inline-flex}.overlay-period i{background:#ffffff38;border-radius:50%;flex:none;width:5px;height:5px;transition:background .3s}.overlay-period.is-running i{background:var(--success);animation:2.2s ease-out infinite overlay-live-pulse}.overlay-period em{font-style:normal;animation:.6s cubic-bezier(.16,1,.3,1) both overlay-period-swap}.overlay-sheen{z-index:3;border-radius:var(--bug-radius);pointer-events:none;position:absolute;inset:0;overflow:hidden}.scorebug.has-event .overlay-sheen:after{content:"";background:linear-gradient(105deg,#0000,#ffffff1a,#0000);width:38%;animation:1.2s cubic-bezier(.4,0,.2,1) overlay-sheen-sweep;position:absolute;top:0;bottom:0;left:0;transform:translate(-180%)}.overlay-event{--accent:var(--orange-light);z-index:12;white-space:nowrap;border:1px solid var(--hairline);background:linear-gradient(#ffffff0d,#fff0 50%),linear-gradient(#15161af2,#0a0b0df7);border-radius:12px;align-items:center;gap:12px;max-width:640px;min-height:44px;padding:0 20px;animation:.52s cubic-bezier(.16,1,.3,1) both overlay-event-in,.38s cubic-bezier(.4,0,1,1) 2.62s forwards overlay-event-out;display:flex;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);box-shadow:inset 0 1px #ffffff17,0 18px 44px #00000080}.overlay-event-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 14px var(--accent);border-radius:50%;flex:none}.overlay-event span{color:var(--accent);letter-spacing:.2em;text-transform:uppercase;font-size:10.5px;font-weight:700}.overlay-event strong{color:#ffffffe6;letter-spacing:.05em;text-overflow:ellipsis;text-transform:uppercase;font-size:13px;font-weight:600;overflow:hidden}.overlay-event span+strong{border-left:1px solid #ffffff21;padding-left:13px}.scorebug.event-correction .overlay-event{--accent:#fff9}.scorebug.event-foul .overlay-event{--accent:var(--error)}.scorebug.event-timeout .overlay-event{--accent:var(--warning)}.scorebug.event-period .overlay-event{--accent:#fff}.scorebug.event-substitution .overlay-event{--accent:#78d5ce}.overlay-connection{z-index:5;border-radius:50%;width:6px;height:6px;position:absolute;top:10px;right:12px}.overlay-connection.connecting{background:var(--warning);animation:1.6s ease-out infinite overlay-connection-pulse}.overlay-connection.offline{background:var(--error);box-shadow:0 0 12px #ef7670a6}@keyframes overlay-bug-in{0%{opacity:0;filter:blur(9px);transform:translateY(24px)scale(.985)}to{opacity:1;filter:none;transform:none}}@keyframes overlay-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes digit-enter-up{0%{opacity:0;filter:blur(2px);transform:translateY(105%)}to{opacity:1;filter:none;transform:none}}@keyframes digit-leave-up{0%{opacity:1;filter:none;transform:none}to{opacity:0;filter:blur(2px);transform:translateY(-105%)}}@keyframes digit-enter-down{0%{opacity:0;filter:blur(2px);transform:translateY(-105%)}to{opacity:1;filter:none;transform:none}}@keyframes digit-leave-down{0%{opacity:1;filter:none;transform:none}to{opacity:0;filter:blur(2px);transform:translateY(105%)}}@keyframes overlay-score-glow{0%,to{text-shadow:0 2px 12px #0000008c}30%{text-shadow:0 0 28px color-mix(in srgb, var(--team-color) 85%, transparent), 0 2px 12px #0000008c}}@keyframes overlay-points-float{0%{opacity:0;transform:translate(-50%,12px)scale(.85)}22%{opacity:1;transform:translate(-50%,-2px)scale(1)}65%{opacity:1}to{opacity:0;filter:blur(3px);transform:translate(-50%,-30px)scale(.96)}}@keyframes overlay-period-swap{0%{opacity:0;filter:blur(3px);transform:translateY(7px)}to{opacity:1;filter:none;transform:none}}@keyframes overlay-live-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 55%, transparent)}70%,to{box-shadow:0 0 0 8px #4caf5000}}@keyframes overlay-connection-pulse{0%{box-shadow:0 0 #e0a23a80}70%,to{box-shadow:0 0 0 7px #e0a23a00}}@keyframes overlay-sheen-sweep{to{transform:translate(430%)}}@keyframes overlay-event-in{0%{opacity:0;filter:blur(7px);transform:translate(-50%,16px)scale(.97)}to{opacity:1;filter:none;transform:translate(-50%)scale(1)}}@keyframes overlay-event-out{to{opacity:0;filter:blur(6px);transform:translate(-50%,-8px)scale(.98)}}@media (max-width:800px){.overlay-root{--bug-height:76px;padding-bottom:36px}.scorebug{width:min(96vw,744px);min-width:0}.overlay-team{gap:12px;padding:0 16px}.overlay-team-name{letter-spacing:.1em;font-size:14px}.overlay-team-logo{width:32px;height:32px}.overlay-score{font-size:36px}.overlay-clock{font-size:26px}}@media (max-width:680px){.scorebug{grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr)}.overlay-team{gap:5px;padding-inline:8px}.overlay-identity{gap:5px}.overlay-team-logo{width:22px;height:22px}.overlay-team-name{letter-spacing:0;font-size:10px}.overlay-score{font-size:25px}.overlay-clock{font-size:22px}.overlay-period{letter-spacing:.05em;font-size:8px}.overlay-event{gap:6px;max-width:94vw;padding:8px 10px}}@media (prefers-reduced-motion:reduce){.roster-import-orbit,.roster-import-progress:before,.badge.live:before,.push-to-talk.recording{animation:none}}@media print{@page{size:A4;margin:10mm}:root,:root[data-theme]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--surface:#fff;--surface-2:#f3f3f3;--ink:#111;--muted:#444;--subtle:#777;--line:#bbb;--line-soft:#ddd;--line-strong:#999;--accent-ink:#b4501a;--hover-tint:transparent;--shadow-sm:none}html,body{background:#fff!important}.app-header,.page-actions,.protocol-toolbar,nextjs-portal{display:none!important}.page{max-width:none;padding:0}.protocol-shell{padding:0}.protocol-paper{max-width:none;box-shadow:none;padding:0;font-size:10pt}.protocol-running ol{grid-template-columns:repeat(6,1fr)}.protocol-signatures{grid-template-columns:repeat(3,minmax(0,1fr))}.table-scroll,.protocol-team{overflow:visible}.statistical-report-shell .eyebrow{display:none}.statistical-report-shell table{min-width:0}.statistical-report-shell th,.statistical-report-shell td{padding:3px 2px;font-size:7pt}.report-score{break-inside:avoid;box-shadow:none}}.report-details{border-block:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 20px;margin:18px 0;padding:16px 0;display:grid}.report-details>div{min-width:0}.report-details dt{color:var(--muted);margin-bottom:5px;font-size:.72rem}.report-details dd{margin:0;font-size:.875rem}.protocol-paper .report-details{border-color:var(--paper-line)}.protocol-paper .report-details dt{color:#555}.report-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;padding:18px 0;display:grid}.report-summary p{margin:0;font-size:.875rem}.report-summary .report-data-note{color:var(--muted);grid-column:1/-1;font-size:.75rem}.report-coaches{border-top:1px solid var(--line);padding:12px 18px;font-size:.85rem}.report-coaches p{margin:4px 0}.box-score-section{margin:22px 0}.report-quarter-scores{text-align:center;font-variant-numeric:tabular-nums}.running-score-grid{margin-top:24px}.running-score-scroll{overflow-x:auto}.running-score-grid table{min-width:650px}.protocol-paper .running-score-grid td,.protocol-paper .running-score-grid th{text-align:center;padding:3px;font-size:.67rem}.scoring-mark{font-weight:700;position:relative}.scoring-mark i{color:#b4501a;margin-left:1px;font-style:normal}.shot-3 span{border:1px solid #b4501a;border-radius:50%;padding:1px}.protocol-signatures b{min-height:1em;font-size:.75rem;font-weight:400}@media (max-width:640px){.report-details{grid-template-columns:repeat(2,minmax(0,1fr))}.report-summary{grid-template-columns:minmax(0,1fr)}}@media print{.report-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 14px;margin:10px 0;padding:8px 0}.report-details dd{font-size:8pt}.report-details dt{font-size:7pt}.report-summary p,.report-coaches{font-size:8pt}.report-coaches{padding:5px}.box-score-section{margin:10px 0}.box-score-section .dt-card,.box-score-section table{break-inside:auto}.box-score-section thead{display:table-header-group}.box-score-section tr{break-inside:avoid}.running-score-grid{break-before:page}.running-score-grid table{min-width:0}.protocol-paper .running-score-grid td,.protocol-paper .running-score-grid th{padding:3px 2px;font-size:7pt}.protocol-running{display:none}.protocol-signatures>div{break-inside:avoid}}body:has(.tournament-workspace-shell){height:auto;display:block;overflow:auto}.tournament-workspace-shell{min-height:calc(100dvh - var(--header-h));display:block}.tournament-view-switch{align-items:center;min-height:72px}.diagram-shell{padding-top:8px}.tournament-dashboard{min-height:650px}@media (max-width:760px){.tournament-dashboard{min-height:0}}@media (max-width:480px){.movement-row .cell-actions{flex-wrap:wrap}}@media (max-width:760px){.import-panel-body{grid-template-columns:minmax(0,1fr)}.arena-editor .arena-fields{grid-template-columns:minmax(0,1fr) 100px}.arena-editor .arena-fields>label:first-child{grid-column:1/-1}.dt-header,.dt-toolbar{padding-inline:14px}.dt-toolbar input[type=search]{max-width:none}.cell-actions{flex-wrap:nowrap}}@media (max-width:640px){.help-tip-popover{width:auto;max-height:70dvh;position:fixed;inset:auto 16px 24px;overflow-y:auto}}@media print{.statistical-report-shell table{table-layout:fixed;width:100%;min-width:0!important}.statistical-report-shell th,.statistical-report-shell td{white-space:normal;overflow-wrap:anywhere;width:auto!important}.statistical-report-shell th:first-child{width:3%!important}.statistical-report-shell th:nth-child(3){width:3%!important}.statistical-report-shell th:nth-child(n+5):nth-child(-n+8){width:7%!important}.statistical-report-shell .dt-table .dt-sort{font-size:inherit;white-space:normal}.statistical-report-shell .dt-card{box-shadow:none;border:0}.statistical-report-shell .page-header{margin:0 0 8px}.statistical-report-shell .page-title{font-size:18pt}.protocol-teams{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.protocol-paper .protocol-team th,.protocol-paper .protocol-team td{padding:3px 2px;font-size:7pt}.protocol-team .foul-box{width:14px}.protocol-team table{break-inside:avoid}.dt-sticky-first th:first-child,.dt-sticky-first td:first-child{position:static}.statistical-report-shell .dt-scroll{overflow:visible;max-height:none!important}.statistical-report-shell th{position:static}.statistical-report-shell .dt-sort i,.statistical-report-shell .page-eyebrow,.statistical-report-shell .dt-eyebrow{display:none}.statistical-report-shell .page-header h1{font-size:18pt}.statistical-report-shell .page-lead{font-size:8pt}.statistical-report-shell .dt-header{padding:5px 0}.statistical-report-shell th,.statistical-report-shell td{letter-spacing:0;height:auto;line-height:1.25}.statistical-report-shell th:nth-child(2){width:18%!important}.statistical-report-shell th:nth-child(18){width:5.7%!important}.statistical-report-shell td:nth-child(18){white-space:nowrap}.statistical-report-shell .dt-table .dt-sort{letter-spacing:0;font-family:var(--sans);display:inline}.protocol-team thead{display:table-header-group}.protocol-head{grid-template-columns:1fr 1fr;gap:18px}.protocol-head h1{font-size:16pt}.protocol-team td:nth-child(3){width:auto}.protocol-team th:nth-child(2),.protocol-team td:nth-child(2){white-space:nowrap;min-width:20px}.protocol-team .foul-box{white-space:nowrap;min-width:18px}}
