:root{--sixweeks-ink:#0e1b2e;--sixweeks-ink-2:#182a44;--sixweeks-ink-deep:#08111f;--sixweeks-chalk:#eef1ee;--sixweeks-chalk-2:#e4e9ec;--sixweeks-white:#fff;--sixweeks-hivis:#ff5a24;--sixweeks-hivis-deep:#c9420f;--sixweeks-text:#0e1b2e;--sixweeks-muted:#4a5668;--sixweeks-text-on-ink:#fff;--sixweeks-muted-on-ink:#ffffffc7;--sixweeks-line:#d6dbd8;--sixweeks-line-strong:#b9c2bd;--sixweeks-ok:#1f7a4d;--sixweeks-ok-soft:#e6f3ec;--sixweeks-error:#9b242a;--sixweeks-error-soft:#fbeeee;--sixweeks-diagram-player:#2457e6;--sixweeks-diagram-team-b:#d53f44;--sixweeks-diagram-pitch:#e7ede3;--sixweeks-diagram-pitch-line:#a9b6a6;--sixweeks-diagram-zone:#dce9d1;--sixweeks-diagram-zone-line:#607454;--sixweeks-diagram-cone:#f2d80a;--sixweeks-diagram-cone-line:#5c4a00;--sixweeks-diagram-path:#1b2a3d;--sixweeks-diagram-dimension:#6b7a6e;--sixweeks-diagram-neutral:#596579;--sixweeks-font-display:"Big Shoulders Display", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;--sixweeks-font-sans:"Public Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--sixweeks-fs-0:.6875rem;--sixweeks-fs-1:.8125rem;--sixweeks-fs-2:.9375rem;--sixweeks-fs-3:1.0625rem;--sixweeks-fs-4:1.3125rem;--sixweeks-fs-5:1.6875rem;--sixweeks-fs-6:2.125rem;--sixweeks-fs-7:3.5rem;--sixweeks-w-regular:400;--sixweeks-w-medium:600;--sixweeks-w-bold:700;--sixweeks-w-display:800;--sixweeks-radius-sm:6px;--sixweeks-radius:8px;--sixweeks-radius-card:12px;--sixweeks-btn-edge:4px;--sixweeks-touch:48px;--sixweeks-touch-field:58px;--sixweeks-sp-1:4px;--sixweeks-sp-2:8px;--sixweeks-sp-3:12px;--sixweeks-sp-4:16px;--sixweeks-sp-5:24px;--sixweeks-sp-6:32px;--sixweeks-sp-7:48px;--sixweeks-ease-snap:cubic-bezier(.2, .9, .25, 1.1);--sixweeks-ease-out:cubic-bezier(.16, 1, .3, 1);--sixweeks-dur-fast:.12s;--sixweeks-dur:.2s;--sixweeks-focus-on-light:0 0 0 3px #0e1b2e;--sixweeks-focus-on-ink:0 0 0 3px #ff5a24}@font-face{font-family:Big Shoulders Display;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/big-shoulders-display-latin.woff2)format("woff2");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:Big Shoulders Display;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/big-shoulders-display-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/public-sans-latin.woff2)format("woff2");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:Public Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/public-sans-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg:var(--sixweeks-chalk);--surface:var(--sixweeks-white);--surface-2:var(--sixweeks-chalk-2);--fg:var(--sixweeks-text);--fg-muted:var(--sixweeks-muted);--border:var(--sixweeks-line);--border-strong:var(--sixweeks-line-strong);--primary:var(--sixweeks-ink);--primary-deep:var(--sixweeks-ink-2);--primary-soft:var(--sixweeks-chalk-2);--accent:var(--sixweeks-hivis);--accent-deep:var(--sixweeks-hivis-deep);--on-accent:var(--sixweeks-ink);--danger:var(--sixweeks-error);--danger-soft:var(--sixweeks-error-soft);--danger-ink:var(--sixweeks-error);--ok-ink:var(--sixweeks-ok);--ok-soft:var(--sixweeks-ok-soft);--pitch:var(--sixweeks-diagram-pitch);--pitch-line:var(--sixweeks-diagram-pitch-line);--pitch-frame:#d3d9cc;--diagram-player:var(--sixweeks-diagram-player);--diagram-team-b:var(--sixweeks-diagram-team-b);--diagram-neutral:var(--sixweeks-diagram-neutral);--on-deep:var(--sixweeks-text-on-ink);--on-deep-muted:var(--sixweeks-muted-on-ink);--deep-line:#fff3;--deep-border:#ffffff4d;--deep-fill:#ffffff1a;--deep-fill-soft:#ffffff0d;--scrim:#0e1b2e73;--shadow-soft:0 8px 24px #0e1b2e1a;--timeline-low:var(--sixweeks-chalk-2);--timeline-alt:#0e1b2e80;--notice-bg:var(--sixweeks-chalk-2);--note:var(--sixweeks-muted);--warm-soft:var(--sixweeks-chalk-2);--warm-ink:var(--sixweeks-ink);--rule-caption:#fffc;--rule-muted:#ffffffd9;--font-sans:var(--sixweeks-font-sans);--font-display:var(--sixweeks-font-display);--fs-0:var(--sixweeks-fs-0);--fs-1:var(--sixweeks-fs-1);--fs-2:var(--sixweeks-fs-2);--fs-3:var(--sixweeks-fs-3);--fs-4:var(--sixweeks-fs-4);--fs-5:var(--sixweeks-fs-5);--fs-6:var(--sixweeks-fs-6);--fs-7:var(--sixweeks-fs-7);--w-regular:var(--sixweeks-w-regular);--w-medium:var(--sixweeks-w-medium);--w-bold:var(--sixweeks-w-bold);--w-display:var(--sixweeks-w-display);--r-sm:var(--sixweeks-radius-sm);--r-md:var(--sixweeks-radius);--r-lg:var(--sixweeks-radius-card);--r-pill:999px;--btn-edge:var(--sixweeks-btn-edge);--sp-1:var(--sixweeks-sp-1);--sp-2:var(--sixweeks-sp-2);--sp-3:var(--sixweeks-sp-3);--sp-4:var(--sixweeks-sp-4);--sp-5:var(--sixweeks-sp-5);--sp-6:var(--sixweeks-sp-6);--sp-7:var(--sixweeks-sp-7);--page:1220px;--reading:700px;--nav-rail:216px;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;color:var(--fg);background:var(--bg)}*{box-sizing:border-box}body{font-size:var(--fs-2);margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;min-width:48px;min-height:48px;padding:10px var(--sp-3);background:0 0;border:0;transition:background-color .16s,border-color .16s,color .16s}button:disabled{opacity:.5;cursor:default}input,select,textarea{border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);min-height:48px;padding:10px var(--sp-3);max-width:100%}a{color:var(--primary)}p,li{line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2,h3,button,label,.lead{overflow-wrap:anywhere}h1,h2,h3{text-wrap:balance}h1{font-family:var(--font-display);font-size:var(--fs-6);font-weight:var(--w-display);letter-spacing:.005em;margin-bottom:var(--sp-3);line-height:1.02}h2{font-family:var(--font-display);font-size:var(--fs-4);font-weight:var(--w-display);letter-spacing:.005em;line-height:1.1}h3{font-size:var(--fs-3);font-weight:var(--w-medium);line-height:1.4}p{margin-bottom:var(--sp-4)}small,.muted,.lead{color:var(--fg-muted)}.lead{font-size:var(--fs-2)}.eyebrow{font-size:var(--fs-0);font-weight:var(--w-medium);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:var(--sp-2)}.page-description{color:var(--fg-muted);font-size:var(--fs-2);margin:var(--sp-2) 0 0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--primary);outline-offset:3px}main[tabindex="-1"]:focus,h1[tabindex="-1"]:focus{outline:0}.skip-link{top:-100px;left:var(--sp-2);z-index:100;padding:var(--sp-3);background:var(--primary);color:var(--surface);clip-path:inset(50%);position:fixed}.skip-link:focus{top:var(--sp-2);clip-path:none}.primary-button,.secondary-button{border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-5);font-size:var(--fs-2);font-weight:var(--w-medium)}.primary-button{background:var(--primary);color:var(--surface)}.primary-button:hover:not(:disabled){background:var(--primary-deep)}.secondary-button{border:1px solid var(--border-strong);background:var(--surface)}.text-button,.back-button,.why-button,.undo-button{color:var(--primary);font-weight:var(--w-medium);font-size:var(--fs-1)}.why-button{min-height:44px;margin-top:var(--sp-4);padding:0 var(--sp-4);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--primary-deep);align-items:center;display:inline-flex}.why-button:hover{border-color:var(--border-strong);background:var(--surface-2)}.back-button{align-items:center;gap:var(--sp-1);min-height:44px;padding:0 var(--sp-4) 0 var(--sp-3);margin-bottom:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--primary-deep);display:inline-flex}.back-button:hover{border-color:var(--border-strong);background:var(--surface-2)}.full{width:100%}.content-warning,.diagram-review{padding:var(--sp-2) var(--sp-3);background:var(--surface-2);color:var(--fg-muted);font-size:var(--fs-0);border-radius:var(--r-sm);border:0;line-height:1.6}.global-content-warning{text-align:center;background:var(--notice-bg);font-size:var(--fs-0);padding:var(--sp-1) var(--sp-4);border-radius:0;margin:0}.inline-error,.attendance-warning,.preparation-warnings{padding:var(--sp-3);border-left:3px solid var(--danger);background:var(--danger-soft);color:var(--danger-ink);font-size:var(--fs-1)}.status-message{padding:var(--sp-3);background:var(--surface-2);font-size:var(--fs-1)}.field-error,.save-error{color:var(--danger-ink);font-size:var(--fs-1)}.save-state,.prepared-state,.reflection-progress{color:var(--fg-muted);font-size:var(--fs-1)}.offline-banner{padding:var(--sp-2);background:var(--danger-soft);color:var(--danger-ink);text-align:center;font-size:var(--fs-1)}.brand-lockup{align-items:center;gap:var(--sp-2);white-space:nowrap;color:var(--fg);--brand-h:26px;display:inline-flex}.brand-mark{height:calc(var(--brand-h) * 1.15);flex:none;width:auto;display:block}.brand-wordmark{height:calc(var(--brand-h) * .78);width:auto;display:block}.brand-lockup.on-deep{color:var(--on-deep)}.counter-lockup{width:156px;height:auto;display:block}.wordmark{align-items:center;min-height:48px;text-decoration:none;display:flex}.bib{flex:none;width:22px;height:22px;display:inline-block}.bib-row{gap:var(--sp-1);align-items:flex-end;display:inline-flex}.bib.is-done{fill:currentColor}.bib.is-now{fill:var(--accent);stroke:var(--fg);stroke-width:2px}.on-deep .bib.is-now,.today-card .bib.is-now{stroke:none}.bib.is-next{fill:none;stroke:currentColor;stroke-width:2px}.nav-icon{flex:none;width:22px;height:22px}.app-shell{min-height:100svh;padding-bottom:104px}.app-header{max-width:var(--page);padding:var(--sp-2) var(--sp-5);gap:var(--sp-4);flex-wrap:wrap;justify-content:space-between;align-items:center;min-height:64px;margin:auto;display:flex}.header-actions{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.team-button{border-radius:var(--r-sm);min-width:44px;min-height:44px;color:var(--fg-muted);place-items:center;padding:0;display:grid}.team-button:hover{background:var(--surface-2);color:var(--primary)}.team-switcher{min-width:0;max-width:100%}.seg{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-2);gap:2px;max-width:100%;padding:3px;display:inline-flex}.seg button{min-width:44px;min-height:40px;padding:0 var(--sp-3);border-radius:var(--r-pill);font-size:var(--fs-1);white-space:nowrap;color:var(--fg-muted);justify-content:center;align-items:center;gap:6px;line-height:1;display:inline-flex}.seg button:hover:not([aria-checked=true]){color:var(--fg);background:var(--surface)}.seg button b{font-weight:var(--w-bold)}.seg button[aria-checked=true]{background:var(--primary);color:var(--surface);box-shadow:0 1px 2px var(--scrim)}.team-seg-rest{font-weight:var(--w-regular)}@media (width<=599px){.team-seg-rest{display:none}}.count-picker{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);box-shadow:0 1px 0 var(--border);align-items:center;gap:2px;padding:2px;display:inline-flex}.count-picker-step{min-width:44px;min-height:44px;color:var(--primary);background:var(--primary-soft);border-radius:50%;place-items:center;padding:0;display:grid}.count-picker-step:hover:not(:disabled){background:var(--primary);color:var(--surface)}.count-picker-step:disabled{opacity:.35}.count-picker-step svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;width:20px;height:20px}.count-picker-value b{font-family:var(--font-display);font-weight:var(--w-display);font-size:var(--fs-5);color:var(--fg);line-height:1}.count-picker-value{min-width:92px;min-height:44px;padding:0 var(--sp-2);border-radius:var(--r-sm);font-size:var(--fs-1);color:var(--fg-muted);white-space:nowrap;place-items:center;display:grid;position:relative}.count-picker-value b{font-size:var(--fs-3);color:var(--fg);font-variant-numeric:tabular-nums}.count-picker-value:hover{background:var(--surface-2)}.count-picker-value:focus-within{outline:3px solid var(--primary);outline-offset:2px}.count-picker-value select{opacity:0;cursor:pointer;border:0;width:100%;height:100%;min-height:0;margin:0;padding:0;position:absolute;inset:0}.team-switcher select{width:100%;font-size:var(--fs-1);border:1px solid var(--border);background:var(--surface);border-radius:var(--r-sm);min-height:44px;padding:var(--sp-2) var(--sp-6) var(--sp-2) var(--sp-3)}.team-name{font-size:var(--fs-1)}.main-content{max-width:var(--page);padding:var(--sp-5);margin:auto}.bottom-nav{z-index:30;background:var(--surface);border-top:1px solid var(--border);padding:6px var(--sp-1) max(var(--sp-2), env(safe-area-inset-bottom));grid-template-columns:repeat(2,minmax(0,1fr));min-height:80px;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:var(--fg-muted);font-size:var(--fs-0);flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:6px 2px;display:flex;position:relative}.bottom-nav button[aria-current=page]{color:var(--primary);font-weight:var(--w-medium)}.bottom-nav button[aria-current=page] .nav-icon{background:var(--primary-soft);box-shadow:0 0 0 6px var(--primary-soft);border-radius:var(--r-sm)}.page-heading{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-5);display:flex}.page-heading h1{margin:0}.page-heading>span{font-size:var(--fs-1);color:var(--fg-muted)}.cycle-badge{align-items:center;gap:var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-1);white-space:nowrap;display:inline-flex}.section-heading{gap:var(--sp-3);margin-bottom:var(--sp-4);justify-content:space-between;align-items:center;display:flex}.section-heading h2{font-size:var(--fs-4);margin:0}.section-heading>span{color:var(--fg-muted);font-size:var(--fs-1);white-space:nowrap}.today-view{max-width:820px}.today-card{background:var(--primary);color:var(--surface);border-radius:var(--r-lg);padding:var(--sp-5);position:relative;overflow:hidden}.today-card>div:first-child{justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-0);margin-bottom:var(--sp-5);align-items:center;display:flex}.week-pill{justify-content:flex-end;align-items:center;gap:var(--sp-1) var(--sp-2);white-space:nowrap;color:var(--on-deep-muted);font-weight:var(--w-medium);font-size:var(--fs-1);flex-wrap:wrap;display:inline-flex}.week-pill .bib-row{color:var(--on-deep)}.hero-overview{justify-content:flex-start;align-items:center;gap:var(--sp-5);margin-bottom:var(--sp-5);display:flex}.date-tile{text-align:center;border:1px solid var(--deep-border);border-radius:var(--r-md);background:var(--deep-fill-soft);flex:0 0 80px;align-content:center;min-height:84px;display:grid}.date-tile strong{font-family:var(--font-display);font-weight:var(--w-display);font-size:var(--fs-7);line-height:.9}.date-tile span{font-size:var(--fs-0);color:var(--on-deep-muted);margin-top:3px}.today-card .hero-date{color:var(--on-deep-muted);font-size:var(--fs-1);margin:0 0 var(--sp-2)}.today-card h1{font-size:var(--fs-5);font-weight:var(--w-display);max-width:570px;margin:0;line-height:1.05}.today-card p{color:var(--on-deep)}.training-facts{justify-content:flex-start;gap:var(--sp-3) var(--sp-5);margin:0 0 var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--deep-line);color:var(--on-deep);font-size:var(--fs-0);flex-wrap:wrap;align-items:center;display:flex}.training-facts strong{color:var(--surface);font-size:var(--fs-3);margin-right:var(--sp-1);font-variant-numeric:tabular-nums}.training-facts .session-status{background:var(--deep-fill);border-radius:var(--r-sm);padding:6px var(--sp-2)}.today-card .primary-button{width:100%;margin-top:var(--sp-5);background:var(--accent);color:var(--on-accent);box-shadow:inset 0 calc(var(--btn-edge) * -1) 0 var(--accent-deep)}.today-card .primary-button:hover:not(:disabled){background:var(--accent);color:var(--on-accent);filter:brightness(1.04)}.coach-nudge,.coach-checklist{background:var(--surface);border:1px solid var(--border);padding:var(--sp-5);border-radius:var(--r-md);margin:0}.coach-nudge h2,.coach-checklist h2{font-size:var(--fs-3);margin-bottom:var(--sp-4)}.coach-nudge p{color:var(--fg-muted);font-size:var(--fs-1)}.week-sessions{margin-bottom:var(--sp-5)}.week-sessions button{justify-content:space-between;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-3) 0;border-top:1px solid var(--border);text-align:left;font-size:var(--fs-1);display:flex}.week-sessions button:hover{color:var(--primary)}.week-sessions button strong{font-size:var(--fs-1);font-weight:var(--w-medium)}.week-sessions small{margin-top:var(--sp-1);font-size:var(--fs-0);display:block}.week-sessions button>span:last-child{font-size:var(--fs-0);color:var(--fg-muted);white-space:nowrap}.week-progress{flex-wrap:wrap;gap:6px;display:flex}.week-progress span{border-radius:var(--r-sm);background:var(--surface-2);min-width:28px;min-height:34px;color:var(--fg-muted);font-size:var(--fs-0);font-variant-numeric:tabular-nums;flex:1;place-items:center;display:grid}.week-progress .current{background:var(--primary);color:var(--surface);font-weight:var(--w-medium)}.week-progress .past{background:var(--primary-soft);color:var(--primary-deep)}.coach-checklist ol{margin:0;padding:0;list-style:none}.coach-checklist li{gap:var(--sp-3);margin-bottom:var(--sp-5);display:flex}.coach-checklist li>span{font-size:var(--fs-0);color:var(--fg-muted);font-variant-numeric:tabular-nums;line-height:2}.coach-checklist strong{font-size:var(--fs-1);font-weight:var(--w-medium)}.coach-checklist p{font-size:var(--fs-1);margin:var(--sp-1) 0 0;color:var(--fg-muted);line-height:1.6}.coach-checklist .text-button{border-top:1px solid var(--border);padding:var(--sp-4) 0 0;text-align:left;width:100%}.coach-checklist .text-button span{float:right}.upcoming-outline,.session-blocks{margin-top:var(--sp-5);padding:var(--sp-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.session-timeline{margin:0 0 var(--sp-2)}.session-timeline>div{border-radius:var(--r-sm);gap:3px;height:7px;display:flex;overflow:hidden}.session-timeline>div span{background:var(--primary);flex:1}.session-timeline>div span:nth-child(2n){background:var(--timeline-alt)}.session-timeline>div span:first-child,.session-timeline>div span:last-child{background:var(--timeline-low)}.session-timeline p{font-size:var(--fs-0);color:var(--fg-muted);justify-content:space-between;margin:6px 0 0;display:flex}.exercise-rows{display:grid}.exercise-row{gap:var(--sp-4);text-align:left;border-bottom:1px solid var(--border);width:100%;padding:var(--sp-4) 0;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;min-height:72px;display:grid}.exercise-row:last-child{border-bottom:0}.exercise-row:hover{background:var(--surface-2)}.exercise-row strong{font-size:var(--fs-3);font-weight:var(--w-medium);letter-spacing:-.015em;display:block}.exercise-row small{font-size:var(--fs-1);margin-top:var(--sp-1);line-height:1.5;display:block}.exercise-row>span:last-child{font-size:var(--fs-0);color:var(--fg-muted);white-space:nowrap}.block-order{border-radius:var(--r-sm);background:var(--surface-2);min-width:32px;min-height:32px;color:var(--fg-muted);font-family:var(--font-display);font-weight:var(--w-display);font-size:var(--fs-4);font-variant-numeric:tabular-nums;align-self:start;place-items:center;line-height:1;display:grid}.today-next{margin-top:var(--sp-5);padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.today-next-head{justify-content:space-between;align-items:center;gap:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-2);flex-wrap:wrap;display:flex}.today-next-head h2{font-size:var(--fs-3);margin:0}.today-next-head .secondary-button{border-radius:var(--r-pill);min-height:44px;font-size:var(--fs-1);font-weight:var(--w-medium);color:var(--primary-deep)}.unit-list{margin:0;padding:0;list-style:none}.unit-row{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-2) var(--sp-1);border-top:1px solid var(--border);text-align:left;border-radius:0;grid-template-columns:44px minmax(0,1fr) auto 20px;display:grid}.unit-list li:first-child .unit-row{border-top:0}.unit-row:hover{background:var(--surface-2)}.unit-date>:first-child{font-family:var(--font-display);font-weight:var(--w-display);font-size:var(--fs-4);line-height:1}.unit-date{border-radius:var(--r-sm);background:var(--surface-2);place-items:center;width:44px;height:44px;line-height:1;display:grid}.unit-date b{font-size:var(--fs-3);font-variant-numeric:tabular-nums}.unit-date small{font-size:var(--fs-0);color:var(--fg-muted)}.unit-row.is-today .unit-date{background:var(--primary);color:var(--surface)}.unit-row.is-today .unit-date small{color:var(--on-deep)}.unit-text{gap:2px;min-width:0;display:grid}.unit-text strong{font-size:var(--fs-2);font-weight:var(--w-medium)}.unit-text small{font-size:var(--fs-0);color:var(--fg-muted)}.unit-status{font-size:var(--fs-0);font-style:normal;font-weight:var(--w-medium);color:var(--fg-muted);background:var(--surface-2);border-radius:var(--r-pill);padding:4px var(--sp-2)}.unit-status.status-today,.unit-status.status-running{color:var(--primary-deep);background:var(--primary-soft)}.unit-status.status-completed{color:var(--ok-ink);background:var(--ok-soft)}.unit-chevron{fill:none;width:20px;height:20px;stroke:var(--fg-muted);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;grid-column:4}.block-kicker{font-size:var(--fs-0);letter-spacing:.07em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:var(--sp-1);display:block}.exercise-preview{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);width:108px;height:76px;padding:6px;display:block;overflow:hidden}.exercise-preview svg{width:100%;height:100%;display:block}.closing-preview{color:var(--fg-muted)}.scene-preview{padding:var(--sp-2);background:var(--pitch-frame);place-items:center;display:grid}.scene-preview svg{height:auto;max-height:100%}.cycle-view{max-width:none}.cycle-grid{gap:var(--sp-5);margin-top:var(--sp-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.week-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-5) var(--sp-5) var(--sp-2);margin:0}.week-card.current{border-color:var(--primary)}.week-card.current>div>span{color:var(--primary)}.week-card>div{gap:var(--sp-4);min-height:92px;display:flex}.week-card>div>span{font-family:var(--font-display);font-size:var(--fs-6);color:var(--fg-muted);line-height:1;font-weight:var(--w-display)}.week-card p{gap:6px;display:grid}.week-card p strong{font-weight:var(--w-medium);font-size:var(--fs-2);line-height:1.5}.week-card small{font-size:var(--fs-0);color:var(--fg-muted);display:block}.week-card ul{margin:0;padding:0;list-style:none}.week-card .unit-list{margin-top:var(--sp-3);border-top:1px solid var(--border)}.cycle-source{color:var(--fg-muted);font-size:var(--fs-0);margin-top:var(--sp-5)}.simple-view,.team-view{max-width:900px}.team-facts{gap:var(--sp-5);margin:var(--sp-5) 0;grid-template-columns:1fr 1fr;display:grid}.team-facts>div{background:var(--surface);border:1px solid var(--border);padding:var(--sp-6);border-radius:var(--r-md);display:grid}.team-facts strong{color:var(--primary);font-size:var(--fs-6);letter-spacing:-.05em;font-weight:var(--w-medium);margin-bottom:var(--sp-3)}.team-facts span{font-size:var(--fs-1);color:var(--fg-muted)}.team-view>p:last-child{border-top:1px solid var(--border);padding-top:var(--sp-5);color:var(--fg-muted);font-size:var(--fs-1);max-width:650px}.settings-list>div{gap:var(--sp-2);padding:var(--sp-4) 0;border-bottom:1px solid var(--border);display:grid}.settings-list span{color:var(--fg-muted);font-size:var(--fs-1)}.contact-form{gap:var(--sp-2);margin-top:var(--sp-1);flex-wrap:wrap;display:flex}.contact-form input{max-width:360px;min-height:48px;padding:0 var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);flex:220px}.contact-form input:focus-visible{outline:3px solid var(--fg);outline-offset:1px}.session-detail{max-width:var(--page);padding:var(--sp-5) var(--sp-6) 120px;margin:auto}.sub-header,.field-header{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);min-height:48px;display:flex}.sub-header{border-bottom:1px solid var(--border);padding-bottom:var(--sp-4)}.sub-header button{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);font-size:var(--fs-1)}.sub-header span,.field-header span{font-size:var(--fs-1);color:var(--fg-muted)}.session-detail>h1{max-width:850px;margin-top:var(--sp-3)}.preparation-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-5);margin:var(--sp-5) 0}.preparation-summary h2{font-size:var(--fs-3)}.preparation-summary dl{gap:var(--sp-4);margin-bottom:var(--sp-3);display:grid}.preparation-summary dl>div{gap:var(--sp-1);display:grid}.preparation-summary dt{color:var(--fg-muted);font-size:var(--fs-1)}.preparation-summary dd{font-size:var(--fs-2);margin:0}.preparation-summary ol{padding:0;list-style:none}.preparation-summary li{gap:var(--sp-3);font-size:var(--fs-1);border-top:1px solid var(--border);padding:var(--sp-2) 0;grid-template-columns:1fr 1fr;display:grid}.preparation-summary li span{color:var(--fg-muted)}.sticky-action{z-index:25;padding:var(--sp-3) var(--sp-4) max(var(--sp-3), env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);position:fixed;bottom:0;left:0;right:0}.sticky-action button{width:min(100%, var(--reading));margin:auto;display:block}.saved-reflection{padding:var(--sp-5) 0}.saved-reflection dd{margin:var(--sp-1) 0 var(--sp-4)}.saved-reflection dt{color:var(--fg-muted);font-size:var(--fs-1)}.exercise-code{font-size:var(--fs-1);font-weight:var(--w-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:var(--sp-2)}.exercise-detail>h1{font-size:var(--fs-6);letter-spacing:-.04em}.exercise-detail>.lead{font-size:var(--fs-2);margin-bottom:var(--sp-3)}.exercise-grid{display:block}.exercise-grid>aside{margin-top:var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-4)}.exercise-grid>aside>:first-child{padding-top:var(--sp-1);border-top:0;margin-top:0}.exercise-grid>aside>:last-child{margin-bottom:0}.exercise-meta{color:var(--fg-muted);font-size:var(--fs-1);margin:var(--sp-2) 0 var(--sp-4)}.variant-picker{align-items:center;gap:var(--sp-3);font-size:var(--fs-1);color:var(--fg-muted);margin:var(--sp-4) 0;flex-wrap:wrap;display:flex}.coaching-section{border-top:1px solid var(--border);padding:var(--sp-4) 0}.coaching-section h2{font-size:var(--fs-3)}.coaching-section p,.coaching-section li{font-size:var(--fs-2);color:var(--fg-muted)}.coaching-section ul{padding-left:var(--sp-4)}.library-search{gap:var(--sp-2);margin:var(--sp-5) 0 var(--sp-3);max-width:620px;font-size:var(--fs-1);font-weight:var(--w-medium);display:grid}.search-field{display:block;position:relative}.search-field>svg{fill:none;width:20px;height:20px;stroke:var(--fg-muted);stroke-width:2px;stroke-linecap:round;pointer-events:none;position:absolute;top:50%;left:14px;translate:0 -50%}.search-field input{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);width:100%;min-height:52px;font-size:var(--fs-2);font-weight:var(--w-regular);padding:0 52px 0 44px}.search-field input:focus{border-color:var(--primary)}.search-field input::-webkit-search-cancel-button{appearance:none}.search-clear{min-width:44px;min-height:44px;color:var(--fg-muted);border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:4px;translate:0 -50%}.search-clear:hover{background:var(--surface-2);color:var(--fg)}.search-clear svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:18px;height:18px}.library-filters{gap:var(--sp-1);width:100%;max-width:620px;padding:var(--sp-1);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.library-filters button{justify-content:center;align-items:center;gap:4px var(--sp-2);min-width:0;min-height:48px;padding:var(--sp-2);border-radius:var(--r-md);font-size:var(--fs-1);text-align:center;color:var(--fg-muted);flex-wrap:wrap;line-height:1.2;display:flex}.library-filters button:hover:not([aria-pressed=true]){color:var(--fg)}.library-filters button[aria-pressed=true]{background:var(--surface);color:var(--fg);font-weight:var(--w-medium);box-shadow:0 0 0 1px var(--border), 0 1px 0 var(--border-strong)}.library-filter-count{border-radius:var(--r-pill);background:var(--border);min-width:24px;color:var(--fg-muted);font-size:var(--fs-0);font-weight:var(--w-bold);font-variant-numeric:tabular-nums;padding:1px 7px}.library-filters button[aria-pressed=true] .library-filter-count{background:var(--primary);color:var(--surface)}.library-theme{margin-top:var(--sp-5)}.library-theme h3{align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-3);font-size:var(--fs-2);display:flex}.library-empty{margin-top:var(--sp-5);padding:var(--sp-5);border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--surface);text-align:center;color:var(--fg-muted)}.library-empty p{margin:0 0 var(--sp-3)}.library-view>h2{font-size:var(--fs-3);margin-top:var(--sp-6)}.library-view>.content-warning{margin-bottom:var(--sp-4)}.library-cards{gap:var(--sp-4);grid-template-columns:repeat(3,minmax(0,1fr))}.library-cards .exercise-row{padding:0 0 var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);grid-template-columns:minmax(0,1fr) auto;align-content:start;gap:0;min-height:0;overflow:hidden}.library-cards .exercise-row:hover{border-color:var(--primary);background:var(--surface)}.library-cards .exercise-preview{border:0;border-bottom:1px solid var(--border);width:100%;height:155px;padding:var(--sp-2);margin-bottom:var(--sp-4);border-radius:0;grid-column:1/-1}.library-cards .exercise-row>span:nth-child(2){padding:0 var(--sp-4)}.library-cards .exercise-row>span:last-child{padding-right:var(--sp-4);color:var(--primary);font-size:var(--fs-2)}.library-cards .exercise-row strong{font-size:var(--fs-3)}details{border-top:1px solid var(--border);margin:var(--sp-3) 0;padding:6px 0}summary{cursor:pointer;min-height:48px;font-weight:var(--w-medium);font-size:var(--fs-2);justify-content:space-between;align-items:center;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:after{content:"+";color:var(--primary);font-size:var(--fs-4)}details[open]>summary:after{content:"−"}details p,details li{font-size:var(--fs-1);color:var(--fg-muted);overflow-wrap:anywhere}.precise-diagram{--diagram-height:min(34svh, 320px);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);min-width:0;overflow:hidden}.diagram-review{border-radius:0;margin:0}.situation-label{padding:var(--sp-3) var(--sp-4);font-size:var(--fs-1);margin:0}.diagram-toolbar{justify-content:space-between;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);background:var(--surface-2);flex-wrap:wrap;align-items:end;display:flex}.diagram-toolbar label,.animation-controls label{gap:var(--sp-1);font-size:var(--fs-0);min-width:0;display:grid}.diagram-toolbar>label{flex:150px}.diagram-toolbar select{font-size:var(--fs-2);width:100%;max-width:100%}.diagram-toolbar>div{flex-wrap:wrap;gap:2px;display:flex}.diagram-tools{flex-wrap:wrap;gap:6px;display:flex}.tool-button{min-width:44px;min-height:44px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--fg);font-size:var(--fs-1);font-weight:var(--w-medium);align-items:center;gap:6px;display:inline-flex}.tool-button:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2)}.tool-button:disabled{opacity:.35}.tool-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.tool-button:not(:has(.tool-label)){justify-content:center;padding:0}.diagram-viewport{background:var(--pitch);max-width:100%;overflow:auto}.diagram-viewport svg{height:calc(var(--diagram-height) * var(--diagram-zoom,1));display:block}.diagram-legend{font-size:var(--fs-0);color:var(--fg-muted);padding:6px var(--sp-3);background:var(--surface-2);margin:0;line-height:1.5}.diagram-steps{gap:var(--sp-1);padding:var(--sp-3);border-top:1px solid var(--border);display:flex;overflow:auto}.diagram-steps button{border-radius:var(--r-sm);min-width:40px;font-size:var(--fs-1);flex:1}.diagram-steps button:first-child{padding-inline:var(--sp-3);flex:none}.diagram-steps button[aria-pressed=true]{background:var(--primary);color:var(--surface);font-weight:var(--w-medium)}.diagram-instruction{align-items:start;gap:var(--sp-3);padding:var(--sp-4);border-top:1px solid var(--border);background:var(--surface-2);display:flex}.diagram-instruction h3{font-size:var(--fs-2);margin-bottom:var(--sp-2)}.diagram-instruction p{font-size:var(--fs-2);color:var(--fg-muted);margin-bottom:0}.diagram-coaching{padding:var(--sp-4);border-top:1px solid var(--border)}.diagram-coaching h3{font-size:var(--fs-2);margin-bottom:var(--sp-2)}.diagram-coaching ul{padding-left:var(--sp-4);margin:0}.diagram-coaching li{font-size:var(--fs-2);margin-block:6px;line-height:1.5}.diagram-rotation,.precise-diagram>details:not(.diagram-rotation){padding:var(--sp-2) var(--sp-4);border-top:1px solid var(--border);margin:0}.diagram-rotation h3{font-size:var(--fs-2);margin-bottom:var(--sp-2)}.diagram-rotation p{font-size:var(--fs-1);color:var(--fg-muted)}.animation-controls{gap:var(--sp-2);min-width:82px;display:grid}.animation-controls button{background:var(--surface-2);border-radius:var(--r-sm);color:var(--primary);font-size:var(--fs-1)}.animation-controls select{font-size:var(--fs-0);padding:var(--sp-2)}.station-overview{grid-template-columns:repeat(var(--station-columns), minmax(0, 1fr));gap:var(--sp-2);padding:var(--sp-3);display:grid}.station-overview p{font-size:var(--fs-1);grid-column:1/-1;margin:0}.station-overview button{align-items:center;gap:var(--sp-1);border:1px solid var(--border);background:var(--pitch);padding:var(--sp-3) var(--sp-1);border-radius:var(--r-sm);flex-direction:column;min-width:0;display:flex}.station-overview strong{font-size:var(--fs-3);color:var(--primary)}.station-overview span{font-size:var(--fs-1)}.station-overview small{font-size:var(--fs-0)}.print-action{margin:0 var(--sp-2) var(--sp-2)}.diagram-print{display:none}.legacy-diagram{padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);margin:0}.legacy-diagram figcaption{font-size:var(--fs-1);color:var(--fg-muted);line-height:1.7}.legacy-diagram svg{width:100%;height:auto;margin-top:var(--sp-3);display:block}.legacy-diagram p{font-size:var(--fs-0)}.running-screen .precise-diagram{--diagram-height:min(30svh, 280px)}.field-shell{max-width:var(--page);min-height:100svh;padding:var(--sp-3) var(--sp-4) calc(var(--field-footer-height,150px) + var(--sp-5));background:var(--surface);color:var(--fg);margin:auto}.field-header{border-bottom:1px solid var(--border);font-size:var(--fs-1)}.field-header>strong{max-width:42%;font-size:var(--fs-0);line-height:1.5}.field-header .text-button{padding-inline:var(--sp-2)}.field-more{border:0;margin:0;padding:0;position:relative}.field-more>summary{min-height:44px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--fg-muted);font-size:var(--fs-1)}.field-more>summary:after{content:""}.field-more[open]>summary{background:var(--surface-2)}.field-more>div{z-index:20;right:0;top:calc(100% + var(--sp-1));background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);min-width:220px;padding:var(--sp-1);box-shadow:var(--shadow-soft);display:grid;position:absolute}.field-more button{text-align:left;font-size:var(--fs-2);border-radius:var(--r-sm)}.field-more button:hover:not(:disabled){background:var(--surface-2)}.field-meta{justify-content:space-between;align-items:center;gap:var(--sp-2) var(--sp-4);color:var(--fg-muted);font-size:var(--fs-1);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.field-paused{margin:0 0 var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:var(--primary-soft);color:var(--primary-deep);font-size:var(--fs-1);font-weight:var(--w-medium)}.field-cues{margin-bottom:var(--sp-4);padding:var(--sp-4);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--r-md);background:var(--surface)}.field-cues h2{font-size:var(--fs-3);margin-bottom:var(--sp-2)}.field-cues ul{padding-left:var(--sp-4);margin:0}.field-cues li{font-size:var(--fs-3);margin-bottom:var(--sp-2);line-height:1.45}.field-cues li:last-child{margin-bottom:0}.attendance-list{margin:var(--sp-4) 0 var(--sp-5);max-width:720px}.attendance-row{justify-content:space-between;align-items:center;gap:var(--sp-3);border-bottom:1px solid var(--border);padding:var(--sp-2) 0;display:flex}.segmented{background:var(--surface-2);border-radius:var(--r-sm);padding:var(--sp-1);gap:var(--sp-1);display:flex}.segmented button{font-size:var(--fs-1);border-radius:var(--r-sm)}.segmented button[aria-pressed=true]{background:var(--primary);color:var(--surface)}.field-content{max-width:none}.running-screen h1{font-size:var(--fs-4);margin-bottom:var(--sp-2)}.running-screen .lead{font-size:var(--fs-1);margin-bottom:var(--sp-2)}.player-count{align-items:center;gap:var(--sp-3);font-size:var(--fs-1);margin-block:var(--sp-2) var(--sp-3);clear:both;display:flex}.field-instructions{padding:var(--sp-2) 0}.field-instructions h2{font-size:var(--fs-3)}.field-instructions p,.field-instructions li{font-size:var(--fs-2);color:var(--fg-muted)}.field-exercise-layout{clear:both}.field-controls{z-index:25;background:var(--surface);border-top:1px solid var(--border);padding:0 max(var(--sp-3), calc((100vw - 800px) / 2)) max(var(--sp-2), env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:6px;display:grid;position:fixed;bottom:0;left:0;right:0}.field-controls>button{padding:var(--sp-2);border-radius:var(--r-md);background:var(--surface-2);min-width:0;min-height:60px;font-size:var(--fs-2)}.field-controls .primary-button{background:var(--accent);color:var(--on-accent);box-shadow:inset 0 calc(var(--btn-edge) * -1) 0 var(--accent-deep);font-size:var(--fs-3)}.field-controls .primary-button:hover:not(:disabled){background:var(--accent);color:var(--on-accent);filter:brightness(1.04)}.field-controls .primary-button:active:not(:disabled){box-shadow:inset 0 -2px 0 var(--accent-deep);transform:translateY(2px)}.field-timer{font-variant-numeric:tabular-nums;place-items:center;gap:2px;display:grid}.field-timer>:first-child{font-family:var(--font-display);font-weight:var(--w-display);font-size:var(--fs-6);line-height:1}.field-timer strong{font-size:var(--fs-4);font-weight:var(--w-medium);line-height:1.1}.field-timer span{font-size:var(--fs-0);color:var(--fg-muted)}.field-timer.overtime strong{color:var(--danger)}.field-overrun{padding:var(--sp-2) 0;color:var(--danger-ink);font-size:var(--fs-1);grid-column:1/-1;margin:0}.field-save-status{min-height:30px;font-size:var(--fs-1);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px;padding:6px 0;display:flex}.field-save-status span{flex:160px}.field-controls .field-save-status button{min-height:44px;font-size:var(--fs-1);padding:6px var(--sp-2);border-radius:var(--r-sm)}.field-save-status.save-error{background:var(--danger-soft);padding-inline:var(--sp-2)}.login-screen,.onboarding-screen,.reflection-screen{max-width:var(--reading);padding:var(--sp-7) var(--sp-5) 80px;margin:auto}.onboarding-screen,.reflection-screen{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);margin:var(--sp-6) auto;padding:var(--sp-6)}.login-screen{max-width:1240px;min-height:100svh;padding:55px var(--sp-7);gap:var(--sp-7) 70px;grid-template-columns:1fr 1fr;align-content:center;align-items:center;display:grid}.login-brand{margin-bottom:var(--sp-7);grid-column:1/-1}.login-copy{min-width:0}.login-screen h1{font-size:var(--fs-6);letter-spacing:-.04em;max-width:710px;line-height:1.1}.login-copy>p:not(.eyebrow){font-size:var(--fs-2);color:var(--fg-muted);max-width:520px;line-height:1.75}.login-copy>small{font-size:var(--fs-0);display:block}.login-screen .primary-button{min-width:240px;margin:var(--sp-4) 0;align-self:flex-start}.training-sample{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);min-width:0;overflow:hidden}.sample-heading{justify-content:space-between;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);font-size:var(--fs-0);font-weight:var(--w-medium);letter-spacing:.08em;color:var(--fg-muted);flex-wrap:wrap;display:flex}.sample-heading>span:last-child{letter-spacing:0;color:var(--danger-ink)}.training-sample .exercise-preview{width:calc(100% - var(--sp-6));margin:0 var(--sp-4);height:280px;padding:var(--sp-6);border-radius:var(--r-md)}.sample-caption{padding:var(--sp-5) var(--sp-5) var(--sp-4)}.sample-caption h2{font-size:var(--fs-5);margin-bottom:var(--sp-2)}.sample-caption>p:last-child{color:var(--fg-muted);font-size:var(--fs-1);margin-bottom:0}.sample-footer{gap:var(--sp-4);border-top:1px solid var(--border);padding:var(--sp-4) var(--sp-5);font-size:var(--fs-0);color:var(--fg-muted);flex-wrap:wrap;display:flex}.form-stack,.reflection-form{gap:var(--sp-5);margin:var(--sp-5) 0;display:grid}.form-stack label,.reflection-note{gap:var(--sp-2);min-width:0;font-size:var(--fs-1);display:grid}.form-stack input,.form-stack select{width:100%}.form-stack label>span{font-size:var(--fs-0);color:var(--fg-muted)}.form-stack fieldset,.reflection-form fieldset{border:0;min-width:0;margin:0;padding:0}.form-stack legend{margin-bottom:var(--sp-3)}.form-pair{gap:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.form-triple{gap:var(--sp-3);grid-template-columns:repeat(3,1fr);display:grid}.form-stack input[aria-invalid=true]{border-color:var(--danger)}.equipment-fields{padding-top:var(--sp-4)!important;border-top:1px solid var(--border)!important}.completion-mark{background:var(--primary);width:52px;height:52px;color:var(--surface);margin-bottom:var(--sp-5);border-radius:50%;place-items:center;display:grid}.reflection-form legend{align-items:center;gap:var(--sp-3);font-weight:var(--w-medium);line-height:1.5;display:flex}.reflection-form legend span{color:var(--primary)}.reflection-choices{gap:var(--sp-2);margin-top:var(--sp-3);grid-template-columns:repeat(3,1fr);display:grid}.reflection-choices button{border:1px solid var(--border-strong);border-radius:var(--r-sm);font-size:var(--fs-1)}.reflection-choices button[aria-pressed=true]{background:var(--primary);color:var(--surface);border-color:var(--primary)}.reflection-note{margin-bottom:var(--sp-5)}.reflection-note textarea{width:100%}.reflection-screen .secondary-button{margin-top:var(--sp-3)}.modal-sheet{max-width:460px;width:calc(100% - var(--sp-6));border-radius:var(--r-lg);max-height:85dvh;padding:var(--sp-5);color:var(--fg);background:var(--surface);border:0;margin:auto;overflow:auto}.modal-sheet::backdrop{background:var(--scrim)}.modal-sheet button{width:100%;margin-top:var(--sp-2)}.modal-sheet p{color:var(--fg-muted)}.diagram-modal{width:calc(100vw - var(--sp-4));max-width:1200px;max-height:calc(100dvh - var(--sp-4));padding:var(--sp-3)}.diagram-modal .precise-diagram{--diagram-height:min(48svh, 480px)}.diagram-modal>div>h2{margin-bottom:var(--sp-2)}.state-panel{max-width:580px;min-height:70svh;padding:var(--sp-7) var(--sp-5);text-align:center;align-content:center;margin:auto;display:grid}.bib-loader{width:72px;height:96px;margin-bottom:var(--sp-5)}.bib-loader-fill{transform-box:fill-box;animation:2.2s cubic-bezier(.22,.8,.3,1) infinite bib-rise}@keyframes bib-rise{0%{transform:translateY(100%)}45%,85%{transform:translateY(0)}to{transform:translateY(100%)}}@media (width>=700px){.precise-diagram{grid-template-columns:minmax(0,1.4fr) minmax(230px,1fr);display:grid}.precise-diagram>*{grid-column:1/-1;min-width:0}.precise-diagram>.diagram-viewport{grid-area:3/1}.precise-diagram>.diagram-steps{grid-area:4/1;align-self:start}.precise-diagram>.diagram-legend{grid-area:5/1}.precise-diagram>.diagram-instruction{border-left:1px solid var(--border);flex-direction:column;grid-area:3/2}.precise-diagram>.diagram-coaching{border-left:1px solid var(--border);grid-area:4/2/span 2}.animation-controls{gap:var(--sp-2);flex-wrap:wrap;display:flex}}@media (width>=1200px){.today-view{gap:0 var(--sp-5);grid-template-columns:minmax(0,1fr) 360px;align-items:start;max-width:none;display:grid}.today-view>*{grid-column:1}.today-view>.today-card{grid-column:1/-1}.today-view>.session-blocks{grid-row:2/span 2}.today-view>.preparation-summary{grid-area:2/2}.today-view>.today-next{grid-area:3/2;margin-top:0}}@media (width>=850px){.session-detail:has(>.session-blocks){gap:0 var(--sp-5);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}.session-detail:has(>.session-blocks)>*{grid-column:1/-1}.session-detail:has(>.session-blocks)>.preparation-summary{margin-top:var(--sp-5);grid-area:5/2}.session-detail:has(>.session-blocks)>.session-blocks{grid-area:5/1/span 3}.precise-diagram{--diagram-height:min(44svh, 420px)}}@media (width>=1200px){.app-shell{padding-left:var(--nav-rail);padding-bottom:0}.bottom-nav{width:var(--nav-rail);padding:var(--sp-6) var(--sp-4) var(--sp-5);border-top:0;border-right:1px solid var(--border);flex-direction:column;justify-content:flex-start;gap:6px;display:flex;top:0;bottom:0;right:auto}.bottom-nav button{justify-content:flex-start;gap:var(--sp-3);padding:var(--sp-3);font-size:var(--fs-1);border-radius:var(--r-sm);flex-direction:row;min-height:48px}.bottom-nav button[aria-current=page]{background:var(--primary-soft)}.bottom-nav button[aria-current=page] .nav-icon{box-shadow:none;background:0 0}.bottom-nav{padding-top:96px}.session-blocks .exercise-row{min-height:76px;padding-block:var(--sp-2)}}@media (width<=1199px){.library-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.exercise-grid{grid-template-columns:1fr}.login-screen{gap:var(--sp-6);max-width:640px;padding:var(--sp-7) var(--sp-5);grid-template-columns:1fr}.login-brand{margin-bottom:var(--sp-4)}.training-sample .exercise-preview{height:220px}.library-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.session-detail{padding:var(--sp-4) var(--sp-5) 110px}}@media (width<=599px){.app-header{padding:var(--sp-3) var(--sp-4);gap:var(--sp-2);min-height:68px}.main-content{padding:var(--sp-4)}.page-heading{align-items:flex-start;gap:var(--sp-2);margin-bottom:var(--sp-4)}.today-card{padding:var(--sp-5);border-radius:var(--r-md)}.today-card .primary-button{width:100%;min-width:0}.today-card h2{font-size:var(--fs-3)}.hero-overview{gap:var(--sp-3)}.date-tile{flex-basis:56px;min-height:72px}.date-tile strong{font-size:var(--fs-6)}.training-facts{gap:var(--sp-3)}.upcoming-outline,.session-blocks{padding:var(--sp-4);margin-top:var(--sp-4)}.exercise-row{gap:var(--sp-3);min-height:68px;padding:var(--sp-3) 0;grid-template-columns:28px minmax(0,1fr) auto}.block-order{min-width:28px;min-height:28px}.exercise-row strong{font-size:var(--fs-2)}.library-cards{gap:var(--sp-3)}.library-cards .exercise-preview{height:112px;padding:var(--sp-3);margin-bottom:var(--sp-3)}.library-cards .exercise-row>span:nth-child(2){padding-inline:var(--sp-3)}.library-cards .exercise-row strong{font-size:var(--fs-2)}.cycle-grid{gap:var(--sp-3);grid-template-columns:1fr}.week-card{padding:var(--sp-4) var(--sp-4) var(--sp-2)}.week-card.current{border-color:var(--primary)}.week-card.current>div>span{color:var(--primary)}.week-card>div{min-height:72px}.team-facts>div{padding:var(--sp-5)}.team-facts strong{font-size:var(--fs-5)}.session-detail{padding:var(--sp-4) var(--sp-4) 110px}.preparation-summary{padding:var(--sp-4)}.preparation-summary li{grid-template-columns:1fr;gap:6px}.onboarding-screen,.reflection-screen{padding:var(--sp-5) var(--sp-4) 80px;border:0;border-radius:0;margin:0}.exercise-code{font-size:var(--fs-1);font-weight:var(--w-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:var(--sp-2)}.exercise-detail>h1{font-size:var(--fs-5)}.field-shell{padding-inline:var(--sp-3)}.diagram-instruction,.diagram-coaching{padding:var(--sp-3)}}@media (width<=370px){.form-pair,.form-triple{grid-template-columns:1fr}.attendance-row{gap:var(--sp-2)}.attendance-row>strong{font-size:var(--fs-1)}.segmented button{padding-inline:var(--sp-2);min-width:48px}.diagram-steps{grid-template-columns:repeat(4,1fr);display:grid}.diagram-steps button:first-child{grid-column:1/-1}.team-switcher{max-width:50%}.date-tile{display:none}.exercise-row{gap:var(--sp-2);grid-template-columns:26px minmax(0,1fr) auto}.library-cards,.reflection-choices{grid-template-columns:1fr}.diagram-instruction{flex-direction:column}}@media (orientation:landscape) and (height<=550px){.running-screen{gap:6px var(--sp-3);padding-top:var(--sp-2);grid-template-columns:170px minmax(0,1fr);align-content:start;align-items:start;display:grid}.running-screen .field-content{display:contents}.running-screen .field-header{flex-wrap:wrap;grid-area:1/1}.running-screen .field-meta{grid-area:2/1;margin:0}.running-screen h1{padding-top:var(--sp-2);font-size:var(--fs-3);grid-area:4/1;margin:0}.running-screen .field-exercise-layout{grid-area:1/2/span 6;min-width:0}.running-screen .precise-diagram{--diagram-height:140px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.running-screen .lead,.running-screen .eyebrow{display:none}.field-header{min-height:40px}.field-controls>button{min-height:48px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.accent-button{justify-content:center;align-items:center;gap:var(--sp-2);min-height:52px;padding:0 var(--sp-5);border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);font-weight:var(--w-bold);font-size:var(--fs-3);box-shadow:inset 0 calc(var(--btn-edge) * -1) 0 var(--accent-deep);display:inline-flex}.accent-button:hover{filter:brightness(1.04)}.accent-button:active{box-shadow:inset 0 -2px 0 var(--accent-deep);transform:translateY(2px)}.accent-button:disabled{opacity:.6;transform:none}.landing{max-width:none;padding:0;display:block}.landing h1,.landing h2,.landing h3{font-family:var(--font-display);font-weight:var(--w-display);letter-spacing:.005em;text-wrap:balance}.landing h1{font-size:clamp(var(--fs-6), 7vw, 72px);margin:var(--sp-3) 0 var(--sp-4);line-height:.98}.landing h2{font-size:clamp(var(--fs-5), 4vw, 42px);margin:0 0 var(--sp-3);line-height:1.02}.landing h3{font-size:var(--fs-4);margin:0 0 var(--sp-2);line-height:1.1}.lp-wrap{max-width:var(--page);padding:0 var(--sp-5);margin:0 auto}.lp-hero{background:var(--primary);color:var(--on-deep);padding:var(--sp-4) 0 var(--sp-7)}.lp-topbar{min-height:56px;padding-top:var(--sp-3);align-items:center;display:flex}.lp-hero .eyebrow{color:var(--on-deep-muted)}.lp-hero-grid{gap:var(--sp-6) var(--sp-7);margin-top:var(--sp-6);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;display:grid}.lp-lead{font-size:var(--fs-3);max-width:34em;color:var(--on-deep);margin:0 0 var(--sp-5);line-height:1.5}.lp-hero-copy small{margin-top:var(--sp-3);color:var(--on-deep-muted);font-size:var(--fs-1);display:block}.lp-hero-copy .inline-error{color:var(--on-deep)}.lp-cta{min-width:240px}.lp-hero-card{background:var(--surface);color:var(--fg);border-radius:var(--r-lg);padding:var(--sp-2);margin:0}.lp-hero-card figcaption{padding:var(--sp-3) var(--sp-2) var(--sp-2);font-size:var(--fs-1);color:var(--fg-muted)}.lp-pitch{background:var(--pitch-frame);border-radius:var(--r-md);padding:var(--sp-1);position:relative}.lp-pitch svg{height:auto;display:block;width:100%!important}.lp-badge{right:var(--sp-2);bottom:var(--sp-2);background:var(--fg);color:var(--on-deep);font-size:var(--fs-0);font-weight:var(--w-bold);border-radius:var(--r-pill);padding:3px var(--sp-2);position:absolute}.lp-section{padding:var(--sp-7) 0}.lp-section--alt{background:var(--surface)}.lp-intro{max-width:62ch;font-size:var(--fs-3);color:var(--fg);margin:0 0 var(--sp-5)}.lp-cards{gap:var(--sp-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.lp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5)}.lp-card p{color:var(--fg-muted);margin:0}.lp-unit{max-width:var(--reading)}.lp-blocks{margin:var(--sp-4) 0 0;padding:0;list-style:none}.lp-blocks li{gap:var(--sp-3);padding:var(--sp-3) 0;border-top:1px solid var(--border);grid-template-columns:40px minmax(0,1fr) auto;align-items:center;display:grid}.lp-block-n{font-family:var(--font-display);font-weight:var(--w-display);font-size:var(--fs-5);color:var(--fg-muted);text-align:center;line-height:1}.lp-block-text b{font-size:var(--fs-3);display:block}.lp-block-text small{color:var(--fg-muted);font-size:var(--fs-1);display:block}.lp-block-min{font-family:var(--font-display);font-weight:var(--w-medium);font-size:var(--fs-4);font-variant-numeric:tabular-nums;white-space:nowrap}.lp-demo{gap:var(--sp-5);grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:start;display:grid}.lp-demo-side{gap:var(--sp-4);display:grid}.lp-demo-count,.lp-cues,.lp-week-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4)}.lp-section--alt .lp-week-card{background:var(--bg)}.lp-demo-label{font-weight:var(--w-medium);margin-bottom:var(--sp-2);display:block}.lp-demo-result{margin:var(--sp-3) 0 0;color:var(--fg-muted);font-size:var(--fs-2)}.lp-cues ol{margin:0;padding-left:20px}.lp-cues li{margin:var(--sp-1) 0;font-size:var(--fs-3);font-weight:var(--w-medium)}.lp-cue-more{margin:var(--sp-3) 0 0;font-size:var(--fs-1);color:var(--fg-muted)}.lp-demo-main{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-3)}.lp-demo-head{align-items:baseline;gap:var(--sp-1) var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.lp-demo-head h3{margin:0}.lp-steps{gap:var(--sp-1);margin-top:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(96px,1fr));display:grid}.lp-steps button{min-height:56px;padding:var(--sp-2) var(--sp-1);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--fg-muted);font-size:var(--fs-0);text-align:center;justify-items:center;gap:2px;line-height:1.2;display:grid}.lp-steps button b{font-family:var(--font-display);font-weight:var(--w-display);font-size:var(--fs-4);color:var(--fg);line-height:1}.lp-steps button[aria-pressed=true]{border-color:var(--fg);background:var(--surface-2);color:var(--fg)}.lp-weeks{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.lp-weeks button{align-items:center;gap:var(--sp-2);min-height:48px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--fg);font-weight:var(--w-medium);font-size:var(--fs-2);display:inline-flex}.lp-weeks button[aria-pressed=true]{border-color:var(--fg);background:var(--surface-2)}.lp-weeks .bib{width:20px;height:20px}.lp-week-card h3{font-size:var(--fs-5)}.lp-week-card p:last-child{font-size:var(--fs-3);margin:0}.lp-club{gap:var(--sp-3);max-width:var(--reading);margin:0;padding:0;list-style:none;display:grid}.lp-club li{padding:var(--sp-3) 0;border-top:1px solid var(--border)}.lp-club b{display:block}.lp-final{margin-top:var(--sp-6);gap:var(--sp-2);justify-items:start;display:grid}.lp-final small{color:var(--fg-muted)}.lp-footer{background:var(--surface);border-top:1px solid var(--border);padding:var(--sp-6) 0}.lp-footer .lp-wrap{align-items:center;gap:var(--sp-3) var(--sp-5);flex-wrap:wrap;display:flex}.lp-footer p{color:var(--fg-muted);font-size:var(--fs-1);max-width:60ch;margin:0}@media (width<=900px){.lp-hero-grid,.lp-demo,.lp-cards{grid-template-columns:1fr}.lp-demo-side{order:2}}@media (width<=599px){.lp-wrap{padding:0 var(--sp-4)}.lp-section{padding:var(--sp-6) 0}.lp-cta{width:100%}.lp-blocks li{grid-template-columns:32px minmax(0,1fr) auto}.lp-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}.session-setup{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}.session-setup-content{gap:12px;padding-block:12px;display:grid}.session-setup-content label{font-size:var(--fs-1);gap:5px;display:grid}.session-setup-content p,.session-setup-content li{font-size:var(--fs-1);margin:0;line-height:1.5}.session-field-map{width:100%;height:auto;min-height:150px}.session-plan-scene svg{width:100%;height:280px}.session-clock{padding-left:20px}.session-clock li{padding:6px 0}.session-clock small{color:var(--fg-muted);display:block}.plan-warning{background:var(--surface-2);border-left:3px solid var(--fg);padding:10px}.training-diagram.precise-diagram{background:var(--surface);border-color:var(--border);--diagram-height:clamp(240px, 42svh, 440px);flex-direction:column;display:flex}.training-diagram>*{min-width:0}.diagram-modes{background:var(--surface-2);border-bottom:1px solid var(--border);gap:4px;padding:8px;display:flex}.diagram-modes button{min-height:48px;font-size:var(--fs-2);white-space:nowrap;border-radius:var(--r-md);color:var(--fg-muted);font-weight:var(--w-medium);background:0 0;border:0;flex:1;padding:8px 6px}.diagram-modes button[aria-pressed=true]{background:var(--surface);color:var(--fg);box-shadow:0 0 0 1px var(--border), 0 1px 0 var(--border-strong)}.training-diagram .diagram-review{font-size:var(--fs-1);background:var(--surface-2);order:12;padding:10px 16px}.training-diagram .diagram-toolbar{background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px}.training-diagram .diagram-toolbar label{flex:1;min-width:160px}.training-diagram .diagram-toolbar select{min-height:44px;margin:0}.training-diagram .diagram-toolbar>div{flex-wrap:wrap;display:flex}.training-diagram .diagram-toolbar>.seg{flex-wrap:nowrap;display:inline-flex}.training-diagram .diagram-viewport{background:var(--surface-2);height:auto;min-height:200px}.training-diagram .diagram-viewport svg{height:var(--diagram-height);display:block}.training-diagram .diagram-instruction{background:var(--surface);border:0;border-bottom:1px solid var(--border);order:0;padding:14px 16px}.training-diagram .diagram-instruction h3{font-size:var(--fs-3);line-height:1.35}.training-diagram .diagram-instruction p{color:var(--fg-muted);line-height:1.5}.training-diagram .diagram-legend{background:var(--surface);font-size:var(--fs-1);color:var(--fg-muted);flex-wrap:wrap;gap:5px 14px;margin:0;padding:10px 16px;display:flex}.training-diagram .diagram-legend span{align-items:center;gap:4px;display:inline-flex}.training-diagram .diagram-legend svg{width:30px;height:20px}.training-diagram .diagram-steps{background:var(--surface);flex-wrap:wrap;gap:5px;padding:8px;display:flex;overflow:visible}.training-diagram .diagram-steps button{white-space:normal;text-align:left;font-size:var(--fs-1);border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--fg);border-radius:var(--r-md);flex:125px;padding:8px 10px;line-height:1.35}.training-diagram .diagram-steps button[aria-pressed=true]{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-deep);font-weight:var(--w-medium)}.training-diagram .station-overview{flex-wrap:wrap;gap:6px;padding:8px 14px;display:flex}.training-diagram .station-overview button{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:row;flex:230px;align-items:center;gap:8px;padding:8px 12px;display:flex}.training-diagram .station-overview strong{font-size:var(--fs-2);color:var(--primary)}.training-diagram .station-overview span{font-size:var(--fs-1)}.sequence-controls{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;display:flex}.sequence-controls label{font-size:var(--fs-1);flex:160px}.sequence-controls input{width:100%;min-height:44px;accent-color:var(--primary);display:block}.sequence-controls button{min-height:44px;font-size:var(--fs-1)}.sequence-controls small{color:var(--fg-muted);font-size:var(--fs-1);flex-basis:100%}.training-diagram.mode-setup .diagram-next,.training-diagram.mode-lead .diagram-steps,.training-diagram.mode-lead .diagram-legend{display:none}.diagram-next{border-top:1px solid var(--border);background:var(--surface-2);padding:16px}.diagram-next h3{font-size:var(--fs-3)}.diagram-next p{font-size:var(--fs-2);color:var(--fg-muted);margin:8px 0 0;line-height:1.5}.diagram-rules{padding:10px 16px}.training-diagram .action-triggers{font-size:var(--fs-1);color:var(--fg-muted);margin:8px 0;padding-left:18px}.training-diagram .situation-label{font-size:var(--fs-1);font-weight:var(--w-medium);color:var(--fg-muted);margin-bottom:8px}.training-diagram .diagram-coaching{border-left:0}.training-diagram .diagram-coaching p{font-size:var(--fs-2);margin-top:10px}.exercise-detail:has(.training-diagram) .variant-picker{margin:8px 0 12px}.exercise-detail:has(.training-diagram) .exercise-meta{font-size:var(--fs-1);margin:8px 0 14px}.exercise-detail:has(.training-diagram) .exercise-code{margin:6px 0}.exercise-detail:has(.training-diagram) h1{margin-bottom:8px}.running-screen .training-diagram{overflow:visible}.running-screen .training-diagram .diagram-next{display:block}.field-shell.running-screen{height:calc(100dvh - var(--field-footer-height,150px));overscroll-behavior-y:contain;min-height:0;padding-bottom:24px;scroll-padding-bottom:16px;overflow-y:auto}@media (width>=900px){.training-diagram.precise-diagram{grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);display:grid}.training-diagram>*{grid-area:auto/1/auto/-1}.training-diagram>.diagram-modes{grid-row:1}.training-diagram>.diagram-toolbar{grid-row:2}.training-diagram>.diagram-viewport{grid-area:3/1}.training-diagram>.diagram-instruction{border-left:1px solid var(--border);flex-direction:column;grid-area:3/2}.training-diagram>.diagram-steps,.training-diagram>.diagram-legend,.training-diagram>.diagram-coaching{grid-area:auto/1/auto/-1}}@media (width<=699px){.exercise-detail:has(.training-diagram) .back-button{margin:0 0 8px}.exercise-detail:has(.training-diagram) h1{font-size:var(--fs-5);margin:0 0 4px;line-height:1.2}.exercise-detail:has(.training-diagram) .exercise-code{font-size:var(--fs-0);margin:4px 0}.exercise-detail:has(.training-diagram) .variant-picker{gap:8px;margin:4px 0 10px}.exercise-detail:has(.training-diagram) .exercise-meta{font-size:var(--fs-1);margin:4px 0 10px}.training-diagram .diagram-toolbar{padding:8px}.training-diagram .diagram-toolbar label{font-size:var(--fs-1);flex:100%;min-width:100px}.training-diagram .wide-label{display:none}.training-diagram .diagram-instruction{order:-1}.training-diagram .diagram-modes{order:-3}.training-diagram .diagram-toolbar{order:-2}.training-diagram .diagram-viewport svg{height:min(36svh,310px)}.training-diagram .animation-controls{flex-wrap:wrap;min-width:0;display:flex}.training-diagram .diagram-instruction{flex-direction:column;gap:6px;padding:10px 12px}.training-diagram .diagram-instruction h3{font-size:var(--fs-2);margin-bottom:4px}.training-diagram .diagram-instruction p{font-size:var(--fs-1)}.training-diagram .animation-controls{align-items:center;gap:8px}.training-diagram .animation-controls label{align-items:center;gap:8px;display:flex}.training-diagram .action-triggers summary{min-height:28px;padding-block:2px}.training-diagram .action-triggers{font-size:var(--fs-1)}}@media print{.field-shell.running-screen{height:auto;overflow:visible}.training-diagram.precise-diagram{display:block}.diagram-modes,.sequence-controls,.station-overview,.diagram-next button{display:none!important}.diagram-next{break-inside:avoid}.training-diagram.mode-setup .diagram-next{display:block}.training-diagram .diagram-print svg{-webkit-print-color-adjust:exact;print-color-adjust:exact}.training-diagram>details{display:none!important}.diagram-print .print-overview svg{max-height:75mm}.diagram-print .print-overview{break-inside:avoid}}.exercise-detail--card{max-width:none}.xcard{position:relative;container:xcard/inline-size}.xc-sprite{width:0;height:0;position:absolute;overflow:hidden}.xc-in{padding:0 0 var(--sp-5)}.xc-top{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.xc-top .xc-back{margin:0}.xc-context{color:var(--fg-muted);font-size:var(--fs-1);font-weight:var(--w-medium);align-items:center;gap:var(--sp-2);display:flex}.xc-ttl{align-items:baseline;gap:var(--sp-1) 10px;flex-wrap:wrap;display:flex}.xc-ttl .xc-city{width:100%;font-size:var(--fs-0);font-weight:var(--w-bold);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted);margin:0}.xc-ttl h1{font-size:var(--fs-6);margin:0;line-height:1}.xc-theme{font-size:var(--fs-1);font-weight:var(--w-medium);color:var(--primary-deep);background:var(--primary-soft);border-radius:var(--r-pill);white-space:nowrap;padding:3px 9px}.xc-ladder{gap:var(--sp-1);margin:var(--sp-3) 0 10px;grid-template-columns:repeat(4,1fr);display:grid}.xc-rung{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-md);text-align:center;color:var(--fg-muted);min-width:0;min-height:48px;padding:7px 4px 6px}.xc-rung b{font-family:var(--font-display);font-weight:var(--w-display);font-size:var(--fs-4);color:var(--fg);line-height:1;display:block}.xc-rung span{font-size:var(--fs-0);margin-top:2px;line-height:1.2;display:block}.xc-rung .xc-thumb{display:none}.xc-rung[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--on-deep)}.xc-rung[aria-pressed=true] b{color:var(--on-deep)}.xc-rule{background:var(--primary-deep);color:var(--on-deep);border-radius:var(--r-md);padding:var(--sp-3);gap:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr));display:grid}.xc-rule-cap{font-size:var(--fs-0);letter-spacing:.12em;text-transform:uppercase;color:var(--rule-caption);font-weight:var(--w-bold);grid-column:1/-1;margin:0 0 2px 2px}.xc-rule-cell{background:var(--deep-fill);border-radius:var(--r-md);gap:var(--sp-2);overflow-wrap:anywhere;grid-template-columns:34px minmax(0,1fr);align-items:center;min-width:0;padding:9px 10px;display:grid}.xc-rule-cell svg{background:var(--surface);border-radius:var(--r-sm);width:34px;height:34px;color:var(--fg);padding:4px}.xc-rule-cell b{font-family:var(--font-display);font-weight:var(--w-display);font-size:var(--fs-4);line-height:1;display:block}.xc-rule-cell span{font-size:var(--fs-1);color:var(--rule-muted);margin-top:1px;line-height:1.25;display:block}.xc-tabs{z-index:3;gap:var(--sp-1);background:var(--bg);padding:var(--sp-3) 0 var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,6.5rem),1fr));display:grid;position:sticky;top:0}.xc-tab{border-radius:var(--r-md);background:var(--surface-2);font-weight:var(--w-medium);font-size:var(--fs-2);color:var(--fg-muted);min-height:48px;padding:9px 0}.xc-tab[aria-selected=true]{background:var(--surface);color:var(--fg);box-shadow:0 0 0 1px var(--border), 0 1px 0 var(--border-strong)}.xc-tab small{font-size:var(--fs-0);font-weight:var(--w-regular);color:var(--fg-muted);margin-top:1px;display:block}.xc-body{gap:10px;display:grid}.xc-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3)}.xc-box+.xc-box{margin-top:10px}.xc-box h3{font-size:var(--fs-1);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-muted);font-weight:var(--w-bold);margin:0 0 10px}.xc-p{display:none}.xcard[data-mode=setup] .xc-p-setup,.xcard[data-mode=explain] .xc-p-explain,.xcard[data-mode=lead] .xc-p-lead{display:block}.xc-panel-title{font-size:var(--fs-1);font-weight:var(--w-bold);letter-spacing:.14em;text-transform:uppercase;color:var(--primary);margin:0 0 var(--sp-2) 2px;display:none}.xc-pitch{background:var(--pitch-frame);border-radius:var(--r-sm);padding:var(--sp-1);position:relative}.xc-pitch svg{height:auto;display:block;width:100%!important}.xc-badge{bottom:var(--sp-2);right:var(--sp-2);background:var(--fg);color:var(--on-deep);font-size:var(--fs-0);font-weight:var(--w-bold);border-radius:var(--r-pill);padding:3px 8px;position:absolute}.xc-steps{gap:var(--sp-1);margin-top:var(--sp-2);grid-template-columns:repeat(5,1fr);display:grid}.xc-step{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-md);color:var(--fg-muted);font-size:var(--fs-0);flex-direction:column;align-items:center;gap:3px;min-width:0;min-height:48px;padding:6px 2px 5px;display:flex}.xc-step svg{width:30px;height:12px}.xc-step b{font-size:var(--fs-2);color:var(--fg);line-height:1}.xc-step[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-deep)}.xc-now{justify-content:space-between;align-items:center;gap:var(--sp-2);margin:var(--sp-3) 0 var(--sp-1);display:flex}.xc-now h2{font-size:var(--fs-3);margin:0}.xc-play{background:var(--primary);color:var(--on-deep);border-radius:var(--r-pill);font-weight:var(--w-medium);font-size:var(--fs-1);padding:var(--sp-2) 13px;white-space:nowrap;min-height:44px}.xc-act{gap:var(--sp-2);padding:var(--sp-2) 0;border-top:1px solid var(--border);grid-template-columns:auto 40px 1fr;align-items:center;display:grid}.xc-act:first-child{border-top:0}.xc-act>svg{width:40px;height:16px}.xc-act p{font-size:var(--fs-2);line-height:1.3;font-weight:var(--w-medium);margin:0}.xc-act p small{color:var(--fg-muted);font-size:var(--fs-1);font-weight:var(--w-regular);display:block}.xc-chips{flex-wrap:wrap;gap:3px;display:flex}.xc-chip{width:28px;height:28px;color:var(--on-deep);font-weight:var(--w-bold);font-size:var(--fs-1);border-radius:50%;flex:none;place-items:center;display:grid}.xc-chip--a{background:var(--diagram-player)}.xc-chip--b{background:var(--diagram-team-b)}.xc-chip--neutral{background:var(--surface);color:var(--diagram-neutral);border:2px solid var(--diagram-neutral)}.xc-chip--sm{width:22px;height:22px;font-size:var(--fs-0)}.xc-event{gap:var(--sp-2);background:var(--warm-soft);color:var(--warm-ink);border-radius:var(--r-md);font-size:var(--fs-1);font-weight:var(--w-medium);align-items:center;margin-top:6px;padding:7px 9px;display:flex}.xc-event svg{flex:none;width:20px;height:20px}.xc-setup-only,.xc-steps-only{display:none}.xcard[data-mode=setup] .xc-setup-only,.xcard:not([data-mode=setup]) .xc-steps-only{display:block}.xc-facts{gap:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.xc-fact{gap:var(--sp-2);background:var(--surface-2);border-radius:var(--r-md);padding:var(--sp-2) 9px;overflow-wrap:anywhere;grid-template-columns:30px minmax(0,1fr);align-items:center;min-width:0;display:grid}.xc-fact svg{width:30px;height:30px}.xc-fact b{font-size:var(--fs-2);font-variant-numeric:tabular-nums;line-height:1.1;display:block}.xc-fact span{font-size:var(--fs-0);color:var(--fg-muted);margin-top:1px;line-height:1.2;display:block}.xc-kit{margin-top:var(--sp-2);grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.xc-kit div{background:var(--surface-2);border-radius:var(--r-md);padding:var(--sp-2) 6px;text-align:center}.xc-kit svg{width:22px;height:22px;margin:0 auto 3px;display:block}.xc-kit b{font-size:var(--fs-3);font-variant-numeric:tabular-nums}.xc-kit small{font-size:var(--fs-0);color:var(--fg-muted);line-height:1.2;display:block}.xc-check{gap:6px;margin:0;padding:0;list-style:none;display:grid}.xc-check li{font-size:var(--fs-2);padding:var(--sp-1) 0;grid-template-columns:26px 1fr auto;align-items:center;gap:9px;line-height:1.3;display:grid}.xc-num{background:var(--fg);width:26px;height:26px;color:var(--on-deep);font-weight:var(--w-bold);font-size:var(--fs-1);border-radius:50%;place-items:center;display:grid}.xc-num--spare{background:var(--surface);color:var(--fg-muted);border:2px solid var(--border-strong)}.xc-cnt{align-items:center;gap:var(--sp-1);font-size:var(--fs-1);font-weight:var(--w-bold);color:var(--fg-muted);font-variant-numeric:tabular-nums;display:flex}.xc-cnt svg{width:18px;height:18px}.xc-roles{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.xc-role{gap:var(--sp-2);font-size:var(--fs-1);align-items:center;display:flex}.xc-loop{text-align:center;font-size:var(--fs-0);color:var(--fg-muted);align-items:center;gap:2px;display:grid}.xc-node{background:var(--surface-2);border-radius:var(--r-md);padding:var(--sp-2) 2px}.xc-node b{font-size:var(--fs-1);color:var(--fg);margin-top:3px;display:block}.xc-node .xc-chips{justify-content:center}.xc-arrow{color:var(--fg-muted)}.xc-foot{gap:var(--sp-2);margin:var(--sp-2) 0 0;font-size:var(--fs-1);color:var(--fg-muted);align-items:center;display:flex}.xc-foot svg{flex:none;width:20px;height:20px}.xc-cue{grid-template-columns:40px 1fr;align-items:start;gap:10px;display:grid}.xc-cue+.xc-cue{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.xc-cue svg{background:var(--surface-2);border-radius:var(--r-sm);width:40px;height:40px;padding:7px}.xc-cue b{font-size:var(--fs-1);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:2px;display:block}.xc-cue p{font-size:var(--fs-4);line-height:1.35;font-weight:var(--w-medium);margin:0}.xc-cue--big p{font-size:var(--fs-5)}.xc-field{gap:var(--sp-2);grid-template-columns:1fr 1fr;margin-top:10px;display:grid}.xc-bigbtn{border-radius:var(--r-md);font-weight:var(--w-bold);font-size:var(--fs-3);padding:var(--sp-4) 10px;justify-content:center;align-items:center;gap:var(--sp-2);min-height:60px;display:flex}.xc-bigbtn svg{width:22px;height:22px}.xc-go{background:var(--accent);color:var(--on-accent);box-shadow:inset 0 calc(var(--btn-edge) * -1) 0 var(--accent-deep)}.xc-clock{background:var(--fg);color:var(--on-deep);font-variant-numeric:tabular-nums}.xc-clock--done{background:var(--danger)}.xc-note{margin:var(--sp-2) 0 0;font-size:var(--fs-1);color:var(--fg-muted)}.xc-full{margin-top:10px}.xc-full summary{cursor:pointer;font-size:var(--fs-1);font-weight:var(--w-medium);color:var(--primary);padding:var(--sp-2) 0}.xc-full p{font-size:var(--fs-1);color:var(--note);margin:6px 0;line-height:1.55}@container xcard (width>=700px){.xc-ttl h1{font-size:var(--fs-6)}.xc-ladder{grid-template-columns:repeat(4,minmax(0,160px))}.xc-rule{grid-template-columns:repeat(3,minmax(0,1fr))}.xc-rule-cap{font-size:var(--fs-1);grid-column:auto;align-self:center;margin:0;line-height:1.4}.xc-body{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:14px}.xc-stagecol{position:sticky;top:74px}.xc-panels{min-width:0}}@container xcard (width>=1100px){.xc-tabs{display:none}.xc-headrow{gap:var(--sp-5);grid-template-columns:minmax(0,1fr) 560px;align-items:end;display:grid}.xc-ladder{grid-template-columns:repeat(4,1fr);margin:0}.xc-rung{text-align:left;padding:6px}.xc-rung .xc-thumb{background:var(--pitch-frame);border-radius:var(--r-sm);margin-bottom:5px;padding:2px;display:block}.xc-rung .xc-thumb svg{height:auto;display:block;width:100%!important}.xc-rung b,.xc-rung span{display:inline}.xc-rung span{margin-left:var(--sp-1)}.xc-rule{margin-top:14px}.xc-body{gap:var(--sp-4);margin-top:var(--sp-4);grid-template-columns:300px minmax(0,1fr) 300px}.xc-p{display:block}.xc-panels{display:contents}.xc-p-setup{grid-area:1/1/span 2}.xc-stagecol{grid-area:1/2;position:static}.xc-p-explain{grid-area:2/2}.xc-p-lead{grid-area:1/3/span 2}.xcard[data-mode] .xc-setup-only{display:none}.xcard[data-mode] .xc-steps-only{display:block}.xc-grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.xc-grid2 .xc-box+.xc-box{margin-top:0}.xc-panel-title{display:block}}@media print{.xc-tabs,.xc-field,.xc-play,.xc-steps,.xc-back{display:none}.xc-p{display:block}:root{background:var(--surface)}.app-header,.bottom-nav,.sub-header,.sticky-action,.field-header,.field-controls,.back-button,.variant-picker,.animation-controls,.print-action,.diagram-toolbar,.diagram-steps,.diagram-viewport,.situation-label,.skip-link,.field-save-status,.run-actions,.diagram-instruction{display:none!important}.app-shell{padding:0}main,.session-detail,.main-content,.field-shell{max-width:none;padding:0;display:block}.session-detail:has(>.session-blocks){max-width:none;padding:0;display:block}.exercise-grid,.precise-diagram{display:block}.precise-diagram{box-shadow:none;border:0;overflow:visible}.exercise-preview{-webkit-print-color-adjust:exact;print-color-adjust:exact}.diagram-print{display:block}.diagram-print section{break-before:page;grid-template-columns:1fr 1fr;align-items:start;gap:4mm;display:grid}.diagram-print section>h3{grid-column:1/-1;margin:0}.diagram-print .print-setup p{font-size:var(--fs-0);margin:0}.diagram-print figure{break-inside:avoid;margin:0}.diagram-print svg{height:auto;max-height:55mm;width:100%!important}.diagram-print figcaption{font-size:var(--fs-0);line-height:1.4}.diagram-coaching,.diagram-review,.diagram-rotation,.diagram-legend,.coaching-section{break-inside:avoid}details:not([open])>:not(summary){display:block!important}}
