:root{color-scheme:light;--ink:#15292f;--muted:#52676c;--paper:#f4f3ed;--line:#d9dfd9;--green:#17654a;--lime:#d9f279;--white:#fff;--night:#101b20;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}button,input,select,textarea{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--green)}.masthead{background:var(--night);color:white;padding:24px max(24px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;color:white;font-size:14px;font-weight:800;letter-spacing:1.5px;display:flex;gap:12px;align-items:center}.ball{background:var(--lime);color:var(--night);border-radius:50%;height:32px;width:32px;display:grid;place-items:center;transform:rotate(-25deg)}.brand-sub{font-weight:400;color:#c2cdc6;border-left:1px solid #47534f;padding-left:12px}.season{font-size:11px;letter-spacing:2px;color:#bfcfc5}main{max-width:1120px;margin:auto;padding:40px 24px 60px}.eyebrow{text-transform:uppercase;color:var(--green);font-size:12px;font-weight:800;letter-spacing:2px;margin:0 0 14px}.hero{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}h1{font-size:clamp(40px,6vw,72px);letter-spacing:-3px;line-height:1; margin:0 0 16px;font-weight:900}h1 em{font-style:normal;color:var(--green)}.lead{color:var(--muted);font-size:16px;line-height:1.6;margin:0;max-width:550px}.week-nav{display:flex;align-items:center;gap:10px;margin-bottom:22px}.week-nav select{max-width:220px;border:1px solid var(--line);border-radius:8px;padding:10px;background:white;color:var(--ink)}.badge{font-size:11px;letter-spacing:1px;text-transform:uppercase;font-weight:800;padding:8px 12px;border-radius:30px;background:#e5eddf;color:#265332;white-space:nowrap}.badge.open:before{content:'●';margin-right:7px;color:#258356}.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}.sheet{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.sheet-top{padding:22px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;align-items:center}.sheet-top h2{font-size:18px;margin:0}.small{font-size:12px;color:var(--muted);line-height:1.5}.day{padding:15px 24px;background:#eef1eb;text-transform:uppercase;font-size:11px;letter-spacing:1.5px;font-weight:800;display:flex;justify-content:space-between;margin:0}.game{padding:17px 24px;border-top:1px solid #eef0eb}.game-meta{display:flex;gap:12px;justify-content:space-between;margin-bottom:10px;font-size:11px;color:var(--muted)}.teams{display:grid;grid-template-columns:1fr 24px 1fr;gap:8px;align-items:center}.versus{text-align:center;font-size:10px;color:#697a7b}.choice{position:relative;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;padding:13px 12px;min-height:56px;font-weight:700;font-size:14px;cursor:pointer;transition:background .15s,border-color .15s}.choice:hover{border-color:var(--green);background:#f6faf3}.choice:has(input:checked){background:#e6f1d7;border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice:has(input:focus-visible){outline:3px solid #4997c0;outline-offset:3px}.check{width:18px;height:18px;border:1.5px solid #9cacaa;border-radius:50%;flex-shrink:0}.choice:has(input:checked) .check{background:var(--green);border:4px solid #e6f1d7;outline:1.5px solid var(--green)}.sidebar{position:sticky;top:24px}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:16px}.card.dark{background:var(--night);color:white;border:0}.card h2{font-size:20px;margin:0 0 10px;letter-spacing:-.5px}.card p{line-height:1.55;font-size:13px;color:var(--muted)}.card.dark p{color:#b9cbc4}.progress{background:#dce2d8;height:5px;border-radius:5px;overflow:hidden;margin:16px 0 22px}.progress span{display:block;background:var(--green);height:100%;width:0}.field{display:block;font-size:12px;font-weight:700;margin:18px 0 8px}.text-input{width:100%;border:1px solid #bfcbc5;border-radius:8px;padding:13px;background:#fafbf8;color:var(--ink);min-height:46px}input:focus,select:focus,textarea:focus{outline:2px solid var(--green);outline-offset:2px}.primary,.secondary{border:0;border-radius:8px;padding:14px 18px;font-weight:800;min-height:46px}.primary{background:var(--green);color:white}.primary:hover{background:#0f4c37}.primary:disabled{opacity:.5;cursor:wait}.secondary{background:#e6ece2;color:var(--ink)}.wide{width:100%;margin-top:22px}.dark .primary{background:var(--lime);color:var(--night)}.error{background:#fff0eb;color:#973927;border:1px solid #e9b4a5;padding:12px;border-radius:8px;margin-top:14px;font-size:14px;line-height:1.5}.notice{background:#e7efdc;border:1px solid #c4d8ae;padding:18px 22px;border-radius:10px;line-height:1.6;margin-bottom:24px}.receipt{max-width:700px;margin:0 auto}.receipt h1{font-size:52px}.receipt-row{display:flex;gap:20px;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.receipt-row span{color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.board{overflow:auto;max-height:70vh;border:1px solid var(--line);border-radius:12px;background:white}table{border-collapse:separate;border-spacing:0;font-size:12px;min-width:100%;white-space:nowrap}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line);border-right:1px solid #edf0e9}th{background:#e9eee4;color:var(--ink);font-size:11px;position:sticky;top:0;z-index:2}th:first-child,td:first-child{position:sticky;left:0;background:#f9faf6;font-weight:700;z-index:1}th:first-child{z-index:3;background:#e9eee4}.board th small{display:block;font-weight:400;margin-top:4px}.admin-summary{display:flex;gap:16px;flex-wrap:wrap;margin:24px 0}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:22px;min-width:150px}.stat strong{display:block;font-size:32px}.stat span{font-size:12px;color:var(--muted)}.admin-week{margin:28px 0}.admin-week h2{font-size:24px;margin:0}.admin-week .sheet-top{padding:20px 0}.schedule-list{padding:0;list-style:none}.schedule-list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.schedule-list small{display:block;color:var(--muted);margin-top:4px}.login{max-width:420px;margin:40px auto}.login h1{font-size:44px}.empty{padding:35px;text-align:center;color:var(--muted)}details{margin-top:16px}summary{cursor:pointer;font-weight:700;padding:12px 0}textarea{min-height:150px}footer{max-width:1120px;margin:auto;padding:24px;border-top:1px solid var(--line);font-size:11px;letter-spacing:.4px;color:var(--muted);display:flex;justify-content:space-between;gap:18px}#toast:not(:empty){position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:14px 22px;background:var(--night);color:white;border-radius:10px;z-index:10;box-shadow:0 4px 30px #0003}.loading{padding:50px;text-align:center}@media(max-width:800px){.layout{grid-template-columns:1fr}.sidebar{position:static}.hero{align-items:start}.season{display:none}h1{letter-spacing:-2px}.brand-sub{font-size:11px}main{padding-top:30px}.card{padding:22px}}@media(max-width:480px){.masthead{padding:18px 16px}.brand{font-size:11px;gap:8px;letter-spacing:1px}.brand-sub{padding-left:8px}main{padding:26px 14px 40px}.hero{display:block}.hero .badge{display:inline-block;margin-top:18px}.game{padding:14px}.day{padding:14px}.choice{font-size:13px;padding:12px 9px;gap:8px}.teams{gap:4px;grid-template-columns:1fr 18px 1fr}.sheet-top{padding:18px 14px}.hero h1{font-size:47px}.lead{font-size:14px}footer{flex-direction:column}.receipt h1{font-size:42px}.receipt-row{font-size:12px}}@media print{.masthead,footer,.actions,button,.week-nav{display:none}.board{max-height:none;overflow:visible}main{padding:0}.board th,.board td{position:static!important;font-size:8px;padding:5px}h1{font-size:28px}}

/* Dark charcoal, red and grey theme requested by the organizer. */
:root{color-scheme:dark;--ink:#f1f1f3;--muted:#b0b1b8;--paper:#17191c;--line:#3b3e44;--green:#ef777c;--lime:#ea545e;--white:#22252a;--night:#101113}
.masthead{border-bottom:1px solid #35373b}.brand-sub{color:#b1b3bb;border-color:#4a4d53}.ball{color:#fff}.season{color:#b1b3bb}
.sheet,.card,.stat,.board{background:#22252a}.sheet-top{border-color:#3b3e44}.day{background:#2d3036;color:#c9cbd1}.game{border-color:#363940}.game-meta{color:#b3b5bd}.choice{background:#282b30;color:#f1f1f3}.choice:hover{background:#333039;border-color:#e3656d}.choice:has(input:checked){background:#42292f;border-color:#ef777c;box-shadow:inset 0 0 0 1px #ef777c}.check{border-color:#90939d}.choice:has(input:checked) .check{background:#f28a8e;border:4px solid #42292f;outline-color:#f28a8e}.versus{color:#b0b1b8}
.week-nav select,.text-input{background:#191b1f;border-color:#525660;color:#f1f1f3}.text-input::placeholder{color:#9b9da6}.primary{background:#b72e39;color:#fff}.primary:hover{background:#d03b47}.secondary{background:#393d45;color:#f4f4f6}.secondary:hover{background:#494e58}.card.dark{background:#101113;border:1px solid #37393e}.card.dark p{color:#babcc5}.dark .primary{background:#b72e39;color:white}
.badge{background:#3a2a2f;color:#ffb4b8}.badge.open:before{color:#fa6b75}.notice{background:#30262b;border-color:#775057;color:#ecdde0}.error{background:#3f2429;color:#ffc1c6;border-color:#92545b}.progress{background:#43464e}.progress span{background:#e4656d}progress{accent-color:#e4656d}
.board th{background:#31353c;color:#f1f1f3}.board th:first-child,.board td:first-child{background:#2b2e34}.board thead th:first-child{background:#383c44}.board tbody th{position:sticky;top:auto;left:0;background:#2b2e34;z-index:1}.board td{border-right-color:#363940}.board tr:hover td,.board tr:hover th[scope=row]{background:#33363c}.stat span{color:#b0b1b8}#toast:not(:empty){border:1px solid #5e4248}.small{color:#b0b1b8}a:hover{color:#ffb1b5}
@media print{:root{color-scheme:light;--ink:#111;--paper:white;--muted:#444;--line:#aaa}body,.board,.board th,.board td,.board th:first-child,.board td:first-child{background:white!important;color:#111!important}.notice{background:white;border-color:#aaa;color:#111}}
