@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";.app-download{background:linear-gradient(135deg, var(--color-canvas), var(--color-panel));padding:72px 32px}.app-download-inner{max-width:var(--page-max);grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,6vw,96px);margin-inline:auto;display:grid}.app-download-copy .eyebrow{color:var(--color-accent);letter-spacing:.14em;font-size:.65rem}.app-download-copy h2{max-width:10em;font-family:var(--font-display);letter-spacing:-.055em;text-wrap:balance;margin:24px 0;font-size:clamp(2.6rem,4.4vw,4.4rem);line-height:1.06}.app-download-lead{max-width:360px;color:var(--color-muted);line-height:1.7}.app-download-platforms{color:var(--color-ink-soft);margin:26px 0 14px;font-size:.8rem;font-weight:600}.app-download-stores{flex-wrap:wrap;gap:12px;display:flex}.app-download-store{border:1px solid var(--color-ink);border-radius:var(--radius-md);min-width:160px;color:var(--color-on-dark);background:var(--color-ink);transition:background var(--transition-fast);gap:2px;padding:12px 22px;text-decoration:none;display:grid}.app-download-store:hover{background:var(--color-accent-deep)}.app-download-store span{font-size:.65rem}.app-download-store strong{font-size:1.15rem}.app-download-browser{color:var(--color-link);text-underline-offset:5px;margin-top:24px;font-size:.9rem;font-weight:600;display:inline-block}.app-download-coming{color:var(--color-muted);margin:16px 0 0;font-size:.8rem;line-height:1.5}.app-download-mockup{border-radius:28px;justify-self:center;width:100%;max-width:440px;height:auto;display:block}@media (width<=700px){.app-download{padding:56px 20px}.app-download-inner{grid-template-columns:1fr;gap:32px}.app-download-copy{text-align:center}.app-download-copy h2,.app-download-lead{margin-inline:auto}.app-download-stores{justify-content:center}.app-download-mockup{border-radius:20px;max-width:360px}}.landing--cinematic{--hero-sky:#c4def1;--hero-deep:#102e49;background:var(--color-canvas)}.landing--cinematic .landing-header{z-index:5;width:min(100% - 64px,1440px);padding-block:24px;position:absolute;top:0;left:50%;transform:translate(-50%)}.landing--cinematic .landing-brand,.landing--cinematic .landing-nav--desktop .landing-nav-link{color:var(--color-on-dark)}.landing--cinematic .landing-nav--desktop .landing-nav-link:hover,.landing--cinematic .landing-nav--desktop .landing-nav-link.is-active{color:#8fc3ff}.landing--cinematic .landing-mobile-menu .landing-nav-link{color:var(--color-ink)}.cinematic-main{width:100%}.scroll-story{position:relative}.scroll-story[data-motion=true]{height:480svh}.scroll-story[data-motion=true] .scroll-story-stage{min-height:0}.scroll-story-stage{--story-opening:1;--story-portal:0;--story-interface:1;--story-resolution:0;--story-progress:0;isolation:isolate;height:100svh;min-height:740px;color:var(--color-on-dark);background:#081a2c;position:sticky;top:0;overflow:hidden}.scroll-story-stage:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#081a2ce6,#081a2c99 65%,#081a2c66);position:absolute;inset:0}.scroll-story-atmosphere{z-index:-1;background:radial-gradient(at 48% 42%,#eef8ff 0%,#0000 58%),linear-gradient(165deg,#aecfe8 0%,#dceefa 55%,#87b5d6 100%);position:absolute;inset:0}.scroll-story-opening{z-index:2;text-align:center;width:min(100% - 40px,960px);opacity:var(--story-opening);transform:translate(-50%, calc((1 - var(--story-opening)) * -50px));position:absolute;top:clamp(110px,14svh,170px);left:50%}.scroll-story-opening .eyebrow{letter-spacing:.19em;margin-bottom:20px;font-size:.68rem}.scroll-story-opening h1{font-family:var(--font-display);letter-spacing:-.065em;margin:0;font-size:clamp(3.4rem,6.4vw,6.2rem);font-weight:650;line-height:.99}.scroll-story-opening h1 span{color:#8fc3ff}.scroll-story-lead{max-width:440px;margin:24px auto 20px;font-size:.94rem;line-height:1.6}.scroll-story-opening .landing-actions{align-items:center;gap:24px}.scroll-story-opening .ui-button{min-width:118px}.scroll-story-text-link{color:inherit;text-underline-offset:5px;font-size:.86rem;font-weight:600}.scroll-story-portal{z-index:0;top:calc(64% * (1 - var(--story-portal)));left:calc(50% * (1 - var(--story-portal)));width:calc(300px + (100% - 300px) * var(--story-portal));height:calc(580px + (100% - 580px) * var(--story-portal));transform:translateX(calc(-50% * (1 - var(--story-portal))));border:calc(10px * (1 - var(--story-portal))) solid #142033;border-radius:calc(44px * (1 - var(--story-portal)));background:#172b3a;position:absolute;overflow:hidden;box-shadow:0 26px 70px #102e4933}.scroll-story-track{object-fit:cover;object-position:center 65%;width:100%;height:100%}.scroll-story-phone-ui{opacity:var(--story-interface);position:absolute;inset:0}.scroll-story-phone-ui .landing-stage{height:100%;margin:0}.scroll-story-phone-ui .landing-device{width:100%;height:100%;margin:0}.scroll-story-phone-ui .landing-phone{height:100%;box-shadow:none;background:0 0;padding:0}.scroll-story-phone-ui .landing-screen{background:#f3f6fae8;border-radius:0;height:100%}.scroll-story-phone-ui .landing-device:before,.scroll-story-phone-ui .landing-float{display:none}.scroll-story-phone-ui .landing-status{height:55px;padding-top:20px}.scroll-story-phone-ui .landing-app{gap:20px;padding-top:22px}.scroll-story-resolution{z-index:2;color:#fff;opacity:var(--story-resolution);pointer-events:none;background:0 0;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(28px,8vw,140px);display:flex;position:absolute;inset:0}.scroll-story-resolution h2{max-width:12em;font-family:var(--font-display);letter-spacing:-.06em;margin:12px 0 24px;font-size:clamp(2.8rem,5.5vw,6rem);line-height:1.03}.scroll-story-resolution>p:last-child{color:#e4edf5;max-width:360px;line-height:1.7}.scroll-story-resolution .eyebrow{letter-spacing:.15em;font-size:.67rem}.scroll-story-progress{z-index:4;background:var(--color-accent);width:100%;height:3px;transform:scaleX(var(--story-progress));transform-origin:0;position:absolute;bottom:0;left:0}.scroll-story-media,.scroll-story-media img,.scroll-story-media canvas{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scroll-story-media canvas{opacity:0}.scroll-story-media canvas[data-ready=true]{opacity:1}.scroll-story[data-media=true] .scroll-story-media{top:calc(40% * (1 - var(--story-portal)));height:calc(100% - 40% * (1 - var(--story-portal)));-webkit-mask-image:linear-gradient(#0000,#000 12%,#000);mask-image:linear-gradient(#0000,#000 12%,#000)}.scroll-story[data-media=true] .scroll-story-media img{object-fit:contain;width:auto;max-width:none;left:50%;transform:translate(-50%)}.scroll-story[data-media=true] .scroll-story-atmosphere{background:linear-gradient(145deg,#acd0ea,#c8e3f5)}.scroll-story[data-media=true] .scroll-story-opening h1{font-size:clamp(3rem,5.5vw,5.2rem)}.landing-overview{width:min(100% - 64px, var(--page-max));grid-template-columns:1fr 1fr;gap:80px;margin:0 auto;padding:120px 0;scroll-margin-top:32px;display:grid}.landing-overview-heading h2{font-family:var(--font-display);letter-spacing:-.06em;margin:24px 0;font-size:clamp(2.8rem,4.3vw,4.8rem);line-height:1.03}.landing-overview-heading h2 span{color:var(--color-accent)}.landing-overview-heading>p:last-child{max-width:350px;color:var(--color-muted);line-height:1.7}.landing-overview .eyebrow{letter-spacing:.12em;color:var(--color-accent);font-size:.63rem}.landing-feature-list article{border-top:1px solid var(--color-border-strong);grid-template-columns:35px 1fr;gap:22px;padding:28px 0;display:grid}.landing-feature-number{color:var(--color-muted);padding-top:3px;font-size:.72rem}.landing-feature-list h3{font-family:var(--font-display);letter-spacing:-.045em;margin:12px 0;font-size:1.6rem}.landing-feature-list article p:last-child{color:var(--color-muted);margin-bottom:0;font-size:.93rem;line-height:1.65}.landing-invitation{text-align:center;background:var(--color-panel);padding:80px 24px 100px}.landing-invitation .eyebrow{color:var(--color-accent);letter-spacing:.14em;font-size:.65rem}.landing-invitation h2{font-family:var(--font-display);letter-spacing:-.055em;margin:20px 0;font-size:clamp(2.2rem,4vw,4rem)}.landing-invitation>p{color:var(--color-muted)}.landing-invitation .landing-actions{margin-top:28px}.landing--cinematic .landing-footer{padding-top:30px}.scroll-story[data-motion=false] .scroll-story-resolution,.scroll-story[data-motion=false] .scroll-story-progress{display:none}@media (width>=701px){.scroll-story[data-media=true] .scroll-story-media{height:100%;top:0;-webkit-mask-image:none;mask-image:none}.scroll-story[data-media=true] .scroll-story-media img{object-fit:cover;object-position:center bottom;width:100%;left:0;transform:none}.scroll-story[data-media=true] .scroll-story-media:after{content:"";opacity:var(--story-opening);pointer-events:none;background:linear-gradient(90deg,#c8e3f5e6,#c8e3f566 30%,#0000 55%);position:absolute;inset:0}.scroll-story[data-media=true] .scroll-story-opening{text-align:left;width:39%;transform:translateY(calc((1 - var(--story-opening)) * -50px));top:clamp(120px,20svh,220px);left:5%}.scroll-story[data-media=true] .scroll-story-opening h1{font-size:clamp(2rem,4.2vw,5.2rem)}.scroll-story[data-media=true] .scroll-story-lead{max-width:360px;margin-inline:0}.scroll-story[data-media=true] .scroll-story-opening .landing-actions{justify-content:flex-start}}@media (width<=700px){.landing--cinematic .landing-header{gap:10px;width:calc(100% - 32px);padding-block:18px;left:16px;transform:none}.landing--cinematic .landing-brand-name{font-size:1rem}.landing--cinematic .landing-brand .brand-logo{width:30px;height:30px}.scroll-story[data-motion=true]{height:420svh}.scroll-story-stage{min-height:720px}.scroll-story-opening{top:125px}.scroll-story-opening h1{font-size:clamp(2.8rem,10.5vw,4.4rem)}.scroll-story[data-media=true] .scroll-story-opening h1{font-size:clamp(2.7rem,10vw,4rem)}.scroll-story-opening .eyebrow{font-size:.56rem}.scroll-story-lead{max-width:340px;margin-top:20px;font-size:.86rem}.scroll-story-portal{top:calc(59% * (1 - var(--story-portal)));width:calc(250px + (100% - 250px) * var(--story-portal))}.scroll-story-resolution{background:0 0;padding:28px}.scroll-story-resolution h2{font-size:clamp(2.4rem,9vw,3.5rem)}.landing-overview{grid-template-columns:1fr;gap:30px;width:calc(100% - 40px);padding-block:70px}.landing-invitation{padding-block:60px}}@media (prefers-reduced-motion:reduce){.scroll-story[data-motion=true]{height:auto}.scroll-story-stage{position:relative}}:root{--font-body:"DM Sans", sans-serif;--font-display:Manrope, sans-serif;--color-ink:#142033;--color-ink-soft:#2a3c4f;--color-muted:#5c6b7a;--color-muted-soft:#6a7a8a;--color-canvas:#f3f6fa;--color-canvas-soft:#f5f8fc;--color-surface:#fff;--color-surface-soft:#f8fafc;--color-panel:#e3ecf6;--color-border:#d9e2ec;--color-border-strong:#d0dbe6;--color-accent:#215aa9;--color-accent-ink:#fff;--color-accent-hover:#1a4787;--color-accent-soft:#e3ecf6;--color-accent-deep:#1a4787;--color-focus:#215aa9;--color-focus-ring:#d4e4f5;--color-danger:#ab3b3b;--color-danger-soft:#a65353;--color-link:#215aa9;--color-forest:#0e1620;--color-forest-soft:#1a2c40;--color-on-dark:#f3f6fa;--color-on-dark-muted:#b7c4d1;--color-surface-highlight:#f8fafc;--color-surface-muted:#f5f8fc;--color-control:#f3f6fa;--color-control-text:#5c6b7a;--color-disabled:#9aa7b4;--radius-sm:8px;--radius-md:10px;--radius-lg:16px;--radius-xl:18px;--radius-pill:999px;--space-1:6px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:28px;--space-7:42px;--space-8:48px;--shadow-dialog:0 24px 70px #0e162038;--shadow-focus:0 0 0 3px var(--color-focus-ring);--z-dialog:900;--z-dialog-nested:940;--z-navigation:1000;--z-toast:1200;--control-height:44px;--transition-fast:.15s ease;--page-max:1120px;--page-max-wide:1280px;--breakpoint-mobile:720px}html{font-family:var(--font-body);color:var(--color-ink);background:var(--color-canvas);scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}.brand{align-items:center;line-height:0;text-decoration:none;display:inline-flex}.brand-logo{object-fit:contain;width:40px;height:40px;display:block}.aside-copy{margin:auto 0}.eyebrow{letter-spacing:.14em;color:var(--color-muted);margin:0 0 10px;font-size:.69rem;font-weight:700}.eyebrow.light{color:var(--color-on-dark-muted)}h1,h2,p{margin-top:0}.aside-footer{font-size:.85rem;font-weight:600;color:var(--color-on-dark-muted)!important}label{color:#566057;margin-bottom:15px;font-size:.8rem;font-weight:600;display:block}input,select{width:100%;color:var(--color-ink);background:#fff;border:1px solid #dce0da;border-radius:10px;outline:none;margin-top:6px;padding:13px 14px}input:focus,select:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.primary-button{width:100%;color:var(--color-accent-ink);background:var(--color-accent);border:0;border-radius:10px;margin-top:9px;padding:14px 18px;font-weight:700}.primary-button:disabled{opacity:.45;cursor:not-allowed}.form-error{color:var(--color-danger);margin:0 0 12px;font-size:.85rem}.event{color:#566057;background:#fff;border:1px solid #dce1da;border-radius:999px;padding:9px 13px;font-size:.86rem;font-weight:600}.subtitle{color:#718075}.secondary-button{color:#9ba39b;background:#f5f6f2;border:1px solid #dce1da;border-radius:10px;padding:13px 16px;font-weight:700}.quiet-button,.back-button{color:var(--color-link);background:0 0;border:0;padding:0;font-weight:700}.date-field-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.remove-phase-button{color:#a65353;background:0 0;border:0;padding:4px;font-size:.82rem;font-weight:700}.custom-rhythm-input{color:#536254;border:1px dashed #b8c9ad;border-radius:11px;grid-template-columns:1fr auto;gap:4px 8px;margin:0;padding:9px 10px;font-size:.72rem;display:grid}.custom-rhythm-input input{text-align:center;grid-row:2;width:100%;min-width:0;margin:0;padding:5px 7px}.custom-rhythm-input span{align-self:end;padding-bottom:7px}.day-rest-choice{color:#617062;text-align:left;background:#fff;border:1px solid #d6dfd4;border-radius:9px;width:100%;margin:4px 0 12px;padding:11px;font-size:.82rem;font-weight:800}.day-rest-choice.selected{color:#455245;background:#eef1ec;border-color:#9fa99f}.ui-button{min-height:var(--control-height);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);text-align:center;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);border:1px solid #0000;padding:11px 16px;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.ui-button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.ui-button:disabled{cursor:not-allowed;opacity:.5}.ui-button--primary{background:var(--color-accent);color:var(--color-accent-ink)}.ui-button--primary:hover:not(:disabled){background:var(--color-accent-hover)}.ui-button--secondary{border-color:var(--color-border);background:var(--color-control);color:var(--color-control-text)}.ui-button--secondary:hover:not(:disabled){background:var(--color-panel);border-color:#c7d0c5}.ui-button--ghost{min-height:auto;color:var(--color-link);background:0 0;border:0;justify-content:flex-start;padding:0}.ui-button--ghost:hover:not(:disabled){color:var(--color-accent-deep)}.ui-button--accent-link{min-height:auto;color:var(--color-accent);background:0 0;border:0;justify-content:flex-start;padding:0;font-size:.84rem}.ui-button--accent-link:disabled{color:var(--color-disabled)}.ui-button--danger{color:var(--color-danger);background:#fff8f8;border-color:#edd8d8}.ui-button--danger:hover:not(:disabled){background:#fde7e3;border-color:#e3b3ad}.ui-button--full-width{width:100%}.ui-card{border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-6);background:var(--color-surface)}.ui-card--muted{background:var(--color-surface-muted)}.ui-card--highlight{background:var(--color-surface-highlight);border-color:#dce5d7}.ui-card--dark{--spotlight-x:72%;--spotlight-y:18%;--spotlight-opacity:.48;isolation:isolate;border-color:var(--color-forest);background:var(--color-forest);color:var(--color-on-dark);position:relative;overflow:hidden}.ui-card-spotlight,.spotlight-layer{z-index:0;background:radial-gradient(360px circle at var(--spotlight-x,72%) var(--spotlight-y,18%), #215aa933, #215aa912 32%, transparent 68%);opacity:var(--spotlight-opacity,.48);pointer-events:none;transition:opacity .28s;position:absolute;inset:0}.ui-empty-state{grid-template-columns:minmax(150px,190px) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,52px);width:100%;padding:8px;display:grid}.ui-empty-illustration{border:1px solid var(--color-border);background:radial-gradient(circle at 72% 22%, #215aa92e, transparent 28%), linear-gradient(145deg, var(--color-canvas-soft), var(--color-accent-soft));border-radius:28px;place-items:center;min-height:150px;display:grid;position:relative;overflow:hidden}.ui-empty-illustration:before,.ui-empty-illustration:after{content:"";border:1px solid #215aa917;border-radius:50%;position:absolute}.ui-empty-illustration:before{width:118px;height:118px}.ui-empty-illustration:after{width:172px;height:172px}.ui-empty-illustration svg{z-index:1;fill:none;width:96px;height:76px;stroke:var(--color-accent-deep);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;position:relative}.ui-empty-illustration .ui-empty-fill{fill:#215aa91f;stroke:none}.ui-empty-illustration>i{z-index:2;background:var(--color-accent);border-radius:50%;width:8px;height:8px;animation:3s ease-in-out infinite ui-empty-float;position:absolute;box-shadow:0 0 0 5px #215aa929}.ui-empty-illustration>i:first-of-type{top:22px;right:25px}.ui-empty-illustration>i:nth-of-type(2){width:5px;height:5px;animation-delay:-1.4s;bottom:25px;left:24px}.ui-empty-copy{min-width:0}.ui-empty-copy h2{font-family:var(--font-display);letter-spacing:-.045em;margin:5px 0 8px;font-size:clamp(1.45rem,3vw,2rem);line-height:1.08}.ui-empty-copy>p:last-of-type{max-width:580px;color:var(--color-muted);margin:0;font-size:.9rem;line-height:1.55}.ui-empty-action{margin-top:20px}.ui-empty-state--compact{grid-template-columns:112px minmax(0,1fr);gap:24px;padding:14px 0 2px}.ui-empty-state--compact .ui-empty-illustration{border-radius:22px;min-height:104px}.ui-empty-state--compact .ui-empty-illustration:before{width:82px;height:82px}.ui-empty-state--compact .ui-empty-illustration:after{width:120px;height:120px}.ui-empty-state--compact .ui-empty-illustration svg{width:72px;height:58px}.ui-empty-state--compact .ui-empty-illustration>i:first-of-type{top:14px;right:16px}.ui-empty-state--compact .ui-empty-illustration>i:nth-of-type(2){bottom:17px;left:15px}.ui-empty-state--compact .ui-empty-copy h2{font-size:1.18rem}@keyframes ui-empty-float{50%{transform:translateY(-5px)}}.ui-athlete-choice-list{flex-wrap:wrap;gap:8px;display:flex}.ui-athlete-choice{border:1px solid var(--color-border);background:var(--color-surface);min-width:0;min-height:44px;color:var(--color-ink);font:inherit;border-radius:999px;align-items:center;gap:9px;padding:6px 13px 6px 6px;font-size:.84rem;font-weight:750;display:inline-flex}.ui-athlete-choice:hover:not(:disabled){background:#f5f9f1;border-color:#aabd9e}.ui-athlete-choice.is-selected{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-deep);box-shadow:0 0 0 1px #215aa91f}.ui-athlete-choice:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.ui-athlete-choice:disabled{cursor:not-allowed;opacity:.55}.ui-athlete-choice>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-athlete-avatar{color:#2f4a28;background:#d7e3cf;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:.78rem;font-weight:800;display:grid;overflow:hidden}.ui-athlete-avatar img{object-fit:cover;width:100%;height:100%}.ui-athlete-identity{min-width:0;color:var(--color-ink);align-items:center;gap:9px;display:inline-flex}.ui-athlete-identity strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.86rem;overflow:hidden}.ui-action-menu{position:relative}.ui-action-menu-trigger{border:1px solid var(--color-border);background:var(--color-surface);width:40px;height:40px;color:var(--color-control-text);border-radius:10px;place-items:center;display:grid}.ui-action-menu-trigger:hover:not(:disabled){background:#f5f9f1;border-color:#aabd9e}.ui-action-menu-trigger:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.ui-action-menu-trigger:disabled{cursor:not-allowed;opacity:.55}.ui-action-menu-trigger svg{fill:currentColor;width:18px;height:18px}.ui-action-menu-items{z-index:5;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);gap:2px;min-width:232px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 14px 34px #0e1d1324}.ui-action-menu-items button{color:var(--color-ink);font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;gap:2px;padding:9px 10px;font-size:.84rem;font-weight:700;display:grid}.ui-action-menu-items button small{color:var(--color-muted);font-size:.72rem;font-weight:600;line-height:1.4}.ui-action-menu-items button:hover:not(:disabled){background:var(--color-surface-muted)}.ui-action-menu-items button:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.ui-action-menu-items button:disabled{cursor:not-allowed;opacity:.5}.ui-action-menu-items button.is-danger{color:var(--color-danger)}.ui-action-menu-items button.is-danger:hover:not(:disabled){background:#fdf5f5}.rich-text-field{min-width:0}.rich-text-label{color:#566057;margin-bottom:7px;font-size:.8rem;font-weight:700;display:block}.rich-text-editor{border:1px solid var(--color-border);background:var(--color-surface);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:10px;overflow:hidden}.rich-text-editor:focus-within{border-color:var(--color-focus);box-shadow:var(--shadow-focus)}.rich-text-toolbar{border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);flex-wrap:wrap;gap:4px;padding:7px;display:flex}.rich-text-toolbar button{min-width:34px;min-height:32px;color:var(--color-control-text);background:0 0;border:0;border-radius:6px;padding:5px 8px;font-size:.76rem;font-weight:700}.rich-text-toolbar button:hover:not(:disabled),.rich-text-toolbar button.is-active{background:var(--color-accent-soft);color:var(--color-accent-deep)}.rich-text-toolbar button:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.rich-text-toolbar button:disabled{cursor:not-allowed;opacity:.38}.rich-text-toolbar button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:17px;height:17px;display:block}.rich-text-toolbar-spacer{flex:8px}.rich-text-editor .tiptap{min-height:150px;color:var(--color-ink);outline:none;padding:14px;line-height:1.55}.rich-text-editor .tiptap>:first-child{margin-top:0}.rich-text-editor .tiptap>:last-child{margin-bottom:0}.rich-text-editor .tiptap p{margin:0 0 10px}.rich-text-editor .tiptap h2,.rich-text-editor .tiptap h3{font-family:var(--font-display);letter-spacing:-.03em;margin:18px 0 8px}.rich-text-editor .tiptap h2{font-size:1.25rem}.rich-text-editor .tiptap h3{font-size:1.05rem}.rich-text-editor .tiptap ul,.rich-text-editor .tiptap ol{margin:8px 0 12px;padding-left:24px}.rich-text-editor .tiptap a{color:var(--color-link);text-decoration:underline}.exercise-reference{background:var(--color-accent-soft);color:var(--color-accent-deep);font:inherit;font-weight:750;line-height:inherit;text-underline-offset:2px;cursor:pointer;border:0;border-radius:5px;padding:2px 5px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;display:inline}.rich-text-editor .exercise-reference.ProseMirror-selectednode{outline:2px solid var(--color-focus);outline-offset:1px}.ui-rich-text button.exercise-reference:hover,.ui-rich-text button.exercise-reference:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px;background:#dcebcf}.rich-text-editor .tiptap p.is-editor-empty:first-child:before{float:left;color:#99a199;content:attr(data-placeholder);pointer-events:none;height:0}.rich-text-counter{border-top:1px solid var(--color-border);color:#737d74;font-variant-numeric:tabular-nums;text-align:right;margin:0;padding:7px 12px;font-size:.72rem}.dialog-backdrop{z-index:var(--z-dialog);background:#15221a73;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.rich-text-fullscreen-backdrop{z-index:var(--z-dialog-nested);background:#15221a8c;padding:20px;display:grid;position:fixed;inset:0}.rich-text-fullscreen-dialog{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;grid-template-rows:auto minmax(0,1fr);width:min(1200px,100%);height:min(900px,100%);margin:auto;display:grid;overflow:hidden;box-shadow:0 24px 70px #0e1d133d}.rich-text-fullscreen-dialog>h2{border-bottom:1px solid var(--color-border);font-family:var(--font-display);letter-spacing:-.03em;margin:0;padding:18px 20px;font-size:1.15rem}.rich-text-editor--expanded{border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid}.rich-text-editor--expanded>.rich-text-content{min-height:0;overflow-y:auto}.rich-text-editor--expanded .tiptap{min-height:100%;padding:24px clamp(20px,5vw,72px)}.ui-rich-text{color:var(--color-ink);line-height:1.55}.ui-rich-text>:first-child{margin-top:0}.ui-rich-text>:last-child{margin-bottom:0}.ui-rich-text p{margin:0 0 10px}.ui-rich-text h3,.ui-rich-text h4{font-family:var(--font-display);letter-spacing:-.03em;margin:18px 0 8px}.ui-rich-text h3{font-size:1.1rem}.ui-rich-text h4{font-size:.98rem}.ui-rich-text ul,.ui-rich-text ol{margin:8px 0 12px;padding-left:24px}.ui-rich-text li{margin:0 0 4px}.ui-rich-text a{color:var(--color-link);text-decoration:underline}@media (width<=720px){.ui-empty-state,.ui-empty-state--compact{text-align:center;grid-template-columns:1fr;justify-items:center;gap:20px;padding:4px}.ui-empty-illustration,.ui-empty-state--compact .ui-empty-illustration{width:min(210px,100%);min-height:132px}.ui-empty-copy>p:last-of-type{max-width:420px}.ui-empty-action .ui-button{width:100%}.rich-text-toolbar-spacer{display:none}.rich-text-editor .tiptap{min-height:180px}.rich-text-fullscreen-backdrop{padding:0}.rich-text-fullscreen-dialog{border:0;border-radius:0;width:100%;height:100dvh}.rich-text-fullscreen-dialog>h2{padding:14px 16px}.rich-text-editor--expanded .tiptap{min-height:100%;padding:18px 16px}}@media (prefers-reduced-motion:reduce){.ui-skeleton,.ui-empty-illustration>i{animation:none}.ui-card-spotlight,.spotlight-layer{transition:none}}@media (width<=720px){.ui-card{padding:22px}}.ui-skeleton{border-radius:var(--radius-sm);background:linear-gradient(100deg,#e2e7df 25%,#f3f6f1 42%,#e2e7df 59%) 0 0/240% 100%;min-width:1px;min-height:1px;animation:1.6s ease-in-out infinite ui-skeleton-shimmer;display:block;overflow:hidden}.ui-skeleton--text{border-radius:var(--radius-pill);width:72%;height:.78rem}.ui-skeleton--heading{border-radius:var(--radius-sm);width:88%;height:1.7rem}.ui-skeleton--circle{border-radius:50%;width:2.125rem;height:2.125rem}.ui-skeleton--button{border-radius:var(--radius-pill);width:8rem;height:2.75rem}@keyframes ui-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.app-loading{background:var(--color-canvas)}.app-loading--app{min-height:100vh}.app-loading-nav{width:100%}.app-loading .brand-logo{width:36px;height:36px}.app-loading-profile{align-items:center;gap:8px;padding:8px 10px;display:flex}.app-loading-profile .ui-skeleton--circle{width:30px;height:30px}.app-loading-profile .ui-skeleton--text{width:5.5rem}.app-loading-menu{width:40px;height:40px}.app-loading-content{width:100%;max-width:var(--page-max);margin:0 auto;padding:42px 26px 80px}.app-loading--page .app-loading-content{min-height:calc(100vh - 77px)}.app-loading-eyebrow{width:7rem;height:.65rem;margin-bottom:16px}.app-loading-title{width:min(32rem,72%);height:clamp(2.2rem,5vw,3.8rem)}.app-loading-subtitle{width:min(25rem,62%);margin-top:15px}.app-loading-hero{border-radius:var(--radius-xl);width:100%;min-height:230px;margin-top:38px}.app-loading-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.app-loading-grid .ui-skeleton{border-radius:var(--radius-lg);min-height:128px}.app-nav .brand-logo{view-transition-name:app-brand-mark;width:36px;height:36px}.page-container{width:100%;max-width:var(--page-max);min-width:0;margin:0 auto;padding:42px 26px 80px}.page-container[data-page-transition=content],.legal-document[data-page-transition=content]{view-transition-name:app-page-content}[data-page-transition=content] h1{view-transition-name:app-page-heading}.page-container--wide{max-width:var(--page-max-wide)}.page-container--narrow{max-width:960px}.app-nav{max-width:var(--page-max);border-bottom:1px solid #e1e6df;justify-content:space-between;align-items:center;gap:12px;min-width:0;margin:0 auto;padding:18px 26px;display:flex}.app-nav-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.app-nav a{color:#69746b;background:0 0;border:0;border-radius:8px;padding:8px 10px;font-weight:700;text-decoration:none}.nav-profile{view-transition-name:app-profile-identity;align-items:center;gap:8px;min-width:0;display:flex}.nav-profile span,.nav-profile img{object-fit:cover;background:var(--color-accent);color:#203021;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.nav-profile b{color:#344237;text-overflow:ellipsis;white-space:nowrap;max-width:10rem;font-size:.84rem;overflow:hidden}.nav-menu-button{width:40px;height:40px;color:var(--color-ink-soft);background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;padding:0;transition:background-color .16s,border-color .16s,transform .16s;display:grid}.nav-menu-button:hover{background:var(--color-surface-soft);color:var(--color-forest);transform:translateY(-1px)}.nav-menu-button[aria-expanded=true]{background:var(--color-accent-soft);color:var(--color-accent-deep)}.nav-menu-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.9px;width:21px;height:21px;transition:transform .22s}.nav-menu-button[aria-expanded=true] svg{transform:rotate(90deg)}.nav-menu-button:focus-visible,.nav-drawer button:focus-visible,.nav-drawer a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.nav-drawer-layer{z-index:var(--z-navigation);justify-content:flex-end;display:flex;position:fixed;inset:0}.nav-drawer-backdrop{background:#121f167a;border:0;animation:.18s ease-out both nav-backdrop-in;position:absolute;inset:0}.nav-drawer{background:var(--color-surface-soft);transform-origin:100%;width:min(380px,100% - 28px);min-height:100%;padding:28px;animation:.32s cubic-bezier(.22,1,.36,1) both nav-drawer-in;position:relative;box-shadow:-18px 0 52px #121f162e}.nav-drawer-heading{justify-content:flex-end;align-items:center;animation:.24s ease-out .1s both nav-content-in;display:flex}.nav-drawer-heading button{color:var(--color-ink-soft);background:0 0;border:0;padding:2px 8px;font-size:1.8rem;line-height:1}.nav-drawer-links{gap:8px;margin-top:36px;display:grid}.nav-drawer-links a{color:var(--color-ink-soft);font-family:var(--font-display);border-radius:12px;padding:15px 16px;font-size:1.1rem;font-weight:750;text-decoration:none;animation:.28s cubic-bezier(.22,1,.36,1) both nav-content-in}.nav-drawer-links a:first-child{animation-delay:.1s}.nav-drawer-links a:nth-child(2){animation-delay:.135s}.nav-drawer-links a:nth-child(3){animation-delay:.17s}.nav-drawer-links a:nth-child(4){animation-delay:.205s}.nav-drawer-links a:hover,.nav-drawer-links a.active{background:var(--color-accent-soft);color:var(--color-accent-deep)}@keyframes nav-backdrop-in{0%{opacity:0}}@keyframes nav-drawer-in{0%{opacity:0;transform:translate(36px)scale(.985)}}@keyframes nav-content-in{0%{opacity:0;transform:translate(12px)}}@supports (view-transition-name:none){::view-transition-group(app-brand-mark){animation-duration:.38s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-group(app-profile-identity){animation-duration:.38s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(app-page-content){animation:.18s cubic-bezier(.4,0,1,1) both app-page-out}::view-transition-new(app-page-content){animation:.42s cubic-bezier(.22,1,.36,1) both app-page-in}::view-transition-old(app-page-heading){transform-origin:0;height:100%}::view-transition-new(app-page-heading){transform-origin:0;height:100%}::view-transition-old(app-page-heading){animation:.16s ease-in both app-heading-out}::view-transition-new(app-page-heading){animation:.46s cubic-bezier(.22,1,.36,1) 50ms both app-heading-in}@keyframes app-page-out{to{opacity:0;filter:blur(2px);transform:translateY(-8px)scale(.995)}}@keyframes app-page-in{0%{opacity:0;filter:blur(3px);transform:translateY(18px)scale(.99)}}@keyframes app-heading-out{to{opacity:0;transform:translateY(-10px)}}@keyframes app-heading-in{0%{opacity:0;transform:translateY(16px)}}}.not-found-page{max-width:520px;min-height:100dvh;padding:48px 24px calc(48px + env(safe-area-inset-bottom,0px));background:radial-gradient(circle at 12% 18%, #c4de9259, transparent 42%), linear-gradient(180deg, #f4f6f0 0%, var(--color-canvas) 55%);flex-direction:column;justify-content:center;align-items:flex-start;gap:0;margin:0 auto;display:flex}.not-found-page .brand{margin-bottom:48px}.not-found-page .brand-logo{width:48px;height:48px}.not-found-page .eyebrow{color:var(--color-forest);margin-bottom:12px}.not-found-page h1{font-family:var(--font-display);letter-spacing:-.06em;margin:0 0 14px;font-size:clamp(2.2rem,8vw,3.4rem);line-height:1.05}.not-found-page .subtitle{max-width:36rem;margin:0 0 28px;line-height:1.55}.not-found-cta{text-align:center;justify-content:center;align-items:center;width:auto;min-width:min(100%,220px);margin-top:0;text-decoration:none;display:inline-flex}@media (width<=720px){.app-loading-content{padding:30px 16px 56px}.app-loading--page .app-loading-content{min-height:calc(100vh - 65px)}.app-loading-profile .ui-skeleton--text{display:none}.app-loading-title{width:88%}.app-loading-subtitle{width:78%}.app-loading-hero{min-height:250px;margin-top:28px}.app-loading-grid{grid-template-columns:1fr}.app-loading-grid .ui-skeleton{min-height:96px}.page-container{padding:30px 16px calc(56px + env(safe-area-inset-bottom,0px))}.app-nav{gap:8px;padding:12px 16px}.app-nav>.brand{min-width:0}.nav-profile b{display:none}.nav-drawer{width:100%;min-height:100dvh;padding:calc(24px + env(safe-area-inset-top,0px)) calc(20px + env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) calc(20px + env(safe-area-inset-left,0px))}.not-found-page{padding-top:36px}.not-found-cta{width:100%}}@media (prefers-reduced-motion:reduce){.nav-menu-button,.nav-menu-button svg{transition:none}.nav-drawer-backdrop,.nav-drawer,.nav-drawer-heading,.nav-drawer-links a{animation:none}::view-transition-group(*){animation-duration:.001ms!important;animation-delay:0s!important}::view-transition-old(*){animation-duration:.001ms!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:.001ms!important;animation-delay:0s!important}}.toast-region{z-index:var(--z-toast);pointer-events:none;gap:10px;width:min(390px,100vw - 32px);display:grid;position:fixed;top:20px;right:20px}.toast{color:var(--color-ink);pointer-events:auto;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;border:1px solid;border-radius:14px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px 14px 14px 15px;animation:.26s cubic-bezier(.22,1,.36,1) both toast-in;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 46px #1623192e}.toast:after{content:"";opacity:.42;transform-origin:0;background:currentColor;height:3px;animation:4.5s linear both toast-life;position:absolute;bottom:0;left:0;right:0}.toast-error:after{animation-duration:7s}.toast-saving:after{display:none}.toast-icon,.toast-spinner{color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.toast-spinner{border:3px solid #d8e2d4;border-top-color:var(--color-link);background:0 0;width:27px;height:27px;animation:.78s linear infinite toast-spin}.toast-copy{min-width:0}.toast-copy strong{font-family:var(--font-display);letter-spacing:-.015em;margin-bottom:2px;font-size:.8rem;display:block}.toast-copy p{color:#59665b;margin:0;font-size:.82rem;font-weight:650;line-height:1.35}.toast button{color:#7b857c;cursor:pointer;background:0 0;border:0;border-radius:6px;align-self:start;padding:2px 5px;font-size:1.2rem;line-height:1}.toast button:hover{background:var(--color-panel);color:var(--color-ink-soft)}.toast button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.toast-success{color:#52793f;border-color:#c9dec0}.toast-success .toast-icon{background:#5f8746}.toast-error{color:var(--color-danger);border-color:#e7c4c4}.toast-error .toast-icon{background:#a94f4f}.toast-saving{color:var(--color-link);border-color:#d8e2d4}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)scale(.98)}}@keyframes toast-life{to{transform:scaleX(0)}}@keyframes toast-spin{to{transform:rotate(360deg)}}@media (width<=600px){.toast-region{top:max(12px, env(safe-area-inset-top));width:auto;left:16px;right:16px}}@media (prefers-reduced-motion:reduce){.toast,.toast:after,.toast-spinner{animation:none}}.training-color-red{--training-tag-bg:#fde9e7;--training-tag-border:#e9aaa4;--training-tag-text:#7c302a;--training-card-bg:#fff5f4}.training-color-orange{--training-tag-bg:#ffedd9;--training-tag-border:#e8b177;--training-tag-text:#784819;--training-card-bg:#fff8f0}.training-color-yellow{--training-tag-bg:#fff4c9;--training-tag-border:#ddc363;--training-tag-text:#685412;--training-card-bg:#fffbeb}.training-color-green{--training-tag-bg:#e6f3df;--training-tag-border:#9fc68c;--training-tag-text:#3c6630;--training-card-bg:#f4faf1}.training-color-teal{--training-tag-bg:#def4f1;--training-tag-border:#87c6bd;--training-tag-text:#28665e;--training-card-bg:#f0faf8}.training-color-blue{--training-tag-bg:#e4efff;--training-tag-border:#9dbce8;--training-tag-text:#285486;--training-card-bg:#f3f8ff}.training-color-purple{--training-tag-bg:#eee8fb;--training-tag-border:#b7a5df;--training-tag-text:#563d89;--training-card-bg:#f8f5ff}.training-color-gray{--training-tag-bg:#ecefec;--training-tag-border:#c4cbc4;--training-tag-text:#4f5a51;--training-card-bg:#f7f9f7}.training-tag-picker{gap:10px;display:grid}.training-tag-picker>.eyebrow{margin:0}.training-tag-picker>div[role=group]{flex-wrap:wrap;gap:7px;display:flex}.training-tag-picker>div[role=group]>button{color:#536153;background:#fff;border:1px solid #ccd8c4;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:.76rem;font-weight:800;display:inline-flex}.training-tag-color-dot{border:1px solid var(--training-tag-border,#bfc8bf);background:var(--training-tag-bg,#fff);border-radius:50%;width:9px;height:9px}.training-tag-picker>div[role=group]>button.selected{color:#2f4b2a;background:#eef7dc;border-color:#89aa64;box-shadow:0 0 0 1px #dcebc7}.training-tag-picker>div[role=group]>button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.training-tag-picker>div[role=group]>.add-training-tag,.training-tag-picker>div[role=group]>.training-tag-settings{color:#41633a;border-style:dashed;justify-content:center;min-width:36px;min-height:36px;padding:8px;font-size:1rem;line-height:1}.training-tag-picker>div[role=group]>.training-tag-settings svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:15px;height:15px}.training-tag-picker>small{color:#718075;font-size:.72rem}.training-tag-color-settings{background:#f8faf6;border:1px solid #dfe5dc;border-radius:10px;gap:8px;max-height:280px;padding:11px 12px;display:grid;overflow:auto}.training-tag-color-settings>p{color:#5c675d;margin:0;font-size:.72rem;font-weight:800}.training-tag-color-settings>small{color:#718075;margin:-4px 0 4px;font-size:.72rem}.training-tag-color-settings>div{grid-template-columns:minmax(80px,1fr) auto;align-items:center;gap:10px;display:grid}.training-tag-color-settings strong{color:#465247;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.training-tag-color-swatches{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.training-tag-color-swatches button,.training-tag-custom-color{background:var(--training-tag-bg);width:22px;height:22px;box-shadow:0 0 0 1px var(--training-tag-border);border:2px solid #fff;border-radius:50%;padding:0}.training-tag-color-swatches button.selected,.training-tag-custom-color.selected{box-shadow:0 0 0 2px var(--training-tag-text,#4f5a51)}.training-tag-clear-color{background:linear-gradient(to top right,#0000 calc(50% - 1px),#c45 50%,#0000 calc(50% + 1px)),#fff;box-shadow:0 0 0 1px #c4cbc4}.training-tag-clear-color.selected{box-shadow:0 0 0 2px #4f5a51}.training-tag-custom-color{background:var(--training-custom-swatch,#fff);color:var(--training-custom-ink,#2f4b2a);cursor:pointer;place-items:center;display:inline-grid;position:relative;overflow:hidden;box-shadow:0 0 0 1px #c4cbc4}.training-tag-custom-color.selected{box-shadow:0 0 0 2px var(--training-custom-ink,#2f4b2a)}.training-tag-custom-color svg{fill:currentColor;pointer-events:none;width:11px;height:11px}.training-tag-custom-color input[type=color]{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.training-tag-color-swatches button:focus-visible,.training-tag-custom-color:focus-within{outline:2px solid var(--color-focus);outline-offset:3px}.add-training-tag-panel{background:#f8faf6;border:1px solid #dfe5dc;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;padding:13px;display:grid}.add-training-tag-panel label{color:#5c675d;font-size:.76rem;font-weight:750}.add-training-tag-panel input{margin:6px 0 0}.chat-dock{z-index:40;right:auto;bottom:max(16px, env(safe-area-inset-bottom));left:max(16px, env(safe-area-inset-left));position:fixed}.chat-dock-toggle{background:var(--color-forest);width:56px;height:56px;color:var(--color-on-dark);border:0;border-radius:50%;padding:0;box-shadow:0 12px 28px #17231e38}.chat-dock-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.chat-dock-backdrop{z-index:40;pointer-events:none;background:0 0;position:fixed;inset:0}.chat-dock-panel{z-index:41;pointer-events:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:220px minmax(0,1fr);width:min(720px,100vw - 40px);height:min(520px,100vh - 140px);display:grid;position:fixed;bottom:88px;left:20px;right:auto;overflow:hidden;box-shadow:0 22px 50px #142b1e2e}.chat-dock-list,.chat-dock-conversation{min-width:0;min-height:0}.chat-dock-list{border-right:1px solid var(--color-border);background:var(--color-surface-muted);flex-direction:column;display:flex}.chat-dock-list-header,.chat-dock-conversation-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:14px 16px;display:flex}.chat-dock-list-header h2,.chat-dock-conversation-header h2{min-width:0;font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.05rem;overflow:hidden}.chat-dock-conversation-header h2{flex:1}.chat-dock-conversation-header .ui-button{flex:none}.chat-dock-icon-button{width:36px;height:36px;color:var(--color-ink);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin:0;padding:0;line-height:1;display:grid}.chat-dock-close{font-size:1.45rem}.chat-dock-icon-button:hover{background:var(--color-surface-muted)}.chat-dock-icon-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.chat-thread-list{margin:0;padding:8px;list-style:none;overflow:auto}.chat-thread-list button{text-align:left;background:0 0;border:0;border-radius:12px;gap:6px;width:100%;margin:0 0 6px;padding:10px;display:grid}.chat-thread-list button.is-selected,.chat-thread-list button:hover{background:var(--color-surface)}.chat-thread-list strong,.chat-thread-list small{display:block}.chat-thread-identity{align-items:center;gap:9px;min-width:0;display:flex}.chat-thread-identity strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chat-agent-avatar{width:34px;height:34px;color:var(--coach-avatar-ink,#fff);font-family:var(--font-display);flex:none;place-items:center;font-size:.82rem;font-weight:850;display:grid}.chat-thread-list small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.chat-dock-conversation{grid-template-rows:auto minmax(0,1fr) auto auto;display:grid}.chat-dock-conversation.is-setup{grid-template-rows:auto minmax(0,1fr)}.chat-dock-header-actions{flex:none;align-items:center;gap:4px;display:flex}.chat-dock-body{flex-direction:column;min-height:0;display:flex;overflow:auto}.chat-dock-body--coming-soon{place-items:center;padding:16px;display:grid}.chat-dock-body--coming-soon .ui-empty-state{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;gap:22px}.chat-transcript,.chat-transcript-empty{min-height:0;margin:0;padding:16px;overflow:auto}.chat-transcript{align-content:start;gap:10px;list-style:none;display:grid}.chat-bubble{background:var(--color-panel);border-radius:14px;max-width:85%;padding:10px 12px}.chat-bubble--mine{background:var(--color-accent);color:var(--color-accent-ink);justify-self:end}.chat-bubble-meta{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.chat-bubble-sender{flex:1;min-width:0;font-size:.72rem;font-weight:800}.chat-bubble-avatar{width:24px;height:24px;font-size:.66rem}.chat-bubble-time{color:inherit;opacity:.72;white-space:nowrap;flex:none;font-size:.68rem;font-weight:650}.chat-bubble p{margin:0;line-height:1.45}.chat-bubble--typing{color:var(--color-muted)}.chat-typing{align-items:center;gap:8px;font-size:.82rem;display:flex}.chat-typing-dots{gap:4px;display:inline-flex}.chat-typing-dots i{opacity:.35;background:currentColor;border-radius:50%;width:6px;height:6px;animation:1.1s ease-in-out infinite chat-typing-pulse}.chat-typing-dots i:nth-child(2){animation-delay:.15s}.chat-typing-dots i:nth-child(3){animation-delay:.3s}@keyframes chat-typing-pulse{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.chat-typing-dots i{opacity:.6;animation:none}}.chat-composer{border-top:1px solid var(--color-border);gap:8px;padding:12px 16px 16px;display:grid}.chat-composer textarea{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-ink);resize:none;border-radius:14px;outline:none;padding:12px 14px;font-family:inherit;font-size:1rem;line-height:1.5}.chat-composer textarea::placeholder{color:var(--color-muted)}.chat-composer textarea:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.chat-composer textarea:disabled{background:var(--color-surface-muted);color:var(--color-muted)}.chat-human-note{color:var(--color-muted);padding:12px 16px 16px;font-size:.88rem;line-height:1.45}.chat-human-note--above-composer{padding-bottom:0;font-size:.8rem}.chat-dock-error{padding:0 16px 8px}@media (width<=720px){.chat-dock.is-open .chat-dock-toggle{display:none}.chat-dock-panel{inset:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);width:auto;height:auto}.chat-dock-list-header{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.chat-dock-list{border-right:0;border-bottom:1px solid var(--color-border);max-height:none}.chat-thread-list{overscroll-behavior-x:contain;gap:6px;padding:8px 10px;display:flex;overflow-x:auto}.chat-thread-list li{flex:none;max-width:min(220px,70vw)}.chat-thread-list button{margin:0}.chat-thread-list small{display:none}.chat-bubble{max-width:92%}.chat-bubble-meta{flex-wrap:wrap}.chat-composer{padding:10px 12px 12px}.chat-composer textarea{height:4.5rem}}.daily-coach{margin-top:20px}.daily-coach h2{font-family:var(--font-display);letter-spacing:-.04em;margin:4px 0 0;font-size:clamp(1.45rem,2.4vw,1.9rem)}.daily-coach-phase{color:var(--color-forest);margin:8px 0 0;font-size:.9rem;font-weight:750}.daily-coach-focus{flex-wrap:wrap;gap:7px;margin:14px 0 0;padding:0;list-style:none;display:flex}.daily-coach-focus li{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface-muted);padding:6px 11px;font-size:.74rem;font-weight:800}.daily-coach-encouragement{max-width:62ch;color:var(--color-ink-soft);margin:16px 0 0;line-height:1.5}.daily-coach-disclaimer{color:var(--color-muted);margin:14px 0 0;font-size:.8rem;line-height:1.45}.daily-coach-skeleton{gap:10px;width:min(520px,80%);display:grid}.daily-coach-loading-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.daily-coach-placeholder{width:100%;color:inherit;font:inherit;text-align:inherit;cursor:pointer;opacity:.72;background:0 0;border:0;margin:0;padding:0;display:block}.daily-coach-placeholder:hover,.daily-coach-placeholder:focus-visible{opacity:1}.daily-coach-placeholder:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px;border-radius:var(--radius-lg)}@media (width<=720px){.daily-coach h2{font-size:1.35rem}}.coach-setup{align-self:stretch;width:min(100%,560px);min-height:0;margin-inline:auto;padding:28px;overflow-y:auto}.coach-setup--intro{place-items:center;display:grid}.coach-setup--intro .ui-empty-state{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;gap:22px}.coach-setup--intro .ui-empty-illustration{width:min(200px,100%)}.coach-setup--intro .ui-empty-copy p{max-width:42ch;margin-inline:auto}.coach-setup h2{font-family:var(--font-display);letter-spacing:-.04em;margin:5px 0 0;font-size:clamp(1.55rem,4vw,2.15rem)}.coach-setup h2.eyebrow{letter-spacing:.14em;margin:0 0 10px;font-family:inherit;font-size:.69rem;font-weight:700}.coach-setup-lead{color:var(--color-muted);margin:9px 0 22px;line-height:1.5}.coach-setup-progress{gap:6px;margin-bottom:24px;display:flex}.coach-setup-progress span{border-radius:var(--radius-pill);background:var(--color-border);color:#0000;width:32px;height:4px;overflow:hidden}.coach-setup-progress span.is-active{background:var(--color-accent-deep)}.coach-avatar-preview{width:88px;height:88px;color:var(--coach-avatar-ink,#fff);font-family:var(--font-display);place-items:center;margin:2px auto 18px;font-size:2rem;font-weight:850;display:grid;box-shadow:inset 0 0 0 1px #00000014}.coach-avatar--forest{background:#1a2c40}.coach-avatar--lime{--coach-avatar-ink:#16210f;background:#90b83d}.coach-avatar--mint{--coach-avatar-ink:#16210f;background:#6fbf8a}.coach-avatar--teal{background:#2a8f86}.coach-avatar--sky{background:#4ea3d9}.coach-avatar--blue{background:#397bc4}.coach-avatar--indigo{background:#3d4ea8}.coach-avatar--violet{background:#7455bd}.coach-avatar--pink{background:#d45b9a}.coach-avatar--coral{background:#e75c4a}.coach-avatar--orange{background:#e67e22}.coach-avatar--gold{--coach-avatar-ink:#16210f;background:#d4a017}.coach-avatar--rust{background:#9a4e2f}.coach-avatar--crimson{background:#c0392b}.coach-avatar--slate{background:#5d6b73}.coach-avatar--cream{--coach-avatar-ink:#16210f;background:#f3ead6}.coach-shape--squircle{border-radius:32%}.coach-shape--circle{border-radius:50%}.coach-shape--triangle,.coach-shape--diamond,.coach-shape--hexagon{box-shadow:none;border-radius:0;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.coach-shape--triangle{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 24 L84 76 L16 76 Z' fill='white' stroke='white' stroke-width='18' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 24 L84 76 L16 76 Z' fill='white' stroke='white' stroke-width='18' stroke-linejoin='round'/%3E%3C/svg%3E")}.coach-shape--diamond{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 16 L84 50 L50 84 L16 50 Z' fill='white' stroke='white' stroke-width='16' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 16 L84 50 L50 84 L16 50 Z' fill='white' stroke='white' stroke-width='16' stroke-linejoin='round'/%3E%3C/svg%3E")}.coach-shape--hexagon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M31 18 L69 18 L88 50 L69 82 L31 82 L12 50 Z' fill='white' stroke='white' stroke-width='16' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M31 18 L69 18 L88 50 L69 82 L31 82 L12 50 Z' fill='white' stroke='white' stroke-width='16' stroke-linejoin='round'/%3E%3C/svg%3E")}@keyframes coach-avatar-breathe{0%,to{transform:scale(1)rotate(0)}25%{transform:scale(1.08,.92)rotate(-2deg)}55%{transform:scale(.94,1.09)rotate(2deg)}80%{transform:scale(1.03,.98)rotate(-1deg)}}.coach-avatar-alive{animation:3.2s ease-in-out infinite coach-avatar-breathe}@media (prefers-reduced-motion:reduce){.coach-avatar-alive{animation:none}}.coach-setup-name,.coach-setup-instructions{color:var(--color-ink-soft);font-size:.82rem;font-weight:750;display:grid}.coach-setup-name input,.coach-setup-instructions textarea{width:100%;margin-top:7px;font-size:1rem}.coach-setup-instructions textarea{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);resize:vertical;border-radius:14px;outline:none;padding:12px 14px;font-family:inherit;font-weight:450;line-height:1.5}.coach-setup-instructions textarea::placeholder{color:var(--color-muted)}.coach-setup-instructions textarea:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.coach-setup fieldset{border:0;min-width:0;margin:18px 0 0;padding:0}.coach-setup legend{color:var(--color-ink-soft);margin-bottom:10px;font-size:.8rem;font-weight:800}.coach-shape-picker>div{flex-wrap:wrap;gap:8px;display:flex}.coach-shape{border:1px solid var(--color-border);cursor:pointer;border-radius:12px;place-items:center;padding:5px;display:grid;position:relative}.coach-shape:has(input:checked){border-color:var(--color-forest-soft);background:var(--color-accent)}.coach-shape:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.coach-shape input{opacity:0;pointer-events:none;position:absolute}.coach-shape-swatch{width:30px;height:30px;display:block}.coach-color-picker legend,.coach-shape-picker legend{clip-path:inset(50%);width:1px;height:1px;margin-bottom:0;position:absolute;overflow:hidden}.coach-color-picker>div,.coach-trait-picker>div{flex-wrap:wrap;gap:8px;display:flex}.coach-color-picker>div{align-items:center}.coach-color,.coach-color-more{border:3px solid var(--color-surface);width:34px;height:34px;box-shadow:0 0 0 1px var(--color-border-strong);cursor:pointer;border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.coach-color-more{color:var(--color-ink-soft);background:0 0;justify-content:center;align-items:center;padding:0;line-height:0;display:flex}.coach-color-more svg{display:block}.coach-color-more:hover{color:var(--color-ink)}.coach-color-more:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.coach-color:has(input:checked){box-shadow:0 0 0 3px var(--color-focus)}.coach-color:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:3px}.coach-color input{opacity:0;pointer-events:none;position:absolute}.coach-color-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.coach-trait-picker>div{gap:6px 8px}.coach-trait-picker label{cursor:pointer;position:relative}.coach-trait-picker input{opacity:0;position:absolute}.coach-trait-picker span{border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:8px 12px;font-size:.82rem;font-weight:750;display:block}.coach-trait-picker input:checked+span{border-color:var(--color-forest-soft);background:var(--color-accent)}.coach-trait-picker input:focus-visible+span{outline:2px solid var(--color-focus);outline-offset:2px}.coach-setup-instructions{margin-top:22px}.coach-setup-instructions>span{color:var(--color-muted);font-weight:500}.coach-setup-instructions small{color:var(--color-muted);justify-self:end;margin-top:4px;font-weight:500}.coach-setup-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:24px;display:flex}@media (width<=720px){.coach-setup{padding:22px 16px 16px}.coach-avatar-preview{width:84px;height:84px;font-size:2rem}.coach-color,.coach-color-more{width:32px;height:32px}.coach-setup-actions .ui-button:last-child{flex:1}}.auth-shell{background:var(--color-canvas);grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:4px;min-height:100dvh;padding:4px;display:grid;overflow-x:clip}.auth-aside{min-width:0;min-height:calc(100dvh - 8px);color:var(--color-on-dark);background-color:var(--color-forest);background-image:linear-gradient(90deg,#0e1620c7 0%,#0e16206b 45%,#0e16200f 100%),linear-gradient(#0e162080 0%,#0e16201f 45%,#0e1620b8 100%),url(/auth/veera.jpg);background-position:58%;background-repeat:no-repeat;background-size:cover;border-radius:22px;flex-direction:column;padding:42px;display:flex;overflow:hidden}.auth-aside h1{font-family:var(--font-display);letter-spacing:-.07em;overflow-wrap:anywhere;margin-bottom:18px;font-size:clamp(2.2rem,4vw,4.7rem);line-height:1.04}.auth-aside p:not(.eyebrow){max-width:22rem;color:var(--color-on-dark-muted);line-height:1.55}.auth-panel{background:var(--color-surface);border-radius:22px;place-items:center;min-width:0;padding:42px;display:grid}.auth-card{width:min(100%,430px);min-width:0}.auth-card>.brand{justify-content:center;width:100%;margin-bottom:28px;display:flex}.auth-card>.brand .brand-logo{width:56px;height:56px}.auth-intro{text-align:center;margin-bottom:32px}.auth-intro h2{font-family:var(--font-display);letter-spacing:-.055em;overflow-wrap:anywhere;margin-bottom:8px;font-size:2.1rem}.auth-intro p:last-child,.lead{color:var(--color-muted);line-height:1.55}.divider{color:#a4aaa3;align-items:center;gap:12px;margin:24px 0;font-size:.78rem;display:flex}.divider:before,.divider:after{content:"";background:#e3e6e1;flex:1;height:1px}.auth-social{gap:10px;display:grid}.google-button{border:1px solid var(--color-border);width:100%;color:var(--color-ink);background:#fff;border-radius:10px;padding:13px;font-weight:700}.google-button b{color:#4285f4;margin-right:10px}.apple-button{color:#fff;background:#111;border:1px solid #111;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:0;padding:13px;font-weight:700;display:inline-flex}.apple-button:disabled{opacity:.55}.apple-button-icon{flex-shrink:0;width:1.1rem;height:1.1rem}.auth-password-field{position:relative}.auth-password-field input{margin-top:6px;padding-right:48px}.password-visibility-toggle{width:38px;color:var(--color-link);background:0 0;border:0;padding:8px;position:absolute;top:6px;bottom:0;right:6px}.password-visibility-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:20px;height:20px;display:block}.password-visibility-toggle:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px;border-radius:6px}.switch-auth{text-align:center;color:#727970;margin-top:24px;font-size:.86rem}.switch-auth button,.quiet-button,.back-button{color:var(--color-link);background:0 0;border:0;padding:0;font-weight:700}.switch-auth button:disabled{opacity:.55}.auth-success-notice{background:var(--color-surface);color:#52793f;border:1px solid #c9dec0;border-radius:14px;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:11px;margin-top:16px;padding:14px 15px;display:grid}.auth-success-notice-icon{width:30px;height:30px;color:var(--color-accent-ink);background:#5f8746;border-radius:50%;place-items:center;font-weight:900;display:grid}.auth-success-notice-copy{min-width:0}.auth-success-notice-copy strong{font-family:var(--font-display);letter-spacing:-.015em;margin-bottom:2px;font-size:.8rem;display:block}.auth-success-notice-copy p{color:var(--color-ink-soft);margin:0;font-size:.82rem;font-weight:650;line-height:1.35}.auth-card a.primary-button{box-sizing:border-box;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.terms-notice{color:#6f7b71;text-align:center;margin:16px 0 0;font-size:.8rem;line-height:1.45}.terms-notice a{color:var(--color-link);font-weight:700}.auth-legal-links{flex-wrap:wrap;justify-content:center;gap:14px;margin:18px 0 0;display:flex}.auth-legal-links a{color:#8a9289;font-size:.78rem;font-weight:700;text-decoration:none}.demo-note{color:#8a6651;background:#fff3eb;border-radius:8px;margin:14px 0 0;padding:9px 11px;font-size:.77rem}@media (width<=900px){.auth-shell{flex-direction:column;gap:0;padding:0;display:flex}.auth-aside{display:none}.auth-panel{padding:28px 20px calc(32px + env(safe-area-inset-bottom,0px));border-radius:0;flex:auto;place-items:center;min-height:100dvh;display:grid}.auth-card{width:100%}.auth-card>.brand,.auth-intro{margin-bottom:24px}.auth-intro h2{font-size:clamp(1.55rem,6vw,1.95rem)}.auth-card .primary-button,.google-button,.apple-button{min-height:48px}}@media (width<=380px){.auth-panel{padding-inline:16px}.auth-intro{margin-bottom:20px}}@media (width<=720px){.macro-phase{grid-template-columns:1fr}.timeline-row{flex-wrap:wrap;align-items:stretch}.timeline-row b{width:100%}}.coach-page{min-width:0}.coach-page>header h1{font-family:var(--font-display);letter-spacing:-.055em;margin:3px 0 6px;font-size:3.1rem}.coach-page>header .subtitle{max-width:620px;line-height:1.5}.coaching-philosophy-card{background-color:var(--color-forest);color:#fff;background-image:linear-gradient(100deg,#0e1620f0 0%,#0e1620b8 52%,#0e162047 100%),url(/auth/track.png);background-position:50% 68%;background-size:cover;border-color:#0000;justify-content:space-between;align-items:flex-end;gap:24px;min-height:190px;margin-top:28px;padding:28px 30px;display:flex;overflow:hidden;box-shadow:0 14px 36px #0e162024}.coaching-philosophy-card>:not(.ui-card-spotlight){z-index:1;position:relative}.coaching-philosophy-card .eyebrow{color:#c4d7c6}.coaching-philosophy-card h2{font-family:var(--font-display);letter-spacing:-.05em;margin:2px 0 6px;font-size:clamp(1.55rem,4vw,2.25rem)}.coaching-philosophy-card p:last-child{color:#e0e9e1;max-width:620px;margin:0;font-size:.9rem;line-height:1.55}.coaching-philosophy-status{background:var(--color-accent);color:var(--color-accent-ink);border-radius:999px;flex:none;padding:10px 14px;font-size:.72rem;font-weight:800}.coached-athletes-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;margin-top:18px;padding:22px}.coached-athletes-heading{justify-content:space-between;align-items:center;gap:14px;min-width:0;display:flex}.coached-athletes-heading>div{min-width:0}.coached-athletes-heading h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 5px;font-size:1.25rem}.coached-athletes-heading p:last-child,.coached-athletes-status{color:#737d74;margin:0;font-size:.88rem}.coached-athletes-card ul{gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}.coached-athletes-card li{color:#304035;border-top:1px solid #edf0eb;align-items:center;gap:12px;padding:11px 0;display:flex}.coached-athletes-card li strong{overflow-wrap:anywhere;min-width:0}.coached-athletes-card li>span,.coached-athletes-card li>img{object-fit:cover;background:var(--color-accent-soft);width:34px;height:34px;color:var(--color-accent-deep);font-family:var(--font-display);border-radius:50%;flex:0 0 34px;place-items:center;font-weight:800;display:grid}.coached-athletes-status{margin-top:18px}.coached-athletes-skeleton{gap:0;margin-top:18px;display:grid}.coached-athletes-skeleton-row{border-top:1px solid #edf0eb;align-items:center;gap:12px;min-height:57px;display:flex}.coached-athletes-skeleton-row .ui-skeleton--circle{flex:0 0 34px;width:34px;height:34px}.coached-athletes-skeleton-row .ui-skeleton--text{width:min(15rem,58%)}@media (width<=720px){.coach-page>header h1{font-size:2.45rem}.coaching-philosophy-card{flex-direction:column;align-items:flex-start;min-height:180px;padding:22px}.coached-athletes-card{padding:18px}.coached-athletes-heading{flex-direction:column;align-items:flex-start}}.exercise-catalog-page>header,.exercise-page>header{gap:var(--space-1);margin-bottom:var(--space-5);display:grid}.exercise-catalog-heading,.exercise-page-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.exercise-catalog-heading>div,.exercise-page-heading>div{gap:var(--space-1);min-width:0;display:grid}.exercise-catalog-page h1,.exercise-page h1{font-family:var(--font-display);color:var(--color-ink);margin:0}.exercise-catalog-page .subtitle,.exercise-page .subtitle{max-width:60ch;color:var(--color-muted);margin:0;font-size:.86rem}.exercise-page>header .back-button{margin-bottom:var(--space-2);justify-self:start}.exercise-catalog-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.exercise-catalog-list>li>.exercise-catalog-card{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);display:grid}.exercise-catalog-card:hover,.exercise-catalog-card:focus-within{border-color:var(--color-focus);box-shadow:var(--shadow-focus)}.exercise-catalog-card>a{gap:var(--space-1);color:inherit;text-decoration:none;display:grid}.exercise-catalog-card>a:hover,.exercise-catalog-card>a:focus-visible{color:inherit}.exercise-catalog-card>.ui-button{justify-self:start}.exercise-catalog-list strong{color:var(--color-ink);font-size:.98rem}.exercise-catalog-list small{color:var(--color-focus);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:800}.exercise-catalog-list p{color:var(--color-muted);margin:0;font-size:.84rem}.exercise-catalog-aliases{color:var(--color-muted-soft);font-size:.78rem}.exercise-catalog-filters{gap:var(--space-1);margin:0 0 var(--space-4);flex-wrap:wrap;display:flex}.exercise-catalog-filters button{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink-soft);padding:6px 12px;font-size:.74rem;font-weight:800}.exercise-catalog-filters button[aria-pressed=true]{border-color:var(--color-focus);background:var(--color-focus-ring);color:var(--color-accent-deep)}.exercise-catalog-filters button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.exercise-catalog-tags{flex-wrap:wrap;gap:5px;display:flex}.exercise-catalog-tags>span{border-radius:var(--radius-pill);background:var(--color-panel);color:var(--color-accent-deep);padding:3px 8px;font-size:.68rem;font-weight:800}.exercise-catalog-empty{color:var(--color-muted);font-size:.88rem}.exercise-page-body{gap:var(--space-5);display:grid}.exercise-page-summary{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-panel);color:var(--color-ink-soft);margin:0;font-size:.9rem;font-weight:650}.exercise-page-body h2{margin:0 0 var(--space-2);font-family:var(--font-display);color:var(--color-ink);font-size:1rem}.exercise-page-body p{color:var(--color-ink-soft);margin:0;font-size:.9rem;line-height:1.65}.exercise-page-aliases{gap:var(--space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.exercise-page-aliases>li{border-radius:var(--radius-pill);background:var(--color-panel);color:var(--color-ink-soft);padding:5px 10px;font-size:.78rem;font-weight:750}.exercise-catalog-picker{gap:var(--space-1);display:grid}.exercise-catalog-picker>label{color:var(--color-control-text);font-size:.78rem;font-weight:800}.exercise-catalog-picker>input{margin:0}.exercise-catalog-help{color:var(--color-muted);margin:0;font-size:.74rem;line-height:1.5}.exercise-catalog-linked{align-items:center;gap:var(--space-2);margin:0;display:flex}.exercise-catalog-linked>span{border-radius:var(--radius-pill);background:var(--color-focus-ring);color:var(--color-accent-deep);text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;font-size:.7rem;font-weight:800}.exercise-catalog-linked--custom>span{background:var(--color-control);color:var(--color-control-text)}.exercise-catalog-linked>a{color:var(--color-link);font-size:.74rem;font-weight:800}.exercise-catalog-status{color:var(--color-muted);margin:0;font-size:.76rem}.exercise-catalog-results{gap:var(--space-1);max-height:220px;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-highlight);margin:0;list-style:none;display:grid;overflow-y:auto}.exercise-catalog-results button{border-radius:var(--radius-sm);width:100%;padding:var(--space-2) var(--space-2);background:var(--color-surface);text-align:left;border:0;gap:3px;display:grid}.exercise-catalog-results button:hover,.exercise-catalog-results button:focus-visible{background:var(--color-focus-ring)}.exercise-catalog-results strong{color:var(--color-accent-deep);font-size:.82rem;font-weight:800}.exercise-catalog-results small{color:var(--color-muted);font-size:.72rem;font-weight:600}.exercise-catalog-editor{gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:min(100%,560px);max-height:calc(100dvh - 40px);box-shadow:var(--shadow-dialog);padding:24px;display:grid;overflow-y:auto}.exercise-catalog-editor>header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin:0;display:flex}.exercise-catalog-editor h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:1.35rem}.exercise-catalog-editor>header>button{color:var(--color-muted);background:0 0;border:0;padding:0;font-size:1.6rem;line-height:1}.exercise-catalog-editor>label,.exercise-catalog-editor>fieldset{color:var(--color-control-text);border:0;gap:6px;margin:0;padding:0;font-size:.8rem;font-weight:750;display:grid}.exercise-catalog-editor legend{padding:0}.exercise-catalog-editor input,.exercise-catalog-editor select,.exercise-catalog-editor textarea{margin:0}.exercise-catalog-editor .optional{color:var(--color-muted);font-size:.72rem;font-weight:500}.exercise-catalog-editor-tags{flex-wrap:wrap;gap:6px;display:flex}.exercise-catalog-editor-tags button{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink-soft);padding:6px 12px;font-size:.74rem;font-weight:800}.exercise-catalog-editor-tags button[aria-pressed=true]{border-color:var(--color-focus);background:var(--color-focus-ring);color:var(--color-accent-deep)}.exercise-catalog-editor-tags button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.exercise-catalog-editor>footer{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}@media (width<=720px){.exercise-catalog-editor{border-radius:16px 16px 8px 8px;max-height:calc(100dvh - 24px);padding:20px 18px}.exercise-catalog-editor>footer{flex-direction:column-reverse}.exercise-catalog-editor>footer .ui-button{width:100%}}.onboarding-shell{background:#f5f6f1;min-height:100dvh;padding:28px;overflow-x:clip}.onboarding-top{justify-content:space-between;align-items:center;gap:16px;max-width:1060px;margin:0 auto;display:flex}.onboarding-card{background:#fff;border:1px solid #e2e6df;border-radius:18px;max-width:620px;margin:72px auto;padding:48px}.onboarding-card h1{font-family:var(--font-display);letter-spacing:-.055em;margin:8px 0 10px;font-size:2.4rem;line-height:1.1}.stepper{align-items:center;gap:8px;margin-bottom:36px;display:flex}.stepper span{color:#748072;background:#e7e9e4;border-radius:50%;place-items:center;width:26px;height:26px;font-size:.78rem;font-weight:700;display:grid}.stepper span.active{color:#18251b;background:var(--color-accent)}.stepper i{background:#dce1da;width:42px;height:1px}.field-grid{grid-template-columns:1fr 1fr;gap:0 14px;margin:30px 0 10px;display:grid}.field-grid label:first-child{grid-column:1/-1}.optional{color:#959d95;font-weight:400}.event-picker{flex-wrap:wrap;gap:9px;margin:26px 0 28px;display:flex}.event.selected{color:#26321b;background:#e1f9a1;border-color:#9dbc61}.pb-list{border-top:1px solid #e8ebe5;padding-top:22px}.pb-list label{grid-template-columns:90px 1fr;align-items:center;gap:12px;display:grid}.pb-list input{margin-top:0}.input-error{color:var(--color-danger);grid-column:2;margin-top:-8px;font-weight:500}.onboarding-actions{align-items:center;gap:24px;margin-top:24px;display:flex}.onboarding-actions .primary-button{width:auto;margin-top:0}.coach-role{color:#405044;border:1px solid #e1e6df;border-radius:10px;align-items:center;gap:9px;padding:13px;font-size:.86rem;display:flex}.role-picker{gap:10px;margin:26px 0;display:grid}.profile-fields label{grid-column:1/-1}.profile-fields label:first-child,.profile-fields label:nth-child(2){grid-column:auto}.birth-date{color:#566057;grid-column:1/-1;margin-bottom:15px;font-size:.8rem;font-weight:600}.birth-date>span{margin-bottom:7px;display:block}.birth-date em{color:#959d95;font-style:normal;font-weight:400}.birth-date>div{grid-template-columns:78px 78px minmax(0,1fr);gap:8px;display:grid}.birth-date input{text-align:center;margin:0}.role-picker label{color:#344037;cursor:pointer;border:1px solid #dce1da;border-radius:12px;grid-template-columns:22px minmax(0,1fr);column-gap:11px;margin:0;padding:16px;display:grid}.role-picker input{accent-color:#5e8d43;grid-row:span 2;width:17px;height:17px;margin:2px 0 0}.role-picker strong{font-family:var(--font-display);font-size:.96rem}.role-picker span{color:#738076;grid-column:2;margin-top:4px;font-size:.84rem;line-height:1.45}.role-picker .self-coached-role{background:#f6f9f2;border-color:#cfdcc8 #cfdcc8 #cfdcc8 #7da15f;border-left-style:solid;border-left-width:4px;margin-left:0;padding-left:26px}.prescription-builder .optional{color:#919c91;font-size:.68rem;font-weight:600}.country-select{grid-column:1/-1;margin-bottom:15px;position:relative}.country-select-label{color:#566057;margin-bottom:6px;font-size:.8rem;font-weight:600;display:block}.country-select-trigger{width:100%;color:var(--color-ink);font:inherit;text-align:left;background:#fff;border:1px solid #dce0da;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:13px 14px;display:flex}.country-select-trigger:focus-visible{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.country-select-panel{z-index:5;background:#fff;border:1px solid #dce0da;border-radius:12px;gap:8px;padding:10px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 16px 40px #14251d24}.country-select-search{width:100%;margin:0}.country-select-list{gap:2px;max-height:240px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.country-select-list button{width:100%;color:var(--color-ink);font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:10px 12px;display:flex}.country-select-list button:hover,.country-select-list button.is-selected{background:#f0f5ea}.country-select-list small{color:#7a847b;font-size:.75rem;font-weight:700}.country-select-empty{color:#748075;padding:12px;font-size:.86rem}@media (width<=720px){.onboarding-shell{padding:16px 16px calc(24px + env(safe-area-inset-bottom,0px))}.onboarding-top{gap:12px}.onboarding-card{border-radius:14px;max-width:none;margin:28px 0 0;padding:24px 18px}.onboarding-card h1{font-size:1.85rem}.stepper{margin-bottom:28px}.field-grid,.profile-fields{grid-template-columns:1fr;gap:0;margin-top:22px}.field-grid label:first-child,.profile-fields label,.profile-fields label:first-child,.profile-fields label:nth-child(2){grid-column:auto}.birth-date>div{grid-template-columns:repeat(3,minmax(0,1fr))}.event-picker{gap:8px;margin:18px 0 22px}.event-picker .event{min-height:40px}.pb-list label{grid-template-columns:1fr;gap:4px;margin-bottom:14px}.pb-list input{margin-top:4px}.role-picker{margin:20px 0}.role-picker label{padding:14px}.role-picker .self-coached-role{padding-left:14px}.onboarding-actions{flex-direction:column-reverse;align-items:stretch;gap:14px;margin-top:28px}.onboarding-actions .primary-button{width:100%;min-height:48px}.onboarding-actions .back-button{align-self:center;min-height:44px}.onboarding-card>.primary-button{min-height:48px}}.profile-page{min-width:0}.profile-page h1{font-family:var(--font-display);letter-spacing:-.055em;margin:3px 0 6px;font-size:3.1rem}.profile-hero{background:var(--color-forest);color:#fff;border-radius:16px;align-items:center;gap:20px;min-width:0;margin-top:28px;padding:24px;display:flex}.profile-hero>div{min-width:0}.avatar-picker{cursor:pointer;border-radius:50%;flex:0 0 88px;width:88px;height:88px;position:relative;overflow:hidden}.avatar-picker>span,.avatar-picker>img{object-fit:cover;background:var(--color-accent);width:100%;height:100%;color:var(--color-accent-ink);font-family:var(--font-display);place-items:center;font-size:1.8rem;font-weight:800;display:grid}.avatar-picker input{opacity:0;cursor:pointer;position:absolute;inset:0}.avatar-picker i{color:#fff;text-align:center;background:#0f1e14c7;padding:5px 0;font-size:.62rem;font-style:normal;position:absolute;bottom:0;left:0;right:0}.profile-hero h2{overflow-wrap:anywhere;font-family:var(--font-display);margin:0 0 4px;font-size:1.55rem}.profile-hero p{color:#c9d7cc;margin:0}.profile-details{grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;display:grid}.profile-details article{background:#fff;border:1px solid #e0e5dd;border-radius:16px;min-width:0;padding:22px}.profile-section-heading{justify-content:space-between;align-items:flex-start;gap:14px;min-height:38px;display:flex}.profile-section-heading .eyebrow{margin:4px 0 0}.profile-details dl{margin:0}.profile-details dl>div{border-bottom:1px solid #edf0eb;justify-content:space-between;gap:18px;padding:13px 0;display:flex}.profile-details dl>div:last-child{border-bottom:0}.profile-details dt{color:#737d74;font-size:.84rem}.profile-details dd{overflow-wrap:anywhere;color:#304035;text-align:right;min-width:0;margin:0;font-size:.86rem;font-weight:700}.missing{color:#9aa29a;font-weight:500}.profile-coaches,.profile-roles{background:#fff;border:1px solid #e0e5dd;border-radius:16px;margin-top:18px;padding:22px}.profile-roles h2,.profile-coaches h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 5px;font-size:1.25rem}.profile-roles .profile-section-heading>div>p:last-child,.profile-coaches-heading>div>p:last-child,.profile-people-status{color:#737d74;margin:0;font-size:.88rem}.profile-roles dl{margin:8px 0 0}.profile-roles dl>div{border-bottom:1px solid #edf0eb;justify-content:space-between;gap:18px;padding:13px 0;display:flex}.profile-roles dl>div:last-child{border-bottom:0}.profile-roles dt{color:#737d74;font-size:.84rem}.profile-roles dd{overflow-wrap:anywhere;color:#304035;text-align:right;min-width:0;margin:0;font-size:.86rem;font-weight:700}.profile-coaches ul{gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}.profile-coaches li{color:#304035;border-top:1px solid #edf0eb;align-items:center;gap:12px;padding:11px 0;display:flex}.profile-coaches li strong{overflow-wrap:anywhere;min-width:0}.profile-coaches li>span,.profile-coaches li>img{object-fit:cover;background:var(--color-accent-soft);width:34px;height:34px;color:var(--color-accent-deep);font-family:var(--font-display);border-radius:50%;flex:0 0 34px;place-items:center;font-weight:800;display:grid}.profile-people-status{margin-top:18px}.profile-coaches-heading{justify-content:space-between;align-items:center;gap:14px;min-width:0;display:flex}.profile-coaches-heading>div{min-width:0}.profile-add-button{border:1px solid var(--color-border);background:var(--color-canvas);width:38px;height:38px;color:var(--color-forest);cursor:pointer;border-radius:50%;flex:0 0 38px;place-items:center;font-size:1.45rem;line-height:1;display:grid}.profile-add-button:hover{background:#eaf2e4;border-color:#9db391}.profile-settings-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:19px;height:19px}.coach-settings-section{border-top:1px solid var(--color-border);margin-top:22px;padding-top:20px}.coach-settings-section h3{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 5px;font-size:1.05rem}.coach-settings-section>p{color:#737d74;margin:0;font-size:.86rem;line-height:1.5}.coach-settings-section .form-error{margin-top:12px}.coach-settings-status{color:#737d74;margin:14px 0 0;font-size:.84rem}.coach-settings-list{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.coach-settings-list li{border-top:1px solid #edf0eb;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;display:grid}.coach-settings-list li>span,.coach-settings-list li>img{object-fit:cover;background:var(--color-accent-soft);width:34px;height:34px;color:var(--color-accent-deep);font-family:var(--font-display);border-radius:50%;place-items:center;font-weight:800;display:grid}.coach-settings-list li>div{gap:2px;min-width:0;display:grid}.coach-settings-list strong{overflow-wrap:anywhere;color:#304035;min-width:0;font-size:.88rem}.coach-settings-list small{color:#737d74;font-size:.76rem}.coach-settings-list button{width:36px;height:36px;color:var(--color-danger);background:0 0;border:0;border-radius:8px;place-items:center;padding:8px;display:grid}.coach-settings-list button:hover{background:#fff0f0}.coach-settings-list .coach-add-self-button{color:var(--color-link)}.coach-settings-list .coach-add-self-button:hover{background:#eef6e8}.coach-settings-list button:disabled{cursor:wait;opacity:.5}.coach-settings-list button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:19px;height:19px}.coach-removal-confirmation{background:#fff8f8;border:1px solid #edd8d8;border-radius:12px;margin-top:24px;padding:18px}.coach-removal-confirmation>p:first-child{color:#664747;margin:0;line-height:1.55}.coach-removal-confirmation .form-error{margin:14px 0 0}.profile-coaches li>div{gap:2px;display:grid}.profile-coaches li small{color:#737d74}.profile-dialog-backdrop{z-index:var(--z-dialog);background:#121f1685;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.profile-dialog{background:#fff;border-radius:16px;width:min(460px,100%);max-height:calc(100dvh - 40px);padding:24px;overflow-y:auto;box-shadow:0 22px 60px #0e1d123d}.profile-dialog header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.profile-dialog h2{font-family:var(--font-display);letter-spacing:-.04em;margin:3px 0 0}.profile-dialog header>button{color:#657067;cursor:pointer;background:0 0;border:0;padding:0 3px;font-size:1.5rem}.profile-dialog>p{color:#737d74;line-height:1.5}.profile-dialog label{color:#566057;gap:7px;margin-top:20px;font-size:.8rem;font-weight:700;display:grid}.profile-dialog input{text-transform:uppercase;border:1px solid #d8dfd5;border-radius:9px;margin:0;padding:12px;font-size:1rem}.profile-edit-dialog input{text-transform:none}.profile-edit-fields{grid-template-columns:1fr 1fr;gap:0 14px;margin-top:22px;display:grid}.profile-edit-fields label{min-width:0;margin-top:0}.profile-edit-fields label:nth-child(n+3){grid-column:1/-1}.profile-edit-fields select{margin-top:0}.profile-edit-fields .optional{color:#899188;font-size:.72rem;font-weight:500}.profile-event-choices{margin-top:22px}.profile-event-choices+.profile-event-choices{border-top:1px solid var(--color-border);padding-top:20px}.profile-event-choices h3{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 12px;font-size:1.05rem}.profile-event-choices>div{flex-wrap:wrap;gap:8px;display:flex}.profile-event-choices button{color:#526052;background:#fff;border:1px solid #dce2da;border-radius:999px;padding:9px 12px;font-size:.8rem;font-weight:700}.profile-event-choices button.is-selected{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-deep)}.profile-result-fields{border-top:1px solid var(--color-border);grid-template-columns:1fr 1fr;gap:0 14px;margin-top:22px;padding-top:20px;display:grid}.profile-result-fields h3{font-family:var(--font-display);letter-spacing:-.03em;grid-column:1/-1;margin:0 0 12px;font-size:1.05rem}.profile-result-fields label{min-width:0;margin-top:0}.profile-dialog footer{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.profile-dialog footer .primary-button,.profile-dialog footer .secondary-button{width:auto;margin:0}.profile-role-picker{gap:10px;margin:22px 0 0;display:grid}.profile-role-picker label{color:#344037;font-size:inherit;cursor:pointer;border:1px solid #dce1da;border-radius:12px;grid-template-columns:22px minmax(0,1fr);column-gap:11px;margin:0;padding:16px;font-weight:400;display:grid}.profile-role-picker input{width:17px;height:17px;font-size:inherit;text-transform:none;accent-color:#5e8d43;border:0;border-radius:0;grid-row:span 2;margin:2px 0 0;padding:0}.profile-role-picker strong{font-family:var(--font-display);font-size:.96rem}.profile-role-picker span{color:#738076;grid-column:2;margin-top:4px;font-size:.84rem;font-weight:400;line-height:1.45}.profile-role-picker .self-coached-role{background:#f6f9f2;border-color:#cfdcc8 #cfdcc8 #cfdcc8 #7da15f;border-left-style:solid;border-left-width:4px;padding-left:26px}.profile-connection-code{overflow-wrap:anywhere;color:#36503a;letter-spacing:.1em;text-align:center;background:#f0f5eb;border-radius:10px;margin-top:22px;padding:16px;font-family:monospace;font-size:clamp(.95rem,5vw,1.25rem);display:block}.profile-connection-code-row{grid-template-columns:minmax(0,1fr) 42px;align-items:stretch;gap:8px;margin-top:22px;display:grid}.profile-connection-code-row .profile-connection-code{place-items:center;margin-top:0;display:grid}.profile-connection-code-row button{color:var(--color-link);background:#f4f8f0;border:1px solid #cfdacb;border-radius:10px;place-items:center;display:grid}.profile-connection-code-row button:hover:not(:disabled){background:#eaf2e4;border-color:#9db391}.profile-connection-code-row button:disabled{cursor:not-allowed;opacity:.5}.profile-connection-code-row svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:19px;height:19px}.profile-signout{background:#fff;border:1px solid #e0e5dd;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;margin-top:18px;padding:22px;display:flex}.profile-signout h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 5px;font-size:1.1rem}.profile-signout p:last-child{color:#737d74;margin:0;font-size:.88rem}.profile-signout .secondary-button{color:#8d4545;background:#fff8f8;border-color:#edd8d8}@media (width<=720px){.profile-page h1{font-size:clamp(2.1rem,11vw,2.5rem)}.profile-hero{padding:18px}.profile-details{grid-template-columns:1fr}.profile-coaches-heading{align-items:flex-start}.profile-signout{display:block}.profile-signout .secondary-button{width:100%;margin-top:18px}.profile-dialog-backdrop{align-items:end;padding:10px}.profile-dialog{border-radius:16px 16px 8px 8px;max-height:calc(100dvh - 20px);padding:20px 18px}}@media (width<=420px){.profile-hero{align-items:flex-start}.avatar-picker{flex-basis:72px;width:72px;height:72px}.profile-hero h2{font-size:1.3rem}.profile-details article,.profile-coaches,.profile-roles,.profile-signout{padding:18px}.profile-details dl>div,.profile-roles dl>div{gap:4px;display:grid}.profile-details dd,.profile-roles dd{text-align:left}.profile-edit-fields{grid-template-columns:1fr}.profile-edit-fields label:nth-child(n+3){grid-column:auto}.profile-result-fields{grid-template-columns:1fr}.profile-result-fields h3{grid-column:auto}.profile-dialog footer{flex-direction:column-reverse;align-items:stretch}.profile-dialog footer .primary-button,.profile-dialog footer .secondary-button{width:100%}}.dashboard>header{justify-content:space-between;align-items:flex-start;display:flex}.dashboard{padding-bottom:96px}.dashboard h1{font-family:var(--font-display);letter-spacing:-.055em;margin:3px 0 4px;font-size:3.4rem}.dashboard .subtitle{line-height:1.5}.getting-started,.dashboard-card,.week-card{margin-top:36px}.getting-started{grid-template-columns:.8fr 1.2fr;gap:40px;display:grid}.getting-started .eyebrow{color:#bdd4c1}.getting-started h2{font-family:var(--font-display);letter-spacing:-.05em;margin-bottom:10px;font-size:2rem}.getting-started-intro>p:last-child{color:var(--color-on-dark-muted);line-height:1.55}.setup-steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.setup-steps li{background:var(--color-forest-soft);border:1px solid #2a4460;border-radius:12px;grid-template-columns:40px 1fr;gap:12px;padding:18px;display:grid}.step-number{background:var(--color-accent);width:30px;height:30px;color:var(--color-accent-ink);border-radius:50%;place-items:center;font-size:.82rem;font-weight:800;display:grid}.setup-steps h3{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 6px;font-size:1.05rem}.setup-steps p:not(.eyebrow){color:#cedbd0;margin-bottom:12px;font-size:.88rem;line-height:1.45}.dashboard-card h2,.week-card h2{font-family:var(--font-display);letter-spacing:-.04em;margin-bottom:23px}.preview-caption{color:#778178;margin:-11px 0 20px;font-size:.86rem}.empty-timeline-grid{border:1px dashed #d7ddd4;border-radius:10px;overflow:hidden}.empty-timeline-grid div{border-bottom:1px solid #e8ece5;grid-template-columns:90px 1fr;align-items:center;min-height:45px;display:grid}.empty-timeline-grid div:last-child{border-bottom:0}.empty-timeline-grid span{color:#637064;padding-left:13px;font-size:.8rem;font-weight:700}.empty-timeline-grid i{background:repeating-linear-gradient(90deg,#edf0eb,#edf0eb 22px,#f7f8f5 22px 44px);border-radius:4px;height:17px;margin-right:13px;display:block}.week-card{justify-content:space-between;align-items:center;gap:24px;display:flex}.week-card p:last-child{color:#7a8379;margin:0}.next-training{background:linear-gradient(135deg,#f4f8ef 0%,#fff 55%);justify-content:space-between;align-items:center;gap:24px;margin-top:28px;display:flex}.next-training--hero{isolation:isolate;background:radial-gradient(circle at 84% 8%,#215aa929,#0000 24%),linear-gradient(120deg,#0e1620 0%,#152a45 62%,#1a4787 100%);border-color:#1a2c40;min-height:260px;padding:clamp(28px,5vw,48px);position:relative;overflow:hidden;box-shadow:0 22px 50px #0e16202e}.next-training--hero:before,.next-training--hero:after{z-index:-1;content:"";pointer-events:none;border:1px solid #215aa924;border-radius:50%;position:absolute}.next-training--hero:before{width:410px;height:410px;top:-180px;right:-90px}.next-training--hero:after{width:274px;height:274px;top:-112px;right:-22px}.next-training-hero-content{z-index:1;min-width:0;position:relative}.next-training--hero .eyebrow{color:#c7d8ca;align-items:center;gap:8px;margin-bottom:18px;display:flex}.next-training--hero .eyebrow i{background:var(--color-accent);border-radius:50%;width:7px;height:7px;animation:2.4s ease-in-out infinite next-training-pulse;box-shadow:0 0 0 5px #215aa91a}.next-training h2{font-family:var(--font-display);letter-spacing:-.05em;margin:4px 0 0;font-size:clamp(1.6rem,3vw,2.1rem)}.next-training--hero h2{max-width:680px;color:var(--color-on-dark);text-wrap:balance;margin-top:6px;font-size:clamp(2rem,5vw,3.5rem);line-height:1.03}.next-training-tags{flex-wrap:wrap;gap:7px;max-width:680px;margin:16px 0 0;padding:0;list-style:none;display:flex}.next-training-tags li{border-radius:var(--radius-pill);color:var(--color-accent);background:#215aa91a;border:1px solid #215aa938;padding:6px 11px;font-size:.74rem;font-weight:800}.next-training-date{color:var(--color-forest);text-transform:capitalize;margin:0;font-size:.92rem;font-weight:800}.next-training--hero .next-training-date{color:var(--color-accent);letter-spacing:.025em;font-size:.9rem}.next-training-time{color:#6f7b71;margin:8px 0 0;font-size:.88rem}.next-training-meta{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.next-training-meta span{border-radius:var(--radius-pill);color:#d8e4d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0f;border:1px solid #deeee029;padding:7px 11px;font-size:.74rem;font-weight:750}.next-training-actions{z-index:2;flex:none;gap:10px;min-width:158px;display:grid;position:relative}.next-training-actions .ui-button{min-width:158px;transition:background-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);box-shadow:0 10px 24px #0a191038}.next-training-actions .ui-button:hover{transform:translateY(-2px);box-shadow:0 14px 30px #0a19104d}.next-training-hero-visual{z-index:0;background:#215aa909;border:1px solid #215aa91f;border-radius:50%;place-items:center;width:150px;height:150px;display:grid;position:absolute;top:50%;right:178px;transform:translateY(-50%)}.next-training-hero-visual span{width:72px;height:72px;color:var(--color-accent);background:#215aa91a;border-radius:22px;place-items:center;display:grid;transform:rotate(8deg)}.next-training-hero-visual svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:38px;height:38px}.next-training-skeleton{gap:12px;width:min(460px,70%);display:grid}.next-training-skeleton .ui-skeleton{background:linear-gradient(100deg,#ffffff14 25%,#ffffff30 42%,#ffffff14 59%) 0 0/240% 100%}.next-training-skeleton .ui-skeleton--text:last-child{width:68%}.next-training-loading-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes next-training-pulse{50%{box-shadow:0 0 0 9px #215aa900}}@keyframes next-training-shimmer{to{background-position:-220% 0}}.next-training.is-empty{background:var(--color-surface-muted);border-color:var(--color-border-strong)}.next-training.is-empty h2{font-size:1.45rem}.next-training.is-empty>div>p:last-child{color:#6f7b71;margin:8px 0 0;font-size:.9rem}.next-training-status{color:#6f7b71;margin:8px 0 0}.training-week{margin-top:38px}.training-week-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:17px;display:flex}.training-week-heading h2{font-family:var(--font-display);letter-spacing:-.045em;margin:3px 0 2px;font-size:clamp(1.55rem,3vw,2rem)}.training-week-heading>div:first-child>p:last-child{color:var(--color-muted);text-transform:capitalize;margin:0;font-size:.82rem;font-weight:700}.training-week-controls{gap:7px;display:flex}.training-week-controls button{border:1px solid var(--color-border);background:var(--color-surface);width:38px;height:38px;color:var(--color-ink-soft);transition:border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast);border-radius:50%;place-items:center;display:grid}.training-week-controls button:hover{background:#f3f7ef;border-color:#b8c8af;transform:translateY(-1px)}.training-week-controls button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.training-week-controls svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:18px;height:18px}.training-week-strip{scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#cbd5c6 transparent;gap:11px;padding:4px 3px 14px;scroll-padding-inline:3px;display:flex;overflow-x:auto}.training-week-strip:focus-visible{border-radius:var(--radius-md);box-shadow:var(--shadow-focus);outline:none}.training-week-frame{border:1px solid var(--color-border);background:linear-gradient(165deg, var(--color-surface) 0%, var(--color-canvas-soft) 100%);min-height:226px;color:var(--color-ink);text-align:left;scroll-snap-align:start;border-radius:15px;flex:0 0 clamp(142px,15.2vw,164px);grid-template-rows:auto 1fr auto;padding:14px;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 22px #0e16200e}.training-week-frame:before{content:"";opacity:0;background:#9fb18f;height:3px;position:absolute;top:0;left:0;right:0}.training-week-frame.is-past>:not(.training-week-frame-body),.training-week-frame.is-past .training-week-frame-body>:not(.training-week-log-button){opacity:.62}.training-week-frame.is-today{border-color:var(--color-accent);background:radial-gradient(circle at 100% 0%, #215aa92e, transparent 42%), linear-gradient(165deg, var(--color-surface), var(--color-accent-soft));box-shadow:0 10px 26px #215aa91f}.training-week-frame.is-today:before{background:var(--color-accent-deep);opacity:1}.training-week-frame.is-competition{background:linear-gradient(165deg,#fffdf7,#fbf4df);border-color:#dbc783}.training-week-frame.is-competition:before{opacity:1;background:#d3a347}.training-week-index{color:#a5ada5;letter-spacing:.08em;font-size:.58rem;font-weight:850;position:absolute;top:10px;right:11px}.training-week-day{text-transform:capitalize;gap:2px;padding-right:24px;display:grid}.training-week-day b{font-family:var(--font-display);letter-spacing:-.025em;font-size:.98rem}.training-week-day i{color:#758076;font-size:.68rem;font-style:normal;font-weight:700}.training-week-frame-body{align-content:end;justify-items:start;min-width:0;padding:26px 0 10px;display:grid}.training-week-frame-icon{color:#496742;background:#e8efe2;border-radius:11px;place-items:center;width:35px;height:35px;margin-bottom:13px;display:grid}.training-week-frame.is-rest .training-week-frame-icon{color:#617069;background:#e7ece8}.training-week-frame.is-competition .training-week-frame-icon{color:#7b5b12;background:#f1dfaa}.training-week-frame-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:20px;height:20px}.training-week-session{width:calc(100% + 8px);min-width:0;color:inherit;text-align:left;transition:background-color var(--transition-fast);background:0 0;border:0;border-radius:10px;justify-items:start;margin:0 -4px;padding:4px;display:grid}.training-week-session+.training-week-session{margin-top:4px}.training-week-session.is-primary{padding-top:0}.training-week-session:hover{background:#9eb86729}.training-week-session:focus-visible{box-shadow:var(--shadow-focus);outline:none}.training-week-frame.is-past .training-week-session:hover,.training-week-frame.is-past .training-week-session:focus-visible{opacity:1}.training-week-frame-body strong{width:100%;font-family:var(--font-display);letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;font-size:.91rem;line-height:1.2;overflow:hidden}.training-week-frame-body small{color:#768078;margin-top:5px;font-size:.66rem;font-weight:700}.training-week-log-button{border-radius:var(--radius-pill);color:#2f4a2c;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;max-width:100%;transition:border-color var(--transition-fast), background-color var(--transition-fast);background:#eef7e2;border:1px solid #bdd0ad;margin-top:9px;padding:4px 9px;font-size:.6rem;font-weight:850;overflow:hidden}.training-week-log-button:hover{border-color:var(--color-accent-deep);background:var(--color-accent);color:var(--color-accent-ink)}.training-week-log-button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.training-week-today{border-radius:var(--radius-pill);background:var(--color-accent);width:fit-content;color:var(--color-accent-ink);letter-spacing:.04em;text-transform:uppercase;padding:5px 8px;font-size:.59rem;font-weight:850}.training-week-frame-skeleton{gap:10px;width:100%;display:grid}.training-week-frame-skeleton .ui-skeleton--circle{border-radius:10px;width:34px;height:34px}.training-week-frame-skeleton .ui-skeleton--heading{width:88%;height:16px}.training-week-frame-skeleton .ui-skeleton--text{width:76%;height:12px}@keyframes training-week-shimmer{to{background-position:-220% 0}}.season-ring-card{isolation:isolate;background:radial-gradient(circle at 92% 8%, #215aa929, transparent 31%), linear-gradient(135deg, var(--color-surface-highlight), var(--color-accent-soft));grid-template-columns:190px minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,64px);min-height:260px;margin-top:38px;padding:clamp(28px,5vw,46px);display:grid;position:relative;overflow:hidden;box-shadow:0 14px 36px #0e162017}.season-ring-visual{place-items:center;width:180px;height:180px;display:grid;position:relative}.season-ring-visual svg{width:100%;height:100%;position:absolute;overflow:visible;transform:rotate(-90deg)}.season-ring-track,.season-ring-progress{fill:none;stroke-width:10px}.season-ring-track{stroke:#dce5d7}.season-ring-progress{stroke:var(--color-accent-deep);stroke-linecap:round;filter:drop-shadow(0 4px 7px #28433633);animation:1s cubic-bezier(.22,1,.36,1) both season-ring-draw}.season-ring-value{z-index:1;justify-items:center;display:grid}.season-ring-value strong{font-family:var(--font-display);letter-spacing:-.07em;font-size:2.5rem;line-height:1}.season-ring-value span{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:5px;font-size:.65rem;font-weight:800}.season-ring-content{z-index:1;min-width:0;position:relative}.season-ring-content h2,.season-ring-card.is-empty h2{font-family:var(--font-display);letter-spacing:-.055em;margin:5px 0 3px;font-size:clamp(1.8rem,4vw,2.75rem);line-height:1.05}.season-ring-season-name{color:#647166;margin:8px 0 0;font-size:.86rem;font-weight:700}.season-ring-content dl{flex-wrap:wrap;gap:12px 36px;margin:26px 0 0;display:flex}.season-ring-content dl div{gap:4px;display:grid}.season-ring-content dt{color:#7b867c;letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:800}.season-ring-content dd{color:var(--color-forest);font-family:var(--font-display);margin:0;font-size:.93rem;font-weight:800}.season-ring-orbit{z-index:-1;border:1px solid #3e5d481a;border-radius:50%;width:280px;height:280px;position:absolute;top:50%;right:-95px;transform:translateY(-50%)}.season-ring-orbit:before,.season-ring-orbit:after{content:"";border:1px solid #3e5d4814;border-radius:50%;position:absolute}.season-ring-orbit:before{inset:38px}.season-ring-orbit:after{inset:76px}.season-ring-orbit i{background:var(--color-accent-deep);border-radius:50%;width:7px;height:7px;position:absolute;box-shadow:0 0 0 5px #28433614}.season-ring-orbit i:first-child{top:27px;left:54px}.season-ring-orbit i:nth-child(2){bottom:60px;right:33px}.season-ring-orbit i:nth-child(3){opacity:.48;width:5px;height:5px;top:50%;left:69px}.season-ring-card.is-empty{background:var(--color-surface-muted);min-height:210px;box-shadow:none;grid-template-columns:120px minmax(0,1fr)}.season-ring-card.is-empty h2{font-size:clamp(1.5rem,3vw,2rem)}.season-ring-card.is-empty>div:last-child>p:last-child{max-width:560px;color:var(--color-muted);margin:8px 0 0;line-height:1.5}.season-ring-empty{color:#899389;width:110px;height:110px;font-family:var(--font-display);border:9px solid #dfe5dc;border-radius:50%;place-items:center;font-weight:800;display:grid}@keyframes season-ring-draw{0%{stroke-dashoffset:365px}}.setup-steps .is-locked{opacity:.58}.planning-athlete-context{margin-top:28px}.planning-athlete-heading h2{font-family:var(--font-display);letter-spacing:-.04em;margin:2px 0 0;font-size:1.35rem}.planning-athlete-list{margin-top:14px}.planning-season-summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.planning-athlete-empty{color:var(--color-muted);margin:14px 0 0}.planning-season-summary{--spotlight-x:72%;--spotlight-y:18%;--spotlight-opacity:.48;isolation:isolate;background-color:var(--color-forest);color:#fff;text-align:left;background-image:linear-gradient(100deg,#0e1620f0 0%,#0e1620b8 52%,#0e162047 100%),url(/auth/track.png);background-position:50% 68%;background-size:cover;border:0;border-radius:18px;justify-content:space-between;align-items:flex-end;gap:24px;width:100%;min-height:190px;margin-top:18px;padding:28px 30px;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 36px #0e162024}.planning-season-summary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 42px #182b1f33}.planning-season-summary:disabled{cursor:default;opacity:.72}.planning-season-summary-content{z-index:1;gap:6px;display:grid;position:relative}.planning-season-summary-content small{color:#c4d7c6;letter-spacing:.14em;font-size:.68rem;font-weight:800}.planning-season-summary-content strong{font-family:var(--font-display);letter-spacing:-.05em;font-size:clamp(1.55rem,4vw,2.25rem)}.planning-season-summary-content>span{color:#e0e9e1;font-size:.9rem;font-weight:650}.planning-season-summary-action{z-index:1;background:var(--color-accent);color:var(--color-accent-ink);border-radius:999px;flex:none;padding:10px 14px;font-size:.78rem;font-weight:800;position:relative}.planning-season-summary.is-empty{min-height:160px}.planning-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px;display:grid}.planning-overview-card{border:1px solid var(--color-border);background:var(--color-surface);min-width:0;min-height:310px;color:var(--color-ink);text-align:left;border-radius:18px;align-content:start;gap:24px;padding:24px;display:grid;box-shadow:0 10px 28px #182b1f12}.planning-overview-card:hover:not(:disabled){border-color:#b8c8af;transform:translateY(-1px);box-shadow:0 16px 36px #182b1f1a}.planning-overview-card:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.planning-overview-card:disabled{cursor:default}.planning-overview-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.planning-overview-heading>span{gap:4px;display:grid}.planning-overview-heading small{color:#758076;letter-spacing:.12em;font-size:.66rem;font-weight:800}.planning-overview-heading strong{font-family:var(--font-display);letter-spacing:-.04em;font-size:1.3rem}.planning-overview-heading>i{color:var(--color-link);flex:none;font-size:.75rem;font-style:normal;font-weight:800}.planning-overview-card:disabled .planning-overview-heading>i{color:#8b958c}.planning-paths{margin-top:52px}.planning-saved-training-link{margin:18px 0 0}.planning-paths-heading{margin-bottom:18px}.planning-paths-heading h2{font-family:var(--font-display);letter-spacing:-.05em;margin:4px 0 0;font-size:clamp(1.45rem,3vw,2rem)}.planning-paths-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.planning-path-card{grid-template-rows:132px 1fr auto;gap:22px;min-height:390px;padding:24px;display:grid;position:relative;overflow:hidden}.planning-path-card--season{background:linear-gradient(145deg, var(--color-surface-highlight), var(--color-accent-soft))}.planning-path-card--cycle{background:radial-gradient(circle at 88% 6%, #215aa92e, transparent 36%), var(--color-forest)}.planning-path-visual{z-index:1;min-width:0;position:relative}.planning-path-visual--season{background:#ffffff9e;border:1px solid #37553f1c;border-radius:14px;grid-template-rows:1fr auto;grid-template-columns:auto 1fr;align-items:center;column-gap:14px;padding:24px 18px 16px;display:grid}.planning-path-visual--season>span{color:var(--color-forest);letter-spacing:.12em;align-self:start;font-size:.64rem;font-weight:850}.planning-path-visual--season>div{border-radius:var(--radius-pill);background:linear-gradient(90deg,#85ad75 0 34%,#d5ad58 34% 72%,#8c82b2 72%);height:8px;position:relative;box-shadow:0 5px 14px #304e3821}.planning-path-visual--season>div>i{background:var(--color-forest);border:3px solid #f6faf3;border-radius:50%;width:13px;height:13px;position:absolute;top:50%;transform:translate(-50%,-50%)}.planning-path-visual--season>div>i:first-child{left:0}.planning-path-visual--season>div>i:nth-child(2){left:34%}.planning-path-visual--season>div>i:nth-child(3){left:72%}.planning-path-visual--season>div>i:nth-child(4){left:100%}.planning-path-visual--season>small{color:#7b877c;letter-spacing:.08em;font-size:.57rem;font-weight:800}.planning-path-visual--season>small:last-child{justify-self:end}.planning-path-visual--cycle{background:#ffffff0e;border:1px solid #ffffff1a;border-radius:14px;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;padding:17px;display:grid}.planning-path-visual--cycle>span{grid-template-rows:auto 1fr 1fr;gap:5px;min-width:0;display:grid}.planning-path-visual--cycle small{color:#ffffff85;text-align:center;font-size:.55rem;font-weight:800}.planning-path-visual--cycle i{background:#ffffff17;border-radius:5px;min-height:31px}.planning-path-visual--cycle span:nth-child(2n) i:last-child{align-self:end;min-height:19px}.planning-path-visual--cycle .is-key i:first-of-type{background:var(--color-accent);box-shadow:0 5px 15px #caeb5a21}.planning-path-copy{z-index:1;align-self:start;position:relative}.planning-path-copy h3{font-family:var(--font-display);letter-spacing:-.045em;margin:7px 0 9px;font-size:clamp(1.35rem,2.5vw,1.75rem);line-height:1.08}.planning-path-copy>p:last-child{color:#6d796e;max-width:35rem;margin:0;line-height:1.5}.planning-path-card--cycle .planning-path-copy>p:last-child{color:#ffffffad}.planning-path-card .ui-button{z-index:1;width:fit-content;position:relative}.planning-path-arrow{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:18px;height:18px}.planning-phase-preview,.planning-quality-preview,.planning-locked-preview{min-width:0}.planning-preview-dates{color:#69766a;align-items:center;gap:10px;margin-bottom:18px;font-size:.68rem;font-weight:750;display:flex}.planning-preview-dates i{background:#cbd9c5;border-radius:999px;flex:1;height:4px}.planning-preview-rows{gap:10px;display:grid}.planning-preview-row{grid-template-columns:minmax(72px,28%) minmax(0,1fr);align-items:center;gap:10px;display:grid}.planning-preview-row>span{color:#536055;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:750;overflow:hidden}.planning-preview-row>div{background:repeating-linear-gradient(90deg,#eef2eb,#eef2eb 24px,#f8faf6 24px 48px);border-radius:5px;height:20px;position:relative;overflow:hidden}.planning-preview-row>div>i{background:#809f6e;border-radius:4px;display:block;position:absolute;top:3px;bottom:3px}.planning-preview-row>div>i.phase-bar-preparation{background:#72a786}.planning-preview-row>div>i.phase-bar-competition{background:#d3a347}.planning-preview-row>div>i.phase-bar-transition{background:#94a59c}.planning-preview-row>div>i.phase-bar-custom{background:#8d82b7}.planning-preview-row>div>.planning-quality-period{background:#496b55}.planning-preview-rows.is-skeleton .planning-preview-row>span{background:#e2e8de;border-radius:999px;width:75%;height:9px}.planning-preview-rows.is-skeleton .planning-preview-row>div{background:#f1f4ef}.planning-preview-rows.is-skeleton .planning-preview-row>div>i{background:#dfe6db}.planning-locked-preview{opacity:.68;margin-top:18px}.dashboard-timeline-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.dashboard-timeline-heading h2{margin:0}.dashboard-timeline-meta{text-align:right;justify-items:end;gap:5px;margin-top:4px;display:grid}.dashboard-timeline-meta p{color:#6c796d;margin:0;font-size:.82rem;font-weight:700}.dashboard-timeline-meta span{color:var(--color-link);font-size:.72rem;font-weight:800}.dashboard-season-rail{height:42px;margin:24px 0 10px;position:relative}.dashboard-season-rail i{background:#cedbc5;border-radius:99px;height:4px;display:block;position:absolute;top:18px;left:0;right:0}.dashboard-season-rail i>b{border-radius:inherit;background:linear-gradient(90deg, var(--color-forest-soft), var(--color-accent));transform-origin:0;max-width:100%;animation:.85s cubic-bezier(.22,1,.36,1) both dashboard-progress-reveal;display:block;position:absolute;inset:0 auto 0 0;box-shadow:0 0 18px #215aa938}.dashboard-today-marker{z-index:2;border:3px solid var(--color-surface-muted);background:var(--color-accent-deep);border-radius:50%;width:12px;height:12px;display:block;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #1630233d}.dashboard-today-marker:after{content:"";background:linear-gradient(#28433666,#0000);width:1px;height:84px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.dashboard-today-marker small{border-radius:var(--radius-pill);background:var(--color-forest);color:var(--color-on-dark);white-space:nowrap;padding:3px 7px;font-size:.58rem;font-style:normal;font-weight:800;position:absolute;top:-27px;left:50%;transform:translate(-50%)}.dashboard-season-rail span{color:#6b786b;font-size:.74rem;font-weight:700;position:absolute;top:0}.dashboard-season-rail span:first-child{left:0}.dashboard-season-rail span:last-child{right:0}.dashboard-timeline-rows{gap:8px;display:grid}.dashboard-timeline-row{grid-template-columns:132px 1fr;align-items:center;gap:14px;display:grid}.dashboard-timeline-row b{color:#405041;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.dashboard-timeline-row>div{background:repeating-linear-gradient(90deg,#edf2e8,#edf2e8 28px,#f8fbf3 28px 56px);border-radius:6px;height:24px;position:relative;overflow:hidden}.dashboard-timeline-row>div>i{background:#405f4a;border-radius:4px;display:block;position:absolute;inset:3px 0}.general-phase-track{overflow:visible!important}.dashboard-timeline-row .dashboard-phase-bar{color:#213023;text-align:center;white-space:nowrap;transform-origin:0;min-width:8px;transition:filter var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);background:#93b86b;border-radius:4px;justify-content:center;align-items:center;padding:3px 9px;font-size:.68rem;font-style:normal;font-weight:800;line-height:1;animation:.65s cubic-bezier(.22,1,.36,1) both dashboard-phase-reveal;display:flex;position:absolute;top:3px;bottom:3px;box-shadow:0 3px 10px #1f392714}.dashboard-phase-bar>span{text-overflow:ellipsis;overflow:hidden}.dashboard-phase-bar>small{z-index:4;visibility:hidden;background:var(--color-forest);color:var(--color-on-dark);opacity:0;pointer-events:none;transition:opacity var(--transition-fast), transform var(--transition-fast), visibility var(--transition-fast);border-radius:7px;padding:6px 8px;font-size:.62rem;font-weight:750;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%,4px)}.dashboard-phase-bar:hover,.dashboard-phase-bar:focus-visible{z-index:3;filter:saturate(1.08);outline:none;transform:translateY(-2px)scaleY(1.08);box-shadow:0 6px 16px #1f39272e}.dashboard-phase-bar:hover>small,.dashboard-phase-bar:focus-visible>small{visibility:visible;opacity:1;transform:translate(-50%)}.dashboard-phase-bar:focus-visible{box-shadow:var(--shadow-focus), 0 6px 16px #1f39272e}.dashboard-phase-bar:nth-child(2){animation-delay:70ms}.dashboard-phase-bar:nth-child(3){animation-delay:.14s}.dashboard-phase-bar:nth-child(4){animation-delay:.21s}@keyframes dashboard-progress-reveal{0%{transform:scaleX(0)}}@keyframes dashboard-phase-reveal{0%{opacity:0;transform:scaleX(.35)}}.dashboard-timeline-row .phase-bar-preparation{background:#72a786}.dashboard-timeline-row .phase-bar-competition{background:#d3a347}.dashboard-timeline-row .phase-bar-transition{background:#94a59c}.dashboard-timeline-row .phase-bar-custom{background:#8d82b7}.dashboard-timeline-row.muted{opacity:.5}.dashboard-timeline-row.muted>div>i{background:#dbe2d9}.dashboard-timeline-rows .timeline-empty{color:#788579;margin:2px 0 8px 146px;font-size:.86rem}.season-setup-header{max-width:680px;margin:0 auto 30px}.season-setup-page>.season-setup-header{max-width:none;margin-left:0;margin-right:0}.season-setup-header .back-button{margin-bottom:32px}.season-setup-page h1,.season-setup-page h2{font-family:var(--font-display);letter-spacing:-.055em}.season-setup-page h1{margin:5px 0 9px;font-size:clamp(2.6rem,5vw,4rem)}.season-form{gap:18px;display:grid}.season-editor-athlete{justify-content:space-between;align-items:center;gap:18px;padding:4px 2px 10px;display:flex}.season-editor-athlete>.eyebrow{margin:0}.season-form-section{background:#fff;border:1px solid #e0e5dd;border-radius:16px;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:44px;padding:30px;display:grid}.season-form-section h2{margin:0 0 8px;font-size:1.45rem}.season-form-section>div>p:last-child{color:#717c72;line-height:1.55}.season-form-fields{gap:6px;display:grid}.season-form-fields .athlete-specific-field{background:#fafbf8;border:1px solid #e3e8df;border-radius:10px;margin-top:8px;padding:13px}.season-form-fields textarea{resize:vertical;width:100%;min-height:84px;color:var(--color-ink);border:1px solid #dce0da;border-radius:10px;outline:none;margin-top:6px;padding:13px 14px}.season-form-fields textarea:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.philosophy-section{background:#fbfcf8}.season-form-actions{background:#fff;border:1px solid #e0e5dd;border-radius:16px;justify-content:space-between;align-items:center;gap:28px;padding:24px 30px;display:flex}.season-form-actions strong{font-family:var(--font-display)}.season-form-actions p{color:#747f75;margin:4px 0 0;font-size:.88rem}.season-form-actions .primary-button{width:auto;min-width:180px;margin:0}@media (width<=720px){.season-form-section{grid-template-columns:1fr;gap:20px;padding:22px}.season-form-actions{padding:22px;display:block}.season-form-actions .primary-button{width:100%;margin-top:18px}.date-field-grid{grid-template-columns:1fr}}.phase-setup-header{max-width:none;margin-left:0;margin-right:0}.phase-setup-header h1{font-family:var(--font-display);letter-spacing:-.055em;margin:5px 0 9px;font-size:clamp(2.6rem,5vw,4rem)}.phase-editor-athlete{margin-bottom:18px}.phase-athlete-selection{background:#fff;border:1px solid #e0e5dd;border-radius:16px;margin-bottom:18px;padding:24px 30px}.outline-athlete-controls{gap:28px;display:grid}.outline-source-picker{gap:4px;display:grid}.outline-source-picker .outline-athlete-chip-list{margin-top:14px}.outline-athlete-chip.is-disabled{opacity:.5;cursor:not-allowed}.phase-athlete-selection h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 6px;font-size:1.35rem}.phase-athlete-selection>div:first-child>p:last-child{color:#717c72;margin:0}.season-overwrite-alert{color:#8e3434;background:#fff2f2;border:1px solid #e2aaaa;border-radius:10px;margin-top:14px;padding:14px 16px}.season-overwrite-alert>strong{font-family:var(--font-display)}.season-overwrite-alert ul{gap:5px;margin:8px 0;padding-left:20px;font-size:.82rem;display:grid}.season-overwrite-alert p{color:#9b4a4a;margin:0;font-size:.78rem}.phase-chip-list{flex-wrap:wrap;align-content:center;align-items:flex-start;gap:9px;display:flex}.phase-chip-list>.eyebrow{width:100%;margin:0}.phase-chip-list button{color:#31432d;white-space:nowrap;background:#f6faee;border:1px solid #cbd9b9;border-radius:999px;align-items:center;min-height:34px;padding:7px 10px;font-size:.76rem;font-weight:800;display:inline-flex}.phase-chip-list button:hover,.phase-chip-list button:focus-visible{border-color:var(--color-accent);background:var(--color-accent-soft)}.phase-chip-list button[aria-pressed=true]{background:#e4f0db;border-color:#7fa06d}.phase-chip-list button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.phase-draft-fields>.phase-chip-list{grid-column:1/-1}.phase-draft-fields{grid-template-columns:.8fr 1.2fr;gap:0 16px;display:grid}.phase-draft-fields>label:first-child,.phase-draft-fields>.rich-text-field{grid-column:1/-1}.phase-timeline{background:#f8fbf3;border:1px solid #dbe5d3;border-radius:16px;margin:0 0 18px;padding:26px 30px}.phase-timeline-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.phase-timeline-heading h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:1.35rem}.phase-timeline-heading>p{color:#6c796d;margin:4px 0 0;font-size:.82rem;font-weight:700}.season-rail{height:42px;margin:24px 0 11px;position:relative}.season-rail i{background:#dce6d4;border-radius:99px;height:4px;display:block;position:absolute;top:18px;left:0;right:0}.season-rail span{color:#6b786b;font-size:.74rem;font-weight:700;position:absolute;top:0}.season-rail-start{left:0}.season-rail-end{right:0}.timeline-empty{color:#788579;margin:0;font-size:.88rem}.phase-timeline-rows{gap:9px;display:grid}.phase-timeline-row{grid-template-columns:150px minmax(0,1fr) 34px;align-items:center;gap:14px;display:grid}.phase-timeline-row>span{color:#405041;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:700;overflow:hidden}.phase-track{background:repeating-linear-gradient(90deg,#edf2e8,#edf2e8 28px,#f8fbf3 28px 56px);border-radius:6px;height:24px;position:relative}.phase-bar{background:#93b86b;border-radius:4px;min-width:8px;position:absolute;top:3px;bottom:3px}.phase-bar-preparation{background:#72a786}.phase-bar-competition{background:#d3a347}.phase-bar-transition{background:#94a59c}.phase-bar-custom{background:#8d82b7}.phase-append-button{z-index:2;border:1px solid var(--color-accent);width:22px;height:22px;color:var(--color-forest);opacity:0;cursor:pointer;pointer-events:none;transition:opacity var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:#fff;border-radius:50%;place-items:center;font-size:.82rem;font-weight:800;line-height:1;display:grid;position:absolute;top:50%;transform:translate(-50%,-50%)}.phase-timeline-row:hover .phase-append-button,.phase-timeline-row:focus-within .phase-append-button{opacity:1;pointer-events:auto}.phase-append-button:hover{border-color:var(--color-forest);background:var(--color-accent-soft)}.phase-append-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.phase-timeline-add{border-top:1px solid #dbe5d3;margin-top:22px;padding-top:18px}.phase-timeline-add .primary-button{width:auto;margin-top:0}.phase-edit-button{width:34px;height:34px;color:var(--color-forest);cursor:pointer;background:#fff;border:1px solid #d5dfcf;border-radius:50%;place-items:center;display:grid}.phase-edit-button:hover{background:#f0f6eb;border-color:#aabd9e}.phase-edit-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.phase-edit-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.phase-editor-dialog>form{margin-top:22px}.phase-editor-dialog .phase-draft-fields{gap:12px 16px}.phase-draft-fields>.phase-date-range-picker{grid-column:1/-1;margin-bottom:4px}.phase-range-dialog-backdrop{z-index:var(--z-dialog-nested)}.phase-range-dialog{width:min(100%,920px);max-height:min(92vh,980px);overflow:auto}.phase-range-summary{grid-template-columns:1fr 1fr;gap:12px;display:grid}.phase-range-summary>div,.phase-range-summary>button{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:12px 14px}.phase-range-summary>button{width:100%;color:inherit;text-align:left;gap:2px;display:grid}.phase-range-summary>button:hover{background:#f0f6eb;border-color:#aabd9e}.phase-range-summary>button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.phase-range-summary>div.is-active,.phase-range-summary>button.is-active{border-color:var(--color-focus);box-shadow:var(--shadow-focus)}.phase-range-summary-label{color:var(--color-muted);margin:0 0 4px;font-size:.76rem;font-weight:800}.phase-range-summary-value{color:var(--color-ink);margin:0;font-weight:700}.phase-range-status{color:var(--color-muted);margin:10px 0 0;font-size:.82rem}.phase-range-months-wrap{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px;margin-top:16px;display:grid}.phase-range-months{grid-template-columns:1fr 1fr;gap:28px;min-width:0;display:grid}.phase-range-nav{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);width:36px;height:36px;color:var(--color-forest);place-items:center;margin-top:2px;display:grid}.phase-range-nav:hover:not(:disabled){background:#f0f6eb;border-color:#aabd9e}.phase-range-nav:disabled{opacity:.35;cursor:not-allowed}.phase-range-nav:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.phase-range-nav svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.phase-range-month h3{color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.04em;text-align:center;text-transform:capitalize;margin:0 0 12px;font-size:1.05rem}.phase-range-weekdays,.phase-range-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.phase-range-weekdays span{color:var(--color-muted);text-align:center;padding:6px 0;font-size:.68rem;font-weight:800}.phase-range-grid button{width:100%;min-height:52px;color:var(--color-ink);font:inherit;background:0 0;border:0;border-radius:0;flex-direction:column;align-items:center;margin:1px 0;padding:8px 2px 14px;display:flex;position:relative}.phase-range-grid button strong{font-size:.8rem;font-weight:700;line-height:1}.phase-range-grid button.is-in-range{background:#e4f0db}.phase-range-grid button.is-range-start{border-radius:var(--radius-pill) 0 0 var(--radius-pill);background:var(--color-forest);color:var(--color-on-dark)}.phase-range-grid button.is-range-end{border-radius:0 var(--radius-pill) var(--radius-pill) 0;background:var(--color-forest);color:var(--color-on-dark)}.phase-range-grid button.is-range-start.is-range-end{border-radius:var(--radius-pill)}.phase-range-grid button.is-outside-month{color:#c5ccc4}.phase-range-grid button:disabled{color:var(--color-disabled);background:0 0}.phase-range-grid button:hover:not(:disabled):not(.is-range-start):not(.is-range-end){background:#f3f8ee}.phase-range-grid button:focus-visible{z-index:1;outline:2px solid var(--color-focus);outline-offset:-2px}.phase-range-occupancy{pointer-events:none;flex-direction:column;gap:1px;display:flex;position:absolute;bottom:3px;left:3px;right:3px}.phase-range-occupancy-name{max-width:100%;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.48rem;font-weight:800;line-height:1;overflow:hidden}.phase-range-grid button.is-range-start .phase-range-occupancy-name,.phase-range-grid button.is-range-end .phase-range-occupancy-name{display:none}.phase-range-occupancy-bar{background:#93b86b;border-radius:99px;height:3px;display:block}.phase-range-occupancy-bar.phase-base{background:#93b86b}.phase-range-occupancy-bar.phase-preparation{background:#72a786}.phase-range-occupancy-bar.phase-competition{background:#d3a347}.phase-range-occupancy-bar.phase-transition{background:#94a59c}.phase-range-occupancy-bar.phase-custom{background:#8d82b7}.phase-range-legend{margin-top:14px}.phase-range-legend .eyebrow{margin-bottom:8px}.phase-range-legend ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.phase-range-legend li{color:#405041;align-items:center;gap:7px;font-size:.74rem;font-weight:700;display:inline-flex}.phase-range-legend-swatch{background:#93b86b;border-radius:99px;width:10px;height:10px}.phase-range-legend-swatch.phase-base{background:#93b86b}.phase-range-legend-swatch.phase-preparation{background:#72a786}.phase-range-legend-swatch.phase-competition{background:#d3a347}.phase-range-legend-swatch.phase-transition{background:#94a59c}.phase-range-legend-swatch.phase-custom{background:#8d82b7}.phase-editor-dialog .phase-dialog-delete{color:#a33f35;font:inherit;cursor:pointer;background:#fff3f1;border:1px solid #e3b3ad;border-radius:10px;margin-right:auto;padding:10px 14px;font-size:.84rem;font-weight:800}.phase-editor-dialog .phase-dialog-delete:hover{color:#8d3028;background:#fde7e3;border-color:#d68f86}.phase-editor-dialog .phase-dialog-delete:focus-visible{outline-offset:2px;outline:2px solid #bd5b50}@media (width<=720px){.dashboard>header{display:block}.dashboard h1{font-size:2.45rem}.planning-athlete-context{margin-top:22px}.planning-athlete-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.planning-season-summary{flex-direction:column;align-items:flex-start;min-height:180px;padding:22px}.planning-season-summary-action{align-self:flex-start}.planning-overview-grid{grid-template-columns:1fr;margin-top:20px}.planning-paths{margin-top:38px}.planning-paths-grid{grid-template-columns:1fr}.planning-path-card{grid-template-rows:116px 1fr auto;min-height:355px;padding:20px}.planning-overview-card{min-height:280px;padding:20px}.planning-overview-heading{gap:12px}.planning-overview-heading>i{text-align:right;max-width:115px}.getting-started{grid-template-columns:1fr;gap:22px;margin-top:24px;padding:20px}.getting-started h2{font-size:1.7rem}.setup-steps li{grid-template-columns:40px minmax(0,1fr);padding:16px}.dashboard-card,.week-card{margin-top:20px;padding:20px}.week-card{flex-direction:column;align-items:stretch;gap:16px;display:flex}.week-card h2{margin-bottom:10px}.week-card .secondary-button{white-space:normal;width:100%;min-height:48px}.next-training{margin-top:20px;padding:20px;display:block}.next-training--hero{min-height:310px;padding:28px 22px 22px}.next-training--hero h2{max-width:92%;font-size:clamp(2rem,10vw,2.8rem)}.next-training-hero-visual{opacity:.68;width:126px;height:126px;top:auto;bottom:32px;right:-26px;transform:none}.next-training-hero-visual span{width:60px;height:60px}.next-training-actions{width:100%;margin-top:34px}.next-training-actions .ui-button{width:100%}.training-week{margin-top:30px}.training-week-heading{align-items:center}.training-week-controls{display:none}.training-week-strip{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px;scroll-padding-inline:16px}.training-week-frame{flex-basis:min(68vw,220px);min-height:250px;padding:17px}.training-week-frame-body strong{font-size:1.02rem}.season-ring-card,.season-ring-card.is-empty{text-align:center;grid-template-columns:1fr;justify-items:center;gap:22px;min-height:0;margin-top:30px;padding:28px 22px}.season-ring-visual{width:164px;height:164px}.season-ring-content dl{justify-content:center;gap:18px 28px;margin-top:22px}.season-ring-content dl div{justify-items:center}.season-ring-orbit{right:-170px}.next-training .secondary-button{width:100%;min-height:48px;margin-top:16px}.empty-timeline-grid div{grid-template-columns:minmax(64px,78px) minmax(0,1fr)}.dashboard-timeline-heading{display:block}.dashboard-timeline-meta{text-align:left;justify-items:start;margin-top:10px}.dashboard-timeline-row{grid-template-columns:1fr;gap:6px}.dashboard-timeline-row b{white-space:normal;text-overflow:unset;overflow:visible}.dashboard-timeline-rows .timeline-empty{margin-left:0}.dashboard-timeline-row .dashboard-phase-bar{padding-inline:6px;font-size:.62rem}}@media (prefers-reduced-motion:reduce){.dashboard-season-rail i>b,.dashboard-timeline-row .dashboard-phase-bar,.next-training--hero .eyebrow i,.season-ring-progress{animation:none}.next-training-actions .ui-button,.training-week-controls button,.training-week-log-button,.training-week-session{transition:none}.training-week-strip{scroll-behavior:auto}}@media (width<=720px){.phase-athlete-selection{padding:22px}.phase-draft-fields{grid-template-columns:1fr}.phase-draft-fields>label:first-child{grid-column:auto}.phase-timeline{padding:22px}.phase-timeline-heading{display:block}.phase-timeline-heading>p{margin-top:10px}.phase-timeline-row{grid-template-columns:minmax(0,1fr) 34px;gap:6px 10px}.phase-timeline-row>span{white-space:normal}.phase-track{grid-area:2/1/auto/-1}.phase-append-button{opacity:1;pointer-events:auto}.phase-edit-button{grid-area:1/2}.phase-editor-dialog footer{flex-wrap:wrap}.phase-editor-dialog .phase-dialog-delete{width:100%;margin-right:0}.phase-range-months{grid-template-columns:1fr}.phase-range-month:nth-child(2){display:none}.phase-range-summary{gap:10px}}.season-outline-page h1,.season-outline-page h2{font-family:var(--font-display);letter-spacing:-.055em}.season-outline-page h1{margin:5px 0 9px;font-size:clamp(2.6rem,5vw,4rem)}.season-outline-calendar{background:#fff;border:1px solid #e0e5dd;border-radius:16px;overflow:hidden}.season-outline-header{border-bottom:1px solid #e6eae4;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;display:flex}.season-outline-header h2{text-transform:capitalize;margin:0;font-size:1.35rem}.season-outline-actions{align-items:center;gap:20px;display:flex}.calendar-view-settings{color:#526153;align-items:center;gap:9px;font-size:.78rem;font-weight:800;display:flex}.calendar-view-options{background:#f4f6f2;border:1px solid #d9dfd6;border-radius:9px;padding:3px;display:flex}.calendar-view-options button{color:#677267;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;margin:0;padding:7px 10px;font-size:.72rem}.calendar-view-options button.is-selected{color:var(--color-forest);background:#fff;box-shadow:0 1px 3px #182a1d29}.calendar-view-options button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:1px}.phase-visibility-toggle{color:#526153;cursor:pointer;align-items:center;gap:9px;font-size:.78rem;font-weight:800;display:flex}.phase-visibility-toggle input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.toggle-track{background:#cbd3c9;border-radius:999px;align-items:center;width:36px;height:21px;padding:2px;transition:background .18s;display:flex}.toggle-track>span{background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .18s;box-shadow:0 1px 3px #182a1d3d}.phase-visibility-toggle input:checked+.toggle-track{background:var(--color-forest)}.phase-visibility-toggle input:checked+.toggle-track>span{transform:translate(15px)}.phase-visibility-toggle input:focus-visible+.toggle-track{outline:3px solid var(--color-focus-ring);outline-offset:2px}.cycle-navigation .save-outline-button{border-color:var(--color-forest);background:var(--color-forest);color:#fff}.cycle-navigation .save-outline-button:hover:not(:disabled){background:var(--color-forest-soft)}.cycle-navigation .save-outline-button:disabled{color:#9ba49a;background:#eef1ec;border-color:#d9ded7}.season-month-list{display:grid}.season-view .season-month+.season-month{border-top:10px solid #eef1ec}.season-month-header{background:#fff;border-bottom:1px solid #e6eae4;padding:20px 28px 16px}.season-month-header h3{color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.04em;text-transform:capitalize;margin:0;font-size:1.2rem}.month-weekdays,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-weekdays{background:#fafbf9;border-bottom:1px solid #e6eae4}.month-weekdays span{color:#7a8779;text-align:center;padding:10px;font-size:.7rem;font-weight:800}.month-day,.month-empty-day{text-align:left;background:#fff;border:1px solid #e8ece6;border-top:0;border-left:0;min-height:116px;padding:9px}.month-day{color:#314434;flex-direction:column;gap:5px;display:flex}.month-day:hover:not(:disabled){background:#f7fbf2}.month-day:disabled{color:#bbc2ba;background:#f8f9f7}.month-day strong{font-size:.82rem}.month-day.rest{background:#f4f6f2}.month-day.planned{background:#fbfdf9}.month-day-rest,.month-day-competition,.month-day-type,.month-day-massage{color:#42653b;text-overflow:ellipsis;white-space:nowrap;background:#e9f1e4;border-radius:5px;width:fit-content;max-width:100%;padding:4px 6px;font-size:.66rem;font-weight:800;overflow:hidden}.month-day-massage{color:#414d5e;background:#e6ecf5}.month-day-rest{color:#677267;background:#edf0ec}.month-day.competition{background:#fffaf0}.month-day-competition{color:#654b0d;background:#f3d88c}.day-outline-dialog{background:#fff;border:1px solid #e1e7dc;border-radius:18px;width:min(100%,600px);padding:28px;box-shadow:0 24px 70px #0e1d1338}.day-outline-dialog>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.day-outline-dialog h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:1.4rem}.day-outline-dialog>header>button{color:#647066;background:0 0;border:0;padding:0;font-size:1.6rem}.outline-type-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.day-special-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.day-special-choices button{text-align:center;margin:0}.day-massage-choice{color:#4c5766;background:#f9fbfe;border:1px solid #d8dde6;border-radius:9px;padding:11px;font-weight:800}.day-massage-choice.selected{color:#38424f;background:#e6ecf5;border-color:#93a4bd}.day-competition-choice{color:#654b0d;background:#fffaf0;border:1px solid #e2cd8e;border-radius:9px;padding:11px;font-weight:800}.day-competition-choice.selected{background:#f5df9e;border-color:#c29628}.competition-fields{gap:12px;margin-top:14px;display:grid}.competition-search-results{gap:7px;display:grid}.competition-search-results>p{color:#748075;margin:0;font-size:.76rem}.competition-search-results>label{cursor:pointer;border:1px solid #dfe4dc;border-radius:9px;align-items:center;gap:9px;padding:10px;display:flex}.competition-search-results>label.selected{background:#fff8e5;border-color:#c39b32}.competition-search-results>label span{gap:2px;display:grid}.competition-search-results>label small{color:#748075}.competition-search-results>button{color:#745916;background:#fffdf6;border:1px dashed #c9ad5d;border-radius:9px;padding:9px;font-weight:800}.competition-fields>label{color:#536054;font-size:.76rem;font-weight:800}.competition-fields>label input{width:100%;color:var(--color-ink);border:1px solid #dce3da;border-radius:9px;margin-top:6px;padding:11px 12px}.competition-fields fieldset{border:1px solid #dce3da;border-radius:9px;margin:0;padding:12px}.competition-fields legend{color:#536054;padding:0 5px;font-size:.76rem;font-weight:800}.competition-fields fieldset>div{flex-wrap:wrap;gap:7px;display:flex}.competition-fields fieldset label{color:#4e5c4f;background:#f3f6f0;border-radius:999px;align-items:center;gap:5px;padding:6px 8px;font-size:.7rem;font-weight:700;display:flex}.outline-type-list button{color:#4b5d4d;text-align:left;background:#fff;border:1px solid #dce3da;border-radius:9px;gap:4px;padding:11px;display:grid}.outline-type-list button.selected{background:#f0f8e3;border-color:#8eae69}.outline-type-list span{color:#799070;font-size:.65rem;font-weight:800}.outline-type-list strong{font-size:.8rem}.day-outline-dialog footer{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.day-outline-dialog>.dialog-lead{color:#657166;margin:16px 0 0;line-height:1.5}.day-outline-dialog footer .primary-button{width:auto;margin:0}.save-outline-dialog{width:min(100%,560px);max-height:min(90vh,720px);overflow:auto}.save-outline-summary,.save-outline-targets,.save-outline-copy{margin-top:18px}.save-outline-copy-lead{color:#717c72;margin:4px 0 0;font-size:.88rem}.save-outline-change-list{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.save-outline-change-list li{background:#fafbf8;border:1px solid #e3e8df;border-radius:10px;gap:2px;padding:10px 12px;display:grid}.save-outline-change-list strong{color:#2f3b33}.save-outline-change-list span,.save-outline-change-list small{color:#6b756d;font-size:.82rem}.save-outline-change-list small{display:block}.outline-athlete-chip-list{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.outline-athlete-chip{color:#344037;font:inherit;cursor:pointer;background:#fff;border:1px solid #dfe5dc;border-radius:999px;align-items:center;gap:8px;margin:0;padding:6px 12px 6px 6px;font-weight:700;display:inline-flex}.outline-athlete-chip.is-source{cursor:default;margin-top:10px}.outline-athlete-chip.is-selected{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-deep)}.outline-athlete-chip i{color:var(--color-forest);font-style:normal;font-weight:800}.save-outline-dialog .season-overwrite-alert{margin-top:16px}.season-setup-save-dialog .save-outline-targets .ui-athlete-identity{border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;margin-top:9px;padding:6px 13px 6px 6px}.season-copy-targets{border-top:1px solid var(--color-border);margin-top:20px;padding-top:18px}.season-copy-targets>.ui-athlete-choice-list{margin-top:10px}.outline-phase-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.outline-phase-chips span{color:#42653b;background:#e9f1e4;border-radius:999px;padding:5px 8px;font-size:.7rem;font-weight:800}.outline-phase-chips .preparation{color:#80631e;background:#f7edcf}.outline-phase-chips .competition{color:#9a4b48;background:#f5dfdd}.outline-phase-chips .transition{color:#4b6480;background:#e6edf4}.month-day.locked{color:#b8bfb7;background:#f6f7f5}.month-day-phase{background:var(--color-accent-soft);width:calc(100% + 19px);min-height:20px;color:var(--color-accent-deep);white-space:nowrap;align-items:center;margin:1px -10px 2px;padding:3px 0;font-size:.62rem;font-weight:800;line-height:1;display:flex;overflow:hidden}.month-day-phase>span{text-overflow:ellipsis;padding:0 8px;overflow:hidden}.month-day-phase.starts-row{border-radius:999px 0 0 999px;width:calc(100% + 10px);margin-left:0}.month-day-phase.ends-row{border-radius:0 999px 999px 0;width:calc(100% + 9px);margin-right:0}.month-day-phase.starts-row.ends-row{border-radius:999px;width:100%;margin-right:0}.month-day-phase.phase-preparation{color:#684f12;background:#eed58b}.month-day-phase.phase-competition{color:#713836;background:#e8aaa6}.month-day-phase.phase-transition{color:#3e566c;background:#becdda}.month-day-phase.phase-custom{color:#4e466d;background:#c9c1e4}@media (width<=720px){.season-outline-header{padding:20px;display:block}.season-outline-actions{flex-direction:column;align-items:flex-start;gap:14px;margin-top:15px}.season-outline-header .cycle-navigation{margin-top:0}.calendar-view-settings{flex-direction:column;align-items:flex-start}.season-month-header{padding:18px 20px 14px}.month-day,.month-empty-day{min-height:78px;padding:6px}.month-day-phase{width:calc(100% + 13px);margin-left:-7px;margin-right:-7px;font-size:.54rem}.month-day-phase.starts-row{width:calc(100% + 7px)}.month-day-phase.ends-row{width:calc(100% + 6px)}.month-day-phase.starts-row.ends-row{width:100%}.month-day-type,.month-day-rest,.month-day-competition,.month-day-massage{font-size:.57rem}.day-outline-dialog{border-radius:16px;padding:21px}.outline-type-list,.day-special-choices{grid-template-columns:1fr}}.training-qualities-page h1,.training-qualities-page h2,.training-qualities-page h3{font-family:var(--font-display);letter-spacing:-.045em}.training-qualities-page h1{margin:5px 0 9px;font-size:clamp(2.6rem,5vw,4rem)}.quality-toolbar{background:#fff;border:1px solid #dfe5dc;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:16px 20px;display:flex}.quality-toolbar .secondary-button{width:auto}.quality-timeline{background:#fff;border:1px solid #dfe5dc;border-radius:16px;overflow:hidden}.quality-timeline>header{border-bottom:1px solid #e6eae4;padding:24px 28px}.quality-timeline>header h2{margin:2px 0 0;font-size:1.35rem}.quality-phase-rail,.quality-track{background:repeating-linear-gradient(90deg,#f6f8f4,#f6f8f4 8.2%,#fff 8.2% 16.4%);min-height:48px;position:relative}.quality-phase-rail{background:#f1f4ee;border-radius:8px;margin:16px 28px 8px}.quality-phase-rail span{background:var(--color-accent-soft);min-width:4px;color:var(--color-accent-deep);white-space:nowrap;border-radius:6px;place-items:center;padding:4px 8px;font-size:.68rem;font-weight:800;display:grid;position:absolute;top:8px;bottom:8px;overflow:hidden}.quality-phase-rail .phase-preparation{background:#eed58b}.quality-phase-rail .phase-competition{background:#e8aaa6}.quality-phase-rail .phase-transition{background:#becdda}.quality-phase-rail .phase-custom{background:#c9c1e4}.quality-rows{border-top:1px solid #e9ede7}.quality-row{border-bottom:1px solid #e9ede7;grid-template-columns:190px minmax(0,1fr);display:grid}.quality-row-heading{padding:18px 20px}.quality-row-heading strong{color:#304035;display:block}.quality-row-heading button{color:#588043;background:0 0;border:0;margin-top:8px;padding:0;font-size:.72rem;font-weight:800}.quality-track{border-left:1px solid #e9ede7;min-height:72px}.quality-track>button{color:#304b2c;text-align:left;cursor:pointer;background:#dceec5;border:0;border-radius:8px;align-content:center;min-width:18px;padding:7px 10px;display:grid;position:absolute;top:13px;bottom:13px;overflow:hidden}.quality-track>button strong,.quality-track>button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quality-track>button small{margin-top:2px;font-size:.62rem}.custom-quality-form,.custom-exercise-form{grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:18px 20px;display:grid}.custom-quality-form input,.custom-exercise-form input{margin:0}.custom-quality-form button,.custom-exercise-form button,.add-progression button{background:var(--color-forest);color:#fff;border:0;border-radius:9px;padding:0 14px;font-weight:800}.quality-period-dialog{width:min(100%,760px);max-height:92vh;overflow:auto}.quality-period-dialog .quality-period-delete{margin-right:auto}.quality-period-fields{gap:12px;margin-top:16px;display:grid}.quality-period-fields label{color:#5d695e;gap:5px;font-size:.75rem;font-weight:800;display:grid}.progression-editor{margin-top:20px}.progression-editor h3{margin-bottom:10px}.progression-editor article{background:#fbfcfa;border:1px solid #dfe6dc;border-radius:11px;margin-top:10px;padding:14px}.progression-editor article>header{justify-content:space-between;display:flex}.progression-editor article>header button{color:#a65353;background:0 0;border:0;font-weight:800}.progression-editor article>label{grid-template-columns:80px 120px;align-items:center;margin-top:10px;font-size:.74rem;font-weight:800;display:grid}.progression-points{gap:7px;margin:10px 0;display:grid}.progression-points>div{grid-template-columns:1fr 110px 52px 30px;align-items:center;gap:7px;display:grid}.progression-points input{margin:0}.progression-points button{color:#a65353;background:#f4eaea;border:0;border-radius:7px}.progression-preview-chart{background:#f1f6ec;border-radius:9px;height:90px;margin-top:12px;padding:8px;position:relative}.progression-preview-chart svg{width:100%;height:100%;overflow:visible}.progression-preview-chart polyline{fill:none;stroke:#5f8749;stroke-width:2px;vector-effect:non-scaling-stroke}.progression-preview-chart circle{fill:#365b31;vector-effect:non-scaling-stroke}.progression-preview-chart>span{color:#60705f;font-size:.65rem;font-weight:800;position:absolute;bottom:5px;right:8px}.add-progression{grid-template-columns:minmax(0,1fr) 100px auto;gap:8px;margin-top:14px;display:grid}.add-progression select{margin:0}.custom-exercise-form{padding:9px 0 0}.quality-copy-targets{gap:8px;margin-top:16px;display:grid}.quality-copy-targets label{border:1px solid #dfe5dc;border-radius:9px;align-items:center;gap:9px;padding:10px;display:flex}.quality-copy-targets span{display:grid}.quality-copy-targets small{color:#748075}.copy-plan-toggle{gap:8px;margin-top:16px;font-weight:700;display:flex}@media (width<=720px){.quality-toolbar{flex-direction:column;align-items:flex-start}.quality-row{grid-template-columns:1fr}.quality-track{border-top:1px solid #e9ede7;border-left:0}.quality-phase-rail{margin-left:16px;margin-right:16px}.add-progression{grid-template-columns:1fr}.progression-points>div{grid-template-columns:1fr 90px 42px 30px}.custom-quality-form,.custom-exercise-form{grid-template-columns:1fr}.custom-quality-form button,.custom-exercise-form button,.add-progression button{min-height:40px}.quality-period-dialog footer{flex-wrap:wrap}.quality-period-dialog .quality-period-delete{width:100%;margin-right:0}}.training-cycle-header{max-width:760px;margin-bottom:30px}.training-cycle-header .back-button{margin-bottom:32px}.training-cycle-page h1,.training-cycle-page h2{font-family:var(--font-display);letter-spacing:-.055em}.training-cycle-page h1{margin:5px 0 9px;font-size:clamp(2.6rem,5vw,4rem)}.cycle-controls,.cycle-calendar,.cycle-overview-hero{background:#fff;border:1px solid #e0e5dd;border-radius:16px}.cycle-controls{grid-template-columns:.8fr 1.2fr;gap:34px;padding:28px 30px;display:grid}.cycle-length-preview{color:#445045;margin:14px 0 0;font-size:.9rem}.cycle-overview-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:0;margin-bottom:18px;display:grid;overflow:hidden;box-shadow:0 14px 36px #182b1f14}.cycle-overview-status,.cycle-overview-action{padding:28px 30px}.cycle-overview-status{background:linear-gradient(135deg,#fbfdf8,#f0f6eb);border-right:1px solid #dfe6dc;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;display:grid}.cycle-overview-action{background:#fff}.cycle-status-icon{border:1px solid var(--color-border);background:var(--color-accent-soft);width:58px;height:58px;color:var(--color-forest);font-family:var(--font-display);border-radius:18px;place-items:center;font-size:1.2rem;font-weight:850;display:grid;box-shadow:inset 0 0 0 6px #ffffff73}.cycle-status-icon.is-empty{color:#879388;background:0 0;border-style:dashed;font-size:.78rem}.cycle-status-skeleton{display:contents}.cycle-status-skeleton>.ui-skeleton{border-radius:18px;width:58px;height:58px}.cycle-status-skeleton>span{gap:9px;display:grid}.cycle-status-skeleton .ui-skeleton--heading{width:min(22rem,90%);height:1.35rem}.cycle-overview-hero h2{margin:0 0 8px;font-size:1.35rem}.cycle-overview-hero p{color:#717c72;margin:0;line-height:1.55}.cycle-overview-action-row{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.cycle-overview-action-row .add-cycle-button{border:1px solid var(--color-forest);border-radius:var(--radius-pill);background:var(--color-forest);color:#fff;align-items:center;gap:8px;padding:11px 16px;font-weight:800;display:inline-flex}.cycle-overview-action-row .cycle-settings-button{color:#465546;background:#fff;border:1px solid #dce1da;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;display:grid}.cycle-settings-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:19px;height:19px}.cycle-default-hint-inline{font-size:.82rem;margin-top:12px!important}.cycle-empty-browse{color:#717c72;margin:0;padding:28px}.cycle-controls h2{margin:0 0 8px;font-size:1.35rem}.cycle-controls>div>p:last-child{color:#717c72;margin:0;line-height:1.55}.rhythm-picker{grid-template-columns:repeat(4,1fr);align-self:center;gap:9px;display:grid}.rhythm-picker button{color:#536254;background:#fff;border:1px solid #dce1da;border-radius:11px;gap:2px;padding:14px 8px;display:grid}.rhythm-picker button.selected{color:#24341f;background:#eff8d9;border-color:#90b264;box-shadow:0 0 0 2px #e0f1c3}.rhythm-picker strong{font-family:var(--font-display);font-size:1.1rem}.rhythm-picker span{font-size:.72rem;font-weight:700}.cycle-calendar{margin-top:18px;overflow:hidden;box-shadow:0 14px 36px #182b1f12}.session-kind-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0;display:grid}.session-kind-picker button{color:#59675a;background:#fff;border:1px solid #dbe2d8;border-radius:9px;padding:10px;font-weight:800}.session-kind-picker button.selected{color:#684f12;background:#fff6dc;border-color:#b99330}.session-kind-picker button.selected.massage{color:#5d4273;background:#f6effb;border-color:#9b82b2}.massage-session{background:#fbf7fe;border-color:#d9c8e6}.competition-picker-list{gap:8px;max-height:360px;display:grid;overflow-y:auto}.competition-picker-list label{cursor:pointer;border:1px solid #dfe4dc;border-radius:10px;gap:10px;padding:12px;display:flex}.competition-picker-list label.selected{background:#fff8e5;border-color:#c39b32}.competition-picker-list span{gap:3px;display:grid}.competition-picker-list small{color:#748075;font-size:.7rem}.competition-session{background:#fffaf0;border-color:#dcc57e}.competition-session .session-heading span{color:#795b12}.linked-competition-details{color:#6e5a29;gap:3px;margin-top:8px;font-size:.72rem;display:grid}.cycle-calendar-header{background:#fbfcfa;border-bottom:1px solid #e6eae4;justify-content:space-between;align-items:center;gap:28px;padding:24px 28px;display:flex}.cycle-calendar-header h2{margin:0;font-size:1.28rem}.cycle-toolbar{justify-items:end;gap:10px;display:grid}.cycle-navigation,.cycle-edit-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.cycle-picker{align-items:center;gap:8px;display:flex}.cycle-picker label{color:#6b756d;text-transform:uppercase;letter-spacing:.04em;font-size:.74rem;font-weight:750}.cycle-picker select{color:#465546;background:#fff;border:1px solid #dce1da;border-radius:9px;max-width:240px;min-height:38px;padding:8px 10px;font-size:.79rem;font-weight:700}.cycle-picker select:disabled{opacity:.45;cursor:not-allowed}.cycle-navigation button,.cycle-edit-actions button{color:#465546;background:#fff;border:1px solid #dce1da;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:9px 12px;font-size:.79rem;font-weight:750;display:inline-flex}.cycle-navigation button:disabled,.cycle-edit-actions button:disabled{opacity:.45;cursor:not-allowed}.cycle-arrow{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:16px;height:16px}.cycle-arrow.is-left{transform:rotate(180deg)}.cycle-edit-actions .add-cycle-button{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-deep)}.cycle-edit-actions .ui-action-menu-trigger{width:40px;min-width:40px;padding:0}.cycle-navigation .cycle-settings-button{min-width:38px;font-size:1rem}.cycle-default-hint{color:#6b756d;border-bottom:1px solid #e6eae4;margin:0;padding:10px 28px;font-size:.82rem}.create-cycle-rhythm{margin-top:16px}.cycle-remember-option{color:#445045;text-align:left;cursor:pointer;background:#fff;border:1px solid #dfe5dc;border-radius:10px;grid-template-columns:28px 1fr;align-items:start;gap:12px;width:100%;margin-top:16px;padding:12px 14px;display:grid}.cycle-remember-option:hover{background:#fafbf8;border-color:#c5d0bf}.cycle-remember-option.selected{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-deep)}.cycle-remember-check{border:1px solid var(--color-border);width:28px;height:28px;color:var(--color-accent-deep);background:#fff;border-radius:8px;place-items:center;font-size:.9rem;font-weight:700;display:grid}.cycle-remember-option.selected .cycle-remember-check{border-color:var(--color-accent);background:var(--color-accent-soft)}.cycle-remember-option span:last-child{gap:3px;padding-top:2px;display:grid}.cycle-remember-option strong{font-size:.92rem}.cycle-remember-option small{color:#6b756d;font-size:.78rem;line-height:1.4}.cycle-settings-options{gap:8px;margin-top:16px;display:grid}.cycle-settings-options label{cursor:pointer;border:1px solid #dfe5dc;border-radius:10px;grid-template-columns:18px 1fr;gap:10px;margin:0;padding:12px;display:grid}.cycle-settings-options label.selected{border-color:var(--color-accent);background:var(--color-accent-soft)}.cycle-settings-options span{gap:3px;display:grid}.cycle-settings-options small{color:#6b756d;font-size:.78rem}.cycle-day-grid{grid-template-columns:repeat(auto-fit,minmax(168px,1fr));align-items:stretch;display:grid;overflow:visible}.cycle-move-hint{color:#718075;margin:0;padding:0 22px 4px;font-size:.78rem;line-height:1.45}.cycle-day-card.is-drop-target{box-shadow:inset 0 0 0 2px var(--color-focus);background:#f4faf0}.cycle-day-grid:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.cycle-day-card{border-bottom:1px solid #e6eae4;border-right:1px solid #e6eae4;flex-direction:column;min-height:310px;padding:15px;display:flex}.cycle-day-grid--skeleton .cycle-day-card{min-width:168px}.cycle-day-grid--skeleton .day-sessions{gap:12px}.cycle-day-grid--skeleton .day-sessions .ui-skeleton--block{border-radius:9px;height:92px}.cycle-day-card:last-child{border-right:0}.cycle-day-card>header{border-bottom:1px solid #edf0eb;justify-content:space-between;align-items:baseline;padding-bottom:12px;display:flex}.cycle-day-card>header p{color:#758176;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.cycle-day-card>header strong{color:var(--color-forest);font-family:var(--font-display);font-size:.92rem}.day-sessions{gap:9px;padding:11px 0;display:grid}.planned-session{background:#f8fbf5;border:1px solid #dce6d5;border-radius:9px;padding:10px}.compact-training-session{background:#f8fbf5;border:1px solid #dce6d5;border-radius:9px;gap:9px;padding:11px;display:grid}.compact-training-session.has-session-handle,.simple-day-entry.has-session-handle,.planned-session.has-session-handle{grid-template-columns:22px minmax(0,1fr);align-items:center;column-gap:8px;display:grid}.simple-day-entry.has-session-handle{justify-content:stretch;display:grid}.compact-training-session-main,.competition-session-main{gap:9px;min-width:0;display:grid}.session-drag-handle{color:#7a8a7c;cursor:grab;background:0 0;border:0;border-radius:6px;place-items:center;width:22px;height:28px;padding:0;display:grid}.session-drag-handle svg{fill:currentColor;width:12px;height:16px}.session-drag-handle:hover,.session-drag-handle:focus-visible{color:#35532f;outline:2px solid var(--color-focus);outline-offset:1px;background:#49684f1a;text-decoration:none}.session-drag-handle:active{cursor:grabbing}.simple-day-entry .session-drag-handle{color:#7a8a7c;border-radius:6px;width:22px;height:28px}.is-dragging{opacity:.45}.is-drop-before{box-shadow:0 -2px 0 0 var(--color-focus)}.compact-training-session:is(.training-color-red,.training-color-orange,.training-color-yellow,.training-color-green,.training-color-teal,.training-color-blue,.training-color-purple,.training-color-gray,.training-color-custom){border-color:var(--training-tag-border);background:var(--training-card-bg)}.compact-training-session strong{color:#35473a;font-family:var(--font-display);font-size:.86rem;line-height:1.3}.compact-training-session-main>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.compact-training-session-main>div:first-child{flex-direction:column;align-items:flex-start}.training-session-tags{flex-wrap:wrap;gap:4px;display:flex}.training-session-tags small{border:1px solid var(--training-tag-border,var(--color-border));background:var(--training-tag-bg,var(--color-accent-soft));color:var(--training-tag-text,var(--color-accent-deep));border-radius:999px;padding:3px 6px;font-size:.6rem;font-weight:800}.compact-training-session.content-missing{background:#fdfaf1;border-style:dashed;border-color:#d9cdae}.content-missing-note{color:#8a6d29;font-size:.66rem;font-weight:800}.compact-training-session button:not(.session-drag-handle){background:0 0;border:0;font-weight:800}.compact-training-session .edit-session-button{color:#557a45;padding:2px 0;font-size:.7rem}.compact-training-session .view-session-button{color:#557a45;padding:5px 0;font-size:.72rem}.compact-training-session .remove-session-button{color:#9a5b5b;border-radius:50%;place-items:center;width:22px;height:22px;padding:0;font-size:.95rem;display:grid}.compact-training-session button:not(.session-drag-handle):hover,.compact-training-session button:not(.session-drag-handle):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;text-decoration:underline}.competition-title{color:#594717;font-family:var(--font-display);margin-bottom:7px;font-size:.84rem;display:block}.session-heading{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.session-heading span{color:#718071;letter-spacing:.08em;font-size:.62rem;font-weight:800}.session-heading button{color:#9a5b5b;background:0 0;border:0;padding:0 2px;font-size:1rem}.planned-session input{border-radius:7px;margin:0 0 7px;padding:8px 9px;font-size:.78rem}.planned-session .exercise-input{background:#fff;border-style:dashed}.add-exercise-button,.add-session-button{color:#5b8b42;text-align:left;background:0 0;border:0;font-size:.75rem;font-weight:800}.add-entry-menu{border-top:1px dashed #dce2d9;flex-direction:column-reverse;gap:7px;width:100%;margin-top:auto;padding-top:8px;display:flex}.add-session-button{align-items:center;gap:6px;width:max-content;padding:3px 0;display:inline-flex}.add-session-button span{font-size:1rem;line-height:1}.add-entry-options{z-index:4;visibility:hidden;opacity:0;pointer-events:none;background:#fff;border:0 solid #d9e3d4;border-radius:9px;max-height:0;transition:max-height .18s,opacity .14s,border-width .14s;display:grid;position:relative;box-shadow:0 8px 22px #2539271f}.add-entry-menu:hover .add-entry-options,.add-entry-menu:focus-within .add-entry-options{visibility:visible;opacity:1;pointer-events:auto;border-width:1px;max-height:240px}.add-entry-options button{color:#4a594c;text-align:left;background:0 0;border:0;padding:8px 10px;font-size:.72rem;font-weight:750}.add-entry-options button:hover,.add-entry-options button:focus-visible{color:#35532f;background:#f1f7e9;outline:none}.add-entry-submenu{position:relative}.add-entry-submenu>button{justify-content:space-between;align-items:center;width:100%;display:flex}.add-entry-submenu>div{z-index:5;visibility:hidden;opacity:0;pointer-events:none;background:#f8faf6;border:1px solid #d9e3d4;border-radius:9px;width:188px;transition:opacity .12s,transform .12s;display:grid;position:absolute;top:-1px;left:100%;transform:translate(-4px);box-shadow:0 8px 22px #2539271f}.add-entry-submenu:hover>div,.add-entry-submenu:focus-within>div{visibility:visible;opacity:1;pointer-events:auto;transform:translate(0)}.add-entry-submenu>div button{color:#617064;padding-left:18px;font-size:.69rem}.cycle-day-card:last-child .add-entry-submenu>div{left:auto;right:100%;transform:translate(4px)}.cycle-day-card:last-child .add-entry-submenu:hover>div,.cycle-day-card:last-child .add-entry-submenu:focus-within>div{transform:translate(0)}.rest-toggle{color:#748174;text-align:left;background:0 0;border:0;border-top:1px dashed #dce2d9;width:100%;margin-top:auto;padding:8px 0;font-size:.75rem;font-weight:800}.rest-toggle.active{color:#557f89}.simple-day-entry{background:#f3fafb;border:1px solid #cbdde0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:9px;display:flex}.rest-day-block{background:#f3fafb;border-color:#cbdde0}.rest-day-block span{color:#5c8490;letter-spacing:.08em;font-size:.62rem;font-weight:800}.simple-day-entry button{color:#698893;background:0 0;border:0;border-radius:50%;place-items:center;width:22px;height:22px;padding:0;font-size:.95rem;line-height:1;display:grid}.simple-day-entry button:hover,.simple-day-entry button:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px;background:#49684f1a}.simple-day-entry.massage-session span{color:#735d81;letter-spacing:.08em;font-size:.62rem;font-weight:800}.outline-suggestion{background:#fbfbf7;border:1px dashed #c3c9bd;border-radius:9px;justify-items:start;gap:6px;padding:9px;display:grid}.outline-origin-badge{color:#6d7568;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#f2f3ec;border:1px dashed #bcc3b5;border-radius:999px;padding:2px 7px;font-size:.58rem;font-weight:800}.outline-suggestion-entry{text-align:left;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:baseline;gap:8px;width:100%;padding:5px 6px;display:flex}.outline-suggestion-entry span{color:#55604f;font-size:.78rem;font-weight:700}.outline-suggestion-entry small{color:#557a45;white-space:nowrap;font-size:.66rem;font-weight:800}.outline-suggestion-entry:hover,.outline-suggestion-entry:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px;background:#f1f4ea}.cycle-outline-legend{border-bottom:1px solid #e6eae4;align-items:center;gap:12px;margin:0;padding:10px 28px;display:flex}.cycle-outline-legend p{color:#70806f;flex:1;margin:0;font-size:.78rem;font-weight:600}.save-outline-rhythm-note{color:#70806f;margin:10px 0 0;font-size:.78rem}@media (width<=720px){.cycle-outline-legend{flex-wrap:wrap;padding:10px 22px}.cycle-controls,.cycle-overview-hero{grid-template-columns:1fr;padding:0}.cycle-overview-status,.cycle-overview-action{padding:22px}.cycle-overview-status{border-bottom:1px solid #e6eae4;border-right:0;grid-template-columns:48px minmax(0,1fr);gap:14px}.cycle-status-icon,.cycle-status-skeleton>.ui-skeleton{border-radius:14px;width:48px;height:48px}.cycle-calendar-header{padding:22px;display:block}.cycle-toolbar{justify-items:stretch;margin-top:18px}.cycle-picker{gap:5px;display:grid}.cycle-picker select{width:100%;max-width:none}.cycle-navigation,.cycle-edit-actions{grid-template-columns:1fr 1fr;display:grid}.cycle-navigation button,.cycle-edit-actions button{width:100%}.cycle-day-grid{grid-template-columns:1fr}.cycle-day-card{border-right:0;min-height:280px}.cycle-day-card:last-child{border-right:0}}.cycle-navigation .save-cycle-button{color:#fff;background:#36593b;border-color:#36593b}.cycle-navigation .save-cycle-button:disabled{cursor:wait;opacity:.68}.cycle-save-status{color:#70806f;border-bottom:1px solid #e6eae4;margin:0;padding:10px 28px;font-size:.8rem;font-weight:700}.cycle-save-status.success{color:#456e38;background:#f4faeb}.session-details-section{margin-top:14px}.session-instructions-field{color:#566057;gap:6px;font-size:.8rem;font-weight:750;display:grid}.session-instructions-field small{color:#8a9589;font-size:.68rem;font-weight:600}.session-instructions-field textarea{resize:vertical;min-height:84px;margin:0}.session-details-section>summary,.planned-session-details>summary{cursor:pointer;color:#557a45;font-size:.78rem;font-weight:800}.session-details-section>summary span{color:#8a9589;font-size:.68rem;font-weight:600}.session-details-section>div{grid-template-columns:130px minmax(0,1fr);gap:10px;margin-top:10px;display:grid}.session-details-section label,.planned-session-details label{color:#657365;gap:5px;font-size:.74rem;font-weight:750;display:grid}.session-details-section input,.planned-session-details input{margin:0}.planned-session-details{gap:7px;margin:0 0 8px;display:grid}.planned-session-details[open]{background:#f2f7ee;border-radius:7px;padding:8px}.cycle-boundary-message{color:#746846;background:#faf8ee;border-bottom:1px solid #e6eae4;margin:0;padding:10px 28px;font-size:.8rem;font-weight:700}.cycle-phase-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.cycle-phase-chips span{color:#42653b;background:#e9f1e4;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:800}.cycle-phase-chips span.preparation{color:#80631e;background:#f7edcf}.cycle-phase-chips span.competition{color:#9a4b48;background:#f5dfdd}.cycle-phase-chips span.transition{color:#4b6480;background:#e6edf4}.cycle-completion-summary{color:#6f796f;flex-wrap:wrap;align-items:center;gap:9px;margin-top:12px;font-size:.78rem;font-weight:700;display:flex}.cycle-status-badge{border-radius:999px;align-items:center;gap:4px;padding:5px 9px;font-size:.72rem;font-weight:850;display:inline-flex}.cycle-status-badge.draft{color:#715c20;background:#fff8df;border:1px solid #e1d19d}.cycle-status-badge.ready{color:#355e31;background:#edf7e7;border:1px solid #bad3ae}.cycle-ready-hint{color:#7b6a3e;text-align:right;max-width:28rem;margin:0;font-size:.74rem;line-height:1.4}@media (width<=720px){.session-details-section>div{grid-template-columns:1fr}.cycle-ready-hint{text-align:left;max-width:none}.cycle-edit-actions{justify-content:flex-end;display:flex}.cycle-edit-actions .add-cycle-button{flex:1}}.add-training-dialog{background:#fff;border:1px solid #e1e7dc;border-radius:18px;width:min(100%,720px);max-height:min(760px,100vh - 48px);padding:28px;overflow:auto;box-shadow:0 24px 70px #0e1d1338}.add-training-dialog>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.add-training-dialog h2{font-family:var(--font-display);letter-spacing:-.05em;text-transform:capitalize;margin:0;font-size:1.55rem}.add-training-dialog>header>button{color:#647066;background:0 0;border:0;padding:0;font-size:1.6rem;line-height:1}.dialog-stepper{align-items:center;gap:8px;margin:25px 0;display:flex}.dialog-stepper span{color:#748072;background:#e7e9e4;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.74rem;font-weight:800;display:grid}.dialog-stepper span.active{background:var(--color-accent);color:#18251b}.dialog-stepper i{background:#dce1da;width:38px;height:1px}.entry-stepper{gap:0;margin:24px 0;padding:0;list-style:none;display:flex}.entry-stepper li{color:#929a91;text-align:center;flex:1;justify-items:center;gap:6px;display:grid;position:relative}.entry-stepper li:not(:last-child):after{content:"";background:#dce1da;width:calc(100% - 32px);height:1px;position:absolute;top:13px;left:calc(50% + 16px)}.entry-stepper li.active:not(:last-child):after{background:#9fbd7d}.entry-stepper span{z-index:1;background:#e8ebe6;border-radius:50%;place-items:center;width:27px;height:27px;font-size:.72rem;font-weight:850;display:grid}.entry-stepper li.active span{background:var(--color-accent);color:#24351f}.entry-stepper small{font-size:.68rem;font-weight:750}.entry-kind-options,.training-method-options{gap:10px;display:grid}.entry-kind-options{grid-template-columns:repeat(3,minmax(0,1fr))}.training-method-options{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-choice{color:#354238;text-align:left;background:#fff;border:1px solid #dce1da;border-radius:12px;align-content:start;gap:8px;min-height:150px;padding:18px;display:grid;position:relative}.entry-choice.selected{background:#f5faec;border-color:#8eae68;box-shadow:0 0 0 2px #e2efce}.entry-choice-check{color:#375b31;border:1px solid #d6ded2;border-radius:50%;justify-self:end;place-items:center;width:25px;height:25px;font-size:.74rem;display:grid}.entry-choice.selected .entry-choice-check{background:#e8f4d6;border-color:#9ab878}.entry-choice strong{font-family:var(--font-display);letter-spacing:-.025em;font-size:1rem}.entry-choice small{color:#707b71;font-size:.78rem;line-height:1.45}.entry-kind-step footer,.training-method-step footer,.freeform-training-step footer{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.freeform-training-step{gap:18px;display:grid}.freeform-training-step>label{color:#566057;gap:6px;font-size:.8rem;font-weight:750;display:grid}.freeform-training-step input{margin:0}.exercise-reference-dialog,.exercise-details-dialog{background:#fff;border:1px solid #e1e7dc;border-radius:16px;width:min(100%,560px);padding:24px;box-shadow:0 24px 70px #0e1d1338}.exercise-reference-dialog>header,.exercise-details-dialog>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.exercise-reference-dialog h2,.exercise-details-dialog h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:1.35rem}.exercise-reference-dialog>header>button,.exercise-details-dialog>header>button{color:#647066;background:0 0;border:0;padding:0;font-size:1.6rem;line-height:1}.exercise-reference-dialog>label,.exercise-prescription-fields label{color:#566057;gap:6px;font-size:.8rem;font-weight:750;display:grid}.exercise-reference-dialog>footer,.exercise-details-dialog>footer{align-items:center;gap:10px;margin-top:22px;display:flex}.exercise-reference-dialog-spacer{flex:1}.add-load-button,.exercise-load-header button{color:#41633a;background:0 0;border:0;padding:0;font-size:.78rem;font-weight:800}.exercise-prescription-fields,.exercise-load-fields{gap:8px;display:grid}.exercise-load-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.exercise-load-header p{color:#566057;margin:0;font-size:.8rem;font-weight:750}.exercise-load-inputs{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;display:grid}.exercise-details-catalog-link{margin:10px 0 0}.exercise-details-catalog-link a{color:var(--color-link);font-size:.78rem;font-weight:800}.exercise-details-prescription{color:#41633a;margin:18px 0 0;font-size:1rem;font-weight:800}.save-training-template{color:#445147;cursor:pointer;background:#f8fbf5;border:1px solid #dce6d5;border-radius:11px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:13px 14px;display:grid}.save-training-template input{width:17px;height:17px;margin:2px 0 0}.save-training-template span{gap:3px;display:grid}.save-training-template strong{font-size:.8rem}.save-training-template small{color:#748075;font-size:.72rem;font-weight:600;line-height:1.4}.saved-training-step{gap:16px;display:grid}.saved-cycle-templates{gap:9px;margin-top:4px;display:grid}.create-cycle-empty-label{margin:6px 0 0}.cycle-rhythm-note{color:#6b756d;margin:0;font-size:.78rem;line-height:1.5}.saved-training-list{gap:9px;display:grid}.saved-training-list article{background:#fff;border:1px solid #dce4d8;border-radius:11px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.saved-training-list article>div{gap:4px;min-width:0;display:grid}.saved-training-list strong{color:#354238;font-family:var(--font-display)}.saved-training-list small,.saved-training-empty{color:#748075;font-size:.74rem;line-height:1.45}.saved-training-step footer{justify-content:flex-end;margin-top:8px;display:flex}.training-method-step{gap:16px;display:grid}.training-method-choices{gap:9px;display:grid}.training-method-choices button{text-align:left;background:#fff;border:1px solid #dce4d8;border-radius:11px;gap:4px;padding:14px;display:grid}.training-method-choices strong{color:#354238;font-family:var(--font-display)}.training-method-choices small{color:#748075;font-size:.74rem;line-height:1.45}.training-method-choices button:hover,.training-method-choices button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;background:#f7faf3;border-color:#b8ccae}.training-method-step footer{justify-content:flex-end;display:flex}.saved-training-skeleton{gap:9px;display:grid}.saved-training-skeleton span{background:#eef2eb;border-radius:11px;height:66px;animation:1.4s ease-in-out infinite pulse;display:block}.quick-training-titles{gap:9px;display:grid}.quick-training-title-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.quick-training-title-heading .eyebrow{margin:0}.edit-training-titles{color:#526252;background:#fff;border:1px solid #d5ddd1;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.edit-training-titles svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:16px;height:16px}.quick-training-titles>div{flex-wrap:wrap;gap:7px;display:flex}.quick-training-titles button{color:#536153;background:#fff;border:1px solid #ccd8c4;border-radius:999px;padding:7px 11px;font-size:.75rem;font-weight:800}.quick-training-titles button.selected{color:#2f4b2a;background:#eef7dc;border-color:#89aa64;box-shadow:0 0 0 1px #dcebc7}.quick-training-titles .add-training-title-chip{color:#41633a;border-style:dashed;min-width:34px;font-size:1rem;line-height:1}.add-training-title-panel{background:#f8faf6;border:1px solid #dfe5dc;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;padding:13px;display:grid}.add-training-title-panel label{color:#5c675d;gap:5px;font-size:.76rem;font-weight:750;display:grid}.add-training-title-panel .ui-button{min-height:42px}.manage-training-titles{background:#f8faf6;border:1px solid #dfe5dc;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:13px;display:grid}.manage-training-titles>p{color:#526052;grid-column:1/-1;margin:0 0 3px;font-size:.78rem;font-weight:800}.manage-training-titles label{color:#526052;background:#fff;border-radius:8px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px 9px;font-size:.76rem;font-weight:700;display:grid}.manage-training-titles input{width:16px;height:16px}.manage-training-titles small{color:#7c6a8a;font-size:.64rem}.freeform-session-content{margin-top:7px}.freeform-session-content>summary{cursor:pointer;color:#624c72;font-size:.72rem;font-weight:800}.freeform-session-content>p{white-space:pre-wrap;color:#5d5063;margin:7px 0 0;font-size:.73rem;line-height:1.45}.freeform-session-content .rich-text-editor .tiptap{min-height:120px;padding:10px;font-size:.78rem}.dialog-lead{color:#657166;margin:0 0 18px;line-height:1.5}.training-type-list{grid-template-columns:1fr 1fr;gap:9px;display:grid}.training-type-list button{color:#334137;text-align:left;background:#fff;border:1px solid #dce1da;border-radius:11px;gap:5px;min-height:110px;padding:15px;display:grid}.training-type-list button.selected{background:#f3fbdc;border-color:#8caf5f;box-shadow:0 0 0 2px #e1f4bd}.training-type-list span,.training-type-list small{color:#728075}.training-type-list span{letter-spacing:.09em;font-size:.64rem;font-weight:800}.training-type-list strong{font-family:var(--font-display);font-size:.94rem}.training-type-list small{line-height:1.35}.training-type-list .custom-training-type{border-style:dashed}.structured-type-chips{flex-wrap:wrap;gap:7px;display:flex}.structured-type-chips button{color:#536153;background:#fff;border:1px solid #ccd8c4;border-radius:999px;padding:8px 12px;font-size:.76rem;font-weight:800}.structured-type-chips button.selected{color:#2f4b2a;background:#eef7dc;border-color:#89aa64;box-shadow:0 0 0 1px #dcebc7}.structured-type-chips .add-structured-type-chip{color:#41633a;border-style:dashed;min-width:36px;font-size:1rem;line-height:1}.add-structured-type-panel{background:#f8faf6;border:1px solid #dfe5dc;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;margin-top:12px;padding:13px;display:grid}.add-structured-type-panel label{color:#5c675d;grid-column:1/-1;font-size:.76rem;font-weight:750}.add-structured-type-panel input{margin:0}.custom-training-name{margin-top:15px}.add-training-dialog footer{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.add-training-dialog footer .primary-button{width:auto;margin:0}.training-view-dialog{width:min(100%,620px);max-height:min(760px,100vh - 48px);color:var(--color-ink);box-shadow:var(--shadow-dialog);background:#fff;border:1px solid #e1e7dc;border-radius:18px;padding:28px;overflow:auto}.training-view-dialog>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.training-view-dialog h2{color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.05em;margin:0;font-size:1.5rem}.training-view-dialog>header>button{color:#647066;background:0 0;border:0;padding:0;font-size:1.6rem;line-height:1}.training-view-dialog>.dialog-lead{color:#657166;margin:8px 0 18px}.training-view-dialog>.dialog-lead:first-letter{text-transform:uppercase}.training-view-body{gap:16px;display:grid}.training-view-tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.training-view-tags li{color:#4c6047;background:#eef3e8;border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:800}.training-view-section{background:#fbfdf9;border:1px solid #e5eae2;border-radius:12px;gap:7px;padding:14px;display:grid}.training-view-section h3{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:1rem}.training-view-instructions{color:#35443a;white-space:pre-wrap;margin:0;line-height:1.5}.training-view-block-category{color:#71806f;letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:.66rem;font-weight:800}.training-view-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.training-view-list>li{color:#35443a;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;font-size:.88rem;display:flex}.training-view-list small{color:#5b8c43;font-size:.74rem;font-weight:800}.training-view-sub-list{color:#6b786c;flex:1 0 100%;margin:4px 0 0;padding-left:18px;font-size:.8rem}.training-view-empty{color:#657166;margin:0;line-height:1.5}.training-view-logged{color:#3f6a28;background:#eef8dc;border-radius:999px;margin:0 0 14px;padding:5px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.training-view-skeleton{gap:10px;display:grid}.training-view-dialog footer{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.training-view-dialog footer .ui-button{width:auto;margin:0}@media (width<=720px){.training-view-dialog{border-radius:16px;max-height:calc(100vh - 24px);padding:22px}}.exercise-suggestion-list{gap:8px;display:grid}.exercise-suggestion-list button{color:#344138;text-align:left;background:#fff;border:1px solid #dce1da;border-radius:10px;justify-content:space-between;align-items:center;gap:15px;padding:13px;display:flex}.exercise-suggestion-list button.selected{background:#f3fbdc;border-color:#8caf5f}.exercise-suggestion-list strong{font-family:var(--font-display);font-size:.9rem;display:block}.exercise-suggestion-list span{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.exercise-suggestion-list i{color:#637263;background:#edf2e8;border-radius:99px;padding:3px 5px;font-size:.62rem;font-style:normal;font-weight:700}.exercise-suggestion-list small{color:#5b8c43;flex:none;font-size:.68rem;font-weight:800}.progression-suggestion-list{gap:9px;margin-top:16px;display:grid}.progression-suggestion-list label{background:#f8fbf5;border:1px solid #dce5d8;border-radius:10px;grid-template-columns:20px minmax(0,1fr) 100px 42px;align-items:center;gap:9px;padding:12px;display:grid}.progression-suggestion-list span{display:grid}.progression-suggestion-list small{color:#718071}.progression-suggestion-list input[type=number]{margin:0}@media (width<=720px){.progression-suggestion-list label{grid-template-columns:20px minmax(0,1fr) 36px}.progression-suggestion-list input[type=number]{grid-column:2/4}}.custom-type-section{border-top:1px solid #e6eae4;margin-top:20px;padding-top:18px}.custom-type-section>.eyebrow{margin-bottom:9px}.custom-types-loading{color:#748075;margin:0;font-size:.84rem}.custom-type-chips{flex-wrap:wrap;gap:7px;margin-bottom:11px;display:flex}.custom-type-chips button{color:#42613b;background:#fff;border:1px solid #cbd9b9;border-radius:999px;padding:8px 11px;font-size:.8rem;font-weight:800}.custom-type-chips button.selected{background:#eff8d9;border-color:#8caf5f}.add-custom-type{grid-template-columns:1fr auto;gap:8px;display:grid}.add-custom-type input{margin:0}.add-custom-type button{background:var(--color-accent-deep);color:#fff;border:0;border-radius:9px;padding:0 13px;font-size:.8rem;font-weight:800}.add-custom-type button:disabled{opacity:.45}.block-category-tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.block-category-tabs button{color:#637064;background:#fff;border:1px solid #dce1da;border-radius:999px;padding:7px 10px;font-size:.73rem;font-weight:800}.block-category-tabs button.active{color:#31452b;background:#eff8d9;border-color:#8caf5f}.block-template-list{gap:9px;display:grid}.block-template-list article{background:#fff;border:1px solid #dce1da;border-radius:11px;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px;display:flex}.block-template-list article.selected{background:#f8fcee;border-color:#8caf5f}.block-template-list .eyebrow{margin-bottom:5px}.block-template-list h3{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 5px;font-size:.98rem}.block-template-list p:not(.eyebrow){color:#6d786e;margin:0;font-size:.83rem}.block-template-list details{color:#547047;margin-top:10px;font-size:.77rem;font-weight:800}.block-template-list summary{cursor:pointer}.block-template-list>article>button{color:#42633b;background:#f2f8e5;border:1px solid #b9cf9b;border-radius:8px;flex:none;padding:8px 10px;font-size:.73rem;font-weight:800}.block-item-preview{color:#586a59;border-left:2px solid #dbe7cf;margin-top:6px;padding-left:9px;font-size:.76rem}.block-item-preview span,.block-item-preview small{display:block}.block-item-preview small{color:#849183;margin-top:2px;font-size:.7rem;font-weight:500}.selected-blocks{background:#f2f8e7;border-radius:10px;flex-wrap:wrap;align-items:center;gap:7px;margin-top:14px;padding:11px;display:flex}.selected-blocks .eyebrow{width:100%;margin:0 0 1px}.selected-blocks span{color:#385333;background:#dceec5;border-radius:999px;padding:5px 8px;font-size:.74rem;font-weight:800}.single-exercise-section{border-top:1px solid #e6eae4;margin-top:18px;padding-top:16px}.single-exercise-section>summary{cursor:pointer;color:#4d7d3a;font-size:.84rem;font-weight:800}.single-exercise-section .exercise-suggestion-list{margin-top:12px}.planned-block{color:#526751;background:#fff;border:1px solid #d9e5cf;border-radius:7px;margin:7px 0;padding:7px;font-size:.72rem}.planned-block summary{cursor:pointer;color:#3f633a;font-weight:800}.planned-block div{border-left:2px solid #e1ebd7;margin-top:5px;padding-left:7px}.planned-block small{color:#7a8778;margin-top:2px;font-size:.67rem;display:block}.selected-training-content{background:#f8fbf5;border:1px solid #dce6d5;border-radius:12px;grid-template-columns:1fr auto;gap:12px;padding:16px;display:grid}.selected-training-content .eyebrow{margin-bottom:5px}.selected-training-content h3{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:1rem}.add-block-button{color:#41633a;background:#f0f8df;border:1px solid #b9cf9b;border-radius:9px;padding:9px 11px;font-size:.78rem;font-weight:800}.selected-training-content .selected-blocks{grid-column:1/-1;margin:0}.selected-blocks span{align-items:center;gap:5px;display:inline-flex}.selected-blocks span button{color:#55764d;background:0 0;border:0;padding:0;font-size:.9rem;line-height:1}.block-picker-backdrop{z-index:var(--z-dialog-nested)}.block-picker-dialog{background:#fff;border:1px solid #e1e7dc;border-radius:18px;width:min(100%,760px);max-height:min(760px,100vh - 48px);padding:28px;overflow:auto;box-shadow:0 24px 70px #0e1d1338}.block-picker-dialog>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.block-picker-dialog h2{font-family:var(--font-display);letter-spacing:-.05em;margin:0;font-size:1.55rem}.block-picker-dialog>header>button{color:#647066;background:0 0;border:0;padding:0;font-size:1.6rem;line-height:1}.block-picker-search{grid-template-columns:1fr auto;gap:8px;margin:22px 0 14px;display:grid}.block-picker-search input{margin:0}.block-picker-search button,.add-block-item{background:var(--color-accent-deep);color:#fff;border:0;border-radius:9px;padding:0 13px;font-size:.8rem;font-weight:800}.block-picker-results{gap:9px;display:grid}.block-picker-results article{border:1px solid #dce1da;border-radius:11px;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px;display:flex}.block-picker-results .eyebrow{margin-bottom:5px}.block-picker-results h3{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 5px;font-size:.98rem}.block-picker-results p:not(.eyebrow){color:#6d786e;margin:0;font-size:.83rem}.block-picker-results details{color:#547047;margin-top:10px;font-size:.77rem;font-weight:800}.block-picker-results summary{cursor:pointer}.block-picker-results>article>button{color:#42633b;background:#f2f8e5;border:1px solid #b9cf9b;border-radius:8px;flex:none;padding:8px 10px;font-size:.73rem;font-weight:800}.block-picker-results>article>button:disabled{opacity:.6}.new-block-form{gap:8px;margin-top:22px;display:grid}.new-block-item{grid-template-columns:1fr auto;gap:7px;margin-bottom:7px;display:grid}.new-block-item input{margin:0}.new-block-item button{color:#a65353;background:0 0;border:0;font-size:1rem}.add-block-item{width:fit-content;min-height:36px;padding:0 12px}.block-picker-dialog footer{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.block-picker-dialog footer .primary-button{width:auto;margin:0}@media (width<=720px){.dialog-backdrop{align-items:end;padding:12px}.add-training-dialog{border-radius:16px;max-height:calc(100vh - 24px);padding:22px}.entry-kind-options,.training-method-options{grid-template-columns:1fr}.entry-choice{min-height:0}.entry-stepper small{display:none}.add-training-title-panel,.manage-training-titles{grid-template-columns:1fr}.manage-training-titles>p{grid-column:1}.training-type-list{grid-template-columns:1fr}.exercise-suggestion-list button{display:block}.exercise-suggestion-list small{margin-top:9px;display:block}.add-custom-type{grid-template-columns:1fr}.add-custom-type button{min-height:40px}}.block-exercise-builder{border-top:1px solid #e5eae2;margin-top:12px;padding-top:15px}.block-exercise-builder>.eyebrow{margin-bottom:7px}.block-exercise-builder input{margin:0}.exercise-search-results{background:#f8fbf5;border:1px solid #dce5d8;border-radius:10px;gap:6px;margin-top:8px;padding:8px;display:grid}.exercise-search-results button{color:#466340;text-align:left;background:#fff;border:0;border-radius:7px;padding:8px 9px;font-size:.77rem;font-weight:800}.block-exercise-list{gap:10px;margin-top:16px;display:grid}.block-exercise-list article{background:#fbfdf9;border:1px solid #dce5d8;border-radius:11px;padding:14px}.block-exercise-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.block-exercise-heading strong{color:#2d4530;font-size:.88rem}.block-exercise-heading button{color:#a65353;background:0 0;border:0;padding:0;font-size:.74rem;font-weight:800}.prescription-builder{gap:8px;margin-top:12px;display:grid}.prescription-builder label{color:#647066;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:10px;font-size:.76rem;font-weight:750;display:grid}.prescription-builder label input{margin:0}.prescription-component{grid-template-columns:minmax(0,1fr) 84px 28px;gap:7px;display:grid}.prescription-component input,.prescription-component select{margin:0}.prescription-component button{color:#a65353;background:#f4eaea;border:0;border-radius:7px;font-size:1rem}.add-prescription-component{color:#4d733f;background:#f5faed;border:1px dashed #abc392;border-radius:7px;width:fit-content;padding:7px 9px;font-size:.73rem;font-weight:800}.prescription-preview{color:#41613a;background:#eef6e4;border-radius:8px;margin:12px 0 0;padding:9px 10px;font-size:.78rem;font-weight:800}@media (width<=720px){.block-picker-dialog{padding:21px}.block-picker-search{grid-template-columns:1fr}.block-picker-search button{min-height:40px}.block-picker-results article{display:grid}.block-picker-results>article>button{width:fit-content}.prescription-builder label{grid-template-columns:1fr;gap:5px}.prescription-component{grid-template-columns:minmax(0,1fr) 76px 28px}}.prescription-component{grid-template-columns:78px 14px minmax(0,1fr) 84px 28px;align-items:center}.prescription-component>span{color:#71806e;text-align:center;font-weight:800}@media (width<=720px){.prescription-component{grid-template-columns:64px 12px minmax(0,1fr) 68px 28px;gap:5px}}.prescription-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.prescription-builder .prescription-counts label{grid-template-columns:1fr;align-items:start;gap:5px}.prescription-components{gap:7px;padding-top:4px;display:grid}.prescription-components>p{color:#647066;margin:0;font-size:.76rem;font-weight:750}.prescription-component{grid-template-columns:minmax(0,1fr) 84px 28px}.prescription-component>span{display:none}@media (width<=720px){.prescription-counts{grid-template-columns:1fr 1fr}.prescription-component{grid-template-columns:minmax(0,1fr) 76px 28px}}.prescription-mode{background:#edf2e9;border-radius:9px;gap:3px;margin-top:13px;padding:3px;display:inline-flex}.prescription-mode button{color:#6b786a;background:0 0;border:0;border-radius:7px;padding:7px 9px;font-size:.72rem;font-weight:800}.prescription-mode button.active{color:#385736;background:#fff;box-shadow:0 1px 3px #1f33211f}.variable-sets-editor{gap:7px;margin-top:14px;display:grid}.variable-sets-heading,.variable-set-row{grid-template-columns:48px minmax(0,1fr) minmax(0,1fr) 84px;align-items:center;gap:8px;display:grid}.variable-sets-heading{color:#71806e;padding:0 3px;font-size:.68rem;font-weight:800}.variable-set-row strong{background:var(--color-accent-soft);min-height:36px;color:var(--color-accent-deep);border-radius:7px;place-items:center;font-size:.77rem;display:grid}.variable-set-row input,.variable-set-row select{margin:0}.variable-sets-actions{align-items:center;gap:10px;margin-top:3px;display:flex}.remove-set-button{color:#a65353;background:0 0;border:0;padding:6px 4px;font-size:.72rem;font-weight:800}@media (width<=720px){.prescription-mode{grid-template-columns:1fr 1fr;width:100%;display:grid}.variable-sets-heading,.variable-set-row{grid-template-columns:32px minmax(0,1fr) minmax(0,1fr) 60px;gap:5px}.variable-sets-heading{font-size:.62rem}.variable-set-row strong{min-height:34px}}.training-cycle-header .ui-button--accent-link{margin-top:14px;padding-left:0}.saved-training-step .saved-training-library-picker{margin:0}.saved-training-page .subtitle{max-width:640px;line-height:1.5}.saved-training-manage-list{gap:12px;margin:8px 0 0;padding:0;list-style:none;display:grid}.saved-training-manage-item{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.saved-training-manage-item>div{gap:6px;min-width:0;display:grid}.saved-training-manage-item h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:1.35rem}.saved-training-manage-item p{color:#748075;margin:0;font-size:.78rem;line-height:1.45}.saved-training-manage-excerpt{color:#4a554c}.saved-training-manage-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.saved-training-manage-note{text-align:right;max-width:180px}.saved-training-manage-item.is-loading{gap:10px;min-height:92px;display:grid}.saved-training-manage-item.is-loading span{background:#eef2eb;border-radius:8px;height:14px;animation:1.4s ease-in-out infinite pulse;display:block}.saved-training-manage-item.is-loading span:first-child{width:42%;height:22px}@media (width<=720px){.saved-training-manage-item{display:grid}.saved-training-manage-actions{justify-content:flex-start}.saved-training-manage-note{text-align:left;max-width:none}}.training-log-page h1{font-family:var(--font-display);letter-spacing:-.055em;margin:5px 0 9px;font-size:clamp(2.4rem,4.6vw,3.6rem)}.training-log-page .subtitle{max-width:620px;line-height:1.5}.training-log-stats-block{margin:30px 0 26px}.training-log-stats{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}.training-log-stats-hero-slot{grid-row:span 2}.training-log-stats-scope{color:var(--color-muted);margin:12px 0 0;font-size:.78rem;line-height:1.45}.training-log-stat{align-content:start;height:100%;padding:20px 22px;display:grid}.training-log-stat .eyebrow{margin:0}.training-log-stat-icon{width:34px;height:34px;color:var(--color-accent-deep);background:#e8f0e0;border-radius:11px;place-items:center;margin-bottom:14px;display:grid}.training-log-stat-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px;width:17px;height:17px}.training-log-stat--alert .training-log-stat-icon{color:#6d3d35;background:#f4e7e4}.training-log-stat-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.07em;margin:10px 0 4px;font-size:clamp(2.5rem,4.4vw,3.4rem);line-height:.88}.training-log-stat-caption{color:var(--color-muted);margin:0;font-size:.85rem;line-height:1.45}.training-log-stat--hero{grid-template-columns:148px minmax(0,1fr);align-items:center;gap:clamp(18px,3vw,34px);min-height:232px;padding:clamp(24px,3.4vw,34px);display:grid}.training-log-stat--hero:before,.training-log-stat--hero:after{z-index:0;content:"";pointer-events:none;border:1px solid #215aa91f;border-radius:50%;position:absolute}.training-log-stat--hero:before{width:300px;height:300px;bottom:-128px;right:-104px}.training-log-stat--hero:after{width:196px;height:196px;bottom:-70px;right:-46px}.training-log-stat-hero-body{z-index:1;min-width:0;position:relative}.training-log-stat--hero h2{font-family:var(--font-display);letter-spacing:-.045em;text-wrap:balance;margin:0 0 8px;font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1.1}.training-log-stat--hero p:last-of-type{color:var(--color-on-dark-muted);margin:0;font-size:.86rem;line-height:1.45}.training-log-stat-pills{flex-wrap:wrap;gap:7px;margin:16px 0 0;padding:0;list-style:none;display:flex}.training-log-stat-pills li{border-radius:var(--radius-pill);color:var(--color-accent);background:#215aa91a;border:1px solid #215aa938;padding:6px 11px;font-size:.72rem;font-weight:800}.training-log-stat-ring{z-index:1;place-items:center;width:148px;height:148px;display:grid;position:relative}.training-log-stat-ring svg{width:100%;height:100%;position:absolute;overflow:visible;transform:rotate(-90deg)}.training-log-stat-track,.training-log-stat-progress{fill:none;stroke-width:9px}.training-log-stat-track{stroke:#e9f5e029}.training-log-stat-progress{stroke:url(#training-log-ring-gradient);stroke-linecap:round;filter:drop-shadow(0 4px 10px #215aa938);animation:.9s cubic-bezier(.22,1,.36,1) both training-log-ring-draw}.training-log-stat-ring strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.07em;align-items:baseline;gap:1px;font-size:2.3rem;line-height:1;display:flex}.training-log-stat-ring strong em{letter-spacing:-.04em;font-size:1.1rem;font-style:normal}@keyframes training-log-ring-draw{0%{stroke-dashoffset:327px}}.training-log-stat-ring-skeleton{width:148px;height:148px}.training-log-stat--hero .ui-skeleton{background:linear-gradient(100deg,#ffffff14 25%,#ffffff2e 42%,#ffffff14 59%) 0 0/240% 100%}.training-log-stat-hero-body .ui-skeleton+.ui-skeleton{margin-top:12px}.training-log-stat-value-skeleton{width:46%;height:2.6rem;margin:14px 0 12px}.training-log-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.training-log-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.training-log-item h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 6px;font-size:1.25rem}.training-log-date{color:#657166;margin:0 0 4px;font-size:.82rem;font-weight:700}.training-log-date:first-letter{text-transform:uppercase}.training-log-excerpt{color:#5d6a5f;margin:0;line-height:1.5}.training-log-badges{flex-wrap:wrap;gap:6px;margin:0 0 8px;display:flex}.training-log-exertion-value,.training-log-outcome-value{border-radius:var(--radius-pill);margin:0;padding:5px 9px;font-size:.72rem;font-weight:800;display:inline-flex}.training-log-exertion-value{color:#405641;background:#eef3e8}.training-log-outcome-value.sick{color:#6d3d35;background:#f4e7e4}.training-log-outcome-value.modified{color:#46536a;background:#edf0f5}.training-log-outcome-value.skipped{color:#6a5430;background:#f6f0e4}.training-log-feelings{color:#35443a;margin:10px 0 0;font-size:.9rem}.training-log-dialog{width:min(100%,640px);max-height:min(820px,100vh - 48px);color:var(--color-ink);box-shadow:var(--shadow-dialog);background:#fff;border:1px solid #e1e7dc;border-radius:18px;padding:28px;overflow:auto}.training-log-dialog>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.training-log-dialog h2{font-family:var(--font-display);letter-spacing:-.05em;margin:0;font-size:1.5rem}.training-log-dialog>header>button{color:#647066;background:0 0;border:0;padding:0;font-size:1.6rem;line-height:1}.training-log-dialog>.dialog-lead{color:#657166;margin:8px 0 12px}.training-log-dialog>.dialog-lead:first-letter{text-transform:uppercase}.training-log-dialog>p{color:#5d6a5f;margin:0 0 16px;line-height:1.5}.training-log-outcome{border:0;margin:20px 0;padding:0}.training-log-outcome legend{color:var(--color-ink);margin-bottom:10px;font-weight:800}.training-log-outcome>div{gap:8px;display:grid}.training-log-outcome button{color:#445147;text-align:left;background:#f8fbf5;border:1px solid #dce6d5;border-radius:11px;gap:3px;width:100%;padding:12px 14px;display:grid}.training-log-outcome button:hover{border-color:#9caf91}.training-log-outcome button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:1px}.training-log-outcome button.selected{border-color:var(--color-forest);background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-forest)}.training-log-outcome strong{font-size:.86rem}.training-log-outcome small{color:#748075;font-size:.74rem;font-weight:600;line-height:1.4}.training-log-exertion{border:0;margin:20px 0 0;padding:0}.training-log-exertion legend{color:var(--color-ink);font-weight:800}.training-log-exertion>p{color:#657166;margin:5px 0 10px;font-size:.82rem}.training-log-exertion>div{grid-template-columns:repeat(11,minmax(34px,1fr));gap:5px;display:grid}.training-log-exertion button{color:#465546;background:#fff;border:1px solid #dce1da;border-radius:9px;min-height:38px;padding:0;font-weight:800}.training-log-exertion button:hover{border-color:#9caf91}.training-log-exertion button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:1px}.training-log-exertion button.selected{border-color:var(--color-forest);background:var(--color-forest);color:#fff}.training-log-dialog footer{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.training-log-dialog footer .ui-button{width:auto;margin:0}@media (prefers-reduced-motion:reduce){.training-log-stat-progress{animation:none}}@media (width<=980px){.training-log-stats{grid-template-columns:1fr 1fr}.training-log-stats-hero-slot{grid-area:auto/1/auto/-1}}@media (width<=720px){.training-log-stats{grid-template-columns:1fr}.training-log-stat--hero{text-align:center;grid-template-columns:1fr;justify-items:center;min-height:0;padding:26px 22px}.training-log-stat--hero .training-log-stat-pills{justify-content:center}.training-log-stat--hero:before{bottom:-160px;right:-150px}.training-log-stat--hero:after{bottom:-104px;right:-92px}.training-log-dialog{border-radius:16px;max-height:calc(100vh - 24px);padding:22px}.training-log-item{grid-template-columns:minmax(0,1fr)}.training-log-exertion>div{grid-template-columns:repeat(6,minmax(38px,1fr))}}.landing{background:radial-gradient(ellipse 72% 48% at 50% 18%, #bad6f2b8, transparent 68%), radial-gradient(ellipse 46% 32% at 50% 62%, #215aa91a, transparent 70%), var(--color-canvas);min-height:100dvh;color:var(--color-ink);flex-direction:column;display:flex}.landing-header,.landing-main,.landing-footer{width:min(100% - 32px, var(--page-max));margin-inline:auto}.landing-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 20px;padding:20px 0 8px;display:flex}.landing-brand{min-width:0;color:var(--color-ink);gap:10px;line-height:1}.landing-brand-name{font-family:var(--font-display);letter-spacing:-.04em;font-size:1.15rem;font-weight:700}.landing-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px 16px;display:flex}.landing-nav-link{color:var(--color-ink);font-weight:700;text-decoration:none}.landing-nav-link:hover,.landing-nav-link.is-active{color:var(--color-accent)}.landing-menu-button,.landing-mobile-menu-layer{display:none}.landing-main{flex:1;padding-bottom:12px}.landing-hero{text-align:center;flex-direction:column;align-items:center;margin-top:28px;display:flex}.landing-hero .eyebrow{color:var(--color-accent)}.landing-hero h1{overflow-wrap:anywhere;max-width:12em;font-family:var(--font-display);letter-spacing:-.06em;margin:0 0 16px;font-size:clamp(2.6rem,6vw,4.6rem);font-weight:800;line-height:1.02}.landing-lead{max-width:34rem;color:var(--color-muted);margin:0 0 28px;font-size:1.05rem;line-height:1.55}.landing-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.landing-actions .ui-button{border-radius:var(--radius-pill);min-width:148px;padding-inline:22px}.landing-actions .ui-button--secondary{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-ink)}.landing-actions .ui-button--secondary:hover{border-color:var(--color-accent);background:var(--color-surface);color:var(--color-accent)}.landing-stage{width:100%;margin-top:18px}.landing-device{width:300px;margin:28px auto 8px;position:relative}.landing-device:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle,#0000 34%,#215aa914 35%,#0000 36.4%),radial-gradient(circle,#0000 48%,#215aa912 49%,#0000 50.4%),radial-gradient(circle,#215aa91f,#0000 62%);border-radius:50%;width:520px;height:520px;position:absolute;top:36px;left:50%;transform:translate(-50%)}.landing-float{z-index:2;background:#ffffffeb;border:1px solid #fffc;border-radius:18px;position:absolute;box-shadow:0 16px 40px #0e16201a}.landing-float-mark{border-radius:22px;place-items:center;width:72px;height:72px;display:grid;top:54px;right:calc(100% + 28px)}.landing-float-mark img{width:34px;height:34px}.landing-float-card{text-align:left;gap:2px;min-width:168px;padding:14px 16px;display:grid;top:168px;left:calc(100% + 22px)}.landing-float-card span,.landing-float-card small{color:var(--color-muted);font-size:.75rem;font-weight:700}.landing-float-card strong{font-family:var(--font-display);letter-spacing:-.03em;font-size:1rem}.landing-phone{z-index:1;background:#121920;border-radius:46px;padding:12px;position:relative;box-shadow:0 28px 70px #0e162033,inset 0 0 0 1px #ffffff1f}.landing-screen{color:#142033;background:#f3f6fa;border-radius:36px;flex-direction:column;font-size:13px;display:flex;position:relative;overflow:hidden}.landing-island{background:#121920;border-radius:999px;width:96px;height:22px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.landing-status{justify-content:space-between;align-items:flex-end;height:42px;padding:0 22px 6px;font-size:12px;font-weight:700;display:flex}.landing-app{flex-direction:column;flex:1;gap:14px;padding:8px 16px 12px;display:flex}.landing-app-head{text-align:left;align-items:center;gap:10px;display:flex}.landing-avatar{color:#215aa9;background:#e3ecf6;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.landing-app-head p{color:#5c6b7a;margin:0;font-size:11px;font-weight:700}.landing-app-head strong{letter-spacing:-.03em;font-size:18px;display:block}.landing-week{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.landing-week span{background:#fff;border-radius:16px;align-content:center;justify-items:center;gap:1px;min-height:62px;display:grid}.landing-week small{color:#5c6b7a;font-size:10px;font-weight:700}.landing-week b{font-size:15px}.landing-week .is-today{color:#fff;background:#215aa9}.landing-week .is-today small,.landing-week .is-today b{color:#fff}.landing-session{color:#fff;text-align:left;background:linear-gradient(135deg,#1a4787,#215aa9);border-radius:22px;flex-direction:column;align-items:flex-start;min-height:148px;padding:16px;display:flex}.landing-session-top span{background:#ffffff2e;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.landing-session-title{font-family:var(--font-display);letter-spacing:-.04em;margin:14px 0 4px;font-size:22px;font-weight:800}.landing-session-next{text-align:left;background:#fff;border-radius:18px;gap:2px;padding:14px 16px;display:grid}.landing-session-next p,.landing-session-next small{color:#5c6b7a;margin:0;font-size:12px;font-weight:700}.landing-session-next strong{letter-spacing:-.03em;font-size:16px}.landing-session p{color:#ffffffc7;margin:0;font-size:12px;font-weight:600}.landing-session-go{color:#215aa9;background:#fff;border-radius:50%;align-self:flex-end;place-items:center;width:32px;height:32px;margin-top:auto;font-weight:700;display:grid}.landing-tabs{background:#fff;grid-template-columns:repeat(4,1fr);margin-top:auto;padding:10px 18px 16px;display:grid}.landing-tabs svg{fill:none;stroke:#5c6b7a;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;justify-self:center;width:20px;height:20px}.landing-tabs svg:first-child{fill:#215aa9;stroke:#215aa9}.landing-story{width:min(100%,720px);margin:36px auto 48px}.landing-story .eyebrow{color:var(--color-accent)}.landing-story h1{max-width:16em;font-family:var(--font-display);letter-spacing:-.055em;margin:0 0 14px;font-size:clamp(2.2rem,5vw,3.5rem);font-weight:800;line-height:1.05}.landing-story .landing-lead{margin-bottom:8px}.landing-steps{gap:12px;margin:28px 0 22px;padding:0;list-style:none;display:grid}.landing-steps li{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:16px;padding:22px;display:grid}.landing-steps li>span{font-family:var(--font-display);color:var(--color-accent);letter-spacing:-.04em;font-size:1.15rem;font-weight:800}.landing-steps h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 6px;font-size:1.2rem}.landing-steps p{color:var(--color-muted);margin:0;line-height:1.55}.landing-story-note{color:var(--color-ink-soft);margin:0 0 22px;line-height:1.5}.landing-story-note a{color:var(--color-link);font-weight:700}.landing-story .landing-actions{justify-content:flex-start}.landing-points{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0 36px;display:grid}.landing-points article{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:22px}.landing-points h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 8px;font-size:1.15rem}.landing-points p{color:var(--color-muted);margin:0;line-height:1.5}.landing-footer{padding:4px 0 calc(28px + env(safe-area-inset-bottom,0px));flex-wrap:wrap;gap:8px 18px;display:flex}.landing-footer a{color:var(--color-muted);font-size:.82rem;font-weight:700;text-decoration:none}.landing-footer a:hover{color:var(--color-accent)}.landing a:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:6px}@media (width<=800px){.landing-header,.landing-main,.landing-footer{width:min(100% - 32px, var(--page-max))}.landing-header{align-items:center}.landing-nav--desktop{display:none}.landing-menu-button{border:1px solid var(--color-border-strong);width:44px;height:44px;color:var(--color-ink);cursor:pointer;background:#ffffffb8;border-radius:50%;place-items:center;padding:0;display:grid}.landing-menu-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8px;width:22px;height:22px}.landing-menu-button:hover,.landing-menu-button[aria-expanded=true]{border-color:var(--color-accent);color:var(--color-accent)}.landing-mobile-menu-layer{z-index:20;justify-content:flex-end;display:flex;position:fixed;inset:0}.landing-mobile-menu-backdrop{background:#081a2c7a;border:0;position:absolute;inset:0}.landing-mobile-menu{width:min(86vw,360px);height:100%;padding:max(24px, env(safe-area-inset-top)) 20px 24px;background:var(--color-surface);position:relative;overflow-y:auto;box-shadow:-20px 0 60px #081a2c33}.landing-mobile-menu-heading{color:var(--color-muted);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.72rem;font-weight:800;display:flex}.landing-mobile-menu-heading button{color:var(--color-ink);cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:2rem;line-height:1}.landing-mobile-menu-links{gap:8px;margin-top:32px;display:grid}.landing-mobile-menu-links .landing-nav-link{border-radius:var(--radius-lg);font-family:var(--font-display);padding:16px;font-size:1.15rem}.landing-mobile-menu-links .landing-nav-link:hover,.landing-mobile-menu-links .landing-nav-link.is-active{background:var(--color-accent-soft)}.landing-mobile-menu-links .ui-button{border-radius:var(--radius-pill);min-height:48px;margin-top:12px}.landing-hero h1{font-size:clamp(2.2rem,10vw,3.2rem)}.landing-float,.landing-device:before{display:none}.landing-device{width:min(100%,280px)}.landing-points{grid-template-columns:1fr}}.legal-shell{min-height:100dvh;padding:28px 20px calc(40px + env(safe-area-inset-bottom,0px));background:#f5f6f1}.legal-top{justify-content:space-between;align-items:center;gap:16px;max-width:760px;margin:0 auto 28px;display:flex}.legal-back{color:var(--color-link);font-size:.9rem;font-weight:700;text-decoration:none}.legal-document{background:#fff;border:1px solid #e2e6df;border-radius:18px;max-width:760px;margin:0 auto;padding:40px 36px}.legal-document h1{font-family:var(--font-display);letter-spacing:-.055em;margin:8px 0 10px;font-size:clamp(2rem,4vw,2.6rem);line-height:1.1}.legal-updated{color:#7a847b;margin:0 0 28px;font-size:.86rem}.legal-body{color:#2f3b33;font-size:.95rem;line-height:1.6}.legal-body h2{font-family:var(--font-display);letter-spacing:-.03em;margin:28px 0 10px;font-size:1.2rem}.legal-body p,.legal-body ul{margin:0 0 14px}.legal-body ul{padding-left:1.2rem}.legal-body li+li{margin-top:6px}.legal-body a{color:var(--color-link);font-weight:700}.legal-footer{flex-wrap:wrap;justify-content:center;gap:16px;max-width:760px;margin:24px auto 0;display:flex}.legal-footer a{color:#6f7b71;font-size:.86rem;font-weight:700;text-decoration:none}@media (width<=720px){.legal-shell{padding:16px 16px 32px}.legal-document{border-radius:14px;padding:26px 18px}.legal-document h1{font-size:1.85rem}}
