@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-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:#f4f6f9;--surface:#fff;--surface-2:#f2f5fc;--fg:#172033;--fg-muted:#596579;--border:#e0e5ee;--border-strong:#cbd3df;--primary:#2457e6;--primary-deep:#1743bb;--primary-soft:#edf2ff;--accent:#d53f44;--danger:#d53f44;--danger-soft:#fff2f2;--danger-ink:#9b242a;--ok-ink:#24705a;--ok-soft:#edf6f1;--pitch:#eef3fc;--pitch-line:#bccbd5;--on-deep:#e4ebff;--on-deep-muted:#d0dcff;--deep-line:#ffffff30;--deep-border:#ffffff45;--deep-fill:#ffffff14;--deep-fill-soft:#ffffff0b;--scrim:#17203370;--timeline-alt:#7c9aea;--notice-bg:#eaf0f8;--fs-0:.6875rem;--fs-1:.8125rem;--fs-2:.9375rem;--fs-3:1.0625rem;--fs-4:1.3125rem;--fs-5:1.6875rem;--fs-6:2.125rem;--w-regular:400;--w-medium:600;--w-bold:750;--r-sm:8px;--r-md:14px;--r-lg:20px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--page:1220px;--reading:700px;--nav-rail:216px;font-synthesis:none;font-feature-settings:"ss01", "cv11";text-rendering:optimizelegibility;color:var(--fg);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{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-size:var(--fs-5);font-weight:var(--w-bold);letter-spacing:-.03em;margin-bottom:var(--sp-3);line-height:1.15}h2{font-size:var(--fs-4);font-weight:var(--w-medium);letter-spacing:-.02em;line-height:1.3}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)}.back-button{margin-bottom:var(--sp-4);padding-left:0}.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-word{white-space:nowrap;font-size:var(--fs-4);font-weight:var(--w-bold);letter-spacing:-.045em;color:var(--fg);align-items:center;gap:6px;display:inline-flex}.cone-mark{flex:none;width:24px;height:24px;display:block}.brand-word .cone-mark{width:20px;height:20px}.wordmark{align-items:center;min-height:48px;text-decoration:none;display:flex}.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);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%}.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{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}.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-3);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-deep);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{background:var(--deep-fill);border:1px solid var(--deep-border);color:var(--surface);border-radius:var(--r-sm);padding:5px var(--sp-2);font-weight:var(--w-medium);font-size:var(--fs-0)}.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-size:var(--fs-6);font-weight:var(--w-regular);letter-spacing:-.05em;line-height:1.2}.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-4);font-weight:var(--w-medium);letter-spacing:-.02em;max-width:570px;margin:0;line-height:1.35}.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(--surface);color:var(--primary-deep)}.today-card .primary-button:hover:not(:disabled){background:var(--primary-soft);color:var(--primary-deep)}.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)}.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(--accent)}.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-size:var(--fs-1);font-variant-numeric:tabular-nums;align-self:start;place-items:center;display:grid}.today-footer{gap:var(--sp-2) var(--sp-5);margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;display:flex}.today-footer .text-button{padding-inline:0}.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)}.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-size:var(--fs-5);letter-spacing:-.05em;color:var(--fg-muted);font-weight:var(--w-regular)}.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 li button{justify-content:space-between;gap:var(--sp-4);text-align:left;border-top:1px solid var(--border);width:100%;padding:var(--sp-3) 0;font-size:var(--fs-1);align-items:center;display:flex}.week-card li button:hover{background:var(--surface-2)}.week-card em{font-size:var(--fs-0);color:var(--fg-muted);background:var(--surface-2);border-radius:var(--r-sm);padding:5px var(--sp-2);font-style:normal}.week-card .status-running{color:var(--primary-deep);background:var(--primary-soft)}.week-card .status-completed{color:var(--ok-ink);background:var(--ok-soft)}.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)}.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>details:first-child{border-top: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);margin:var(--sp-4) 0;background:var(--surface);border:1px solid var(--border);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-sm);flex-wrap:wrap;width:fit-content;max-width:100%;display:flex}.variant-picker input{width:90px}.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-view>label{gap:var(--sp-2);margin:var(--sp-5) 0 var(--sp-3);font-size:var(--fs-1);display:grid}.library-search{background:var(--surface);padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);max-width:620px}.library-search input{border-color:var(--border);background:var(--surface-2)}.library-filters{gap:var(--sp-1);padding:var(--sp-1);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);flex-wrap:wrap;width:fit-content;max-width:100%;display:flex}.library-filters button{min-height:44px;font-size:var(--fs-1);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);color:var(--fg-muted)}.library-filters button[aria-pressed=true]{background:var(--surface);color:var(--primary);font-weight:var(--w-medium)}.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-4);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-toolbar button{padding:var(--sp-2);font-size:var(--fs-1);border-radius:var(--r-sm)}.diagram-toolbar button:hover{background:var(--primary-soft)}.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);display:grid;position:absolute;box-shadow:0 8px 24px #1c2b4318}.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)}.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}.player-count select{min-width:70px}.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(--primary);color:var(--surface);font-size:var(--fs-3)}.field-timer{font-variant-numeric:tabular-nums;place-items:center;gap:2px;display:grid}.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}.skeleton{gap:var(--sp-3);margin-bottom:var(--sp-5);display:grid}.skeleton i{background:var(--surface-2);border-radius:var(--r-sm);height:20px}@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>=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-5)}.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}}@media print{: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}}
