@font-face{font-family:Big Shoulders;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5fefd80b57937013.1mwuiyb8ak-kd.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Big Shoulders;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/c4c21e4d4b578e42.31jp97rt9sil8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Big Shoulders;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/55cb69ad17a100ed.p.2l41_ldkjomdb.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}.big_shoulders_69866113-module__owBwDq__className{font-family:Big Shoulders;font-style:normal}.big_shoulders_69866113-module__owBwDq__variable{--font-big-shoulders:"Big Shoulders"}
@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/c7f47671e39f7787-s.0klc_mi0-5f4_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/f06bf9da926bae75-s.p.2874ccu1_u7jf.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 Sans Fallback;src:local(Arial);ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.0%;size-adjust:102.74%}.instrument_sans_4449849d-module__naAqQq__className{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.instrument_sans_4449849d-module__naAqQq__variable{--font-instrument-sans:"Instrument Sans", "Instrument Sans Fallback"}
@font-face{font-family:Azeret Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2a23ff12681a5834-s.0es7frdw9tpsq.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Azeret Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2f059f8bf31de55f-s.p.28l707c7cxluz.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:Azeret Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2a23ff12681a5834-s.0es7frdw9tpsq.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Azeret Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2f059f8bf31de55f-s.p.28l707c7cxluz.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:Azeret Mono Fallback;src:local(Arial);ascent-override:64.26%;descent-override:15.77%;line-gap-override:0.0%;size-adjust:145.81%}.azeret_mono_f3368253-module__CdADbW__className{font-family:Azeret Mono,Azeret Mono Fallback;font-style:normal}.azeret_mono_f3368253-module__CdADbW__variable{--font-azeret-mono:"Azeret Mono", "Azeret Mono Fallback"}
@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100dvh}img,picture,svg,video,canvas{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul[class],ol[class]{padding:0;list-style:none}summary{cursor:pointer}summary::-webkit-details-marker{display:none}table{border-collapse:collapse}:target{scroll-margin-top:6rem}}@layer tokens{:root{--font-display:var(--font-big-shoulders), "Haettenschweiler", "Arial Narrow", ui-sans-serif, sans-serif;--font-body:var(--font-instrument-sans), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:var(--font-azeret-mono), ui-monospace, "SFMono-Regular", Consolas, monospace;--display-xl:clamp(2.75rem, 5.9vw, 5.25rem);--display-l:clamp(2.25rem, 4.2vw, 3.5rem);--display-m:clamp(1.85rem, 3vw, 2.6rem);--display-s:clamp(1.55rem, 2.2vw, 2rem);--display-xs:clamp(1.3rem, 1.7vw, 1.55rem);--text-2xs:.6875rem;--text-xs:.78125rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.0625rem;--text-lg:1.1875rem;--text-xl:clamp(1.25rem, 1.6vw, 1.4375rem);--lede:clamp(1.0625rem, 1.35vw, 1.25rem);--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-7:2.75rem;--sp-8:3.5rem;--sp-9:5rem;--band-y:clamp(3.5rem, 7vw, 6.5rem);--band-y-tight:clamp(2.25rem, 4vw, 3.5rem);--radius-1:6px;--radius-2:10px;--radius-3:16px;--radius-4:24px;--radius-pill:999px;--wrap:1216px;--wrap-narrow:760px;--wrap-read:70ch;--rail:156px;--gutter:clamp(1.25rem, 4vw, 2.5rem);--header-h:66px;--ease:cubic-bezier(.2, .7, .3, 1);--dur-1:.14s;--dur-2:.26s;--dur-3:.52s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root,:root[data-theme=light]{--ink-0:#f4f2ea;--ink-1:#fff;--ink-2:#fbfaf3;--ink-3:#eeece0;--ink-inverse:#0a0c07;--line:#dedbcb;--line-strong:#c3c0ac;--fg:#12150c;--fg-2:#545c45;--fg-3:#5c6350;--fg-inverse:#ecefe1;--accent:#c6f44b;--accent-hover:#b6e63a;--accent-text:#3d4c17;--accent-soft:#e9f5c6;--on-accent:#0a0c07;--olive:#4b5d1e;--success:#1f6b3f;--success-soft:#dceee2;--warn:#7d4a00;--warn-soft:#f6e8c8;--danger:#a02b3c;--danger-soft:#f7e1e4;--ring:#3d4c17;--shadow-1:0 1px 2px #14180c0f, 0 8px 24px #14180c0f;--shadow-2:0 24px 60px #14180c1f;--scrim:#0c0f0875;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--ink-0:#0a0c07;--ink-1:#10130b;--ink-2:#171b0f;--ink-3:#1f2416;--ink-inverse:#f4f2ea;--line:#2a3020;--line-strong:#3d4630;--fg:#ecefe1;--fg-2:#a7b094;--fg-3:#939c80;--fg-inverse:#12150c;--accent:#c6f44b;--accent-hover:#d8ff6e;--accent-text:#c6f44b;--accent-soft:#1e2712;--on-accent:#0a0c07;--olive:#8fa93a;--success:#6fd39a;--success-soft:#14251b;--warn:#e5b45c;--warn-soft:#2a2113;--danger:#f08a97;--danger-soft:#2c1519;--ring:#c6f44b;--shadow-1:0 1px 2px #0006, 0 10px 30px #0000004d;--shadow-2:0 30px 70px #00000073;--scrim:#040603b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=amoled]{--ink-0:#000;--ink-1:#070806;--ink-2:#0d0f0b;--ink-3:#141711;--ink-inverse:#f4f2ea;--line:#212418;--line-strong:#333827;--fg:#f0f2e6;--fg-2:#a7b094;--fg-3:#848d70;--fg-inverse:#12150c;--accent:#c6f44b;--accent-hover:#d8ff6e;--accent-text:#c6f44b;--accent-soft:#161c0d;--on-accent:#000;--olive:#8fa93a;--success:#6fd39a;--success-soft:#0d1a12;--warn:#e5b45c;--warn-soft:#1d170d;--danger:#f08a97;--danger-soft:#1f0f12;--ring:#c6f44b;--shadow-1:0 1px 2px #0009, 0 10px 30px #00000080;--shadow-2:0 30px 70px #0009;--scrim:#000000c7;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}@layer base{html{font-family:var(--font-body)}body{background:var(--ink-0);color:var(--fg);font-size:var(--text-md);letter-spacing:-.003em;flex-direction:column;line-height:1.6;display:flex}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.012em;text-wrap:balance;color:var(--fg);font-weight:800;line-height:.94}h1{font-size:var(--display-l)}h2{font-size:var(--display-m)}h3{font-size:var(--display-s)}h4{font-size:var(--display-xs)}h5,h6{font-family:var(--font-body);font-size:var(--text-base);font-weight:700;line-height:1.35}p{text-wrap:pretty}a{color:inherit;-webkit-text-decoration-color:color-mix(in srgb, currentcolor 35%, transparent);text-decoration-color:color-mix(in srgb, currentcolor 35%, transparent);text-underline-offset:.22em}a:hover{text-decoration-color:currentColor}strong,b{font-weight:700}small{font-size:var(--text-sm);line-height:1.5}code,kbd,samp{font-family:var(--font-mono);font-size:.92em}kbd{border:1px solid var(--line);border-radius:var(--radius-1);background:var(--ink-2);font-size:var(--text-2xs);padding:.15em .4em}hr{height:1px;margin:var(--sp-6) 0;background:var(--line);border:0}:where(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--ring);outline-offset:3px;border-radius:var(--radius-1)}::selection{background:var(--accent);color:var(--on-accent)}::placeholder{color:var(--fg-3);opacity:1}}
@layer layout{.site-frame,.site-page{flex-direction:column;flex:1;min-width:0;display:flex}main{flex:1;min-width:0}.skip-link{z-index:100;top:var(--sp-3);left:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-2);background:var(--accent);color:var(--on-accent);transition:transform var(--dur-2) var(--ease);font-weight:700;text-decoration:none;position:fixed;transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}.band{padding-block:var(--band-y);position:relative}.band--tight{padding-block:var(--band-y-tight)}.band--flush-top{padding-top:0}.band--flush-bottom{padding-bottom:0}.band--surface{background:var(--ink-1);border-block:1px solid var(--line)}.band--sunken{background:var(--ink-2);border-block:1px solid var(--line)}.band--inverse{--ink-0:#0a0c07;--ink-1:#10130b;--ink-2:#171b0f;--ink-3:#1f2416;--line:#2a3020;--line-strong:#3d4630;--fg:#ecefe1;--fg-2:#a7b094;--fg-3:#939c80;--accent-text:#c6f44b;--accent-soft:#1e2712;--ring:#c6f44b;--olive:#8fa93a;background:var(--ink-0);color:var(--fg)}.wrap{width:100%;max-width:var(--wrap);padding-inline:var(--gutter);margin-inline:auto}.wrap--narrow{max-width:calc(var(--wrap-narrow) + var(--gutter) * 2)}.wrap--read{max-width:calc(var(--wrap-read) + var(--gutter) * 2)}.wrap--wide{max-width:1400px}.rail{grid-template-columns:var(--rail) minmax(0, 1fr);align-items:start;gap:clamp(1.5rem,4vw,4rem);display:grid}.rail__label{top:calc(var(--header-h) + var(--sp-5));align-items:center;gap:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--line-strong);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.16em;text-transform:uppercase;font-weight:600;line-height:1.2;display:flex;position:sticky}.rail__label:before{background:var(--accent);content:"";border-radius:2px;flex:none;width:7px;height:7px}.rail__body{min-width:0}@media (max-width:900px){.rail{gap:var(--sp-5);grid-template-columns:minmax(0,1fr)}.rail__label{border-top:0;padding-top:0;position:static}}.stack{gap:var(--stack-gap,var(--sp-4));flex-direction:column;min-width:0;display:flex}.stack--sm{--stack-gap:var(--sp-2)}.stack--lg{--stack-gap:var(--sp-6)}.stack--xl{--stack-gap:var(--sp-8)}.cluster{align-items:center;gap:var(--cluster-gap,var(--sp-3));flex-wrap:wrap;min-width:0;display:flex}.cluster--sm{--cluster-gap:var(--sp-2)}.cluster--lg{--cluster-gap:var(--sp-5)}.cluster--between{justify-content:space-between}.grid-auto{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--min,260px)), 1fr));gap:var(--grid-gap,var(--sp-5));display:grid}.split{grid-template-columns:var(--split,minmax(0, 1fr) minmax(0, 1fr));align-items:center;gap:clamp(2rem,5vw,4.5rem);display:grid}.split--top{align-items:start}@media (max-width:900px){.split{grid-template-columns:minmax(0,1fr)}.split--reverse>:first-child{order:2}}.doc{grid-template-columns:minmax(0,1fr);gap:clamp(2rem,4vw,3.5rem);display:grid}@media (min-width:1000px){.doc--aside{grid-template-columns:minmax(0,1fr) 300px}.doc--toc{grid-template-columns:240px minmax(0,1fr)}}.doc__aside{min-width:0}@media (min-width:1000px){.doc__aside{top:calc(var(--header-h) + var(--sp-5));max-height:calc(100dvh - var(--header-h) - var(--sp-8));overscroll-behavior:contain;align-self:start;position:sticky;overflow-y:auto}}}
@layer components{.kicker,.eyebrow{align-items:center;gap:var(--sp-2);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.16em;text-transform:uppercase;font-weight:600;line-height:1.2;display:flex}.kicker--accent{color:var(--accent-text)}.lede{max-width:58ch;color:var(--fg-2);font-size:var(--lede);line-height:1.55}.muted{color:var(--fg-2)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.head{gap:var(--sp-4);flex-direction:column;max-width:44ch;display:flex}.head--wide{max-width:62ch}.head--center{text-align:center;align-items:center;margin-inline:auto}.head--center .lede{text-align:center}.head>.lede{margin-top:calc(var(--sp-1) * -1)}.btn{justify-content:center;align-items:center;gap:var(--sp-2);border-radius:var(--radius-2);background:var(--ink-3);min-height:46px;color:var(--fg);font-size:var(--text-base);letter-spacing:-.005em;text-align:center;white-space:nowrap;transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);border:1px solid #0000;padding:.6rem 1.15rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)}.btn--install{background:var(--accent);color:var(--on-accent);font-weight:700}.btn--install:hover{background:var(--accent-hover)}.btn--ghost{border-color:var(--line-strong);color:var(--fg);background:0 0}.btn--ghost:hover{border-color:var(--fg-3);background:var(--ink-2)}.btn--quiet{min-height:40px;color:var(--fg-2);background:0 0;padding-inline:.65rem}.btn--quiet:hover{background:var(--ink-3);color:var(--fg)}.btn--danger{border-color:color-mix(in srgb, var(--danger) 45%, transparent);background:var(--danger-soft);color:var(--danger)}.btn--danger:hover{border-color:var(--danger)}.btn--sm{min-height:38px;font-size:var(--text-sm);padding:.35rem .8rem}.btn--lg{min-height:54px;font-size:var(--text-lg);padding:.75rem 1.5rem}.btn--block{white-space:normal;width:100%}.btn[aria-disabled=true],.btn:disabled{opacity:.55;pointer-events:none}.iconbtn{border-radius:var(--radius-2);width:44px;height:44px;color:var(--fg-2);transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease);border:1px solid #0000;place-items:center;display:inline-grid}.iconbtn:hover{background:var(--ink-3);color:var(--fg)}.link-arrow{align-items:center;gap:var(--sp-2);color:var(--accent-text);font-size:var(--text-base);width:fit-content;font-weight:600;text-decoration:none;display:inline-flex}.link-arrow svg{transition:transform var(--dur-1) var(--ease)}.link-arrow:hover{text-underline-offset:.25em;text-decoration:underline}.link-arrow:hover svg{transform:translate(3px)}.card{gap:var(--sp-3);padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-1);flex-direction:column;min-width:0;display:flex}.progress-story{gap:var(--sp-5);border-color:var(--accent)}.progress-story__score{align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;display:flex}.progress-story__score strong{letter-spacing:-.06em;font-size:clamp(2.8rem,6vw,4.5rem);line-height:1}.progress-story__score span{color:var(--fg-2)}.progress-story__week{gap:var(--sp-2);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.progress-story__week span{border:1px solid var(--line);border-radius:var(--radius-2);min-height:42px;font-size:var(--text-sm);place-items:center;display:grid}.progress-story__week .is-recorded{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.progress-story__changes{margin:0}.progress-story__changes div{padding:var(--sp-3) 0;border-bottom:1px solid var(--line)}.progress-story__changes dt{font-size:var(--text-sm);color:var(--fg-2)}.progress-story__changes dd{margin:var(--sp-1) 0 0;font-size:var(--text-xl);font-weight:700}.card--flat{background:0 0}.card--raised{box-shadow:var(--shadow-1)}.card--link{transition:border-color var(--dur-1) var(--ease), transform var(--dur-2) var(--ease);text-decoration:none}.card--link:hover{border-color:var(--line-strong);transform:translateY(-2px)}.card__icon{border-radius:var(--radius-2);background:var(--accent-soft);width:42px;height:42px;color:var(--accent-text);place-items:center;display:grid}.card h3{font-size:var(--display-xs)}.card p{color:var(--fg-2);font-size:var(--text-base)}.badge{align-items:center;gap:var(--sp-1);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--ink-2);color:var(--fg-2);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;width:fit-content;padding:.2rem .55rem;font-weight:600;display:inline-flex}.badge--accent{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:var(--accent-soft);color:var(--accent-text)}.chips{gap:var(--sp-2);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--ink-1);min-height:40px;color:var(--fg);font-size:var(--text-sm);transition:border-color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);padding:.4rem .85rem;font-weight:600;text-decoration:none;display:inline-flex}.chip:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.notice{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line);border-left:3px solid var(--fg-3);border-radius:var(--radius-2);background:var(--ink-2);color:var(--fg-2);font-size:var(--text-base);display:flex}.notice--accent{border-left-color:var(--accent);background:var(--accent-soft)}.notice--warn{border-left-color:var(--warn);background:var(--warn-soft);color:var(--warn)}.notice--danger{border-left-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.notice strong{color:var(--fg)}.checks{gap:var(--sp-3);flex-direction:column;display:flex}.checks>li{gap:var(--sp-3);color:var(--fg-2);font-size:var(--text-base);grid-template-columns:20px minmax(0,1fr);align-items:start;display:grid}.checks>li>svg:first-child{color:var(--accent-text);margin-top:.25em}.checks strong{color:var(--fg);display:block}.steps{gap:var(--sp-5);counter-reset:step;display:grid}.steps>li{gap:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--line);counter-increment:step;grid-template-columns:46px minmax(0,1fr);align-items:start;display:grid}.steps>li:before{content:counter(step, decimal-leading-zero);color:var(--accent-text);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.06em;font-weight:600}.steps h3{margin-bottom:var(--sp-2);font-size:var(--display-xs)}.steps p{color:var(--fg-2);font-size:var(--text-base)}.stats{border:1px solid var(--line);border-radius:var(--radius-3);background:var(--line);grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:1px;display:grid;overflow:hidden}.stat{gap:var(--sp-1);padding:var(--sp-5) var(--sp-4);background:var(--ink-1);flex-direction:column;display:flex}.stat__value{font-family:var(--font-display);font-size:var(--display-s);letter-spacing:-.01em;font-weight:800;line-height:1}.stat__label{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase}.tiles{gap:var(--sp-2);flex-wrap:wrap;display:flex}.tile{align-items:center;gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--radius-2);background:var(--ink-1);min-height:44px;color:var(--fg);font-size:var(--text-sm);transition:border-color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);padding:.5rem .95rem;font-weight:600;text-decoration:none;display:inline-flex}.tile:hover{border-color:var(--accent);background:var(--accent-soft)}.faq{border-top:1px solid var(--line);flex-direction:column;display:flex}.faq>details{border-bottom:1px solid var(--line)}.faq>details>summary{justify-content:space-between;align-items:center;gap:var(--sp-4);min-height:60px;padding-block:var(--sp-4);font-family:var(--font-body);font-size:var(--text-md);font-weight:600;list-style:none;display:flex}.faq>details>summary:after{color:var(--accent-text);content:"+";font-family:var(--font-mono);font-size:var(--text-xl);flex:none;line-height:1}.faq>details[open]>summary:after{content:"−"}.faq>details>summary:hover{color:var(--accent-text)}.faq>details>:not(summary){max-width:68ch;padding-bottom:var(--sp-5);color:var(--fg-2);font-size:var(--text-base)}.table-wrap{border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-1);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.table th,.table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table thead th{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;font-weight:600}.table tbody tr:last-child th,.table tbody tr:last-child td{border-bottom:0}.table td.mono,.table .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.hdr{z-index:40;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--ink-0) 88%, transparent);-webkit-backdrop-filter:saturate(140%)blur(14px);backdrop-filter:saturate(140%)blur(14px);position:sticky;top:0}.hdr__inner{align-items:center;gap:var(--sp-4);min-height:var(--header-h);max-width:var(--wrap);padding-inline:var(--gutter);margin-inline:auto;display:flex}.hdr__brand{flex:none;align-items:center;text-decoration:none;display:inline-flex}.hdr__nav{align-items:center;gap:var(--sp-1);margin-inline:auto;display:flex}.hdr__nav a{border-radius:var(--radius-2);color:var(--fg-2);font-size:var(--text-sm);white-space:nowrap;transition:color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);padding:.45rem .6rem;font-weight:600;text-decoration:none}.hdr__nav a:hover,.hdr__nav a[aria-current=page]{background:var(--ink-3);color:var(--fg)}.hdr__actions{align-items:center;gap:var(--sp-2);margin-left:auto;display:flex}.hdr__desktop-only{display:inline-flex}.menu>summary{border-radius:var(--radius-2);width:44px;height:44px;color:var(--fg);place-items:center;list-style:none;display:grid}.menu>summary:hover,.menu[open]>summary{background:var(--ink-3)}.menu__panel{z-index:45;right:var(--gutter);left:var(--gutter);margin-top:var(--sp-2);padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-1);box-shadow:var(--shadow-2);flex-direction:column;display:flex;position:absolute}.menu__panel a{padding:var(--sp-3) var(--sp-3);border-radius:var(--radius-2);color:var(--fg);font-weight:600;text-decoration:none}.menu__panel a:hover{background:var(--ink-3)}.menu__panel hr{margin:var(--sp-2) 0}@media (min-width:981px){.menu{display:none}}@media (max-width:980px){.hdr__nav,.hdr__desktop-only{display:none}.hdr__actions{margin-left:auto}}.brand-logo{width:clamp(118px,13vw,156px);height:auto}:root[data-theme=dark] .brand-logo,:root[data-theme=amoled] .brand-logo,.band--inverse .brand-logo,.brand-logo--inverse{filter:brightness(0)saturate()invert(92%)sepia(11%)saturate(345%)hue-rotate(23deg)brightness(102%)contrast(93%)}.ftr{--ink-0:#0a0c07;--ink-1:#10130b;--ink-2:#171b0f;--ink-3:#1f2416;--line:#2a3020;--line-strong:#3d4630;--fg:#ecefe1;--fg-2:#a7b094;--fg-3:#939c80;--accent-text:#c6f44b;--ring:#c6f44b;padding-block:var(--sp-8) var(--sp-6);background:var(--ink-0);color:var(--fg-2);margin-top:auto}.ftr__grid{gap:var(--sp-6) var(--sp-5);grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr));display:grid}.ftr__brand{gap:var(--sp-3);flex-direction:column;max-width:34ch;display:flex}.ftr__tagline{color:var(--fg);font-family:var(--font-display);font-size:var(--display-xs);letter-spacing:-.01em;font-weight:800}.ftr__col h2{margin-bottom:var(--sp-3);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.16em;text-transform:uppercase;font-weight:600}.ftr__col{gap:var(--sp-2);font-size:var(--text-sm);flex-direction:column;display:flex}.ftr__col a{color:var(--fg-2);width:fit-content;text-decoration:none}.ftr__col a:hover{color:var(--accent-text)}.ftr__bottom{justify-content:space-between;gap:var(--sp-3);margin-top:var(--sp-7);padding-top:var(--sp-5);border-top:1px solid var(--line);color:var(--fg-3);font-size:var(--text-xs);flex-wrap:wrap;display:flex}@media (max-width:900px){.ftr__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ftr__brand{grid-column:1/-1}}.hero{padding-block:clamp(2.5rem, 5vw, 4.5rem) var(--band-y);position:relative;overflow:hidden}.hero:before{z-index:0;background:radial-gradient(circle, color-mix(in srgb, var(--accent) 16%, transparent) 0%, transparent 62%);content:"";pointer-events:none;width:min(760px,78vw);height:min(760px,78vw);position:absolute;top:-30%;right:-10%}.hero>*{z-index:1;position:relative}.hero__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(2.5rem,5vw,4.5rem);display:grid}.hero__title{font-size:var(--display-xl);line-height:.9}.hero__copy{gap:var(--sp-5);flex-direction:column;min-width:0;display:flex}.hero__copy .lede{max-width:46ch}@media (max-width:900px){.hero__grid{grid-template-columns:minmax(0,1fr)}}.pagehead{padding-block:clamp(2.25rem, 4.5vw, 4rem) var(--band-y-tight)}.pagehead h1{font-size:var(--display-l)}.logticker{border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-1);box-shadow:var(--shadow-2);flex-direction:column;display:flex;overflow:hidden}.logticker__head{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line);background:var(--ink-2);display:flex}.logticker__title{flex-direction:column;gap:2px;display:flex}.logticker__title strong{font-family:var(--font-display);font-size:var(--display-xs);letter-spacing:-.01em;font-weight:800;line-height:1}.logticker__title span{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase}.logticker__timer{align-items:center;gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--ink-1);color:var(--fg-2);font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;padding:.3rem .6rem;display:flex}.logticker__rows{flex-direction:column;display:flex}.logrow{gap:var(--sp-3);min-height:54px;padding:var(--sp-2) var(--sp-5);border-bottom:1px solid var(--line);grid-template-columns:2.25rem minmax(0,1fr) auto 1.75rem;align-items:center;display:grid}.logrow:last-child{border-bottom:0}.logrow__n{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.logrow__name{color:var(--fg);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.logrow__val{color:var(--fg);font-family:var(--font-mono);font-size:var(--text-base);font-variant-numeric:tabular-nums;white-space:nowrap}.logrow__val em{color:var(--fg-3);font-style:normal}.logrow__tick{border:1px solid var(--line-strong);border-radius:var(--radius-1);width:26px;height:26px;color:var(--on-accent);place-items:center;display:grid}.logrow--done .logrow__tick{border-color:var(--accent);background:var(--accent)}.logrow--active{background:var(--accent-soft)}.logrow--active .logrow__tick{border-color:var(--accent);color:var(--accent-text)}.logticker__foot{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--line);background:var(--ink-2);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;display:flex}.statusdot{align-items:center;gap:var(--sp-2);display:inline-flex}.statusdot:before{background:var(--accent);content:"";border-radius:50%;width:7px;height:7px}.statusdot--off:before{background:var(--fg-3)}.logticker--live .logrow{animation:log-row-in .42s var(--ease) both;animation-delay:calc(var(--i) * .17s + .22s)}.logticker--live .logrow--done .logrow__tick svg{animation:log-tick-in .3s var(--ease) both;animation-delay:calc(var(--i) * .17s + .46s)}@keyframes log-row-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes log-tick-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}.phone{gap:var(--sp-3);flex-direction:column;align-items:center;margin:0;display:flex}.phone__screen{border:1px solid var(--line-strong);background:var(--ink-2);width:min(300px,76vw);box-shadow:var(--shadow-2);border-radius:34px;padding:9px;position:relative}.phone__screen img{border-radius:26px;width:100%;height:auto}.phone figcaption,.phone__caption{max-width:32ch;color:var(--fg-3);font-size:var(--text-xs);text-align:center}.phones{justify-content:center;gap:var(--sp-4);display:flex}.phones .phone__screen{width:min(240px,42vw)}.phones>:nth-child(odd){transform:translateY(var(--sp-5))}@media (max-width:620px){.phones>:nth-child(odd){transform:none}}.storerow{gap:var(--sp-3);flex-wrap:wrap;display:flex}.storebtn{align-items:center;gap:var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--radius-2);background:var(--ink-inverse);min-height:56px;color:var(--fg-inverse);transition:transform var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease);padding:.55rem 1.15rem;text-decoration:none;display:inline-flex}.storebtn:hover{border-color:var(--accent);transform:translateY(-1px)}.storebtn svg{color:var(--accent);flex:none}.storebtn__text{flex-direction:column;line-height:1.15;display:flex}.storebtn__text small{color:color-mix(in srgb, var(--fg-inverse) 72%, transparent);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.625rem}.storebtn__text strong{font-size:var(--text-md);font-weight:700}.smartinstall{align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-2);flex-wrap:wrap;display:flex}.smartinstall>svg{color:var(--accent-text);flex:none}.smartinstall__copy{flex:16rem;min-width:0}.smartinstall__copy strong{display:block}.smartinstall__copy p{color:var(--fg-2);font-size:var(--text-sm)}.installbar{z-index:50;right:var(--sp-3);bottom:var(--sp-3);left:var(--sp-3);align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--radius-3);background:color-mix(in srgb, var(--ink-1) 96%, transparent);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:installbar-in var(--dur-3) var(--ease) both;display:flex;position:fixed}@keyframes installbar-in{0%{opacity:0;transform:translateY(120%)}to{opacity:1;transform:none}}.installbar__icon{border-radius:var(--radius-2);flex:none;width:42px;height:42px}.installbar__copy{flex:1;min-width:0;line-height:1.25}.installbar__copy strong{font-size:var(--text-sm);display:block}.installbar__copy span{color:var(--fg-3);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.625rem}.installbar__dismiss{border-radius:var(--radius-1);width:32px;height:32px;color:var(--fg-3);flex:none;place-items:center;display:grid}.installbar__dismiss:hover{background:var(--ink-3);color:var(--fg)}@media (min-width:861px){.installbar{display:none}}.cta{padding-block:var(--band-y);background:var(--ink-inverse);color:var(--fg-inverse);position:relative;overflow:hidden}.cta:after{background:var(--accent);content:"";height:3px;position:absolute;top:0;left:0;right:0}.cta:before{content:"";background:radial-gradient(circle,#c6f44b24 0%,#0000 62%);width:min(620px,70vw);height:min(620px,70vw);position:absolute;bottom:-55%;right:-8%}.cta__inner{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(2rem,4vw,3.5rem);display:grid;position:relative}.cta h2{color:var(--fg-inverse);font-size:var(--display-l)}.cta .lede,.cta p{color:color-mix(in srgb, var(--fg-inverse) 75%, transparent)}.cta .kicker{color:var(--accent)}.cta .storebtn{border-color:color-mix(in srgb, var(--fg-inverse) 30%, transparent);color:var(--fg-inverse);background:0 0}.cta .btn--ghost{border-color:color-mix(in srgb, var(--fg-inverse) 35%, transparent);color:var(--fg-inverse)}.cta .btn--ghost:hover{border-color:var(--accent);background:#c6f44b1a}@media (max-width:900px){.cta__inner{grid-template-columns:minmax(0,1fr)}}.inline-cta{gap:var(--sp-4);padding:var(--sp-5);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius-3);background:var(--ink-2);grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.inline-cta__body{gap:var(--sp-3);flex-direction:column;min-width:0;display:flex}.inline-cta strong{font-family:var(--font-display);font-size:var(--display-xs);letter-spacing:-.01em;font-weight:800}.inline-cta p{color:var(--fg-2);font-size:var(--text-base)}.inline-cta__mark{border-radius:var(--radius-2);background:var(--accent-soft);width:48px;height:48px;color:var(--accent-text);align-self:start;place-items:center;display:grid}@media (max-width:620px){.inline-cta{grid-template-columns:minmax(0,1fr)}}.postcard{gap:var(--sp-3);flex-direction:column;min-width:0;text-decoration:none;display:flex}.postcard__media{aspect-ratio:16/10;border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-2);position:relative;overflow:hidden}.postcard__media img{object-fit:cover;width:100%;height:100%;transition:transform var(--dur-3) var(--ease)}.postcard:hover .postcard__media img{transform:scale(1.03)}.postcard h3{font-size:var(--display-xs)}.postcard h3 a{text-decoration:none}.postcard h3 a:hover{color:var(--accent-text)}.postcard p{color:var(--fg-2);font-size:var(--text-base)}.postcard__meta{gap:var(--sp-3);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;display:flex}.excard{gap:var(--sp-4);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-1);transition:border-color var(--dur-1) var(--ease), transform var(--dur-2) var(--ease);align-items:center;text-decoration:none;display:flex}.excard:hover{border-color:var(--accent);transform:translateY(-2px)}.excard__media{border-radius:var(--radius-2);background:var(--ink-3);flex:none;width:84px;height:84px;position:relative;overflow:hidden}.excard__media img{object-fit:cover;width:100%;height:100%}.excard__body{gap:var(--sp-1);flex-direction:column;min-width:0;display:flex}.excard__body strong{font-size:var(--text-md);line-height:1.25}.excard__tags{gap:var(--sp-2);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;display:flex}.field{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.field>label,.label{color:var(--fg-2);font-size:var(--text-sm);font-weight:600}.field .help,.field>small{color:var(--fg-3);font-size:var(--text-xs)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=date],input[type=url],select,textarea{border:1px solid var(--line-strong);border-radius:var(--radius-2);background:var(--ink-1);width:100%;min-height:46px;color:var(--fg);font-size:var(--text-base);transition:border-color var(--dur-1) var(--ease);padding:.6rem .8rem}input:hover,select:hover,textarea:hover{border-color:var(--fg-3)}textarea{resize:vertical;min-height:8rem}select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 18px) calc(50% + 2px),calc(100% - 13px) calc(50% + 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:2.25rem}.form-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));display:grid}.prose{max-width:var(--wrap-read);font-size:var(--text-md);line-height:1.7}.prose>*+*{margin-top:var(--sp-4)}.prose h2{margin-top:var(--sp-8);font-size:var(--display-s);scroll-margin-top:calc(var(--header-h) + var(--sp-5))}.prose h3{margin-top:var(--sp-6);font-size:var(--display-xs);scroll-margin-top:calc(var(--header-h) + var(--sp-5))}.prose p,.prose li{color:var(--fg-2)}.prose strong{color:var(--fg)}.prose a{color:var(--accent-text);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent-text) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--accent-text) 40%, transparent);font-weight:600}.prose ul,.prose ol{gap:var(--sp-2);flex-direction:column;padding-left:1.35rem;display:flex}.prose ul{padding-left:0;list-style:none}.prose ul>li{padding-left:1.35rem;position:relative}.prose ul>li:before{background:var(--accent);content:"";width:6px;height:2px;position:absolute;top:.72em;left:.2rem}.prose blockquote{padding:var(--sp-2) 0 var(--sp-2) var(--sp-5);border-left:3px solid var(--accent);color:var(--fg);font-size:var(--text-lg)}.prose table{width:100%;font-size:var(--text-base)}.prose th,.prose td{padding:var(--sp-3);border-bottom:1px solid var(--line);text-align:left}.prose th{color:var(--fg);font-weight:700}.prose img{border-radius:var(--radius-3)}.prose code{border-radius:var(--radius-1);background:var(--ink-3);padding:.1em .35em}.prose hr{margin-block:var(--sp-7)}.toc{gap:var(--sp-2);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-2);font-size:var(--text-sm);flex-direction:column;display:flex}.toc h2{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.16em;text-transform:uppercase;font-weight:600}.toc a{color:var(--fg-2);text-decoration:none}.toc a:hover{color:var(--accent-text)}.toc ol,.toc ul{gap:var(--sp-2);flex-direction:column;padding:0;list-style:none;display:flex}.toc li ul,.toc li ol{margin-top:var(--sp-2);padding-left:var(--sp-3);border-left:1px solid var(--line)}.breadcrumbs{align-items:center;gap:var(--sp-2);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;display:flex}.breadcrumbs a{color:var(--fg-3);text-decoration:none}.breadcrumbs a:hover{color:var(--accent-text)}.breadcrumbs li{align-items:center;gap:var(--sp-2);display:flex}.breadcrumbs ol{display:contents}.breadcrumbs [aria-current=page]{color:var(--fg-2)}.pagination{justify-content:center;align-items:center;gap:var(--sp-2);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.pagination a,.pagination span{min-width:42px;min-height:42px;padding-inline:var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-2);place-items:center;text-decoration:none;display:inline-grid}.pagination [aria-current=page]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text);font-weight:700}.empty{gap:var(--sp-3);padding:var(--sp-8) var(--sp-5);border:1px dashed var(--line-strong);border-radius:var(--radius-3);color:var(--fg-2);text-align:center;flex-direction:column;align-items:center;display:flex}.compare{border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-1);font-size:var(--text-base);grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.compare>*{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);align-items:center;display:flex}.compare>:nth-child(3n){border-right:0}.compare>:nth-child(-n+3){background:var(--ink-2);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;font-weight:600}.compare>:nth-last-child(-n+3){border-bottom:0}@media (max-width:700px){.compare{font-size:var(--text-sm)}.compare>*{padding:var(--sp-3)}}.filters{gap:var(--sp-4);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-1);flex-direction:column;display:flex}.filters__row{gap:var(--sp-3);display:flex}.searchbox{align-items:center;gap:var(--sp-3);min-width:0;padding-left:var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--radius-2);background:var(--ink-2);color:var(--fg-3);flex:1;display:flex}.searchbox input{background:0 0;border:0;flex:1;min-width:0;padding-left:0}.searchbox input:focus-visible{outline:none}.searchbox:focus-within{border-color:var(--ring)}.filters__disclosure{display:contents}.filter-summary{display:none}.filters__grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));align-items:end;display:grid}.filters__actions{gap:var(--sp-2);align-items:end;display:flex}@media (max-width:900px){.filters__disclosure{gap:var(--sp-3);flex-direction:column;display:flex}.filter-summary{align-items:center;gap:var(--sp-2);border:1px solid var(--line-strong);border-radius:var(--radius-2);min-height:44px;font-size:var(--text-sm);cursor:pointer;width:fit-content;padding:.5rem .9rem;font-weight:600;display:inline-flex}.filters__grid{display:none}.filter-toggle:checked~.filters__grid{display:grid}.filter-toggle:focus-visible+.filter-summary{outline:2px solid var(--ring);outline-offset:3px}}.extile{border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-1);min-width:0;transition:border-color var(--dur-1) var(--ease), transform var(--dur-2) var(--ease);flex-direction:column;display:flex;overflow:hidden}.extile:hover{border-color:var(--accent);transform:translateY(-2px)}.extile__media{aspect-ratio:4/3;background:var(--ink-3);display:block;position:relative;overflow:hidden}.extile__media img{object-fit:cover;width:100%;height:100%}.extile__placeholder{width:100%;height:100%;color:var(--fg-3);place-items:center;display:grid}.extile__body{gap:var(--sp-2);padding:var(--sp-4);flex-direction:column;display:flex}.extile__body h3{font-size:var(--text-lg);font-family:var(--font-body);letter-spacing:-.005em;font-weight:700;line-height:1.25}.extile__body h3 a{text-decoration:none}.extile__body h3 a:hover{color:var(--accent-text)}.facts{border:1px solid var(--line);border-radius:var(--radius-3);background:var(--line);grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:1px;display:grid;overflow:hidden}.facts>div{padding:var(--sp-3) var(--sp-4);background:var(--ink-1);flex-direction:column;gap:2px;display:flex}.facts dt{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase}.facts dd{font-size:var(--text-base);margin:0;font-weight:600}.facts dd a{color:var(--accent-text);text-decoration:none}.facts dd a:hover{text-decoration:underline}.exercise-guidance-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));display:grid}.exercise-guidance-card{gap:var(--sp-3)}.exercise-guidance-card>svg{color:var(--accent-text)}.exercise-guidance-card h3{margin-bottom:var(--sp-2);font-size:var(--display-xs)}.exercise-guidance-card p,.exercise-guidance-card li{color:var(--fg-2);font-size:var(--text-base)}.exercise-guidance-card ul{gap:var(--sp-2);flex-direction:column;padding:0;list-style:none;display:flex}.exercise-guidance-card li{padding-left:1.1rem;position:relative}.exercise-guidance-card li:before{background:var(--accent);content:"";width:6px;height:2px;position:absolute;top:.72em;left:0}.exercise-guidance-safety{border-color:color-mix(in srgb, var(--warn) 35%, var(--line))}.exercise-guidance-safety>svg{color:var(--warn)}.exercise-guidance-source{margin-top:var(--sp-4);color:var(--fg-3);font-size:var(--text-xs)}.steps>li>p{color:var(--fg-2);font-size:var(--text-base)}.postcard--lead{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,4vw,3rem);display:grid}.postcard--lead .postcard__media{aspect-ratio:4/3}.postcard--lead h2{font-size:var(--display-m)}.postcard--lead h2 a{text-decoration:none}.postcard--lead h2 a:hover{color:var(--accent-text)}@media (max-width:860px){.postcard--lead{grid-template-columns:minmax(0,1fr)}}.postcard__fallback{background:var(--ink-3);width:100%;height:100%;color:var(--accent-text);font-family:var(--font-display);font-size:var(--display-m);letter-spacing:.05em;place-items:center;font-weight:800;display:grid}.rowlink{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-2);background:var(--ink-1);color:var(--fg);transition:border-color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);text-decoration:none;display:flex}.rowlink:hover{border-color:var(--accent);background:var(--accent-soft)}.rowlink>span:first-child{flex-direction:column;gap:2px;min-width:0;display:flex}.rowlink strong{font-size:var(--text-base)}.rowlink small{color:var(--fg-2)}.rowlink>svg{color:var(--accent-text);flex:none}.postcard__meta>span,.excard__tags>span,.breadcrumbs span,.badge{align-items:center;gap:4px;display:inline-flex}}
@layer app{.button{justify-content:center;align-items:center;gap:var(--sp-2);border-radius:var(--radius-2);background:var(--ink-3);min-height:46px;color:var(--fg);font-size:var(--text-base);text-align:center;transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);border:1px solid #0000;padding:.6rem 1.15rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.button:active{transform:translateY(1px)}.button-primary{background:var(--accent);color:var(--on-accent);font-weight:700}.button-primary:hover{background:var(--accent-hover)}.button-secondary{border-color:var(--line-strong);background:var(--ink-2)}.button-secondary:hover{border-color:var(--fg-3)}.button-ghost{border-color:var(--line-strong);background:0 0}.button-ghost:hover{border-color:var(--fg-3);background:var(--ink-2)}.button-danger{border-color:color-mix(in srgb, var(--danger) 45%, transparent);background:var(--danger-soft);color:var(--danger)}.button-danger:hover{border-color:var(--danger)}.button:disabled,.button[aria-disabled=true]{opacity:.55;pointer-events:none}.icon-button{border-radius:var(--radius-2);width:44px;height:44px;color:var(--fg-2);transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease);background:0 0;border:1px solid #0000;place-items:center;display:inline-grid}.icon-button:hover{background:var(--ink-3);color:var(--fg)}.text-link{align-items:center;gap:var(--sp-2);width:fit-content;color:var(--accent-text);font-weight:600;text-decoration:none;display:inline-flex}.text-link:hover{text-underline-offset:.25em;text-decoration:underline}.global-search{align-items:center;gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--radius-2);background:var(--ink-2);max-width:320px;min-height:40px;color:var(--fg-3);font-size:var(--text-sm);transition:border-color var(--dur-1) var(--ease);padding:.35rem .7rem;text-decoration:none;display:inline-flex}.global-search:hover{border-color:var(--line-strong);color:var(--fg-2)}.global-search-copy{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.global-search kbd{flex:none}.global-search-mobile{display:none}@media (max-width:1080px){.global-search{display:none}.global-search-mobile{display:inline-grid}}.search-dialog{border:1px solid var(--line-strong);border-radius:var(--radius-3);background:var(--ink-1);width:min(680px,100vw - 2rem);max-width:none;max-height:min(76dvh,720px);color:var(--fg);box-shadow:var(--shadow-2);margin:min(9dvh,96px) auto auto;padding:0;overflow:hidden}.search-dialog::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.search-command{max-height:inherit;flex-direction:column;display:flex}.search-command-input{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);color:var(--fg-3);display:flex}.search-command-input input{min-height:44px;font-size:var(--text-lg);background:0 0;border:0;flex:1;padding:0}.search-command-input input:focus-visible{outline:none}.search-command-input button{border-radius:var(--radius-1);width:36px;height:36px;color:var(--fg-3);flex:none;place-items:center;display:grid}.search-command-input button:hover{background:var(--ink-3);color:var(--fg)}.search-command-status{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--line);background:var(--ink-2);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;display:flex}.search-spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(1turn)}}.search-command-list{padding:var(--sp-2);overscroll-behavior:contain;flex:1;overflow-y:auto}.search-command-group{padding-block:var(--sp-2)}.search-command-group h3{padding:var(--sp-2) var(--sp-3);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:600}.search-command-option{gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-2);color:var(--fg);grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;text-decoration:none;display:grid}.search-command-option[aria-selected=true]{background:var(--ink-3)}.search-result-icon{border-radius:var(--radius-2);background:var(--ink-3);width:40px;height:40px;color:var(--accent-text);place-items:center;display:grid;overflow:hidden}.search-result-image{object-fit:cover;width:40px;height:40px}.search-command-option-copy{flex-direction:column;min-width:0;line-height:1.3;display:flex}.search-command-option-copy strong{font-size:var(--text-base)}.search-command-option-copy small{color:var(--fg-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-result-context{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.search-command-empty,.search-loading-list{gap:var(--sp-2);padding:var(--sp-7) var(--sp-4);color:var(--fg-3);text-align:center;flex-direction:column;align-items:center;display:flex}.search-loading-list span{border-radius:var(--radius-2);background:linear-gradient(90deg, var(--ink-2), var(--ink-3), var(--ink-2));background-size:200% 100%;width:100%;height:44px;animation:1.2s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.search-command-footer{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line);background:var(--ink-2);font-size:var(--text-sm);display:flex}.search-command-footer a{align-items:center;gap:var(--sp-2);color:var(--accent-text);font-weight:600;text-decoration:none;display:inline-flex}.search-keyboard-help{align-items:center;gap:var(--sp-2);color:var(--fg-3);font-size:var(--text-2xs);display:flex}@media (max-width:620px){.search-keyboard-help{display:none}.search-command-option{grid-template-columns:40px minmax(0,1fr) auto}.search-result-context{display:none}}.exercise-motion-preview{gap:var(--sp-3);flex-direction:column;display:flex}.exercise-motion-stage{aspect-ratio:4/3;border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-2);touch-action:pan-y;position:relative;overflow:hidden}.exercise-motion-stage img{opacity:0;object-fit:cover;transition:opacity var(--dur-2) var(--ease)}.exercise-motion-stage img.active{opacity:1}.exercise-motion-toggle{z-index:2;bottom:var(--sp-3);left:var(--sp-3);align-items:center;gap:var(--sp-2);border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--ink-0) 78%, transparent);min-height:36px;color:var(--fg);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:.3rem .7rem;display:inline-flex;position:absolute}.exercise-frame-count{z-index:2;right:var(--sp-3);bottom:var(--sp-3);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--ink-0) 78%, transparent);color:var(--fg-2);font-family:var(--font-mono);font-size:var(--text-2xs);padding:.25rem .55rem;position:absolute}.exercise-frame-markers{justify-content:center;gap:var(--sp-2);display:flex}.exercise-frame-markers button{place-items:center;width:40px;height:28px;display:grid}.exercise-frame-markers span{border-radius:var(--radius-pill);background:var(--line-strong);width:26px;height:4px;transition:background var(--dur-1) var(--ease)}.exercise-frame-markers .active span{background:var(--accent)}.exercise-swipe-hint{color:var(--fg-3);font-size:var(--text-xs);text-align:center}.exercise-frame-strip{gap:var(--sp-2);display:flex}.exercise-frame-strip button{gap:var(--sp-2);padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--radius-2);background:var(--ink-1);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;flex-direction:column;flex:1;display:flex}.exercise-frame-strip .active{border-color:var(--accent);color:var(--accent-text)}.exercise-frame-thumbnail{aspect-ratio:4/3;border-radius:var(--radius-1);background:var(--ink-3);display:block;position:relative;overflow:hidden}.exercise-frame-thumbnail img{object-fit:cover}.exercise-motion-empty{gap:var(--sp-3);aspect-ratio:4/3;border:1px dashed var(--line-strong);border-radius:var(--radius-3);color:var(--fg-3);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.website-muscle-map{gap:var(--sp-4);padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-1);flex-direction:column;display:flex}.anatomy-figures{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.muscle-figure{gap:var(--sp-2);flex-direction:column;align-items:center;display:flex}.muscle-figure svg{width:100%;height:auto}.anatomy-orientation{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase}.anatomy-base{fill:var(--ink-3);stroke:var(--line-strong);stroke-width:1px}.anatomy-lines{fill:none;stroke:var(--line-strong);stroke-width:1px}.anatomy-region{stroke:var(--line-strong);stroke-width:.75px;transition:fill var(--dur-2) var(--ease)}.anatomy-region.inactive{fill:var(--ink-3)}.anatomy-region.supporting{fill:color-mix(in srgb, var(--accent) 40%, var(--ink-3))}.anatomy-region.primary{fill:var(--accent)}.anatomy-legend{gap:var(--sp-4);color:var(--fg-2);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.anatomy-legend>*{align-items:center;gap:var(--sp-2);display:inline-flex}.anatomy-legend i{border:1px solid var(--line-strong);border-radius:3px;flex:none;width:12px;height:12px;font-style:normal}.anatomy-legend i.primary{background:var(--accent)}.anatomy-legend i.supporting{background:color-mix(in srgb, var(--accent) 40%, var(--ink-3))}.anatomy-legend i.inactive{background:var(--ink-3)}.muscle-distribution-list{gap:var(--sp-3);flex-direction:column;display:flex}.muscle-distribution-list li>div{justify-content:space-between;align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-1);flex-wrap:wrap;display:flex}.muscle-distribution-list li span{color:var(--fg-2);font-size:var(--text-sm)}.distribution-track{border-radius:var(--radius-pill);background:var(--ink-3);height:8px;display:block;position:relative;overflow:hidden}.distribution-track>*{border-radius:inherit;background:var(--accent);height:100%;display:block}.accessible-chart{gap:var(--sp-3);flex-direction:column;margin:0;display:flex}.bar-chart{height:160px;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-2);align-items:flex-end;gap:3px;display:flex}.bar-chart>span{background:var(--accent);border-radius:3px 3px 0 0;flex:1;min-height:2px}.chart-summary-details{color:var(--fg-2);font-size:var(--text-sm)}.chart-summary-details summary{color:var(--accent-text);font-weight:600}.empty-chart{gap:var(--sp-1);flex-direction:column}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-weekday{padding-bottom:var(--sp-2);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-align:center;text-transform:uppercase}.calendar-day{min-height:66px;padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--radius-2);background:var(--ink-1);color:var(--fg-2);font-size:var(--text-xs);flex-direction:column;gap:2px;text-decoration:none;display:flex}.calendar-day.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.calendar-day>span{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs)}.calendar-day a{border-radius:var(--radius-1);background:var(--accent-soft);color:var(--accent-text);font-size:var(--text-2xs);padding:3px 6px;font-weight:600;text-decoration:none}.calendar-nav{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.training-heatmap,.heatmap-layout{gap:var(--sp-3);flex-direction:column;display:flex}.heatmap-weeks{padding-bottom:var(--sp-2);gap:3px;display:flex;overflow-x:auto}.heatmap-week{grid-template-rows:repeat(7,12px);gap:3px;display:grid}.heatmap-week>*{background:var(--ink-3);border-radius:3px;width:12px;height:12px}.heat-level-1{background:color-mix(in srgb, var(--accent) 25%, var(--ink-3))}.heat-level-2{background:color-mix(in srgb, var(--accent) 50%, var(--ink-3))}.heat-level-3{background:color-mix(in srgb, var(--accent) 75%, var(--ink-3))}.heat-level-4{background:var(--accent)}.heatmap-day-labels{color:var(--fg-3);grid-template-rows:repeat(7,12px);gap:3px;font-size:.625rem;display:grid}.heatmap-legend{align-items:center;gap:var(--sp-2);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;display:flex}.heatmap-legend i{border-radius:3px;flex:none;width:12px;height:12px}.heatmap-day-labels span{line-height:12px}.training-heatmap figcaption{justify-content:space-between;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;display:flex}.calculator-shell{gap:var(--sp-5);padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-1);flex-direction:column;display:flex}.calculator-form{gap:var(--sp-4);flex-direction:column;display:flex}.calculator-field{gap:var(--sp-2);flex-direction:column;display:flex}.calculator-input-with-unit{align-items:center;gap:var(--sp-2);display:flex}.calculator-input-with-unit select{width:auto;min-width:6rem}.calculator-result{gap:var(--sp-3);padding:var(--sp-5);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);border-radius:var(--radius-3);background:var(--accent-soft);flex-direction:column;display:flex}.calculator-total{color:var(--fg);font-family:var(--font-display);font-size:var(--display-l);letter-spacing:-.015em;font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.calculator-breakdown{gap:var(--sp-2);color:var(--fg-2);font-size:var(--text-sm);flex-direction:column;display:flex}.calculator-table-wrap{border:1px solid var(--line);border-radius:var(--radius-3);overflow-x:auto}.calculator-table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.calculator-table th,.calculator-table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);text-align:left;font-variant-numeric:tabular-nums}.calculator-table thead th{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase}body:has(.app-shell) .hdr__inner{max-width:none}:is(body:has(.app-shell) .hdr__nav,body:has(.app-shell) .hdr__desktop-only,body:has(.app-shell) .menu,body:has(.app-shell) .ftr){display:none}.app-shell{min-height:calc(100dvh - var(--header-h));grid-template-columns:244px minmax(0,1fr);display:grid}.app-sidebar{top:var(--header-h);height:calc(100dvh - var(--header-h));align-self:start;gap:var(--sp-5);padding:var(--sp-5) var(--sp-4);border-right:1px solid var(--line);background:var(--ink-1);flex-direction:column;display:flex;position:sticky}.app-sidebar nav{flex-direction:column;gap:2px;min-height:0;display:flex;overflow-y:auto}.app-sidebar nav a{align-items:center;gap:var(--sp-3);border-radius:var(--radius-2);min-height:44px;color:var(--fg-2);font-size:var(--text-sm);padding:.5rem .7rem;font-weight:600;text-decoration:none;display:flex}.app-sidebar nav a:hover{background:var(--ink-3);color:var(--fg)}.app-sidebar nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-text)}.sidebar-heading{gap:var(--sp-1);padding-bottom:var(--sp-4);border-bottom:1px solid var(--line);flex-direction:column;display:flex}.sidebar-heading strong{text-overflow:ellipsis;font-size:var(--text-sm);overflow:hidden}.app-sidebar form{margin-top:auto}.app-sidebar form button{width:100%}.app-content{min-width:0;padding:var(--sp-6) var(--gutter) var(--sp-9)}.app-mobile-nav{display:none}@media (max-width:900px){.app-shell{grid-template-columns:minmax(0,1fr)}.app-sidebar{display:none}.app-content{padding-bottom:92px}.app-mobile-nav{z-index:30;border-top:1px solid var(--line);background:color-mix(in srgb, var(--ink-1) 96%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.app-mobile-nav a{min-height:58px;padding:var(--sp-2);color:var(--fg-3);flex-direction:column;align-items:center;gap:3px;font-size:.625rem;font-weight:600;text-decoration:none;display:flex}.app-mobile-nav a[aria-current=page]{color:var(--accent-text)}}.app-page{gap:var(--sp-6);flex-direction:column;width:min(1100px,100%);margin-inline:auto;display:flex}.app-page-header{justify-content:space-between;align-items:end;gap:var(--sp-4);padding-bottom:var(--sp-4);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.app-page-header>div{max-width:760px}.app-section-heading,.app-home-heading,.app-progress-heading,.app-routine-heading,.app-exercise-heading,.results-heading{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.app-shell h2{font-size:var(--display-xs)}.app-section-heading a,.app-home-heading a,.app-progress-heading a,.app-routine-heading a,.results-heading a{color:var(--accent-text);font-size:var(--text-sm);font-weight:700}.app-two-column{gap:var(--sp-5);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);display:grid}@media (max-width:900px){.app-two-column{grid-template-columns:minmax(0,1fr)}}.metric-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));display:grid}.metric-card{gap:var(--sp-1);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-1);flex-direction:column;display:flex}.metric-card strong{font-family:var(--font-display);font-size:var(--display-s);font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.metric-card span,.metric-card small{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase}.metric-card p{color:var(--fg-2);font-size:var(--text-sm)}.list-row,.compact-list>a{justify-content:space-between;align-items:center;gap:var(--sp-3);min-height:56px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-2);background:var(--ink-1);color:var(--fg);flex-wrap:wrap;text-decoration:none;display:flex}.compact-list>a:hover{border-color:var(--line-strong);background:var(--ink-2)}.list-row>span,.compact-list>a>span{flex-direction:column;min-width:0;display:flex}.list-row small,.compact-list>a small{color:var(--fg-3)}.compact-list{gap:var(--sp-2);flex-direction:column;display:flex}.empty-state{gap:var(--sp-3);padding:var(--sp-6);border:1px dashed var(--line-strong);border-radius:var(--radius-3);color:var(--fg-2);flex-direction:column;align-items:start;display:flex}.live-layout{gap:var(--sp-5);grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;display:grid}@media (max-width:1000px){.live-layout{grid-template-columns:minmax(0,1fr)}}.live-main,.live-aside{gap:var(--sp-4);flex-direction:column;min-width:0;display:flex}.live-exercise{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-1);flex-direction:column;display:flex}.live-set-row input{font-variant-numeric:tabular-nums;text-align:center;min-height:44px}.live-status{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-flow:wrap;display:flex}.live-status>div,.live-status>span{align-items:center;gap:var(--sp-2);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;display:inline-flex}.live-status>strong{font-family:var(--font-mono);font-size:var(--text-xl);font-variant-numeric:tabular-nums}.save-dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.rest-timer{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-2);background:var(--ink-2);font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex-flow:wrap;display:flex}.rest-timer>svg{color:var(--accent)}.rest-timer>strong{font-size:var(--text-xl)}.set-complete,.set-remove{border:1px solid var(--line-strong);border-radius:var(--radius-2);width:40px;height:40px;color:var(--fg-2);place-items:center;display:grid}.set-complete[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.previous-performance,.source-note,.app-progression-note{color:var(--fg-3);font-size:var(--text-xs)}.source-note code{overflow-wrap:anywhere}.potential-pr{color:var(--accent-text);font-weight:600}.editor-layout{gap:var(--sp-5);grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;display:grid}@media (max-width:1000px){.editor-layout{grid-template-columns:minmax(0,1fr)}}.editor-main,.editor-aside{gap:var(--sp-4);flex-direction:column;min-width:0;display:flex}.editor-exercise{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-1);flex-direction:column;display:flex}.editor-exercise-header{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.editor-exercise-header>div:first-child{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.editor-exercise-toggle{align-items:center;gap:var(--sp-2);text-align:left;display:inline-flex}.editor-exercise-toggle>span{flex-direction:column;gap:2px;min-width:0;display:flex}.editor-exercise-toggle strong{font-size:var(--text-md)}.editor-exercise-toggle small{color:var(--fg-3)}.drag-grip{color:var(--fg-3);cursor:grab}.drag-grip:active{cursor:grabbing}.rating-row button{border:1px solid var(--line);border-radius:var(--radius-2);min-height:44px;color:var(--fg-2);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.rating-row button.selected{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.sticky-save{align-items:stretch;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--radius-3);background:color-mix(in srgb, var(--ink-1) 96%, transparent);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;display:flex}@media (min-width:1001px){.sticky-save{top:calc(var(--header-h) + var(--sp-4));z-index:5;position:sticky}}.field-matrix{gap:var(--sp-2);flex-direction:column;display:flex}.form-row,.rating-row{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));align-items:start;display:grid}.target-table,.live-set-table{gap:var(--sp-2);flex-direction:column;display:flex;overflow-x:auto}.target-heading,.target-row,.live-set-heading,.live-set-row{align-items:center;gap:var(--sp-2);min-width:max-content;display:grid}.target-heading,.target-row{grid-template-columns:38px 106px repeat(7,76px) 44px}.target-heading,.live-set-heading{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.target-row input,.target-row select,.live-set-row select{width:100%;min-height:42px}.weekday-picker{gap:var(--sp-2);flex-wrap:wrap;display:flex}.weekday-fieldset{border:0;padding:0}.weekday-picker label,.weekday-picker button{justify-content:center;align-items:center;gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--radius-pill);min-width:44px;min-height:44px;color:var(--fg-2);font-size:var(--text-sm);cursor:pointer;padding:.4rem .8rem;font-weight:600;display:inline-flex}.weekday-picker button.selected{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.weekday-fieldset legend{padding:0;font-weight:700}.weekday-picker input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.weekday-picker label:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.candidate-list{gap:var(--sp-2);flex-direction:column;max-height:320px;display:flex;overflow-y:auto}.candidate-list button{min-height:52px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-2);background:var(--ink-1);color:var(--fg)}.candidate-list button:hover{border-color:var(--line-strong);background:var(--ink-2)}.candidate-list button span{flex-direction:column;min-width:0;display:flex}.candidate-list small{color:var(--fg-3)}.filter-strip{align-items:end;gap:var(--sp-3);flex-flow:wrap;display:flex}.card-raised{box-shadow:var(--shadow-1)}.filter-strip .field{min-width:180px}.danger-zone{border-color:color-mix(in srgb, var(--danger) 40%, transparent);background:var(--danger-soft)}.danger-icon{color:var(--danger)}.sync-card,.contact-card,.focus-card,.app-today-card,.app-weekly-goal,.app-workout-summary,.app-week-summary,.profile-facts{gap:var(--sp-3);padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-1);flex-direction:column;display:flex}.sync-card{align-items:center;gap:var(--sp-4);grid-template-columns:auto minmax(0,1fr);display:grid}.sync-card>svg{color:var(--success)}.profile-facts>div{justify-content:space-between;gap:var(--sp-4);padding-bottom:var(--sp-3);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.profile-facts>div:last-child{border-bottom:0;padding-bottom:0}.profile-facts dt{color:var(--fg-2)}.profile-facts dd{font-weight:700}.sync-warning{border-left:3px solid var(--warn);background:var(--warn-soft);color:var(--warn)}.notice-error{border-left-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.honeypot{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.auth-shell{min-height:calc(100dvh - var(--header-h) - 200px);padding-block:var(--band-y-tight);place-items:center;display:grid}.auth-card{gap:var(--sp-4);width:min(430px,100%);padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-1);box-shadow:var(--shadow-1);flex-direction:column;display:flex}.auth-links{justify-content:space-between;gap:var(--sp-3);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.auth-links a{color:var(--accent-text);font-weight:600;text-decoration:none}.app-home-preview,.app-live-preview,.app-routine-preview,.app-progress-preview,.app-movement-preview,.about-preview-device{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-1);box-shadow:var(--shadow-1);flex-direction:column;display:flex}.app-preview-titlebar,.about-preview-header{justify-content:space-between;align-items:center;gap:var(--sp-3);padding-bottom:var(--sp-3);border-bottom:1px solid var(--line);display:flex}.app-preview-kicker,.about-preview-note{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase}.app-preview-icon{border-radius:var(--radius-2);background:var(--accent-soft);width:34px;height:34px;color:var(--accent-text);place-items:center;display:grid}.app-preview-field,.about-preview-set,.app-set-grid,.app-set-labels,.app-routine-exercise,.app-guide-row{gap:var(--sp-2);font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;grid-template-columns:repeat(auto-fit,minmax(min(100%,72px),1fr));align-items:center;display:grid}.app-set-labels{color:var(--fg-3);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase}.about-preview-saved,.app-preview-finish{align-items:center;gap:var(--sp-2);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;display:inline-flex}.about-preview-glow{display:none}.app-exercise-card,.app-muscle-guide,.app-muscle-summary,.app-exercise-guidance,.app-fields-callout,.start-workout-page,.new-workout-form,.focus-card{gap:var(--sp-3);flex-direction:column;display:flex}.app-guide-tabs,.app-set-toolbar,.app-train-action,.progress-links,.app-training-days{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.progress-links{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));display:grid}.progress-links a{gap:var(--sp-1);flex-direction:column;text-decoration:none;display:flex}.progress-links a span{color:var(--fg-2);font-size:var(--text-sm)}.app-guide-tabs button,.app-training-days span{border:1px solid var(--line);border-radius:var(--radius-pill);min-height:40px;font-size:var(--text-sm);padding:.4rem .8rem;font-weight:600}.app-guide-tabs button[aria-selected=true],.app-guide-tabs button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.app-movement-title{align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;display:flex}.app-motion-frames,.app-frame-track{gap:var(--sp-2);display:flex;overflow-x:auto}.app-muscle-distribution,.app-progress-metrics{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));display:grid}.routine-list-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));display:grid}.focus-button{justify-content:center;align-items:center;gap:var(--sp-2);border:1px dashed var(--line-strong);border-radius:var(--radius-2);min-height:46px;color:var(--fg-2);padding:.6rem 1.1rem;font-weight:600;display:inline-flex}.add-live-exercise{align-items:end;gap:var(--sp-3);grid-template-columns:minmax(0,1fr) auto;display:grid}@media (max-width:700px){.add-live-exercise{grid-template-columns:minmax(0,1fr)}}.focus-card{justify-content:space-between;align-items:end;gap:var(--sp-5);border-radius:var(--radius-4);background:var(--accent);color:var(--on-accent);border-color:#0000;flex-flow:wrap;padding:clamp(1.5rem,4vw,2.75rem)}.focus-card h2{color:inherit;font-size:var(--display-m)}.focus-card .badge{background:color-mix(in srgb, var(--on-accent) 14%, transparent);color:inherit;border-color:#0000}.focus-button{background:var(--on-accent);color:var(--accent);white-space:nowrap;border:0;flex:none}.focus-button:hover{background:color-mix(in srgb, var(--on-accent) 88%, var(--accent));color:var(--accent)}.empty-copy{gap:var(--sp-1);min-height:120px;color:var(--fg-2);font-size:var(--text-sm);flex-direction:column;justify-content:center;display:flex}.empty-copy strong{color:var(--fg);font-size:var(--text-base)}.live-set-row.completed{opacity:.72}.set-complete.done{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.rest-timer.running{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.editor-exercise.sorting,.live-exercise.sorting{border-color:var(--accent);opacity:.85}.calendar-day.outside{opacity:.45}.save-dot.error{background:var(--danger)}.notice-success{border-left-color:var(--success);background:var(--success-soft);color:var(--success)}.heat-level-0{background:var(--ink-3)}.selected{border-color:var(--accent)}}
@layer components{.container{width:100%;max-width:var(--wrap);padding-inline:var(--gutter);margin-inline:auto}.narrow{width:100%;max-width:calc(var(--wrap-narrow) + var(--gutter) * 2);padding-inline:var(--gutter);gap:var(--sp-4);flex-direction:column;margin-inline:auto;display:flex}.section{padding-block:var(--band-y)}.section-tight{padding-block:var(--band-y-tight)}.surface-section{background:var(--ink-1);border-block:1px solid var(--line)}.page-hero,.legal-hero,.contact-hero{padding-block:clamp(2.25rem, 4.5vw, 4rem) var(--band-y-tight);display:block}.legal-hero>.narrow,.contact-hero>.narrow{gap:var(--sp-4)}.section-heading{gap:var(--sp-3);flex-direction:column;max-width:52ch;display:flex}.policy-date{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase}.legal-layout{grid-template-columns:minmax(0,1fr);gap:clamp(2rem,4vw,3.5rem);display:grid}@media (min-width:1000px){.legal-layout{grid-template-columns:240px minmax(0,1fr);align-items:start}.legal-toc{top:calc(var(--header-h) + var(--sp-5));max-height:calc(100dvh - var(--header-h) - var(--sp-8));position:sticky;overflow-y:auto}}.legal-toc{gap:var(--sp-2);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-2);font-size:var(--text-sm);flex-direction:column;display:flex}.legal-toc strong{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.16em;text-transform:uppercase;font-weight:600}.legal-toc a{color:var(--fg-2);text-decoration:none}.legal-toc a:hover{color:var(--accent-text)}.legal-document{gap:var(--sp-5);max-width:var(--wrap-read);font-size:var(--text-md);flex-direction:column;line-height:1.7;display:flex}.legal-document section{gap:var(--sp-3);scroll-margin-top:calc(var(--header-h) + var(--sp-5));flex-direction:column;padding-block:0;display:flex}.legal-document h2{margin-top:var(--sp-5);font-size:var(--display-s);scroll-margin-top:calc(var(--header-h) + var(--sp-5))}.legal-document h3{font-size:var(--display-xs)}.legal-document p,.legal-document li{color:var(--fg-2)}.legal-document strong{color:var(--fg)}.legal-document a{color:var(--accent-text);font-weight:600}.legal-document ul,.legal-document ol{gap:var(--sp-2);flex-direction:column;padding-left:1.25rem;display:flex}.legal-callout{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius-2);background:var(--ink-2);display:flex}.legal-callout.warning{border-left-color:var(--warn);background:var(--warn-soft);color:var(--warn)}.legal-callout>svg{flex:none}.policy-table{border:1px solid var(--line);border-radius:var(--radius-3);overflow-x:auto}.policy-table table{width:100%;font-size:var(--text-base)}.policy-table th,.policy-table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.policy-table thead th{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase}.privacy-summary-grid,.term-principles,.safety-action-grid,.deletion-choice-grid,.contact-topic-grid,.disclaimer-limits>div:last-child{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));display:grid}.privacy-summary-grid>*,.term-principles>*,.contact-topic-grid>*{gap:var(--sp-2);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--ink-1);flex-direction:column;display:flex}.contact-topic-grid svg{color:var(--accent-text)}.contact-topic-grid span{color:var(--fg-2);font-size:var(--text-sm)}.deletion-choice,.safety-action-grid>.card{gap:var(--sp-3)}.deletion-choice.emphasized,.card.emphasized{border-color:color-mix(in srgb, var(--accent) 50%, transparent);background:var(--accent-soft)}.card.urgent{border-color:color-mix(in srgb, var(--danger) 45%, transparent);background:var(--danger-soft)}.card.urgent h2,.card.urgent h3{color:var(--danger)}.deletion-process,.disclaimer-limits{gap:var(--sp-5);flex-direction:column;display:flex}.deletion-faq{gap:var(--sp-4);flex-direction:column;display:flex}.deletion-faq details{padding-bottom:var(--sp-3);border-bottom:1px solid var(--line)}.deletion-faq summary{padding-block:var(--sp-3);font-weight:600}.contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,4vw,3.5rem);display:grid}@media (max-width:900px){.contact-layout{grid-template-columns:minmax(0,1fr)}}.contact-guidance{gap:var(--sp-4);flex-direction:column;display:flex}.contact-guidance ul{gap:var(--sp-2);color:var(--fg-2);flex-direction:column;padding-left:1.25rem;display:flex}.check-list{gap:var(--sp-2);color:var(--fg-2);flex-direction:column;display:flex}.check-list li{align-items:start;gap:var(--sp-2);display:flex}.final-cta,.product-decision-band{background:var(--ink-1);border-block:1px solid var(--line)}.product-decision-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,4vw,3.5rem);display:grid}@media (max-width:900px){.product-decision-grid{grid-template-columns:minmax(0,1fr)}}.instruction-list{gap:var(--sp-4);counter-reset:instruction;flex-direction:column;display:flex}.instruction-list>li{gap:var(--sp-3);grid-template-columns:2rem minmax(0,1fr);align-items:start;display:grid}.instruction-list>li>span{color:var(--accent-text);font-family:var(--font-mono);font-size:var(--text-sm)}.contact-card.form-grid{gap:var(--sp-4);flex-direction:column;display:flex}.contact-card .form-row{align-items:start}}
@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-center{text-align:center}.text-balance{text-wrap:balance}.no-wrap{white-space:nowrap}.full-width{width:100%}.fit{width:fit-content}.mt-auto{margin-top:auto}.center-x{margin-inline:auto}.hide{display:none}@media (max-width:860px){.hide-sm{display:none}}@media (min-width:861px){.hide-lg{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.hdr,.ftr,.installbar,.search-dialog,.cta{display:none!important}body{color:#000;background:#fff}}}
@layer reset,tokens,base,layout,components,app,utilities;
