:root{color-scheme:light;--bg: #f6f7f9;--surface: #ffffff;--surface-2: #f0f2f5;--text: #111827;--muted: #5b6472;--border: #dde1e7;--accent: #1d4ed8;--accent-text: #ffffff;--accent-soft: #dbe7ff;--link: #1d4ed8;--tag-bg: #fef3c7;--tag-text: #78350f;--error-bg: #fde8e8;--error-text: #9b1c1c;--win-bg: #dcfce7;--win-text: #14532d;--edit-bg: #fff7d6;--edit-border: #d4a514;--radius: 10px;--tap: 44px}:root[data-theme=dark]{color-scheme:dark;--bg: #0b1120;--surface: #111a2e;--surface-2: #17223a;--text: #e5e7eb;--muted: #9aa4b2;--border: #26344d;--accent: #60a5fa;--accent-text: #0b1120;--accent-soft: #1e3a5f;--link: #93c5fd;--tag-bg: #4a3b12;--tag-text: #fde68a;--error-bg: #3b1219;--error-text: #fecaca;--win-bg: #14391f;--win-text: #bbf7d0;--edit-bg: #3a3212;--edit-border: #c9a227}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.45}a{color:var(--link)}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,h1:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1{font-size:1.4rem;line-height:1.25;margin:.25rem 0 .75rem}h2{font-size:1.15rem;margin:1.25rem 0 .5rem}h3{font-size:1rem;margin:0 0 .5rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--muted)}.empty{color:var(--muted);padding:12px 0}.wrap{max-width:1400px;margin:0 auto;padding:0 16px}.busy{position:fixed;top:0;left:0;right:0;height:3px;z-index:10;background:var(--accent);transform:scaleX(0);transform-origin:left;opacity:0;transition:opacity .2s}.busy.on{opacity:1;animation:busy 1.2s ease-in-out infinite}@keyframes busy{0%{transform:scaleX(0);transform-origin:left}50%{transform:scaleX(1);transform-origin:left}51%{transform:scaleX(1);transform-origin:right}to{transform:scaleX(0);transform-origin:right}}@media(prefers-reduced-motion:reduce){.busy.on{animation:none;transform:scaleX(1)}}.site-header{background:var(--surface);border-bottom:1px solid var(--border)}.header-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding-top:10px;padding-bottom:6px}.brand{display:inline-flex;align-items:center;gap:10px;min-height:var(--tap);min-width:0;color:var(--text);text-decoration:none;font-weight:700;font-size:1.1rem}.brand .club{overflow-wrap:anywhere}.mark{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9px;background:var(--accent);color:var(--accent-text);font-size:.9rem;letter-spacing:.02em}.logo{display:block;flex:none;height:36px;width:auto;border-radius:6px}@media(min-width:700px){.logo{height:44px;border-radius:8px}}.picker{display:block;max-width:100%;flex:1 1 200px}.picker select{width:100%;min-height:var(--tap);padding:0 12px;font:inherit;font-size:16px;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:8px}@media(min-width:700px){.picker{flex:0 1 320px}}.season-row{display:flex;flex-wrap:wrap;gap:2px 12px;align-items:baseline;padding-bottom:4px}.season-name{font-weight:600;overflow-wrap:anywhere}.zone{color:var(--muted);font-size:.9rem}.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}@media(min-width:700px){.tabs{display:flex;gap:8px}}.tab{display:flex;align-items:center;justify-content:center;min-height:var(--tap);padding:0 12px;color:var(--muted);text-decoration:none;font-weight:600;font-size:.95rem;border-bottom:3px solid transparent}.tab.on{color:var(--accent);border-bottom-color:var(--accent)}.main{padding-top:16px;padding-bottom:40px;min-height:50vh}.site-footer{border-top:1px solid var(--border);padding:16px 0 28px;font-size:.9rem}.site-footer p{margin:.25rem 0}.contacts{white-space:pre-line;overflow-wrap:anywhere}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--tap);padding:0 16px;border-radius:8px;font:inherit;font-weight:600;color:var(--text);text-decoration:none;cursor:pointer;background:var(--surface);border:1px solid var(--border)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.chips-label{margin:12px 0 0;font-weight:600}.chip{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 14px;border-radius:22px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;font-size:.95rem}.chip-on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.swatch{display:inline-block;flex:none;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:0;box-shadow:0 0 0 1px #00000026}.tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:6px;background:var(--tag-bg);color:var(--tag-text);font-size:.75rem;font-weight:600;vertical-align:1px;white-space:nowrap}.error-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px 0;padding:10px 12px;border-radius:8px;background:var(--error-bg);color:var(--error-text)}.error-line a{color:inherit;font-weight:600}.loading-line{padding:12px 0}.table-wrap{max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.tbl{width:100%;border-collapse:collapse;background:var(--surface);font-size:.95rem}.tbl th,.tbl td{padding:10px 8px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.tbl th{font-size:.8rem;font-weight:600;color:var(--muted);white-space:nowrap}.tbl .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tbl td{overflow-wrap:break-word}.sched .c-time,.sched .c-status,.team-sched .c-status{white-space:nowrap}@media(min-width:700px){.sched{width:100%}.sched .c-loc{white-space:nowrap}.sched .c-time,.sched .c-loc,.sched .c-vs,.sched .c-hs,.sched:not(.scoring) .c-status{width:1%}.sched:not(.scoring) .c-vis,.sched:not(.scoring) .c-home{width:50%}}a.team{display:inline-block;padding:10px 0;margin:-10px 0;color:var(--link);text-decoration:none}a.team:hover{text-decoration:underline}a.team.win{font-weight:700}.needed{color:var(--muted);font-style:italic}.dh{font-weight:700}.score.win{font-weight:800}.score.win{color:var(--win-text);background:var(--win-bg)}.legend{color:var(--muted);font-size:.9rem}tr.st-cancelled td,tr.st-postponed td{color:var(--muted)}.schedule-layout{display:flex;flex-direction:column}.schedule-strip,.schedule-day{min-width:0}@media(min-width:1200px){.schedule-layout.has-panel{display:grid;grid-template-columns:minmax(0,1fr) 360px;column-gap:24px;align-items:start;grid-template-areas:"strip strip" "day panel"}.has-panel .schedule-strip{grid-area:strip}.has-panel .schedule-day{grid-area:day}.has-panel .needed-panel{grid-area:panel;position:sticky;top:12px}}.strip{position:relative;display:flex;gap:16px;overflow-x:auto;padding:2px 2px 10px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.strip-month{flex:none}.strip-month-label{font-size:.8rem;font-weight:600;color:var(--muted);margin:0 0 4px 2px;white-space:nowrap}.strip-days{display:flex;gap:6px}.strip-day{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;min-height:64px;padding:6px 8px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none}.strip-wd{font-size:.75rem;color:var(--muted)}.strip-dn{font-size:1.2rem;font-weight:700;line-height:1.1}.strip-ct{font-size:.7rem;color:var(--muted);white-space:nowrap}.strip-day.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.strip-day.on .strip-wd,.strip-day.on .strip-ct{color:var(--accent-text)}.day-heading{margin-top:12px}.panel{margin:12px 0;padding:10px 14px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h2{margin:0}.panel p{margin:8px 0}.needed-panel .table-wrap{max-height:50vh;overflow-y:auto}.needed-tbl th,.needed-tbl td{padding:8px 6px;font-size:.9rem}.needed-tbl th{white-space:normal}.needed-tbl td:nth-child(-n+2){white-space:nowrap;overflow-wrap:normal}.needed-tbl td{overflow-wrap:normal;word-break:normal}@media(max-width:699px){.sched thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.sched,.sched tbody{display:block;background:none}.sched tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"time status" "loc loc" "vis vs" "home hs";gap:2px 12px;margin-bottom:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.sched td{display:block;padding:2px 0;border:0}.sched .c-time{grid-area:time;font-weight:700}.sched .c-status{grid-area:status;color:var(--muted);text-align:right}.sched .c-loc{grid-area:loc;color:var(--muted);font-size:.9rem}.sched .c-vis{grid-area:vis}.sched .c-vs{grid-area:vs}.sched .c-home{grid-area:home}.sched .c-hs{grid-area:hs}.sched .c-vis,.sched .c-home{display:flex;align-items:baseline;min-width:0}.sched .c-vis:before,.sched .c-home:before{content:attr(data-label);flex:none;width:58px;font-size:.75rem;color:var(--muted)}.sched .score{min-width:32px;padding:2px 8px;border-radius:6px;align-self:center}.teams thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.teams,.teams tbody{display:block;background:none}.teams tr{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-areas:"team team team team team" "age div div conf conf" "w l t gp pct";gap:2px 8px;margin-bottom:8px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.teams td{display:block;padding:2px 0;border:0}.teams .c-team{grid-area:team;font-weight:600}.teams .c-age{grid-area:age}.teams .c-div{grid-area:div}.teams .c-conf{grid-area:conf}.teams .c-age,.teams .c-div,.teams .c-conf{font-size:.85rem;color:var(--muted)}.teams .c-w{grid-area:w}.teams .c-l{grid-area:l}.teams .c-t{grid-area:t}.teams .c-gp{grid-area:gp}.teams .c-pct{grid-area:pct}.teams td.num{text-align:left}.teams td.num:before{content:attr(data-label);display:block;font-size:.7rem;color:var(--muted)}.team-sched thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.team-sched,.team-sched tbody{display:block;background:none}.team-sched tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date status" "opp opp" "loc loc";gap:2px 12px;margin-bottom:8px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.team-sched td{display:block;padding:2px 0;border:0}.team-sched .c-date{grid-area:date;font-weight:600}.team-sched .c-status{grid-area:status;text-align:right}.team-sched .c-opp{grid-area:opp}.team-sched .c-loc{grid-area:loc;color:var(--muted);font-size:.9rem}.tbl.standings th,.tbl.standings td{padding:8px 5px}}.crumb{margin:0}.crumb a{display:inline-flex;align-items:center;min-height:var(--tap)}.record{font-weight:600;margin:0 0 8px}.facts{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0 0 8px}.facts dt{font-size:.8rem;color:var(--muted)}.facts dd{margin:0}.share{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.roster{max-width:420px}.roster th:first-child,.roster td:first-child{width:3em}.res-win{color:var(--win-text);font-weight:700}.res-loss{font-weight:600}.division{margin-top:20px;padding-top:8px;border-top:4px solid var(--border)}.division h2{display:flex;align-items:center;margin-top:4px}.cards{display:grid;gap:14px}@media(min-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1300px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{min-width:0;padding:12px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}.card .tbl{background:none}.tbl.standings .num{width:1%}@media(min-width:700px){.tbl.teams .num{width:1%}}.md{max-width:760px;overflow-wrap:anywhere}.md .md-h{margin:1.1rem 0 .4rem}.md h3.md-h1{font-size:1.2rem}.md h4.md-h2{font-size:1.05rem}.md ul,.md ol{padding-left:1.4em}.md li{margin:.25rem 0}.md a{min-height:24px}.plain-page{max-width:560px;padding:24px 0}.form-page{max-width:560px;padding:8px 0 24px}.form-page h1:focus{outline:none}.form-page h1:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.field{display:block;margin:0 0 14px}.field-label{display:block;margin:0 0 4px;font-weight:600;font-size:.95rem}.field input,.field select,.score-box,.status-select{font:inherit;font-size:16px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px}.field input,.field select{width:100%;min-height:var(--tap);padding:0 12px}.field input[type=date]{padding:0 10px}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin:16px 0 0}.btn:disabled{opacity:.55;cursor:default}.btn-link{background:none;border-color:transparent;color:var(--link);padding:0 8px}.notice{padding:10px 12px;border-radius:8px;background:var(--win-bg);color:var(--win-text)}.saved-note{margin:8px 0;color:var(--win-text);font-weight:600}.score-box{min-height:var(--tap);width:3.2em;padding:0 6px;text-align:center;font-variant-numeric:tabular-nums}.score-box[aria-invalid=true]{border-color:var(--error-text)}.day-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px}.day-head .day-heading{margin-bottom:.5rem}.sk-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin:0 0 8px;padding:8px 12px;border-radius:8px;background:var(--accent-soft)}.sk-line p{margin:0;min-width:0;overflow-wrap:anywhere}.row-problem{display:block;font-size:.8rem;white-space:normal;color:var(--error-text)}.sched.scoring .c-status{white-space:normal}.status-select{min-height:var(--tap);padding:0 8px;max-width:100%}.sched.scoring td.num{vertical-align:middle}tr.edited td{background:var(--edit-bg)}tr.edited td:first-child{box-shadow:inset 4px 0 0 var(--edit-border)}.score-bar{position:sticky;bottom:0;z-index:5;margin:12px 0 0;padding:10px 12px;padding-bottom:max(10px,env(safe-area-inset-bottom));border:1px solid var(--edit-border);border-radius:var(--radius);background:var(--surface);box-shadow:0 -4px 12px #0000001f}.score-bar-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.score-bar-count{font-weight:700;margin-right:auto}.score-bar-note{margin:8px 0 0;font-size:.9rem}.score-fails{margin:8px 0 0;padding:8px 12px 8px 28px;border-radius:8px;max-height:40vh;overflow-y:auto;background:var(--error-bg);color:var(--error-text);font-size:.9rem}.score-fails li+li{margin-top:4px}@media(max-width:699px){.sched.scoring tr{grid-template-areas:"time time" "loc loc" "vis vs" "home hs" "status status";align-items:center}.sched.scoring .c-status{text-align:left;color:var(--text);padding-top:6px}.sched.scoring .status-select{width:100%}.sched.scoring .c-vis,.sched.scoring .c-home{align-items:center}.sched tr.edited{background:var(--edit-bg);border-color:var(--edit-border)}.sched tr.edited td{background:none;box-shadow:none}}
