/* F3 berry diptych: expressive food prints, quiet readable controls. */
:root{color-scheme:dark;--paper:#32132F;--card:#3c1a38;--ink:#F1DEFF;--muted:#CFB5D6;--cta:#F88EAF;--cta-soft:#55213E;--placeholder:#48213F;--danger:#FFACAA;--shadow:none;--shadow-soft:none}
body{background:#210E22}header{height:68px}.brand{font-size:21px;letter-spacing:.04em}.brand-icon,.header-note{display:none}main{padding-top:0}h1,h2,h3,.recipe-title-button b{font-family:'Songti SC','STSong','Noto Serif CJK SC',serif}
nav{background:#32132F;border-top:1px solid #613454;box-shadow:none;backdrop-filter:none}nav button{color:#D5BDE4}nav button.active{color:var(--cta)}
.feed-heading{margin:0;min-height:28px}.feed-heading .date{font-size:12px}.today-top{display:none}.meal-pills{justify-content:center;gap:16px;margin:8px 0 16px}.meal-pill{font-size:15px;padding:8px 22px;border-radius:10px}.meal-pill.active{background:var(--cta);color:var(--paper)}
.photo-feed{gap:0}.f3-meal{min-width:0}.art-open{border:0;background:none;padding:0;width:100%;display:block;text-align:left}.ingredient-art{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:9px;height:330px;padding-bottom:22px;overflow:hidden}.art-panel{position:relative;overflow:hidden;background:#BB9EDC}.art-panel-1{background:#D97E9B}.food-print{position:absolute;display:block;width:100%;aspect-ratio:1;background-image:url('assets/illustrations/ingredients-f3.png');background-size:600% 400%;background-repeat:no-repeat;pointer-events:none}.print-0{top:-10px;transform:rotate(-8deg) scale(1.1)}.print-1{top:90px;transform:rotate(10deg)}.print-2{top:190px;transform:rotate(-9deg)}.ingredient-art>small{position:absolute;bottom:0;left:0;font-size:11px;color:var(--muted);line-height:20px}.art-panel:has(.print-0:only-child) .print-0{top:65px;transform:scale(1.15)}
.recipe-title-button{padding:14px 0 4px}.recipe-title-button b{font-size:30px;line-height:1.25;font-weight:700}.f3-meta{font-size:14px;line-height:1.7;color:var(--muted);margin:8px 0 16px}.photo-actions{padding:0;gap:12px;background:transparent}.photo-actions button{min-height:50px;border-radius:12px;font-size:16px}.open-chip{flex:2!important;background:var(--cta);color:var(--paper);font-weight:700}.swap-chip{flex:1!important;background:transparent;border:1px solid #BD95CE;color:var(--ink)}
.today-secondary{gap:0;border-block:1px solid #613454;margin-top:22px}.sec-card{background:none;border-radius:0;min-height:94px;padding:14px 8px}.sec-card+.sec-card{border-left:1px solid #613454}.sec-card strong{font-size:23px}.sec-card em{font-size:12px}.sec-card span{font-size:13px}
.detail-art{margin:0 18px}.detail-art .ingredient-art{height:142px;padding-bottom:20px}.detail-art .food-print{width:94px}.detail-art .print-0{top:-12px;left:-5px}.detail-art .print-1{top:25px;right:-6px}.detail-art .print-2{top:50px;left:0}.detail-art .art-panel:has(.print-0:only-child) .print-0{top:10px;left:20px}
.sheet{border:1px solid #613454;box-shadow:none}.sheet-heading{padding-top:14px!important}.sheet-handle{background:#8D5B8E}.close{background:#512443;color:var(--ink)}.meal-title{font-size:27px!important;line-height:1.35}.detail-block{background:none;box-shadow:none;border-radius:0;padding:12px 0;margin:12px 18px}.detail-block h4{font-size:20px;color:var(--cta)}.ingredient-list li{border-color:#613454;font-size:16px;line-height:1.7}.recipe-steps li{font-size:16px;line-height:1.9}.recipe-reference p,.recipe-storage p{color:var(--muted);font-size:14px}.recipe-reference details,.food-result,.manual-entry,.shopping,.history{border-color:#613454}.recipe-storage{background:transparent;border-top:1px solid #613454}
.primary,.category-chip.active{color:var(--paper);font-weight:700}.outline{border:1px solid #BD95CE;background:transparent;color:var(--ink)}.category-chip{color:var(--ink)}.setup-banner{color:var(--ink)}.library-entry small,.food-estimate>span{color:var(--muted)}.field{border:1px solid #70445F}.progress{background:#613454}a{color:var(--cta)}.recipe-source-links a,.recipe-storage a{color:var(--cta)}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #B5F6D4;outline-offset:3px}.trend-tab.active{background:var(--cta);color:var(--paper)}
.art-thumb{width:76px;height:92px}.art-thumb .ingredient-art{height:92px;padding:0;gap:2px}.art-thumb .food-print{width:48px}.art-thumb .print-0{top:0}.art-thumb .print-1{top:30px}.art-thumb .print-2{top:55px}.art-thumb .ingredient-art>small{display:none}.recipe-main b{font-size:17px}.recipe-card{padding:10px!important}.filter{font-size:13px}.food-result small{font-size:13px}#toast{background:#F1DEFF;color:#32132F;max-width:calc(100vw - 24px);white-space:normal}
@media(max-width:360px){.ingredient-art{height:295px}.print-1{top:75px}.print-2{top:160px}.recipe-title-button b{font-size:26px}.meal-pill{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Reference alignment: measured at a 390px viewport, not the full design-board width. */
@font-face{font-family:RecipeDisplay;src:url('assets/fonts/recipe-serif.woff2') format('woff2');font-style:normal;font-weight:900;font-display:swap}
:root{--paper:#290B27;--card:#351131;--ink:#E5CCF5;--cta:#FA78AA}
body{background:#210D23}header{height:64px;padding-top:env(safe-area-inset-top);padding-inline:20px;box-sizing:content-box}.brand{font-family:RecipeDisplay,'Songti SC',serif;font-weight:900;font-size:24px;letter-spacing:0}.header-note{display:block;font-size:13px;color:var(--ink)}main{padding-inline:16px}.feed-heading{display:none}.meal-pills{gap:24px;margin:0 0 12px}.meal-pill{font-size:16px;min-height:44px;border-radius:8px;padding:8px 24px}
.f3-meal .ingredient-art{height:354px;padding-bottom:18px;gap:9px}.art-panel{background:#C7ACED}.art-panel-1{background:#EB94B2}.f3-meal .food-print{width:146%;left:-23%;transform:rotate(-12deg)}.f3-meal .print-0{top:-38px;transform:rotate(-16deg) scale(1.05)}.f3-meal .print-1{top:102px;transform:rotate(15deg) scale(1.12)}.f3-meal .print-2{top:195px;transform:rotate(-12deg)}.f3-meal .art-panel:has(.print-0:only-child) .print-0{top:35px;transform:rotate(-18deg) scale(1.4)}
.f3-meal .art-panel-0:has(.print-1):not(:has(.print-2)) .print-0{top:-34px;width:170%;left:-46%}.f3-meal .art-panel-0:has(.print-1):not(:has(.print-2)) .print-1{top:110px;width:178%;left:-30%;transform:rotate(24deg)}
.f3-meal .recipe-title-button{padding:10px 0 0;min-height:0}.f3-meal .recipe-title-button b{font-family:RecipeDisplay,'Songti SC',serif;font-size:34px;font-weight:900;line-height:1.25;letter-spacing:-.03em}.f3-meta{font-size:16px;margin:8px 0 14px;line-height:1.5;color:var(--ink)}.f3-meal .photo-actions .open-chip,.f3-meal .photo-actions .swap-chip{font-size:18px;min-height:50px;border-radius:11px;font-weight:700}.f3-meal .photo-actions .open-chip{color:#290B27;background:var(--cta);flex:2!important}.f3-meal .photo-actions .swap-chip{color:var(--ink);border:1.5px solid #C7A6E1;background:transparent;flex:1!important}
.today-secondary{margin-top:16px;border-color:#774472}.sec-card{min-height:78px;padding:10px 8px}.sec-card span{font-size:13px}.sec-card strong{font-size:25px}.sec-card em{font-size:12px}nav{background:var(--paper);border-color:#774472}nav button{font-size:13px}
.sheet:has(.detail-art){height:100dvh;max-height:100dvh;border-radius:0;border:0}.sheet:has(.detail-art) .sheet-handle{display:none}.sheet:has(.detail-art) .sheet-heading{margin-bottom:4px;padding-top:8px!important;align-items:center}.sheet:has(.detail-art) .sheet-heading p{display:none}.sheet:has(.detail-art) .sheet-heading h2{font-size:16px;font-family:inherit}.sheet:has(.detail-art) .close{background:none}
.detail-art .ingredient-art{height:110px;padding-bottom:0}.detail-art .ingredient-art>small{display:none}.detail-art .food-print{width:120px}.detail-art .print-0{top:-24px;left:-16px}.detail-art .print-1{top:15px;right:-16px}.detail-art .print-2{top:40px;left:16px}.meal-title{font-family:RecipeDisplay,'Songti SC',serif;font-weight:900;font-size:28px!important;line-height:1.3}.detail-block h4{font-size:20px;font-weight:750;margin-bottom:4px}.detail-block{padding-block:6px;margin-block:12px}.ingredient-list li{padding-block:10px;min-height:44px;line-height:1.5;font-size:15px}.ingredient-list li::before{display:none}.ingredient-list li{padding-left:0}.recipe-steps li{font-size:15px;line-height:1.8;margin-bottom:14px}.recipe-steps li::marker{color:var(--cta);font-weight:800}.recipe-reference p,.recipe-storage p{font-size:14px}
@media(max-width:360px){header{padding-inline:16px}.brand{font-size:22px}.meal-pills{gap:12px}.f3-meal .ingredient-art{height:320px}.f3-meal .recipe-title-button b{font-size:30px}.f3-meal .photo-actions .open-chip,.f3-meal .photo-actions .swap-chip{font-size:16px}.f3-meal .print-1{top:80px}.f3-meal .print-2{top:170px}}
.ingredient-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:baseline}.ingredient-amount{text-align:right;max-width:14ch;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.ingredient-list li>span:first-child{min-width:0;overflow-wrap:anywhere}
/* F3 detail composition: square pink counters, compact ruled materials, disclosures. */
.sheet:has(.detail-art) .sheet-heading{justify-content:space-between;min-height:48px}.sheet:has(.detail-art) .sheet-heading h2{font-size:16px;font-weight:700}.sheet:has(.detail-art) .sheet-heading .close{border-radius:0;font-size:24px}.detail-art{margin:0 14px}.meal-title{font-size:28px!important;margin:10px 0 3px!important;padding-inline:16px}.meal-sub{font-size:13px;padding-inline:16px;margin-top:2px!important}.detail-block{margin:16px 16px 0;padding:0}.detail-block h4{font-size:20px;line-height:1.4;margin:0 0 6px}.detail-block h4 span{display:none}.ingredient-list li{min-height:0;padding:5px 0!important;font-size:14.5px;line-height:1.5;border-bottom:1px solid #71426E}.ingredient-list li:last-child{border-bottom:1px solid #71426E!important;padding-bottom:5px!important}.ingredient-amount{max-width:15ch}
.recipe-steps{list-style:none;counter-reset:cooking;padding:0;margin:0}.recipe-steps li{counter-increment:cooking;display:grid;grid-template-columns:25px minmax(0,1fr);column-gap:12px;align-items:start;position:relative;padding:0!important;margin:12px 0!important;font-size:14px;line-height:1.8}.recipe-steps li::before{content:counter(cooking);display:grid;place-items:center;width:25px;height:28px;border-radius:5px;background:var(--cta);color:#290B27;font-size:19px;font-weight:650;line-height:1.3}.recipe-steps li::marker{content:''}
.recipe-disclosures{margin:18px 16px 0}.recipe-disclosures details{border-top:1px solid #71426E}.recipe-disclosures details:last-of-type{border-bottom:1px solid #71426E}.recipe-disclosures summary{list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:44px;font-size:15px;padding:9px 0!important}.recipe-disclosures summary::-webkit-details-marker{display:none}.recipe-disclosures summary>span{font-size:24px;font-weight:300}.recipe-disclosures details[open] summary>span{transform:rotate(90deg)}.disclosure-body{padding:4px 0 14px;color:var(--muted);font-size:14px;line-height:1.85}.disclosure-body p+p{margin-top:10px}.disclosure-body a{color:var(--cta);min-height:44px;display:block;padding-block:10px}.reference-energy{margin:10px 0;color:var(--muted);font-size:12px;line-height:1.6}
.recipe-record-bar{position:sticky;bottom:0;background:var(--paper);padding:8px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #71426E;z-index:3}.recipe-record-bar .log-controls{padding:0;margin:0 0 8px;font-size:13px}.recipe-record-bar .log-controls select{min-height:36px;padding:4px 8px;font-size:14px;width:100px}.recipe-record-bar .two-actions{padding:0!important;margin:0!important}.recipe-record-bar .two-actions>.outline{display:none}.recipe-record-bar .primary{width:100%;min-height:48px;border-radius:10px;font-size:18px}
/* Each meal now has its own complete screenprint diptych, not assembled icon sprites. */
.ingredient-art.composed-art{display:block;position:relative;aspect-ratio:1.06;height:auto!important;padding:0 0 18px!important;overflow:hidden}.composition-print{display:block;width:100%;aspect-ratio:1.06;background-size:300% 300%;background-repeat:no-repeat}.composed-art>small{bottom:0;left:0;font-size:10px;line-height:18px}.detail-art .composed-art{height:100px!important;aspect-ratio:auto;padding:0!important}.detail-art .composition-print{height:100%;aspect-ratio:auto;background-size:300% 300%}.detail-art .composed-art>small{display:none}.art-thumb .composed-art{height:92px!important;padding:0!important;aspect-ratio:auto}.art-thumb .composition-print{height:100%;aspect-ratio:auto}.art-thumb .composed-art>small{display:none}
.detail-art .composition-print{height:auto;aspect-ratio:1;transform:translateY(-24%)}
.ingredient-art.composed-art{aspect-ratio:auto}.recipe-record-bar .two-actions{display:block}.sheet:has(.detail-art){padding-bottom:0}.recipe-record-bar{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
