:root{--color-primary:#0b0e37;--color-secondary:#c72027;--color-accent:#cca059;--color-on-primary:#fff;--color-on-accent:var(--color-primary);--color-surface:color-mix(in srgb, var(--color-on-primary) 92%, var(--color-accent));--color-muted:color-mix(in srgb, var(--color-on-primary) 72%, transparent);--color-faint:color-mix(in srgb, var(--color-on-primary) 12%, transparent);--color-synced:color-mix(in srgb, var(--color-on-primary) 55%, transparent);--font:system-ui, "Segoe UI", roboto, sans-serif;--space:12px;--gap:10px;--gap-loose:14px;--radius:14px;--tap-min:44px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:18px/1.3 var(--font);color:var(--color-on-primary);background:var(--color-primary);font-synthesis:none;text-rendering:optimizelegibility}*,:before,:after{box-sizing:border-box}html{overscroll-behavior:none;height:100svh}body{background:var(--color-primary);overscroll-behavior:none;height:100%;margin:0;overflow:hidden}#app{height:100%}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}h1,p{margin:0}a{text-decoration:none}.club-mark{border-radius:50%;flex:none;display:block}.bench{gap:var(--gap);max-width:720px;height:100%;padding:max(8px, env(safe-area-inset-top)) var(--space) max(10px, env(safe-area-inset-bottom));flex-direction:column;margin-inline:auto;display:flex;overflow:hidden}.bench-message{gap:var(--space);overflow:auto}.bench-message h1{font-size:1.5rem;line-height:1.2}.bench-message p{color:var(--color-muted)}.top{gap:var(--gap);min-height:var(--tap-min);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.bench .club-mark{box-shadow:0 0 0 2px color-mix(in srgb, var(--color-on-primary) 20%, transparent);margin:2rem auto}.bench .top .club-mark{width:36px;height:36px;margin:0}.opponent{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:700;overflow:hidden}.sync-pill{border:1px solid var(--color-faint);color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:.68rem;font-weight:700;display:inline-flex}.sync-pill-pending{border-color:color-mix(in srgb, var(--color-accent) 55%, transparent);color:var(--color-accent)}.sync-pill-alert{border-color:var(--color-secondary);background:var(--color-secondary);color:var(--color-on-primary)}.sync-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.scoreboard{flex-direction:column;flex:0 auto;align-items:center;gap:2px;padding:6px 0;display:flex}.score{font-variant-numeric:tabular-nums;font-size:clamp(2.75rem,14vw,4.25rem);font-weight:800;line-height:.95}.score-label{color:var(--color-accent);letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:800}.tally{border-block:1px solid var(--color-faint);flex:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px 0;display:grid}.stat{flex-direction:column;align-items:center;min-width:0;display:flex}.stat-value{font-variant-numeric:tabular-nums;font-size:clamp(1.3rem,5.5vw,1.9rem);font-weight:800;line-height:1.1}.stat-label{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:700}.actions{gap:var(--gap);flex:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(56px,1fr);min-height:0;display:grid}.action,.undo,.end-game,.start{min-width:var(--tap-min);min-height:var(--tap-min);border-radius:var(--radius);letter-spacing:.02em;border:0;font-size:1.35rem;font-weight:800}.action{place-items:center;padding:8px;line-height:1.1;display:grid}.action-score{background:var(--color-accent);color:var(--color-on-accent)}.action-empty,.action-rebound{background:var(--color-surface);color:var(--color-on-accent)}.action-turnover{background:var(--color-secondary);color:var(--color-on-primary)}.bench-footer{gap:var(--gap);flex:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:4px;display:grid}.undo,.end-game{justify-content:center;align-items:center;gap:8px;min-width:0;min-height:52px;padding-inline:8px;display:flex}.undo{border:2px solid color-mix(in srgb, var(--color-accent) 55%, transparent);background:color-mix(in srgb, var(--color-accent) 10%, transparent);color:var(--color-accent);font-size:1.1rem}.end-game{background:var(--color-secondary);color:var(--color-on-primary);white-space:nowrap;font-size:1.05rem}.undo-caption,.undo-target{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.undo-target{background:color-mix(in srgb, var(--color-accent) 24%, transparent);letter-spacing:.04em;border-radius:999px;padding:2px 9px;font-size:.9rem;font-weight:800}.start{background:var(--color-accent);color:var(--color-on-accent)}.action:active,.undo:active,.end-game:active,.start:active{filter:brightness(.88);transform:scale(.985)}.action:disabled,.undo:disabled,.start:disabled{cursor:default;filter:none;opacity:.45;transform:none}.undo:disabled{border-color:color-mix(in srgb, var(--color-on-primary) 20%, transparent);color:color-mix(in srgb, var(--color-on-primary) 45%, transparent);opacity:1;background:0 0}.start-form{gap:var(--space);flex-direction:column;display:flex}.start-form label{flex-direction:column;gap:6px;font-size:.85rem;font-weight:700;display:flex}.start-form input{background:var(--color-surface);min-height:44px;color:var(--color-on-accent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border:0;border-radius:10px;padding:8px 12px;font-size:1rem}.form-error{color:var(--color-secondary);font-weight:700}.action:focus-visible,.undo:focus-visible,.end-game:focus-visible,.start:focus-visible,.start-form input:focus-visible{outline:3px solid var(--color-on-primary);outline-offset:2px}.dashboard{height:100%;padding:max(18px, env(safe-area-inset-top)) clamp(16px, 3vw, 44px) max(24px, env(safe-area-inset-bottom));background:var(--color-surface);color:var(--color-primary);overflow:auto}.dashboard-header,.season-section,.game-section{width:min(1440px,100%);margin-inline:auto}.dashboard-header{border-bottom:1px solid color-mix(in srgb, var(--color-primary) 16%, transparent);align-items:center;gap:14px;padding-bottom:22px;display:flex}.dashboard-heading{flex:1}.eyebrow{color:var(--color-secondary);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:850}.dashboard-heading h1{font-size:clamp(1.35rem,3vw,2rem);line-height:1.1}.dashboard-home{border:1px solid color-mix(in srgb, var(--color-primary) 20%, transparent);color:var(--color-primary);white-space:nowrap;border-radius:10px;padding:10px 12px;font-size:.8rem;font-weight:750;text-decoration:none}.dashboard-home span{color:var(--color-secondary)}.dashboard-message{width:min(1440px,100%);color:color-mix(in srgb, var(--color-primary) 70%, transparent);margin:28px auto}.dashboard-error{color:var(--color-secondary)}.detail-error{color:var(--color-secondary);margin:0 0 12px;font-weight:700}.season-section{padding-block:24px 28px}.section-title{justify-content:space-between;align-items:end;margin-bottom:14px;display:flex}.section-title h2{font-size:1.35rem;line-height:1.2}.section-title>span{color:color-mix(in srgb, var(--color-primary) 60%, transparent);font-size:.78rem;font-weight:700}.trend-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.trend-card,.game-list-panel,.game-detail,.possession-card{border:1px solid color-mix(in srgb, var(--color-primary) 13%, transparent);background:var(--color-on-primary);box-shadow:0 5px 18px color-mix(in srgb, var(--color-primary) 5%, transparent);border-radius:14px}.trend-card{min-width:0;padding:14px 16px 12px}.trend-card-wide{grid-column:1/-1}.trend-heading{justify-content:space-between;align-items:center;gap:8px;min-height:28px;display:flex}.trend-heading h3{font-size:.88rem}.trend-current{color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:850}.trend-chart{width:100%;height:108px;margin-top:4px;display:block;overflow:visible}.chart-gridline{fill:none;stroke:color-mix(in srgb, var(--color-primary) 10%, transparent);stroke-width:1px}.trend-line{fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.trend-blue{stroke:var(--color-primary)}.trend-red{stroke:var(--color-secondary)}.trend-gold{stroke:var(--color-accent)}.trend-dot{stroke:var(--color-on-primary);stroke-width:2px}.trend-blue-fill{fill:var(--color-primary)}.trend-red-fill{fill:var(--color-secondary)}.trend-gold-fill{fill:var(--color-accent)}.chart-caption{color:color-mix(in srgb, var(--color-primary) 62%, transparent);justify-content:space-between;font-size:.63rem;display:flex}.legend,.possession-legend{color:color-mix(in srgb, var(--color-primary) 65%, transparent);flex-wrap:wrap;gap:12px;font-size:.68rem;display:flex}.legend span,.possession-legend span{align-items:center;gap:5px;display:inline-flex}.legend i,.possession-legend i{border-radius:50%;width:9px;height:9px;display:inline-block}.legend-off{background:var(--color-accent)}.legend-def{background:var(--color-secondary)}.game-section{grid-template-columns:minmax(230px,290px) minmax(0,1fr);align-items:start;gap:16px;padding-bottom:30px;display:grid}.game-list-panel{padding:16px 12px}.section-title-compact{margin:0 4px 12px}.game-picker-label{color:color-mix(in srgb, var(--color-primary) 60%, transparent);margin:0 4px 5px;font-size:.7rem;font-weight:700;display:block}.game-picker{border:1px solid color-mix(in srgb, var(--color-primary) 18%, transparent);background:var(--color-on-primary);width:100%;min-height:44px;color:var(--color-primary);border-radius:8px;margin-bottom:8px;padding:8px}.game-list-item{border:0;border-top:1px solid color-mix(in srgb, var(--color-primary) 9%, transparent);width:100%;min-height:56px;color:var(--color-primary);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:8px;padding:8px 9px;display:flex}.game-list-item-selected{background:color-mix(in srgb, var(--color-accent) 19%, transparent);border-radius:8px}.game-list-item strong,.game-list-item small{display:block}.game-list-item strong{font-size:.83rem}.game-list-item small{color:color-mix(in srgb, var(--color-primary) 56%, transparent);margin-top:3px;font-size:.68rem}.game-list-ppp{font-variant-numeric:tabular-nums;text-align:right;font-size:.95rem;font-weight:850}.game-list-ppp small{letter-spacing:.08em;font-size:.58rem}.game-detail{min-width:0;padding:clamp(14px,2vw,24px)}.game-detail-title{justify-content:space-between;align-items:center;gap:12px;padding-bottom:16px;display:flex}.game-detail-title h2{font-size:clamp(1.2rem,2.6vw,1.8rem)}.final-score{align-items:center;gap:7px;font-size:1.4rem;font-weight:850;display:flex}.final-score span{color:color-mix(in srgb, var(--color-primary) 45%, transparent)}.game-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.game-stat-grid>div{background:color-mix(in srgb, var(--color-primary) 5%, transparent);border-radius:9px;min-width:0;padding:11px 9px}.game-stat-grid strong,.game-stat-grid span{display:block}.game-stat-grid strong{font-variant-numeric:tabular-nums;font-size:clamp(1.05rem,2vw,1.5rem)}.game-stat-grid strong i{color:var(--color-accent);font-style:normal}.game-stat-grid span{color:color-mix(in srgb, var(--color-primary) 62%, transparent);margin-top:3px;font-size:.63rem;font-weight:700}.possession-card{box-shadow:none;padding:14px 14px 10px}.possession-heading{justify-content:space-between;align-items:end;gap:8px;display:flex}.possession-heading h3{font-size:.95rem}.possession-heading>span{color:color-mix(in srgb, var(--color-primary) 65%, transparent);font-size:.74rem;font-weight:750}.possession-chart-scroll{margin-top:8px;overflow-x:auto}.possession-chart{min-width:100%;height:165px;display:block}.possession-bar{fill:color-mix(in srgb, var(--color-primary) 14%, transparent)}.possession-bar-score{fill:var(--color-accent)}.possession-bar-turnover{fill:var(--color-secondary)}.bar-value,.bar-label{fill:color-mix(in srgb, var(--color-primary) 72%, transparent);font-family:var(--font);font-size:10px;font-weight:700}.bar-label{font-size:9px}.possession-legend{padding-top:4px}.legend-score{background:var(--color-accent)}.legend-zero{background:color-mix(in srgb, var(--color-primary) 20%, transparent)}.chart-loading{color:color-mix(in srgb, var(--color-primary) 60%, transparent);padding:35px 0;font-size:.85rem}.start-dashboard-link{color:var(--color-accent);align-self:flex-start;margin-top:auto;display:inline-block}@media (width>=900px){.trend-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.trend-card-wide{grid-column:auto}.season-section{padding-block:28px 34px}.game-section{gap:22px}.game-picker{display:none}}@media (width<=680px){body:has(.dashboard){overflow:auto}#app:has(.dashboard){height:auto;min-height:100%}.dashboard{height:auto;min-height:100svh}.dashboard-header{gap:10px}.club-mark{flex-basis:40px;width:70%}.dashboard-home{padding:8px;font-size:.68rem}.trend-grid{grid-template-columns:1fr}.trend-card-wide{grid-column:auto}.game-section{grid-template-columns:1fr}.game-list-panel{padding:12px}.game-list-item{display:none}.game-detail{padding:14px 10px}.game-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-stat-grid span{font-size:.68rem}}@media (width>=600px){.actions{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (height>=640px){.bench-footer{grid-template-columns:1fr}.end-game{font-size:1.2rem}}@media (height<=560px){.bench{padding:max(4px, env(safe-area-inset-top)) var(--space) max(4px, env(safe-area-inset-bottom));gap:4px}.top{min-height:0}.bench .club-mark{width:28px;height:28px}.bench .top .club-mark{width:28px;height:28px;margin:0}.scoreboard{flex-direction:row;align-items:baseline;gap:8px;padding:0}.score{font-size:1.7rem}.tally{padding:2px 0}.stat-value{font-size:1rem}.stat-label{white-space:nowrap;font-size:.65rem}.actions{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(44px,1fr);gap:6px}.bench-footer{gap:6px;margin-top:0}.action,.undo,.end-game{font-size:1rem}.undo,.end-game{min-height:var(--tap-min)}}
