@charset "UTF-8";
@font-face{font-family:Inter;src:url('/assets/InterVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{color-scheme:dark;--bg:#000;--surface:oklch(14% .021 258);--surface-2:oklch(21% .036 258);--input:oklch(10% .012 258);--ink:#fff;--logo:#fff;--muted:oklch(81% .025 255);--faint:oklch(71% .025 255);--line:oklch(30% .034 258);--purple:oklch(78% .131 300);--orange:oklch(79% .132 48);--blue:oklch(80% .13 225);--green:oklch(83% .20 145);--accent:var(--purple);--error:oklch(83% .1 20);--ease:cubic-bezier(.2,.75,.3,1);font-family:Inter,Arial,Helvetica,sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--ink);scroll-behavior:smooth;scroll-padding-top:24px}
:root[data-theme=light]{color-scheme:light;--bg:#ffffff;--surface:#fff;--surface-2:oklch(96% .024 253);--input:#fff;--ink:oklch(20% .02 265);--logo:#000;--muted:oklch(41% .035 255);--faint:oklch(48% .037 255);--line:oklch(87% .025 253);--purple:oklch(47% .23 300);--orange:oklch(48% .144 42);--blue:oklch(46% .097 235);--green:oklch(43% .135 145);--error:oklch(43% .17 20)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2;text-wrap:balance;font-weight:600}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.wrap{width:min(1120px,calc(100% - 80px));margin-inline:auto}.purple{--accent:var(--purple)}.orange{--accent:var(--orange)}.blue{--accent:var(--blue)}.green{--accent:var(--green)}.eyebrow{font-size:12px;letter-spacing:1px;line-height:1.6;color:var(--muted);font-weight:500}.site-header{display:flex;align-items:center;gap:32px;height:88px}.brand{display:flex;align-items:center;font-weight:750;font-size:22px;letter-spacing:-.7px;color:var(--logo);line-height:1}.shelf-logo{width:27px;height:29px;margin-right:10px;stroke-width:1.8;transform:rotate(-4deg)}.site-header>nav{margin-left:auto;display:flex;gap:26px;font-size:14px;color:var(--muted)}@media (hover: hover) and (pointer: fine){.site-header nav a:hover{color:var(--ink)}}.theme-toggle{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:11px;padding:10px 13px;min-height:44px;background:var(--surface);color:var(--ink);font-size:13px}.theme-toggle .sun{display:flex}.theme-toggle .moon{display:none}[data-theme=light] .theme-toggle .moon{display:flex}[data-theme=light] .theme-toggle .sun{display:none}.theme-toggle svg{width:16px;height:16px}.skip-link{position:fixed;left:16px;top:-100px;background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:10px;z-index:20}.skip-link:focus{top:12px}.live-dot{width:5px;height:5px;border-radius:50%;background:var(--green);display:inline-block;flex:none}.hero{padding-top:28px;padding-bottom:58px;text-align:center}.hero-note{display:flex;justify-content:center;gap:8px;align-items:center;color:var(--muted);font-size:13px}.hero-art-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1000px;margin:26px auto 34px;scroll-margin-top:18px}.hero-tool{min-width:0;padding:18px 8px 20px;border:1px solid transparent;border-radius:24px;transition:background .25s,border-color .25s,transform .35s var(--ease);animation:arrive .55s var(--ease) both}.hero-tool-1{animation-delay:70ms}.hero-tool-2{animation-delay:140ms}.hero-tool-3{animation-delay:210ms}.hero-art{display:flex;align-items:center;justify-content:center;height:205px}.hero-tool img{width:min(100%,210px);height:auto;display:block;transition:transform .4s var(--ease)}.hero-tool-1 img{animation-delay:-1.2s}.hero-tool-2 img{animation-delay:-2.8s}.hero-tool-3 img{animation-delay:-4.2s}.hero-tool:focus-visible{background:color-mix(in oklch,var(--accent) 7%,var(--bg));border-color:color-mix(in oklch,var(--accent) 28%,var(--line));}@media (hover: hover) and (pointer: fine){.hero-tool:hover{background:color-mix(in oklch,var(--accent) 7%,var(--bg));border-color:color-mix(in oklch,var(--accent) 28%,var(--line));}}.hero-tool-label{display:flex;justify-content:center;align-items:center;gap:10px;font-size:18px;font-weight:600;line-height:1.4;letter-spacing:-.3px;margin-top:9px}.hero-tool-label>span{font-size:16px;color:var(--accent);transition:transform .25s}.hero-tool-description{display:block;font-size:13px;line-height:1.6;color:var(--muted);margin:7px auto 0;max-width:185px}.hero-quote{margin:22px auto 0;max-width:860px;padding-top:25px}.hero-quote blockquote{margin:0}.hero-quote h1{font-size:clamp(28px,3.1vw,40px);font-weight:500;line-height:1.25;letter-spacing:-1px;color:var(--logo);margin:0}.hero-quote figcaption{font-size:12px;color:var(--muted);margin-top:13px}.hero-quote cite{font-style:normal}.hero-quote a{border-bottom:1px solid var(--line)}@media (hover: hover) and (pointer: fine){.hero-quote a:hover{border-color:var(--ink)}}.home-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;border-top:1px solid var(--line);padding-top:36px;padding-bottom:64px}.principle-icon{color:var(--purple);font-size:25px;display:block;margin-bottom:14px}.home-principles h2{font-size:18px;letter-spacing:-.35px;margin-bottom:10px}.home-principles p{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:12px}.text-link{display:inline-flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);font-size:14px;padding:4px 0}.text-link svg{width:16px;height:16px}@media (hover: hover) and (pointer: fine){.text-link:hover{border-color:var(--ink)}}.saved-shelf{display:flex;align-items:center;gap:22px;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:20px 23px;margin-top:12px;margin-bottom:15px}.saved-shelf p{margin:3px 0 0;font-size:14px}.saved-shelf nav{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.saved-shelf nav a{font-size:13px;border:1px solid var(--line);background:var(--surface-2);border-radius:9px;padding:8px 12px}.saved-shelf .button{font-size:12px;min-height:36px;padding-inline:0}.footer-brand{font-size:21px;font-weight:750;letter-spacing:-.6px;color:var(--logo)}.site-footer nav{display:flex;gap:23px;margin-left:auto;font-size:13px}@media (hover: hover) and (pointer: fine){.site-footer nav a:hover{color:var(--ink)}}
/* Coherent, directly useful tool selection. */
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:26px}.section-heading h2{font-size:28px;letter-spacing:-.7px;margin:0}.section-heading>p{font-size:14px;color:var(--muted);line-height:1.8;margin:0}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tool-card{display:block;padding:25px;border:1px solid var(--line);background:var(--surface);border-radius:16px;transition:transform .3s var(--ease),border-color .25s,background .25s;min-width:0}@media (hover: hover) and (pointer: fine){.tool-card:hover{border-color:var(--accent);background:color-mix(in oklch,var(--accent) 4%,var(--surface))}}.card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.card-top .eyebrow{color:var(--accent)}.round-arrow{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--line);border-radius:9px}.round-arrow svg{width:16px;height:16px;transform:rotate(-40deg)}.card-art{display:flex;align-items:center;justify-content:center;height:170px}.card-art img{width:156px;height:156px;transform:rotate(-5deg);transition:transform .3s var(--ease)}.tool-card h3{font-size:23px;line-height:1.3;letter-spacing:-.5px;margin:9px 0}.tool-card p{font-size:14px;line-height:1.75;color:var(--muted);margin:0}.fitness-hub-intro{padding-top:45px;padding-bottom:35px}.fitness-hub-intro h1{font-size:44px;letter-spacing:-1.3px;line-height:1.12;margin:18px 0}.fitness-hub-intro p{max-width:560px;color:var(--muted);font-size:16px;line-height:1.8}.hub-tools{padding-bottom:50px}.hub-reading{padding:0 0 65px}.hub-reading h2{font-size:28px;letter-spacing:-.6px}.hub-reading p{font-size:14px;color:var(--muted)}.hub-reading .text-link{display:flex;width:max-content;max-width:100%;margin-top:12px}
/* Calculator: the task comes before explanation. */
.calculator-page{max-width:1060px}.tool-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;font-size:13px;color:var(--muted)}.back-link{padding:5px 0}@media (hover: hover) and (pointer: fine){.back-link:hover{color:var(--ink)}}.tool-switcher{position:relative}.tool-switcher>summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;padding:7px 0}.tool-switcher>summary::-webkit-details-marker{display:none}.quick-tools{display:flex;position:absolute;right:0;top:100%;z-index:5;width:220px;flex-direction:column;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 12px 35px #0002}.quick-tools a{font-size:13px;line-height:1.5;padding:10px 12px;border-radius:7px}@media (hover: hover) and (pointer: fine){.quick-tools a:hover{background:var(--surface-2);color:var(--ink)}}.quick-tools a[aria-current=page]{color:var(--accent);background:color-mix(in oklch,var(--accent) 8%,var(--surface))}.tool-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0 27px}.tool-intro>div{min-width:0}.tool-intro .eyebrow{font-size:11px;color:var(--accent);letter-spacing:1.2px;margin:0 0 8px}.tool-intro h1{font-size:36px;line-height:1.15;letter-spacing:-1px;margin:0 0 10px}.tool-intro>div>p:last-child{font-size:15px;line-height:1.6;color:var(--muted);margin:0}.save-tool{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;flex:none;font-size:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);padding:9px 12px;transition:background .2s,border-color .2s,transform .2s}@media (hover: hover) and (pointer: fine){.save-tool:hover{color:var(--ink);border-color:var(--accent)}}.save-tool[aria-pressed=true]{color:var(--accent);background:color-mix(in oklch,var(--accent) 8%,var(--surface));border-color:var(--accent);}.pin-note{font-size:12px;color:var(--muted);margin:-12px 0 20px}.calculator-shell{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface)}.calculator-form{padding:28px;min-width:0}.form-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:14px}.form-heading h2{font-size:18px;font-weight:600;letter-spacing:-.35px;margin:0}.unit-switch{display:flex;gap:2px;border:1px solid var(--line);border-radius:9px;padding:3px;background:var(--input)}.unit-switch button{border:0;background:transparent;color:var(--muted);border-radius:6px;min-height:32px;padding:5px 10px;font-size:12px}.unit-switch button[aria-pressed=true]{background:var(--surface-2);color:var(--ink);box-shadow:0 1px 4px #0001}@media (hover: hover) and (pointer: fine){.unit-switch button:hover{color:var(--ink)}}.example-note{font-size:12px;color:var(--faint);margin:0 0 20px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.field{margin-bottom:18px;min-width:0}.field>label{display:block;font-size:13px;font-weight:500;margin-bottom:7px;color:var(--muted)}.input-shell{display:flex;align-items:center;min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--input);transition:border-color .2s,box-shadow .2s}.input-shell:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 12%,transparent)}.input-shell input{width:100%;min-width:0;height:48px;padding:11px 12px;font-size:16px;font-variant-numeric:tabular-nums;border:0;background:transparent;color:var(--ink);appearance:textfield;-moz-appearance:textfield}.input-shell input::-webkit-inner-spin-button,.input-shell input::-webkit-outer-spin-button{-webkit-appearance:none}.input-shell input:focus{outline:0}.input-suffix{color:var(--faint);font-size:12px;padding:0 12px 0 4px;white-space:nowrap;pointer-events:none}select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:10px;background:var(--input);color:var(--ink);font-size:14px;padding:10px 30px 10px 12px;line-height:1.5}.height-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.height-pair .input-shell input{padding-inline:9px}.height-pair .input-suffix{padding-right:8px}.field-note,.hint{font-size:12px;color:var(--muted);line-height:1.75}.field-note{margin:0 0 20px}.hint{margin:6px 0 0;color:var(--faint)}.form-actions{display:flex;align-items:center;gap:10px;margin-top:20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:1px solid transparent;border-radius:10px;padding:11px 16px;min-height:44px;font-size:13px;line-height:1.5;font-weight:600;transition:background .2s,transform .2s var(--ease),box-shadow .2s}.button:active:not(:disabled){transform:translateY(1px) scale(.98)}.button.primary{background:var(--accent);color:#101219;box-shadow:0 3px 0 #00000010}@media (hover: hover) and (pointer: fine){.button.primary:hover{filter:brightness(1.08);box-shadow:0 4px 18px color-mix(in oklch,var(--accent) 15%,transparent)}}[data-theme=light] .button.primary{color:#fff}.button.primary svg{width:16px;height:16px}.button.quiet{background:transparent;color:var(--muted);padding-inline:8px}@media (hover: hover) and (pointer: fine){.button.quiet:hover{color:var(--ink)}}.button.secondary{background:var(--surface);border-color:var(--line);color:var(--ink);font-size:12px;min-height:38px;padding:8px 12px}@media (hover: hover) and (pointer: fine){.button.secondary:hover{background:var(--surface-2);border-color:var(--accent)}}.local-note{display:flex;align-items:center;gap:7px;color:var(--faint);font-size:11px;margin:20px 0 0;line-height:1.6}.form-error{color:var(--error);font-size:13px;line-height:1.7;border:1px solid var(--error);border-radius:9px;padding:10px 12px;margin:18px 0 0}.result-panel{border-left:1px solid var(--line);background:color-mix(in oklch,var(--accent) 20%,var(--bg));padding:28px;display:flex;flex-direction:column;min-width:0;position:relative}.result-placeholder{margin:auto;text-align:center;padding:15px 8px 25px;max-width:330px}.result-mascot{width:142px;height:142px;display:block;margin:0 auto 15px;transform:rotate(5deg)}.result-placeholder h2{font-size:24px;font-weight:500;line-height:1.2;letter-spacing:-.6px;margin:0 0 13px}.result-placeholder p{font-size:14px;line-height:1.75;color:var(--muted);margin:0}.result-ready{display:block;margin-top:20px;font-size:12px;color:var(--faint)}#result-content{animation:arrive .18s var(--ease) both}.result-heading{font-size:11px;color:var(--accent);font-weight:600;line-height:1.6;letter-spacing:1px;margin:0 0 16px}.result-heading:focus{outline:0}.result-number{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;row-gap:6px;font-size:48px;line-height:1.1;letter-spacing:-1.5px;font-variant-numeric:tabular-nums;font-weight:550;margin:0 0 14px}.result-number small{font-size:13px;color:var(--muted);letter-spacing:0}.result-explanation{font-size:14px;color:var(--muted);line-height:1.8;margin:0 0 22px}.result-metrics{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid var(--line);padding-top:18px;margin-bottom:20px}.result-metrics>div>span{font-size:12px;color:var(--muted);display:block;margin-bottom:5px}.result-metrics strong{font-size:23px;font-weight:500;letter-spacing:-.4px;font-variant-numeric:tabular-nums}.result-metrics strong small{font-size:11px;color:var(--muted)}.result-note{font-size:12px;color:var(--muted);line-height:1.75;margin:0 0 15px}.result-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:22px}.result-status{font-size:12px;color:var(--muted);line-height:1.7;margin:13px 0 0}.result-status:empty{display:none}.result-visual{margin:19px 0}.result-visual svg{display:block;width:100%;max-width:440px;margin-inline:auto;height:auto;stroke:none;overflow:visible}.result-visual figcaption{font-size:11px;line-height:1.75;color:var(--muted);margin-top:6px}.chart-label,.chart-value{font-family:Inter,Arial,sans-serif;font-size:14px;fill:var(--muted)}.chart-value{fill:var(--ink);font-variant-numeric:tabular-nums}.chart-track{fill:color-mix(in oklch,var(--accent) 10%,var(--surface))}.chart-bar{fill:var(--accent);opacity:.45;transform-box:fill-box;transform-origin:left center;animation:grow-bar .22s var(--ease) both}.chart-bar.selected{opacity:1}.chart-pointer{stroke:var(--ink);stroke-width:2}.chart-pointer-dot{fill:var(--accent);stroke:var(--surface);stroke-width:2}.chart-timeline{stroke:var(--accent);stroke-width:2;opacity:.5}.result-table-wrap{overflow:auto;max-height:310px;border:1px solid var(--line);border-radius:10px;margin-top:15px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.result-table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.result-table caption{text-align:left;font-size:12px;padding:12px;color:var(--muted)}.result-table th{text-align:left;font-size:11px;font-weight:500;color:var(--muted);position:sticky;top:0;background:var(--surface-2)}.result-table td,.result-table th{padding:11px 12px;border-bottom:1px solid var(--line)}.result-table td:not(:first-child),.result-table th:not(:first-child){text-align:right}.result-table tr:last-child td{border:0}@media (hover: hover) and (pointer: fine){.result-table tbody tr:hover{background:color-mix(in oklch,var(--accent) 5%,var(--surface))}}.data-details{border-top:1px solid var(--line);padding-top:14px;margin-top:18px}.data-details summary{font-size:12px;color:var(--muted);cursor:pointer}.data-details .result-table-wrap{margin-top:12px}.race-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.race-presets button{border:1px solid var(--line);border-radius:9px;min-height:36px;background:var(--surface);color:var(--muted);font-size:12px;padding:7px 12px;transition:color .2s,border-color .2s,background .2s}.race-presets button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:color-mix(in oklch,var(--accent) 8%,var(--surface))}.bmi-category{display:inline-flex;border:1px solid var(--accent);border-radius:8px;color:var(--accent);font-size:13px;padding:5px 10px;margin-bottom:18px}.health-note{font-size:11px;line-height:1.7;color:var(--faint);margin:13px 0 0}.page-jump{display:flex;gap:25px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:28px 0 16px;font-size:12px;color:var(--muted)}@media (hover: hover) and (pointer: fine){.page-jump a:hover{color:var(--accent)}}
/* Depth is available, not in the way. */
.good-habits{padding:36px 0 40px;scroll-margin-top:24px}.good-habits .section-heading{margin-bottom:24px}.good-habits h2{font-size:26px;letter-spacing:-.5px}.habit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.habit-grid article{border-top:2px solid color-mix(in oklch,var(--accent) 30%,var(--line));padding-top:17px}.habit-number{font-size:12px;color:var(--accent);font-variant-numeric:tabular-nums}.habit-grid h3{font-size:16px;line-height:1.4;letter-spacing:-.2px;margin:11px 0 9px}.habit-grid p{font-size:13px;line-height:1.85;color:var(--muted);margin:0}.method-details{border-block:1px solid var(--line);scroll-margin-top:20px}.method-details>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;padding:25px 0;list-style:none}.method-details>summary::-webkit-details-marker{display:none}.method-details h2{font-size:24px;line-height:1.3;letter-spacing:-.5px;margin:5px 0 0}.method-details .eyebrow{font-size:10px}.disclosure-plus{font-size:27px;color:var(--accent);transition:transform .25s}.method-details[open] .disclosure-plus{transform:rotate(45deg)}.method-body{padding:14px 0 35px}.method-guide{display:grid;grid-template-columns:1fr 1fr;gap:64px}.guide-intro h2{font-size:28px;letter-spacing:-.7px;line-height:1.2;margin:0 0 20px}.guide-intro>p{font-size:14px;color:var(--muted);line-height:1.85}.guide-section{margin-bottom:24px}.guide-section h3,.sources h3{font-size:16px;line-height:1.4;margin:0 0 10px}.guide-section p{font-size:14px;line-height:1.85;color:var(--muted);margin:0}.sources{border-top:1px solid var(--line);padding-top:22px;margin-top:25px}.sources ul{list-style:none;padding:0;margin:0}.sources li{margin-bottom:9px}.sources a{font-size:12px;line-height:1.7;color:var(--muted);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}@media (hover: hover) and (pointer: fine){.sources a:hover{color:var(--ink)}}.sources>p{font-size:11px;color:var(--faint);line-height:1.7;margin-top:16px}.resource-section{padding-top:25px}.resource-section>h2{font-size:23px;letter-spacing:-.4px}.resource-disclosure{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:22px}.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.resource-card{border:1px solid var(--line);border-radius:12px;padding:22px;display:flex;flex-direction:column;background:var(--surface);transition:border-color .2s,background .2s}@media (hover: hover) and (pointer: fine){.resource-card:hover{border-color:var(--accent);background:color-mix(in oklch,var(--accent) 4%,var(--surface))}}.resource-card .eyebrow{font-size:10px;color:var(--accent)}.resource-card h3{font-size:17px;line-height:1.4;margin:10px 0 12px;letter-spacing:-.3px}.resource-card p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:16px}.resource-publisher{font-size:11px;color:var(--faint);border-top:1px solid var(--line);padding-top:12px;margin-top:auto}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:55px;padding:35px 0 40px;scroll-margin-top:20px}.faq>h2{font-size:25px;letter-spacing:-.5px}.faq details{padding:16px 0;border-bottom:1px solid var(--line)}.faq details:first-child{padding-top:0}.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;font-size:14px;font-weight:500;line-height:1.6}.faq summary::-webkit-details-marker{display:none}.faq summary>span{font-size:22px;color:var(--accent);transition:transform .25s}.faq details[open] summary>span{transform:rotate(45deg)}.faq details p{font-size:13px;color:var(--muted);line-height:1.85;margin:13px 0 0}.related{padding:10px 0 64px}.related .section-heading h2{font-size:25px;letter-spacing:-.5px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.related-grid .tool-card{display:grid;grid-template-columns:1fr 60px;column-gap:12px;padding:20px}.related-grid .card-top{grid-column:1}.related-grid .card-top .eyebrow{font-size:10px;letter-spacing:.5px}.related-grid .round-arrow{display:none}.related-grid .card-art{grid-column:2;grid-row:1/span 3;height:70px;align-self:center}.related-grid .card-art img{width:66px;height:66px}.related-grid .tool-card h3{font-size:17px;letter-spacing:-.3px;margin:8px 0 6px;grid-column:1}.related-grid .tool-card p{font-size:12px;line-height:1.7;grid-column:1}
.plate-planner{margin-top:25px;border:1px solid var(--line);border-radius:12px;padding:0 24px;background:var(--surface)}.plate-planner>summary{padding:20px 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:17px;list-style:none}.plate-planner>summary::-webkit-details-marker{display:none}.plate-planner>summary span{font-size:24px;color:var(--accent)}.plate-planner[open]>summary span{transform:rotate(45deg)}.plate-planner-content{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:5px 0 25px}.plate-planner p{font-size:13px;line-height:1.8;color:var(--muted)}.plate-total{font-size:30px!important;letter-spacing:-.6px;color:var(--ink)!important;margin:0 0 14px}.plate-total span{font-size:13px;color:var(--muted);letter-spacing:0}.plate-pairs{display:flex;gap:8px;flex-wrap:wrap}.plate-pairs>span{display:flex;align-items:center;justify-content:center;border:2px solid var(--accent);background:color-mix(in oklch,var(--accent) 6%,var(--surface));color:var(--accent);font-size:12px;border-radius:8px;min-height:55px;padding:10px}.small{font-size:12px!important}.prose-page{max-width:740px;padding:55px 0 75px}.prose-page>h1{font-size:44px;letter-spacing:-1.2px;line-height:1.12;margin:20px 0 25px}.prose-lede{font-size:18px;line-height:1.75;color:var(--muted);margin-bottom:45px}.prose-page section{margin-bottom:28px}.prose-page h2{font-size:21px;letter-spacing:-.3px;margin-bottom:12px}.prose-page section p{font-size:15px;line-height:1.9;color:var(--muted)}.prose-page section a{text-decoration:underline;text-underline-offset:4px}.prose-page>.text-link{margin-top:15px}
@keyframes arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes bob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-5px) rotate(2deg)}}@keyframes grow-bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pin-pop{50%{transform:scale(1.04)}}

