@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/inter-latin-wght-normal.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/inter-latin-ext-wght-normal.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/barlow-condensed-latin-800-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/barlow-condensed-latin-ext-800-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{color-scheme:light dark;--ink:#1a1a1a;--graphite:#3a3a3c;--mist:#6b6b70;--line:#e2e2e2;--canvas:#ffffff;--sand:#f5f5f5;--ember:#1a1a1a;--ember-600:#1a1a1a;--ember-text:#1a1a1a;--ember-hover:#000000;--on-ember:#ffffff;--success:#1e7f4a;--warning:#f5a524;--danger:#c5221f;--volt:#e8e8e8;--hero-bg:#1a1a1a;--hero-fg:#ffffff;--hero-mute:#b4b4ba;--glass:rgb(255 255 255 / 0.78);--shadow:0 8px 30px rgb(26 26 26 / 0.1);--c-grappling:#1a1a1a;--c-striking:#4a4a4a;--c-strength:#6e6e6e;--c-physio:#8c8c8c;--c-conditioning:#a8a8a8;--c-mobility:#c4c4c4;--ui:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--display:"Barlow Condensed","Arial Narrow","Helvetica Neue",Impact,sans-serif;--r-input:8px;--r-card:12px;--r-sheet:20px;--gutter:16px;--tabbar:64px;--ease:cubic-bezier(0.2,0.7,0.2,1)}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--ink:#f5f5f5;--graphite:#a1a1a6;--mist:#a1a1a6;--line:#2c2c2e;--canvas:#0b0b0c;--sand:#1c1c1e;--ember:#f5f5f5;--ember-600:#f5f5f5;--ember-text:#f5f5f5;--ember-hover:#d4d4d4;--on-ember:#1a1a1a;--volt:#2c2c2e;--hero-bg:#1a1a1a;--glass:rgb(11 11 12 / 0.78);--shadow:0 8px 30px rgb(0 0 0 / 0.5);--c-grappling:#f5f5f5;--c-striking:#d0d0d0;--c-strength:#aaaaaa;--c-physio:#848484;--c-conditioning:#626262;--c-mobility:#444444}}:root[data-theme="dark"]{--ink:#f5f5f5;--graphite:#a1a1a6;--mist:#a1a1a6;--line:#2c2c2e;--canvas:#0b0b0c;--sand:#1c1c1e;--ember:#f5f5f5;--ember-600:#f5f5f5;--ember-text:#f5f5f5;--ember-hover:#d4d4d4;--on-ember:#1a1a1a;--volt:#2c2c2e;--hero-bg:#1a1a1a;--glass:rgb(11 11 12 / 0.78);--shadow:0 8px 30px rgb(0 0 0 / 0.5);--c-grappling:#f5f5f5;--c-striking:#d0d0d0;--c-strength:#aaaaaa;--c-physio:#848484;--c-conditioning:#626262;--c-mobility:#444444}.hero,.hero-card,.mock,.cta-band{--ember:#f5f5f5;--ember-600:#f5f5f5;--ember-text:#f5f5f5;--ember-hover:#d4d4d4;--on-ember:#1a1a1a}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:72px}body{margin:0;background:var(--canvas);color:var(--ink);font:400 1rem/1.5 var(--ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg{display:block;max-width:100%}h1,h2,h3,p,ul,ol,dl,figure{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--ember);outline-offset:3px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sprite{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:absolute;left:12px;top:-64px;z-index:100;padding:12px 18px;border-radius:999px;background:var(--ink);color:var(--canvas);font-weight:600;text-decoration:none}.skip-link:focus{top:12px}.display{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:0.01em;line-height:0.95}h1.display{font-size:clamp(2.75rem,11vw,4.5rem)}.eyebrow{font-size:0.75rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--mist)}.eyebrow.accent{color:var(--ember-text)}h2{font-size:1.5rem;font-weight:700;letter-spacing:-0.02em;line-height:1.2}h3{font-size:1.125rem;font-weight:650;letter-spacing:-0.01em;line-height:1.3}.lead{font-size:1.1875rem;line-height:1.5;color:var(--graphite);max-width:36rem}.muted{color:var(--mist)}.fine{font-size:0.8125rem;color:var(--mist);line-height:1.5}.num,.big-number,.dose,.stat,.distance,table.data,.delta{font-variant-numeric:tabular-nums}a.link{color:var(--ember-text);font-weight:600;text-underline-offset:3px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 26px;border:1.5px solid transparent;border-radius:999px;font-weight:650;font-size:1rem;line-height:1;text-decoration:none;text-align:center;background:var(--ember-600);color:var(--on-ember);transition:transform 160ms var(--ease),background-color 160ms var(--ease),border-color 160ms var(--ease)}.btn:hover{background:var(--ember-hover)}.btn:active{transform:scale(0.98)}.btn[disabled],.btn[aria-disabled="true"]{opacity:0.55;cursor:not-allowed}.btn-quiet{background:transparent;color:var(--ink);border-color:var(--line)}.btn-quiet:hover{background:var(--sand);border-color:var(--mist)}.btn-danger{background:transparent;color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn-danger{color:#ff8a86;border-color:#ff8a86}}:root[data-theme="dark"] .btn-danger{color:#ff8a86;border-color:#ff8a86}.btn-light{background:#fff;color:#111}.btn-light:hover{background:#ececec}.btn-ghost-light{background:transparent;color:#fff;border-color:rgb(255 255 255 / 0.4)}.btn-ghost-light:hover{background:rgb(255 255 255 / 0.1)}.btn-block{width:100%}.btn svg{width:20px;height:20px}.icon{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.chips.row{display:flex;flex-wrap:wrap}.chips.scale{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.chips.scale-5{grid-template-columns:repeat(5,minmax(0,1fr))}.chips.scale .chip{padding:0;min-width:0}.chips.scale .chip.escape{grid-column:1 / -1}.chip{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 16px;border:1.5px solid var(--line);border-radius:999px;background:var(--canvas);color:var(--ink);font-weight:600;text-align:center;text-decoration:none;transition:border-color 160ms var(--ease),background-color 160ms var(--ease),transform 160ms var(--ease)}.chip:hover{border-color:var(--ink)}.chip:active{transform:scale(0.97)}.chip[aria-pressed="true"],.chip.is-on{background:var(--ink);color:var(--canvas);border-color:var(--ink)}.chip.primary{border-color:var(--ember-600);color:var(--ember-text)}.chip.escape{border-style:dashed;color:var(--mist);font-weight:500}.chip[disabled]{opacity:0.5;cursor:wait}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:0.8125rem;font-weight:600;line-height:1.4;background:var(--sand);color:var(--graphite);border:1px solid var(--line)}.pill .icon{width:14px;height:14px;stroke-width:2.2}.pill.ok{color:var(--success)}.pill.ask{color:#8a5a00;background:#fff4de;border-color:#f5d79a}.pill.ember{background:var(--ember-600);color:var(--on-ember);border-color:transparent}.pill.volt{background:var(--volt);color:var(--ink);border-color:transparent}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pill.ok{color:#5fd18d}:root:not([data-theme="light"]) .pill.ask{color:#f5c46b;background:#2d2410;border-color:#4a3a14}}:root[data-theme="dark"] .pill.ok{color:#5fd18d}:root[data-theme="dark"] .pill.ask{color:#f5c46b;background:#2d2410;border-color:#4a3a14}.card{background:var(--sand);border:1px solid var(--line);border-radius:var(--r-card);padding:20px}.card + .card,.stack>* + *{margin-top:16px}.card.flat{background:var(--canvas)}.card h2{margin-bottom:8px}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.hero-card{position:relative;overflow:hidden;border-radius:var(--r-sheet);padding:24px;background:var(--hero-bg);color:var(--hero-fg);border:1px solid #2c2c2e;background-image:radial-gradient(120% 90% at 100% 0%,rgb(255 255 255 / 0.08),transparent 55%)}.hero-card .eyebrow{color:var(--hero-mute)}.hero .eyebrow{color:#c8c8ce}.hero-card .lead,.hero-card .muted{color:var(--hero-mute)}.hero-card h2{color:var(--hero-fg)}.big-number{font-family:var(--display);font-weight:800;text-transform:uppercase;line-height:0.82;letter-spacing:0}.big-number .unit{font-size:0.34em;letter-spacing:0.08em;margin-left:0.12em;color:var(--ember)}.hero-card .big-number{font-size:clamp(5rem,26vw,8rem)}.safety-card{background:var(--canvas);border:2px solid var(--mist);border-radius:var(--r-sheet);padding:24px}.safety-card h2{display:flex;gap:10px;align-items:center}.safety-card h2 .icon{color:var(--danger)}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .safety-card h2 .icon{color:#ff8a86}}:root[data-theme="dark"] .safety-card h2 .icon{color:#ff8a86}.safety-card p + p{margin-top:10px}.empty{text-align:center;padding:36px 20px}.empty h2{margin-bottom:6px}.empty .btn{margin-top:18px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{background:var(--sand);border:1px solid var(--line);border-radius:var(--r-card);padding:14px 14px 12px;min-width:0}.stat .big-number{font-size:clamp(2.5rem,11vw,3.5rem)}.stat .big-number .unit{color:var(--ember-text)}.stat .big-number.small{font-size:clamp(1.5rem,7vw,2rem);line-height:1.05}.stat .label{display:block;margin-top:6px;font-size:0.8125rem;color:var(--mist);font-weight:500;line-height:1.3}.field{display:grid;gap:6px;margin-bottom:14px}.field label{font-weight:600;font-size:0.9375rem}.input{width:100%;min-height:48px;padding:0 16px;border:1.5px solid var(--line);border-radius:var(--r-input);background:var(--canvas);color:var(--ink)}.input:hover{border-color:var(--mist)}.status{min-height:1.5em;margin-top:12px;font-size:0.9375rem;color:var(--graphite)}.status.error{color:var(--danger)}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .status.error{color:#ff8a86}}:root[data-theme="dark"] .status.error{color:#ff8a86}.site-header{position:sticky;top:0;z-index:20;background:var(--glass);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid var(--line)}.site-header .inner,.wrap{width:min(1120px,100% - 2 * var(--gutter));margin-inline:auto}.site-header .inner{display:flex;align-items:center;justify-content:space-between;min-height:60px;gap:12px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--display);font-weight:800;letter-spacing:0.1em;font-size:1.375rem;text-transform:uppercase}.brand .logo{width:22px;height:32px}.logo-stacked{display:block;height:auto;max-width:100%}.logo-on-dark{display:none}:root[data-theme="dark"] .logo-on-light{display:none}:root[data-theme="dark"] .logo-on-dark{display:inline-block}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo-on-light{display:none}:root:not([data-theme="light"]) .logo-on-dark{display:inline-block}}.hero-logo,.page-logo{margin:0 0 24px}.section{padding:clamp(56px,12vw,112px) 0}.section.sand{background:var(--sand)}.section h2.display{font-size:clamp(2.25rem,8vw,3.75rem);margin-bottom:16px}.hero{background:#1a1a1a;color:#fff;overflow:hidden;position:relative}.hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:min(720px,90vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgb(255 255 255 / 0.1),rgb(255 255 255 / 0.02) 62%,transparent 70%)}.hero .wrap{position:relative;padding:clamp(64px,14vw,128px) 0 clamp(56px,10vw,96px);display:grid;gap:40px}.hero h1{font-size:clamp(3.5rem,15vw,8.5rem);max-width:12ch}.hero h1 em{font-style:normal;color:#b4b4ba}.hero .lead{color:#c7c7cc;margin-top:24px}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.mock{max-width:360px;border-radius:28px;padding:22px;background:#242424;border:1px solid #333333;box-shadow:0 30px 80px rgb(0 0 0 / 0.5)}.mock .eyebrow{color:#a1a1a6}.mock .big-number{font-size:6rem;margin:10px 0 8px}.mock p{color:#c7c7cc}.mock .big-number{color:#fff}.mock .tag{display:block;margin-top:14px;color:#8e8e93;font-size:0.75rem}.grid-3{display:grid;gap:16px;margin-top:32px}.step .num-big{font-family:var(--display);font-weight:800;font-size:3.5rem;color:var(--ember-text);line-height:1}.step h3{margin:10px 0 6px;font-size:1.25rem}.phase-list{display:grid;gap:12px;margin-top:28px}.phase-row{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:start;padding:18px;background:var(--canvas);border:1px solid var(--line);border-radius:var(--r-card)}.phase-row .num-big{font-family:var(--display);font-weight:800;font-size:3.25rem;line-height:0.9;color:var(--ember-text)}.phase-row h3{margin-bottom:2px}.faq details{border-top:1px solid var(--line);padding:4px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:56px;font-weight:650}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font-size:1.5rem;color:var(--mist);font-weight:400}.faq details[open] summary::after{content:"\2212"}.faq p{padding:0 0 18px;color:var(--graphite);max-width:40rem}.cta-band{background:#1a1a1a;color:#ffffff;text-align:center}.cta-band .lead{color:#c7c7cc;margin-inline:auto}.cta-band .eyebrow{color:#a1a1a6}.cta-band .btn{margin-top:24px}.site-footer{padding:40px 0 56px;border-top:1px solid var(--line)}.site-footer .wrap{display:grid;gap:14px}.site-footer p{max-width:44rem}.signin{min-height:calc(100dvh - 60px);display:grid;align-items:center;padding:32px 0}.signin-card{width:min(480px,100% - 2 * var(--gutter));margin-inline:auto}.signin-card h1{font-size:clamp(2.5rem,10vw,3.5rem);margin:8px 0 12px}.method{padding:20px 0;border-top:1px solid var(--line)}.method:first-of-type{border-top:0}.method h2{font-size:1.0625rem;display:flex;align-items:center;gap:10px;margin-bottom:8px}.notice{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:var(--r-card);background:var(--sand);border:1px solid var(--line)}.notice .icon{color:var(--mist);margin-top:1px}.notice.error{border-color:var(--danger)}.app-header{position:sticky;top:0;z-index:20;background:var(--glass);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}.app-header .inner{display:flex;align-items:center;justify-content:space-between;min-height:56px;width:min(760px,100% - 2 * var(--gutter));margin-inline:auto}.avatar{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--sand);border:1px solid var(--line);font-weight:700;text-decoration:none}.avatar[aria-current="page"]{border-color:var(--ember-600);color:var(--ember-text)}main.app{width:min(760px,100% - 2 * var(--gutter));margin-inline:auto;padding:28px 0 calc(var(--tabbar) + 48px + env(safe-area-inset-bottom));outline:none}.page-head{margin-bottom:24px}.page-head h1{margin-top:6px}.page-head p{margin-top:12px}.page-head.compact{margin-bottom:16px}.page-head.compact h1.display{font-size:clamp(2.25rem,9vw,3.25rem)}.tabbar{position:fixed;inset:auto 0 0 0;z-index:30;background:var(--canvas);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabbar ul{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;width:min(760px,100%);margin-inline:auto}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:var(--tabbar);padding:6px 2px;text-decoration:none;color:var(--mist);font-size:0.75rem;font-weight:600}.tab[aria-current="page"]{color:var(--ember-text)}.tab[aria-current="page"] .icon{stroke-width:2.4}.offline-bar{position:sticky;top:56px;z-index:15;background:var(--ink);color:var(--canvas);text-align:center;font-size:0.875rem;font-weight:600;padding:8px var(--gutter)}.nav-side{display:none}.checkin .recap{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.checkin h2{font-size:1.625rem;margin-bottom:6px}.checkin h2:focus{outline:none}.checkin .hint{color:var(--mist);margin-bottom:18px}.checkin .chips{margin-top:18px}.change-time{margin-top:18px}.change-time summary{cursor:pointer;font-weight:600;color:var(--hero-mute);min-height:44px;display:flex;align-items:center}.hero-card .chip{background:transparent;color:#fff;border-color:rgb(255 255 255 / 0.3)}.hero-card .chip:hover{border-color:#fff}.hero-card .chip[aria-pressed="true"]{background:#fff;color:#111}.session-head .big-number{font-size:clamp(4.5rem,22vw,6.5rem)}.section-title{margin:32px 0 12px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.section-title h2{font-size:1.25rem}.exercise{display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:start;padding:18px 0;border-top:1px solid var(--line)}.exercise:first-child{border-top:0}.exercise h3{font-size:1.125rem}.dose{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:1.625rem;line-height:1;color:var(--ember-text);margin-top:6px;letter-spacing:0.01em}.exercise .note{color:var(--graphite);font-size:0.9375rem;margin-top:6px}.watch{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;background:var(--canvas);border:1.5px solid var(--line);font-weight:650;font-size:0.9375rem;text-decoration:none;white-space:nowrap}.watch:hover{border-color:var(--ink)}.watch .icon{width:18px;height:18px}.watch.search{color:var(--graphite);font-weight:600}.guidance{color:var(--graphite);padding:6px 0}.reasons{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.chart{width:100%;height:auto}.chart .grid-line{stroke:var(--line);stroke-width:1}.chart .axis-text{fill:var(--mist);font-size:9px;font-family:var(--ui)}.chart .bar-current{opacity:1}.chart .bar-past{opacity:0.85}.g-grappling{fill:var(--c-grappling);background:var(--c-grappling)}.g-striking{fill:var(--c-striking);background:var(--c-striking)}.g-physio{fill:var(--c-physio);background:var(--c-physio)}.g-strength{fill:var(--c-strength);background:var(--c-strength)}.g-conditioning{fill:var(--c-conditioning);background:var(--c-conditioning)}.g-mobility{fill:var(--c-mobility);background:var(--c-mobility)}.legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px;font-size:0.8125rem;color:var(--graphite)}.legend li{display:inline-flex;align-items:center;gap:6px}.swatch{width:10px;height:10px;border-radius:3px;display:inline-block}.bars-list li{display:grid;grid-template-columns:7.5rem 1fr 2.5rem;gap:10px;align-items:center;min-height:32px;font-size:0.9375rem}.bars-list progress{width:100%;height:10px;border-radius:999px;overflow:hidden;appearance:none;-webkit-appearance:none;background:var(--line);border:0}.bars-list progress::-webkit-progress-bar{background:var(--line);border-radius:999px}.bars-list progress::-webkit-progress-value{background:var(--ember);border-radius:999px}.bars-list progress::-moz-progress-bar{background:var(--ember);border-radius:999px}.ring-wrap{display:flex;align-items:center;gap:18px}.ring{width:96px;height:96px;flex:none;transform:rotate(-90deg)}.ring .track{fill:none;stroke:var(--line);stroke-width:10}.ring .value{fill:none;stroke:var(--ember);stroke-width:10;stroke-linecap:round}@media (prefers-reduced-motion:no-preference){.ring .value{animation:ring-fill 900ms var(--ease) both}}@keyframes ring-fill{from{stroke-dashoffset:264}}.sparkline{width:100%;height:56px}.sparkline polyline{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sparkline circle{fill:var(--ink)}.trend{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px 0;border-top:1px solid var(--line);align-items:baseline}.trend:first-of-type{border-top:0}.trend .delta{font-family:var(--display);font-weight:800;font-size:1.375rem;text-transform:uppercase}.delta.improved{color:var(--success)}.delta.worse{color:var(--ember-text)}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .delta.improved{color:#5fd18d}}:root[data-theme="dark"] .delta.improved{color:#5fd18d}table.data{width:100%;border-collapse:collapse;font-size:0.875rem}table.data th,table.data td{padding:8px 6px;text-align:right;border-top:1px solid var(--line)}table.data th:first-child,table.data td:first-child{text-align:left}table.data caption{text-align:left;color:var(--mist);padding:0 0 8px}.details-toggle summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600;color:var(--ember-text)}.timeline{position:relative;display:grid;gap:14px}.phase{display:grid;grid-template-columns:56px 1fr;gap:14px;padding:18px;border-radius:var(--r-card);background:var(--sand);border:1px solid var(--line)}.phase .num-big{font-family:var(--display);font-weight:800;font-size:3.25rem;line-height:0.9;color:var(--mist)}.phase.current{background:var(--hero-bg);color:var(--hero-fg);border-color:#2c2c2e;background-image:radial-gradient(120% 90% at 100% 0%,rgb(255 90 31 / 0.22),transparent 55%)}.phase.current .num-big{color:var(--ember)}.phase.current .muted,.phase.current .fine{color:var(--hero-mute)}.phase.done .num-big{color:var(--success)}.phase h3{margin-bottom:2px}.gate{margin-top:14px;display:grid;gap:8px}.gate li{display:flex;gap:10px;align-items:flex-start;font-size:0.9375rem}.gate .mark{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--mist);display:grid;place-items:center;margin-top:1px}.gate .mark .icon{width:14px;height:14px;stroke-width:3}.gate .met .mark{background:var(--success);border-color:var(--success);color:#fff}.phase.current .gate .mark{border-color:#6e6e73}.focus{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}.milestones{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.milestone{padding:16px;border-radius:var(--r-card);background:var(--volt);color:var(--ink)}.milestone strong{display:block;font-size:1rem;line-height:1.25}.milestone span{font-size:0.8125rem;opacity:0.75}.upcoming li{padding:8px 0;border-top:1px solid var(--line);color:var(--graphite);font-size:0.9375rem}.upcoming li:first-child{border-top:0}.toolbar{display:grid;gap:14px;margin-bottom:20px}.gym{display:grid;gap:12px}.gym h2{font-size:1.25rem;margin:0}.gym .distance{font-family:var(--display);font-weight:800;font-size:1.75rem;text-transform:uppercase;color:var(--ember-text);line-height:1;white-space:nowrap}.gym-top{display:flex;justify-content:space-between;gap:14px;align-items:start}.badges{display:flex;flex-wrap:wrap;gap:6px}.prices{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:0.9375rem}.prices b{font-weight:700}.classes li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:0.9375rem}.links{display:flex;flex-wrap:wrap;gap:8px}.loading{color:var(--mist);padding:20px 0}.rows>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line);align-items:center}.rows>div:first-child{border-top:0}.rows dt{color:var(--mist)}.rows dd{margin:0;font-weight:600;text-align:right;min-width:0;overflow-wrap:anywhere}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}dialog{border:1px solid var(--line);border-radius:var(--r-sheet);padding:24px;background:var(--canvas);color:var(--ink);width:min(440px,100% - 32px);box-shadow:var(--shadow)}dialog::backdrop{background:rgb(0 0 0 / 0.5)}dialog h2{margin-bottom:8px}.install-hint{display:flex;gap:14px;align-items:center}.install-hint .icon{color:var(--ember-text)}.header-actions{display:flex;align-items:center;gap:8px}.install-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--sand);color:var(--ink);font:inherit;font-size:0.875rem;font-weight:600;cursor:pointer}.install-btn:hover{border-color:var(--ink)}.install-btn .icon{width:18px;height:18px}.install-banner{display:flex;gap:16px;align-items:flex-start;margin-top:16px;padding:18px;border-radius:var(--r-card);background:var(--sand);border:1px solid var(--line)}.install-banner img{flex:none;border-radius:12px}.install-banner-text{min-width:0}.install-banner-text h2{font-size:1.125rem}.install-banner-text .muted{margin-top:4px}.install-banner .cta-row{margin-top:12px}dialog.sheet{text-align:left;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}dialog.sheet .notice,dialog.sheet .fine{margin-top:16px}.install-steps{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:20px}.install-steps li{display:grid;gap:10px;min-width:0}.install-frame{margin:0;border-radius:14px;overflow:hidden;background:var(--sand);border:1px solid var(--line)}.install-frame img{display:block;width:100%;height:auto;vertical-align:middle}.install-frame .logo-on-dark{display:none}:root[data-theme="dark"] .install-frame .logo-on-light{display:none}:root[data-theme="dark"] .install-frame .logo-on-dark{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .install-frame .logo-on-light{display:none}:root:not([data-theme="light"]) .install-frame .logo-on-dark{display:block}}.install-steps span{display:grid;gap:2px;min-width:0}.install-steps small{color:var(--mist);font-size:0.875rem}@media (max-width:639px){dialog.sheet{margin:auto 0 0;width:100%;max-width:none;border-radius:var(--r-sheet) var(--r-sheet) 0 0;border-bottom:0;padding-bottom:calc(24px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:no-preference){dialog.sheet[open]{animation:sheet-in 260ms var(--ease) both}dialog.sheet[open]::backdrop{animation:fade-in 200ms ease both}@keyframes sheet-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes fade-in{from{opacity:0}to{opacity:1}}}@media (min-width:640px){:root{--gutter:24px}.grid-3{grid-template-columns:repeat(3,1fr);gap:24px}.hero .wrap{grid-template-columns:1.4fr 1fr;align-items:center}.stats{gap:16px}.chips:not(.scale):not(.row){grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}}@media (min-width:900px){.nav-side{display:list-item}.nav-tab{display:none}.composer{bottom:16px}body.has-sidebar{padding-left:248px}.tabbar{inset:0 auto 0 0;width:248px;border-top:0;border-right:1px solid var(--line);padding:96px 12px 24px;backdrop-filter:none;background:var(--canvas)}.tabbar ul{grid-auto-flow:row;grid-template-columns:1fr;gap:4px;width:100%}.tab{flex-direction:row;justify-content:flex-start;gap:14px;min-height:48px;padding:0 16px;border-radius:999px;font-size:1rem}.tab:hover{background:var(--sand)}.tab[aria-current="page"]{background:var(--sand)}main.app{padding-bottom:80px}.app-header .inner{width:min(760px,100% - 48px)}.offline-bar{top:56px}}.btn-small{min-height:40px;padding:0 18px;font-size:0.875rem}.chat-tools{display:flex;justify-content:space-between;gap:8px;margin-bottom:12px;flex-wrap:wrap}.thread{display:grid;gap:14px}.turn{display:flex;flex-direction:column;gap:4px;max-width:100%}.turn.user{align-items:flex-end}.turn.coach{align-items:flex-start}.bubble{max-width:min(36rem,92%);padding:12px 16px;border-radius:20px;overflow-wrap:anywhere}.bubble p{white-space:pre-wrap}.bubble p + p,.bubble p + ul,.bubble p + ol,.bubble ul + p,.bubble ol + p{margin-top:8px}.bubble ul,.bubble ol{padding-left:1.2em;list-style:disc}.bubble ol{list-style:decimal}.turn.user .bubble{background:var(--ink);color:var(--canvas);border-bottom-right-radius:6px;white-space:pre-wrap}.turn.coach .bubble{background:var(--sand);border:1px solid var(--line);border-bottom-left-radius:6px}.bubble.safety{background:var(--canvas);border:2px solid var(--mist)}.bubble .headline{font-weight:700}.bubble.draft p:empty::after{content:"\2026";color:var(--mist)}.bubble .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.bubble img.attached{margin-top:10px;border-radius:var(--r-card);width:100%;height:auto}.chip.small{min-height:40px;padding:0 14px;font-size:0.875rem}.via{font-size:0.75rem;color:var(--mist);padding-inline:6px}.divider{display:flex;align-items:center;gap:12px;color:var(--mist);font-size:0.75rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase}.divider::before,.divider::after{content:"";flex:1;border-top:1px solid var(--line)}.suggestions{margin:8px 0}.suggestions .eyebrow{margin-top:18px}.suggestions .chips{margin-top:10px}.suggestions .chip{min-height:44px;font-weight:500}.composer{position:sticky;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + 8px);z-index:10;display:flex;align-items:flex-end;gap:8px;margin-top:12px;padding:8px;background:var(--canvas);border:1.5px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}.composer:focus-within{border-color:var(--ink)}.composer textarea{flex:1;min-width:0;min-height:44px;max-height:160px;padding:10px 12px;border:0;background:transparent;resize:none;outline:none;line-height:1.4}.composer .send{flex:none;width:48px;min-height:48px;padding:0}.chat>.fine{margin-top:12px}.menu{display:grid;gap:10px}.menu a,.menu .menu-item{display:flex;align-items:center;gap:16px;min-height:72px;padding:14px 18px;text-decoration:none;background:var(--sand);border:1px solid var(--line);border-radius:var(--r-card)}.menu a:hover,.menu .menu-item:hover{border-color:var(--ink)}.menu .menu-item{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}.menu span{flex:1;display:grid}.menu small{color:var(--mist);font-size:0.875rem}.menu .icon:last-child{color:var(--mist)}.player{display:grid;gap:16px}.player-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}.player-bar .link{display:inline-flex;align-items:center;min-height:44px}.meter{appearance:none;-webkit-appearance:none;width:100%;height:6px;border:0;border-radius:999px;background:var(--line);overflow:hidden}.meter::-webkit-progress-bar{background:var(--line);border-radius:999px}.meter::-webkit-progress-value{background:var(--ember-600);border-radius:999px}.meter::-moz-progress-bar{background:var(--ember-600);border-radius:999px}.step{display:grid;gap:14px;padding:24px 20px}.step h1.display{font-size:clamp(2.5rem,10vw,3.75rem);outline:none}.dose-big{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(2.25rem,9vw,3rem);line-height:1;color:var(--ember-text);font-variant-numeric:tabular-nums}.step .note{color:var(--graphite)}.step .guidance{padding-left:14px;border-left:3px solid var(--line);color:var(--graphite);font-size:0.9375rem}.step .watch{justify-self:start}.sets,.timer,.rest{display:grid;gap:12px;justify-items:start;padding:16px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--canvas)}.sets .btn,.timer .btn{min-width:160px}.set-count{font-weight:650}.set-dots{display:flex;flex-wrap:wrap;gap:8px}.dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--mist)}.dot.on{background:var(--ember-600);border-color:var(--ember-600)}.clock{font-family:var(--display);font-weight:800;font-size:clamp(3.5rem,18vw,5.5rem);line-height:1;font-variant-numeric:tabular-nums}.timer-buttons{display:flex;flex-wrap:wrap;gap:10px}.rest{background:var(--sand)}.inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.inputs .field{margin-bottom:0}.inputs .fine{grid-column:1 / -1}.knee-check .field-label,.group legend{font-weight:600;font-size:0.9375rem;margin-bottom:8px;padding:0}.step-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-top:8px}.step-actions .btn:last-child{margin-left:auto;min-width:120px}.finish{display:grid;gap:18px;padding:24px 20px}.finish h1.display{font-size:clamp(2.25rem,9vw,3.25rem);outline:none}.group{border:0;padding:0;margin:0;min-width:0}.finish textarea.input{min-height:88px;padding:12px 16px;resize:vertical}.result{outline:none;display:grid;gap:16px}.log-text{display:grid;gap:8px;margin-top:16px}.log-text label{font-weight:600;font-size:0.9375rem}.log-text textarea{min-height:64px;padding:12px 16px;resize:vertical}.log-text .btn{justify-self:start}[data-quick-thread]{margin-top:16px}.rows{display:grid;margin:12px 0 4px}.rows li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.rows li:first-child{border-top:0}.stack-form{display:grid;gap:4px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.stack-form .btn{justify-self:start;margin-top:8px}select.input{padding-right:12px}.bubble ul.bullets{list-style:disc}.report{padding:8px 0}.report-head{margin-bottom:16px}.report-head h1.display{font-size:clamp(2.25rem,9vw,3.25rem)}.report-section{padding:16px 0;border-top:1px solid var(--line);break-inside:avoid}.report-section h2{font-size:1.125rem;margin-bottom:8px}.report-section p + p,.report-section p + ul{margin-top:8px}.report-section ul,.report-section ol{padding-left:1.4em;display:grid;gap:6px}.report-section ul{list-style:disc}.report-section ol{list-style:decimal}.report-foot{margin-top:16px}.report-actions{margin-top:24px}.map-box{margin:24px 0}.map{height:min(60vh,420px);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;margin-top:12px;z-index:0}.map-popup{display:grid;gap:4px;min-width:150px}.map-popup .link{background:none;border:0;padding:6px 0;text-align:left;min-height:36px;cursor:pointer}.leaflet-container{font:inherit}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--canvas);color:var(--ink)}.leaflet-touch .leaflet-bar a{width:44px;height:44px;line-height:44px}.leaflet-container a{color:var(--ember-text)}.leaflet-bar a:focus-visible,.leaflet-marker-icon:focus-visible{outline:3px solid var(--ember);outline-offset:2px}.stack-form.flat{margin-top:12px;padding-top:0;border-top:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:4px 0;font-weight:600}input[role="switch"]{appearance:none;-webkit-appearance:none;flex:none;width:52px;height:32px;border-radius:999px;background:var(--line);position:relative;border:0;cursor:pointer;transition:background-color 160ms var(--ease)}input[role="switch"]::after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgb(0 0 0 / 0.3);transition:transform 160ms var(--ease)}input[role="switch"]:checked{background:var(--ember-600)}input[role="switch"]:checked::after{transform:translateX(20px);background:var(--on-ember)}.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 12px}.check{display:flex;align-items:center;gap:10px;min-height:44px}.check label{font-weight:500;flex:1;min-height:44px;display:flex;align-items:center;cursor:pointer}.check input{width:22px;height:22px;accent-color:var(--ember-600);flex:none}textarea.input{min-height:64px;padding:12px 16px;resize:vertical}@media (max-width:420px){.three{grid-template-columns:1fr}}.sync-tray{width:min(760px,100% - 2 * var(--gutter));margin:12px auto 0;padding:12px 16px;border:1px solid var(--line);border-left:4px solid var(--ember-600);border-radius:var(--r-card);background:var(--sand)}.sync-text{font-weight:600;font-size:0.9375rem}.sync-text:empty{display:none}.sync-conflicts{display:grid;gap:12px;margin-top:8px}.sync-conflicts:empty{display:none}.conflict{padding-top:12px;border-top:1px solid var(--line)}.conflict:first-child{padding-top:0;border-top:0}.conflict p{font-size:0.9375rem;color:var(--graphite);margin:4px 0 10px}.conflict .actions{display:flex;flex-wrap:wrap;gap:8px}@media (min-width:900px){.sync-tray{width:min(760px,100% - 48px)}}.ex-group[hidden],.exercise[hidden]{display:none}.push-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 4px}.radios{display:grid;gap:4px}.radio{display:flex;align-items:center;gap:12px;min-height:48px}.radio input{width:22px;height:22px;accent-color:var(--ember-600);flex:none}.radio label{flex:1;min-height:48px;display:flex;align-items:center;font-weight:500;cursor:pointer}.radio input:disabled + label{color:var(--mist);cursor:not-allowed}.push-offer[hidden]{display:none}@media (max-width:380px){.stats{gap:8px}.stat{padding:12px 10px}.exercise{grid-template-columns:1fr}.bars-list li{grid-template-columns:6rem 1fr 2rem}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}@media print{.report-actions,.offline-bar,.status{display:none!important}body{background:#fff;color:#000}main.app{width:100%;padding:0}.report-section{padding:10pt 0}.report a{color:inherit;text-decoration:none}.tabbar,.app-header,.site-header,.skip-link{display:none!important}body.has-sidebar{padding-left:0}}.ring-wrap{display:flex;align-items:center;gap:18px}.mt{margin-top:16px}.knee-spark-label{margin:14px 0 6px}.gate-title{margin-top:16px}.is-disabled{opacity:0.55;pointer-events:none}.hero-card .cta-row{margin-top:20px}.hero-card .reasons{margin-top:14px}.hero-card .reasons .pill{background:rgb(255 255 255 / 0.1);color:#fff;border-color:rgb(255 255 255 / 0.18)}.phase.current .focus .pill{background:rgb(255 255 255 / 0.1);color:#fff;border-color:rgb(255 255 255 / 0.18)}.card ol,.card ul{margin:0}.section-title{margin-top:28px}main.app>.card,main.app>.stack,main.app>.stats,main.app>.hero-card,main.app>.safety-card,main.app>.timeline,main.app>.milestones,main.app>.notice,main.app>.toolbar{margin-bottom:16px}.toolbar .field{margin-bottom:0}.toolbar select.input{min-width:12rem}.reasons .pill,.focus .pill{border-radius:16px;padding:6px 12px;line-height:1.4;text-align:left}.signin-card>* + *{margin-top:16px}.signin-card>.eyebrow + h1{margin-top:6px}.method>* + *{margin-top:10px}.method form{margin-top:16px}.classes li span:last-child{white-space:nowrap}.more{margin-top:16px}.more summary{cursor:pointer;min-height:48px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--line);border-radius:999px;font-weight:650;list-style:none}.more summary::-webkit-details-marker{display:none}.more[open] summary{margin-bottom:16px}.checks{list-style:none;padding:0;margin:20px 0;display:grid;grid-template-columns:1fr;gap:10px}.checks li{display:flex;gap:12px;align-items:flex-start;color:var(--graphite)}.checks .icon{flex:none;color:var(--mist);margin-top:2px}.perm-set{border:1px solid var(--line);border-radius:var(--r-card);padding:14px 16px;margin:16px 0;display:grid;gap:2px;background:var(--canvas)}.perm-set legend{padding:0 6px;font-weight:700}.switch-row{display:flex;align-items:center;gap:14px;min-height:48px;cursor:pointer}.switch-row span{flex:1;text-align:left;font-weight:500}.switch-row input{flex:none;width:22px;height:22px;accent-color:var(--ember-600)}.people{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:16px}.person{border-top:1px solid var(--line);padding-top:14px}.person:first-child{border-top:0;padding-top:0}.person-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.plain-list{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:10px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.audit{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:8px;font-size:0.9375rem}.audit time{color:var(--mist);margin-right:6px}.qr-box{display:grid;place-items:center;margin:12px 0}.qr-box .qr{width:min(220px,70vw);height:auto;border-radius:12px;border:1px solid var(--line);background:#fff}.field input[readonly]{font-size:0.875rem}.block-picker{display:flex;align-items:center;gap:10px;margin-top:12px}.block-picker select{width:auto;min-width:12rem}.plan-day .card-head{align-items:flex-start}.day-chip{display:inline-grid;place-items:center;min-width:32px;height:32px;padding:0 8px;margin-right:10px;border-radius:999px;background:var(--ink);color:var(--canvas);font-size:0.875rem;font-weight:700;vertical-align:middle}.plan-items{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:12px;counter-reset:ex}.plan-items li{border-top:1px solid var(--line);padding-top:12px}.plan-items li:first-child{border-top:0;padding-top:0}.plan-item-main{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.tasks{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:4px}.task{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line)}.task:first-child{border-top:0}.task-actions{display:flex;gap:8px;flex-wrap:wrap}.thread{list-style:none;padding:0;margin:12px 0;display:grid;gap:10px;max-height:40vh;overflow-y:auto}.thread li{padding:10px 12px;border-radius:var(--r-card);background:var(--sand);border:1px solid var(--line)}.thread li.mine{background:var(--canvas)}.thread p{margin-top:2px;white-space:pre-wrap;overflow-wrap:anywhere}dialog.sheet.wide{width:min(640px,100% - 32px)}.plan-edit-items{list-style:none;padding:0;margin:8px 0 12px;display:grid;gap:12px}.plan-edit-item{border:1px solid var(--line);border-radius:var(--r-card);padding:12px}.mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-top:8px;align-items:end}.mini{display:grid;gap:4px;font-size:0.8125rem;color:var(--mist)}.mini .input{min-height:40px}.library-results{max-height:220px;overflow-y:auto}.library-hit{width:100%;text-align:left;min-height:44px;padding:8px 12px;border-radius:var(--r-input);border:1px solid var(--line);background:var(--canvas);color:var(--ink);font:inherit;cursor:pointer}.library-hit:hover{border-color:var(--ink)}.inputs .input{min-width:0;width:100%}.inputs.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:520px){.inputs.stack-narrow{grid-template-columns:minmax(0,1fr)}}.suggestions{margin-top:12px}.suggestions li{padding:8px 0;border-top:1px solid var(--line)}.suggestions li:first-child{border-top:0}.prose .wrap{max-width:46rem}.prose h1{margin-top:6px}.prose h2{font-size:1.375rem;margin-top:36px}.prose p,.prose li{color:var(--graphite);line-height:1.65;margin-top:12px}.prose ul{list-style:disc;padding-left:1.25rem}.prose li{margin-top:8px}.prose .lead{margin-top:16px}.prose .cta-row{margin-top:16px}.footer-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:14px}.footer-links .link{min-height:44px;display:inline-flex;align-items:center}.admin-nav{margin-bottom:20px}.admin-nav .chip{text-decoration:none;display:inline-flex;align-items:center}[data-admin]>.card,[data-admin]>.stats,[data-admin]>.notice{margin-top:16px}.facts{display:grid;gap:10px;margin:8px 0 12px}.facts>div{display:grid;grid-template-columns:minmax(96px,30%) 1fr;gap:12px;align-items:baseline;border-top:1px solid var(--line);padding-top:10px}.facts>div:first-child{border-top:0;padding-top:0}.facts dt{color:var(--mist);font-size:0.875rem;font-weight:600}.facts dd{margin:0;overflow-wrap:anywhere}.table-wrap{overflow-x:auto;margin:0 -4px;padding:0 4px}table.admin-table{min-width:560px}table.admin-table th,table.admin-table td{text-align:left;vertical-align:top}table.admin-table thead th{font-size:0.8125rem;color:var(--mist);font-weight:600}[data-admin] .card table.admin-table{margin-top:8px}[data-admin] .card:has(>table){overflow-x:auto}.admin-table input.input{min-width:84px}.plan-form{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.plan-form:first-of-type{border-top:0;margin-top:8px}.plan-form .chips.row{align-items:flex-end}.plan-form .chips.row .field,.toolbar .chips.row .field{flex:1 1 150px;margin-bottom:8px}[data-admin] code{overflow-wrap:anywhere;word-break:break-all}.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:0 20px 0 14px;border-radius:999px;text-decoration:none;font:500 0.875rem/1 Roboto,"Inter",system-ui,sans-serif;letter-spacing:0.01em;background:#fff;color:#1f1f1f;border:1px solid #747775;transition:background-color 120ms ease,box-shadow 120ms ease}.google-btn:hover{background:#f8f9fa;box-shadow:0 1px 2px rgba(60,64,67,0.3),0 1px 3px 1px rgba(60,64,67,0.15)}.google-btn:active{background:#f1f3f4}.google-btn:focus-visible{outline:3px solid var(--ember-600);outline-offset:2px}.google-g{flex:none}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .google-btn{background:#131314;color:#e3e3e3;border-color:#8e918f}:root:not([data-theme="light"]) .google-btn:hover{background:#1e1f20;box-shadow:none}}:root[data-theme="dark"] .google-btn{background:#131314;color:#e3e3e3;border-color:#8e918f}:root[data-theme="dark"] .google-btn:hover{background:#1e1f20;box-shadow:none}.or-line{display:flex;align-items:center;gap:12px;color:var(--mist);font-size:0.8125rem;margin:18px 0}.or-line::before,.or-line::after{content:"";flex:1;height:1px;background:var(--line)}.consent-row{align-items:flex-start;padding:14px 0;font-weight:500}.consent-row input{margin-top:3px}.turn .who{font-size:0.75rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--graphite);padding-left:4px}.sport-picker{border:0;padding:0;margin:0;display:grid;gap:10px}.sport-picker legend{font-weight:600;margin-bottom:8px}.sport-card{position:relative;display:flex;align-items:center;gap:14px;min-height:64px;padding:14px 16px;background:var(--sand);border:2px solid var(--line);border-radius:var(--r-card);cursor:pointer}.sport-card input{flex:none;width:22px;height:22px;accent-color:var(--ember-600)}.sport-card:has(input:checked){border-color:var(--ember-600);background:var(--canvas)}.sport-card:has(input:focus-visible){outline:3px solid var(--ember-600);outline-offset:2px}.sport-card .sport-icon{flex:none;display:grid;place-items:center;width:36px;height:36px}.sport-card .sport-text{flex:1;display:grid;gap:2px}.sport-card small{color:var(--mist);font-size:0.875rem}.sport-card.is-off{cursor:default;opacity:1}.sport-card.is-off .sport-text strong{color:var(--mist)}.sport-soon{flex:none;font-size:0.8125rem;font-weight:600;color:var(--graphite);border:1px solid var(--line);border-radius:999px;padding:4px 10px;background:var(--canvas)}.diet-today .ring-wrap{margin-bottom:14px}.diet-logs li{padding:12px 0;border-top:1px solid var(--line)}.diet-logs li:first-child{border-top:0}.diet-log{display:grid;gap:6px;width:100%}.diet-log details summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.diet-items{display:grid;gap:10px;margin:12px 0}.diet-item{display:grid;grid-template-columns:minmax(0,1fr) 5.5rem auto auto;gap:8px;align-items:center}.diet-item .btn{min-height:44px}@media (max-width:420px){.diet-item{grid-template-columns:minmax(0,1fr) 4.5rem auto}.diet-item>span{display:none}}.menu-button{all:unset;box-sizing:border-box;display:block;width:100%;min-height:44px;padding:10px 0;cursor:pointer;color:var(--ink)}.menu-button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.field:has([data-photo]:focus-visible) label.btn{outline:2px solid var(--ink);outline-offset:3px}.lesson-cards{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:14px}.lesson-cards .card + .card{margin-top:0}.lesson-cards p,.lesson-cards ul{margin-bottom:10px}.lesson-cards ul{padding-left:1.25rem;list-style:disc}.iq-filters{display:grid;gap:4px}.iq-film-frame iframe{width:100%;aspect-ratio:16 / 9;border:1px solid var(--line);border-radius:var(--r-card);margin:12px 0;background:var(--canvas)}.iq-question{border:1px solid var(--line);border-radius:var(--r-card);padding:14px 16px;margin:0 0 14px;min-width:0}.iq-question legend{font-weight:600;padding:0 6px}.iq-question .check{cursor:pointer}.iq-question.right{border-left:6px solid var(--ink)}.iq-question.wrong{border-left:6px dashed var(--ink)}.iq-why{margin-top:8px;font-size:0.9375rem}.iq-footer{margin-top:18px}.empty-illu{display:grid;place-items:center;margin:0.5rem 0 0.75rem}.empty-illu img{width:min(240px,70%);height:auto}.empty-illu .logo-on-dark{display:none}:root[data-theme="dark"] .empty-illu .logo-on-light{display:none}:root[data-theme="dark"] .empty-illu .logo-on-dark{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .empty-illu .logo-on-light{display:none}:root:not([data-theme="light"]) .empty-illu .logo-on-dark{display:block}}.player-prefs{display:flex;flex-wrap:wrap;gap:4px 20px}.player-prefs .check{min-height:44px}.set-complete{display:flex;align-items:center;gap:12px;padding:12px 16px;border:2px solid var(--ink);border-radius:var(--r-card);background:var(--canvas)}.set-complete .icon{flex:none;width:24px;height:24px;stroke-width:2.6}.set-complete p{display:grid;gap:2px;margin:0}.set-complete strong{font-size:1.125rem}.dot.now{border-color:var(--ink);box-shadow:0 0 0 2px var(--canvas),0 0 0 4px var(--ink)}.sets.is-current .set-count{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}:root{--glow-active-core:rgb(28 168 92 / 0.6);--glow-active:rgb(46 200 112 / 0.36);--glow-active-far:rgb(110 222 150 / 0.26);--glow-rest-core:rgb(40 118 220 / 0.46);--glow-rest:rgb(64 148 240 / 0.28);--glow-rest-far:rgb(130 188 255 / 0.22);--phase-active-text:#176b3c;--phase-rest-text:#1c5aa8}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--glow-active-core:rgb(96 240 152 / 0.62);--glow-active:rgb(70 220 130 / 0.34);--glow-active-far:rgb(60 200 120 / 0.18);--glow-rest-core:rgb(112 176 255 / 0.62);--glow-rest:rgb(80 150 255 / 0.34);--glow-rest-far:rgb(60 130 240 / 0.18);--phase-active-text:#74e3a4;--phase-rest-text:#93c3ff}}:root[data-theme="dark"]{--glow-active-core:rgb(96 240 152 / 0.62);--glow-active:rgb(70 220 130 / 0.34);--glow-active-far:rgb(60 200 120 / 0.18);--glow-rest-core:rgb(112 176 255 / 0.62);--glow-rest:rgb(80 150 255 / 0.34);--glow-rest-far:rgb(60 130 240 / 0.18);--phase-active-text:#74e3a4;--phase-rest-text:#93c3ff}.player .step{--glow-core:transparent;--glow:transparent;--glow-far:transparent;position:relative;isolation:isolate}.player .step::before,.player .step::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0}.player .step::before{box-shadow:0 0 2px 1px var(--glow-core),0 0 16px 2px var(--glow),0 0 44px 10px var(--glow-far);filter:blur(5px)}.player .step::after{box-shadow:0 0 6px 2px var(--glow-core),0 0 36px 10px var(--glow-core),0 0 72px 22px var(--glow);filter:blur(8px)}.player .step[data-phase="active"]{--glow-core:var(--glow-active-core);--glow:var(--glow-active);--glow-far:var(--glow-active-far)}.player .step[data-phase="rest"]{--glow-core:var(--glow-rest-core);--glow:var(--glow-rest);--glow-far:var(--glow-rest-far)}.player .step[data-phase="active"],.player .step[data-phase="rest"]{border-color:var(--glow-core)}.player .step[data-phase="active"]::before,.player .step[data-phase="rest"]::before{opacity:1}.step-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;min-height:28px}.phase-tag{display:inline-flex;align-items:center;gap:7px;margin:0;padding:3px 11px;border:1px solid currentColor;border-radius:999px;font-size:0.8125rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;line-height:1.4}.phase-tag[hidden]{display:none}.phase-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 6px 1px currentColor}.player .step[data-phase="active"] .phase-tag{color:var(--phase-active-text)}.player .step[data-phase="rest"] .phase-tag{color:var(--phase-rest-text)}@media (prefers-reduced-motion:no-preference){.player .step{transition:border-color 600ms var(--ease)}.player .step::before,.player .step::after{transition:opacity 700ms var(--ease)}.player .step[data-phase="active"]::before{animation:glow-breathe 4.2s ease-in-out infinite}.player .step.is-go{animation:set-go 560ms var(--ease)}.player .step.is-go::after{animation:glow-flash 900ms ease-out}}@media (prefers-reduced-motion:reduce){.player .step,.player .step::before,.player .step::after,.player .phase-tag{transition:none!important}}@keyframes glow-breathe{0%,100%{opacity:1}50%{opacity:0.55}}@keyframes set-go{0%{transform:scale(1)}32%{transform:scale(1.018)}100%{transform:scale(1)}}@keyframes glow-flash{0%{opacity:0}22%{opacity:1}100%{opacity:0}}