.calendar{padding-bottom:40px;--calendar-card:var(--brand-paper);--calendar-text:var(--brand-ink)}
.calendar .match-card h4 .match-team{display:block;background:var(--team-primary);color:var(--team-foreground);border:2px solid var(--comic-ink);border-left:7px solid var(--team-secondary);padding:10px 12px;margin:8px 0;box-shadow:3px 3px 0 var(--comic-ink);font-size:inherit;line-height:1.35;overflow-wrap:anywhere}
.calendar-hero{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:32px;align-items:center;background:var(--brand-navy);color:var(--brand-paper);padding:38px;margin:26px 0;border:4px solid var(--comic-ink);box-shadow:7px 7px 0 var(--comic-ink)}
.calendar-hero h1{font-size:clamp(38px,6vw,76px);line-height:1.08;margin:18px 0}.calendar-hero h1 span{color:var(--comic-yellow)}.calendar-hero p{font-size:21px;line-height:1.55}.calendar-hero .eyebrow{font-size:13px;color:var(--comic-yellow)}.calendar-hero .calendar-explainer{font-size:17px;max-width:55ch}
.calendar-stamp{background:radial-gradient(circle,#17223540 1px,transparent 1.5px) 0 0/8px 8px,var(--comic-yellow);color:var(--brand-ink);border:4px solid var(--comic-ink);box-shadow:6px 6px 0 #000;transform:rotate(4deg);text-align:center;animation:calendar-bob 4s ease-in-out infinite}.calendar-stamp strong{display:block;font-size:48px;line-height:1.12;padding:25px 8px}.calendar-stamp span{display:block;padding:12px;background:var(--brand-coral);border-block:3px solid var(--comic-ink)}
.calendar-tools{padding:22px;border:3px solid var(--comic-ink);background:var(--calendar-card);color:var(--calendar-text);box-shadow:5px 5px 0 var(--comic-ink);margin-block:26px}.week-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.week-controls h2{font-size:clamp(20px,3vw,29px);margin:0;flex:1;min-width:160px}.calendar button{cursor:pointer;border:3px solid var(--comic-ink);background:var(--comic-yellow);color:var(--brand-ink);padding:10px 15px;font:inherit;box-shadow:3px 3px 0 var(--comic-ink);transition:transform .18s,box-shadow .18s;min-height:46px}.calendar button:hover{transform:translateY(-3px) rotate(-1deg);box-shadow:5px 5px 0 var(--comic-ink)}.calendar button:focus-visible,.calendar input:focus-visible,.calendar textarea:focus-visible,.calendar select:focus-visible{outline:3px solid #238ba5;outline-offset:4px}.calendar-filters{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin-top:24px}.calendar label{display:grid;gap:8px;font-size:16px}.calendar select,.calendar input,.calendar textarea{font:inherit;border:2px solid var(--comic-ink);border-radius:0;padding:10px;width:100%;min-width:0;background:var(--brand-paper);color:var(--brand-ink);box-sizing:border-box;min-height:46px}.calendar-plan{border-left:6px solid var(--brand-coral);padding:8px 18px;margin:28px 0}.calendar-plan strong{font-size:25px}.calendar-plan p{font-size:16px;line-height:1.5;max-width:75ch}.calendar-day{margin:30px 0}.calendar-day h3{font-size:24px;border-bottom:3px solid currentColor;padding-bottom:10px}.calendar-games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.match-card{position:relative;min-width:0;background:var(--calendar-card);color:var(--calendar-text);padding:22px;border:3px solid var(--comic-ink);box-shadow:5px 5px 0 var(--comic-ink)}.match-card.is-suitable{border-top:9px solid var(--brand-coral)}.match-card.is-selected{box-shadow:6px 6px 0 #2d8577}.match-time{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.match-time time{font-size:32px;line-height:1.1}.match-badge{background:var(--comic-yellow);color:var(--brand-ink);font-size:13px;padding:6px 9px;border:2px solid var(--comic-ink)}.match-card h4{font-size:24px;line-height:1.3;margin:18px 0;overflow-wrap:anywhere}.match-card h4 span{display:block;color:#a83c36;font-size:14px;margin:6px 0}.match-card .venue{font-size:14px;line-height:1.4;min-height:40px}.match-card button{width:100%;margin:10px 0 18px}.match-card button[aria-pressed=true]{background:#215c50;color:#fff}.match-card textarea{resize:vertical;min-height:105px;line-height:1.5;font-size:16px}.note-count{font-size:12px;display:block;text-align:right;margin-top:6px}.calendar-source{margin:34px 0;font-size:14px;line-height:1.8}.calendar-source a{font-size:inherit;text-decoration:underline}.calendar-empty{padding:32px;border:3px dashed currentColor;font-size:20px;line-height:1.6}.calendar [hidden]{display:none!important}.calendar #data-status,.calendar #results-status{font-size:16px;line-height:1.6}.calendar [data-error=true]{color:#ad2c25}html[data-theme=dark] .calendar{--calendar-card:#1c2a3e;--calendar-text:#f3ecd9}html[data-theme=dark] .match-card h4 span{color:#ff9982}html[data-theme=dark] .calendar [data-error=true]{color:#ff9982}
@keyframes calendar-bob{50%{transform:translateY(-6px) rotate(2deg)}}
.calendar .match-card h4 span{font-size:inherit;color:inherit;margin-top:8px}.calendar .match-card button{margin-bottom:0}.calendar #selection-list{padding-left:24px;line-height:1.8;font-size:16px}.calendar #selection-preview{margin-top:20px}.calendar #selection-preview summary{cursor:pointer;padding:10px 0}.calendar-share-actions{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0}.calendar button:disabled,.schedule-share button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.schedule-share{box-sizing:border-box;width:min(680px,calc(100% - 24px));max-height:90dvh;padding:26px;background:var(--brand-paper);color:var(--brand-ink);border:4px solid var(--comic-ink);box-shadow:8px 8px 0 var(--comic-ink);font-family:Impact,sans-serif;overflow-y:auto}.schedule-share::backdrop{background:#101b2cd9}.schedule-share h2{font-size:32px;margin:0 40px 16px 0}.schedule-share p{font-size:16px;line-height:1.6}.schedule-share label{display:grid;gap:8px}.schedule-share input{font:inherit;font-size:16px;padding:12px;width:100%;box-sizing:border-box;border:2px solid var(--comic-ink);background:#fff;color:#101b2c;min-width:0}.schedule-share button{font:inherit;cursor:pointer;min-height:44px;padding:10px 16px;background:var(--comic-yellow);color:var(--brand-ink);border:3px solid var(--comic-ink);box-shadow:3px 3px 0 var(--comic-ink);transition:transform .18s}.schedule-share button:hover:not(:disabled){transform:translateY(-3px) rotate(-1deg)}.schedule-share button:focus-visible,.schedule-share input:focus-visible{outline:3px solid #238ba5;outline-offset:3px}.schedule-share .share-close{position:absolute;right:14px;top:14px;padding:6px 12px}.schedule-share #copy-share{margin-top:12px}.schedule-share img{display:block;width:100%;height:auto;border:2px solid var(--comic-ink);box-sizing:border-box}.schedule-share [hidden]{display:none!important}.share-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:12px}.schedule-share #native-share{background:var(--brand-coral)}html[data-theme=dark] .calendar .match-card h4 span{color:inherit}
@media(max-width:900px){.calendar-games{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-hero{grid-template-columns:minmax(0,1fr) 180px;padding:28px}.calendar-stamp strong{font-size:38px}}
@media(max-width:650px){.calendar-hero{grid-template-columns:1fr;padding:23px;gap:15px}.calendar-stamp{display:none}.calendar-hero h1{font-size:42px}.calendar-hero p{font-size:19px}.calendar-games{grid-template-columns:1fr}.calendar-filters{grid-template-columns:1fr;gap:16px}.calendar-tools{padding:17px}.week-controls{gap:10px}.week-controls h2{order:-1;flex-basis:100%;font-size:25px}.match-card{padding:20px}.calendar-plan{padding-left:12px}.calendar-day h3{font-size:22px}}
.game-details{position:fixed;box-sizing:border-box;width:min(760px,94vw);max-height:88dvh;overflow:auto;padding:32px;background:var(--paper,#f5eedb);color:var(--ink,#101b2c);border:4px solid #080f1a;box-shadow:8px 8px 0 #ff5148;font-family:Impact,'Arial Narrow',sans-serif}.game-details::backdrop{background:#080f1abd}.game-details h2{font-size:clamp(26px,5vw,40px);padding-right:30px;line-height:1.15}.game-details p,.game-details li{font-size:18px;line-height:1.5;overflow-wrap:anywhere}.game-detail-section{border-top:3px solid currentColor;padding:20px 0}.game-detail-section h3{font-size:25px;margin:0 0 10px}.game-detail-note{opacity:.8}.prediction-choices{display:flex;gap:12px;flex-wrap:wrap}.prediction-choices button{flex:1;min-width:130px;padding:14px;border:3px solid currentColor;font:inherit;background:transparent;color:inherit;cursor:pointer}.prediction-choices button[aria-pressed=true]{background:#ffce83;color:#101b2c;box-shadow:4px 4px 0 #080f1a}.game-player{border:2px solid currentColor;padding:12px;margin:10px 0}.game-player summary{cursor:pointer;font-size:20px}.game-details-button{margin-top:12px}.game-details .share-close{position:absolute;right:12px;top:12px}.match-card{cursor:pointer}@media(max-width:650px){.game-details{padding:22px 16px}}