@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.hero-art{height:160px}.hero-tool img{max-width:170px}.hero-tool-label{font-size:16px}.hero-tool-description{font-size:12px}.hero-art-row{gap:4px}.related-grid .tool-card{padding:16px;grid-template-columns:1fr 45px}.related-grid .card-art img{width:50px;height:50px}.related-grid .tool-card h3{font-size:16px}.method-guide{gap:40px}.calculator-form,.result-panel{padding:25px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{height:76px;gap:18px}.brand{font-size:21px}.site-header>nav{font-size:13px}.site-header .nav-about{display:none}.theme-toggle{min-width:44px;padding:10px}.theme-toggle #theme-label{display:none}.hero{padding-top:20px;padding-bottom:38px}.hero-art-row{grid-template-columns:repeat(2,1fr);gap:7px 12px;max-width:520px;margin-top:16px;margin-bottom:12px}.hero-art{height:150px}.hero-tool{padding:12px 7px 16px;border-radius:18px}.hero-tool img{width:154px}.hero-tool-label{font-size:17px;margin-top:3px}.hero-tool-description{font-size:12px;max-width:180px}.hero-quote{padding-top:16px;margin-top:16px}.hero-quote h1{font-size:29px;letter-spacing:-.65px;line-height:1.25}.hero-quote figcaption{font-size:12px;max-width:320px;margin:11px auto 0}.hero-note{font-size:12px}.home-principles{grid-template-columns:1fr;gap:24px;padding-top:28px;padding-bottom:40px}.home-principles>div{display:grid;grid-template-columns:35px 1fr;gap:0 12px}.principle-icon{grid-row:span 3;font-size:25px;margin:0}.home-principles h2{font-size:17px;margin:0 0 7px}.home-principles p{font-size:13px;margin:0}.home-principles .text-link{width:max-content;font-size:12px;margin-top:8px}.saved-shelf{flex-wrap:wrap;gap:12px;padding:18px}.saved-shelf nav{margin-left:0}.saved-shelf .button{margin-left:auto}.site-footer{flex-wrap:wrap;gap:15px 20px;padding:24px 0;min-height:130px}.footer-caption{font-size:11px;flex:1}.site-footer nav{margin-left:0;font-size:12px;gap:22px}.footer-year{margin-left:auto;font-size:11px}.tool-topline{padding-top:7px;font-size:12px}.tool-intro{padding:14px 0 20px;gap:12px;align-items:flex-start}.tool-intro .eyebrow{font-size:10px;margin-bottom:6px}.tool-intro h1{font-size:28px;letter-spacing:-.65px;line-height:1.15;margin-bottom:8px}.tool-intro>div>p:last-child{font-size:13px;line-height:1.7;max-width:360px}.save-tool{font-size:11px;padding:8px 10px;min-height:36px;margin-top:19px}.pin-note{margin-top:-5px;font-size:11px}.calculator-shell{grid-template-columns:1fr;border-radius:15px}.calculator-form{padding:23px}.form-heading{margin-bottom:12px}.form-heading h2{font-size:18px}.unit-switch button{min-height:32px}.example-note{font-size:11px;margin-bottom:18px}.field-grid{gap:0 14px}.field{margin-bottom:16px}.field>label{font-size:13px}.input-shell input,select{font-size:16px}.result-panel{border-left:0;border-top:1px solid var(--line);padding:25px 23px;min-height:285px;scroll-margin-top:16px}.result-placeholder{padding:4px 8px 12px}.result-mascot{width:100px;height:100px;margin-bottom:10px}.result-placeholder h2{font-size:23px}.result-placeholder p{font-size:13px}.result-ready{font-size:11px;margin-top:14px}.result-number{font-size:42px;letter-spacing:-1.1px}.result-explanation{font-size:13px}.result-metrics strong{font-size:23px}.result-table{font-size:13px}.result-table td,.result-table th{padding:11px}.chart-label,.chart-value{font-size:18px}.page-jump{gap:19px;padding-top:23px;font-size:12px}.good-habits{padding:28px 0 30px}.good-habits h2{font-size:24px}.habit-grid{grid-template-columns:1fr;gap:20px}.habit-grid article{display:grid;grid-template-columns:28px 1fr;gap:0 10px;padding-top:15px}.habit-number{grid-row:span 2;padding-top:1px}.habit-grid h3{font-size:16px;margin:0 0 7px}.habit-grid p{font-size:13px}.method-details>summary{padding:22px 0}.method-details h2{font-size:22px}.method-guide{grid-template-columns:1fr;gap:24px}.guide-intro h2{font-size:25px}.guide-intro>p,.guide-section p{font-size:14px}.resource-grid{grid-template-columns:1fr}.resource-card{padding:20px}.resource-card h3{font-size:17px}.faq{grid-template-columns:1fr;gap:13px;padding-top:28px;padding-bottom:30px}.faq>h2{font-size:24px;margin-bottom:8px}.faq details{padding-block:15px}.related{padding-bottom:45px}.related .section-heading h2{font-size:23px}.related-grid{grid-template-columns:1fr;gap:10px}.related-grid .tool-card{padding:17px 20px;grid-template-columns:1fr 65px}.related-grid .tool-card h3{font-size:18px}.related-grid .card-art img{width:65px;height:65px}.related-grid .tool-card p{font-size:12px}.plate-planner{padding-inline:21px}.plate-planner-content{grid-template-columns:1fr;gap:12px}.plate-planner>summary{font-size:16px}.fitness-hub-intro{padding-top:30px;padding-bottom:20px}.fitness-hub-intro h1,.prose-page>h1{font-size:36px;letter-spacing:-.8px}.fitness-hub-intro p{font-size:14px}.tool-card h3{font-size:21px}.card-art{height:140px}.card-art img{width:130px;height:130px}.tool-card p{font-size:13px}.card-top .eyebrow{font-size:10px}.prose-page{padding-top:35px;padding-bottom:50px}.prose-page section p{font-size:14px}.prose-lede{font-size:17px}}
@media(max-width:430px){.wrap{width:calc(100% - 32px)}.site-header{gap:13px}.brand{font-size:20px}.shelf-logo{width:23px;margin-right:8px}.site-header>nav{font-size:12px}.hero-art-row{gap:3px 6px}.hero-art{height:127px}.hero-tool img{width:133px}.hero-tool-label{font-size:16px;gap:6px}.hero-tool-description{font-size:12px;max-width:150px}.hero-quote h1{font-size:27px}.hero-note{font-size:11px}.tool-intro h1{font-size:26px}.save-tool{font-size:0;width:35px;height:35px;min-height:35px;padding:0}.save-tool:before{content:'☆';font-size:21px}.save-tool[aria-pressed=true]:before{content:'★'}.calculator-form,.result-panel{padding:21px 19px}.tool-grid{grid-template-columns:1fr}.card-art{height:160px}.card-art img{width:145px;height:145px}.card-top .eyebrow{font-size:12px}.result-number{font-size:38px}.hero-quote figcaption{max-width:295px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}::view-transition-old(root),::view-transition-new(root){animation:none}}
@media print{:root,:root[data-theme=dark],:root[data-theme=light]{color-scheme:light;--bg:#ffffff;--surface:#fff;--surface-2:#eee;--ink:#000;--logo:#000;--muted:#444;--faint:#555;--line:#ccc;--accent:#333}.site-header,.site-footer,.tool-topline,.save-tool,.pin-note,.calculator-form,.page-jump,.good-habits,.method-details,.faq,.related,.result-actions,.health-note,.skip-link,.plate-planner{display:none!important}.wrap{width:100%;max-width:none}.tool-intro{padding:0 0 20px}.tool-intro h1{font-size:28px}.calculator-shell{display:block;border:0}.result-panel{border:0;background:#fff;padding:0}.result-table-wrap{max-height:none;overflow:visible}.result-table th{position:static}.result-table tr,.result-visual{break-inside:avoid}.result-number{font-size:36px}.result-status{display:none}}

:root[data-theme=light] .result-panel{background:color-mix(in oklch,var(--accent) 6%,#ffffff)}
/* Treadmill reference: an immediately available chart with optional conversion. */
.extra-tool-link{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin:18px 0 0}.extra-tool-link a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.treadmill-chart{padding:38px 0}.chart-heading{display:flex;justify-content:space-between;align-items:end;gap:24px}.chart-heading h2{font-size:28px;letter-spacing:-.6px;margin:8px 0}.chart-heading p{font-size:13px;line-height:1.7;color:var(--muted)}.chart-heading .field{flex:0 0 210px;margin:0}.chart-actions{display:flex;gap:10px;margin:16px 0 8px}.treadmill-table{max-height:440px}.treadmill-table:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.result-table tbody th{position:static;font-size:13px;color:var(--ink);background:transparent}.current-speed{background:color-mix(in oklch,var(--accent) 14%,var(--surface));outline:1px solid var(--accent);outline-offset:-1px}.race-times{font-size:13px;font-variant-numeric:tabular-nums}.race-times>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line)}.race-times dd{margin:0}.treadmill-page .method-body{font-size:14px;line-height:1.8;color:var(--muted)}.treadmill-page .method-body h3{color:var(--ink);font-size:17px;margin-top:24px}.treadmill-page .method-body a,.habit-grid a{text-decoration:underline;text-underline-offset:3px}@media(max-width:760px){.extra-tool-link{gap:5px 12px;font-size:12px;margin-top:8px}.chart-heading{align-items:stretch;flex-direction:column;gap:14px}.chart-heading .field{flex:auto;max-width:280px}.chart-heading h2{font-size:24px}.treadmill-chart{padding-top:28px}.treadmill-table .result-table td,.treadmill-table .result-table th{padding:11px 9px}}
@media print{.treadmill-page .chart-actions,.treadmill-page .chart-heading .field,.treadmill-page #chart-status,.extra-tool-link,.treadmill-page .method-details{display:none!important}.treadmill-page .treadmill-table{max-height:none;overflow:visible}.treadmill-page .treadmill-chart{padding-top:25px}.treadmill-page .result-panel:has(#tm-result[hidden]){display:none}.treadmill-page .chart-heading p{color:#444}.treadmill-page .current-speed{outline:1px solid #333}}
.pace-crosslink{justify-content:flex-start;margin:14px 0 0}.pace-crosslink a{color:var(--accent)}#tm-result{scroll-margin-top:18px}#chart-title{scroll-margin-top:20px}
/* A larger collection, grouped by job instead of a wall of illustrations. */
.hub-group{margin-bottom:42px}.hub-group>h2{font-size:23px;letter-spacing:-.45px;margin:0 0 14px}.hub-group .tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hub-group .tool-card{position:relative;min-height:120px;padding:17px 85px 17px 16px}.hub-group .card-top{min-height:17px}.hub-group .card-top .eyebrow{font-size:10px}.hub-group .card-top .round-arrow{position:absolute;right:13px;top:11px;width:22px;height:22px;border:none}.hub-group .card-art{position:absolute;right:9px;top:33px;height:72px;width:72px}.hub-group .card-art img{width:72px;height:72px}.hub-group .tool-card h3{font-size:16px;margin:7px 0 6px;line-height:1.3}.hub-group .tool-card p{font-size:12px;line-height:1.5}.library-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin:19px 0;color:var(--accent);font-size:13px}.library-links a,.library-method p a{text-decoration:underline;text-underline-offset:3px}.library-page,.local-journal{padding-bottom:36px}.journal-panel{border:1px solid var(--line);border-radius:15px;background:var(--surface);padding:22px;margin:20px 0}.journal-panel h2,.returning-runs h2{font-size:21px;letter-spacing:-.35px;margin:0 0 10px}.journal-panel>p,.save-run>p{color:var(--muted);font-size:14px;line-height:1.65}.journal-inline{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;margin:12px 0}.journal-inline .field{margin:0}.journal-inline .button{min-height:45px}.journal-inline input[type=date],#food-date{background:var(--input);border:1px solid var(--line);color:var(--ink);border-radius:9px;min-height:45px;padding:8px 10px;font:inherit;max-width:100%}.save-run{margin:17px 0;padding-bottom:14px}.returning-runs{justify-content:space-between;align-items:center}.returning-runs .small{font-size:13px;line-height:1.55;margin-top:5px}.returning-runs h2{margin:7px 0}.journal-list{max-height:360px;overflow:auto}.journal-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:12px 0;font-size:13px}.journal-row>div{min-width:0;overflow-wrap:anywhere}.journal-row>div>span,.journal-row a{display:block;font-size:12px;color:var(--muted);margin-top:4px}.journal-row a{text-decoration:underline;text-underline-offset:3px}.food-match{display:flex;align-items:center;text-align:left;width:100%;justify-content:space-between;gap:12px;border:1px solid var(--line);background:var(--surface);border-radius:8px;margin:5px 0;padding:10px;color:var(--ink);font-size:13px}.food-match small{white-space:nowrap;color:var(--muted)}.food-match:focus-visible{border-color:var(--accent)}@media (hover: hover) and (pointer: fine){.food-match:hover{border-color:var(--accent)}}.food-matches{max-height:260px;overflow:auto}.food-total-value{font-size:34px;letter-spacing:-.8px;font-variant-numeric:tabular-nums;margin:2px 0 8px}.food-matches+.field,#food-add,#food-custom{margin:12px 0}#lib-result{scroll-margin-top:16px}.save-run[open]>summary{border-bottom:1px solid var(--line);padding-bottom:12px}
@media(max-width:900px){.hub-group .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.hub-group .tool-grid{grid-template-columns:1fr}.hub-group .tool-card{min-height:105px}.hub-group .card-art{top:26px}.journal-panel{padding:17px}.food-match small{white-space:normal;text-align:right}}
@media print{.library-links,.save-run,.journal-panel,.returning-runs,.library-method{display:none!important}.library-page:has(#lib-result[hidden]) .journal-panel:has(table){display:block!important}.library-page:has(#lib-result[hidden]) .calculator-shell{display:none}.library-page .result-table-wrap{max-height:none}}
#run-history-table .result-table{white-space:normal}#run-history-table .result-table td,#run-history-table .result-table th{padding:10px 8px}#run-history-table .result-table small{display:block;font-size:11px;color:var(--muted);margin-top:3px}#run-history-table .result-table td:last-child{width:1%;white-space:nowrap}.hub-group .card-art img{transition:transform .25s var(--ease)}
.pace-wristband{display:none}@media print{body[data-tool=race-pace-band] #lib-result:has(.pace-wristband)>:not(.pace-wristband){display:none!important}.pace-wristband{display:block;width:3.15in;max-width:100%;padding:.13in;border:1px dashed #333;break-inside:avoid;font-size:10pt;color:#000}.pace-wristband p{margin:4px 0 8px}.pace-wristband ol{list-style:none;columns:2;column-gap:14px;margin:0;padding:0}.pace-wristband li{display:flex;justify-content:space-between;gap:8px;padding:2px 0;border-bottom:1px solid #ddd;break-inside:avoid;font-variant-numeric:tabular-nums}}


/* The shelf and library give the illustrations a clear place to live. */
.hero {
  padding-top: clamp(20px, 4vw, 52px);
  padding-bottom: 30px;
  text-align: left;
}
.home-intro,
.hub-intro-row {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
}
.home-intro .eyebrow,
.hub-intro-row .eyebrow {
  margin: 0 0 10px;
  color: var(--muted);
}
.home-intro h1 {
  margin: 0 0 12px;
  font-size: clamp(32px, 5.2vw, 64px);
  letter-spacing: -.055em;
  line-height: 1.03;
}
.home-intro p:last-child,
.hub-intro-row p:last-child {
  max-width: 550px;
  margin-bottom: 0;
  color: var(--muted);
  font-size: clamp(14px, 1.6vw, 17px);
  line-height: 1.55;
}
.home-intro .home-browse,
.hub-intro-row .button {
  min-height: 44px;
  flex: none;
  gap: 12px;
  padding: 10px 15px;
  white-space: nowrap;
}
.home-browse svg,
.home-shortcuts svg,
.hub-intro-row .button svg {
  width: 16px;
  height: 16px;
  flex: none;
}
.hero-art-row {
  max-width: none;
  gap: 14px;
  margin: 28px 0 18px;
}
.hero-tool {
  position: relative;
  overflow: hidden;
  padding: 10px 16px 17px;
  border: 1px solid color-mix(in oklch, var(--accent) 24%, var(--line));
  border-radius: 20px;
  background: color-mix(in oklch, var(--accent) 10%, var(--surface));
  text-align: left;
  animation: none;
}.hero-tool:focus-visible{border-color: color-mix(in oklch, var(--accent) 58%, var(--line));
  background: color-mix(in oklch, var(--accent) 16%, var(--surface));}@media (hover: hover) and (pointer: fine){.hero-tool:hover{border-color: color-mix(in oklch, var(--accent) 58%, var(--line));
  background: color-mix(in oklch, var(--accent) 16%, var(--surface));}}
.hero-art {
  position: relative;
  isolation: isolate;
  height: clamp(122px, 14.8vw, 185px);
  margin: 0 0 8px;
}
.hero-art::before {
  content: '';
  position: absolute;
  z-index: -1;
  width: 88%;
  height: 92%;
  background: radial-gradient(ellipse, color-mix(in oklch, var(--accent) 17%, transparent), transparent 68%);
  pointer-events: none;
}
.hero-art img {
  width: min(100%, clamp(135px, 15.5vw, 198px));
  height: auto;
}
.hero-tool-label {
  display: flex;
  justify-content: space-between;
  gap: 7px;
  margin: 0 0 4px;
  font-size: 17px;
  line-height: 1.25;
}
.hero-tool-description {
  max-width: none;
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
}
.home-shortcuts,
.hub-navigation {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.home-shortcuts > span {
  margin-right: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 550;
}
.home-shortcuts a,
.hub-navigation a,
.pace-tool .library-links a {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 44px;
  padding: 7px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  font-size: 13px;
  font-weight: 550;
  line-height: 1.3;
  text-decoration: none;
  transition: background .18s, border-color .18s;
}@media (hover: hover) and (pointer: fine){.home-shortcuts a:hover,.hub-navigation a:hover,.pace-tool .library-links a:hover{border-color: var(--muted);
  background: var(--surface-2);}}
.hero-quote {
  max-width: none;
  margin: 36px 0 0;
  padding-top: 24px;
  border-top: 1px solid var(--line);
  text-align: center;
}
.hero-quote blockquote p {
  margin: 0 0 8px;
  font-size: clamp(21px, 3vw, 32px);
  font-weight: 560;
  line-height: 1.25;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.hero-quote figcaption { margin: 0; }
.fitness-hub-intro { padding: 32px 0 28px; }
.hub-intro-row h1 { margin: 0 0 12px; }
.hub-navigation {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.hub-group { scroll-margin-top: 18px; }
.hub-group-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 13px;
}
.hub-group-heading h2 { margin: 0; font-size: clamp(19px, 2.4vw, 25px); }
.hub-group-heading span { flex: none; color: var(--muted); font-size: 12px; }
.hub-group .tool-card {
  display: grid;
  align-content: center;
  min-height: 126px;
  padding: 17px 96px 17px 16px;
}
.hub-group .card-top .eyebrow { font-size: 10px; letter-spacing: .065em; }
.hub-group .card-art { top: 50%; right: 12px; width: 74px; height: 74px; transform: translateY(-41%); }
.hub-group .card-art img { width: 74px; height: 74px; }
.hub-group .tool-card p { font-size: 13px; }

/* A compact input panel and a separate, readable split breakdown. */
.pace-tool .tool-topline { padding-top: 4px; }
.pace-tool .tool-intro { padding: 14px 0 20px; }
.pace-tool .tool-intro h1 { margin-bottom: 6px; }
.pace-tool .calculator-shell { grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr); }
.pace-tool .calculator-form,
.pace-tool .result-panel { padding: clamp(17px, 2.5vw, 28px); }
.pace-tool .form-heading { margin-bottom: 16px; }
.pace-tool .unit-switch button { min-height: 40px; }
.pace-mode-control {
  min-width: 0;
  margin: 0 0 15px;
  padding: 0;
  border: 0;
}
.pace-mode-control legend,
.pace-presets-label {
  margin-bottom: 6px;
  padding: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 550;
}
.pace-modes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--input);
}
.pace-modes label { position: relative; min-width: 0; cursor: pointer; }
.pace-modes input {
  position: absolute;
  width: 1px;
  height: 1px;
  clip-path: inset(50%);
  overflow: hidden;
}
.pace-modes span {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 6px 4px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.15;
  text-align: center;
}
.pace-modes input:checked + span {
  border-color: color-mix(in oklch, var(--accent) 48%, var(--line));
  background: color-mix(in oklch, var(--accent) 12%, var(--surface));
  color: var(--accent);
}
.pace-modes input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }@media (hover: hover) and (pointer: fine){.pace-modes label:hover span{background-color: var(--surface-2);}}
.pace-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.pace-fields .field { margin: 0; }
.pace-tool #time-hint { margin: 7px 0 13px; }
.pace-presets-label { display: block; }
.pace-tool .race-presets {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin: 0;
}
.pace-tool .race-presets button { min-height: 44px; padding: 6px 3px; }
.pace-tool .form-actions { margin-top: 16px; }
.pace-tool .form-actions .primary { min-height: 46px; }
.pace-tool .local-note { margin: 12px 0 0; }
.pace-tool .result-panel { justify-content: center; }
.pace-tool .result-placeholder { max-width: 320px; padding: 0; }
.pace-tool .result-mascot { width: 146px; height: 124px; object-fit: contain; margin-bottom: 10px; }
.pace-example {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
  padding: 10px 13px;
  border: 1px solid color-mix(in oklch, var(--accent) 25%, var(--line));
  border-radius: 10px;
  background: color-mix(in oklch, var(--accent) 6%, var(--surface));
  color: var(--muted);
  font-size: 12px;
  text-align: left;
}
.pace-example strong { flex: none; color: var(--ink); font-size: 20px; font-variant-numeric: tabular-nums; }
.pace-example small { color: var(--muted); font-size: 11px; font-weight: 550; }
.pace-result-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pace-result-heading h2 { margin-bottom: 0; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.pace-result-heading img { width: 62px; height: 62px; }
.pace-tool #result-content { scroll-margin-top: 16px; }
.pace-tool .result-number { font-size: clamp(36px, 6vw, 68px); line-height: 1; letter-spacing: -.06em; }
.pace-tool .result-number small { font-size: 15px; letter-spacing: 0; }
.pace-tool .result-metrics { margin-bottom: 0; }
.pace-tool .result-actions { margin: 16px 0 0; padding-top: 0; }
.pace-tool .result-actions .button { min-height: 42px; }
.pace-tool .result-status { margin: 12px 0 0; }
.pace-tool .result-status:empty { margin: 0; }
.pace-splits {
  margin: 18px 0;
  padding: clamp(17px, 3vw, 26px);
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
}
.pace-splits-header .eyebrow { margin-bottom: 5px; color: var(--accent); }
.pace-splits-header h2 { margin: 0; font-size: 23px; }
.pace-splits-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 26px; align-items: center; }
.pace-splits-overview .result-visual { margin-bottom: 10px; }
.pace-splits-overview .result-note { margin-bottom: 0; }
.pace-splits .result-table-wrap { margin: 0; }
.pace-tool .library-links { gap: 8px; margin: 16px 0; }
.pace-tool .library-links a { color: var(--ink); }

@media (max-width: 760px) {
  .home-intro,
  .hub-intro-row { align-items: start; flex-direction: column; gap: 14px; }
  .hero-art-row { gap: 9px; margin-top: 18px; }
  .hero-tool { padding: 8px 11px 12px; border-radius: 15px; }
  .hero-art { height: clamp(86px, 26vw, 133px); margin-bottom: 4px; }
  .hero-art img { width: min(100%, clamp(105px, 30vw, 147px)); }
  .hero-tool-label { font-size: 15px; }
  .hero-tool-description { font-size: 12px; }
  .home-shortcuts > span { flex-basis: 100%; }
  .hero-quote { margin-top: 24px; padding-top: 19px; }
  .fitness-hub-intro { padding-top: 18px; }
  .pace-tool .calculator-shell { grid-template-columns: minmax(0, 1fr); }
  .pace-tool .result-panel { min-height: 0; }
  .pace-tool .result-mascot { width: 95px; height: 82px; }
  .pace-tool .result-number { font-size: clamp(39px, 10vw, 57px); }
  .pace-splits-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .pace-splits-overview .result-visual { margin-top: 14px; }
}
@media (max-width: 359px) {
  .pace-fields { grid-template-columns: minmax(0, 1fr); }
  .pace-tool .calculator-form,
  .pace-tool .result-panel { padding: 15px; }
  .pace-tool .result-actions { gap: 5px; }
  .pace-tool .result-actions .button { padding-inline: 8px; }
}
@media print {
  .pace-tool .calculator-shell { display: block; }
  .pace-tool .result-panel { padding: 0; }
  .pace-tool .library-links { display: none; }
  .pace-splits { padding: 0; border: 0; break-inside: auto; }
  .pace-splits-grid { display: block; }
  .pace-splits .result-table-wrap { max-height: none; overflow: visible; }
}

/* Tool colors carry across navigation, controls, and result panels. */
.home-intro .eyebrow { color: var(--purple); }
.hub-navigation a[href="#running"] { --accent: var(--blue); }
.hub-navigation a[href="#walking"] { --accent: var(--green); }
.hub-navigation a[href="#nutrition"] { --accent: var(--purple); }
.hub-navigation a[href="#strength"] { --accent: var(--orange); }
.home-shortcuts a,
.hub-navigation a,
.pace-tool .library-links a,
.pace-tool .unit-switch button[aria-pressed="true"] {
  background: color-mix(in oklch, var(--accent) 8%, var(--surface));
  color: var(--accent);
}
.home-shortcuts a,
.hub-navigation a,
.pace-tool .library-links a {
  border-color: color-mix(in oklch, var(--accent) 26%, var(--line));
}@media (hover: hover) and (pointer: fine){.home-shortcuts a:hover,.hub-navigation a:hover,.pace-tool .library-links a:hover{background: color-mix(in oklch, var(--accent) 15%, var(--surface));}}
.hub-group .tool-card {
  border-color: color-mix(in oklch, var(--accent) 16%, var(--line));
  background: color-mix(in oklch, var(--accent) 5%, var(--surface));
}@media (hover: hover) and (pointer: fine){.hub-group .tool-card:hover{border-color: var(--accent);}}
.pace-tool .race-presets button { background: var(--input); }
.pace-tool .race-presets button[aria-pressed="true"] {
  background: color-mix(in oklch, var(--blue) 13%, var(--surface));
  color: var(--blue);
}

.site-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px 24px;
  padding: 23px 0 16px;
  border-top: 1px solid var(--line);
}
.footer-brand { color: var(--logo); font-size: 21px; font-weight: 750; letter-spacing: -.6px; }
.footer-caption { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 6px 20px; color: var(--ink); font-size: 14px; }
.site-footer nav a { display: inline-flex; align-items: center; min-height: 44px; }@media (hover: hover) and (pointer: fine){.site-footer nav a:hover{color: var(--purple); text-decoration: underline; text-underline-offset: 4px;}}
.footer-year {
  grid-column: 1 / -1;
  margin: 0;
  padding-top: 13px;
  border-top: 1px solid var(--line);
  color: var(--faint);
  font-size: 12px;
}
@media (max-width: 600px) {
  .hub-navigation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer { grid-template-columns: minmax(0, 1fr); gap: 8px; padding-top: 18px; }
  .site-footer nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 10px; }
}

/* Shared control and discovery patterns. */
:root {
  --target-size: 44px;
  --focus-ring: var(--ink);
  --control-transition: 140ms;
}
body { -webkit-font-smoothing: antialiased; }
button, a, input, select, summary { touch-action: manipulation; }
:where(button, a, input, select, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 3px;
}
.pace-modes input:focus-visible + span { outline-color: var(--focus-ring); }
.input-shell:has(input:focus-visible) {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}
.input-shell input:focus-visible { outline: none; }
input, select, textarea { font-size: 16px; }
.input-shell input { font-variant-numeric: tabular-nums; }
select { text-overflow: ellipsis; }
.button,
.button.secondary,
.pace-tool .result-actions .button,
.save-tool,
.theme-toggle,
.unit-switch button,
.pace-tool .unit-switch button,
.food-match,
.quick-tools a {
  min-height: var(--target-size);
}
.theme-toggle { min-width: var(--target-size); }
.tool-switcher summary,
.data-details summary {
  display: flex;
  align-items: center;
  min-height: var(--target-size);
}
.data-details summary::before {
  content: '';
  display: block;
  width: 7px;
  height: 7px;
  margin-right: 10px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  flex: none;
}
.data-details[open] summary::before { transform: translateY(2px) rotate(225deg); }
.data-details summary::-webkit-details-marker { display: none; }
.tool-switcher > summary:focus-visible,
.data-details > summary:focus-visible { border-radius: 5px; }
.field:has([aria-invalid="true"]) .input-shell,
select[aria-invalid="true"],
input[aria-invalid="true"]:not(.input-shell input) { border-color: var(--error); }
.field-validation {
  margin: 6px 0 0;
  color: var(--error);
  font-size: 13px;
  line-height: 1.45;
}
.example-note[hidden] { display: block !important; visibility: hidden; }
.tool-intro > div { min-width: 0; }
.site-footer { padding-bottom: max(16px, env(safe-area-inset-bottom)); }
.theme-switching,
.theme-switching *,
.theme-switching *::before,
.theme-switching *::after { transition: none !important; }
.hero-art img,
.card-art img,
.result-mascot { pointer-events: none; user-select: none; }
.tool-card,
.hero-tool,
.button,
.home-shortcuts a,
.hub-navigation a { transition-duration: var(--control-transition); }
.button:active:not(:disabled) { transform: scale(.97); }

.tool-discovery { margin-top: 22px; }
.tool-search-control { max-width: 600px; margin: 0; }
.tool-search-control > label { color: var(--ink); font-size: 14px; font-weight: 600; }
.tool-search-input { padding-inline: 12px 4px; }
.tool-search-input > svg { flex: 0 0 18px; color: var(--muted); }
.tool-search-input > input { padding-inline: 10px 5px; }
.tool-search-input > input::-webkit-search-cancel-button { appearance: none; }
.tool-search-input .button { flex: none; min-width: 52px; }
.tool-search-status { min-height: 21px; margin: 6px 0 0; color: var(--muted); font-size: 13px; }
.tool-discovery .hub-navigation { margin-top: 12px; padding-top: 12px; }
.hub-group:has(.tool-card[hidden]) .tool-grid { align-items: start; }
.food-diary-jump { display: none; }
.food-portion-preview {
  min-height: 20px;
  margin: 0 0 10px;
  color: var(--ink);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}
#food-diary { scroll-margin-top: 16px; }
#food-empty { margin-top: 8px; }
.food-total-value { min-height: 1.4em; }

@media (max-width: 430px) {
  .save-tool { width: var(--target-size); min-width: var(--target-size); height: var(--target-size); }
  .pace-tool .tool-intro { gap: 8px; }
}
@media (max-width: 760px) {
  .food-diary-jump { display: inline-flex; margin: -8px 0 8px -8px; gap: 8px; }
  .food-diary-jump svg { width: 16px; height: 16px; }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .hero-tool:hover .hero-art img { transform: translateY(-4px) rotate(2deg); }
  .tool-card:hover .card-art img { transform: translateY(-2px) rotate(3deg); }
  .hero-art img,
  .card-art img { transition: transform 180ms var(--ease); }
}
@media (prefers-reduced-motion: reduce) {
  .button:active:not(:disabled) { transform: none; }
}
@media print {
  .food-diary-jump { display: none; }
}

.tool-topline .back-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

.next-tools h2 {
  margin: 0 0 12px;
}
