:root{--color-graphite-300:#c9cbcf;--color-graphite-400:#a9adb4;--color-graphite-500:#7d828c;--color-graphite-600:#5e636e;--color-graphite-700:#3a3e47;--color-graphite-800:#23262d;--color-graphite-900:#15171c;--color-graphite-950:#0e1013;--color-paper-0:#fff;--color-paper-50:#f7f6f3;--color-paper-100:#f0eee9;--color-paper-200:#e6e3dd;--color-paper-300:#dedcd7;--color-paper-400:#cbc8c1;--color-magenta-50:#fdf1f5;--color-magenta-100:#fbe3ec;--color-magenta-200:#f5c0d4;--color-magenta-300:#ee8ab2;--color-magenta-500:#e8408a;--color-magenta-600:#c41e64;--color-magenta-700:#a3164f;--color-magenta-800:#7e103c;--color-magenta-900:#3b0f22;--color-green-100:#e3f2e9;--color-green-300:#7fd1a4;--color-green-700:#1f7a4d;--color-amber-100:#fcefd6;--color-amber-300:#f2c46b;--color-amber-700:#8a5300;--color-red-100:#fde8e6;--color-red-300:#f59a90;--color-red-700:#b42318;--font-sans:"Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-serif:"Instrument Serif", Georgia, "Times New Roman", serif;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:20px;--radius-pill:999px;--shadow-raised:0 1px 2px #15171c0f, 0 1px 1px #15171c0a;--shadow-overlay:0 12px 32px #15171c29, 0 2px 6px #15171c14;--size-tap-target:48px;--size-focus-width:3px;--size-focus-offset:2px;--size-content-max:1200px;--size-measure:68ch;--breakpoint-sm:480px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--motion-fast:.12s;--motion-base:.2s;--motion-slow:.32s;--motion-ease:cubic-bezier(.2, .7, .2, 1);--text-display-size:clamp(2.75rem, 1.9rem + 3.6vw, 4.75rem);--text-display-line:1;--text-display-tracking:-.045em;--text-h1-size:clamp(2.125rem, 1.7rem + 1.8vw, 3.25rem);--text-h1-line:1.05;--text-h1-tracking:-.035em;--text-h2-size:clamp(1.625rem, 1.4rem + 1vw, 2.25rem);--text-h2-line:1.1;--text-h2-tracking:-.03em;--text-h3-size:1.25rem;--text-h3-line:1.25;--text-h3-tracking:-.015em;--text-body-lg-size:1.125rem;--text-body-lg-line:1.55;--text-body-lg-tracking:0;--text-body-size:1rem;--text-body-line:1.55;--text-body-tracking:0;--text-body-sm-size:.875rem;--text-body-sm-line:1.5;--text-body-sm-tracking:0;--text-label-size:.875rem;--text-label-line:1.3;--text-label-tracking:0;--text-caption-size:.8125rem;--text-caption-line:1.4;--text-caption-tracking:0;--text-note-size:clamp(1.25rem, 1.15rem + .4vw, 1.5rem);--text-note-line:1.3;--text-note-tracking:-.005em;--text-data-xl-size:clamp(3rem, 1.8rem + 5vw, 5.5rem);--text-data-xl-line:.95;--text-data-xl-tracking:-.055em;--text-data-lg-size:clamp(2rem, 1.6rem + 1.6vw, 2.75rem);--text-data-lg-line:1;--text-data-lg-tracking:-.04em;--text-data-md-size:1rem;--text-data-md-line:1.3;--text-data-md-tracking:0}:root,[data-theme=light]{--surface-page:var(--color-paper-50);--surface-raised:var(--color-paper-0);--surface-sunken:var(--color-paper-100);--surface-inverse:var(--color-graphite-900);--surface-highlight:var(--color-magenta-100);--text-primary:var(--color-graphite-900);--text-secondary:var(--color-graphite-600);--text-disabled:var(--color-graphite-500);--text-inverse:var(--color-paper-50);--text-accent:var(--color-magenta-600);--text-on-action:var(--color-paper-0);--border-subtle:var(--color-paper-300);--border-input:var(--color-graphite-500);--border-strong:var(--color-graphite-900);--action-primary:var(--color-magenta-600);--action-primary-hover:var(--color-magenta-700);--action-primary-pressed:var(--color-magenta-800);--action-secondary-hover:var(--color-paper-100);--action-disabled:var(--color-paper-200);--focus-ring:var(--color-magenta-600);--status-success-text:var(--color-green-700);--status-success-bg:var(--color-green-100);--status-warning-text:var(--color-amber-700);--status-warning-bg:var(--color-amber-100);--status-error-text:var(--color-red-700);--status-error-bg:var(--color-red-100);--status-info-text:var(--color-graphite-700);--status-info-bg:var(--color-paper-100);--chart-build:var(--color-graphite-900);--chart-easier:var(--color-graphite-900);--chart-current:var(--color-magenta-600);--chart-future:var(--color-graphite-500);--chart-grid:var(--color-paper-300);--chart-reference:var(--color-graphite-600);--logo-letters:var(--color-graphite-900);--logo-slash:var(--color-magenta-600)}[data-theme=dark]{--surface-page:var(--color-graphite-900);--surface-raised:var(--color-graphite-800);--surface-sunken:var(--color-graphite-950);--surface-inverse:var(--color-paper-50);--surface-highlight:var(--color-magenta-900);--text-primary:var(--color-paper-50);--text-secondary:var(--color-graphite-400);--text-disabled:var(--color-graphite-600);--text-inverse:var(--color-graphite-900);--text-accent:var(--color-magenta-300);--text-on-action:var(--color-paper-0);--border-subtle:var(--color-graphite-700);--border-input:var(--color-graphite-500);--border-strong:var(--color-paper-50);--action-primary:var(--color-magenta-600);--action-primary-hover:var(--color-magenta-700);--action-primary-pressed:var(--color-magenta-800);--action-secondary-hover:var(--color-graphite-800);--action-disabled:var(--color-graphite-800);--focus-ring:var(--color-magenta-300);--status-success-text:var(--color-green-300);--status-success-bg:var(--color-graphite-800);--status-warning-text:var(--color-amber-300);--status-warning-bg:var(--color-graphite-800);--status-error-text:var(--color-red-300);--status-error-bg:var(--color-graphite-800);--status-info-text:var(--color-graphite-300);--status-info-bg:var(--color-graphite-800);--chart-build:var(--color-paper-50);--chart-easier:var(--color-paper-50);--chart-current:var(--color-magenta-500);--chart-future:var(--color-graphite-500);--chart-grid:var(--color-graphite-700);--chart-reference:var(--color-graphite-400);--logo-letters:var(--color-paper-50);--logo-slash:var(--color-magenta-500)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--surface-page:var(--color-graphite-900);--surface-raised:var(--color-graphite-800);--surface-sunken:var(--color-graphite-950);--surface-inverse:var(--color-paper-50);--surface-highlight:var(--color-magenta-900);--text-primary:var(--color-paper-50);--text-secondary:var(--color-graphite-400);--text-disabled:var(--color-graphite-600);--text-inverse:var(--color-graphite-900);--text-accent:var(--color-magenta-300);--text-on-action:var(--color-paper-0);--border-subtle:var(--color-graphite-700);--border-input:var(--color-graphite-500);--border-strong:var(--color-paper-50);--action-primary:var(--color-magenta-600);--action-primary-hover:var(--color-magenta-700);--action-primary-pressed:var(--color-magenta-800);--action-secondary-hover:var(--color-graphite-800);--action-disabled:var(--color-graphite-800);--focus-ring:var(--color-magenta-300);--status-success-text:var(--color-green-300);--status-success-bg:var(--color-graphite-800);--status-warning-text:var(--color-amber-300);--status-warning-bg:var(--color-graphite-800);--status-error-text:var(--color-red-300);--status-error-bg:var(--color-graphite-800);--status-info-text:var(--color-graphite-300);--status-info-bg:var(--color-graphite-800);--chart-build:var(--color-paper-50);--chart-easier:var(--color-paper-50);--chart-current:var(--color-magenta-500);--chart-future:var(--color-graphite-500);--chart-grid:var(--color-graphite-700);--chart-reference:var(--color-graphite-400);--logo-letters:var(--color-paper-50);--logo-slash:var(--color-magenta-500)}}.text-display{font-family:var(--font-sans);font-weight:700;font-size:var(--text-display-size);line-height:var(--text-display-line);letter-spacing:var(--text-display-tracking)}.text-h1{font-family:var(--font-sans);font-weight:700;font-size:var(--text-h1-size);line-height:var(--text-h1-line);letter-spacing:var(--text-h1-tracking)}.text-h2{font-family:var(--font-sans);font-weight:700;font-size:var(--text-h2-size);line-height:var(--text-h2-line);letter-spacing:var(--text-h2-tracking)}.text-h3{font-family:var(--font-sans);font-weight:600;font-size:var(--text-h3-size);line-height:var(--text-h3-line);letter-spacing:var(--text-h3-tracking)}.text-body-lg{font-family:var(--font-sans);font-weight:400;font-size:var(--text-body-lg-size);line-height:var(--text-body-lg-line);letter-spacing:var(--text-body-lg-tracking)}.text-body{font-family:var(--font-sans);font-weight:400;font-size:var(--text-body-size);line-height:var(--text-body-line);letter-spacing:var(--text-body-tracking)}.text-body-sm{font-family:var(--font-sans);font-weight:400;font-size:var(--text-body-sm-size);line-height:var(--text-body-sm-line);letter-spacing:var(--text-body-sm-tracking)}.text-label{font-family:var(--font-sans);font-weight:600;font-size:var(--text-label-size);line-height:var(--text-label-line);letter-spacing:var(--text-label-tracking)}.text-caption{font-family:var(--font-sans);font-weight:400;font-size:var(--text-caption-size);line-height:var(--text-caption-line);letter-spacing:var(--text-caption-tracking)}.text-note{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:var(--text-note-size);line-height:var(--text-note-line);letter-spacing:var(--text-note-tracking)}.text-data-xl{font-family:var(--font-sans);font-weight:700;font-size:var(--text-data-xl-size);line-height:var(--text-data-xl-line);letter-spacing:var(--text-data-xl-tracking);font-variant-numeric:tabular-nums}.text-data-lg{font-family:var(--font-sans);font-weight:700;font-size:var(--text-data-lg-size);line-height:var(--text-data-lg-line);letter-spacing:var(--text-data-lg-tracking);font-variant-numeric:tabular-nums}.text-data-md{font-family:var(--font-sans);font-weight:600;font-size:var(--text-data-md-size);line-height:var(--text-data-md-line);letter-spacing:var(--text-data-md-tracking);font-variant-numeric:tabular-nums}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/instrument-sans-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--surface-page);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.55}img,svg{max-width:100%;display:block}h1,h2,h3{letter-spacing:-.03em;margin:0 0 .5em;font-weight:700;line-height:1.1}h1{font-size:var(--text-h1-size);line-height:var(--text-h1-line);letter-spacing:var(--text-h1-tracking)}h2{font-size:var(--text-h2-size);line-height:var(--text-h2-line);letter-spacing:var(--text-h2-tracking)}h3{font-size:var(--text-h3-size);line-height:var(--text-h3-line);letter-spacing:var(--text-h3-tracking);font-weight:600}p{max-width:var(--size-measure);margin:0 0 1em}a{color:var(--text-accent);text-underline-offset:.18em}:focus-visible{outline:var(--size-focus-width) solid var(--focus-ring);outline-offset:var(--size-focus-offset);border-radius:var(--radius-xs)}[tabindex="-1"]:focus{outline:none}.num{font-variant-numeric:tabular-nums}.slash{color:var(--text-accent);font-style:normal;font-weight:500}.note{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:var(--text-note-size);line-height:var(--text-note-line)}.muted{color:var(--text-secondary)}.small{font-size:.875rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{left:var(--space-2);z-index:20;background:var(--surface-inverse);color:var(--text-inverse);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-weight:600;text-decoration:none;position:absolute;top:-64px}.skip-link:focus{top:var(--space-2)}.container{width:min(100% - 2 * var(--space-5), var(--size-content-max));margin-inline:auto}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--size-tap-target);padding:0 var(--space-6);border-radius:var(--radius-md);font:600 1rem/1.1 var(--font-sans);text-align:center;cursor:pointer;transition:background-color var(--motion-fast) var(--motion-ease), box-shadow var(--motion-fast) var(--motion-ease);border:0;text-decoration:none;display:inline-flex}.btn--primary{background:var(--action-primary);color:var(--text-on-action)}.btn--primary:hover{background:var(--action-primary-hover)}.btn--primary:active{background:var(--action-primary-pressed)}.btn--secondary{color:var(--text-primary);box-shadow:inset 0 0 0 2px var(--border-strong);background:0 0}.btn--secondary:hover{background:var(--action-secondary-hover)}.btn--quiet{color:var(--text-accent);padding-inline:var(--space-3);text-underline-offset:.18em;background:0 0;text-decoration:underline}.btn--quiet:hover{background:var(--action-secondary-hover)}.btn:disabled,.btn[aria-disabled=true]{background:var(--action-disabled);color:var(--text-disabled);box-shadow:none;cursor:not-allowed}.btn--compact{padding-inline:var(--space-4)}.btn--icon{width:var(--size-tap-target);padding:0}.button-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.msg{border-radius:var(--radius-md);padding:var(--space-4);margin:0 0 var(--space-6);border-left:4px solid}.msg p,.msg ul{max-width:none;margin:0}.msg ul{padding-left:1.1em}.msg li+li{margin-top:var(--space-1)}.msg__title{font-weight:700;margin-bottom:var(--space-1)!important}.msg--success{background:var(--status-success-bg);color:var(--status-success-text)}.msg--warning{background:var(--status-warning-bg);color:var(--status-warning-text)}.msg--error{background:var(--status-error-bg);color:var(--status-error-text)}.msg--info{background:var(--status-info-bg);color:var(--status-info-text)}.field{margin:0 0 var(--space-6)}.field-label{font-weight:600;font-size:var(--text-label-size);line-height:var(--text-label-line);margin:0 0 var(--space-2);padding:0;display:block}.field-hint{color:var(--text-secondary);margin:calc(-1 * var(--space-1)) 0 var(--space-2);font-size:.875rem}.input{width:100%;min-height:var(--size-tap-target);padding:var(--space-2) var(--space-4);font:400 1rem/1.4 var(--font-sans);font-variant-numeric:tabular-nums;color:var(--text-primary);background:var(--surface-raised);border:1.5px solid var(--border-input);border-radius:var(--radius-md)}.input:hover{border-color:var(--border-strong)}.input:focus-visible{outline:var(--size-focus-width) solid var(--focus-ring);outline-offset:var(--size-focus-offset)}.input[aria-invalid=true]{border:2px solid var(--status-error-text)}.field-error{color:var(--status-error-text);margin:var(--space-2) 0 0;font-size:.875rem;font-weight:500}.choices{margin:0 0 var(--space-6);border:0;min-width:0;padding:0}.choices>legend{padding:0}.choice-grid{gap:var(--space-2);display:grid}.choice-grid--compact{grid-template-columns:repeat(auto-fill,minmax(4.75rem,1fr))}.choice-grid--days{gap:var(--space-1);grid-template-columns:repeat(7,minmax(0,1fr))}.choice{cursor:pointer;display:block;position:relative}.choice input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.choice__body{align-items:center;column-gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-4);background:var(--surface-raised);border:1.5px solid var(--border-input);border-radius:var(--radius-md);transition:background-color var(--motion-fast) var(--motion-ease);grid-template-columns:1fr auto;display:grid}.choice__label{font-weight:600}.choice__hint{color:var(--text-secondary);grid-column:1;font-size:.875rem}.choice__mark{border:1.5px solid var(--border-input);border-radius:50%;grid-area:1/2/span 2;place-items:center;width:22px;height:22px;display:grid}.choice input[type=checkbox]+.choice__body .choice__mark{border-radius:var(--radius-xs)}.choice:hover .choice__body{border-color:var(--border-strong)}.choice input:checked+.choice__body{background:var(--surface-inverse);border-color:var(--surface-inverse);color:var(--text-inverse)}.choice input:checked+.choice__body .choice__hint{color:var(--color-graphite-300)}.choice input:checked+.choice__body .choice__mark{border-color:var(--text-inverse);background:var(--text-inverse)}.choice input:checked+.choice__body .choice__mark:after{content:"";border:solid var(--surface-inverse);border-width:0 0 2px 2px;width:10px;height:6px;transform:translateY(-1px)rotate(-45deg)}.choice input:focus-visible+.choice__body{outline:var(--size-focus-width) solid var(--focus-ring);outline-offset:var(--size-focus-offset)}.choice-grid--compact .choice__body,.choice-grid--days .choice__body{text-align:center;padding-inline:var(--space-2);grid-template-columns:1fr;justify-items:center}.choice-grid--compact .choice__mark,.choice-grid--days .choice__mark{display:none}.choice-grid--compact .choice__label,.choice-grid--days .choice__label{white-space:nowrap;font-variant-numeric:tabular-nums}.choice-grid--days .choice__body{min-height:52px;padding-inline:0}.choice-grid--days .choice__label{font-size:.875rem}.onb{gap:var(--space-10);padding-block:var(--space-4) var(--space-8);display:grid}.onb__main{width:100%;max-width:36rem}.onb__count{margin:0 0 var(--space-2);color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:.875rem}.segments{gap:var(--space-1);margin:0 0 var(--space-8);grid-template-columns:repeat(6,1fr);padding:0;list-style:none;display:grid}.segments li{background:var(--border-subtle);border-radius:2px;height:4px}.segments li.is-done{background:var(--action-primary)}.onb__title{font-size:var(--text-h1-size);margin-bottom:var(--space-3)}.onb__intro{color:var(--text-secondary);margin-bottom:var(--space-6)}.onb__actions{z-index:5;gap:var(--space-3);margin:var(--space-8) calc(-1 * var(--space-5)) 0;padding:var(--space-3) var(--space-5) calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--surface-page);border-top:1px solid var(--border-subtle);display:flex;position:sticky;bottom:0}.onb__actions .btn--primary{flex:1}.onb__status{margin:var(--space-3) 0 0;color:var(--text-secondary);font-size:.875rem}.onb__summary{display:none}.summary-list{margin:0}.summary-list>div{gap:0 var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--border-subtle);grid-template-columns:1fr auto;align-items:center;display:grid}.summary-list dt{color:var(--text-secondary);font-size:.8125rem}.summary-list dd{font-variant-numeric:tabular-nums;grid-column:1;margin:0;font-weight:600}.summary-list dd.is-empty{color:var(--text-secondary);font-weight:400}.summary-list .btn{grid-area:1/2/span 2;min-height:40px}@media (width>=768px){.onb{padding-block:var(--space-10) var(--space-16)}.onb__actions{background:0 0;border:0;margin-inline:0;padding:0;position:static}.onb__actions .btn--primary{flex:0 auto;min-width:12rem}}@media (width>=1024px){.onb{justify-content:space-between;gap:var(--space-16);grid-template-columns:minmax(0,36rem) minmax(16rem,22rem)}.onb__summary{top:var(--space-6);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);align-self:start;display:block;position:sticky}.onb__summary h2{font-size:var(--text-h3-size);letter-spacing:var(--text-h3-tracking);margin-bottom:var(--space-3)}}.plan{padding-block:var(--space-4) var(--space-8)}.plan__head{margin-bottom:var(--space-6)}.plan__head h1{margin-bottom:var(--space-2)}.plan__dates{color:var(--text-secondary);font-size:var(--text-body-lg-size);font-variant-numeric:tabular-nums;margin:0}.plan__layout{gap:var(--space-8);display:grid}.plan__aside{gap:var(--space-5);align-content:start;display:grid}.plan__main{min-width:0}.plan__main>section{margin-bottom:var(--space-10)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.section-head h2{font-size:var(--text-h3-size);letter-spacing:var(--text-h3-tracking);margin:0}.section-head p{color:var(--text-secondary);margin:0;font-size:.875rem}.next{background:var(--surface-page);color:var(--text-primary);border-radius:var(--radius-xl);padding:var(--space-6)}.next h2{letter-spacing:0;color:var(--text-secondary);margin:0 0 var(--space-1);font-size:.9375rem;font-weight:500}.next__title{margin:0;font-size:1.125rem;font-weight:600}.next__miles{margin:var(--space-2) 0 var(--space-4);font-size:var(--text-data-lg-size);line-height:var(--text-data-lg-line);letter-spacing:var(--text-data-lg-tracking);font-variant-numeric:tabular-nums;font-weight:700}.next__miles small{letter-spacing:0;font-size:.45em;font-weight:600}.next dl{gap:var(--space-2) var(--space-4);grid-template-columns:auto 1fr;margin:0;font-size:.9375rem;display:grid}.next dt{color:var(--text-secondary)}.next dd{font-variant-numeric:tabular-nums;margin:0}.next .note{margin:var(--space-4) 0 0;padding-top:var(--space-4);border-top:1px solid var(--border-subtle);font-size:1.25rem}.stats{gap:var(--space-px,1px);background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);grid-template-columns:repeat(2,1fr);margin:0;display:grid;overflow:hidden}.stats>div{background:var(--surface-raised);padding:var(--space-3) var(--space-4)}.stats dt{color:var(--text-secondary);font-size:.8125rem}.stats dd{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0;font-size:1.25rem;font-weight:700}.stats dd small{letter-spacing:0;font-size:.75em;font-weight:600}.plan__disclaimer{font-size:.875rem}.plan__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.fit{margin-bottom:var(--space-6)}.chart{grid-template-columns:repeat(var(--n), minmax(0, 1fr));gap:var(--space-1);border-bottom:2px solid var(--chart-build);align-items:end;height:200px;display:grid}.chart__bar{all:unset;box-sizing:border-box;cursor:pointer;border-radius:var(--radius-xs) var(--radius-xs) 0 0;flex-direction:column;justify-content:flex-end;align-items:stretch;height:100%;display:flex;position:relative}.chart__bar:focus-visible{outline:var(--size-focus-width) solid var(--focus-ring);outline-offset:var(--size-focus-offset)}.chart__value{text-align:center;font-variant-numeric:tabular-nums;margin-bottom:3px;font-size:.75rem;font-weight:600}.chart__fill{height:var(--h);background:var(--chart-build);border-radius:3px 3px 0 0;min-height:4px;display:block}.chart__bar.is-easier .chart__fill{box-shadow:inset 0 0 0 2px var(--chart-easier);background:0 0}.chart__bar.is-current .chart__fill{background:var(--chart-current);box-shadow:none}.chart__bar.is-current.is-easier .chart__fill{box-shadow:inset 0 0 0 2px var(--chart-current);background:0 0}.chart__bar:hover .chart__fill{opacity:.8}.chart__axis{grid-template-columns:repeat(var(--n), minmax(0, 1fr));gap:var(--space-1);margin-top:var(--space-2);color:var(--text-secondary);text-align:center;font-variant-numeric:tabular-nums;font-size:.75rem;display:grid}.chart__axis span.is-selected{color:var(--text-primary);font-weight:700}.chart__axis span.is-selected:after{content:"";background:var(--text-primary);border-radius:2px;width:min(100%,20px);height:3px;margin:3px auto 0;display:block}.chart.is-dense .chart__value{display:none}.legend{gap:var(--space-2) var(--space-5);margin:var(--space-4) 0 0;color:var(--text-secondary);flex-wrap:wrap;padding:0;font-size:.8125rem;list-style:none;display:flex}.legend i{width:12px;height:12px;margin-right:var(--space-2);vertical-align:-1px;border-radius:2px;display:inline-block}@media (width>=640px){.chart.is-dense .chart__value{display:block}}.week-nav{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.week-nav h2{font-size:var(--text-h2-size);flex:1;margin:0}.week-meta{align-items:center;gap:var(--space-2);color:var(--text-secondary);margin:0 0 var(--space-4);flex-wrap:wrap;display:flex}.tag{min-height:26px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-subtle);align-items:center;font-size:.8125rem;font-weight:600;display:inline-flex}.tag--now{background:var(--surface-highlight);box-shadow:none}.tag--easier{box-shadow:inset 0 0 0 1.5px var(--border-strong);background:0 0}.week-stats{gap:var(--space-2) var(--space-8);margin:0 0 var(--space-4);flex-wrap:wrap;display:flex}.week-stats dt{color:var(--text-secondary);font-size:.8125rem}.week-stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.125rem;font-weight:700}.week-focus{margin-bottom:var(--space-4)}.sessions{border-bottom:1px solid var(--border-subtle);margin:0;padding:0;list-style:none}.session{gap:var(--space-1) var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--border-subtle);grid-template-columns:3.25rem 1fr;display:grid}.session.is-today{background:var(--surface-highlight);margin-inline:calc(-1 * var(--space-3));padding-inline:var(--space-3);border-radius:var(--radius-md);border-top-color:#0000}.session__date{font-variant-numeric:tabular-nums}.session__day{font-weight:700;display:block}.session__md{color:var(--text-secondary);font-size:.8125rem;display:block}.session__body p{max-width:62ch;margin:0}.session__title{align-items:center;gap:var(--space-2);flex-wrap:wrap;font-weight:600;display:flex}.session__amount{font-variant-numeric:tabular-nums;font-weight:600}.session__line{font-size:.9375rem;margin-top:var(--space-1)!important}.session__line b{font-weight:600}.session__details{color:var(--text-secondary);font-size:.875rem;margin-top:var(--space-1)!important}.session--rest .session__title{color:var(--text-secondary);font-weight:500}.hard-dot{background:var(--chart-current);border-radius:50%;width:8px;height:8px}.disclosure{border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.disclosure+.disclosure{border-top:0}.disclosure>summary{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--size-tap-target);padding-block:var(--space-3);cursor:pointer;font-weight:600;list-style:none;display:flex}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:after{content:"+";color:var(--text-secondary);font-size:1.25rem;font-weight:400}.disclosure[open]>summary:after{content:"−"}.disclosure__body{padding-bottom:var(--space-5)}.disclosure__body ul{margin:0 0 var(--space-3);padding-left:1.1em}.disclosure__body li+li{margin-top:var(--space-2)}.table-scroll{overflow-x:auto}.weeks-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9375rem}.weeks-table th,.weeks-table td{text-align:left;padding:var(--space-2) var(--space-3) var(--space-2) 0;border-top:1px solid var(--border-subtle);white-space:nowrap}.weeks-table thead th{color:var(--text-secondary);border-top:0;font-size:.8125rem;font-weight:600}.weeks-table td.r,.weeks-table th.r{text-align:right}.weeks-table tr.is-selected{background:var(--surface-sunken)}.weeks-table .btn{min-height:40px;padding-inline:var(--space-2)}.plan-msg{max-width:40rem;padding-block:var(--space-4) var(--space-8)}.alternatives{margin:0 0 var(--space-8);padding:0;list-style:none}.alternatives li{gap:var(--space-3);padding:var(--space-4) 0;border-top:1px solid var(--border-subtle);display:grid}.alternatives li:last-child{border-bottom:1px solid var(--border-subtle)}.alternatives p{margin:0}@media (width>=768px){.stats{grid-template-columns:repeat(4,1fr)}.session{grid-template-columns:4.5rem 1fr}.alternatives li{grid-template-columns:1fr auto;align-items:center}}@media (width>=1024px){.plan{padding-block:var(--space-8) var(--space-12)}.plan__layout{gap:var(--space-12);grid-template-columns:minmax(0,1fr) 22rem;align-items:start}.plan__aside{top:var(--space-6);grid-area:1/2;position:sticky}.plan__main{grid-area:1/1}.stats{grid-template-columns:repeat(2,1fr)}}@media print{.site-header,.site-footer,.skip-link,.plan__actions,.week-nav button,.chart{display:none!important}.next{border:1px solid var(--border-subtle)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.auth{max-width:28rem;padding-block:var(--space-4) var(--space-12)}.auth h1{font-size:var(--text-h1-size);margin-bottom:var(--space-3)}.auth__intro{color:var(--text-secondary);margin-bottom:var(--space-6)}.auth__links{gap:var(--space-2) var(--space-5);margin-top:var(--space-6);flex-wrap:wrap;font-size:.9375rem;display:flex}.auth form .btn{width:100%}.acct{padding-block:var(--space-4) var(--space-12)}.acct__bar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.acct__bar p{color:var(--text-secondary);margin:0}.acct__bar form{margin:0}.save{margin-top:var(--space-6);padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.save h2{font-size:var(--text-h3-size,1.25rem);margin-bottom:var(--space-2)}.save p{margin:0 0 var(--space-4)}.save .btn+.btn{margin-left:var(--space-2)}.check{gap:var(--space-3);min-height:var(--size-tap-target);cursor:pointer;align-items:flex-start;display:flex}.check input{width:1.5rem;height:1.5rem;accent-color:var(--action-primary);flex:none;margin-top:.125rem}.field--check{margin-block:var(--space-4)}:root{--header-h:68px}html{scroll-padding-top:calc(var(--header-h) + 16px)}body.lock{overflow:hidden}.lead-lg{font-size:var(--text-body-lg-size);max-width:60ch}.lead{font-size:var(--text-body-lg-size);max-width:46ch}.site-header{z-index:50;background:var(--surface-page);border-bottom:1px solid var(--border-subtle);position:sticky;top:0}.bar{align-items:center;gap:var(--space-4);height:var(--header-h);display:flex}.logo{padding:8px 0;display:inline-flex}.logo img{width:auto;height:28px}.bar__spacer{flex:1}.bar .btn{white-space:nowrap}.burger{width:var(--size-tap-target);height:var(--size-tap-target);border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.burger:hover{background:var(--action-secondary-hover)}.burger span,.burger span:before,.burger span:after{background:currentColor;border-radius:2px;width:22px;height:2px;display:block;position:relative}.burger span:before,.burger span:after{content:"";transition:transform var(--motion-base) var(--motion-ease);position:absolute;left:0}.burger span:before{top:-7px}.burger span:after{top:7px}.burger[aria-expanded=true] span{background:0 0}.burger[aria-expanded=true] span:before{transform:translateY(7px)rotate(45deg)}.burger[aria-expanded=true] span:after{transform:translateY(-7px)rotate(-45deg)}.primary{display:none}.menu-open .primary{inset:var(--sheet-top,var(--header-h)) 0 0 0;background:var(--surface-page);padding:var(--space-4) var(--space-5) var(--space-12);display:block;position:fixed;overflow-y:auto}.primary__list>li{border-bottom:1px solid var(--border-subtle)}.primary__btn,.primary__link{width:100%;min-height:56px;font:600 1.125rem/1.2 var(--font-sans);color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0;text-decoration:none;display:flex}.chev{width:12px;height:12px;transition:transform var(--motion-base) var(--motion-ease);border-bottom:2px solid;border-right:2px solid;transform:rotate(45deg)translate(-2px,-2px)}.primary__btn[aria-expanded=true] .chev{transform:rotate(-135deg)translate(-2px,-2px)}.primary a[aria-current=page]{text-decoration:underline;-webkit-text-decoration-color:var(--action-primary);text-decoration-color:var(--action-primary);text-underline-offset:6px;text-decoration-thickness:2px}.mega{padding:0 0 var(--space-5)}.mega[hidden]{display:none}.mega__grid{gap:var(--space-5);display:grid}.mega h2{letter-spacing:0;color:var(--text-secondary);margin:0 0 var(--space-1);padding-inline:var(--space-2);font-size:.875rem;font-weight:600}.mega li a{padding:var(--space-2);border-radius:var(--radius-md);color:var(--text-primary);font-weight:600;line-height:1.3;text-decoration:none;display:block}.mega li a:hover{background:var(--surface-sunken)}.mega li a small{color:var(--text-secondary);margin-top:2px;font-size:.8125rem;font-weight:400;display:block}.mega__feature{background:var(--surface-highlight);border-radius:var(--radius-lg);padding:var(--space-5);display:none}.mega__feature p{margin:0 0 var(--space-3);font-size:.9375rem}.mega__feature strong{letter-spacing:-.02em;margin-bottom:var(--space-1);font-size:1.125rem;line-height:1.25;display:block}.mini{height:46px;margin:0 0 var(--space-3);align-items:flex-end;gap:3px;display:flex}.mini i{height:var(--h);background:var(--chart-build);border-radius:1px;flex:1}.mini i.e{box-shadow:inset 0 0 0 1.5px var(--chart-easier);background:0 0}.mini-scene{aspect-ratio:16/9;border-radius:var(--radius-md);width:100%;margin-bottom:var(--space-3)}@media (width>=1024px){.burger{display:none}.primary,.menu-open .primary{margin-left:var(--space-6);background:0 0;padding:0;display:block;position:static;inset:auto;overflow:visible}.primary__list{gap:var(--space-1);display:flex}.primary__list>li{border:0}.primary__btn,.primary__link{width:auto;min-height:var(--size-tap-target);padding:0 var(--space-4);border-radius:var(--radius-md);gap:var(--space-2);font-size:.9375rem;font-weight:500}.primary__btn:hover,.primary__link:hover,.primary__btn[aria-expanded=true]{background:var(--surface-sunken)}.primary__btn[data-active=true]{box-shadow:inset 0 -3px 0 var(--action-primary)}.mega{background:var(--surface-raised);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-overlay);padding:var(--space-8) 0 var(--space-10);position:absolute;top:100%;left:0;right:0}.mega:not([hidden]){animation:drop var(--motion-base) var(--motion-ease)}.mega__in{width:min(100% - 40px, var(--size-content-max));margin-inline:auto}.mega__grid{gap:var(--space-8);grid-template-columns:repeat(2,1fr) 1.1fr}.mega__feature{display:block}}@keyframes drop{0%{opacity:0;transform:translateY(-6px)}}.foot{margin-top:var(--space-8);padding-block:var(--space-12) var(--space-10);border-top:1px solid var(--border-subtle);color:var(--text-secondary);font-size:.9375rem}.foot__grid{gap:var(--space-8) var(--space-5);margin-bottom:var(--space-10);grid-template-columns:1fr 1fr;display:grid}.foot h2{color:var(--text-primary);letter-spacing:0;margin-bottom:var(--space-2);font-size:.9375rem}.foot li a{color:var(--text-secondary);padding:6px 0;text-decoration:none;display:block}.foot li a:hover{color:var(--text-primary);text-decoration:underline}.foot__brand{grid-column:1/-1}.foot__brand img{width:auto;height:26px;margin-bottom:var(--space-3)}.foot p{max-width:56ch;font-size:.875rem}.foot__legallinks{gap:0 var(--space-6);margin:0 0 var(--space-3);flex-wrap:wrap;padding:0;list-style:none;display:flex}.foot__legallinks a{padding:10px 0}@media (width>=640px){.foot__grid{grid-template-columns:repeat(4,1fr)}.foot__brand{grid-column:1/-1}}@media (width>=900px){.foot__grid{grid-template-columns:1.3fr repeat(4,1fr)}.foot__brand{grid-column:auto}}.shot{border-radius:var(--radius-xl);background:var(--surface-sunken);margin:0;position:relative;overflow:hidden}.shot svg{width:100%;height:100%;position:absolute;inset:0}.shot--hero{aspect-ratio:1}.shot--tile{aspect-ratio:16/10;border-radius:0}.chip{left:var(--space-3);top:var(--space-3);z-index:2;color:var(--color-graphite-900);border-radius:var(--radius-pill);background:#f7f6f3eb;padding:4px 10px;font-size:.75rem;font-weight:600;position:absolute}.hero{gap:var(--space-12);padding-block:var(--space-8) var(--space-16);display:grid}.hero h1{letter-spacing:-.045em;margin-bottom:var(--space-5);text-wrap:balance;font-size:clamp(2.5rem,1.5rem + 3.2vw,3.875rem);line-height:1}.hero h1 span{font-family:var(--font-serif);letter-spacing:-.015em;text-wrap:balance;margin-top:.1em;font-size:.82em;font-style:italic;font-weight:400;line-height:1.05;display:block}.hero .lead{margin-bottom:var(--space-6)}.hero__media{margin-bottom:var(--space-10);position:relative}.phone{z-index:3;left:var(--space-4);bottom:calc(-1 * var(--space-8));border:7px solid var(--color-graphite-900);background:var(--surface-page);width:min(228px,66%);padding:var(--space-4) var(--space-3) var(--space-3);box-shadow:var(--shadow-overlay);border-radius:34px;position:absolute}.phone__top{color:var(--text-secondary);margin-bottom:var(--space-2);justify-content:space-between;font-size:.75rem;display:flex}.phone__card{background:var(--surface-inverse);color:var(--text-inverse);border-radius:var(--radius-lg);padding:var(--space-4)}.phone__card small{color:var(--color-graphite-300);font-size:.75rem}.phone__big{letter-spacing:-.05em;margin:var(--space-1) 0;font-variant-numeric:tabular-nums;font-size:2.5rem;font-weight:700;line-height:1}.phone__big em{letter-spacing:0;color:var(--color-graphite-300);font-size:.45em;font-style:normal;font-weight:600}.phone__row{font-variant-numeric:tabular-nums;color:var(--color-graphite-300);flex-direction:column;gap:1px;margin-top:6px;font-size:.75rem;display:flex}.phone__week{margin-top:var(--space-3);text-align:center;color:var(--text-secondary);grid-template-columns:repeat(7,1fr);gap:3px;font-size:.625rem;display:grid}.phone__week i{background:var(--surface-sunken);height:26px;box-shadow:inset 0 0 0 1px var(--border-subtle);border-radius:4px;margin-top:2px;display:block}.phone__week i.on{background:var(--color-graphite-900);box-shadow:none}.phone__week i.now{background:var(--action-primary);box-shadow:none}.phone__week i.lg{background:var(--color-graphite-900);box-shadow:none;height:34px;margin-top:-6px}.float{z-index:3;right:var(--space-3);top:var(--space-12);background:var(--surface-raised);border-radius:var(--radius-lg);width:min(220px,58%);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-overlay);display:none;position:absolute}.float h2{letter-spacing:0;margin:0 0 var(--space-2);font-size:.8125rem;font-weight:600}.float .mini{height:54px;margin:0 0 6px}.float p{color:var(--text-secondary);margin:0;font-size:.75rem}.strip{gap:var(--space-3);padding-block:var(--space-6);border-block:1px solid var(--border-subtle);margin:0;padding-inline:0;font-size:.9375rem;font-weight:500;list-style:none;display:grid}.strip li{gap:var(--space-3);align-items:center;display:flex}.strip li:before{content:"";background:var(--action-primary);border-radius:50%;flex:none;width:8px;height:8px}.section{padding-block:var(--space-16)}.section--sunken{background:var(--surface-sunken)}.section__head{max-width:46rem;margin-bottom:var(--space-10)}.section__head p{color:var(--text-secondary);font-size:var(--text-body-lg-size)}.races{gap:var(--space-6);display:grid}.race{background:var(--surface-raised);border-radius:var(--radius-xl);box-shadow:inset 0 0 0 1px var(--border-subtle);flex-direction:column;display:flex;overflow:hidden}.race__body{padding:var(--space-6);flex-direction:column;flex:1;display:flex}.race .race__big{letter-spacing:-.045em;margin:0 0 var(--space-1);font-size:2.5rem;font-weight:700;line-height:1}.race .race__mi{color:var(--text-secondary);margin:0 0 var(--space-3);font-size:.9375rem}.race p{font-size:.9375rem}.race__links{border-top:1px solid var(--border-subtle);margin:auto 0 0;padding:0;list-style:none}.race__links a{min-height:44px;color:var(--text-primary);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;font-weight:600;text-decoration:none;display:flex}.race__links a:after{content:"→";color:var(--text-secondary)}.race__links a:hover{color:var(--text-accent)}.race__links li:last-child a{border-bottom:0}.studio{gap:var(--space-5);display:grid}.panel{background:var(--surface-raised);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:inset 0 0 0 1px var(--border-subtle)}.panel h3{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.panel h3 small{color:var(--text-secondary);font-size:.8125rem;font-weight:400}.cal{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal__h{color:var(--text-secondary);text-align:center;padding-bottom:4px;font-size:.75rem;font-weight:600}.cal__wk{color:var(--text-secondary);margin-top:var(--space-2);justify-content:space-between;gap:var(--space-2);font-variant-numeric:tabular-nums;grid-column:1/-1;font-size:.75rem;display:flex}.day{border-radius:var(--radius-md);background:var(--surface-sunken);text-align:left;cursor:pointer;min-height:58px;font:inherit;color:var(--text-primary);font-variant-numeric:tabular-nums;border:0;flex-direction:column;justify-content:space-between;padding:6px;display:flex}.day b{letter-spacing:-.02em;font-size:1rem;line-height:1}.day small{color:var(--text-secondary);font-size:.6875rem;line-height:1.1}.day--rest{box-shadow:inset 0 0 0 1px var(--border-subtle);cursor:default;color:var(--text-secondary);background:0 0}.day--tempo{background:var(--surface-highlight);box-shadow:inset 0 -3px 0 var(--action-primary)}.day--long{background:var(--surface-inverse);color:var(--text-inverse)}.day--long small{color:var(--color-graphite-300)}.day:hover:not(.day--rest){filter:brightness(.97)}.day[aria-pressed=true]{outline:var(--size-focus-width) solid var(--focus-ring);outline-offset:1px}.panel .legend{margin-top:var(--space-4)}.panel .legend span{align-items:center;display:inline-flex}.legend i.t{background:var(--surface-highlight);box-shadow:inset 0 -3px 0 var(--action-primary)}.legend i.l{background:var(--surface-inverse);box-shadow:none}.panel .legend i:not(.t):not(.l){background:var(--surface-sunken);box-shadow:inset 0 0 0 1px var(--border-input)}.detail__date{color:var(--text-secondary);margin:0 0 var(--space-1);font-size:.9375rem}.detail h4{letter-spacing:-.03em;margin-bottom:var(--space-1);font-size:1.5rem}.detail__big{font-size:var(--text-data-lg-size);letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:var(--space-3) 0;font-weight:700;line-height:1}.detail__big small{letter-spacing:0;color:var(--text-secondary);font-size:.4em;font-weight:600}.detail dl{gap:var(--space-2) var(--space-4);margin:0 0 var(--space-4);grid-template-columns:auto 1fr;font-size:.9375rem;display:grid}.detail dt{color:var(--text-secondary)}.detail dd{font-variant-numeric:tabular-nums;margin:0}.detail .why{color:var(--text-secondary);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);margin:0;font-size:.9375rem}.weekline{margin-top:var(--space-5);padding:var(--space-4);background:var(--surface-sunken);border-radius:var(--radius-lg)}.weekline span{font-size:.9375rem;font-weight:600}.weekline p{margin:var(--space-1) 0 var(--space-4);color:var(--text-secondary);font-size:.875rem}.prog{grid-template-columns:repeat(var(--n), minmax(0, 1fr));border-bottom:2px solid var(--chart-build);height:210px;margin:var(--space-6) 0 0;align-items:end;gap:4px;padding:0;list-style:none;display:grid}.prog li{height:var(--h);background:var(--chart-build);border-radius:3px 3px 0 0;position:relative}.prog li.e{box-shadow:inset 0 0 0 2px var(--chart-easier);background:0 0}.prog li.cur{background:var(--chart-current);box-shadow:none}.prog li b{font-variant-numeric:tabular-nums;font-size:.6875rem;font-weight:600;position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%)}.axis{grid-template-columns:repeat(var(--n), minmax(0, 1fr));color:var(--text-secondary);text-align:center;font-variant-numeric:tabular-nums;gap:4px;margin-top:6px;font-size:.6875rem;display:grid}.annot{gap:var(--space-2);margin:var(--space-5) 0 0;padding:0;font-size:.9375rem;list-style:none;display:grid}.annot li{gap:var(--space-3);align-items:baseline;display:flex}.annot b{font-variant-numeric:tabular-nums;min-width:7.5rem}.sample-note{margin:var(--space-4) 0 0;color:var(--text-secondary);font-size:.8125rem}.tools{gap:var(--space-5);display:grid}.tool{background:var(--surface-raised);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:inset 0 0 0 1px var(--border-subtle);gap:var(--space-3);flex-direction:column;display:flex}.tool h3{margin:0}.tool p{color:var(--text-secondary);margin:0;font-size:.9375rem}.tool .link{margin-top:auto}.tool--dark{background:var(--surface-inverse);color:var(--text-inverse);box-shadow:none}.tool--dark p{color:var(--color-graphite-300)}.tool--dark a{color:var(--color-magenta-300)}.tool--hi{background:var(--surface-highlight);box-shadow:none}.tool .tool__figure{letter-spacing:-.03em;color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700}.tool--wide{gap:var(--space-5)}.tool--wide .msg{margin:0}.tool__txt{gap:var(--space-3);flex-direction:column;display:flex}.pair{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.pair div{border-radius:var(--radius-md);padding:var(--space-3);background:#ffffff14}.pair small{color:var(--color-graphite-300);font-size:.75rem;display:block}.pair b{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:1.75rem;line-height:1.1;display:block}.given{gap:var(--space-2);color:var(--color-graphite-300);align-items:baseline;font-size:.9375rem;display:inline-flex}.given b{color:var(--text-inverse);font-variant-numeric:tabular-nums;font-size:1.25rem}.range{justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--border-subtle);font-variant-numeric:tabular-nums;align-items:baseline;display:flex}.range b{font-size:1.0625rem}.steps{gap:var(--space-5);margin:0;padding:0;list-style:none;display:grid}.step{padding-top:var(--space-5);border-top:3px solid var(--border-strong)}.step__n{color:var(--text-accent);margin-bottom:var(--space-3);font-size:.9375rem;font-weight:700;display:block}.step__vis{border-radius:var(--radius-lg);background:var(--surface-raised);height:120px;box-shadow:inset 0 0 0 1px var(--border-subtle);margin-bottom:var(--space-4);padding:var(--space-4);align-items:center;gap:var(--space-2);display:flex}.step p{color:var(--text-secondary);margin:0;font-size:.9375rem}.pill{border-radius:var(--radius-pill);border:1.5px solid var(--border-input);white-space:nowrap;align-items:center;min-height:32px;padding:0 12px;font-size:.8125rem;font-weight:600;display:inline-flex}.pill.on{background:var(--surface-inverse);color:var(--text-inverse);border-color:var(--surface-inverse)}.rules{gap:var(--space-3);margin:var(--space-10) 0 0;padding:var(--space-8) 0 0;border-top:1px solid var(--border-subtle);list-style:none;display:grid}.rules li{padding-left:var(--space-5);font-size:.9375rem;position:relative}.rules li:before{content:"";background:var(--action-primary);border-radius:2px;width:8px;height:8px;position:absolute;top:.6em;left:0;transform:skew(-20deg)}.declined{gap:var(--space-8);align-items:center;display:grid}.ui{background:var(--surface-raised);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:inset 0 0 0 1px var(--border-subtle)}.ui h3{margin-bottom:var(--space-4)}.ui .msg{margin-bottom:var(--space-3)}.ui .msg ul{list-style:outside}.alts{margin:0;padding:0;list-style:none}.alts li{padding:var(--space-3) 0;border-top:1px solid var(--border-subtle);font-size:.9375rem}.res{gap:var(--space-5);display:grid}.card{background:var(--surface-raised);border-radius:var(--radius-xl);box-shadow:inset 0 0 0 1px var(--border-subtle);color:var(--text-primary);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.card:hover h3{text-decoration:underline}.card .shot{aspect-ratio:16/10;border-radius:0}.card__body{padding:var(--space-5)}.card__tag{color:var(--text-accent);margin:0 0 var(--space-2);font-size:.8125rem;font-weight:600}.card h3{margin-bottom:var(--space-2)}.card p{color:var(--text-secondary);margin:0;font-size:.9375rem}.card--feature h3{letter-spacing:-.03em;font-size:1.75rem}.card--small{padding:var(--space-5);justify-content:space-between;gap:var(--space-5)}.card--small .link{color:var(--text-accent)}.hubs{gap:var(--space-2);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.hubs a{min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1.5px var(--border-input);color:var(--text-primary);align-items:center;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.hubs a:hover{background:var(--surface-raised)}.trust{gap:var(--space-8);display:grid}.trust dl{gap:var(--space-5);margin:0;display:grid}.trust dt{font-weight:600}.trust dd{color:var(--text-secondary);margin:2px 0 0}.faq details{border-top:1px solid var(--border-subtle)}.faq details:last-child{border-bottom:1px solid var(--border-subtle)}.faq summary{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:56px;padding-block:var(--space-3);cursor:pointer;font-size:1.0625rem;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--text-secondary);font-size:1.5rem;font-weight:400}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--text-secondary);margin:0 0 var(--space-4)}.cta{background:var(--color-graphite-900);color:var(--color-paper-50);position:relative;overflow:hidden}.cta svg{opacity:.9;width:min(60%,520px);height:auto;position:absolute;top:50%;right:-8%;transform:translateY(-50%)}.cta .container{position:relative}.cta h2{max-width:14ch;font-size:var(--text-h1-size)}.cta p{color:var(--color-graphite-300)}.crumbs{padding-block:var(--space-4) 0;font-size:.875rem}.crumbs ol{gap:0 var(--space-2);color:var(--text-secondary);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";margin-right:var(--space-2);color:var(--border-input)}.crumbs a{color:var(--text-secondary);padding-block:10px;text-decoration:none;display:inline-block}.crumbs a:hover{color:var(--text-primary);text-decoration:underline}.crumbs [aria-current]{color:var(--text-primary);padding-block:10px;display:inline-block}.page-head{padding-block:var(--space-6) var(--space-10);max-width:52rem}.page-head h1{font-size:var(--text-h1-size);letter-spacing:-.04em;margin-bottom:var(--space-4);text-wrap:balance}.page-head .lead{max-width:56ch;color:var(--text-secondary);margin:0}.page-body{padding-bottom:var(--space-16)}.page-body>section+section{margin-top:var(--space-12)}.cols{gap:var(--space-8);display:grid}.checks{margin:0;padding:0;list-style:none}.checks li{padding:var(--space-2) 0 var(--space-2) var(--space-6);position:relative}.checks li:before{content:"";background:var(--action-primary);border-radius:2px;width:10px;height:10px;position:absolute;top:1em;left:0;transform:skew(-20deg)}.prose{max-width:42rem;font-size:1.0625rem;line-height:1.7}.prose h2{margin-top:var(--space-10);margin-bottom:var(--space-3);letter-spacing:-.03em;font-size:1.625rem}.prose h3{margin-top:var(--space-8)}.prose p,.prose ul,.prose ol{max-width:none;margin:0 0 var(--space-4)}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin-bottom:var(--space-2)}.prose strong{font-weight:600}.prose table{border-collapse:collapse;width:100%;margin-bottom:var(--space-4);font-variant-numeric:tabular-nums;font-size:.9375rem}.prose th,.prose td{text-align:left;padding:var(--space-2) var(--space-3) var(--space-2) 0;border-top:1px solid var(--border-subtle);vertical-align:top}.prose blockquote{margin:0 0 var(--space-4);padding-left:var(--space-4);border-left:3px solid var(--action-primary);font-family:var(--font-serif);font-size:1.375rem;font-style:italic;line-height:1.4}.prose code{background:var(--surface-sunken);border-radius:var(--radius-xs);padding:1px 6px;font-size:.9em}.article{gap:var(--space-10);padding-bottom:var(--space-16);display:grid}.article__meta{gap:var(--space-1) var(--space-4);color:var(--text-secondary);margin:0 0 var(--space-6);flex-wrap:wrap;font-size:.9375rem;display:flex}.takeaways{background:var(--surface-highlight);border-radius:var(--radius-lg);padding:var(--space-5);margin:0 0 var(--space-8);max-width:42rem}.takeaways h2{letter-spacing:0;margin-bottom:var(--space-2);font-size:1rem}.takeaways ul{margin:0;padding-left:1.2em}.takeaways li+li{margin-top:var(--space-1)}.basis{border-top:1px solid var(--border-subtle);max-width:42rem;padding-top:var(--space-5);color:var(--text-secondary);font-size:.9375rem}.basis h2{color:var(--text-primary);letter-spacing:0;margin-bottom:var(--space-2);font-size:1rem}.basis p{max-width:none;margin:0 0 var(--space-2)}.callout{max-width:42rem;margin:var(--space-8) 0;padding:var(--space-5);border-radius:var(--radius-lg);background:var(--surface-sunken)}.callout h2{letter-spacing:-.02em;margin-bottom:var(--space-2);font-size:1.125rem}.callout p{margin:0 0 var(--space-3)}.related{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.pager{justify-content:space-between;gap:var(--space-4);margin-top:var(--space-10);display:flex}.articles{gap:var(--space-5);margin:0;padding:0;list-style:none;display:grid}.widget{margin:var(--space-8) 0}.widget h2{font-size:1.375rem}.widget .table-scroll{margin:var(--space-4) 0}.widget .weeks-table td,.widget .weeks-table th{white-space:normal}.goalhero{gap:var(--space-8);display:grid}.sampleweek{border-bottom:1px solid var(--border-subtle);margin:0;padding:0;list-style:none}.sampleweek li{gap:var(--space-1) var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--border-subtle);font-variant-numeric:tabular-nums;grid-template-columns:3rem 1fr;display:grid}.sampleweek b{font-weight:700}.sampleweek .t{font-weight:600}.sampleweek .e{color:var(--text-secondary);font-size:.875rem;display:block}.sampleweek li.rest .t{color:var(--text-secondary);font-weight:500}.toolform{gap:0;max-width:40rem;display:grid}.toolrow{gap:var(--space-5);display:grid}.toolresult{margin-top:var(--space-6);padding:var(--space-6);background:var(--surface-raised);border-radius:var(--radius-xl);box-shadow:inset 0 0 0 1px var(--border-subtle)}.toolresult h3{margin:var(--space-6) 0 var(--space-3)}.toolresult__empty{color:var(--text-secondary);margin:0}.toolresult__note{margin:var(--space-4) 0 0;color:var(--text-secondary);max-width:62ch;font-size:.875rem}.toolresult__speed{margin:var(--space-3) 0 0;color:var(--text-secondary)}.toolresult__cta{gap:var(--space-3);margin:var(--space-6) 0 0;flex-wrap:wrap;max-width:none;display:flex}.toolresult .msg,.toolresult .alternatives{margin-bottom:var(--space-4)}.bigstats{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.bigstats>div{background:var(--surface-sunken);border-radius:var(--radius-lg);padding:var(--space-4)}.bigstats span{color:var(--text-secondary);font-size:.8125rem;display:block}.bigstats b{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:1.75rem;line-height:1.15;display:block}.bigstats small{letter-spacing:0;color:var(--text-secondary);font-size:.5em}.bigstats em{color:var(--text-secondary);font-size:.875rem;font-style:normal}.toollist{gap:var(--space-5);margin:0;padding:0;list-style:none;display:grid}.tiers{gap:var(--space-5);display:grid}.tier{background:var(--surface-raised);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:inset 0 0 0 1px var(--border-subtle);gap:var(--space-4);flex-direction:column;display:flex}.tier--premium{background:var(--surface-inverse);color:var(--text-inverse);box-shadow:none}.tier h2{margin:0;font-size:1.5rem}.tier__status{border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-primary);align-self:flex-start;padding:3px 10px;font-size:.8125rem;font-weight:600;display:inline-block}.tier--premium .tier__status{background:var(--color-magenta-900);color:var(--color-magenta-100)}.tier ul{margin:0}.tier--premium .checks li:before{background:var(--color-magenta-500)}.tier p{margin:0}.tier--premium p{color:var(--color-graphite-300)}@media (width>=640px){.bigstats{grid-template-columns:repeat(4,1fr)}.toolrow{grid-template-columns:1fr 1fr;align-items:start}}@media (width>=768px){.strip{grid-template-columns:repeat(4,auto);justify-content:space-between}.races{grid-template-columns:repeat(3,1fr)}.tools{grid-template-columns:repeat(2,1fr)}.tool--wide{gap:var(--space-10);grid-column:1/-1;grid-template-columns:1fr 1fr;align-items:center;display:grid}.steps{gap:var(--space-8);grid-template-columns:repeat(3,1fr)}.rules{column-gap:var(--space-10);grid-template-columns:repeat(2,1fr)}.res{grid-template-columns:repeat(2,1fr)}.card--feature{grid-column:1/-1}.trust{grid-template-columns:1fr 1.3fr}.cols,.tiers,.articles,.toollist{grid-template-columns:repeat(2,1fr)}.sampleweek li{grid-template-columns:4rem 1fr}.related{grid-template-columns:repeat(3,1fr)}}@media (width>=1024px){.hero{align-items:center;gap:var(--space-16);padding-block:var(--space-12) var(--space-20);grid-template-columns:1fr 1.05fr}.shot--hero{aspect-ratio:5/6}.phone{left:calc(-1 * var(--space-10));bottom:calc(-1 * var(--space-10));width:244px}.float{right:calc(-1 * var(--space-4));width:236px;display:block}.section{padding-block:var(--space-24)}.studio{grid-template-columns:1.45fr 1fr}.studio .wide{grid-column:1/-1}.tools{grid-template-columns:1.15fr 1fr 1fr}.declined{gap:var(--space-16);grid-template-columns:1fr 1fr}.res{grid-template-columns:1.4fr 1fr 1fr}.card--feature{grid-area:span 2}.goalhero{gap:var(--space-16);grid-template-columns:1fr 1fr;align-items:start}.articles{grid-template-columns:repeat(3,1fr)}.toollist{grid-template-columns:repeat(2,1fr)}}@media (width>=640px) and (width<=1023px){.float{display:block}}@media (prefers-reduced-motion:no-preference){.hero>div:first-child{animation:rise .6s var(--motion-ease) both}.hero__media{animation:rise .7s 80ms var(--motion-ease) both}.prog li{animation:grow .6s var(--motion-ease) backwards}.prog li:nth-child(2){animation-delay:40ms}.prog li:nth-child(3){animation-delay:80ms}.prog li:nth-child(4){animation-delay:.12s}.prog li:nth-child(5){animation-delay:.16s}.prog li:nth-child(6){animation-delay:.2s}.prog li:nth-child(7){animation-delay:.24s}.prog li:nth-child(8){animation-delay:.28s}.prog li:nth-child(n+9){animation-delay:.32s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@keyframes grow{0%{height:0}}}.fine{color:var(--text-secondary);margin:var(--space-4) 0 0;font-size:.875rem}.h3{font-size:var(--text-h3-size);line-height:var(--text-h3-line);letter-spacing:var(--text-h3-tracking);font-weight:600}.primary__list,.mega ul,.foot ul,.alts,.related,.articles{margin:0;padding:0;list-style:none}.toolform .choice-grid--compact{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr))}.toolform .choice-grid--compact .choice__label{white-space:normal;text-align:center}.article>*{min-width:0}
