:root{--bg:#0b1210;--surface:#141d1a;--surface-2:#1d2925;--line:#2a3833;--text:#eef5f1;--muted:#8fa39a;--accent:#3ddc84;--accent-ink:#062814;--warn:#ffb020;--danger:#ff5a5f;--live:#ff4d4f;--pitch:#1f7a3f;--pitch-2:#227f43;--radius:14px;--tabbar-h:64px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root{--bg:#f2f5f3;--surface:#fff;--surface-2:#e9efec;--line:#d6dfdb;--text:#0d1a14;--muted:#5d7068;--accent:#16a34a;--accent-ink:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text);margin:0}body{-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font:inherit;color:inherit;touch-action:manipulation;cursor:pointer}button:disabled{opacity:.45;cursor:default}h2,h3,h4{margin:0}h2{font-size:22px}h3{letter-spacing:.01em;font-size:15px}h4{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:18px 0 8px;font-size:13px}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.topbar{z-index:20;padding:calc(8px + var(--safe-t)) 16px 8px;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.tb-title{min-width:0;line-height:1.2}.tb-sub{align-items:center;gap:6px;margin-top:2px;display:flex}.tb-clock{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:28px;font-weight:700}.tb-sec{color:var(--muted);margin-left:2px;font-size:14px}.main{max-width:560px;padding:10px 12px calc(var(--tabbar-h) + var(--safe-b) + 84px);flex-direction:column;gap:10px;margin:0 auto;display:flex}.tabbar{z-index:30;height:calc(var(--tabbar-h) + var(--safe-b));padding-bottom:var(--safe-b);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:12px;display:flex}.tab-icon{filter:grayscale();opacity:.7;font-size:22px;transition:all .15s}.tab.on{color:var(--text);font-weight:600}.tab.on .tab-icon{filter:none;opacity:1;transform:translateY(-1px)}.screen-head{flex-direction:column;gap:2px;padding:6px 2px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:10px;padding:14px;display:flex}.section-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.empty-state{text-align:center;align-items:center;padding:28px 18px}.empty-state p{margin:0 0 6px}.big-emoji{font-size:40px}.btn{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 16px;font-weight:600;transition:transform 80ms,background .15s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn.danger{color:var(--danger)}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.sm{border-radius:10px;min-height:36px;padding:0 12px;font-size:14px}.btn.lg{border-radius:12px;flex:1;min-height:46px;font-size:16px}.btn.xl{border-radius:14px;flex:1;min-height:56px;font-size:18px}.btn.block{width:100%}.btn.pulse{animation:1.2s ease-in-out infinite pulse}.link{color:var(--accent);background:0 0;border:0;padding:0;font-weight:700}.input{border:1px solid var(--line);background:var(--surface-2);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:12px;padding:10px 12px}.input:focus{outline:2px solid var(--accent);outline-offset:-1px}textarea.input{resize:vertical}.mono{font-family:ui-monospace,Menlo,monospace;font-size:14px}.row-scroll{scrollbar-width:none;padding:2px;align-items:center;gap:8px;margin:0 -12px;padding-inline:12px;display:flex;overflow-x:auto}.row-scroll::-webkit-scrollbar{display:none}.row-label{flex:none}.chip-wrap{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--surface);border:1px solid var(--line);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:6px;min-height:40px;padding:0 14px;font-weight:600;display:inline-flex}.chip.sm{min-height:34px;padding:0 12px;font-size:14px}.chip.on{background:var(--text);color:var(--bg);border-color:#0000}.chip.add{color:var(--muted)}.chip .edit{opacity:.6;font-size:12px}.chip-time{font-variant-numeric:tabular-nums;opacity:.7;font-weight:500}.chip .done{color:var(--accent)}.chip.on .done{color:inherit}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot.live{background:var(--live);animation:1.4s infinite blink}.dot.soon{background:var(--warn)}.seg{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:2px;display:inline-flex}.seg button{background:0 0;border:0;border-radius:8px;min-width:44px;min-height:34px;font-weight:600}.seg button.on{background:var(--surface);box-shadow:0 1px 3px #0004}.stepper-row{justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.stepper{align-items:center;gap:10px;display:flex}.stepper b{text-align:center;font-variant-numeric:tabular-nums;min-width:56px}.form-grid{grid-template-columns:2fr 1fr;gap:10px;display:grid}.form-grid label,.block-label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.block-label{margin-top:10px}.toggle-row{align-items:center;gap:10px;padding:12px 0;display:flex}.toggle-row input{width:22px;height:22px;accent-color:var(--accent)}.clock-card{top:calc(58px + var(--safe-t));z-index:10;background:var(--surface);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:6px;padding:8px 12px 10px;display:flex;position:sticky;box-shadow:0 8px 24px -12px #0008}.clock-card.phase-play{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.cc-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.pill{text-transform:uppercase;letter-spacing:.06em;background:var(--surface-2);color:var(--muted);border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700}.pill.play{background:var(--accent);color:var(--accent-ink)}.pill.pause,.pill.break{background:var(--warn);color:#241600}.cc-main{grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;display:grid}.score-side{grid-template-columns:1fr;justify-items:center;min-width:0;display:grid;position:relative}.team-name{color:var(--muted);max-width:100%;font-size:13px}.score{font-variant-numeric:tabular-nums;font-size:34px;font-weight:800;line-height:1.1}.goal-btn{border:1px solid var(--line);background:var(--surface-2);border-radius:50%;place-items:center;width:34px;height:34px;font-size:18px;font-weight:700;display:grid;position:absolute;top:50%;right:2px;transform:translateY(-30%)}.score-side:first-child .goal-btn{left:2px;right:auto}.goal-btn:active{background:var(--accent);color:var(--accent-ink)}.clock{text-align:center}.clock-big{font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:48px;font-weight:800;line-height:1}.clock-sub{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:4px;font-size:13px}.clock.over .clock-big,.clock.over .clock-sub{color:var(--warn)}.clock.paused .clock-big{animation:1.4s infinite blink}.cc-actions{justify-content:center;gap:8px;display:flex}.break-summary{text-align:center;margin:0}.pitch{aspect-ratio:100/105;background:repeating-linear-gradient(180deg, var(--pitch) 0 10%, var(--pitch-2) 10% 20%);border-radius:16px;width:100%;max-height:58vh;margin:0 auto;position:relative;overflow:hidden;box-shadow:inset 0 0 40px #0005}@media (height<=760px){.pitch{aspect-ratio:100/92}}.pitch.compact{aspect-ratio:100/84}@media (height<=760px){.pitch.compact{aspect-ratio:100/74}}.pitch-lines{fill:none;stroke:#ffffffa0;stroke-width:.5px;vector-effect:non-scaling-stroke;width:100%;height:100%;position:absolute;inset:0}.pitch-lines *{vector-effect:non-scaling-stroke;stroke-width:1.5px}.token{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;width:84px;padding:4px;transition:left .25s,top .25s;display:flex;position:absolute;transform:translate(-50%,-50%)}.disc{color:#0d1a14;background:#fff;border:3px solid #fff;border-radius:50%;place-items:center;width:46px;height:46px;font-size:17px;font-weight:800;transition:transform .12s,box-shadow .15s;display:grid;position:relative;box-shadow:0 3px 8px #0006}.token:active .disc{transform:scale(.92)}.token.empty .disc{color:#fff;box-shadow:none;background:#fff2;border:2px dashed #fffa}.token.sel .disc{border-color:var(--warn);transform:scale(1.08);box-shadow:0 0 0 4px #ffb02088,0 3px 8px #0006}.token.target .disc{animation:1.1s ease-in-out infinite target}.token.long .disc{border-color:#ffd28a}.token.fit-pref .disc{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 55%, transparent), 0 3px 8px #0006}.token.fit-ok .disc{border-color:color-mix(in srgb, var(--accent) 60%, #fff)}.fit-tag{white-space:nowrap;background:var(--accent);color:var(--accent-ink);border-radius:6px;padding:1px 5px;font-size:10px;font-weight:800;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.token.fit-ok .fit-tag{color:#0d1a14;background:#ffffffd0}.token.warn .disc{border-color:var(--warn)}.token.over .disc{border-color:var(--danger);background:#ffe1e2}.tname{color:#fff;text-shadow:0 1px 3px #000c;text-overflow:ellipsis;white-space:nowrap;background:#0003;border-radius:6px;max-width:84px;padding:0 6px;font-size:13px;font-weight:700;overflow:hidden}.mins{color:#fff;font-variant-numeric:tabular-nums;background:#0d1a14;border-radius:999px;padding:1px 5px;font-size:11px;font-weight:800;position:absolute;top:-6px;right:-14px}.badges{font-size:13px;line-height:1;position:absolute;top:-8px;left:-12px}.hint{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:8px;min-height:48px;padding:6px 10px;display:flex}.hint.active{border-color:var(--warn);background:color-mix(in srgb, var(--warn) 10%, var(--surface))}.hint-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.bench{flex-direction:column;gap:8px;display:flex}.bench-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.sidelined{flex-direction:column;gap:8px;padding-top:4px;display:flex}.sidelined .chip{opacity:.75}.absent-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.bench-chip{text-align:left;background:var(--surface);border:1px solid var(--line);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:14px;align-items:center;gap:10px;min-height:56px;padding:8px 10px;transition:transform 80ms;display:flex;position:relative}.bench-chip:active{transform:scale(.97)}.bench-chip.sel{border-color:var(--warn);box-shadow:0 0 0 3px #ffb02066}.bench-chip.target{animation:1.1s ease-in-out infinite target-chip}.bench-chip.next{border-color:color-mix(in srgb, var(--accent) 60%, var(--line))}.bench-chip.unavailable{opacity:.45}.num{background:var(--surface-2);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:14px;font-weight:800;display:grid}.bc-body{flex-direction:column;min-width:0;display:flex}.bc-name{font-weight:700}.bc-meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.bench-chip.fit-pref{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 45%, transparent)}.next-tag.fit-ok{background:var(--surface-2);color:var(--text);border:1px solid var(--line)}.next-tag{text-transform:uppercase;letter-spacing:.05em;background:var(--accent);color:var(--accent-ink);border-radius:6px;padding:1px 6px;font-size:10px;font-weight:800;position:absolute;top:-7px;right:8px}.pt-list{flex-direction:column;display:flex}.pt-row{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:minmax(0,1.2fr) 2fr 36px 36px;align-items:center;gap:10px;padding:8px 0;display:grid}.pt-row:last-child{border-bottom:0}.pt-name.on{font-weight:700}.pt-name.on:before{content:"●";color:var(--accent);vertical-align:2px;margin-right:5px;font-size:9px}.pt-bar{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.pt-bar span{background:var(--accent);border-radius:999px;height:100%;transition:width .4s;display:block}.pt-bar span.over{background:var(--danger)}.pt-min,.pt-total{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.pt-total{font-weight:500}.events,.note-list,.roster{margin:0;padding:0;list-style:none}.events li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:6px 0;display:flex}.events li:last-child{border-bottom:0}.ev-t{width:34px;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:700}.ev-text{flex:1}.note-form{gap:8px;margin-top:8px;display:flex}.note-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:10px 2px;display:flex}.roster{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.roster li+li{border-top:1px solid var(--line)}.roster-item{grid-template-columns:auto 1fr;align-items:center;column-gap:10px;padding:8px 12px;display:grid}.roster-item.dim .roster-row,.roster-item.dim .num-input{opacity:.5}.roster-row{text-align:left;background:0 0;border:0;align-items:center;gap:10px;min-width:0;min-height:40px;padding:0;display:flex}.num-input{border:1px solid var(--line);text-align:center;color:var(--text);font:inherit;width:38px;height:38px;padding:0;font-weight:800}.num-input:focus{outline:2px solid var(--accent)}.num-input::placeholder{color:var(--muted);font-weight:500}.r-avail{flex-wrap:wrap;grid-column:2;align-items:center;gap:6px;margin-top:4px;display:flex}.r-pos{margin-left:2px}.heat-legend{border-radius:999px;height:10px;display:flex;overflow:hidden}.heat-legend span{flex:1}.seg.sm button{min-width:0;min-height:30px;padding:0 10px;font-size:13px}.token.queued .disc{border-color:var(--warn);border-style:dashed}.queued-mark{background:var(--warn);color:#241600;border-radius:50%;place-items:center;width:20px;height:20px;font-size:13px;font-weight:900;display:grid;position:absolute;bottom:-4px;left:-12px}.bench-chip.queued{border-color:var(--warn);border-style:dashed}.next-tag.queued{background:var(--warn);color:#241600;text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.queue{border-color:var(--warn);gap:6px}.queue-list{margin:0;padding:0;list-style:none}.queue-list li{border-top:1px solid var(--line);align-items:center;gap:6px;padding:6px 0;display:flex}.q-text{flex-wrap:wrap;flex:1;column-gap:12px;min-width:0;font-weight:700;display:flex}.q-in{color:var(--accent)}.q-out{color:var(--muted)}.pill-toggle{border:1px solid var(--line);background:var(--surface-2);border-radius:999px;min-height:30px;padding:0 10px;font-size:12px;font-weight:700}.pill-toggle.ok{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));color:var(--text)}.pill-toggle.off{color:var(--muted);text-decoration:line-through}.r-name{flex:1;font-weight:600}.r-min{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:600}.chev{color:var(--muted);font-size:20px}.sheet-host{z-index:50;pointer-events:none;position:fixed;inset:0}.sheet-host.open{pointer-events:auto}.backdrop{opacity:0;background:#000a;transition:opacity .2s;position:absolute;inset:0}.sheet-host.open .backdrop{opacity:1}.sheet{overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line);max-width:560px;max-height:88vh;padding:6px 16px calc(20px + var(--safe-b));border-radius:22px 22px 0 0;margin:0 auto;transition:transform .28s cubic-bezier(.2,.9,.25,1);position:absolute;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(105%)}.sheet-host.open .sheet{transform:none}.grabber{background:var(--line);border-radius:3px;width:44px;height:5px;margin:4px auto 10px}.sheet-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.sheet-head h2{align-items:center;gap:8px;display:flex}.num-badge{background:var(--surface-2);border-radius:8px;padding:2px 8px;font-size:14px}.sheet-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.flag-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.flag-btn{background:var(--surface-2);text-align:left;border:2px solid #0000;border-radius:12px;align-items:center;gap:10px;min-height:52px;padding:0 12px;font-weight:600;display:flex}.flag-icon{font-size:20px}.flag-btn.on{border-color:var(--warn);background:color-mix(in srgb, var(--warn) 16%, var(--surface-2))}.flag-btn.on.f-red,.flag-btn.on.f-injured,.flag-btn.on.f-out{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 16%, var(--surface-2))}.avail-head{align-items:stretch;gap:8px;margin-bottom:8px;display:flex}.num-field{color:var(--muted);flex-direction:column;gap:2px;width:64px;font-size:11px;display:flex}.num-field .input{text-align:center;min-height:36px;padding:4px;font-size:18px;font-weight:800}.flag-btn.grow{flex:1}.flag-btn.on.ok{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--surface-2))}.avail-matches{margin-bottom:12px}.chip.on-ok{border-color:var(--accent);color:var(--text);background:color-mix(in srgb, var(--accent) 14%, var(--surface))}.chip.off{color:var(--muted);text-decoration:line-through}.edit-details{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.edit-details summary{color:var(--muted);cursor:pointer;padding:6px 0;font-weight:600}.edit-details[open] summary{margin-bottom:10px}.toast{z-index:60;max-width:520px;left:12px;right:12px;bottom:calc(var(--tabbar-h) + var(--safe-b) + 10px);background:var(--text);min-height:52px;color:var(--bg);opacity:0;pointer-events:none;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:8px 8px 8px 16px;font-weight:600;transition:all .2s;display:flex;position:fixed;transform:translateY(20px);box-shadow:0 10px 30px #0007}.toast.show{opacity:1;pointer-events:auto;transform:none}.toast-undo{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;background:0 0;border:0;min-height:40px;padding:0 12px;font-weight:800}@media (prefers-color-scheme:light){.toast-undo{color:#6ef0a5}}@keyframes blink{50%{opacity:.35}}@keyframes pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--accent) 30%, transparent)}}@keyframes target{50%{box-shadow:0 0 0 5px #fff6,0 3px 8px #0006}}@keyframes target-chip{50%{border-color:var(--warn)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
