.fx .fx-tool-grid{display:grid;gap:16px;align-items:start}.fx .fx-panel{--fx-r:24px;position:relative;border-radius:var(--fx-r);background:var(--fx-surface);border:1px solid var(--fx-line);padding:clamp(18px,2.4vw,32px)}.fx .fx-form,.fx .fx-results{display:grid;gap:22px}.fx .fx-results{align-content:start}@media (min-width:1024px){.fx .fx-tool-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.3fr);gap:20px}.fx .fx-tool-grid>.fx-form--sticky{position:sticky;top:calc(var(--fx-header-h) + 16px)}}.fx .fx-field{margin:0;padding:0;border:0;min-width:0;display:grid;gap:10px}.fx .fx-field-label{padding:0;font:600 13px/1.2 var(--fx-font-body),sans-serif;color:var(--fx-text)}.fx .fx-optional{font-weight:500;color:var(--fx-muted)}.fx .fx-hint{font-size:13px;line-height:1.45;color:var(--fx-muted)}.fx .fx-form-pair{display:grid;gap:22px 16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.fx .fx-seg-track{--fx-r:999px;display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:calc(var(--fx-radius-md) + 4px);background:var(--fx-surface-2);border:1px solid var(--fx-line)}.fx .fx-seg-opt{position:relative;flex:1 1 auto;min-width:max-content}.fx .fx-seg-opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.fx .fx-seg-opt span{display:grid;place-items:center;min-height:44px;padding:0 14px;border-radius:var(--fx-radius-md);font:600 14px/1 var(--fx-font-body),sans-serif;color:var(--fx-text-2);transition:background-color .2s var(--fx-ease),color .2s var(--fx-ease),box-shadow .2s;pointer-events:none}.fx .fx-seg--sm .fx-seg-opt span{min-height:44px;padding:0 10px;font-size:13px}.fx .fx-seg-opt:hover span{color:var(--fx-text)}.fx .fx-seg-opt input:checked+span{background:var(--fx-surface);color:var(--fx-text);box-shadow:var(--fx-shadow-sm),0 0 0 1px var(--fx-line-strong)}.fx .fx-seg-opt input:focus-visible+span{outline:2px solid var(--fx-focus);outline-offset:2px}.fx .fx-seg[disabled]{opacity:.45}.fx .fx-seg[disabled] .fx-seg-opt input{cursor:not-allowed}.fx .fx-choices-grid{display:grid;gap:8px;grid-template-columns:repeat(var(--cols,1),minmax(0,1fr))}.fx .fx-choice{position:relative;cursor:pointer}.fx .fx-choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.fx .fx-choice-body{--fx-r:14px;display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 10px;min-height:52px;padding:12px 14px;border-radius:var(--fx-r);border:1px solid var(--fx-line);background:var(--fx-surface-2);transition:border-color .2s,background-color .2s;pointer-events:none}.fx .fx-choice-body:not(:has(.fx-choice-icon)){grid-template-columns:1fr}.fx .fx-choice-icon{grid-row:span 2;font-size:18px;font-weight:600;color:var(--fx-accent-text)}.fx .fx-choice-title{font-weight:600;font-size:15px;color:var(--fx-text)}.fx .fx-choice-detail{font-size:13px;color:var(--fx-muted)}.fx .fx-choice:hover .fx-choice-body{border-color:var(--fx-line-strong)}.fx .fx-choice input:checked+.fx-choice-body{border-color:var(--fx-accent-text);background:var(--primary-soft)}.fx .fx-choice input:checked+.fx-choice-body .fx-choice-title:after{content:"";display:inline-block;width:7px;height:7px;margin-left:8px;border-radius:50%;background:var(--fx-accent);box-shadow:0 0 0 3px var(--primary-soft);vertical-align:middle}.fx .fx-choice input:focus-visible+.fx-choice-body{outline:2px solid var(--fx-focus);outline-offset:2px}.fx .fx-checks-row{display:flex;flex-wrap:wrap;gap:8px}.fx .fx-checks .fx-chip{cursor:pointer;text-transform:none}.fx .fx-chip-box{width:14px;height:14px;border-radius:4px;border:1.5px solid;opacity:.6;display:grid;place-items:center}.fx .fx-chip:has(input:checked) .fx-chip-box{opacity:1;background:var(--fx-accent);border-color:var(--fx-accent-text)}.fx .fx-chip:has(input:checked) .fx-chip-box:after{content:"";width:6px;height:3px;border:2px solid var(--fx-accent-ink);border-top:0;border-right:0;transform:translateY(-1px) rotate(-45deg)}.fx .fx-chip:has(input:focus-visible){outline:2px solid var(--fx-focus);outline-offset:2px}.fx .fx-chip[data-locked=true]{cursor:default;opacity:.75}.fx .fx-switch{--fx-r:12px;display:inline-flex;align-items:center;gap:12px;min-height:44px;border-radius:var(--fx-r);font-weight:600;font-size:14px;text-align:left}.fx .fx-switch-track{position:relative;flex:none;width:44px;height:26px;border-radius:999px;background:var(--fx-line-strong);transition:background-color .25s var(--fx-ease)}.fx .fx-switch-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--fx-surface);box-shadow:var(--fx-shadow-sm);transition:transform .3s var(--fx-ease)}.fx .fx-switch[aria-checked=true] .fx-switch-track{background:var(--fx-accent)}.fx .fx-switch[aria-checked=true] .fx-switch-thumb{transform:translateX(18px);background:var(--fx-accent-ink)}.fx .fx-measure-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.fx .fx-measure-value{--fx-r:14px;display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:var(--fx-r);background:var(--fx-surface-2);border:1px solid var(--fx-line);transition:border-color .2s}.fx .fx-measure-value:focus-within{border-color:var(--fx-text)}.fx .fx-step{--fx-r:10px;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--fx-r);color:var(--fx-text);transition:background-color .2s}.fx .fx-step:hover:not([disabled]){background:color-mix(in srgb,var(--fx-text) 8%,transparent)}.fx .fx-step[disabled]{opacity:.35;cursor:not-allowed}.fx .fx-measure-input{--fx-r:8px;width:4.2ch;min-height:44px;border:0;border-radius:var(--fx-r);background:transparent;color:var(--fx-text);font-size:26px;text-align:right;padding:0 2px;caret-color:var(--fx-text)}.fx .fx-measure-input:focus{outline:none}.fx .fx-measure-input::placeholder{color:var(--fx-muted)}.fx .fx-measure-unit{min-width:3ch;font:500 12px/1 var(--fx-font-mono),monospace;color:var(--fx-muted)}.fx .fx-measure--compact .fx-measure-top{flex-direction:column;align-items:stretch}.fx .fx-range{--fx-r:999px;-webkit-appearance:none;appearance:none;width:100%;height:44px;margin:0;background:transparent;cursor:pointer}.fx .fx-range::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:linear-gradient(to right,var(--fx-accent) var(--fill),var(--fx-line-strong) var(--fill))}.fx .fx-range::-moz-range-track{height:6px;border-radius:999px;background:linear-gradient(to right,var(--fx-accent) var(--fill),var(--fx-line-strong) var(--fill))}.fx .fx-range::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-9px;border-radius:50%;background:var(--fx-surface);border:3px solid var(--fx-accent);box-shadow:var(--fx-shadow-sm);transition:transform .2s var(--fx-ease)}.fx .fx-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--fx-surface);border:3px solid var(--fx-accent)}.fx .fx-range:active::-webkit-slider-thumb{transform:scale(1.15)}.fx .fx-result-hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px}.fx .fx-hero-figure{display:block;font-size:clamp(44px,4.4vw,64px);line-height:.95;font-variant-numeric:lining-nums proportional-nums;color:var(--fx-text)}.fx .fx-hero-line{display:flex;align-items:baseline;gap:10px}.fx .fx-hero-unit{font:600 14px/1 var(--fx-font-mono),monospace;color:var(--fx-muted)}.fx .fx-status{--fx-r:999px;display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 14px;border-radius:var(--fx-r);border:1px solid var(--fx-line-strong);font-weight:600;font-size:14px;color:var(--fx-text)}.fx .fx-status-dot{width:10px;height:10px;border-radius:50%;background:var(--fx-band)}.fx .fx-band--under{--fx-band:var(--fx-band-under)}.fx .fx-band--healthy{--fx-band:var(--fx-band-healthy)}.fx .fx-band--over{--fx-band:var(--fx-band-over)}.fx .fx-band--obese{--fx-band:var(--fx-band-obese)}.fx .fx-muted{color:var(--fx-muted)}.fx .fx-gauge{padding-top:46px}.fx .fx-gauge-bar{position:relative;display:flex;gap:2px;height:14px}.fx .fx-gauge-seg{position:relative;flex-basis:0;min-width:0;background:var(--fx-band);opacity:.9}.fx .fx-gauge-seg:first-child{border-radius:4px 0 0 4px}.fx .fx-gauge-seg:nth-last-child(2){border-radius:0 4px 4px 0}.fx .fx-gauge-seg em{position:absolute;top:calc(100% + 26px);left:0;font:500 11px/1.2 var(--fx-font-mono),monospace;font-style:normal;letter-spacing:.03em;text-transform:uppercase;color:var(--fx-muted);white-space:nowrap}.fx .fx-gauge-marker{top:-8px;bottom:-8px;width:3px;margin-left:-1.5px;border-radius:2px;box-shadow:0 0 0 2px var(--fx-surface);transition:left .7s var(--fx-ease)}.fx .fx-gauge-bubble,.fx .fx-gauge-marker{position:absolute;background:var(--fx-text)}.fx .fx-gauge-bubble{bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);padding:5px 9px;border-radius:8px;color:var(--fx-bg);font-size:16px;line-height:1;white-space:nowrap}.fx .fx-gauge-ticks{position:relative;height:18px;margin-top:6px}.fx .fx-gauge-ticks span{position:absolute;transform:translateX(-50%);font:500 11px/1 var(--fx-font-mono),monospace;color:var(--fx-text-2)}.fx .fx-gauge{padding-bottom:22px}.fx .fx-range-card{--fx-r:18px;display:grid;gap:6px;padding:18px;border-radius:var(--fx-r);background:var(--fx-surface-2);border:1px solid var(--fx-line)}.fx .fx-range-value{font-size:clamp(30px,3vw,42px)}.fx .fx-tiles{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.fx .fx-tile{--fx-r:16px;display:grid;align-content:start;gap:6px;padding:16px;border-radius:var(--fx-r);border:1px solid var(--fx-line)}.fx .fx-tile dt{display:inline-flex;align-items:center;gap:6px;font:500 11px/1.2 var(--fx-font-mono),monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--fx-muted)}.fx .fx-tile dd{font-size:28px;color:var(--fx-text)}.fx .fx-tile p{font-size:13px;line-height:1.45;color:var(--fx-muted)}.fx .fx-note{--fx-r:14px;display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:var(--fx-r);background:var(--primary-soft);border-left:3px solid var(--fx-accent-text);font-size:14px;color:var(--fx-text)}.fx .fx-note svg{flex:none;margin-top:2px}.fx .fx-note--warn{background:var(--warning-soft);border-left-color:var(--warning)}.fx .fx-note--warn svg{color:var(--warning-text)}.fx .fx-fineprint{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.5;color:var(--fx-muted)}.fx .fx-fineprint svg{flex:none;margin-top:3px}.fx .fx-ladder{display:grid;gap:10px}.fx .fx-ladder-row{display:grid;grid-template-columns:112px 1fr;align-items:center;gap:12px}.fx .fx-ladder-label{font-size:13px;color:var(--fx-text-2)}.fx .fx-ladder-track{display:flex;align-items:center;gap:10px;min-width:0}.fx .fx-ladder-bar{height:18px;min-width:4px;border-radius:0 4px 4px 0;background:var(--fx-line-strong);transition:width .7s var(--fx-ease)}.fx .fx-ladder-row--target .fx-ladder-bar{background:var(--fx-text)}.fx .fx-ladder-row--target .fx-ladder-label{font-weight:600;color:var(--fx-text)}.fx .fx-ladder-value{font-size:18px;white-space:nowrap;color:var(--fx-text)}.fx .fx-change{font-size:15px;color:var(--fx-text-2)}.fx .fx-change strong{color:var(--fx-text)}.fx .fx-macros{display:grid;gap:16px}.fx .fx-macro-bar{display:flex;gap:2px;height:22px}.fx .fx-macro-seg{flex-basis:0;min-width:6px;transition:flex-grow .7s var(--fx-ease)}.fx .fx-macro-seg:first-child{border-radius:4px 0 0 4px}.fx .fx-macro-seg:last-child{border-radius:0 4px 4px 0}.fx .fx-macro--protein{background:var(--fx-series-protein)}.fx .fx-macro--fat{background:var(--fx-series-fat)}.fx .fx-macro--carbs{background:var(--fx-series-carbs)}.fx .fx-swatch{display:inline-block;flex:none;width:10px;height:10px;margin-right:6px;border-radius:3px;vertical-align:baseline}.fx .fx-macro-list{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.fx .fx-macro-item{display:grid;gap:6px;padding:14px;border-radius:var(--fx-radius-md);border:1px solid var(--fx-line)}.fx .fx-macro-item dt{display:flex;align-items:center;font-weight:600;font-size:14px}.fx .fx-macro-item dd{display:grid;gap:4px}.fx .fx-macro-g{font-size:28px}.fx .fx-macro-item dd>span:last-child{font-size:12px;color:var(--fx-muted)}.fx .fx-working{display:grid;gap:10px;padding-left:20px;list-style:decimal;font-size:14px;color:var(--fx-text-2)}.fx .fx-groceries summary{--fx-r:14px;display:flex;align-items:center;gap:10px;min-height:52px;padding:0 16px;border-radius:var(--fx-r);cursor:pointer;font-weight:600;list-style:none}.fx .fx-groceries summary::-webkit-details-marker{display:none}.fx .fx-groceries summary:after{content:"+";margin-left:auto;font:500 20px/1 var(--fx-font-mono),monospace;color:var(--fx-muted);transition:transform .3s var(--fx-ease)}.fx .fx-groceries[open] summary:after{transform:rotate(45deg)}.fx .fx-working strong{color:var(--fx-text)}.fx .fx-plan-title{margin:4px 0 2px;font-size:clamp(26px,2.6vw,38px)}.fx .fx-plan-actions{display:flex;gap:8px}.fx .fx-spin{animation:fx-spin .9s linear infinite}@keyframes fx-spin{to{transform:rotate(1turn)}}.fx .fx-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.fx .fx-week-day>*{--fx-r:12px;display:grid;align-content:start;gap:6px;width:100%;min-height:72px;padding:10px 8px;border-radius:var(--fx-r);text-align:left;font-size:12px;line-height:1.2}.fx .fx-week-day small{font:500 10px/1 var(--fx-font-mono),monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--fx-muted)}.fx .fx-week-day[data-type=rest]>div{border:1px dashed var(--fx-line-strong);color:var(--fx-muted)}.fx .fx-week-day[data-type=train] button{background:var(--fx-surface-2);border:1px solid var(--fx-line);font-weight:600;color:var(--fx-text);transition:background-color .2s,border-color .2s}.fx .fx-week-day[data-type=train] button:hover{border-color:var(--fx-line-strong)}.fx .fx-week-day[data-active=true] button{background:var(--fx-accent);border-color:var(--fx-accent-text);color:var(--fx-accent-ink)}.fx .fx-week-day[data-active=true] small{color:var(--fx-accent-ink);opacity:.85}.fx .fx-session{display:grid;gap:12px}.fx .fx-session-head{display:grid;gap:6px;padding-bottom:6px}.fx .fx-session-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--fx-muted)}.fx .fx-session-targets{text-transform:capitalize}.fx .fx-phase{--fx-r:14px;display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:var(--fx-r);background:var(--fx-surface-2);font-size:14px;color:var(--fx-text-2)}.fx .fx-phase svg{flex:none;margin-top:2px;color:var(--fx-accent-text)}.fx .fx-phase--hot svg{color:var(--warning-text)}.fx .fx-phase strong{color:var(--fx-text)}.fx .fx-blocks{display:grid;gap:8px}.fx .fx-block{--fx-r:16px;position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"media body swap" "media rx swap";align-items:center;gap:4px 14px;padding:10px;border-radius:var(--fx-r);border:1px solid var(--fx-line);background:var(--fx-surface)}.fx .fx-block-media{--fx-r:12px;grid-area:media;display:block;width:64px;height:64px;border-radius:var(--fx-r);overflow:hidden;background:var(--fx-plate)}.fx .fx-block-body{grid-area:body;min-width:0}.fx .fx-block-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:500 11px/1.2 var(--fx-font-mono),monospace;letter-spacing:.04em;text-transform:uppercase;color:var(--fx-muted)}.fx .fx-block-kicker .fx-tag{padding:3px 7px;font-size:10px}.fx .fx-block-name{margin:4px 0 2px;font-size:16px;font-weight:600;line-height:1.25;text-transform:capitalize}.fx .fx-block-name a:hover{text-decoration:underline;text-underline-offset:3px}.fx .fx-block-meta{text-transform:capitalize}.fx .fx-block-meta,.fx .fx-block-rx{font-size:12px;color:var(--fx-muted)}.fx .fx-block-rx{grid-area:rx;display:flex;align-items:baseline;gap:10px}.fx .fx-block-rx strong{font-size:20px;color:var(--fx-text)}.fx .fx-block-swap{grid-area:swap;position:relative}.fx .fx-swap-count{position:absolute;top:-4px;right:-4px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--fx-accent);color:var(--fx-accent-ink);font:600 10px/1 var(--fx-font-mono),monospace}.fx .fx-rules{display:grid;gap:8px;padding-top:14px;border-top:1px solid var(--fx-line);font-size:14px;color:var(--fx-text-2)}.fx .fx-rules strong{color:var(--fx-text)}.fx .fx-skeleton{display:grid;gap:10px}.fx .fx-skeleton span{height:72px;border-radius:var(--fx-radius-lg);background:linear-gradient(90deg,var(--fx-surface-2),var(--fx-line),var(--fx-surface-2));background-size:200% 100%;animation:fx-shimmer 1.4s linear infinite}.fx .fx-skeleton span:first-child{height:110px}@keyframes fx-shimmer{to{background-position:-200% 0}}@media (min-width:640px){.fx .fx-block{grid-template-columns:76px minmax(0,1fr) auto auto;grid-template-areas:"media body rx swap"}.fx .fx-block-media{width:76px;height:76px}.fx .fx-block-rx{flex-direction:column;align-items:flex-end;gap:2px;text-align:right}}@media (max-width:560px){.fx .fx-week{grid-template-columns:repeat(4,minmax(0,1fr))}}.fx .fx-target-card{--fx-r:16px;display:grid;gap:6px;padding:16px;border-radius:var(--fx-r);background:var(--fx-surface-2);border:1px solid var(--fx-line)}.fx .fx-target-kcal{font-size:34px}.fx .fx-meal-macros,.fx .fx-target-macros{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:13px;color:var(--fx-text-2)}.fx .fx-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:4px;border-radius:calc(var(--fx-radius-md) + 4px);background:var(--fx-surface-2);border:1px solid var(--fx-line)}.fx .fx-day-tab{--fx-r:12px;display:grid;gap:4px;justify-items:center;min-height:52px;padding:8px 2px;border-radius:var(--fx-r);font-weight:600;font-size:14px;color:var(--fx-text-2);transition:background-color .2s,color .2s}.fx .fx-day-tab small{font-size:11px;color:var(--fx-muted)}.fx .fx-day-tab[aria-selected=true]{background:var(--fx-text);color:var(--fx-bg)}.fx .fx-day-tab[aria-selected=true] small{color:inherit;opacity:.75}.fx .fx-day-panel{display:grid;gap:18px}.fx .fx-meters{display:grid;gap:12px 20px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.fx .fx-meter{display:grid;gap:6px}.fx .fx-meter-top{display:flex;justify-content:space-between;gap:8px;font-size:13px;font-weight:600}.fx .fx-meter-top>span:first-child{display:inline-flex;align-items:center}.fx .fx-meter-track{position:relative;display:block;height:8px;border-radius:999px;background:var(--fx-line)}.fx .fx-meter-fill{display:block;height:100%;border-radius:999px;background:var(--fx-text);transition:width .6s var(--fx-ease)}.fx .fx-meter--protein .fx-meter-fill{background:var(--fx-series-protein)}.fx .fx-meter--fat .fx-meter-fill{background:var(--fx-series-fat)}.fx .fx-meter--carbs .fx-meter-fill{background:var(--fx-series-carbs)}.fx .fx-meter-target{position:absolute;right:0;top:-3px;bottom:-3px;width:2px;background:var(--fx-text);border-radius:2px}.fx .fx-meals{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.fx .fx-meal{--fx-r:18px;display:grid;align-content:start;gap:10px;padding:16px;border-radius:var(--fx-r);border:1px solid var(--fx-line);background:var(--fx-surface)}.fx .fx-meal-head{display:flex;align-items:center;justify-content:space-between}.fx .fx-meal-head .fx-icon-btn{width:44px;height:44px}.fx .fx-meal-name{font-size:18px;font-weight:600;line-height:1.2}.fx .fx-meal-macros strong{font-size:18px;color:var(--fx-text)}.fx .fx-meal-items{display:grid;gap:4px;padding:10px 0;border-block:1px solid var(--fx-line);font-size:14px;color:var(--fx-text-2)}.fx .fx-meal-items li{display:grid;grid-template-columns:84px 1fr;gap:8px}.fx .fx-meal-items .fx-num{font-size:15px;color:var(--fx-text)}.fx .fx-meal-method{font-size:13px;line-height:1.5;color:var(--fx-muted)}.fx .fx-meal-method summary{--fx-r:8px;display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;color:var(--fx-text-2);cursor:pointer;list-style:none}.fx .fx-meal-method summary::-webkit-details-marker{display:none}.fx .fx-meal-method summary:hover{color:var(--fx-accent-text)}.fx .fx-meal-method p{padding-bottom:4px}.fx .fx-groceries{--fx-r:16px;border-radius:var(--fx-r);border:1px solid var(--fx-line)}.fx .fx-groceries-body{display:grid;gap:16px;justify-items:start;padding:0 16px 18px}.fx .fx-groceries-grid{display:grid;gap:18px 24px;width:100%;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.fx .fx-groceries-grid h4{margin-bottom:8px}.fx .fx-grocery{display:grid;grid-template-columns:18px 64px 1fr;align-items:center;gap:8px;min-height:34px;font-size:14px;cursor:pointer}.fx .fx-grocery input{width:16px;height:16px;accent-color:var(--fx-text)}.fx .fx-grocery:has(input:checked) span{text-decoration:line-through;color:var(--fx-muted)}@media (max-width:560px){.fx .fx-day-tab small{display:none}}.fx .fx-tp-hero{position:relative;padding-top:calc(var(--fx-header-h) + clamp(16px, 2.6vw, 36px));padding-bottom:clamp(28px,4vw,48px);background:var(--fx-glow),var(--fx-bg);overflow:hidden;isolation:isolate}.fx .fx-tp-hero .fx-crumbs{margin-bottom:clamp(18px,2.6vw,32px)}.fx .fx-tp-hero-grid{display:grid;gap:24px;align-items:end}.fx .fx-tp-hero-copy{display:grid;gap:18px;justify-items:start}.fx .fx-tp-step{display:inline-flex;align-items:center;gap:10px;font:500 12px/1 var(--fx-font-mono),monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--fx-text-2)}.fx .fx-tp-step-num{--fx-r:999px;padding:6px 10px;border-radius:var(--fx-r);background:var(--primary-soft);color:var(--fx-accent-text);font-weight:600}.fx .fx-tp-title{font-size:clamp(36px,5.4vw,64px);max-width:14ch}.fx .fx-tp-lede{max-width:52ch}.fx .fx-tp-meta{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px;color:var(--fx-text-2)}.fx .fx-tp-meta li{display:inline-flex;align-items:center;gap:8px}.fx .fx-tp-meta svg{color:var(--success-text)}.fx .fx-tp-photo{--fx-r:var(--fx-radius-xl);position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center;margin:0;padding:10px;border-radius:var(--fx-r);border:1px solid var(--fx-line);background:var(--fx-surface)}.fx .fx-tp-photo img{width:96px;height:96px;border-radius:var(--fx-radius-lg);object-fit:cover}.fx .fx-tp-photo figcaption{display:grid;gap:8px}.fx .fx-tp-photo ul{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;font-weight:500;color:var(--fx-text)}.fx .fx-tp-photo li{display:inline-flex;align-items:center;gap:6px}.fx .fx-tp-photo li svg{color:var(--success-text)}@media (min-width:1024px){.fx .fx-tp-hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(32px,4vw,72px)}.fx .fx-tp-photo{display:block;padding:0;aspect-ratio:5/4;max-height:440px;width:100%;overflow:hidden;border:1px solid var(--fx-line);background:var(--fx-surface-2);box-shadow:var(--fx-shadow-md)}.fx .fx-tp-photo img{width:100%;height:100%;border-radius:0}.fx .fx-tp-photo figcaption{position:absolute;left:14px;right:14px;bottom:14px;padding:14px 16px;border-radius:var(--fx-radius-lg);border:1px solid var(--fx-line);background:color-mix(in srgb,var(--fx-surface) 88%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--fx-shadow-md)}.fx .fx-tp-photo ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;font-size:14px}}.fx .fx-stepper{margin-top:clamp(28px,4vw,52px)}.fx .fx-stepper ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.fx .fx-stepper li{min-width:0;border-top:3px solid var(--fx-line-strong);transition:border-color .3s var(--fx-ease)}.fx .fx-stepper li[data-state=before],.fx .fx-stepper li[data-state=current]{border-top-color:var(--fx-accent-text)}.fx .fx-stepper a{--fx-r:var(--fx-radius-md);display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 10px 4px 0;color:var(--fx-text-2);transition:color .2s}.fx .fx-stepper a:hover{color:var(--fx-text)}.fx .fx-stepper-dot{display:grid;flex:none;place-items:center;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--fx-line-strong);font:600 11px/1 var(--fx-font-mono),monospace}.fx .fx-stepper li[data-state=before] .fx-stepper-dot{border-color:var(--fx-accent-text);color:var(--fx-accent-text)}.fx .fx-stepper li[data-state=current] .fx-stepper-dot{border-color:var(--fx-accent-text);background:var(--fx-accent);color:var(--fx-accent-ink)}.fx .fx-stepper-text{display:grid;gap:4px;min-width:0}.fx .fx-stepper-name{font-weight:600;font-size:15px;color:var(--fx-text)}.fx .fx-stepper-value{overflow:hidden;font-size:12px;color:var(--fx-muted);white-space:nowrap;text-overflow:ellipsis}.fx .fx-stepper-value strong{font-size:15px;color:var(--fx-text-2)}.fx .fx-stepper li[data-state=current] .fx-stepper-value strong{color:var(--fx-accent-text)}@media (max-width:640px){.fx .fx-stepper a{flex-direction:column;align-items:flex-start;gap:8px}.fx .fx-stepper-value{display:none}.fx .fx-stepper-name{font-size:13px}}.fx .fx-tp-body{position:relative;z-index:2;padding-block:clamp(28px,4vw,56px) clamp(56px,7vw,104px);border-top:1px solid var(--fx-line);background:var(--fx-bg)}.fx .fx-panel-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--fx-line)}.fx .fx-panel-step{display:grid;place-items:center;grid-row:span 2;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--fx-line-strong);color:var(--fx-text-2);font:600 13px/1 var(--fx-font-mono),monospace}.fx .fx-results .fx-panel-step{border-color:transparent;background:var(--fx-accent);color:var(--fx-accent-ink)}.fx .fx-panel-titles{display:grid;gap:3px}.fx .fx-panel-title{font-family:var(--fx-font-display),sans-serif;font-weight:600;font-size:22px;line-height:1.1;letter-spacing:-.01em}.fx .fx-panel-note{font-size:13px;color:var(--fx-muted)}.fx .fx-panel-status{grid-column:2;justify-self:start}@media (min-width:560px){.fx .fx-panel-head{grid-template-columns:auto minmax(0,1fr) auto}.fx .fx-panel-step{grid-row:auto}.fx .fx-panel-status{grid-column:auto;justify-self:end}}.fx .fx-live{display:inline-flex;align-items:center;gap:7px;font:600 11px/1 var(--fx-font-mono),monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--fx-accent-text)}.fx .fx-live-dot{position:relative;width:7px;height:7px;border-radius:50%;background:var(--fx-accent-text)}.fx .fx-live-dot:after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;animation:fx-ping 2.2s var(--fx-ease) infinite}@keyframes fx-ping{70%,to{transform:scale(3);opacity:0}}.fx .fx-basics{gap:14px;padding:16px;border-radius:var(--fx-radius-lg);background:var(--fx-surface-2);border:1px solid var(--fx-line)}.fx .fx-basics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px 12px}.fx .fx-basics .fx-measure-value{background:var(--fx-surface)}.fx .fx-target-link{justify-self:start;margin-top:4px;font-size:14px}.fx .fx-resultbar{--fx-r:var(--fx-radius-lg);position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:45;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 8px 18px;border-radius:var(--fx-r);border:1px solid var(--fx-line);background:color-mix(in srgb,var(--fx-surface) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--fx-shadow-lg);transform:translateY(160%);transition:transform .25s cubic-bezier(.4,0,.2,1)}.fx .fx-resultbar[data-visible=true]{transform:none}.fx .fx-resultbar-value{display:flex;align-items:baseline;gap:8px;min-width:0}.fx .fx-resultbar-value strong{font-size:26px;color:var(--fx-text)}.fx .fx-resultbar-unit{font:500 11px/1 var(--fx-font-mono),monospace;text-transform:uppercase;color:var(--fx-muted)}@media (min-width:1024px){.fx .fx-resultbar{display:none}}.fx .fx-tp-learn{background:var(--fx-surface);border-block:1px solid var(--fx-line)}.fx .fx-tp-learn-head{display:grid;gap:16px;margin-bottom:clamp(32px,5vw,64px)}.fx .fx-tp-learn-head .fx-h2{font-size:clamp(30px,3.8vw,48px)}.fx .fx-tp-how{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px;counter-reset:how}.fx .fx-tp-how li{--fx-r:var(--fx-radius-lg);display:grid;align-content:start;gap:12px;padding:clamp(20px,2.2vw,28px);border-radius:var(--fx-r);border:1px solid var(--fx-line);background:var(--fx-bg)}.fx .fx-tp-how-num{font-size:32px;color:var(--fx-accent-text)}.fx .fx-tp-how-title{font-weight:600;font-size:18px;line-height:1.25}.fx .fx-tp-how p{font-size:15px;color:var(--fx-text-2)}.fx .fx-tp-faq{display:grid;gap:20px;margin-top:clamp(56px,7vw,104px)}.fx .fx-tp-faq-list{border-top:1px solid var(--fx-line-strong)}.fx .fx-tp-faq details{border-bottom:1px solid var(--fx-line)}.fx .fx-tp-faq summary{--fx-r:8px;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:14px 0;font-weight:600;font-size:clamp(16px,1.2vw,18px);cursor:pointer;list-style:none}.fx .fx-tp-faq summary::-webkit-details-marker{display:none}.fx .fx-tp-faq summary svg{flex:none;color:var(--fx-muted);transition:transform .35s var(--fx-ease),color .2s}.fx .fx-tp-faq details[open] summary svg{transform:rotate(45deg);color:var(--fx-accent-text)}.fx .fx-tp-faq summary:hover{color:var(--fx-accent-text)}.fx .fx-tp-faq details p{max-width:66ch;padding-bottom:22px;color:var(--fx-text-2)}@media (min-width:1024px){.fx .fx-tp-learn-head{grid-template-columns:minmax(0,1fr) auto;align-items:end}.fx .fx-tp-learn-head .fx-label{grid-column:1/-1}.fx .fx-tp-faq{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:48px;align-items:start}.fx .fx-tp-faq .fx-h3{position:sticky;top:calc(var(--fx-header-h) + 24px)}}.fx .fx-tp-next{padding-block:clamp(56px,7vw,104px) clamp(96px,11vw,150px)}.fx .fx-tp-next-card{--fx-r:var(--fx-radius-xl);--fx-text:var(--scrim-foreground);--fx-text-2:color-mix(in srgb,var(--scrim-foreground) 88%,transparent);--fx-muted:color-mix(in srgb,var(--scrim-foreground) 80%,transparent);--fx-line:color-mix(in srgb,var(--scrim-foreground) 20%,transparent);--fx-accent-text:var(--anslation-ds-brand-300);--fx-cta-bg:var(--scrim-foreground);--fx-cta-fg:var(--anslation-ds-brand-900);--fx-cta-hover:var(--anslation-ds-brand-50);--fx-focus:var(--scrim-foreground);position:relative;display:grid;min-height:clamp(340px,38vw,480px);border-radius:var(--fx-r);overflow:hidden;isolation:isolate;background:var(--anslation-ds-footer);color:var(--fx-text)}.fx .fx-tp-next-photo{position:absolute;inset:0;z-index:-2}.fx .fx-tp-next-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--fx-ease)}.fx .fx-tp-next-card:hover .fx-tp-next-photo img{transform:scale(1.05)}.fx .fx-tp-next-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,var(--scrim) 0,color-mix(in srgb,var(--scrim) 60%,transparent) 45%,color-mix(in srgb,var(--scrim) 15%,transparent) 100%),linear-gradient(90deg,color-mix(in srgb,var(--scrim) 70%,transparent) 0,transparent 70%)}.fx .fx-tp-next-copy{display:grid;align-content:end;justify-items:start;gap:14px;max-width:720px;padding:clamp(24px,4vw,56px)}.fx .fx-tp-next-title{font-size:clamp(34px,4.6vw,56px)}.fx .fx-tp-next-lede{max-width:46ch;font-size:clamp(16px,1.3vw,18px);color:var(--fx-text-2)}.fx .fx-tp-next-card .fx-btn{margin-top:6px}.fx .fx-tp-next-card:hover .fx-btn--primary{background:var(--fx-cta-hover)}.fx .fx-tp-others{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.fx .fx-tp-others ul{display:flex;flex-wrap:wrap;gap:8px}.fx .fx-tp-others .fx-chip{text-transform:none}.fx .fx-tp-others .fx-chip small{font:500 11px/1 var(--fx-font-mono),monospace;color:var(--fx-muted)}.fx .fx-result-say{margin-top:-10px;font-size:16px;color:var(--fx-text-2)}.fx .fx-more{border-top:1px solid var(--fx-line)}.fx .fx-more summary{--fx-r:8px;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;min-height:52px;padding:14px 32px 12px 0;position:relative;cursor:pointer;list-style:none}.fx .fx-more summary::-webkit-details-marker{display:none}.fx .fx-more-title{font-weight:600;font-size:15px;color:var(--fx-text)}.fx .fx-more summary:hover .fx-more-title{color:var(--fx-accent-text)}.fx .fx-more-hint{font-size:13px;color:var(--fx-muted)}.fx .fx-more-icon{position:absolute;right:4px;top:18px;color:var(--fx-muted);transition:transform .3s var(--fx-ease)}.fx .fx-more[open] .fx-more-icon{transform:rotate(45deg)}.fx .fx-more-body{display:grid;gap:20px;padding:4px 0 6px}.fx .fx-choices--compact .fx-choices-grid{gap:6px}.fx .fx-choices--compact .fx-choice-body{min-height:44px;padding:10px 12px}.fx .fx-choices--compact .fx-choice-title{font-size:14px}.fx .fx-choices--compact .fx-choice-detail{font-size:12.5px}.fx .fx-downloads{display:grid;gap:12px;padding-top:18px;border-top:1px solid var(--fx-line)}.fx .fx-downloads-text{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--fx-text-2)}.fx .fx-downloads-text svg{flex:none;color:var(--fx-accent-text)}.fx .fx-downloads-actions{display:flex;flex-wrap:wrap;gap:8px}.fx .fx-downloads-actions .fx-btn{white-space:normal;text-align:left}.fx .fx-downloads-status{display:flex;align-items:center;gap:6px;min-height:18px;font-size:13px;font-weight:600;color:var(--fx-muted)}.fx .fx-downloads-status:empty{min-height:0}.fx .fx-downloads-status svg{color:var(--fx-danger)}@media (max-width:520px){.fx .fx-downloads-actions .fx-btn{flex:1 1 100%;justify-content:center}}.fx .fx-downloads-note{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:var(--fx-radius-md);background:var(--fx-surface-2);font-size:13.5px;line-height:1.45;color:var(--fx-text-2)}.fx .fx-downloads-note svg{flex:none;margin-top:2px;color:var(--fx-accent-text)}.fx .fx-downloads-note--warn{background:var(--warning-soft)}.fx .fx-downloads-note--warn svg{color:var(--warning-text)}.fx .fx-downloads-change,.fx .fx-downloads-note a{--fx-r:4px;font-weight:600;color:var(--fx-accent-text);text-decoration:underline;text-underline-offset:2px}.fx .fx-downloads-full{display:grid;gap:8px;padding:14px;border-radius:var(--fx-radius-lg);border:1px solid var(--fx-line)}.fx .fx-downloads-full ol{display:grid;gap:2px}.fx .fx-downloads-change{display:inline-flex;align-items:center;min-height:44px;margin-block:-11px}.fx .fx-downloads-full li{display:grid;grid-template-columns:26px minmax(0,1fr) auto auto;align-items:baseline;gap:10px;padding:6px 0;border-top:1px solid var(--fx-line);font-size:14px}.fx .fx-downloads-full li:first-child{border-top:0}.fx .fx-downloads-step{font:600 11px/1 var(--fx-font-mono),monospace;color:var(--fx-accent-text)}.fx .fx-downloads-what{font-weight:600}.fx .fx-downloads-full strong{font-size:18px}.fx .fx-downloads-full strong small{font:500 10px/1 var(--fx-font-mono),monospace;text-transform:uppercase;color:var(--fx-muted)}.fx .fx-downloads-here{font:500 11px/1 var(--fx-font-mono),monospace;text-transform:uppercase;color:var(--fx-muted)}