:root{font:16px Arial,Helvetica,sans-serif;color:#F4F7F9;background:#18162F;color-scheme:dark;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--line:#53687A;--muted:#D5DEE3}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 100% 0,#282941,transparent 42%),#18162F}
header{border-bottom:1px solid #5E7A86;padding:16px max(18px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;gap:15px}
header nav{display:flex;gap:18px}a{color:#F4F7F9}header nav a{font-size:14px}
main{max-width:1120px;margin:auto;padding:32px 18px 32px}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
h1{font-size:clamp(32px,5vw,48px);letter-spacing:-.04em;margin:10px 0}
h2{font-size:23px;margin:0 0 var(--s4)}h3{font-size:17px;margin:0 0 var(--s2)}
.intro{color:var(--muted);margin:0 0 var(--s5)}
.layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:18px;align-items:stretch}
.inputs,.outputs{display:grid;gap:18px;min-width:0;align-content:start}
.outputs{align-content:stretch}
.panel{background:#25243C;border:1px solid var(--line);border-radius:18px;padding:24px;min-width:0}
.panel p{line-height:1.45;color:var(--muted)}
.panel>p:first-of-type{margin-top:0}
fieldset{border:0;padding:0;margin:0 0 var(--s5)}legend,label{font-weight:700}legend{margin-bottom:var(--s2)}
.options{display:flex;gap:8px;flex-wrap:wrap}
.intensity-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.options.intensity-options label{justify-content:center;text-align:center;padding:10px 6px;min-width:0;line-height:1.25}
.templates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2)}
.options label{border:1px solid #708393;border-radius:9px;padding:10px 12px;cursor:pointer;min-height:44px;font-size:14px;display:flex;align-items:center}
.options label:has(input:checked){border-color:#E6007E;background:#39304C;box-shadow:inset 0 -3px #E6007E}
.options input{position:absolute;opacity:0;width:1px;height:1px}
.options label:has(input:focus-visible){outline:3px solid #F4F7F9;outline-offset:3px}
.mode{margin-bottom:var(--s5)}
input:not([type=radio]):not([type=checkbox]),select{background:#201F38;color:#F4F7F9;border:1px solid #708393;border-radius:9px;min-height:46px;padding:9px 10px;font:inherit;max-width:100%}
button{cursor:pointer;border:1px solid #F4F7F9;border-radius:9px;padding:10px 13px;font:inherit;font-weight:700;min-height:44px}
button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #F4F7F9;outline-offset:2px}
.field,.duration-section{margin:0 0 var(--s5)}.field>label,.duration-field>label{display:block;margin-bottom:var(--s2)}
.field small,.more summary span{font-weight:400;color:#B9CAD3}
.duration-section h3{margin:0 0 var(--s2)}
.duration-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,154px),1fr));gap:var(--s4)}
.duration-field{min-width:0}
.stepper{display:flex;gap:6px;align-items:center}
.stepper button{width:44px;flex:0 0 44px;background:#39495F;color:#fff;border-color:#708393;font-size:20px;padding:0}
.stepper input{width:54px;min-width:0;text-align:center;appearance:textfield;font-weight:700}
.stepper input::-webkit-inner-spin-button{appearance:none}
.active-section{position:relative}
.active-section::before{content:"";position:absolute;left:-12px;top:0;bottom:0;width:3px;background:#E6007E;pointer-events:none}
.hint{font-size:14px;color:#B9CAD3!important;margin:var(--s2) 0 0}
.error{color:#FFD6AD!important;font-size:14px;margin:var(--s2) 0 0}
.invalid input{border-color:#FFAA55!important}
.field>input[type=time]{width:100%;max-width:260px}
.suggested{font-size:18px;color:#F4F7F9!important;font-weight:700;margin:0 0 var(--s3)}
.target-toggle{margin:0 0 var(--s3)}
#custom-wrap label,#weight-edit label{display:block;margin-bottom:var(--s2)}
#custom{width:120px}#weight{width:130px}
#saved-weight{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s2)}
#saved-weight strong{white-space:nowrap}
#saved-weight span{line-height:1.4}
#saved-weight #change-weight{padding:8px 4px;min-width:44px}
.weight-field{margin-bottom:var(--s3)}
.age-detail{padding-top:var(--s2)}
#saved-weight strong{font-size:21px}#saved-weight span{font-size:14px;color:var(--muted)}
#change-weight{border:0;padding:8px;font-size:14px}
.more{border-top:1px solid var(--line);padding:var(--s4) 0}
.age-detail summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:4px;font-weight:700;list-style:none}
.age-detail summary::-webkit-details-marker{display:none}
.age-detail summary::after{content:"";width:8px;height:8px;flex:0 0 8px;margin-left:auto;margin-right:3px;border-right:1.5px solid #B9CAD3;border-bottom:1.5px solid #B9CAD3;transform:rotate(45deg)}
.age-detail[open]>summary::after{transform:rotate(225deg)}
.methodology summary{font-weight:700}
.more select{width:100%;margin-top:var(--s2)}
.age-detail{padding-bottom:0}
.age-detail[open]>label{display:block;margin-top:var(--s2)}
.compact-copy{margin:0 0 var(--s4)}
.list-heading{font-size:14px;text-transform:uppercase;letter-spacing:.06em;margin:var(--s4) 0 var(--s3)}
.templates button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:46px;padding:8px 10px;text-align:left;font-size:14px;background:transparent;color:#F4F7F9;border-color:#708393}
.templates button::after{content:"+";color:#B9CAD3;flex:none}
.templates button[data-added="true"]{border-color:#B18AA9;background:#302B43}
.templates button[data-added="true"]::after{content:"✓";color:#F6B7D7}
.templates button:hover,.templates button:focus-visible{border-color:#E6007E;background:#39304C}
button.secondary{background:transparent;color:#F4F7F9;border-color:#708393}
.add-item{width:100%;margin-top:var(--s2);min-height:44px;font-size:14px}
.selected-heading{border-top:1px solid var(--line);padding-top:var(--s4);margin-top:var(--s5)}
.fuel-item{display:grid;grid-template-columns:77px 124px minmax(45px,1fr);gap:4px;align-items:center;border-bottom:1px solid var(--line);padding:var(--s2) 0}
.fuel-item>.error{grid-column:1/-1}
.fuel-item label{min-width:0;font-size:14px}
.fuel-item .item-name{grid-column:1/-1;grid-row:1;padding-right:48px}
.fuel-item input{width:100%;font-size:15px!important;min-height:44px}
.fuel-item .item-name input{background:transparent;border-color:transparent;padding:8px 0;font-weight:700}
.fuel-item .item-name input:hover,.fuel-item .item-name input:focus{border-color:#708393;background:#201F38;padding-left:6px}
.item-field-label{display:block;color:var(--muted);font-size:12px;font-weight:400;line-height:1.2;margin:2px 0 0}
.fuel-item .item-carbs{grid-column:1;grid-row:2}
.carb-control{display:flex;align-items:center;gap:3px}
.carb-control>span{font-size:12px;white-space:nowrap;color:var(--muted)}
.fuel-item .item-carbs input{width:42px;min-width:42px;min-height:44px;padding:7px 2px;text-align:center;appearance:textfield}
.fuel-item .item-carbs input::-webkit-inner-spin-button{appearance:none}
.quantity{grid-column:2;grid-row:2;min-width:0}
.quantity-controls{display:flex;gap:2px;align-items:center}
.quantity button{width:44px;flex:0 0 44px;padding:0;background:transparent;color:#F4F7F9;border-color:#708393;font-size:19px}
.quantity input{width:32px;text-align:center;border-radius:0!important;padding:8px 0!important;appearance:textfield}
.quantity input::-webkit-inner-spin-button{appearance:none}
.item-total{grid-column:3;grid-row:2;display:flex;flex-direction:column-reverse;align-items:flex-end;font-size:13px}
.item-total strong{font-size:14px;overflow-wrap:anywhere}
.fuel-item .remove{grid-column:3;grid-row:1;justify-self:end;width:44px;padding:0;font-size:25px;font-weight:400}
.builder-comparison{margin-top:var(--s4);border-top:1px solid var(--line);padding-top:var(--s4)}
.builder-comparison p{font-weight:700;margin:var(--s2) 0 0}
.summary{border-top:3px solid #E6007E;display:flex;flex-direction:column;height:100%}
.stage{padding:var(--s4) 0;border-top:1px solid var(--line)}
.stage-label{font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.stage h3{font-size:20px;margin:var(--s2) 0 var(--s3)}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2);margin:var(--s3) 0}
.facts>div{border:1px solid #708393;border-radius:10px;padding:10px;min-width:0}
.facts>.fact-wide{grid-column:1/-1}
.session-facts>div{border-color:#E6007E;background:#302B43}
.session-facts small{color:#F6B7D7}
.facts small,.totals small{display:block;color:var(--muted);font-size:13px;line-height:1.3}
.facts strong{display:block;font-size:17px;line-height:1.25;margin-top:4px;overflow-wrap:anywhere}
.practical{font-size:14px;line-height:1.5;color:var(--muted);margin:var(--s3) 0 0}
.practical:empty{display:none}
#before-detail p{margin:0}
#before-detail p:last-child{margin-top:var(--s2)}
.meal-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px var(--s3);margin:var(--s2) 0}
.meal-guide>div{display:flex;flex-wrap:wrap;gap:4px}
.meal-guide dt,.meal-guide dd{margin:0}
.meal-guide dt{font-weight:700}
@media(max-width:340px){.meal-guide{grid-template-columns:1fr}}
.result-subhead{font-size:14px;text-transform:uppercase;letter-spacing:.06em;margin:var(--s4) 0 var(--s2)}
.result-items p{font-size:14px;margin:4px 0}
.totals{display:flex;gap:var(--s2);margin:var(--s3) 0}
.totals div{flex:1;min-width:0;border:1px solid #708393;border-radius:10px;padding:10px}
.totals strong{display:block;font-size:22px;margin-top:3px}
.comparison{font-weight:700;margin:var(--s2) 0!important}
.methodology{margin-top:auto}
.methodology p{font-size:14px;line-height:1.5;margin:var(--s2) 0 0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.duration-pair{grid-template-columns:repeat(auto-fit,minmax(min(100%,142px),1fr));gap:var(--s2)}}
[hidden]{display:none!important}
footer{max-width:1120px;margin:auto;padding:0 18px 30px;color:#B9CAD3;font-size:14px}footer a{color:inherit}
@media(max-width:900px){.layout{grid-template-columns:1fr}.panel{padding:18px}.summary{height:auto}.methodology{margin-top:0}}
@media(max-width:600px){header nav{gap:9px}.panel{padding:16px}.stepper{gap:4px}.stepper input{width:46px}}
@media(max-width:310px){.fuel-item{grid-template-columns:77px minmax(124px,1fr)}.fuel-item .remove{grid-column:2}.fuel-item .item-total{grid-column:1/-1;grid-row:3;flex-direction:row;gap:4px;justify-content:flex-end}}
@media(max-width:280px){.templates{grid-template-columns:1fr}}
@media(max-width:360px){.panel{padding:14px}.facts strong{font-size:16px}.totals strong{font-size:19px}}

@media(max-width:300px){.intensity-options{grid-template-columns:1fr}}
