.season-app{color:var(--color-ink);font-family:var(--font-body)}.season-wrap{width:min(1200px,calc(100% - 44px));margin:0 auto}.season-hero{padding:clamp(132px,17vw,190px) 0 clamp(64px,9vw,104px);background:var(--color-tile);border-bottom:1px solid color-mix(in oklab,var(--color-slate) 17%,transparent)}.season-kicker{margin:0 0 16px;color:var(--color-pool);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.season-title{max-width:900px;margin:0;font:600 clamp(44px,7vw,78px)/1.04 var(--font-display);letter-spacing:-.026em;text-wrap:balance;overflow-wrap:break-word}.season-lead{max-width:650px;margin:22px 0 0;color:var(--color-ink-soft);font-size:clamp(17px,1.8vw,20px);line-height:1.5}.season-main{padding:clamp(56px,8vw,96px) 0 clamp(88px,12vw,144px)}.season-section+.season-section{margin-top:clamp(72px,9vw,112px)}.next-meet+.season-section{margin-top:clamp(40px,5vw,64px)}.season-section-title{margin:0 0 26px;font:600 clamp(30px,4vw,44px)/1.1 var(--font-display);letter-spacing:-.018em;text-wrap:balance;overflow-wrap:break-word}.season-toolbar{display:grid;grid-template-columns:minmax(240px,2fr) repeat(2,minmax(150px,1fr));gap:12px;margin-bottom:28px}.season-field{display:grid;gap:7px}.season-field>span,.season-label{color:var(--color-slate);font-size:12px;font-weight:600}.season-input,.season-select{width:100%;min-height:46px;border:1px solid color-mix(in oklab,var(--color-slate) 28%,transparent);border-radius:7px;background:var(--color-paper);color:var(--color-ink);padding:10px 13px;font:inherit}.season-input:focus,.season-select:focus,.season-btn:focus-visible,.season-link:focus-visible,.season-chip:focus-visible{outline:2px solid var(--color-pool);outline-offset:2px}.season-status{margin:0 0 22px;color:var(--color-slate);font-size:14px;line-height:1.5}.season-status[role=alert]{color:var(--color-ink-soft);border-left:3px solid var(--color-lane);padding-left:12px}.meet-list{list-style:none;margin:0;padding:0;border-top:1px solid color-mix(in oklab,var(--color-slate) 18%,transparent)}.meet-row{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:clamp(18px,3vw,38px);align-items:start;padding:27px 0;border-bottom:1px solid color-mix(in oklab,var(--color-slate) 18%,transparent)}.meet-date{color:var(--color-pool);text-align:center;border-right:1px solid color-mix(in oklab,var(--color-slate) 20%,transparent);padding-right:18px}.meet-day{display:block;font:600 31px/1 var(--font-display)}.meet-month{display:block;margin-top:5px;font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.meet-name{display:inline;margin:0;color:var(--color-ink);font:600 clamp(21px,2.3vw,27px)/1.18 var(--font-display);letter-spacing:-.012em;text-wrap:balance}.meet-name:hover{color:var(--color-pool)}.meet-meta{display:flex;flex-wrap:wrap;gap:7px 16px;margin:10px 0 0;color:var(--color-slate);font-size:13px}.meet-note{margin:9px 0 0;color:var(--color-ink-soft);font-size:13px}.season-btn{min-height:42px;border:1px solid var(--color-pool);border-radius:7px;background:transparent;color:var(--color-pool);padding:9px 15px;font:600 13px/1 var(--font-body);cursor:pointer}a.season-btn{display:inline-flex;align-items:center}.season-btn:hover{background:color-mix(in oklab,var(--color-pool) 8%,var(--color-paper))}.season-btn:disabled,.season-input:disabled,.season-select:disabled{cursor:wait;opacity:.58}.season-btn.is-saved,.season-btn--filled{background:var(--color-pool);color:var(--color-paper)}.season-btn--filled:hover{background:var(--color-pool-deep)}.season-btn--quiet{border-color:color-mix(in oklab,var(--color-slate) 34%,transparent);color:var(--color-ink-soft)}.season-link{color:var(--color-pool);text-decoration:none;border-bottom:1px solid color-mix(in oklab,var(--color-pool) 35%,transparent)}.season-empty{padding:34px;background:var(--color-tile);color:var(--color-ink-soft);line-height:1.6}.season-dashboard{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.85fr);gap:clamp(28px,5vw,64px);align-items:start}.season-panel{border:1px solid color-mix(in oklab,var(--color-slate) 20%,transparent);background:var(--color-paper);padding:clamp(22px,3vw,34px)}.next-meet{background:var(--color-pool);color:var(--color-paper);padding:clamp(28px,5vw,48px)}.next-meet .season-kicker{color:color-mix(in oklab,var(--color-paper) 76%,transparent)}.next-date{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}.next-day{font:600 clamp(64px,10vw,104px)/.82 var(--font-display);letter-spacing:-.04em}.next-month{font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.next-title{margin:8px 0 0;font:500 clamp(25px,3.5vw,38px)/1.08 var(--font-display);text-wrap:balance}.next-meta{margin:17px 0 0;color:color-mix(in oklab,var(--color-paper) 77%,transparent);font-size:14px}.next-meet a{color:var(--color-lane);border-color:color-mix(in oklab,var(--color-lane) 60%,transparent)}.season-timeline{margin:28px 0 0;padding:0 0 0 23px;border-left:1px solid color-mix(in oklab,var(--color-slate) 28%,transparent);list-style:none}.season-timeline li{position:relative;padding:0 0 25px}.season-timeline li:last-child{padding-bottom:0}.season-timeline li:before{content:"";position:absolute;width:9px;height:9px;left:-28px;top:5px;border-radius:50%;background:var(--color-paper);border:2px solid var(--color-pool)}.season-timeline time{display:block;color:var(--color-pool);font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.season-timeline a{display:inline-block;margin-top:5px;color:var(--color-ink);font-family:var(--font-display);font-size:20px;text-decoration:none}.profile-grid{display:grid;gap:17px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.season-chip{display:flex;align-items:flex-start;gap:9px;border:1px solid color-mix(in oklab,var(--color-slate) 22%,transparent);padding:11px;color:var(--color-ink-soft);font-size:13px;line-height:1.35;cursor:pointer}.season-chip:has(input:checked){border-color:var(--color-pool);background:color-mix(in oklab,var(--color-pool) 7%,var(--color-paper))}.season-chip input{accent-color:var(--color-pool);margin-top:2px}.account-copy{color:var(--color-ink-soft);font-size:14px;line-height:1.55}.account-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.save-line{min-height:22px;margin:13px 0 0;color:var(--color-slate);font-size:13px}.reading-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,34px)}.reading-grid--tight{grid-template-columns:repeat(2,minmax(0,1fr))}.reading-card{border-top:3px solid var(--color-pool);padding-top:18px}.reading-topic{color:var(--color-pool);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.reading-title{margin:10px 0;font:600 clamp(21px,2.2vw,27px)/1.17 var(--font-display);text-wrap:balance}.reading-summary{margin:0 0 16px;color:var(--color-ink-soft);font-size:14px;line-height:1.55}.reading-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.print-only{display:none}.meet-detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:clamp(32px,6vw,72px)}.meet-facts{margin:0}.meet-facts div{padding:17px 0;border-bottom:1px solid color-mix(in oklab,var(--color-slate) 18%,transparent)}.meet-facts dt{color:var(--color-slate);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.meet-facts dd{margin:5px 0 0;color:var(--color-ink)}.meet-organiser,.meet-programme,.meet-files{margin-top:clamp(36px,5vw,56px)}.meet-programme__day+.meet-programme__day{margin-top:26px}.meet-programme__date{margin:0 0 10px;font:600 clamp(19px,2vw,22px)/1.3 var(--font-display);color:var(--color-ink)}.meet-programme__session+.meet-programme__session{margin-top:16px}.meet-programme__times{margin:0 0 8px;color:var(--color-ink-soft);font-size:15px;line-height:1.5}.meet-programme__times strong{color:var(--color-ink);font-weight:600}.meet-programme__events{margin:0;padding:0;list-style:none}.meet-programme__events li{padding:7px 0;border-bottom:1px solid color-mix(in oklab,var(--color-slate) 14%,transparent);font-size:15px;line-height:1.45}.meet-files__list{margin:0;padding:0;list-style:none}.meet-files__list li{padding:8px 0}@media(max-width:880px){.season-dashboard,.meet-detail-grid{grid-template-columns:1fr}.reading-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.season-wrap{width:min(100% - 36px,1200px)}.season-hero{padding-top:118px}.season-toolbar{grid-template-columns:1fr}.meet-row{grid-template-columns:62px minmax(0,1fr);gap:14px}.meet-row .season-btn{grid-column:2;justify-self:start}.meet-date{padding-right:13px}.meet-day{font-size:26px}.reading-grid,.choice-grid{grid-template-columns:1fr}}@media print{#consent-banner,nav,footer,.no-print,.account-side{display:none!important}.print-only{display:block}.season-hero,.season-main{padding:20px 0}.season-dashboard{display:block}.season-panel{border:0;padding:0}.season-timeline{page-break-inside:avoid}}.swimmers{margin-bottom:clamp(56px,7vw,88px)}.swimmer-list{list-style:none;margin:0 0 18px;padding:0;border-top:1px solid color-mix(in oklab,var(--color-slate) 22%,transparent)}.swimmer-list__item{padding:18px 0;border-bottom:1px solid color-mix(in oklab,var(--color-slate) 22%,transparent)}.swimmer-list__name{margin:0;font:600 clamp(20px,2vw,24px)/1.25 var(--font-display);color:var(--color-ink)}.swimmer-list__item .account-actions{margin-top:12px}.swimmer-form{display:grid;gap:14px;max-width:460px}.swimmer-form__title{margin:0;font:600 20px/1.3 var(--font-display)}.swimmer-records{margin-top:12px}.swimmer-records ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px}.swimmer-records li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.swimmer-records__name{font-weight:600;color:var(--color-ink)}.swimmer-records .meet-meta{margin:0}.swimmer-search{margin-top:18px;padding:18px;background:var(--color-tile)}.swimmer-results{list-style:none;margin:16px 0 0;padding:0;border-top:1px solid color-mix(in oklab,var(--color-slate) 22%,transparent)}.swimmer-results__item{padding:14px 0;border-bottom:1px solid color-mix(in oklab,var(--color-slate) 22%,transparent)}.swimmer-results__name{margin:0;font-weight:600;color:var(--color-ink)}.swimmer-results__item .account-actions{margin-top:8px}.swimmer-page{padding-top:clamp(112px,14vw,152px)}.swimmer-page__back{margin:0 0 18px}.swimmer-page__head{margin-bottom:clamp(40px,6vw,64px)}.swimmer-events{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid color-mix(in oklab,var(--color-slate) 22%,transparent)}.swimmer-events__item{padding:18px 0;border-bottom:1px solid color-mix(in oklab,var(--color-slate) 22%,transparent)}.swimmer-events__name{margin:0;font:600 clamp(19px,2vw,22px)/1.3 var(--font-display);color:var(--color-ink)}.swimmer-events__best{margin:6px 0 0;color:var(--color-ink-soft);font-size:15px}.swimmer-events__standards{display:grid;gap:6px;margin:12px 0 0}.swimmer-standard{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;font-size:15px}.swimmer-standard dt{min-width:11rem;font-weight:600;color:var(--color-ink)}.swimmer-standard dd{margin:0;color:var(--color-ink-soft)}.swimmer-standard--made dd{color:var(--color-pool-deep);font-weight:600}.swimmer-windows{margin:18px 0 0;padding-left:18px;color:var(--color-slate);font-size:13px;line-height:1.6}.swimmer-meet{margin-top:22px}.swimmer-meet__name{margin:0 0 8px;font:600 17px/1.35 var(--font-display);color:var(--color-ink)}.swimmer-meet__name time{color:var(--color-pool);font:600 14px/1 var(--font-body);margin-right:8px}.swimmer-meet__table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}.swimmer-meet__table th:nth-child(1){width:44%}.swimmer-meet__table th:nth-child(2){width:18%}.swimmer-meet__table th:nth-child(3){width:14%}.swimmer-meet__table th{text-align:left;color:var(--color-slate);font-weight:600;font-size:12px;padding:6px 8px 6px 0;border-bottom:1px solid color-mix(in oklab,var(--color-slate) 30%,transparent)}.swimmer-meet__table td{padding:7px 8px 7px 0;border-bottom:1px solid color-mix(in oklab,var(--color-slate) 14%,transparent);color:var(--color-ink)}.swimmer-meet__time{font-variant-numeric:tabular-nums}.swimmer-standard--closed dd{color:var(--color-slate)}
