.macro-calculator{max-width:1060px;margin-inline:auto}.macro-input-panel{padding:0;scroll-margin-top:5rem;overflow:clip}.macro-input-panel__summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1.25rem,4vw,2.5rem);list-style:none;display:flex}.macro-input-panel__summary::-webkit-details-marker{display:none}.macro-input-panel__summary:focus-visible{outline:2px solid var(--ochre);outline-offset:-4px}.macro-input-panel[open]>.macro-input-panel__summary{border-bottom:1px solid var(--line)}.macro-input-panel:not([open]) .when-open,.macro-input-panel[open] .when-closed{display:none}.macro-input-panel__title{font-family:var(--font-display);color:var(--forest);font-size:var(--step-2);font-weight:500}.macro-input-panel__action{color:var(--forest);text-underline-offset:3px;flex:none;font-size:.82rem;font-weight:600;text-decoration:underline}.macro-form{padding:clamp(1.25rem,4vw,2.5rem)}.macro-form__privacy{color:var(--sage);font-size:var(--step--1);margin:0}.macro-form fieldset{border:0;margin:2rem 0 0;padding:0}.macro-form legend{border-bottom:1px solid var(--line);width:100%;color:var(--ink);padding:0 0 .8rem;font-size:1rem;font-weight:700}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1.5rem;margin-top:1.25rem;display:grid}.form-grid--body,.form-grid--preferences{grid-template-columns:repeat(3,minmax(0,1fr))}.field--wide{grid-column:span 2}.field--units{max-width:260px;margin-top:1.25rem}.field__label,.ratio-field>span:first-child{margin-bottom:.4rem;font-size:.92rem;font-weight:600;display:block}.field__sub-label{color:var(--sage);margin:.75rem 0 .35rem;font-size:.78rem;display:block}.field-label-row{align-items:center;gap:.45rem;margin-bottom:.4rem;display:flex}.field-label-row .field__label{margin:0}.info-tip{position:relative}.info-tip summary{border:1px solid var(--line-strong);width:1.15rem;height:1.15rem;color:var(--sage);cursor:help;font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:.68rem;line-height:1;list-style:none;display:grid}.info-tip summary::-webkit-details-marker{display:none}.info-tip p{z-index:10;border:1px solid var(--line-strong);width:min(270px,76vw);color:var(--ink);background:#fffdf8;margin:0;padding:.75rem;font-size:.78rem;line-height:1.45;display:none;position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%);box-shadow:0 10px 30px #172d241f}.info-tip[open] p,.info-tip:hover p,.info-tip:focus-within p{display:block}.info-tip--right p{left:auto;right:0;transform:none}.field input,.field select,.ratio-field input{border:1px solid var(--line-strong);border-radius:var(--radius);width:100%;min-height:46px;color:var(--ink);font:inherit;background:#fffdf8;padding:.65rem .75rem}.field select{padding-right:2rem}.field small{color:var(--sage);margin-top:.4rem;font-size:.78rem;line-height:1.45;display:block}.check-field{border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;background:#fffdf8;align-items:center;gap:.55rem;min-height:46px;padding:.65rem .75rem;font-size:.86rem;display:flex}.check-field input{width:1rem;height:1rem;min-height:1rem;accent-color:var(--forest);flex:none;margin:0}.body-fat-entry{display:block}.body-fat-entry[hidden]{display:none}.body-fat-entry .input-with-unit{width:9rem;max-width:100%}.body-fat-entry .input-with-unit input{min-width:0}.input-with-unit,.height-pair label,.ratio-field__input{border:1px solid var(--line-strong);border-radius:var(--radius);background:#fffdf8;align-items:center;display:flex;overflow:hidden}.input-with-unit input,.height-pair input,.ratio-field__input input{background:0 0;border:0;border-radius:0}.input-with-unit>span,.height-pair label>span:last-child,.ratio-field__input small{font-family:var(--font-mono);color:var(--sage);white-space:nowrap;padding:0 .75rem;font-size:.72rem}.height-pair{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.segmented{border:1px solid var(--line-strong);border-radius:var(--radius);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.segmented input{opacity:0;clip-path:inset(50%);pointer-events:none;border:0;width:1px;height:1px;min-height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.segmented label{text-align:center;cursor:pointer;padding:.55rem .8rem;font-size:.84rem;font-weight:600}.segmented label+input+label{border-left:1px solid var(--line-strong)}.segmented input:checked+label{background:var(--forest);color:#fff}.segmented input:focus-visible+label{outline:2px solid var(--ochre);outline-offset:-3px}.ratio-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-top:.75rem;display:flex}.ratio-head p{color:var(--sage);margin:0;font-size:.78rem}.ratio-template-picker{max-width:520px;margin-top:1rem}.text-button{color:var(--forest);text-underline-offset:3px;cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;padding:0;font-size:.82rem;text-decoration:underline}.ratio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.ratio-field{border:1px solid var(--line);background:var(--paper);padding:1rem}.form-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:2rem;padding-top:1.5rem;display:flex}.form-actions__scope{color:var(--sage);text-align:right;flex:320px;margin:0 0 0 auto;font-size:.75rem}.form-error{color:#702a20;background:#fff4ee;border:1px solid #9b3b2d;border-left-width:4px;margin-top:1.25rem;padding:.9rem 1rem;font-size:.9rem}.macro-results{margin-top:clamp(2.5rem,6vw,5rem);scroll-margin-top:5rem}.macro-results:focus{outline:none}.results-head h2{font-size:var(--step-3)}.daily-grid{border-block:1px solid var(--line-strong);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:1.5rem;display:grid}.result-card{border-left:1px solid var(--line);padding:1.25rem}.result-card:first-child{border-left:0}.result-card__label,.comparison-card__label,.example-meal__label,.food-reference__portion{font-family:var(--font-mono);color:var(--sage);letter-spacing:.09em;text-transform:uppercase;margin:0 0 .75rem;font-size:.68rem}.result-card__value{margin:0 0 .45rem;line-height:1}.result-card__value strong{font-family:var(--font-display);color:var(--forest);font-size:clamp(2rem,4vw,3rem);font-weight:500}.result-card__value span{color:var(--sage);font-size:.75rem}.result-card__context,.comparison-card__context{color:var(--sage);margin:.55rem 0 0;font-size:.76rem;line-height:1.4}.result-card--protein{border-top:3px solid var(--forest)}.result-card--fat{border-top:3px solid var(--ochre)}.result-card--carbohydrate{border-top:3px solid var(--sage)}.result-card--energy{border-top:3px solid var(--line-strong)}.result-section{border-bottom:1px solid var(--line);padding-block:clamp(2.5rem,6vw,4.5rem)}.result-section>h3{font-size:var(--step-2)}.result-footnote{color:var(--sage);margin:1.25rem 0 0;font-size:.78rem}.comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.comparison-card{border:1px solid var(--line);background:var(--panel);padding:1.25rem 1.4rem}.comparison-card__label-row{align-items:center;gap:.45rem;margin-bottom:.75rem;display:flex}.comparison-card__label-row .comparison-card__label{margin:0}.comparison-card__value{font-family:var(--font-display);color:var(--forest);font-size:var(--step-2);margin:0}.comparison-card__warning{border-left:2px solid var(--ochre);color:var(--ink);margin:.75rem 0 0;padding-left:.65rem;font-size:.76rem;line-height:1.4}.meal-average{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:1.5rem;display:grid}.meal-average>div{background:var(--panel);grid-template-columns:1fr auto auto;align-items:baseline;gap:.35rem;padding:1rem;display:grid}.meal-average span{color:var(--sage);font-size:.78rem}.meal-average strong{color:var(--forest);font-size:1.25rem}.meal-average small{color:var(--sage)}.example-meal{border-top:3px solid var(--ochre);grid-template-columns:minmax(190px,.75fr) minmax(0,1.25fr);align-items:center;gap:1.25rem 2rem;margin-top:1.5rem;padding:1.25rem 1.4rem;display:grid}.example-meal h4{font-size:var(--step-1)}.example-meal__copy p{color:var(--sage);margin-bottom:0;font-size:.86rem}.meal-comparison{border-bottom:1px solid var(--line);border-top:1px solid var(--line)}.meal-comparison__row{grid-template-columns:minmax(78px,1.4fr) repeat(3,minmax(45px,1fr));align-items:center;gap:.5rem;padding-block:.55rem;font-size:.78rem;display:grid}.meal-comparison__row+.meal-comparison__row{border-top:1px solid var(--line)}.meal-comparison__head{color:var(--sage);font-family:var(--font-mono);text-transform:uppercase;font-size:.65rem}.meal-comparison__row>span:not(:first-child),.meal-comparison__row>b{text-align:right}.meal-comparison__row b{color:var(--forest)}.food-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1rem;display:grid}.food-reference{border:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem .9rem;display:flex}.food-reference h4{font-family:var(--font-body);font-size:.88rem;font-weight:600}.food-reference p{color:var(--sage);margin:0;font-size:.7rem}.food-reference__portion{font-family:var(--font-mono);letter-spacing:0;text-transform:none}.food-alternatives{border-block:1px solid var(--line);margin-top:1.25rem}.food-alternatives summary{color:var(--forest);cursor:pointer;padding-block:.8rem;font-size:.86rem;font-weight:600}.food-alternatives[open]{padding-bottom:1rem}.next-step-section{border-bottom:0;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:clamp(2rem,6vw,5rem);display:grid}.next-step-section h4{font-size:var(--step-1)}.goal-chips{flex-wrap:wrap;gap:.5rem;display:flex}.goal-chips span{border:1px solid var(--line-strong);font-family:var(--font-mono);color:var(--forest);padding:.35rem .65rem;font-size:.68rem}.weight-warning{border-left:3px solid var(--ochre);background:var(--panel);color:var(--ink);margin-top:1rem;padding:.8rem 1rem;font-size:.84rem}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (width<=840px){.form-grid--body,.form-grid--preferences{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-grid{grid-template-columns:repeat(2,1fr)}.result-card:nth-child(3){border-left:0}.food-reference-grid{grid-template-columns:1fr}}@media (width<=620px){.form-grid,.form-grid--body,.form-grid--preferences,.ratio-grid,.comparison-grid,.example-meal,.next-step-section{grid-template-columns:1fr}.field--wide{grid-column:auto}.field-label-row,.comparison-card__label-row{position:relative}.info-tip{position:static}.info-tip p,.info-tip--right p{width:min(270px,100%);left:auto;right:0;transform:none}.ratio-head{flex-direction:column;align-items:flex-start}.form-actions__scope{text-align:left;margin-left:0}.daily-grid,.meal-average{grid-template-columns:1fr}.result-card,.result-card:nth-child(3){border-top-width:1px;border-left:0}.result-card:first-child{border-top-width:3px}}.tool-intro[data-astro-cid-cicorhaf]{border-bottom:1px solid var(--line);padding-block:clamp(1.75rem,4vw,3rem)}.tool-intro__inner[data-astro-cid-cicorhaf]{max-width:920px}.tool-intro[data-astro-cid-cicorhaf] h1[data-astro-cid-cicorhaf]{font-size:var(--step-3);margin-bottom:.45rem}.tool-intro[data-astro-cid-cicorhaf] p[data-astro-cid-cicorhaf]{max-width:66ch;color:var(--sage);font-size:var(--step-0);margin:0}.calculator-section[data-astro-cid-cicorhaf]{padding-top:clamp(2rem,4vw,3.5rem)}.evidence__grid[data-astro-cid-cicorhaf]{grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:clamp(2rem,7vw,6rem);display:grid}.evidence[data-astro-cid-cicorhaf] h2[data-astro-cid-cicorhaf]{font-size:var(--step-3)}.evidence__content[data-astro-cid-cicorhaf]>p[data-astro-cid-cicorhaf]{max-width:68ch}.evidence[data-astro-cid-cicorhaf] details[data-astro-cid-cicorhaf]{border-block:1px solid var(--line);margin-top:2rem}.evidence[data-astro-cid-cicorhaf] summary[data-astro-cid-cicorhaf]{cursor:pointer;color:var(--forest);padding-block:1rem;font-weight:600}.source-list[data-astro-cid-cicorhaf]{margin:0;padding:0 0 1rem;list-style:none}.source-list[data-astro-cid-cicorhaf] li[data-astro-cid-cicorhaf]{border-top:1px solid var(--line);gap:.15rem;padding:.7rem 0;display:grid}.source-list[data-astro-cid-cicorhaf] span[data-astro-cid-cicorhaf]{color:var(--sage);font-size:var(--step--1)}.scope-note[data-astro-cid-cicorhaf]{border-left:3px solid var(--ochre);background:var(--panel);margin-top:2rem;padding:1.25rem 1.5rem}.scope-note__title[data-astro-cid-cicorhaf]{font-family:var(--font-display);color:var(--forest);font-size:var(--step-1);margin-bottom:.4rem}.scope-note[data-astro-cid-cicorhaf] p[data-astro-cid-cicorhaf]:last-child{font-size:var(--step--1);margin:0}@media (width<=820px){.evidence__grid[data-astro-cid-cicorhaf]{grid-template-columns:1fr}}
