:root{--bg: #0f1216;--panel: #171b21;--panel-2: #1f252d;--line: #2c343e;--text: #eef2f6;--muted: #8a96a3;--accent: #f5b83d;--floor: #1d4d3a;--court-line: rgba(255, 255, 255, .85);--area: rgba(255, 255, 255, .07);--goal: #2ecc71;--saved: #f5b83d;--miss: #e74c3c;--blocked: #9b59b6;--radius: 10px;color-scheme:dark;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);overscroll-behavior:none}button{font:inherit;color:inherit}kbd{font-family:ui-monospace,monospace;font-size:11px;padding:1px 5px;border-radius:4px;border:1px solid var(--line);color:var(--muted)}.muted{color:var(--muted)}.btn{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;cursor:pointer;min-height:44px;touch-action:manipulation}.btn:hover{border-color:var(--muted)}.btn:disabled{opacity:.4;cursor:default}.btn.small{min-height:36px;padding:6px 10px;font-size:14px}.btn.ghost{background:transparent}.btn.primary{background:var(--accent);color:#111;border-color:var(--accent);font-weight:600}.btn.big{font-size:18px;padding:14px 28px}.btn.on{border-color:var(--accent);color:var(--accent)}.badge{font-size:13px;padding:3px 8px;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);white-space:nowrap;font-variant-numeric:tabular-nums}.badge.warn{border-color:var(--accent);color:var(--accent)}.setup{max-width:1100px;margin:0 auto;padding:24px 16px 48px;display:grid;gap:18px}.setup-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.setup-head-actions{display:flex;align-items:center;gap:8px}.lang-picker{position:relative}.lang-current{display:inline-flex;align-items:center;gap:6px;font-weight:600}.flag{width:20px;height:15px;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px #ffffff26;flex:none}.lang-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:80;list-style:none;margin:0;padding:6px;display:grid;grid-template-columns:repeat(2,auto);gap:2px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 30px #00000080}.lang-menu.left{right:auto;left:0}.lang-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border-radius:6px;background:none;border:none;cursor:pointer;font-weight:600;font-size:14px}.lang-menu button:hover{background:var(--panel-2)}.lang-menu button.on{background:color-mix(in srgb,var(--accent) 18%,var(--panel-2));color:var(--accent)}.setup h1{margin:0}.setup-teams{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width: 760px){.setup-teams{grid-template-columns:1fr}}.setup-team{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;gap:10px}.setup-team h2{margin:0;font-size:16px;color:var(--muted);font-weight:500}.setup-row{display:flex;gap:10px}.setup-row input[type=color]{width:56px;height:44px;border:none;background:none}.color-pick{display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--muted)}.color-pick input[type=color]{height:32px}.input{background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:10px 12px;font:inherit;width:100%}.roster{font-family:ui-monospace,monospace;font-size:14px;resize:vertical}.hint{font-size:13px;color:var(--muted)}.check{display:flex;gap:10px;align-items:center}.check input{width:20px;height:20px}.errors{margin:0;color:var(--miss)}.setup .btn.primary{justify-self:start}.setup select.input{cursor:pointer}.region-flag{width:44px;height:33px;flex:none;align-self:center;border-radius:4px;object-fit:cover;box-shadow:0 0 0 1px #ffffff26}.setup-comp p.hint{margin:0;min-height:17px}.club-logo{width:44px;height:44px;flex:none;object-fit:contain;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:4px}.hint.warn{color:var(--accent)}.source{margin:0}.roster:disabled{opacity:.55}.roster-card{border-top:4px solid var(--team);align-content:start}.roster-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.roster-bar .btn{margin-left:auto}.count{font-size:13px;padding:3px 9px;border-radius:999px;background:var(--panel-2);font-variant-numeric:tabular-nums}.count.bad{color:var(--accent)}.roster-table{width:100%;border-collapse:collapse;font-size:14px}.roster-table th{font-size:11px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:4px;text-align:center}.roster-table th.name{text-align:left}.roster-table td{padding:3px 4px;border-top:1px solid var(--line);text-align:center}.roster-table td.name{text-align:left;width:100%}.roster-table tr:not(.on) td{opacity:.5}.roster-table tr:not(.on) td:first-child{opacity:1}.roster-table input[type=checkbox]{width:18px;height:18px;cursor:pointer}.roster-table td.empty{color:var(--muted);padding:14px;opacity:1}input.num{width:44px;text-align:center;font-weight:700;font-size:15px;padding:6px 4px;border-radius:6px;background:var(--bg);border:1px solid var(--line);color:var(--text);font-variant-numeric:tabular-nums}.tag{min-width:34px;padding:4px 6px;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;background:transparent;border:1px solid var(--line);color:var(--muted)}.tag.on{background:color-mix(in srgb,var(--team) 35%,var(--panel-2));border-color:var(--team);color:var(--text)}.tag.on.gk{background:#f1c40f33;border-color:#f1c40f;color:#f1c40f}.tag:disabled{opacity:.3;cursor:default}.row-actions{white-space:nowrap}.icon{background:none;border:none;color:var(--muted);cursor:pointer;padding:4px 6px;font-size:14px;border-radius:6px}.icon:hover{color:var(--text);background:var(--panel-2)}.name-edit{display:flex;gap:4px}.name-edit .input{padding:5px 8px}.add-player{display:flex;gap:6px;align-items:center}.add-player .num{width:56px}.add-player .btn{white-space:nowrap}.paste-import summary{cursor:pointer;color:var(--muted);font-size:14px}.paste-import[open]{display:grid;gap:8px}.paste-import .btn{justify-self:start}.linkish{background:none;border:none;color:var(--muted);cursor:pointer;padding:0;font-size:14px}.removed{display:grid;gap:4px}.removed-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--muted)}.live{height:100vh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);user-select:none;-webkit-user-select:none}.live.dragging,.live.dragging *{cursor:grabbing!important}.status{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:6px 12px;background:var(--panel);border-bottom:1px solid var(--line)}.status-side{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.status-side.right{justify-content:flex-end}.team .timeout{width:100%;margin-bottom:6px;min-height:32px;padding:4px 6px;font-size:13px}.team-btns{display:flex;gap:4px}.team-btns .timeout{flex:1;min-width:0}.team .bench-btn{margin-bottom:6px;min-height:32px;padding:4px 8px;font-size:13px}.bench-dialog{width:min(640px,96vw);display:grid;gap:12px}.bench-dialog .opt-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:0 14px}.bench-dialog .hint{margin:0 14px}.scoreboard{display:flex;align-items:center;gap:14px;font-variant-numeric:tabular-nums;justify-self:center;min-width:0}.sb-team{display:flex;align-items:center;gap:10px}.sb-team .team-name{font-weight:600;font-size:16px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-team .goals{font-size:34px;font-weight:800;min-width:1.3em;text-align:center}.sb-team .team-logo{width:28px;height:28px;object-fit:contain}.clock{display:flex;flex-direction:column;align-items:center;padding:2px 16px;border-radius:var(--radius);background:var(--bg);border:1px solid var(--line);cursor:pointer;line-height:1.1}.clock .time{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums}.clock .period{color:var(--muted);font-size:12px}.clock.running{border-color:var(--goal)}.clock.running .play{color:var(--goal)}.status-actions{display:flex;gap:6px;align-items:center}.team-susp{display:grid;gap:4px;margin-bottom:6px}.badge.susp{text-align:center;border-color:var(--accent);color:var(--accent)}.badge.susp b{color:var(--text)}.live:not(.phase-live) .court{opacity:.55;filter:saturate(.6)}.live:not(.phase-live) .court-hint{color:var(--accent);font-weight:600}.status-actions{justify-content:flex-end}.field{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:8px 10px;min-height:0}.center{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px}.court-wrap{min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.court{width:100%;max-height:calc(100% - 28px);touch-action:none;overflow:visible;cursor:crosshair}.court .floor{fill:var(--floor)}.court .lines{stroke:var(--court-line);stroke-width:.1;fill:none}.court .lines .area{fill:var(--area)}.court .lines .dashed{stroke-dasharray:.45 .35}.court .goal{fill:#fff;opacity:.9}.court-label{font-size:.8px;fill:#ffffff8c}.court .shot-dot{stroke:#0009;stroke-width:.08}.court .aim line{stroke:var(--accent);stroke-width:.18;stroke-dasharray:.5 .3}.court .aim circle{fill:var(--accent);stroke:#111;stroke-width:.1}.court-hint{font-size:14px;color:var(--muted);min-height:20px;text-align:center}.controls{display:grid;gap:12px;align-items:end}.controls.with-faces{grid-template-columns:minmax(150px,210px) minmax(0,1fr) minmax(150px,210px)}.goal-slot{min-width:0}.actions{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;align-self:center}.with-faces .actions{grid-template-columns:repeat(4,minmax(0,1fr))}.btn.action{display:flex;justify-content:space-between;align-items:center;min-height:52px;font-weight:600}.act-susp,.act-yellow,.act-red,.act-blue{border-left-width:5px}.act-susp{border-left-color:#bdc3c7}.act-yellow{border-left-color:#f1c40f}.act-red{border-left-color:var(--miss)}.act-blue{border-left-color:#3498db}.goalpanel-label{font-size:12px;color:var(--muted);text-align:center;margin-bottom:4px}.goalface{position:relative;padding:22px 22px 0;border-radius:var(--radius);background:repeating-linear-gradient(45deg,rgba(231,76,60,.12) 0 6px,transparent 6px 12px);border:1px dashed rgba(231,76,60,.5);touch-action:none}.goalface.pickable{cursor:crosshair;padding:40px 13% 0}.miss-label{position:absolute;top:3px;left:0;right:0;text-align:center;font-size:11px;color:var(--miss)}.goalframe{position:relative;aspect-ratio:3 / 2;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);border:7px solid #fff;border-bottom:none;background:#ffffff0d;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1px);background-size:8px 8px}.goalcell{border:1px solid rgba(255,255,255,.12)}.goal-dot.mark{width:18px;height:18px;margin:-9px 0 0 -9px;border:2px solid #fff;box-shadow:0 0 0 2px #00000080}.court .goal-zone{fill:transparent;stroke:none}.court .goal-end.active .goal-zone{fill:#f5b83d24;stroke:var(--accent);stroke-width:.08;stroke-dasharray:.3 .2}.court .goal-end.active .goal{fill:var(--accent);opacity:1}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#05070aa6;display:grid;place-items:center;padding:16px}.modal{width:min(720px,100%);max-height:100%;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px;display:grid;gap:14px;box-shadow:0 20px 60px #0009}.modal-head{display:flex;align-items:center;gap:10px;font-size:17px}.outcome-badge{cursor:pointer;font-weight:700;font-size:14px}.outcome-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.outcome-btn{min-height:96px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:18px;font-weight:700;border:2px solid var(--oc);background:color-mix(in srgb,var(--oc) 16%,var(--panel-2))}.outcome-btn:hover{background:color-mix(in srgb,var(--oc) 30%,var(--panel-2));border-color:var(--oc)}.modal-foot{display:flex;justify-content:flex-end;gap:10px}.shot-body{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"face confirm" "opts opts";gap:14px;align-items:center}.shot-face{grid-area:face}.shot-opts{grid-area:opts;display:grid;gap:10px}.confirm-col{grid-area:confirm}.shot-face{display:grid;gap:6px;text-align:center}.blocked-note{min-height:160px;place-items:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius)}.confirm-col{display:grid;gap:12px}.confirm-col .btn{width:72px;height:72px;font-size:30px;font-weight:800}.confirm-col .cancel{color:var(--miss)}.opt-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.opt-label{width:70px;font-size:13px;color:var(--muted)}.btn.opt.on{background:color-mix(in srgb,var(--accent) 20%,var(--panel-2))}.btn.opt.assist-opt{border-left:4px solid var(--team)}.shooter-pick{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.shooter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px}.shooter-btn{min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:color-mix(in srgb,var(--team) 26%,var(--panel-2));border:2px solid color-mix(in srgb,var(--team) 70%,transparent)}.shooter-btn:hover{background:color-mix(in srgb,var(--team) 45%,var(--panel-2))}.shooter-btn.gk{border-style:double;border-width:4px}.shooter-btn .chip-name{max-width:84px}@media (max-width: 640px){.outcome-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.team{min-height:0;display:flex;flex-direction:column;border-radius:12px;padding:6px;background:var(--panel);border:1px solid var(--line)}.team.active{border-color:color-mix(in srgb,var(--team) 60%,transparent)}.team-head{display:flex;align-items:center;gap:6px;font-size:14px;margin-bottom:6px;max-width:130px}.team-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team.side-right .team-head{flex-direction:row-reverse;margin-left:auto}.team-cols{flex:1;min-height:0;display:flex;gap:6px}.roster-col{display:flex;flex-direction:column;align-items:center;gap:5px;overflow-y:auto;min-height:0}.col-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.swatch{width:12px;height:12px;border-radius:3px;background:var(--team)}.roster-col.bench .chip{opacity:.75}.chip{width:60px;height:50px;flex:none;border-radius:10px;cursor:grab;touch-action:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:color-mix(in srgb,var(--team) 26%,var(--panel-2));border:2px solid color-mix(in srgb,var(--team) 70%,transparent);transition:transform .08s}.chip:active{transform:scale(.96)}.chip-num{font-size:24px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.chip-name{font-size:11px;color:var(--muted);max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip.gk{border-style:double;border-width:4px}.chip.selected{outline:3px solid var(--accent);outline-offset:2px;background:color-mix(in srgb,var(--team) 50%,var(--panel-2))}.chip.assist{animation:pulse .9s ease-in-out infinite;outline:2px dashed var(--goal);outline-offset:2px}.chip.suspended{filter:grayscale(1);opacity:.55}.chip.suspended .chip-name{color:var(--text);font-weight:700}.chip.dq{background:#e74c3c40;border-color:var(--miss);opacity:.6}.roster-col.bench .chip.selected{opacity:1}@keyframes pulse{50%{transform:scale(1.06)}}.drag-ghost{position:fixed;z-index:50;pointer-events:none;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:22px;font-weight:800;background:var(--team);border:3px solid #fff;box-shadow:0 6px 20px #00000080}.toast{position:fixed;left:50%;top:64px;transform:translate(-50%);z-index:40;display:flex;gap:10px;align-items:center;padding:8px 10px 8px 16px;border-radius:12px;background:#fff;color:#111;box-shadow:0 8px 30px #00000073;font-weight:600}.toast .btn{background:#f0f2f4;border-color:#d5d9de;color:#111}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100vw);z-index:60;background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;box-shadow:-10px 0 40px #0006;-webkit-user-select:text;user-select:text}.drawer-head{display:flex;gap:6px;padding:10px;border-bottom:1px solid var(--line)}.drawer-head .btn{margin-left:auto}.tab{background:none;border:none;padding:8px 12px;border-radius:8px;cursor:pointer;color:var(--muted)}.tab.on{background:var(--panel-2);color:var(--text)}.log{list-style:none;margin:0;padding:6px 10px;overflow:auto;flex:1}.log li{display:flex;gap:10px;align-items:center;padding:6px 8px;border-left:4px solid var(--team, var(--line));border-bottom:1px solid var(--line)}.log-time{font-variant-numeric:tabular-nums;color:var(--muted);width:48px}.log-text{flex:1}.stats{overflow:auto;flex:1;padding:10px;display:grid;gap:18px;align-content:start}.stats h3{margin:0 0 6px}.stats table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.stats th,.stats td{padding:4px 6px;text-align:right;border-bottom:1px solid var(--line)}.stats th{color:var(--muted);font-weight:500}.stats th:nth-child(2),.stats td.name,.stats tr.total td:nth-child(2){text-align:left}.stats tr.total td{font-weight:700}.stats table.gk{margin-top:8px}.drawer-foot{padding:10px;border-top:1px solid var(--line)}@media (max-width: 1100px){.chip{width:52px;height:46px}.chip-num{font-size:20px}.actions{grid-template-columns:repeat(4,minmax(0,1fr))}.with-faces .actions{grid-template-columns:repeat(2,minmax(0,1fr))}.status{gap:8px}.scoreboard{gap:10px}.sb-team .team-name{max-width:100px}.status-actions{gap:4px}.status-actions .btn{padding:6px 7px;font-size:13px}.status-side .poss-name,.status-side kbd{display:none}.status-side .btn{padding:6px 8px;font-size:13px}}.goal-dot{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;border:1.5px solid rgba(0,0,0,.6);pointer-events:none}.shot-legend{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;justify-content:center;font-size:13px}.legend-item{display:inline-flex;align-items:center;gap:5px}.legend-item i{width:10px;height:10px;border-radius:50%;display:inline-block}.shot-dialog .goalface{width:100%;max-width:calc((100vh - 300px)*1.35);justify-self:center}@media (max-height: 620px){.status{padding:3px 10px;gap:8px}.clock{padding:1px 12px}.clock .time{font-size:22px}.clock .period{font-size:11px}.sb-team .goals{font-size:26px}.sb-team .team-logo{width:22px;height:22px}.field{padding:6px 8px;gap:8px}.center{gap:6px}.team{padding:4px}.team-head{margin-bottom:3px;font-size:13px}.team .timeout,.team .bench-btn{min-height:26px;padding:2px 6px;margin-bottom:4px;font-size:12px}.roster-col{gap:4px}.chip{height:clamp(34px,calc((100dvh - 185px) / 7),50px)}.chip-num{font-size:18px}.chip-name{font-size:10px}.btn.action{min-height:40px;padding:4px 10px}.court-hint{font-size:12px;min-height:16px}}@media (orientation: landscape) and (max-height: 700px){.modal-backdrop{padding:8px}.modal{width:min(1100px,100%);padding:12px;gap:10px}.shot-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"face opts confirm";align-items:start}.shot-dialog .goalface{max-width:calc((100dvh - 130px)*1.9)}.shot-opts{gap:8px}.shot-opts .opt-row{gap:6px}.shot-opts .opt-label{width:100%}.outcome-btn{min-height:72px}}@media (hover: none) and (pointer: coarse){kbd{display:none}}@media (max-width: 760px){.status{grid-template-columns:auto minmax(0,1fr)}.scoreboard{grid-column:1 / -1;grid-row:2}.status-actions{flex-wrap:wrap}}.login{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:16px;position:relative}.login-lang{position:absolute;top:12px;right:16px}.login-card{width:min(380px,100%);display:grid;gap:14px;padding:28px 24px;border-radius:16px;background:var(--panel);border:1px solid var(--line);box-shadow:0 20px 60px #00000073}.login-brand{display:flex;align-items:center;gap:10px}.login-brand h1{margin:0;font-size:22px}.login-mark{color:var(--accent);font-size:22px;line-height:1}.login-card h2{margin:0;font-size:15px;font-weight:500;color:var(--muted)}.field-label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.form-error{margin:0;color:var(--miss);font-size:14px}.note{margin:0;padding:8px 12px;border-radius:8px;font-size:14px;background:color-mix(in srgb,var(--accent) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}.shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.topnav{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;padding:6px 12px;background:var(--panel);border-bottom:1px solid var(--line)}.brand{font-size:16px;white-space:nowrap}.topnav-items{display:flex;gap:4px;flex:1;min-width:0;overflow-x:auto}.nav-item.on{background:var(--panel-2);border-color:var(--line);color:var(--text)}.topnav-right{display:flex;align-items:center;gap:8px}.topnav-user{font-size:14px;color:var(--muted);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page{width:100%;padding:20px 20px 48px;display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-content:start}.page-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.page-head h1{margin:0;font-size:24px}.seg{display:inline-flex;flex-wrap:wrap;gap:6px}.small{font-size:12px}.nowrap{white-space:nowrap}.input.small{padding:6px 8px;width:auto}.sync-badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);white-space:nowrap}.sync-badge i{width:10px;height:10px;border-radius:50%;background:var(--goal);flex:none}.sync-badge.pending i{background:var(--accent)}.sync-badge.offline i{background:var(--muted)}.sync-badge.compact{font-weight:700;color:var(--accent)}.list-table{width:100%;border-collapse:collapse;font-size:14px}.list-table th{text-align:left;font-weight:500;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:8px 10px;border-bottom:1px solid var(--line)}.list-table td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}.list-table .num{text-align:right;font-variant-numeric:tabular-nums}.list-table .score{font-weight:800;font-size:16px;white-space:nowrap}.list-table tr.clickable{cursor:pointer}.list-table tr.clickable:hover td{background:var(--panel)}.list-table tr.inactive td{opacity:.55}.list-table .badge+.badge{margin-left:6px}.match-cell{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.team-dot{width:10px;height:10px;border-radius:3px;flex:none}.badge.in-progress{border-color:var(--goal);color:var(--goal)}.row-actions{text-align:right;white-space:nowrap}.inline-form{display:inline-flex;gap:6px;align-items:center}.user-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:end;padding:14px;border-radius:12px;background:var(--panel);border:1px solid var(--line)}@media (max-width: 860px){.user-form{grid-template-columns:1fr 1fr}.topnav{flex-wrap:wrap}.topnav-user{display:none}}.match-hero{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px}.hero-team{display:flex;align-items:center;gap:10px;justify-content:flex-end;font-size:20px;min-width:0}.hero-team.away{justify-content:flex-start}.hero-team img{width:40px;height:40px;object-fit:contain}.hero-score{font-size:40px;font-weight:800;font-variant-numeric:tabular-nums}.hero-meta{margin:-6px 0 0;text-align:center;font-size:14px}.match-body .stats,.match-body .log{padding:0}.drawer-foot{display:flex;gap:8px;flex-wrap:wrap}.hero-score small{display:block;font-size:14px;font-weight:500;color:var(--muted);text-align:center}.log-score{font-weight:700;font-variant-numeric:tabular-nums}.report h4{margin:14px 0 6px;font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.table-scroll{overflow-x:auto}.match-body,.report,.report>.stats-team{min-width:0}.stats table.wide th,.stats table.wide td{white-space:nowrap}.stats table.wide td.name{white-space:normal;min-width:140px}.stats .shots-table th:first-child,.stats .shots-table td:first-child,.stats .lineup-table th:first-child,.stats .lineup-table td:first-child{text-align:left}.stats .shots-table th:nth-child(2),.stats .shots-table tr.total td:nth-child(2),.stats .lineup-table th:nth-child(2){text-align:right}.stats .shots-table tr.sub td{color:var(--muted);font-size:12px}.stats .shots-table tr.sub td:first-child{padding-left:20px}.stats .subs-table{width:auto;min-width:240px}.stats .subs-table td:first-child{text-align:left}.lineup-player{display:inline-block;min-width:26px;padding:1px 4px;margin:1px 3px 1px 0;border-radius:5px;text-align:center;background:var(--panel-2);font-weight:600}.lineup-player.gk{outline:1px solid var(--accent)}.stats td.plus{color:var(--goal);font-weight:700}.stats td.minus{color:var(--miss);font-weight:700}.goal-grids{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.goal-grid{margin:0;display:grid;gap:4px;align-content:start}.goal-grid figcaption{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-grid.strong figcaption{font-weight:700}.grid-frame{display:grid;grid-template-columns:repeat(3,1fr);aspect-ratio:3 / 2;border:4px solid #e8ecef;border-bottom:none;font-size:12px;font-variant-numeric:tabular-nums}.grid-frame span{display:grid;place-items:center;border:1px dashed var(--line)}.goal-grid.strong .grid-frame{border-color:var(--accent)}.court-maps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.court-map{margin:0;display:grid;gap:4px}.court-map figcaption{font-weight:600}.court-map svg{width:100%;max-width:420px}.court-map .floor{fill:var(--floor)}.court-map .lines{stroke:var(--court-line);stroke-width:.1;fill:none}.court-map .lines .area{fill:var(--area)}.court-map .lines .dashed{stroke-dasharray:.45 .35}.court-map .goal{fill:#e8ecef}.court-map .zone-label{font-size:1.15px;font-weight:700;fill:var(--text);font-variant-numeric:tabular-nums}.court-map .zone-label.empty{fill:var(--muted);font-weight:400}.court-map small{font-size:12px;color:var(--muted)}.setup-info summary{display:flex;align-items:baseline;gap:8px;cursor:pointer;list-style:none}.setup-info summary:before{content:"▸";color:var(--muted)}.setup-info[open] summary:before{content:"▾"}.setup-info summary h2{margin:0}.info-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:12px}.info-field{display:grid;gap:4px;font-size:13px;color:var(--muted)}.info-field.wide{grid-column:span 2}@media (max-width: 600px){.info-field.wide{grid-column:auto}}.officials summary{cursor:pointer;font-size:14px;color:var(--muted);padding:4px 0}.officials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;margin-top:6px}.officials-grid label{display:flex;align-items:center;gap:6px}.officials-grid .input{flex:1;min-width:0}.roster-table select.pos{background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:3px 2px;font:inherit;font-size:13px}.roster-table input.height{width:44px}.match-info-edit{display:grid;gap:10px;padding:14px;border-radius:12px;background:var(--panel);border:1px solid var(--line)}.match-info-edit .row-actions{display:flex;gap:8px;justify-content:flex-end}.report .coach{margin:-4px 0 8px;font-size:13px;color:var(--muted)}.btn.poss{border-color:var(--team);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn.poss .ball,.ball-mark{color:var(--team, var(--accent))}.ball-mark{font-size:14px;line-height:1;color:var(--accent)}.stats .attacks-table th,.stats .attacks-table td{text-align:center}.stats .attacks-table td.name{text-align:left;font-weight:600}.print-report{--bg: #fff;--panel: #fff;--panel-2: #eef1f4;--line: #c9d0d7;--text: #111;--muted: #555;--floor: #e6efe8;--court-line: #333;--area: rgba(0, 0, 0, .06);--goal: #1b8a4c;--saved: #b7791f;--miss: #c0392b;--blocked: #7d3c98;color-scheme:light;background:#fff;color:var(--text);min-height:100vh;font-size:12px}html.printing{color-scheme:light;background:#fff}html.printing body{background:#fff}html.printing .topnav{display:none}.print-toolbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;justify-content:space-between;padding:8px 16px;background:#f4f6f8;border-bottom:1px solid var(--line)}.pr-page{max-width:190mm;margin:0 auto;padding:10mm 0 6mm}.pr-page+.pr-page{border-top:2px dashed var(--line)}.pr-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:8px;border-bottom:2px solid #111;padding-bottom:6px;margin-bottom:10px}.pr-head>div{display:grid;gap:2px}.pr-head .pr-title{text-align:center}.pr-head .pr-right{text-align:right}.pr-head h1{margin:0;font-size:18px}.pr-head h2{margin:0;font-size:14px}.pr-meta{display:flex;flex-wrap:wrap;gap:4px 16px;margin-bottom:10px;color:var(--muted)}.pr-two{grid-template-columns:1fr 1fr}.print-report .stats{padding:0;gap:14px}.print-report .stats table{font-size:9px}.print-report .stats th,.print-report .stats td{padding:2px 3px}.print-report .stats table.wide td.name{min-width:0}.print-report .table-scroll{overflow:visible}.print-report .report h4{margin:8px 0 4px}.print-report .grid-frame{border-color:#333;font-size:9px}.print-report .goal-grids{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.print-report .court-map .goal{fill:#333}.print-report .court-maps{grid-template-columns:1fr 1fr}.print-report .court-map svg{max-width:260px}.print-report .btn{display:none}.print-report .print-toolbar .btn{display:inline-flex}.print-report .lineup-player{background:#eef1f4}.pr-log .log{padding:0;font-size:10px}.pr-log .log li{break-inside:avoid;padding:1px 0}.pr-log .log-time{width:40px}.pr-start tr.official td{color:var(--muted)}.pr-foot{margin-top:14px;padding-top:6px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.print-report .stats .shots-table tr.sub td{font-size:8px}@media print{@page{size:A4;margin:10mm}:root{color-scheme:light;--bg: #fff}html,body{background:#fff!important}.print-toolbar{display:none}.pr-page{max-width:none;padding:0;break-after:page}.pr-page+.pr-page{border-top:none}.print-report{min-height:0}.print-report section,.print-report figure,.print-report tr{break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.drawer.wide{width:min(1100px,100vw)}.live-report{overflow:auto;flex:1;padding:10px;display:grid;gap:12px;align-content:start}.live-report .stats{padding:0;overflow:visible}.log.sided li{display:grid;grid-template-columns:48px minmax(0,1fr) 52px minmax(0,1fr);gap:8px;border-left:none;padding:4px 0}.log.sided.editable li{grid-template-columns:48px minmax(0,1fr) 52px minmax(0,1fr) 40px}.log.sided .log-side{border-left:4px solid var(--team, var(--line));padding-left:8px;min-width:0;overflow-wrap:anywhere}.log.sided .log-score{text-align:center}.log.sided li.goal .log-side{font-weight:600}.log.sided li.log-head{position:sticky;top:0;z-index:1;background:var(--panel);font-weight:700;border-bottom:2px solid var(--line)}.log.sided li.empty{display:block}.match-body .log.sided li.log-head{background:var(--bg)}.print-report .log.sided li.log-head{position:static;background:#fff}.print-report .log.sided li{gap:6px;grid-template-columns:40px minmax(0,1fr) 40px minmax(0,1fr)}@media (max-width: 600px){.log.sided li{grid-template-columns:38px minmax(0,1fr) 40px minmax(0,1fr);gap:5px;font-size:13px}.log.sided.editable li{grid-template-columns:38px minmax(0,1fr) 40px minmax(0,1fr) 36px}.log.sided .log-side{padding-left:5px;border-left-width:3px}}.hero-team strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 600px){.match-hero{gap:8px}.hero-team{font-size:16px}.hero-score{font-size:32px}}.setup.setup-v3{max-width:none;width:100%;gap:16px;padding:16px 20px 0}.setup-v3 .setup-head p{margin:4px 0 0}.stepper{position:sticky;top:48px;z-index:6;display:flex;align-items:center;gap:10px;padding:8px 0;background:var(--bg);border-bottom:1px solid var(--line)}.step{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:12px;border:1px solid transparent;background:none;cursor:pointer;text-align:left}.step:hover:not(:disabled){background:var(--panel);border-color:var(--line)}.step.on{background:var(--panel);border-color:var(--accent)}.step.on .toc-num{border-color:var(--accent);color:var(--accent)}.step:disabled{opacity:.5;cursor:default}.step.done:not(.on) .toc-num{background:var(--goal);border-color:var(--goal);color:#06240f}.step-line{flex:1;max-width:160px;height:2px;background:var(--line)}.step-line.done{background:var(--goal)}.step-body{display:grid;gap:16px}.match-step{grid-template-columns:minmax(0,1fr) 400px;align-items:start}.step-actions{grid-column:1 / -1;position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:12px 0;background:var(--bg);border-top:1px solid var(--line)}.step-actions .errors{margin:0 auto 0 0}.squads-step .setup-teams{grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr))}.toc-num{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:none;font-weight:700;border:2px solid var(--line);color:var(--muted)}.toc-text{display:grid;gap:2px;min-width:0}.toc-text small{color:var(--muted);font-size:12px}.setup-main{display:grid;gap:16px;min-width:0}.setup-main .setup-head p{margin:4px 0 0}.setup-side{display:grid;gap:16px;min-width:0}.setup-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;gap:12px;align-content:start;scroll-margin-top:70px;min-width:0}.card-head h2{margin:0;font-size:17px}.card-head p{margin:2px 0 0;font-size:13px}.card-head h2 .muted{font-weight:400;font-size:14px}.setup-card p.hint{margin:0;min-height:17px}.comp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(140px,.7fr);gap:16px;align-items:start}.comp-pick{display:grid;gap:10px;min-width:0}.teams-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px}.team-card{background:color-mix(in srgb,var(--team) 10%,var(--panel-2));border:1px solid var(--team);border-radius:12px;padding:14px;display:grid;gap:10px;align-content:start;min-width:0}.team-card h2{margin:0;font-size:15px;color:var(--team);font-weight:700}.swap-teams{width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;font-size:18px}.squad-card{background:var(--bg);border:1px solid var(--line);border-top:4px solid var(--team);border-radius:12px;padding:12px;display:grid;gap:10px;align-content:start;min-width:0}.squad-card.empty p{padding:28px 12px;text-align:center;margin:0}.squad-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.squad-head strong{flex:1;min-width:80px}.squad-head .club-logo{width:32px;height:32px;padding:2px}.team-swatch{width:28px;height:28px;border-radius:8px;background:var(--team);flex:none}.tag.on.cap{background:#2ecc712e;border-color:var(--goal);color:var(--goal)}.setup-side .info-fields{grid-template-columns:1fr 1fr;margin-top:0}.setup-side .info-field.wide{grid-column:1 / -1}.info-field textarea.input{resize:vertical;font:inherit}.venue-pick{display:flex;gap:6px}.venue-pick select{flex:1;min-width:0}.venue-pick .add-venue{min-width:44px;font-size:18px;color:var(--goal);border-color:var(--goal)}.venue-add{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;gap:6px}@media (max-width: 1100px){.match-step{grid-template-columns:minmax(0,1fr)}}@media (max-width: 900px){.teams-grid,.comp-grid{grid-template-columns:minmax(0,1fr)}.swap-teams{justify-self:center}}@media (max-width: 600px){.step{padding:6px 8px;gap:8px}.step .toc-text small{display:none}.step-line{max-width:40px}}@media (max-width: 480px){.setup-side .info-fields{grid-template-columns:minmax(0,1fr)}.venue-add{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.roster-table select.pos.gk{border-color:#f1c40f;color:#f1c40f;font-weight:700}.squad-card .table-scroll{margin:0 -4px}.manage-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.club-editor{display:grid;gap:12px}.manage-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.manage-filters .input{width:auto;min-width:220px}.players-table td{padding:6px 8px}.players-table input.num{width:56px;padding:6px;text-align:center}.players-table input.height{width:64px}.players-table select.input{width:auto;min-width:70px;padding:6px 8px}.players-table .name-edit{display:flex;gap:6px}.start-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:16px;align-items:start}.stats .start-table th{text-align:center}.stats .start-table th:nth-child(2),.stats .start-table td.name{text-align:left}.stats .start-table td{text-align:center}.stats .start-table tr.nn td{color:var(--muted);font-style:italic}.stats .start-table tr.official td{color:var(--muted)}.stats .played-table{width:100%;font-size:13px}.stats .played-table th,.stats .played-table td{text-align:left}.stats .played-table td:last-child{text-align:right;font-weight:700}.stats .played-table td.plus{color:var(--goal)}.stats .played-table td.minus{color:var(--miss)}@media (max-width: 900px){.start-grid{grid-template-columns:minmax(0,1fr)}}.print-report .start-grid{grid-template-columns:minmax(0,1fr) 150px;gap:8px}.print-report .stats .played-table{font-size:9px}.comp-editor{display:grid;gap:12px}.comp-editor .comp-name{font-size:18px;font-weight:700}.comp-editor .seg{align-items:center}.player-link{color:var(--text);font-size:inherit;text-align:left}.player-link:hover{text-decoration:underline}.profile-head{display:flex;align-items:center;gap:16px;border-left:6px solid var(--team);padding-left:14px}.profile-head h1{margin:0;font-size:26px}.profile-head p{margin:4px 0 0}.profile-num{font-size:40px;font-weight:800;min-width:56px;text-align:center;font-variant-numeric:tabular-nums}.stats .profile-table th,.stats .profile-table td,.stats .leaders-table th,.stats .leaders-table td{text-align:center}.stats .profile-table td.name,.stats .leaders-table td.name{text-align:left}.stats .profile-table tr.clickable,.stats .leaders-table tr.clickable{cursor:pointer}.stats .profile-table tr.clickable:hover td,.stats .leaders-table tr.clickable:hover td{background:var(--panel-2)}.leaders{display:grid;gap:8px;margin-top:8px}.leaders h3{margin:0}.comp-groups{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.comp-groups h4{margin:4px 0;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.comp-head{display:flex;align-items:center;gap:12px}.comp-head h2{margin:0}.comp-head .region-flag{width:36px;height:24px;object-fit:cover;border-radius:3px}.schedule{display:grid;gap:14px}.schedule h3{margin:6px 0 0}.round h4{margin:8px 0 4px;font-size:13px;color:var(--muted)}.fixtures td{padding:8px 10px}.fixture-teams{min-width:0}.team-name-cell{display:inline-flex;align-items:center;gap:6px}.team-logo-sm{width:22px;height:22px;object-fit:contain}.teams-list{display:grid;gap:10px}.teams-list ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.team-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}.shell{--nav-h: 49px}.split{flex:1;display:grid;grid-template-columns:340px minmax(0,1fr);align-items:start}.split-side{position:sticky;top:var(--nav-h);height:calc(100dvh - var(--nav-h));overflow-x:hidden;overflow-y:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-content:start;padding:18px 16px;background:var(--panel);border-right:1px solid var(--line)}.split-main{min-width:0;padding:16px 20px 48px;display:grid;gap:16px;align-content:start}.split-toolbar{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.side-head{display:flex;align-items:center;gap:14px;padding:2px 4px 6px}.side-head .ico{color:var(--muted);flex:none}.side-head h1{margin:0;font-size:22px}.side-head p{margin:2px 0 0;font-size:14px}.search-box{position:relative;display:block;min-width:0}.search-box .ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search-box .input{padding-left:40px}.side-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.side-item{width:100%;display:flex;align-items:center;gap:12px;padding:8px 10px 8px 12px;border-radius:10px;cursor:pointer;background:var(--bg);border:1px solid var(--line);text-align:left}.side-item:hover{border-color:var(--muted)}.side-item.on{background:color-mix(in srgb,var(--team, var(--accent)) 16%,var(--panel-2));border-color:var(--team, var(--accent))}.side-item .club-logo{width:36px;height:36px;padding:2px}.side-item .team-swatch{width:28px;height:28px}.side-item>.ico{color:var(--muted);flex:none}.side-text{flex:1;min-width:0;display:grid;gap:1px}.side-text small{color:var(--muted);font-size:12px}.btn.with-icon{display:inline-flex;align-items:center;gap:8px}.icon .ico{display:block}.icon.danger,.icon.danger:hover{color:var(--miss)}.club-editor{gap:16px}.club-hero{gap:14px}.club-hero-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.club-logo.big{width:72px;height:72px;padding:6px;border-radius:12px}.team-swatch.big{width:64px;height:64px;border-radius:12px}.club-title{flex:1;min-width:200px}.club-colors{display:flex;gap:12px}.club-title h2{margin:0;font-size:24px}.club-title p{margin:4px 0 0}.club-hero .color-pick input[type=color]{width:56px;height:28px;padding:0;border:1px solid var(--line);border-radius:4px;background:none;cursor:pointer}.club-hero-rows{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:12px}.club-hero .officials summary{display:flex;align-items:center;gap:10px}.venue-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:14px;color:var(--muted)}.venue-row>span{display:inline-flex;align-items:center;gap:10px;min-width:140px}.venue-row select{width:auto;min-width:min(360px,100%);flex:0 1 360px}.players-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.players-head h3{margin:0 auto 0 0;display:inline-flex;align-items:center;gap:10px;font-size:18px}.players-head .search-box{width:min(280px,100%)}.players-add{display:grid;gap:10px;padding:12px;border-radius:10px;background:var(--bg);border:1px solid var(--line)}.club-roster th{padding:8px 6px}.club-roster td{padding:5px 6px}.club-roster tr:hover td{background:color-mix(in srgb,var(--panel-2) 60%,transparent)}.club-roster input.num{width:44px;font-weight:700}.player-cell{display:inline-flex;align-items:center;gap:12px}.shirt{color:var(--team);display:inline-flex}.shirt.gk{color:var(--gk)}.shirt .ico{stroke:color-mix(in srgb,#000 35%,currentColor)}@media (max-width: 860px){.split{grid-template-columns:minmax(0,1fr)}.split-side{position:static;height:auto;max-height:45vh;border-right:none;border-bottom:1px solid var(--line)}.split-main{padding:14px 12px 40px}}.brand{display:inline-flex;align-items:center;gap:8px}.brand .ico{color:var(--goal)}.nav-item{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.nav-item .ico{color:var(--muted)}.nav-item.on{background:color-mix(in srgb,var(--goal) 14%,var(--panel-2));border-color:color-mix(in srgb,var(--goal) 40%,var(--line));color:var(--goal)}.nav-item.on .ico{color:var(--goal)}.matches-card{padding:20px;gap:16px}.matches-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.matches-head>div:first-child{flex:1;min-width:240px}.matches-head h1{margin:0;font-size:28px;display:inline-flex;align-items:center;gap:12px}.matches-head h1 .count{font-size:14px;font-weight:600}.matches-head p{margin:4px 0 0}.seg-toggle{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.seg-toggle button{background:transparent;border:none;padding:10px 18px;cursor:pointer;color:var(--muted)}.seg-toggle button.on{background:color-mix(in srgb,var(--goal) 16%,var(--panel-2));color:var(--goal);box-shadow:inset 0 0 0 1px var(--goal);border-radius:10px}.matches-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) minmax(220px,1.6fr);gap:12px;align-items:center}.filter-box{position:relative;min-width:0}.filter-trigger{width:100%;display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:10px;cursor:pointer;text-align:left;background:var(--bg);border:1px solid var(--line);color:var(--muted)}.filter-trigger:hover,.filter-box.open .filter-trigger{border-color:var(--muted)}.filter-box.set .filter-trigger{border-color:color-mix(in srgb,var(--goal) 50%,var(--line))}.filter-box.set .filter-trigger>.ico{color:var(--goal)}.filter-trigger .ico{flex:none}.filter-text{display:grid;flex:1;min-width:0}.filter-text small{font-size:12px}.filter-value{color:var(--text);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-caret{display:inline-flex;transform:rotate(90deg);transition:transform .15s}.filter-box.open .filter-caret{transform:rotate(-90deg)}.filter-menu{position:absolute;z-index:40;top:calc(100% + 6px);left:0;min-width:100%;max-height:320px;overflow-y:auto;list-style:none;margin:0;padding:6px;border-radius:10px;background:var(--panel-2);border:1px solid var(--line);box-shadow:0 16px 40px #00000073}.filter-menu li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:7px;cursor:pointer;font-size:14px;white-space:nowrap}.filter-menu li.hi{background:color-mix(in srgb,var(--text) 8%,transparent)}.filter-menu li.on{color:var(--goal);font-weight:600}.matches-search .input{padding-right:40px;height:50px;min-height:0}.matches-search .clear{position:absolute;right:6px;top:50%;transform:translateY(-50%)}.matches-table{border-collapse:separate;border-spacing:0 6px}.matches-table th{border-bottom:none;padding:4px 12px}.matches-table td{padding:10px 12px;border-bottom:none;background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.matches-table td:first-child{border-left:1px solid var(--line);border-radius:10px 0 0 10px}.matches-table td:last-child{border-right:1px solid var(--line);border-radius:0 10px 10px 0}.matches-table tr.clickable:hover td{background:var(--panel-2)}.matches-table .score{text-align:center;font-size:20px;padding:10px 4px}.mt-team-in{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.team-logo-md{width:34px;height:34px;object-fit:contain;flex:none}.team-logo-md.empty{border-radius:50%;background:color-mix(in srgb,var(--team) 30%,var(--panel-2))}.team-bar{width:3px;height:22px;border-radius:2px;background:var(--team);flex:none}.scorer-cell{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.scorer-cell .ico{color:var(--muted)}.badge.finished{border-color:var(--goal);color:var(--goal);background:color-mix(in srgb,var(--goal) 14%,transparent)}.matches-table .badge.in-progress{border-color:var(--accent);color:var(--accent)}.row-go{width:32px;color:var(--muted)}@media (max-width: 1200px){.matches-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.matches-search{grid-column:1 / -1}}@media (max-width: 600px){.matches-filters{grid-template-columns:minmax(0,1fr)}.matches-card{padding:14px}.matches-head h1{font-size:22px}}.setup-hero{padding:20px 28px 14px;gap:14px;position:relative;overflow:hidden;background:radial-gradient(120% 140% at 100% 0%,color-mix(in srgb,var(--goal) 10%,var(--panel)) 0%,var(--panel) 55%)}.setup-hero h1{margin:0;font-size:30px}.setup-hero p{margin:4px 0 0}.setup-hero .stepper{position:static;background:none;border-bottom:none;padding:0}.card-head.with-icon{display:flex;align-items:flex-start;gap:14px}.card-head.with-icon>.ico{color:var(--muted);flex:none;margin-top:2px}.card-head.with-icon h2{font-size:18px}.card-head.with-icon p{font-size:14px;margin-top:4px}.setup-v3 .setup-card{padding:20px;gap:16px}.comp-grid .info-field>span:first-child,.setup-side .info-field>span:first-child{font-size:14px}.comp-grid .input{min-height:48px}.comp-grid .hint{grid-column:1 / -1}.flag-select{position:relative;display:block}.flag-select .region-flag{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:30px;height:21px;pointer-events:none}.flag-select.with-flag .input{padding-left:54px}.icon-input{position:relative;display:block}.icon-input>.ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.icon-input .input{padding-left:42px}.team-card{--side: var(--goal);background:linear-gradient(90deg,color-mix(in srgb,var(--side) 12%,var(--panel-2)),var(--panel-2));border:1px solid color-mix(in srgb,var(--side) 30%,var(--line));border-left:4px solid var(--side);padding:16px;gap:14px}.team-card.side-away{--side: #3b8beb}.team-card h2{display:flex;align-items:center;gap:8px;color:var(--side);font-size:16px}.team-card .setup-row{align-items:center}.team-card .setup-row .input{min-height:48px}.club-logo.empty{width:56px;height:56px;display:grid;place-items:center;color:var(--muted);background:var(--panel)}.team-card .club-logo{width:56px;height:56px}.swap-teams{width:56px;height:56px;min-height:56px;display:grid;place-items:center}.info-more{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:12px}.info-more summary{display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--text);font-weight:600;font-size:15px;list-style:none}.info-more summary::-webkit-details-marker{display:none}.info-more summary:after{content:"";width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);margin:-3px 0 0 4px;transition:transform .15s}.info-more[open] summary:after{transform:rotate(-135deg);margin-top:3px}.info-more .info-fields{grid-template-columns:1fr 1fr}.info-more .info-field.wide{grid-column:1 / -1}.setup-v3 .step-actions{margin:0 -20px;padding:14px 20px;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.setup-v3 .step-actions .btn.primary.big{min-width:220px}@media (max-width: 900px){.comp-grid{grid-template-columns:minmax(0,1fr)}.setup-hero{padding:16px}}@media (max-width: 480px){.info-more .info-fields{grid-template-columns:minmax(0,1fr)}}.setup-v3 .step-actions>.btn.with-icon:first-child{margin-right:auto}.setup-v3 .step-actions .errors{margin:0}.comp-grid .info-field:first-child{grid-column:1}.comp-grid .season-field{grid-column:3;grid-row:1}.setup-v3 .setup-card select.input,.setup-v3 .setup-card input.input{font-size:15px}@media (max-width: 900px){.comp-grid .season-field{grid-column:auto;grid-row:auto}}.info-more[open]>.info-fields{margin-top:12px}.setup-hero.compact{padding:12px 20px}.squads-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.squad-card{background:var(--panel-2);border-top-width:3px;padding:0 0 12px;gap:0;overflow:hidden}.squad-card>*{margin-left:14px;margin-right:14px}.squad-card .squad-head{margin:0;padding:14px;gap:12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--team) 6%,var(--panel-2))}.squad-card .squad-head strong{flex:0 1 auto;font-size:18px}.squad-head .club-logo{width:44px;height:44px}.side-badge{font-size:13px;padding:3px 10px;border-radius:999px;border:1px solid}.side-badge.side-home{color:var(--goal);border-color:color-mix(in srgb,var(--goal) 50%,transparent);background:color-mix(in srgb,var(--goal) 12%,transparent)}.side-badge.side-away{color:#5aa2f0;border-color:color-mix(in srgb,#3b8beb 50%,transparent);background:color-mix(in srgb,#3b8beb 12%,transparent)}.squad-counts{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.pill{font-size:13px;padding:5px 12px;border-radius:999px;border:1px solid var(--line);white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}.pill.ok{color:var(--goal);border-color:color-mix(in srgb,var(--goal) 45%,transparent);background:color-mix(in srgb,var(--goal) 10%,transparent)}.pill.bad{color:var(--miss);border-color:color-mix(in srgb,var(--miss) 45%,transparent);background:color-mix(in srgb,var(--miss) 10%,transparent)}.squad-card .table-scroll{margin:6px 6px 0}.squad-card .roster-table td{padding:5px 6px}.squad-card .roster-table th{padding:10px 6px 6px}.squad-card .roster-table input.num{width:44px;font-weight:700}.tag.start{display:inline-grid;place-items:center;min-width:36px;height:30px}.tag.start.on{background:var(--team);border-color:var(--team);color:#fff}.squad-card .add-player{margin-top:12px}.add-player .search-box{flex:1}.add-player .tag{height:44px;min-width:48px}.add-player .btn{min-height:44px}.paste-import summary{display:inline-flex;align-items:center;gap:10px}.squad-card .paste-import,.squad-card .removed,.squad-card .source{margin-top:10px}.squad-card>p.hint.source{margin:10px 14px 0}.match-hero-card{padding:16px 20px 18px;gap:6px;background:radial-gradient(90% 160% at 50% 0%,color-mix(in srgb,var(--goal) 7%,var(--panel)) 0%,var(--panel) 60%)}.hero-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.match-hero-card .match-hero{margin-top:-30px}.hero-team{font-size:22px;gap:14px}.hero-team.away{flex-direction:row-reverse;justify-content:flex-end}.hero-team .team-bar{height:34px;width:4px}.logo-box{width:52px;height:52px;object-fit:contain;flex:none;padding:5px;border-radius:10px;background:#fff}.logo-box.empty{background:color-mix(in srgb,var(--team) 35%,var(--panel-2))}.hero-team img.logo-box{width:52px;height:52px}.match-hero-card .hero-score{font-size:52px;line-height:1.1;padding:0 16px}.match-hero-card .hero-meta{margin:6px 0 0;line-height:1.7}.linkish.with-icon{display:inline-flex;align-items:center;gap:6px}.match-tabs .btn.small{min-height:42px;padding:8px 18px;font-size:15px}@media (max-width: 760px){.match-hero-card .match-hero{margin-top:8px}.hero-team{font-size:16px;flex-direction:column}.hero-team.away{flex-direction:column}.hero-team .team-bar{display:none}.match-hero-card .hero-score{font-size:36px}}.start-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.start-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,720px),1fr));gap:16px;align-items:start;min-width:0}.start-card{min-width:0;padding:0 12px 10px;border-radius:14px;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--team, var(--line))}.start-card-head{display:flex;align-items:center;gap:14px;padding:14px 4px 12px;border-bottom:1px solid var(--line);position:relative}.start-card-head:after{content:"";position:absolute;left:0;bottom:-1px;width:180px;height:2px;background:var(--team)}.start-card-head .logo-box{width:42px;height:42px;padding:4px;border-radius:8px}.stats .start-card-head h3{margin:0;font-size:19px}.stats .start-screen .start-table th{text-align:center;font-size:12px;padding:8px 6px}.stats .start-screen .start-table tr.group th{border-bottom:none;padding-bottom:0;font-size:13px}.stats .start-screen .start-table tr.group th:not(:empty){border-bottom:1px solid var(--line)}.stats .start-screen .start-table td{text-align:center;padding:7px 6px;font-size:14px}.stats .start-screen .start-table th:nth-child(2),.stats .start-screen .start-table td.name{text-align:left}.stats .start-screen .start-table tr.group th:nth-child(2){text-align:center}.stats .start-screen .start-table tbody tr:hover td{background:var(--panel-2)}.stats .dash{color:var(--muted);opacity:.6}.gk-badge{display:inline-block;padding:1px 7px;border-radius:6px;border:1px solid #f1c40f;color:#f1c40f;font-size:12px;font-weight:700}.played-card{padding:14px;border-top-width:1px;display:grid;gap:14px}.stats .played-card h3{margin:0;display:flex;align-items:center;gap:10px;font-size:18px}.played-team h4{margin:0 0 4px;display:flex;align-items:center;gap:8px;font-size:14px}.played-team .team-bar{height:16px}.stats .played-card .played-table td{padding:7px 4px;font-size:13px}.start-screen .legend{margin:4px 0 0}.played-card{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));column-gap:24px}.played-card h3{grid-column:1 / -1}@media (min-width: 1900px){.start-layout:not(.no-side){grid-template-columns:minmax(0,1fr) 290px}.played-card{grid-template-columns:minmax(0,1fr)}}.shots-view{gap:18px}.shots-card{display:grid;gap:14px;padding-bottom:14px}.shots-card .start-card-head .side-badge{margin-left:4px}.shots-tables{display:grid;gap:12px}.stats .shots-full th{text-align:center;font-size:12px;padding:8px 6px;white-space:nowrap}.stats .shots-full tr.group th{border-bottom:none;padding-bottom:0;font-size:13px}.stats .shots-full tr.group th:not(:empty){border-bottom:1px solid var(--line)}.stats .shots-full td{text-align:center;padding:6px;font-size:14px}.stats .shots-full th:nth-child(2),.stats .shots-full td.name{text-align:left}.stats .shots-full tr.group th:nth-child(2){text-align:center}.stats .shots-full td.strong{font-weight:700}.stats .shots-full .sep{border-left:1px solid var(--line)}.stats .shots-full tbody tr:hover td{background:var(--panel-2)}.stats .shots-full tr.total td{font-weight:700;border-top:2px solid var(--line)}.stats .gk-table{width:auto;min-width:min(100%,720px)}.shots-visual{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr) 260px;gap:12px;align-items:start}.shots-panel{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:10px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.stats .panel-head h4{margin:0;font-size:15px;color:var(--text);text-transform:none;letter-spacing:0}.panel-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.seg-toggle.small button{padding:6px 12px;font-size:13px}.dot-legend{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);flex-wrap:wrap}.dot-legend .lg{width:11px;height:11px;border-radius:50%;display:inline-grid;place-items:center;font-style:normal;margin-left:6px}.dot-legend .lg:first-child{margin-left:0}.dot-legend .lg.goal{background:var(--team)}.dot-legend .lg.nogoal{border:2px solid var(--team)}.dot-legend .lg.blocked{color:var(--text);font-size:16px;line-height:1}.full-court{display:grid;gap:4px}.court-captions{display:grid;grid-template-columns:1fr 1fr;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;text-align:center}.full-court svg{width:100%;display:block}.full-court .floor{fill:color-mix(in srgb,var(--floor) 75%,var(--bg))}.full-court .lines{stroke:var(--court-line);stroke-width:.1;fill:none}.full-court .lines .area{fill:var(--area)}.full-court .lines .dashed{stroke-dasharray:.45 .35}.full-court .goal{fill:#fff;opacity:.85}.full-court .shot-goal{fill:var(--c);stroke:#fff;stroke-width:.05}.full-court .shot-miss{fill:none;stroke:var(--c);stroke-width:.1}.full-court .shot-x{stroke:var(--text);stroke-width:.1;opacity:.8}.zone-val{font-size:1.05px;font-weight:800;fill:var(--text);paint-order:stroke;stroke:color-mix(in srgb,var(--bg) 85%,transparent);stroke-width:.28px;stroke-linejoin:round}.zone-val.empty{fill:var(--muted);font-weight:600;opacity:.8}.zone-val .zone-sub{font-size:.72px;font-weight:500;fill:var(--muted)}.mini-goals{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}.mini-goal{margin:0;display:grid;gap:2px;min-width:0}.mini-goal figcaption{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-goal.strong figcaption{font-weight:700}.mini-goal svg{width:100%;display:block}.mini-goal .goal-in{fill:color-mix(in srgb,var(--panel-2) 80%,transparent)}.mini-goal .goal-grid-lines{stroke:var(--line);stroke-width:.02;stroke-dasharray:.06 .05}.mini-goal .goal-posts{fill:none;stroke:#e8e8e8;stroke-width:.1;stroke-dasharray:.2 .12}.mini-goal.strong .goal-posts{stroke:var(--accent)}.mini-goal .shot-goal{fill:var(--team);stroke:#fff;stroke-width:.02}.mini-goal .shot-miss{fill:none;stroke:var(--team);stroke-width:.035}.mini-goal .shot-x{stroke:var(--text);stroke-width:.035}.mini-count{text-align:right;font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}.show-all{justify-self:stretch}.stats .type-table td,.stats .type-table th{padding:6px 4px;text-align:right}.stats .type-table td.name,.stats .type-table th:first-child{text-align:left}.stats .type-table tr.sub td{color:var(--muted);font-size:12px}.stats .type-table tr.sub td.name{padding-left:16px}.stats .type-table tr.total td{font-weight:700;border-top:2px solid var(--line)}@media (max-width: 1400px){.shots-visual{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.shots-visual .court-panel{grid-column:1 / -1}}@media (max-width: 760px){.shots-visual{grid-template-columns:minmax(0,1fr)}}
