:root{--radius:6px;--gap:1rem;--measure:62ch;--tap:44px;--bar-h:calc(var(--control-h) + 1rem + 1px);--pinned-h:var(--bar-h);--tab-h:calc(.7rem + 1.9rem + .15rem + .75rem * 1.15 + 1px + env(safe-area-inset-bottom,0px));--control-h:max(var(--tap), 2.75rem);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@font-face{font-family:Archivo;src:url(/fonts/archivo-latin-wdth-normal.woff2)format("woff2-variations");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo fallback;src:local(Arial),local(Roboto);size-adjust:98.76%;ascent-override:88.9%;descent-override:21.26%;line-gap-override:0%}@font-face{font-family:Figtree;src:url(/fonts/figtree-latin-wght-normal.woff2)format("woff2-variations");font-weight:300 900;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree fallback;src:local(Arial),local(Roboto);size-adjust:100.27%;ascent-override:94.75%;descent-override:24.93%;line-gap-override:0%}*,:before,:after{box-sizing:border-box}*{margin:0}html{font-size:100%}:root[data-text-size=large]{font-size:125%}:root[data-text-size=larger]{font-size:150%}body{min-height:100dvh;font-family:var(--font-body);color:var(--ink);background:var(--page);-webkit-font-smoothing:antialiased;padding-inline:env(safe-area-inset-left,0px) env(safe-area-inset-right,0px);flex-direction:column;font-size:1rem;line-height:1.55;display:flex}h1,h2,h3{font-family:var(--font-display);color:var(--ink);text-wrap:balance;margin-block:1.5rem .5rem;font-stretch:110%;line-height:1.25}h1{letter-spacing:-.015em;font-size:2rem;font-weight:800;line-height:1.1}h2{font-size:1.35rem;font-weight:750;line-height:1.2}h3{font-size:1.1rem;font-weight:700}p,li{max-width:var(--measure)}p{margin-block:.75rem}ul,ol{padding-inline-start:1.25rem}li{margin-block:.35rem}a{color:var(--brand-accent);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}hr{border:0;border-top:1px solid var(--line);margin-block:1.5rem}code{background:var(--surface-2);border-radius:3px;padding:.1em .3em;font-family:ui-monospace,monospace}summary{cursor:default}:root{--ring-w:3px;--ring-offset:2px;--ring-room:calc(var(--ring-w) + var(--ring-offset))}:focus-visible{outline:var(--ring-w) solid var(--brand-accent);outline-offset:var(--ring-offset);border-radius:2px}.picker-menu button:focus-visible,.nav-drawer>div a:focus-visible,.nav-drawer>div button:focus-visible,.account-menu>div a:focus-visible,.account-menu>div button:focus-visible{outline-offset:calc(-1 * var(--ring-w))}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skip-link{z-index:100;background:var(--surface);color:var(--ink);border:2px solid var(--brand-accent);border-radius:0 0 var(--radius) 0;padding:.75rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}header{z-index:30;background:var(--surface);border-bottom:1px solid var(--line);transition:box-shadow .2s ease-out;position:sticky;top:0}header[data-flat=true]{box-shadow:0 2px 10px #0000001a}html{scroll-padding-top:var(--pinned-h)}header *{scroll-margin-top:calc(-1 * var(--pinned-h))}:root[data-header-unpinned]{--pinned-h:0px}:root[data-header-unpinned] header{position:static}@media (width>=40.001rem) and (height<=32rem){:root{--pinned-h:0px}header{position:static}}header.staff{background-color:var(--staff-header);background-image:repeating-linear-gradient(-45deg, var(--staff-stripe) 0 .75rem, transparent .75rem 1.5rem)}header>.bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;max-width:72rem;margin-inline:auto;padding:.5rem 1rem;transition:padding .2s ease-out;display:flex}.site-brand{min-height:var(--control-h);color:var(--ink);align-items:center;gap:.5rem;font-size:1.05rem;text-decoration:none;display:inline-flex}.site-brand img{width:auto;max-height:2rem}header[data-flat=true]>.bar{padding-block:.15rem}header nav{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}header nav a{min-height:var(--control-h);color:var(--ink-muted);white-space:nowrap;border-radius:999px;align-items:center;padding-inline:.9rem;font-weight:600;text-decoration:none;display:inline-flex}header nav a:hover{color:var(--ink);background:var(--surface-2)}header nav a[aria-current=page]{color:var(--ink);background:var(--brand-tint);box-shadow:inset 0 0 0 1.5px var(--line-strong);font-weight:700}header.staff nav a[aria-current=page]{background:var(--surface)}header.staff .nav-primary>a:hover:not([aria-current]),header.staff .nav-section>summary:hover:not([aria-current]),header.staff .nav-drawer>summary:hover:not([aria-current]){background:color-mix(in srgb, var(--ink) 9%, transparent)}header .nav-primary>a,header .nav-section>summary{transition:min-height .2s ease-out,margin-block .2s ease-out;position:relative}header[data-flat=true] .nav-primary>a,header[data-flat=true] .nav-section>summary{min-height:var(--pill-h);margin-block:calc((var(--control-h) - var(--pill-h)) / 2)}header .nav-primary>a:focus-visible{border-radius:999px}header[data-flat=true] .nav-primary>a:before,header[data-flat=true] .nav-section>summary:before{content:"";inset-inline:0;height:var(--control-h);position:absolute;top:50%;translate:0 -50%}header nav a.sign-in{color:var(--brand-ink);background:var(--brand)}header nav a.sign-in:hover{background:var(--brand-hover)}.nav-menu{position:relative}.nav-menu>summary{min-height:var(--control-h);color:var(--ink-muted);cursor:pointer;border-radius:999px;align-items:center;gap:.25rem;padding-inline:.9rem;font-weight:600;list-style:none;display:inline-flex}.nav-menu>summary::-webkit-details-marker{display:none}.nav-menu>summary:after{content:"▾";font-size:.7em}.nav-menu>summary:hover{color:var(--ink);background:var(--surface-2)}.nav-menu>summary[aria-current]{color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line-strong);font-weight:700}.nav-menu>summary:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.nav-menu>div{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:.15rem;min-width:12rem;padding:.5rem;display:flex;position:absolute;box-shadow:0 12px 32px #00000029}.nav-menu>div a{border-radius:10px}.nav-menu>div a[aria-current=page]{background:var(--surface-2)}.initials{background:var(--brand);width:2.25rem;height:2.25rem;color:var(--brand-ink);border-radius:999px;place-items:center;font-size:.8rem;font-weight:600;transition:width .2s ease-out,height .2s ease-out,font-size .2s ease-out;display:inline-grid}header[data-flat=true] .initials{width:2.6rem;height:1.5rem;font-size:.72rem}.account-menu>summary{padding-inline:.2rem}.account-menu>div{width:17rem;right:0}.account-who{border-bottom:1px solid var(--line);overflow-wrap:anywhere;flex-direction:column;margin:0 0 .25rem;padding:.4rem .75rem .6rem;display:flex}.account-who strong{font-size:1.05rem}.account-who span{color:var(--ink-muted);font-size:.85rem}.account-menu>summary:after{content:none}.account-menu>summary[aria-current]{box-shadow:none;background:0 0}.account-menu>summary[aria-current] .initials{outline:2px solid var(--brand-accent);outline-offset:2px}header{--pill-h:var(--control-h)}header[data-flat=true]{--pill-h:1.875rem}.account-dock{align-items:center;display:inline-flex}.mode-pill{height:var(--pill-h);box-sizing:border-box;box-shadow:inset 0 0 0 1.5px var(--line-strong);border-radius:999px;transition:height .2s ease-out}header.staff .mode-pill{background:var(--ink);box-shadow:none}.mode-switch{border-radius:999px 0 0 999px;gap:.4rem;position:relative}.mode-switch svg{flex:none;width:1.0625rem;height:1.0625rem}.mode-switch:after{content:"";inset-inline-end:0;width:1px;height:var(--pill-h);background:var(--line);position:absolute;top:50%;translate:0 -50%}header.staff .mode-switch{color:var(--page)}header.staff .mode-switch:hover{color:var(--page);background:0 0}header.staff .mode-switch:hover:before{background:var(--ink-muted)}header.staff .mode-switch:after{content:none}.mode-switch:hover{background:0 0}.mode-switch:hover:before{content:"";inset-inline:0;height:var(--pill-h);background:var(--surface-2);border-radius:999px 0 0 999px;position:absolute;top:50%;translate:0 -50%}.mode-switch>*{position:relative}header[data-flat=true] .mode-pill .initials{width:1.5rem;height:1.5rem;font-size:.66rem}.mode-pill .account-menu>summary{padding-inline:.25rem}header[data-flat=true] .mode-pill .account-menu>summary{padding-inline:.1875rem}header.staff .mode-pill .initials{box-shadow:0 0 0 1.5px var(--page)}@media (width<=26rem){.mode-switch-label{display:none}}.nav-menu>div form{display:flex}.nav-menu>div button{min-height:var(--control-h);text-align:left;color:var(--ink-muted);background:0 0;border:0;border-radius:10px;flex:1;justify-content:flex-start;padding-inline:.9rem;font-weight:600}.nav-menu>div button:hover{background:var(--surface-2);color:var(--ink)}main{flex:1;width:100%;max-width:72rem;margin-inline:auto;padding:1rem 1rem 3rem}footer{border-top:1px solid var(--line);background:var(--surface);padding-bottom:env(safe-area-inset-bottom,0px)}footer nav{flex-wrap:wrap;gap:.5rem 1.25rem;max-width:72rem;margin-inline:auto;padding:.5rem 1rem;font-size:.9rem;display:flex}footer a{min-height:var(--control-h);color:var(--ink-muted);align-items:center;display:inline-flex}.form-container{max-width:42rem}form{flex-direction:column;gap:1.25rem;margin-block:1rem;display:flex}fieldset{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:1rem;padding:1rem;display:flex}legend{padding-inline:.4rem;font-weight:600}label{margin-bottom:.25rem;font-weight:500;display:block}input,select,textarea{width:100%;min-height:var(--control-h);font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);padding:.5rem .75rem}textarea{resize:vertical;min-height:8rem}input:disabled,select:disabled{opacity:.55;cursor:not-allowed}input::placeholder,textarea::placeholder{color:var(--ink-faint)}input[type=checkbox],input[type=radio]{width:1.15rem;height:1.15rem;min-height:0;accent-color:var(--brand-accent);flex:none;margin:0;padding:0}:is(label:has(>input[type=checkbox]),label:has(>input[type=radio])){min-height:var(--control-h);cursor:pointer;align-items:center;gap:.6rem;margin-bottom:0;font-weight:400;display:flex}.pick-mode{border:0;flex-direction:column;gap:.3rem;margin:0;padding:0;display:flex}.pick-mode>legend{margin-bottom:.4rem;padding:0;font-weight:600}.pick-mode-option{min-height:var(--tap);cursor:pointer;align-items:center;gap:.6rem;display:flex}.pick-mode-option>input{margin:0}.field-row{flex-wrap:wrap;align-items:center;gap:0 1.5rem;display:flex}.field-row>label:first-child{min-width:14rem}.field-row>select{width:auto}.time-field{align-items:center;gap:.3rem;display:flex}.time-field select{width:auto}.field-row:has(>div){align-items:flex-start}.checkbox-row{flex-wrap:wrap;gap:.35rem 1.25rem;display:flex}.checkbox-row>label{white-space:nowrap;align-items:center;gap:.4rem;margin:0;display:flex}input[type=file]{background:var(--surface-2);padding:.4rem}input[type=color]{width:4rem;padding:.2rem}input[type=date],input[type=time]{appearance:none}input[data-invalid=true],textarea[data-invalid=true],select[data-invalid=true]{border-color:var(--danger);border-width:2px}input[data-invalid=true]+div,textarea[data-invalid=true]+div,select[data-invalid=true]+div,.time-field[data-invalid=true]+div{color:var(--danger);margin-top:.25rem;font-weight:500}button,.button{min-height:var(--control-h);font:inherit;color:var(--brand-ink);background:var(--brand);border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-weight:650;text-decoration:none;display:inline-flex}button:hover,.button:hover{background:var(--brand-hover)}button:disabled{opacity:.55;cursor:not-allowed}button.quiet,.button.quiet{color:var(--ink);border-color:var(--line-strong);background:0 0}button.quiet:hover,.button.quiet:hover{background:var(--surface-2)}.row-actions{align-items:center;gap:.4rem;display:flex}.row-actions>form{margin:0}.row-actions:has(.amount-received){align-items:flex-end}form:has(>.amount-received){flex-flow:wrap;align-items:flex-end;gap:.4rem;display:flex}.field-row:has(.amount-received){align-items:flex-end}.amount-received{flex-direction:column;gap:.2rem;display:flex}.amount-received>span{font-size:.8rem}.amount-received input{width:7em}.row-order .drag-handle{cursor:grab;-webkit-user-select:none;user-select:none;color:var(--ink-muted);padding:0 .25rem}tr[data-dragging=true]{opacity:.5}.row-actions button,.row-actions .button{white-space:nowrap}@media (pointer:fine){.row-actions button,.row-actions .button{min-height:2rem;padding:.25rem .65rem;font-size:.9375rem}}.markdown-preview{border:1px solid var(--line-strong);border-radius:var(--radius);min-height:8rem;padding:.5rem .75rem}.md-editor{flex-direction:column;display:flex}.md-tabs{z-index:1;gap:.25rem;margin-bottom:-1px;display:flex;position:relative}.md-tabs button{min-height:36px;color:var(--ink-muted);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius) var(--radius) 0 0;align-items:center;gap:.35rem;padding:0 .7rem;font-size:.85rem;font-weight:500;display:inline-flex;position:relative}.md-tabs button:before{content:"";inset:calc(-1 * (var(--tap) - 36px)) 0 0;position:absolute}.md-tabs button:hover{color:var(--ink);background:var(--surface-2)}.md-tabs button[aria-selected=true]{color:var(--ink);background:var(--surface);border-bottom-color:var(--surface);font-weight:650}.md-tabs button:focus-visible{outline:3px solid var(--brand-accent);outline-offset:-3px}.md-tabs svg{flex:none;width:1em;height:1em}.md-editor textarea,.md-editor .markdown-preview{border-top-left-radius:0}.md-editor .markdown-preview{background:var(--surface)}.md-editor .markdown-preview:focus-visible{outline:3px solid var(--brand-accent);outline-offset:-3px}header form{margin:0}header button{color:var(--ink-muted);border-color:var(--line);background:0 0;padding-inline:.6rem;font-weight:500}header button:hover{background:var(--surface-2);color:var(--ink)}.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 2px #0000000d,0 6px 20px #0000000f}.card:is([role=status],[role=alert]){border-left:1px solid var(--line);margin-block:0}.status-card:is([role=status],[role=alert]){padding:1rem 1.2rem}.chip{white-space:nowrap;color:var(--ink);background:var(--surface-2);border-radius:999px;align-self:flex-start;align-items:center;gap:.35rem;padding:.2rem .7rem;font-size:.8rem;font-weight:650;display:inline-flex}.chip[data-tone=warning]{color:var(--warning);background:var(--warning-bg)}.chip[data-tone=success]{color:var(--success);background:var(--success-bg)}.chip[data-tone=danger]{color:var(--danger);background:var(--danger-bg)}.chip[data-tone=quiet]{color:var(--ink-muted)}.chip[data-tone=booked]{background:var(--booked)}.chip[data-tone=coaching]{background:var(--coaching)}.eyebrow{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:0;font-size:.75rem;font-weight:700;font-stretch:100%}.num{font-variant-numeric:tabular-nums}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;display:flex}.page-head h1{margin:0}.pill-switch{background:var(--surface-2);border-radius:999px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;padding:3px;display:inline-grid}.pill-switch a{min-height:var(--control-h);color:var(--ink-muted);white-space:nowrap;border-radius:999px;place-items:center;padding-inline:1.1rem;font-weight:650;text-decoration:none;display:grid}.pill-switch a[aria-current=page]{color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line-strong);font-weight:750}.my-classes,.my-classes-layout{flex-direction:column;gap:1.25rem;display:flex}.my-classes-aside{flex-direction:column;gap:1rem;display:flex}.my-classes-list{flex-direction:column;gap:.75rem;min-width:0;display:flex}.my-classes-list>h2,.my-classes p{margin:0}.my-classes-aside:empty{display:none}@container (width>=52em){.my-classes-layout:has(>.my-classes-aside:not(:empty)){grid-template-columns:minmax(18rem,22rem) minmax(0,1fr);align-items:start;gap:2rem;display:grid}.my-classes-aside{top:calc(var(--pinned-h) + 1rem);position:sticky}}.my-classes .empty{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.4rem 1.25rem;display:flex}.week-group{flex-direction:column;gap:.6rem;margin-bottom:.5rem;display:flex}.booking-card{cursor:pointer;flex-direction:column;gap:.7rem;padding:.85rem 1rem;display:flex}.booking-card-main{align-items:flex-start;gap:.9rem;display:flex}.booking-card-body{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.booking-card-body>.muted{font-size:.9rem}.card-link{color:var(--ink);font-weight:700;text-decoration:none}.card-link:hover{text-decoration:underline}.date-block{background:var(--surface-2);border-radius:12px;flex-direction:column;align-items:center;min-width:3.1rem;padding:.3rem 0;display:flex}.date-block span{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-size:.7rem;font-weight:700}.date-block strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:800;line-height:1.1}.booking-card-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding-top:.7rem;display:flex}.booking-card-notes{flex-direction:column;flex:10rem;gap:.15rem;min-width:0;font-size:.85rem;display:flex}.booking-card-notes .late{color:var(--danger)}.next-up{background:var(--brand-tint);cursor:pointer;flex-direction:column;gap:.8rem;padding:1.1rem 1.2rem;display:flex}.next-up-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.next-up-head .eyebrow{color:var(--ink)}.next-up .chip{background:var(--surface)}.next-up-time{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.next-up-time strong{font-family:var(--font-display);font-size:2.6rem;font-weight:800;line-height:1}.next-up-body{flex-direction:column;gap:.15rem;display:flex}.next-up-body .card-link{font-family:var(--font-display);font-size:1.35rem;font-weight:750;font-stretch:110%}.next-up .booking-card-foot button{background:var(--surface)}.class-count{flex-direction:column;gap:.55rem;padding:.9rem 1.2rem;display:flex}.class-count-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;display:flex}.class-count-head h2{margin:0;font-size:1rem}.class-count-head .muted{font-size:.9rem}.count-bars{gap:4px;display:flex}.count-bars span{background:var(--surface-2);border-radius:4px;flex:1;height:8px}.count-bars span[data-used]{background:var(--brand)}.small{font-size:.88rem}.timetable{flex-direction:column;gap:1.25rem;display:flex}.timetable p{margin:0}.timetable-layout,.timetable-aside{flex-direction:column;gap:1rem;display:flex}.timetable-aside:empty{display:none}.timetable-week{flex-direction:column;gap:1rem;min-width:0;display:flex}.timetable-weeks{flex-direction:column;gap:1rem;display:flex}.timetable-end{text-align:center}.timetable-marker{color:var(--ink-muted);align-items:center;gap:.6rem;margin:0;font-size:.8rem;display:flex}.timetable-marker:before,.timetable-marker:after{content:"";border-top:1px solid var(--line);flex:1}.timetable-marker span{text-align:center;flex:none;max-width:80%}@container (width>=52em){.timetable-layout:has(>.timetable-aside:not(:empty)){grid-template-columns:minmax(0,1fr) minmax(18rem,22rem);grid-template-areas:"week aside";align-items:start;gap:2rem;display:grid}.timetable-aside{top:calc(var(--pinned-h) + 1rem);grid-area:aside;position:sticky}.timetable-week{grid-area:week}}.notice{flex-direction:column;align-items:flex-start;gap:.7rem;padding:.9rem 1.2rem;display:flex}.notice+.notice{margin-top:.8rem}.notice[data-tone=warning]{background:var(--warning-bg)}.notice[data-tone=warning] .button{background:var(--surface)}.day{flex-direction:column;gap:.6rem;display:flex}.day h2{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0 0;font-size:1.1rem;display:flex}.chip.today{background:var(--brand-tint)}.session-card{cursor:pointer;flex-direction:column;gap:.7rem;padding:.9rem 1rem;display:flex}.session-card[data-mine=booked]{background:var(--booked)}.session-card[data-mine=coaching]{background:var(--coaching)}.session-card[data-mine] .chip{background:var(--surface)}.session-card[data-gone]{box-shadow:none;color:var(--ink-muted);background:0 0}.session-card[data-gone] .card-link,.session-card[data-gone] strong{color:var(--ink-muted)}.session-card-main{flex-wrap:wrap;align-items:flex-start;gap:.9rem;display:flex}.session-card-status{flex:none;margin-left:auto}.session-time{flex-direction:column;min-width:3.4rem;display:flex}.session-time strong{font-family:var(--font-display);font-size:1.2rem;font-weight:800;line-height:1.2}.session-time span{font-size:.8rem}.session-card-body{flex-direction:column;flex:8rem;gap:.1rem;min-width:0;display:flex}.session-card-body .muted{font-size:.9rem}.session-card-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;display:flex}.session-card-foot:empty{display:none}.occupancy-line{flex:8rem;align-items:center;gap:.6rem;min-width:0;font-size:.85rem;display:flex}.occupancy-bar{background:var(--surface-2);border-radius:3px;flex-grow:1;max-width:5.5rem;height:6px;overflow:hidden}.session-card[data-mine] .occupancy-bar{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 60%, transparent)}.session-card[data-mine] button.quiet:hover{background:color-mix(in srgb, var(--ink) 9%, transparent)}.status-card[data-tone] .button.quiet:hover,.status-card[data-tone] button.quiet:hover{background:color-mix(in srgb, var(--ink) 9%, var(--surface))}.occupancy-bar span{background:var(--brand);height:100%;display:block}.occupancy-bar span[data-full]{background:var(--ink-muted)}.session-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;margin-left:auto;display:flex}.session-card-actions form{margin:0}.session-card-notes{flex-direction:column;flex-basis:100%;gap:.15rem;font-size:.85rem;display:flex}.session-card-notes .late{color:var(--danger)}.class-page{flex-direction:column;gap:1rem;display:flex}.class-head p,.status-card p{margin:0}.class-head{flex-direction:column;gap:.75rem;display:flex}.class-title{flex-direction:column;gap:.3rem;display:flex}.class-title h1{margin:0}.class-when{font-family:var(--font-display);font-size:1.3rem;font-weight:700}.class-occupancy{align-items:center;gap:.75rem;font-size:.9rem;font-weight:600;display:flex}.class-occupancy .occupancy-bar{max-width:none;height:8px}.class-info{margin:0;padding:.2rem 1.1rem;display:block}.class-info>div{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:.9rem;padding:.7rem 0;display:grid}.class-info>div+div{border-top:1px solid var(--line)}.class-info svg{fill:none;width:1.3rem;height:1.3rem;stroke:var(--ink-muted);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;grid-row:span 2}.class-info dt{color:var(--ink-muted);font-size:.8rem}.class-info dd{margin:0;font-weight:600}.status-card{--status-gap:.6rem;gap:var(--status-gap);flex-direction:column;padding:1rem 1.2rem;display:flex}.status-card form,.status-card .button,.status-card button{width:100%}.status-card[data-tone=booked]{background:var(--booked)}.status-card[data-tone=success]{background:var(--success-bg)}.status-card[data-tone=waiting],.status-card[data-tone=warning]{background:var(--warning-bg)}.status-card[data-tone=coaching]{background:var(--coaching)}.status-card[data-tone=cancelled],.status-card[data-tone=closed]{background:var(--surface-2)}.status-card[data-tone] .button.quiet,.status-card[data-tone] button.quiet{background:var(--surface)}.status-card .late{color:var(--danger)}.status-words{grid-template-rows:1fr;display:grid}.status-words>div{min-height:0;overflow:hidden}.class-rest{flex-direction:column;gap:1rem;min-width:0;display:flex}.class-workout{flex-direction:column;gap:.6rem;padding:1.1rem 1.2rem;display:flex}.class-workout h2{margin:0}.class-workout-body{flex-direction:column;gap:.6rem;display:flex}.class-programming-note,.class-workout h3{margin:0}.doing{flex-direction:column;gap:.9rem;padding:1.1rem 1.2rem;display:flex}.doing legend>h2{margin:0}.doing-panel{border-top:1px solid var(--line);flex-direction:column;gap:.9rem;min-width:0;padding-top:.9rem;display:flex}.doing-panel>p,.doing-panel form{margin:0}.doing-panel .class-workout{padding:0}.doing-leave{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}@media (width<=40rem){.class-page>.class-status{bottom:var(--tab-h);z-index:5;border-width:1px 0 0;border-radius:0;order:10;margin-inline:-1rem;transition:padding .2s ease-out;position:sticky;box-shadow:0 -6px 20px #00000014}.class-page>.class-status form{margin-block:0}.class-rest{order:5}.class-page>.class-status>.status-words{transition:grid-template-rows .2s ease-out,margin .2s ease-out}.class-page>.class-status>.status-words>div{transition:opacity .2s ease-out}.class-page[data-compact=true]>.class-status:has(>form){padding-block:.5rem}.class-page[data-compact=true]>.class-status:has(>form)>.status-words{margin-bottom:calc(-1 * var(--status-gap));grid-template-rows:0fr}.class-page[data-compact=true]>.class-status:has(>form)>.status-words>div{opacity:0}}@container (width>=52em){.class-page{grid-template:"head info""rest status""rest."1fr/minmax(0,1fr) minmax(18rem,22rem);align-items:start;gap:1rem 2rem;display:grid}.class-head{grid-area:head}.class-info{grid-area:info}.class-status{top:calc(var(--pinned-h) + 1rem);grid-area:status;position:sticky}.class-rest{grid-area:rest}.class-page:not(:has(>.class-info)) .class-status{grid-row:1/span 2}}.back-link{min-height:var(--tap);color:var(--ink);align-self:flex-start;align-items:center;gap:.3em;font-weight:600;text-decoration:none;display:inline-flex}.back-link svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.2em;height:1.2em}.strong{font-weight:700}.run-card-head{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.run-card-head h2,.run-card-head h3{margin:0;font-size:1.1rem}.pay-choice{border:0;flex-direction:column;gap:.4rem;margin:0;padding:0;display:flex}.pay-choice legend{margin-bottom:.3rem;font-weight:650}.pay-choice label{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;align-items:flex-start;gap:.6rem;padding:.6rem .7rem;display:flex}.pay-choice label:has(:checked){box-shadow:inset 0 0 0 2px var(--brand-accent)}.pay-choice label>span{flex-direction:column;display:flex}.chevron{fill:none;width:1.1em;height:1.1em;stroke:var(--ink-muted);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:transform .2s}details[open]>summary .chevron{transform:rotate(180deg)}.membership-page,.membership-main,.membership-side{flex-direction:column;gap:1rem;min-width:0;display:flex}.membership-page{max-width:48rem}.membership-page h1,.membership-page p{margin:0}.membership-page .button.quiet{align-self:flex-start}.join-head{flex-direction:column;gap:.3rem;display:flex}.card.discount-note{background:var(--brand-tint);align-items:center;gap:.6rem;padding:.7rem 1rem;display:flex}.discount-note .chip{background:var(--surface)}.block-held{flex-direction:column;gap:.7rem;padding:1.1rem 1.2rem;display:flex}.plan-hero{background:var(--brand);color:var(--brand-ink);border-radius:22px;flex-direction:column;gap:1rem;padding:1.3rem;display:flex}.plan-hero>div:first-child{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.plan-hero h2{color:inherit;margin:0;font-size:1.2rem}.plan-hero .chip{color:var(--ink);background:var(--surface)}.plan-hero .chip:before{content:"";background:var(--ink-muted);border-radius:50%;width:.5em;height:.5em}.plan-hero .chip[data-tone=success]:before{background:var(--success)}.plan-hero .chip[data-tone=warning]:before{background:var(--warning)}.plan-hero-price{align-items:baseline;gap:.35rem;display:flex}.plan-hero-price .num{font-size:2.5rem;font-weight:800;line-height:1}.plan-hero-foot{border-top:1px solid color-mix(in srgb, currentColor 35%, transparent);flex-wrap:wrap;justify-content:space-between;gap:.4rem 1rem;padding-top:.9rem;font-size:.92rem;display:flex}.plan-details{padding:.3rem 1.2rem .2rem}.plan-details h2{margin:0;padding:.7rem 0 .4rem;font-size:1rem}.plan-details>p{padding-bottom:.6rem}.plan-details dl{margin:0;display:block}.plan-details dl>div{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;padding:.7rem 0;display:flex}.plan-details dt{margin:0}.plan-details dd{font-weight:600}.other-plans{flex-direction:column;gap:.5rem;display:flex}.other-plans h2{margin:0;font-size:1rem}.other-plans .card{flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding:.85rem 1.1rem;display:flex}.membership-side .leave{color:var(--danger)}.join-form{flex-direction:column;gap:1rem;display:flex}.plan-pick{border:0;flex-direction:column;gap:.6rem;margin:0;padding:0;display:flex}.plan-pick legend,.join-form .pay-choice legend{margin-bottom:.6rem;padding:0}.plan-option{cursor:pointer;align-items:center;gap:.9rem;padding:.9rem 1.1rem;display:flex}.plan-option:has(:checked){background:var(--brand-tint);box-shadow:inset 0 0 0 2px var(--brand-accent)}.plan-option input,.join-form .pay-choice input{width:1.3em;height:1.3em;accent-color:var(--brand-accent);flex:none;margin:0}.plan-option-what{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.plan-option-price{text-align:right;flex-direction:column;flex:none;align-items:flex-end;display:flex}.plan-option-price .num{font-size:1.25rem;font-weight:800}.plan-option-price s{color:var(--ink-muted);font-size:.8rem}.join-form .pay-choice label{cursor:pointer;padding:.85rem 1.1rem}.accept label{min-height:var(--tap);align-items:flex-start;gap:.7rem;display:flex}.accept input{width:1.3em;height:1.3em;accent-color:var(--brand-accent);flex:none;margin:.1em 0 0}.join-bar .button{width:100%}.join-plans,.join-rest{display:contents}@media (width<=40rem){.join-bar{bottom:var(--tab-h);z-index:5;background:var(--surface);border-top:1px solid var(--line);margin-inline:-1rem;padding:.8rem 1rem;position:sticky}}.cancel-form{flex-direction:column;gap:.8rem;display:flex}.cancel-form .button{width:100%}.button.danger{color:var(--page);background:var(--danger)}@container (width>=52em){.join-page{max-width:none}.join-form{grid-template-columns:minmax(0, 1fr) minmax(calc(18rem + 2 * var(--ring-room)), calc(22rem + 2 * var(--ring-room)));align-items:start;gap:1rem 2rem;display:grid}.join-plans,.join-rest{min-width:0;padding:var(--ring-room);flex-direction:column;gap:1rem;display:flex}.join-rest{top:calc(var(--pinned-h) + 1rem);max-height:calc(100dvh - var(--pinned-h) - 2rem);scroll-padding:var(--ring-room);position:sticky;overflow-y:auto}.join-rest>.join-bar{bottom:calc(-1 * var(--ring-room));background:var(--page);padding-block:var(--ring-room);position:sticky}.your-membership{grid-template-columns:minmax(0,1fr) minmax(18rem,22rem);align-items:start;gap:1rem 2rem;max-width:none;display:grid}.membership-side{padding-top:3.6rem}}.details-page,.details-main,.details-side{flex-direction:column;gap:1rem;min-width:0;display:flex}.details-head{flex-direction:column;gap:.25rem;display:flex}.details-head h1,.details-page p,.details-page form{margin:0}.details-card{flex-direction:column;gap:.8rem;padding:1.1rem 1.2rem;display:flex}.details-card h2{margin:0;font-size:1rem}.details-card fieldset{border:0;flex-direction:column;gap:.45rem;margin:0;padding:0;display:flex}.details-card fieldset legend{margin-bottom:.45rem;padding:0;font-weight:700}.details-form{flex-direction:column;gap:.9rem;display:flex}.details-form fieldset{border-top:1px solid var(--line);padding-top:.9rem}.details-form>.button{align-self:flex-start}.field-grid{gap:.7rem 1rem;display:grid}.form-actions{flex-wrap:wrap;gap:.5rem;display:flex}.appearance legend{color:var(--ink-muted);font-size:.85rem;font-weight:600}.choice-tiles{background:var(--surface-2);border-radius:16px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;display:grid}.choice-tiles label:has(>input[type=radio]){min-height:3.6rem;color:var(--ink-muted);text-align:center;cursor:pointer;border-radius:13px;flex-direction:column;justify-content:flex-end;align-items:center;gap:.2rem;margin:0;padding:.4rem .2rem;font-size:.88rem;font-weight:650;display:flex}.choice-tiles label:has(>input:checked){color:var(--ink);background:var(--surface);box-shadow:0 1px 3px #00000024}.choice-tiles label>input[type=radio]{opacity:0;width:1px;height:1px;margin:0;position:absolute}.choice-tiles label:has(>input:focus-visible){outline:3px solid var(--brand-accent);outline-offset:-3px}.choice-tiles svg{width:1.4em;height:1.4em}.choice-tiles .sample{font-family:var(--font-display);font-weight:800;line-height:1}.choice-tiles .sample[data-size=large]{font-size:1.25em}.choice-tiles .sample[data-size=larger]{font-size:1.5em}.sign-in-card{gap:0;padding-block:.7rem .3rem}.sign-in-card h2{padding-bottom:.4rem}.sign-in-row{border-top:1px solid var(--line);flex-direction:column;gap:.7rem;padding:.6rem 0;display:flex}.sign-in-line{justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.sign-in-line>span{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.sign-in-line .button{flex:none}.calendar-feed .button.quiet{align-self:flex-start}@container (width>=52em){.details-page{grid-template-columns:minmax(0,1fr) minmax(18rem,22rem);align-items:start;gap:1rem 2rem;display:grid}.details-head,.details-page>.status-card{grid-column:1/-1}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.entry-page{flex-direction:column;gap:1rem;max-width:30rem;margin-inline:auto;display:flex}.entry-page>p,.entry-head p{margin:0}.entry-head{flex-direction:column;gap:.3rem;padding-top:.5rem;display:flex}.entry-head h1{margin:0}.entry-head .chip{margin-top:.15rem}.entry-page>.button{width:100%}.entry-card{flex-direction:column;gap:.9rem;padding:1.2rem;display:flex}.entry-card>p{margin:0}.entry-card form{flex-direction:column;gap:.9rem;margin:0;display:flex}.entry-card form>.button,.entry-card form button[type=submit]{width:100%}.entry-swap{text-align:center}.entry-swap a{color:var(--ink);font-weight:600}.accept-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.accept-list a{min-height:var(--tap);border-bottom:1px solid var(--line);color:var(--ink);justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.5rem 0;font-weight:600;text-decoration:none;display:flex}.accept-list a:hover{text-decoration:underline}.document-page{max-width:42rem}.document-body{padding:1.2rem}.document-body>:first-child{margin-top:0}.document-body>:last-child{margin-bottom:0}.document-body :is(code,a){overflow-wrap:anywhere}.error-page .entry-head{padding-top:2rem}.error-page .num{font-weight:700}.muted{color:var(--ink-muted);font-size:.9em}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nowrap{white-space:nowrap}.password-field{position:relative}.password-field input{padding-right:var(--control-h)}.password-reveal{width:var(--control-h);height:var(--control-h);color:var(--ink-faint);border-radius:var(--radius);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:0;right:0}.password-reveal:hover,.password-reveal:focus-visible{color:var(--ink);background:0 0}.password-field input::-ms-reveal{display:none}.field-joined{display:flex}.field-joined input{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.field-joined button{width:var(--control-h);border-top-left-radius:0;border-bottom-left-radius:0;flex:none;padding:0}.field-joined button.copied{color:var(--success)}.site-message{color:var(--ink-muted);margin-bottom:1.25rem}.card.site-message{color:var(--ink);background:var(--brand-tint);margin-bottom:0;padding:1rem 1.1rem}.site-message :is(code,a){overflow-wrap:anywhere}.site-message>:first-child{margin-top:0}.site-message>:last-child{margin-bottom:0}.site-message h1,.site-message h2,.site-message h3{margin-block:.5rem .25rem;font-size:1.05rem}table{border-collapse:collapse;width:100%;margin-block:1rem}caption{text-align:left;color:var(--ink-muted);margin-bottom:.5rem}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.6rem .75rem}th{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);font-size:.85rem}tbody tr:hover{background:var(--surface-2)}.timetable-table{table-layout:fixed}.timetable-table td{overflow-wrap:break-word}.rows-clickable tbody tr{cursor:pointer}.list-head{align-items:center;gap:.5rem;margin-block:1.5rem .5rem;display:flex}.list-head>:first-child{margin-block:0}.list-head>.list-select{min-width:var(--tap);min-height:var(--tap);justify-content:flex-end;align-items:center;margin-left:auto;display:none}.stacks{container:stacked-list/inline-size}@container stacked-list (width<=36em){.stacked,.stacked thead,.stacked tbody,.stacked tr,.stacked th,.stacked td{display:block}.stacked thead th{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stacked tbody tr{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:.75rem;padding-block:.6rem;display:grid}.stacked tbody tr:last-child{border-bottom:0}.stacked td{overflow-wrap:anywhere;border-bottom:0;padding:.1rem 0}.stacked:has(.select-cell) tbody tr{grid-template-columns:var(--control-h) minmax(0, 1fr) auto}.stacked .select-cell{grid-area:select;align-self:stretch;padding:0}.stacked thead .select-cell label:has(>input[type=checkbox]){display:none}.list-head>.list-select{display:flex}.timetable-table tbody tr{grid-template-areas:"select time count""select class class""select coach coach"}.timetable-table tbody td:nth-child(2){grid-area:time;font-weight:600}.timetable-table tbody td:nth-child(3){grid-area:class}.timetable-table tbody td:nth-child(4){color:var(--ink-muted);grid-area:coach}.timetable-table tbody td:nth-child(4):before{content:"Coach: "}.timetable-table tbody td:nth-child(5){grid-area:count;justify-self:end}.slots-table tbody tr{grid-template-areas:"time holds""class class""coach coach"}.slots-table tbody td:first-child{grid-area:time;font-weight:600}.slots-table tbody td:first-child div{color:var(--ink-muted);font-weight:400}.slots-table tbody td:nth-child(2){grid-area:class}.slots-table tbody td:nth-child(3){color:var(--ink-muted);grid-area:coach}.slots-table tbody td:nth-child(3):before{content:"Coach: "}.slots-table tbody td:nth-child(4){color:var(--ink-muted);grid-area:holds;justify-self:end}.slots-table tbody td:nth-child(4):before{content:"Holds: "}.workouts-table tbody tr{grid-template-areas:"select title shared""select date date"}.workouts-table tbody td:nth-child(2){grid-area:title}.workouts-table tbody td:nth-child(3){color:var(--ink-muted);grid-area:date}.workouts-table tbody td:nth-child(4){grid-area:shared;justify-self:end}}.rows-clickable tbody a{color:inherit;text-decoration:none}.rows-clickable tbody .mail-link{color:var(--brand-accent);text-underline-offset:.2em;text-decoration:underline}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:1rem}.fields{flex-direction:column;gap:1.25rem;display:flex}.fields>hr{margin-block:0}.fields .field-row>div{flex:10rem}.stack{flex-direction:column;gap:1.25rem;margin-block:1rem;display:flex}.stack>*{min-width:0}.panel>:first-child{margin-block-start:0}.panel>:last-child,.panel>.scroll-x:last-child table{margin-block-end:0}.panel tbody tr:last-child td{border-bottom:0}.section-info{font-size:.9rem}.section-info>summary{min-height:var(--tap);cursor:pointer;color:var(--ink-muted);align-items:center;gap:.4rem;list-style:none;display:inline-flex}.section-info>summary::-webkit-details-marker{display:none}.icon-info{flex:none;width:1.15em;height:1.15em;display:block}.section-info-body{max-width:var(--measure);border-inline-start:2px solid var(--line);color:var(--ink-muted);margin-block-end:.8rem;padding-inline-start:.8rem}.section-info-body>p{margin-block:.4rem}.activity{margin:0;padding:0;list-style:none}.activity>li{border-bottom:1px solid var(--line);gap:.8rem;padding-block:.35rem;display:flex}.activity>li:last-child{border-bottom:0}.activity-day,.activity-ref{color:var(--ink-muted);font-variant-numeric:tabular-nums}.activity-day{text-align:end;flex:none;min-width:6ch}.activity-ref{font-size:.85rem}.peek{align-items:center;gap:.3rem;display:inline-flex;position:relative}.peek-open{width:2em;height:2em;min-height:0;color:var(--ink-muted);background:0 0;border:0;place-items:center;padding:0;line-height:1;display:inline-grid}.peek-open:hover,.peek-open:focus-visible{color:var(--ink);background:0 0}@media (pointer:coarse){.peek-open{width:var(--tap);height:var(--tap)}}.peek-card{z-index:5;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);white-space:normal;flex-direction:column;gap:.2rem;width:max-content;max-width:min(24rem,80vw);padding:.6rem .7rem;font-size:.9rem;display:flex;position:fixed;box-shadow:0 6px 18px #0000002e}.bulk-actions>*+*{border-top:1px solid var(--line);margin-top:.75rem;padding-top:.75rem}.bulk-rebuild p{color:var(--ink-muted);margin-block:.5rem 0}.week-and-actions,.week-days{flex-direction:column;gap:1.25rem;display:flex}@container (width>=64em){.week-and-actions{grid-template-columns:42rem 20rem;align-items:start;gap:1.5rem;width:63.5rem;display:grid}.week-and-actions>.bulk-actions{top:calc(var(--pinned-h) + 1rem);position:sticky}.week-and-actions>.bulk-actions .field-row{gap:.5rem .75rem}}.schedule-grid{--px-per-minute:.75;--hour:calc(60 * var(--px-per-minute) * 1px);--half:calc(var(--hour) / 2);border:1px solid var(--line);background:var(--surface);border-radius:18px;grid-template-columns:auto minmax(0,1fr);display:grid;overflow:visible;box-shadow:0 1px 2px #0000000d,0 6px 20px #0000000f}.schedule-days{position:relative}.schedule-times{border-right:1px solid var(--line);width:3.5rem}.schedule-dayhead{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);border-bottom:1px solid var(--line);margin:0;padding:.35rem .5rem;font-size:.8rem;font-weight:700;line-height:1.4}.schedule-dayhead:empty:after{content:" "}.schedule-clock,.schedule-column{height:calc(var(--span) * var(--px-per-minute) * 1px);position:relative}.schedule-clock i{top:calc(var(--at) * var(--px-per-minute) * 1px);color:var(--ink-muted);font-size:.72rem;font-style:normal;position:absolute;right:.5rem;transform:translateY(-50%)}.schedule-days{grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;display:grid}.schedule-day{border-left:1px solid var(--line);min-width:0}.schedule-day:first-child{border-left:0}.schedule-column{background-image:repeating-linear-gradient(to bottom, var(--line) 0 1px, transparent 1px var(--hour)), repeating-linear-gradient(to bottom, transparent 0 var(--half), var(--surface-2) var(--half) calc(var(--half) + 1px), transparent calc(var(--half) + 1px) var(--hour))}.schedule-now{left:0;right:0;top:calc(var(--start) * var(--px-per-minute) * 1px);border-top:2px solid var(--danger);z-index:3;pointer-events:none;height:0;position:absolute}.schedule-now:before{content:"";background:var(--danger);border-radius:50%;width:8px;height:8px;position:absolute;top:-5px;left:-4px}.schedule-block{top:calc(var(--start) * var(--px-per-minute) * 1px);height:calc(var(--length) * var(--px-per-minute) * 1px - 3px);left:calc(var(--left) * 100%);width:calc(var(--width) * 100%);border:1px solid var(--line);border-left:4px solid var(--tone);background:var(--surface);border-radius:10px;padding:0 .4rem 0 .5rem;position:absolute;overflow:hidden}.schedule-block-body{width:100%;height:100%;font:inherit;text-align:left;color:inherit;cursor:grab;touch-action:none;background:0 0;border:0;border-radius:0;min-height:0;padding:0;display:block}.schedule-grid[data-editable] .schedule-block-body:hover{background:var(--surface-2)}.schedule-block-grip{cursor:ns-resize;touch-action:none;height:8px;position:absolute;bottom:0;left:0;right:0}.schedule-block[data-selected=true] .schedule-block-grip{background:repeating-linear-gradient(90deg, var(--brand-accent) 0 3px, transparent 3px 6px)}.schedule-block[data-over=true]{z-index:1;box-shadow:0 1px 4px #0000002e}.schedule-block[data-selected=true]{z-index:2;border-color:var(--brand-accent);box-shadow:0 0 0 2px var(--brand-accent)}.schedule-carry{top:var(--y);left:var(--x);z-index:40;pointer-events:none;border:1px solid var(--line-strong);border-left:4px solid var(--brand-accent);border-radius:var(--radius);background:var(--surface);padding:.3rem .6rem;position:fixed;transform:translate(.75rem,.75rem);box-shadow:0 8px 20px #0000002e}.schedule-carry b{font-size:.85rem;display:block}.schedule-carry span{color:var(--ink-muted);font-size:.75rem}.schedule-carry[data-over=nowhere]{border-left-color:var(--danger);border-style:dashed}.schedule-carry[data-over=nowhere] span{color:var(--danger)}[data-carrying=nowhere]{cursor:not-allowed}[data-carrying=week]{cursor:grabbing}.schedule-preview{background:var(--surface-2);opacity:.85;pointer-events:none;border-style:dashed}.schedule-block[data-locked=true]{background:var(--surface-2);border-style:dashed}.schedule-block[data-runs-on=true]{border-bottom-style:dashed;border-bottom-right-radius:0;border-bottom-left-radius:0}.schedule-block[data-continued=true]{pointer-events:none;border-top-style:dashed;border-top-left-radius:0;border-top-right-radius:0}.schedule-block[data-locked=true] .schedule-block-body{cursor:default}.schedule-block b{white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:600;line-height:1.3;display:block;overflow:hidden}.schedule-block span{color:var(--ink-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;line-height:1.3;display:block;overflow:hidden}.schedule-block[data-text] .schedule-block-body,.schedule-block[data-continued=true][data-text]{flex-direction:column;justify-content:flex-start;align-items:stretch;display:flex}.schedule-block[data-text=bottom] .schedule-block-body,.schedule-block[data-continued=true][data-text=bottom]{justify-content:flex-end;padding-bottom:8px}.schedule-foot{border-top:1px solid var(--line);color:var(--ink-muted);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.5rem 1.5rem;padding:.6rem 1rem;font-size:.85rem;display:flex}.schedule-layout{flex-direction:column;gap:1rem;display:flex}.schedule-palette h2,.schedule-inspector h2{margin:0 0 .25rem;font-size:1rem}.schedule-palette{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.75rem 1rem;display:flex}.schedule-palette h2{margin:0}.schedule-palette .help{flex:14rem;margin:0}.schedule-chips{flex-wrap:wrap;flex:1 0 100%;gap:.5rem;display:flex}.schedule-chip{text-align:left;min-height:var(--control-h);font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-left:4px solid var(--tone);border-radius:var(--radius);cursor:grab;flex:none;padding:.35rem .7rem}.schedule-chip:hover{background:var(--surface-2)}.schedule-chip b{font-size:.9rem;line-height:1.3;display:block}.schedule-chip span{color:var(--ink-muted);font-size:.75rem;line-height:1.3;display:block}.schedule-inspector>div{margin-bottom:.45rem}.schedule-inspector label{margin-bottom:.1rem;font-size:.78rem}.schedule-inspector .field-row{gap:0 .5rem}.schedule-inspector input,.schedule-inspector select{min-height:2.25rem;padding:.25rem .5rem}.schedule-actions{gap:0 .4rem;margin-top:.15rem}.schedule-actions .button{white-space:nowrap;flex:auto;min-height:2.25rem;padding:.25rem .5rem}.schedule-remove{color:var(--danger);border-color:var(--danger)}.schedule-keys{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1rem}.schedule-keys h2{margin:0 0 .5rem;font-size:1rem}.schedule-keys dl{grid-template-columns:minmax(7rem,max-content) 1fr;gap:.3rem 1rem;margin:0;font-size:.9rem}.schedule-keys dt{white-space:nowrap}.schedule-keys dd{color:var(--ink-muted);margin:0}.schedule-keys kbd{background:var(--surface-2);border:1px solid var(--line);border-radius:3px;padding:0 .25rem;font-family:ui-monospace,monospace;font-size:.75rem}.schedule-rebuild{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:.75rem;padding:.7rem 1rem;font-size:.9rem;line-height:1.45;display:flex}.schedule-rebuild>div{flex:26rem}.schedule-rebuild button{flex:none}.schedule-replace{align-items:flex-start;gap:.5rem;max-width:26rem;margin:0;font-weight:400;display:flex}.schedule-replace small{color:var(--ink-muted);font-size:.8rem;display:block}.schedule-bubble{z-index:25;width:17.5rem;position:absolute}.schedule-bubble[data-side=right]{left:calc((var(--left) + var(--width)) * 100%);margin-left:.7rem}.schedule-bubble[data-side=left]{right:calc((1 - var(--left)) * 100%);margin-right:.7rem}.schedule-bubble[data-anchor=top]{top:calc(var(--start) * var(--px-per-minute) * 1px);margin-top:-.5rem}.schedule-bubble[data-anchor=bottom]{bottom:calc(var(--end) * var(--px-per-minute) * 1px);margin-bottom:-.5rem}.schedule-bubble .panel,.schedule-bubble .card{border-color:var(--line-strong);padding:.6rem;position:relative;box-shadow:0 12px 30px #0000002e}.schedule-bubble .card.schedule-inspector{flex-direction:column;gap:.5rem;padding:1rem 1.1rem;display:flex}.schedule-inspector .chip{align-self:flex-start}.schedule-inspector p{margin:0}.schedule-inspector-name{font-family:var(--font-display);color:var(--ink);font-size:1.35rem;font-weight:750;font-stretch:110%;line-height:1.2}.schedule-inspector-when{font-weight:700}.schedule-inspector .occupancy-line{flex:none}.schedule-inspector .schedule-actions .button{width:auto}.schedule-inspector .button,.schedule-inspector form{width:100%;margin:0}.schedule-inspector form{flex-direction:column;gap:.4rem;display:flex}.schedule-inspector-top{align-items:center;gap:.35rem;display:flex}.card.schedule-inspector .schedule-inspector-top{align-items:flex-start}.schedule-inspector-top>div{flex-direction:column;gap:.1rem;min-width:0;display:flex}.schedule-inspector-top select{flex:1;min-width:0}.schedule-inspector-top .schedule-close{margin-inline-start:auto}.schedule-bubble:before{content:"";background:var(--surface);border:1px solid var(--line-strong);width:12px;height:12px;position:absolute;transform:rotate(45deg)}.schedule-bubble[data-side=right]:before{border-width:0 0 1px 1px;left:-7px}.schedule-bubble[data-side=left]:before{border-width:1px 1px 0 0;right:-7px}.schedule-bubble[data-anchor=top]:before{top:1.4rem}.schedule-bubble[data-anchor=bottom]:before{bottom:1.4rem}.schedule-close{font:inherit;min-width:2rem;min-height:2rem;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;padding:0;font-size:1.15rem;line-height:1;display:grid}.schedule-close svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;width:1em;height:1em}.schedule-close:hover,.schedule-close:focus-visible{color:var(--ink);background:var(--surface-2)}.schedule-empty{text-align:center;color:var(--ink-muted);grid-column:1/-1;margin-inline:auto;padding:1rem}.schedule-toonarrow{display:none}.schedule-toonarrow.card{border-left-width:1px;flex-direction:column;align-items:flex-start;gap:.6rem;margin-block:0;padding:1.1rem 1.2rem}.schedule-toonarrow p{margin:0}@media (width<=52rem){.schedule-grid,.schedule-wide{display:none}.schedule-toonarrow{display:block}.schedule-toonarrow.card{display:flex}.nav-wide{display:none}.only-narrow{display:inline-flex}}.schedule-block[data-mark=waiting]{background:var(--booked);border-style:dashed dashed dashed solid}.schedule-block[data-mark=coaching]{background:var(--coaching);border-left-style:solid}.schedule-block[data-mark=cancelled]{opacity:.55}.schedule-block[data-mark=cancelled] b{text-decoration:line-through}.schedule-block{container-type:inline-size}@container (width<=6em){.schedule-block span{display:none}.schedule-block b{-webkit-line-clamp:2;line-clamp:2;white-space:normal;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;-webkit-box-orient:vertical;display:-webkit-box}}:root[data-text-size=large] .schedule-grid{--px-per-minute:.9375}:root[data-text-size=larger] .schedule-grid{--px-per-minute:1.125}.schedule-key{color:var(--ink-muted);flex-wrap:wrap;justify-content:flex-end;gap:.35rem 1.1rem;margin:0 0 0 auto;padding:0;font-size:.85rem;list-style:none;display:flex}.schedule-key li{align-items:center;gap:.4rem;display:flex}.schedule-swatch{border:1px solid var(--line);border-left:4px solid var(--line-strong);background:var(--surface);border-radius:3px;width:1.6rem;height:.9rem}.schedule-swatch[data-mark=booked],.schedule-block[data-mark=booked]{background:var(--booked)}.schedule-swatch[data-mark=waiting]{background:var(--booked);border-style:dashed dashed dashed solid}.schedule-swatch[data-mark=coaching]{background:var(--coaching)}.schedule-swatch[data-mark=cancelled]{opacity:.55}.schedule-wide .schedule-block-body{cursor:pointer}.schedule-block-body:hover,.schedule-block-body:focus,.schedule-block-body:focus-visible{background:0 0}.schedule-block:has(>.schedule-block-body:hover){border-color:var(--line-strong)}.panel>form,.stack>form,.stack>[role=status],.stack>[role=alert]{margin-block:0}.stack>.lede>:first-child{margin-block-start:0}.stack>.lede>:last-child{margin-block-end:0}.panel fieldset{border:0;border-radius:0;padding:0}.panel fieldset legend{padding-inline:0}.segmented{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;align-self:flex-start;max-width:100%;display:inline-flex;overflow:hidden}.segmented label:has(>input[type=radio]){min-height:var(--control-h);color:var(--ink);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:.45rem;margin:0;padding-inline:1rem;font-weight:500;display:inline-flex}.segmented label+label{border-left:1px solid var(--line)}.segmented label:has(>input[type=radio]):hover{background:var(--surface-2)}.segmented label:has(>input:checked){background:var(--brand);color:var(--brand-ink);font-weight:600}.segmented label:has(>input:checked):hover{background:var(--brand-hover)}.segmented label>input[type=radio]{opacity:0;width:1px;height:1px;margin:0;position:absolute}.segmented label:has(>input:focus-visible){outline:3px solid var(--brand-accent);outline-offset:-3px}.help{color:var(--ink-muted);margin-block:.4rem 0;font-size:.9rem}.segmented label:has(>input[type=radio]){flex:auto}.panel>hr{border-top-color:var(--line);margin-block:1rem;margin-inline:-1rem}.count{color:var(--ink-muted);background:var(--surface-2);border:1px solid var(--line);vertical-align:.1em;white-space:nowrap;border-radius:999px;margin-inline-start:.35rem;padding:0 .55rem;font-size:.8rem;font-weight:600;display:inline-block}td>.count{margin-inline-start:0}.count[data-over=true]{color:var(--danger);background:var(--danger-bg);border-color:var(--danger)}.searchfield{flex:22rem;min-width:0;position:relative}.searchfield input{padding-inline-end:2.4rem}.searchfield input::-webkit-search-cancel-button{appearance:none}.searchfield-clear{width:30px;height:30px;min-height:0;color:var(--ink-faint);background:0 0;border:1px solid #0000;padding:0;font-size:.85rem;line-height:1;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.searchfield-clear:hover,.searchfield-clear:focus-visible{color:var(--ink);background:var(--surface-2)}.hint{color:var(--ink-muted);margin-block:.35rem .75rem;font-size:.85rem}.snippet{color:var(--ink-muted);font-size:.85rem;display:block}mark{color:inherit;background:var(--highlight);border-radius:2px;padding-inline:1px}.tag{color:var(--ink-muted);background:var(--surface-2);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:0 .5rem;font-size:.75rem;font-weight:600;display:inline-block}.titlebar{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;display:flex}.notice-danger{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger);border-radius:var(--radius);padding:.75rem}dd>code,.panel>p>code{overflow-wrap:anywhere}.movements{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));align-items:start;gap:.75rem;margin-block:1rem;padding:0;list-style:none;display:grid}.movements li:has(details[open]){grid-column:1/-1}.movements>li{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);min-width:0}.movements summary{min-height:var(--tap);cursor:pointer;align-items:center;gap:.75rem;padding:.5rem;list-style:none;display:flex}.movements summary::-webkit-details-marker{display:none}.movements summary::marker{content:""}.movements summary:hover{background:var(--surface)}.movements summary:focus-visible{outline:2px solid var(--brand-accent);outline-offset:-2px}.movement-name{flex-direction:column;min-width:0;display:flex}.movement-name span{color:var(--ink-muted);font-size:.85rem}.movement-detail{border-top:1px solid var(--line);flex-wrap:wrap;gap:1rem;padding:.75rem;display:flex}.movement-detail ol,.movement-detail p{flex:18rem;min-width:0;margin-block:0}.movement-detail ol{padding-inline-start:1.2rem}.movement-detail li{margin-block:.35rem}.movement-detail img{border-radius:calc(var(--radius) / 2);background:var(--surface);flex:none;align-self:flex-start;width:180px;max-width:100%;height:auto;max-height:180px}.movements summary img{object-fit:cover;border-radius:calc(var(--radius) / 2);background:var(--surface);flex:none;width:4rem;max-width:180px;height:4rem;max-height:180px}.movements>li{position:relative}.movement-remove{z-index:1;margin:0;position:absolute;top:4px;right:4px}.movement-remove button{width:32px;height:32px;min-height:0;color:var(--ink-faint);background:0 0;border:1px solid #0000;padding:0;font-size:.9rem;line-height:1}.movement-remove button:hover,.movement-remove button:focus-visible{color:var(--danger);background:var(--danger-bg);border-color:var(--danger)}.movements summary{padding-right:2.5rem}.sub{color:var(--ink-muted);font-size:.85rem}.pickone{flex-direction:column;gap:.35rem;min-width:0;display:flex}.picker-row>.pickone,.field-row>.pickone{flex:20rem}.pickone>label:not(.visually-hidden){margin-bottom:-.1rem}.picker{border-top:1px solid var(--line);flex-direction:column;gap:.35rem;margin-block-start:1rem;padding-block-start:1rem;display:flex}.picker-row{align-items:flex-start;gap:.5rem;display:flex}.picker-field{flex:auto;min-width:0;position:relative}.picker-field input{padding-inline-end:2.4rem}.picked{min-height:var(--control-h);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);align-items:center;gap:.45rem;margin:0;padding:.5rem 2.4rem .5rem .75rem;display:flex}.picked .tick{color:var(--success);font-weight:700}.picker-clear{width:30px;height:30px;min-height:0;color:var(--ink-faint);background:0 0;border:1px solid #0000;padding:0;font-size:.85rem;line-height:1;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.picker-recent{width:var(--control-h);height:var(--control-h);font:inherit;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;font-size:.8rem;display:inline-flex;position:absolute;top:0;right:0}.picker-recent:hover,.picker-recent:focus-visible{color:var(--ink);background:0 0}.picker-recent[aria-expanded=true]{color:var(--brand-accent)}.picker-field:has(.picker-recent) .picker-clear{right:var(--control-h)}.picker-clear:hover,.picker-clear:focus-visible{color:var(--ink);background:0 0}.picker-menu{inset-inline:0;z-index:10;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);max-height:15rem;position:absolute;top:calc(100% + 4px);overflow-y:auto;box-shadow:0 8px 24px #0000001f}.picker-count{color:var(--ink-muted);background:var(--surface-2);border-bottom:1px solid var(--line);margin:0;padding:.35rem .75rem;font-size:.8rem;position:sticky;top:0}.picker-menu ul{margin:0;padding:0;list-style:none}.picker-menu button{width:100%;min-height:var(--tap);text-align:start;color:var(--ink);border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;flex-direction:column;align-items:flex-start;gap:0;padding:.4rem .75rem;font-weight:400;display:flex}.picker-menu button:hover,.picker-menu button:focus-visible{background:var(--surface-2)}.picker-menu button span{color:var(--ink-muted);font-size:.85rem}.picker-hint{color:var(--ink-muted);margin:0;font-size:.85rem}.attribution{color:var(--ink-muted);font-size:.8rem}.module-switch+.module-switch{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.savebar{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:.5rem .9rem;padding:.75rem 1rem;display:flex}.savebar span{color:var(--ink-muted);font-size:.9rem}.actions{flex-wrap:wrap;align-items:stretch;gap:.5rem 1rem;display:flex;container-type:inline-size}@container (width<=30em){.actions>.button{flex:10rem}}.narrow{max-width:16rem}.select-cell{padding:0}.select-cell label:has(>input[type=checkbox]){width:100%;min-height:var(--control-h);cursor:pointer;justify-content:center;align-items:center;gap:0;height:100%;margin:0;display:flex}.select-cell label:hover{background:var(--surface-2)}.select-cell input[type=checkbox],.list-select input[type=checkbox]{width:1.5rem;height:1.5rem}.weekrow th{background:var(--surface-2);color:var(--ink);text-transform:none;letter-spacing:0;border-top:1px solid var(--line);font-size:.9rem;font-weight:600}.pager{flex-wrap:wrap;align-items:center;gap:.5rem;margin-block:1rem;display:flex}.pager a,.pager>.off{min-height:var(--control-h);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--ink);white-space:nowrap;justify-content:center;align-items:center;padding-inline:.9rem;text-decoration:none;display:inline-flex}.pager a:hover{background:var(--surface-2)}.pager>.off{color:var(--ink-muted);border-color:var(--line);background:var(--surface-2)}.pager-where{color:var(--ink-muted);font-size:.9rem}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-block:1rem;display:flex}.toolbar>label{margin:0}td form{flex-flow:row;align-items:center;gap:.4rem;margin:0;display:flex}td form select,td form input{width:auto;margin:0}td form button{white-space:nowrap;margin:0}tr[data-has-left=true]{color:var(--ink-faint)}.timetable-table tr[data-mine=booked]{background:var(--booked)}.timetable-table tr[data-mine=coaching]{background:var(--coaching)}.timetable-table tr[data-mine=booked]:hover{background:color-mix(in srgb, var(--booked), var(--ink) 6%)}.timetable-table tr[data-mine=coaching]:hover{background:color-mix(in srgb, var(--coaching), var(--ink) 6%)}.roster{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.roster-row{max-width:100%;min-height:var(--control-h);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;align-items:center;gap:.15rem;padding-inline:.75rem;display:flex;position:relative}:is(.roster-row:has(.roster-open:hover),.roster-row:has(.roster-open:focus-visible)){background:var(--brand-tint);box-shadow:inset 0 0 0 1px var(--line-strong)}.roster-row:has(.roster-remove){padding-inline-end:.15rem}.roster-name{overflow-wrap:anywhere;min-width:0}.roster-open:after{content:"";border-radius:inherit;position:absolute;inset:0}.roster-you{color:var(--ink-muted);white-space:nowrap;font-weight:600}.roster-remove{width:1.75rem;height:1.75rem;min-height:0;color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong);border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;margin-inline-start:.1rem;padding:0;display:inline-flex;position:relative}.roster-remove:before{content:"";inset-block:calc((var(--control-h) - 1.75rem) / -2);position:absolute;inset-inline:-.15rem}.roster-remove:hover,.roster-remove:focus-visible{color:var(--danger);background:var(--danger-bg);box-shadow:inset 0 0 0 1.5px var(--danger)}.row-action{min-width:6rem}.scroll-x{overflow-x:auto}.dock{top:var(--pinned-h);z-index:10;background:var(--page);margin-block:.5rem;padding-block:.5rem;position:sticky}.weekbar,.backbar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:.5rem;padding:.4rem .6rem;display:flex;box-shadow:0 6px 20px #00000014}.weekbar-arrow{width:var(--control-h);min-height:var(--control-h);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);flex:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.weekbar-arrow:not([aria-disabled=true]):hover{background:var(--surface-2)}.weekbar-arrow[aria-busy=true]{cursor:progress}.weekbar-arrow[aria-busy=true] svg{animation:.8s ease-in-out infinite alternate weekbar-busy}@keyframes weekbar-busy{0%{opacity:1}to{opacity:.3}}@media (prefers-reduced-motion:reduce){.weekbar-arrow[aria-busy=true] svg{opacity:.5;animation:none}}.weekbar-arrow[aria-disabled=true]{color:var(--ink-muted);border-color:var(--line);background:var(--surface-2)}.weekbar-label{letter-spacing:-.01em;flex:1;min-width:0;margin:0;font-size:1rem;font-weight:600;line-height:1.25}.weekbar-sub{color:var(--ink-muted);font-size:.8rem;font-weight:400;line-height:1.3;display:block}.weekbar-sub>:not(:first-child):before{content:" · "}@container (width>=52em){.weekbar-count{display:none}}.weekbar-back-short,.weekbar-count-short{display:none}.weekbar-sub:is([data-fit="1"],[data-fit="2"],[data-fit="3"]) .weekbar-where,.weekbar-sub:is([data-fit="2"],[data-fit="3"]) .weekbar-back-long,.weekbar-sub[data-fit="3"] .weekbar-count-long{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.weekbar-sub:is([data-fit="1"],[data-fit="2"],[data-fit="3"]) .weekbar-where+:before{content:" "}.weekbar-sub:is([data-fit="2"],[data-fit="3"]) .weekbar-back-short,.weekbar-sub[data-fit="3"] .weekbar-count-short{display:inline}.weekbar-today{min-height:var(--control-h);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius);white-space:nowrap;flex:none;align-items:center;padding-inline:.75rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.weekbar-today:hover{background:var(--surface-2)}.weekbar-only-mine{min-height:var(--control-h);white-space:nowrap;flex:none;align-items:center;gap:.5rem;margin:0;padding-inline:.6rem;font-weight:600;display:flex}.weekbar-only-mine input{width:1.2em;height:1.2em;accent-color:var(--brand-accent);margin:0}.only-narrow{display:none}@media (width<=52rem){.weekbar-swap{display:none}}.weekbar[data-with-days]{flex-wrap:wrap}.weekbar-days{border-top:1px solid var(--line);flex-basis:100%;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;padding-top:.3rem;display:grid}.weekbar-days>a,.weekbar-days>span{min-height:var(--tap);color:var(--ink);border-radius:12px;flex-direction:column;align-items:center;gap:.08rem;padding:.3rem 0 .25rem;text-decoration:none;display:flex}.weekbar-days a:hover{background:var(--surface-2)}.weekbar-days>*>span:first-child{font-size:.7rem;font-weight:700}.weekbar-days>*>strong{font-size:1rem;font-weight:800;line-height:1.1}.weekbar-days>:after{content:"";border-radius:50%;width:5px;height:5px}.weekbar-days a[data-today]:after{background:currentColor}.weekbar-days>[data-past],.weekbar-days a[data-empty]:not([aria-current]){color:var(--ink-muted)}.weekbar-days a[aria-current]{color:var(--page);background:var(--ink)}.weekbar-label a{color:var(--ink)}.weekbar-today[aria-hidden=true]{color:var(--ink-muted);border-color:var(--line);background:var(--surface-2)}.backbar{min-height:var(--control-h);color:var(--ink-muted);padding-inline:.9rem;position:relative}.backbar-who{min-width:0}.backbar a{color:var(--ink);font-size:.95rem;font-weight:600;text-decoration:none}.backbar a:after{content:"";border-radius:var(--radius);position:absolute;inset:0}.backbar:hover{background:var(--surface-2)}.backbar span{color:var(--ink-muted);font-size:.8rem;line-height:1.3;display:block}.backbar:has(a:focus-visible){outline:3px solid var(--brand-accent);outline-offset:2px}.backbar a:focus-visible{outline:none}@media (width<=30rem){.weekbar-today{display:none}}[role=alert],[role=status]{border:1px solid var(--line);border-left:4px solid var(--ink-faint);border-radius:var(--radius);background:var(--surface);margin-block:1rem;padding:.75rem 1rem}[data-placeholder=true]{border-left-color:var(--warning);background:var(--warning-bg)}dl{grid-template-columns:minmax(8rem,14rem) 1fr;gap:.25rem 1rem;margin-block:1rem;display:grid}dl>div{display:contents}dt{color:var(--ink-muted)}dd{margin:0}.nav-drawer{display:none}.nav-drawer>summary{padding-inline:.35rem}.nav-drawer>summary:after{content:none}.drawer-icon{border:1px solid var(--line-strong);border-radius:var(--radius);place-items:center;width:2rem;height:2rem;transition:height .2s ease-out;display:inline-grid}header[data-flat=true] .drawer-icon{height:var(--pill-h)}.drawer-icon svg{width:1.25rem;height:1.25rem}.nav-drawer[open]>summary .drawer-icon{color:var(--brand-accent);border-color:var(--brand-accent)}.drawer-group{flex-direction:column;display:flex}.drawer-group>h2{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);padding:.9rem 1rem .1rem;font-size:.75rem;font-weight:700}.drawer-group>a{min-height:var(--control-h);border-bottom:1px solid var(--surface-2);padding-inline:1rem}.drawer-group>a[aria-current=page]{background:var(--surface-2);border-bottom-color:var(--surface-2);box-shadow:inset 3px 0 0 var(--brand-accent)}.tab-bar{z-index:35;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);grid-template-columns:repeat(4,minmax(0,1fr));display:none;position:fixed;inset:auto 0 0}.tab-bar a{text-align:center;min-width:0;color:var(--ink-muted);-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:8 4 4;-webkit-hyphenate-limit-before:4;-webkit-hyphenate-limit-after:4;overflow-wrap:anywhere;flex-direction:column-reverse;justify-content:flex-start;align-items:center;gap:.15rem;padding:.35rem .15rem;font-size:.75rem;font-weight:600;line-height:1.15;text-decoration:none;display:flex}.tab-icon{border-radius:999px;place-items:center;width:3.5rem;max-width:100%;height:1.9rem;display:grid}.tab-icon svg{width:1.375rem;height:1.375rem}.tab-bar a[aria-current=page]{color:var(--ink);font-weight:700}.tab-bar a[aria-current=page] .tab-icon{background:var(--brand-tint);color:var(--brand-accent)}.tab-bar a[aria-current=page] .tab-icon svg{stroke-width:2.4px}@media (width<=40rem){header>.bar{flex-wrap:nowrap;justify-content:space-between;gap:.5rem}header nav a.sign-up,.nav-primary,.nav-section{display:none}.nav-drawer{display:block}.nav-drawer,.account-menu{position:static}.nav-drawer>div,.account-menu>div{max-height:calc(100dvh - var(--bar-h));background:var(--surface);border:0;border-bottom:1px solid var(--line);border-radius:0;width:auto;padding:0 0 .5rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 10px 24px #0000001f}:is(body:has(.tab-bar) .nav-drawer>div,body:has(.tab-bar) .account-menu>div){max-height:calc(100dvh - var(--bar-h) - var(--tab-h))}.account-who{padding-inline:1rem}.account-menu>div a,.account-menu>div button{min-height:var(--control-h);border-bottom:1px solid var(--surface-2);border-radius:0;padding-inline:1rem}.tab-bar{display:grid}body:has(.tab-bar){padding-bottom:var(--tab-h)}body:has(.tab-bar) footer{padding-bottom:0}}main{container-type:inline-size}@container (width<=40em){dl{grid-template-columns:1fr;gap:0}dt{margin-top:.75rem;font-size:.85rem}}@media (prefers-contrast:more){:root:root:root:root{--line:var(--ink-muted);--line-strong:var(--ink);--ink-muted:var(--ink)}header.staff{background-image:none}}[data-sonner-toast] [data-close-button]{min-height:0;padding:0}[data-sonner-toast]{border-radius:14px;font-size:.9rem}[data-sonner-toast] [data-description]{font-size:.85rem}.cookie-notice{left:calc(.75rem + env(safe-area-inset-left,0px));bottom:calc(.75rem + env(safe-area-inset-bottom,0px));z-index:34;max-width:min(34rem, calc(100vw - 1.5rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));background:var(--surface);border:1px solid var(--line);border-radius:16px;align-items:center;gap:.75rem;padding:.9rem 1rem;display:flex;position:fixed;box-shadow:0 12px 32px #00000029}.cookie-notice p{color:var(--ink-muted);margin:0;font-size:.9rem}.cookie-notice a{color:var(--ink)}.cookie-notice .button{flex:none}@media (width<=40rem){.cookie-notice{right:calc(.75rem + env(safe-area-inset-right,0px));flex-direction:column;align-items:stretch;gap:.5rem}body:has(.tab-bar) .cookie-notice{bottom:calc(var(--tab-h) + .5rem)}}.signin-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.signin-row label{margin:0}.demo-banner{background:var(--warning-bg);color:var(--ink);border-bottom:1px solid var(--warning);text-align:center;padding:.5rem 1rem;font-size:.9rem;line-height:1.4}@media (width<=40rem){.demo-banner span{display:block}}.own-workout,.own-workout-form{flex-direction:column;gap:.6rem;display:flex}.own-workout>h3,.own-workout>p{margin:0}.own-workout{overflow-wrap:break-word}.own-workout :is(a,code){overflow-wrap:anywhere}.own-workout pre{white-space:pre-wrap}.own-workout img{max-width:100%;height:auto}.own-workout-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.own-workout-actions>form{margin:0}.reveal{grid-template-rows:0fr;transition:grid-template-rows .25s;display:grid}.reveal>div{visibility:hidden;min-height:0;transition:visibility 0s .25s;overflow:hidden}.reveal[data-open=true]{grid-template-rows:1fr}.reveal[data-open=true]>div{visibility:visible;transition-delay:0s}.step-editor td{border-top:0;padding-block:0;padding-inline:.375rem}.step-form{flex-direction:column;align-items:stretch;gap:.35rem;display:flex}.step-form input,.step-form select,.step-form textarea{width:100%}.step-movements form.picker{align-items:stretch}.step-movements .picker-menu{margin-top:4px;position:static}.step-movements .picker-clear{top:calc(var(--control-h) / 2)}.step-movements .picker input[type=text]{width:100%}tr:has(+.step-editor[data-open=true]) td{border-bottom:0}.step-editor .reveal>div>*{border-left:3px solid var(--brand-accent);margin-inline-start:.5rem;padding:.75rem 1rem 1rem}.step-editor:not([data-open=true]) td{border-bottom:0}.class-plans{flex-direction:column;gap:.9rem;padding:1.1rem 1.2rem;display:flex}.class-plans>h2{margin:0}.class-plan{flex-direction:column;gap:.5rem;display:flex}.class-plan+.plan-picker{border-top:1px solid var(--line);padding-top:.9rem}.class-plan h3,.class-plan p{margin:0}.class-plan-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.class-plan-actions>form{margin:0}.step-tick{align-items:center;gap:.5rem;display:inline-flex}.step-tick .tick-box{width:1.5em;height:1.5em;cursor:inherit}.plan-picker{flex-direction:column;gap:.4rem;display:flex}.plan-picker-row{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.plan-picker-row>div{flex:10rem;min-width:0}.plan-picker select{width:100%;min-width:0}.plan-picker p{margin:0}.planned-for{grid-column:1/-1;margin:.2rem 0 0}.with-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.2em;height:1.2em}.with-icon{align-items:center;gap:.4em;display:flex}.my-programs-page,.programs-page{flex-direction:column;gap:1rem;max-width:48rem;display:flex}.my-programs-page p,.programs-page p,.program-progress p,.programs-page h1{margin:0}.my-programs-page .empty{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.4rem 1.25rem;display:flex}.run-list{flex-direction:column;gap:.75rem;display:flex}.run-list>h2{margin:.4rem 0 0}.run-card,.offer-card{cursor:pointer;flex-direction:column;gap:.6rem;padding:1rem 1.1rem;display:flex}.run-card-meta{flex-wrap:wrap;justify-content:space-between;gap:.5rem;display:flex}.offer-summary{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.past-runs{margin:0;padding:0 1.1rem;list-style:none}.past-runs li{cursor:pointer;align-items:center;gap:.8rem;padding:.8rem 0;display:flex}.past-runs li+li{border-top:1px solid var(--line)}.past-runs li>div{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.program-page{flex-direction:column;gap:1rem;display:flex}.program-head{flex-direction:column;gap:.6rem;display:flex}.program-head h1{margin:0}.program-side{display:contents}.program-status{order:1}.program-progress{order:2}.program-steps{order:3}.program-about{order:4}.program-leave{order:5}.program-price{align-items:baseline;gap:.5rem;display:flex}.program-price .num{font-size:1.6rem;font-weight:800}.program-progress{flex-direction:column;gap:.6rem;padding:1rem 1.1rem;display:flex}.program-progress>div{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.program-progress .num{font-size:1.8rem;font-weight:800}.program-about{flex-direction:column;gap:.5rem;padding:1rem 1.1rem;display:flex}.program-about h2{margin:0;font-size:1rem}.program-about dl{grid-template-columns:auto minmax(0,1fr);gap:.4rem 1rem;margin:0;font-size:.92rem}.program-about dt{margin:0}.program-leave{align-self:flex-start}.program-leave .button.quiet{color:var(--danger)}.program-steps{flex-direction:column;min-width:0;display:flex}.program-steps h2{margin:0 0 .3rem}.program-steps>ol{margin:0;padding:0;list-style:none}.program-steps>ol>li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:.75rem;padding:.55rem 0;display:grid}.program-steps>ol>li:last-child{border-bottom:0}.program-steps>ol>li[data-next=true]{border:1px solid var(--line);background:var(--brand-tint);border-radius:18px;margin-block:.5rem;padding:1rem 1.1rem}.program-steps summary,.step-row{min-height:var(--tap);align-items:center;gap:.8rem;display:flex}.program-steps summary{cursor:pointer;list-style:none}.program-steps summary::-webkit-details-marker{display:none}.step-n{min-width:1.3em;color:var(--ink-muted);font-weight:700}.step-title{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.step-title h3{margin:0;font-size:1rem;font-weight:600}li[data-next=true] .step-n{color:var(--ink);font-weight:800}li[data-next=true] .step-title h3{font-size:1.1rem;font-weight:700}li[data-done=true] .step-title h3{color:var(--ink-muted);font-weight:400}.step-body{flex-direction:column;gap:.6rem;padding:.4rem 0 .6rem;display:flex}.step-body li{margin-block:0}.step-body :is(h1,h2,h3){margin:.4rem 0 0;font-size:1.05rem}.step-own{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.step-edited{vertical-align:-.1em;color:var(--ink-muted);margin-inline-start:.4em;display:inline-flex}.step-edited svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:.9em;height:.9em}.step-own>form{margin:0}.step-own-form{flex-direction:column;gap:.6rem;display:flex}.step-original{border-left:3px solid var(--line);color:var(--ink-muted);padding:.6rem .8rem}.step-original h4{margin:.2rem 0;font-size:1rem}.tick-form{margin:0}.tick-box{width:var(--control-h);height:var(--control-h);box-sizing:border-box;border:2px solid var(--line-strong);background:var(--surface);color:var(--surface);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.tick-box svg{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:1.2em;height:1.2em}.tick-box[data-on=true]{background:var(--success);border-color:var(--success)}span.tick-box{cursor:default}.tick-box:hover:not([data-on=true]){border-color:var(--ink-muted)}@container (width>=52em){.program-page{grid-template:"head side""steps side"1fr/minmax(0,1fr) minmax(18rem,22rem);align-items:start;gap:1rem 2rem;display:grid}.program-head{grid-area:head}.program-steps{grid-area:steps}.program-side{flex-direction:column;grid-area:side;gap:1rem;display:flex}}@container stacked-list (width<=36em){.programs-table tbody td:first-child{grid-area:title}.my-programs tbody tr{grid-template-areas:"title status""who who""steps updated"}.my-programs tbody td:nth-child(2){color:var(--ink-muted);grid-area:steps}.my-programs tbody td:nth-child(2):before{content:"Steps: "}.my-programs tbody td:nth-child(3){grid-area:who}.my-programs tbody td:nth-child(4){grid-area:status;justify-self:end}.my-programs tbody td:nth-child(5){color:var(--ink-muted);grid-area:updated;justify-self:end}.other-programs tbody tr{grid-template-areas:"title status""author author""in-it action"}.other-programs tbody td:nth-child(2){color:var(--ink-muted);grid-area:author}.other-programs tbody td:nth-child(2):before{content:"Author: "}.other-programs tbody td:nth-child(3){grid-area:status;justify-self:end}.other-programs tbody td:nth-child(4){color:var(--ink-muted);grid-area:in-it}.other-programs tbody td:nth-child(4):before{content:"In it: "}.other-programs tbody td:nth-child(5){grid-area:action;justify-self:end}}.trainer-slots{margin:0;padding:0;list-style:none}.trainer-slots>li{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.3rem 1rem;padding:.5rem 0;display:flex}.trainer-slots>li:first-child{border-top:0}.trainer-slots .small{color:var(--ink-muted)}.trainer-slots form{margin:0 0 0 auto}.button.slim{min-height:2rem;padding:.2rem .75rem;font-size:.85rem}.slot-when{grid-template-columns:auto auto auto;justify-content:start;align-items:start;gap:0 1.5rem;display:grid}.slot-when input[type=date]{width:auto;min-width:10rem}.slot-minutes input{width:6rem}@media (width<=40rem){.slot-when{grid-template-columns:auto minmax(4rem,1fr);justify-content:stretch;gap:0 1rem}.slot-when>.slot-date{grid-column:1/-1}.slot-when input[type=date],.slot-minutes input{width:100%}}
