:root{--paper:#fff5e6;--ink:#20201e;--orange:#ff5c28;--muted:#82796c;--line:#e5dacb;--card:#fffbf5}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:3px}button{border:0;background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:9px;font-weight:600}button:hover{filter:brightness(.94)}button.plain{background:transparent;color:var(--ink);padding:8px}button.outline{border:1px solid var(--line);background:transparent;color:var(--ink)}button.primary{background:var(--orange);color:var(--paper)}header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:20px max(24px,calc((100vw - 1150px)/2));border-bottom:1px solid var(--line);gap:22px}.brand{display:flex;align-items:center;gap:12px}.brand>span{font:11px monospace;color:var(--muted);border-left:1px solid var(--line);padding-left:12px}.logo{position:relative;overflow:hidden;width:172px;aspect-ratio:1169/300;mix-blend-mode:multiply}.logo img,.logo-gaze{position:absolute;width:107.27%;max-width:none;height:auto;left:-3.68%;top:-155.33%}.logo-gaze{pointer-events:none}.gaze-ready>img{visibility:hidden}.profile{width:38px;height:38px;border-radius:50%;background:#eaddcb;color:var(--ink);padding:0}nav{display:flex;gap:7px}nav button{display:flex;gap:8px;align-items:center;background:transparent;color:#82796c;font-weight:500;font-size:13px;padding:12px 17px}nav button.active{background:var(--ink);color:var(--paper)}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}main{max-width:1150px;padding:31px 24px 70px;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}h1{font-size:32px;font-weight:650;letter-spacing:-1.4px;margin:0}h2{font-size:19px;font-weight:650;letter-spacing:-.5px;margin:0}h3{font-size:15px;margin:0;font-weight:600}p{line-height:1.5}small,.muted{color:var(--muted)}.date-control{display:flex;align-items:center;gap:12px;font-size:13px}.date-control button{padding:5px;background:transparent;color:var(--ink);display:flex}.layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:26px}.panel{border:1px solid var(--line);border-radius:17px;background:var(--card);padding:23px}.summary{margin-bottom:22px}.summary-top{display:flex;justify-content:space-between;align-items:center}.summary-top small{font-size:10px}.energy{display:flex;align-items:center;gap:30px;margin:22px 0}.ring{width:128px;height:128px;border-radius:50%;background:conic-gradient(var(--orange) var(--fill),#eee5d8 0);padding:7px;flex-shrink:0}.ring>div{width:100%;height:100%;background:var(--card);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px}.ring strong{font-size:31px;letter-spacing:-1px;font-weight:600}.ring small{font-size:10px}.cal-details{flex:1;display:grid;grid-template-columns:1fr auto;gap:12px;font-size:12px}.cal-details span{color:var(--muted)}.cal-details b{font-weight:600}.macro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border-top:1px solid var(--line);padding-top:20px}.macro-grid strong{font-size:12px;font-weight:500}.macro-grid p{font-size:12px;margin:8px 0}.macro-grid p span{color:var(--muted)}.bar{height:4px;background:#eae2d7;border-radius:5px;overflow:hidden}.bar i{display:block;height:100%;background:var(--orange)}.macro-grid>div:nth-child(2) i{background:#b7a58a}.macro-grid>div:nth-child(3) i{background:#696752}.section-label{display:flex;align-items:center;justify-content:space-between;margin:24px 0 13px}.section-label .plain{font-size:12px;color:var(--orange)}.diary{padding:0;overflow:hidden}.meal-group{border-bottom:1px solid var(--line);padding:18px 22px}.meal-group:last-child{border:0}.meal-head{display:flex;align-items:center;gap:10px}.meal-head>svg{color:#877967;width:18px}.meal-head b{font-size:13px;font-weight:600}.meal-head small{margin-left:auto;font-size:11px}.add-mini{border:1px solid var(--line);background:transparent;color:var(--ink);width:29px;height:29px;border-radius:50%;padding:0;font-size:22px;font-weight:normal;margin-left:4px}.empty-row{margin:12px 0 0 28px;font-size:11px;color:#938879}.food-entry{display:flex;align-items:center;gap:12px;margin-top:16px}.food-entry .food-photo{width:48px;height:48px;border-radius:8px;flex-shrink:0}.food-entry>div:nth-child(2){flex:1}.food-entry b{font-size:12px;font-weight:500}.food-entry small{display:block;font-size:10px;margin-top:5px}.food-entry>strong{font-size:12px;font-weight:500}.food-entry .plain{font-size:16px;color:var(--muted);padding:5px}.food-photo{background-image:url('assets/food-photography-optimized.webp');background-size:300% auto;background-repeat:no-repeat;background-position:0% center}.photo-salad{background-position:50% center}.photo-bowl{background-position:100% center}.photo-tacos{background-position:0% center}.discovery-card{border-radius:17px;border:1px solid var(--line);overflow:hidden;background:var(--card)}.discovery-card>.food-photo{height:280px;position:relative}.photo-chip{position:absolute;bottom:15px;left:15px;background:#fff9efd9;backdrop-filter:blur(8px);padding:7px 10px;border-radius:20px;font-size:10px}.meal-body{padding:22px}.meal-body .eyebrow{font:9px monospace;letter-spacing:1.2px;color:var(--orange);text-transform:uppercase}.meal-body h2{font-size:26px;letter-spacing:-.9px;line-height:1.08;margin:9px 0 12px;max-width:260px}.meal-body p{font-size:11px;color:var(--muted);margin:0 0 20px}.meal-buttons{display:flex;gap:8px}.meal-buttons button{flex:1;font-size:12px}.meal-buttons .outline{flex:.8}.small-card{display:flex;align-items:center;gap:14px;margin-top:18px;padding:19px;border:1px solid var(--line);border-radius:15px;background:transparent;width:100%;text-align:left;color:var(--ink)}.small-card .stamp{width:38px;height:38px;border:1px solid var(--line);display:grid;place-items:center;border-radius:9px}.small-card div:nth-child(2){flex:1}.small-card b{font-size:12px;font-weight:600}.small-card small{font-size:10px;display:block;margin-top:5px;font-weight:normal}.quick-log{width:100%;display:flex;justify-content:center;align-items:center;gap:10px;padding:15px}.inline-note{font:10px monospace;color:#978977;text-align:center;margin-top:18px}.bottom-meta{margin-top:27px;font-size:10px;color:#938879;display:flex;justify-content:space-between;gap:18px}.bottom-meta details{max-width:600px}.bottom-meta summary{cursor:pointer}.bottom-meta button{font-size:10px;color:#938879;font-weight:normal}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:22px}.filters button{border:1px solid var(--line);background:transparent;color:var(--ink);font-size:12px;border-radius:24px;padding:10px 16px;font-weight:500}.filters button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.recipe-grid .discovery-card>.food-photo{height:260px}.recipe-grid .meal-body{padding:20px}.recipe-grid h2{font-size:23px}.heart{position:absolute;top:14px;right:14px;background:var(--paper);color:var(--ink);width:34px;height:34px;padding:0;font-size:22px;border-radius:50%}.heart[aria-pressed=true]{color:var(--orange)}.kitchen-list{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.inventory-row{padding:20px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:15px}.inventory-row>div{flex:1}.inventory-row h3{text-transform:lowercase}.inventory-row small{display:block;font-size:11px;margin-top:6px}.inventory-row button{font-size:11px}.number-mark{font:12px monospace;color:#a48d70}.saved-row{display:flex;align-items:center;gap:15px;padding:13px 0;border-bottom:1px solid var(--line)}.saved-row .food-photo{width:60px;height:60px;border-radius:9px}.saved-row>div:nth-child(2){flex:1}.saved-row small{display:block;margin-top:6px;font-size:11px}.saved-row button{font-size:11px}.stat-large{font-size:44px;font-weight:500;letter-spacing:-2px;margin:25px 0 8px}.trend{width:100%;height:180px;stroke:var(--orange);stroke-width:2;fill:none;overflow:visible}.weight-list{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.form-row{display:flex;gap:10px;align-items:center;margin-top:20px;flex-wrap:wrap}input,select{border:1px solid var(--line);background:var(--card);color:var(--ink);padding:12px;border-radius:8px;max-width:100%}label{font-size:12px}dialog{border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);width:520px;max-width:94vw;max-height:90dvh;padding:24px}dialog::backdrop{background:#20201e80;backdrop-filter:blur(3px)}.modal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-top span{font:10px monospace;color:var(--muted)}.modal-top button{background:transparent;color:var(--ink);padding:5px;font-size:25px}.modal-photo{height:215px;border-radius:12px;margin:15px 0}.modal-title{font-size:27px;letter-spacing:-1px;margin:7px 0 10px}.recipe-facts{font-size:12px;color:var(--muted);margin-bottom:16px}.ingredient{display:flex;justify-content:space-between;padding:10px 0;font-size:12px;border-bottom:1px solid var(--line)}.fine{font-size:11px;color:var(--muted);line-height:1.5}.primary.full{width:100%;margin-top:18px}.portion-stepper{display:flex;align-items:center;gap:12px;margin:15px 0}.portion-stepper input{width:80px;text-align:center}.portion-stepper button{background:#eee1cf;color:var(--ink);font-size:20px;padding:8px 16px}.log-meta{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.search{width:100%;margin-bottom:10px}.empty{text-align:center;padding:30px;color:var(--muted)}#toast{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);padding:16px 23px;background:var(--ink);color:var(--paper);border-radius:12px;max-width:90%;z-index:40;font-size:13px;box-shadow:0 10px 30px #0002}.empty button{margin-top:12px}.checkline{display:flex;align-items:center;gap:10px;margin:18px 0}.settings-row{margin:18px 0}.settings-row label{display:block;margin-bottom:8px}.muted-button{color:var(--muted)!important}.row-between{display:flex;justify-content:space-between;align-items:center}.tag{font-size:9px;padding:5px 8px;border:1px solid var(--line);border-radius:5px;color:var(--muted)}.cook-instructions{font-size:12px;line-height:1.6;padding-left:20px;color:#665d52}.cook-instructions li{margin:10px 0}
@media(min-width:900px){.today-side{padding-top:0}.today-side .section-label{margin-top:2px}.diary-col .section-label:first-child{margin-top:0}}@media(max-width:780px){header{height:76px;padding:18px 20px}.logo{width:145px}.brand{gap:9px}.brand>span{font-size:9px;padding-left:9px}.profile{width:32px;height:32px}nav{position:fixed;bottom:0;left:0;right:0;height:76px;padding:8px 10px 12px;justify-content:space-around;background:#fff5e6f5;backdrop-filter:blur(10px);border-top:1px solid var(--line);z-index:20}nav button{flex-direction:column;gap:5px;font-size:10px;padding:8px 15px;border-radius:10px}nav button.active{background:transparent;color:var(--orange)}nav button svg{width:21px;height:21px}main{padding:23px 17px 105px}h1{font-size:28px}.page-title{margin-bottom:21px}.date-control{gap:8px;font-size:11px}.layout{grid-template-columns:1fr;gap:25px}.summary{padding:20px;margin-bottom:20px}.energy{gap:28px;margin:20px 0}.ring{width:115px;height:115px}.ring strong{font-size:28px}.macro-grid{gap:17px}.meal-group{padding:17px 18px}.diary-col .section-label{margin-top:24px}.today-side .section-label{margin-top:0}.discovery-card>.food-photo{height:290px;background-size:300% auto}.meal-body h2{font-size:26px;max-width:none}.meal-body{padding:20px}.quick-log{padding:14px}.small-card{margin-top:15px}.recipe-grid{grid-template-columns:1fr;gap:23px}.recipe-grid .discovery-card>.food-photo{height:300px;background-size:300% auto}.recipe-grid .meal-body{padding:20px}.recipe-grid h2{font-size:25px}.filters{gap:7px}.filters button{font-size:11px;padding:9px 12px}.kitchen-list{grid-template-columns:1fr}.bottom-meta{font-size:9px}.panel{border-radius:15px}.modal-photo{background-size:300% auto}.summary-top h2{font-size:17px}dialog{padding:20px}.date-control .plain{padding:4px}.trend{height:150px}.page-title>.outline{padding:10px 12px;font-size:11px}}
.usual-section{margin:22px 0}.usual-list{display:grid;gap:8px}.usual-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px;background:var(--card);border:1px solid var(--line);color:var(--ink);text-align:left}.usual-item .food-photo{width:62px;height:62px;border-radius:8px;flex-shrink:0}.usual-item>span{flex:1}.usual-item b{font-size:12px;font-weight:600}.usual-item small{display:block;font-size:10px;margin-top:7px;font-weight:400}.usual-item>svg{width:18px;margin-right:7px}.usual-empty{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px dashed var(--line);border-radius:12px;padding:15px}.usual-empty p{font-size:12px;color:var(--muted)}.usual-empty button{font-size:11px}.dinner-filters{margin-bottom:14px;gap:6px}.dinner-filters button{font-size:11px;padding:9px 12px}.weekly{max-width:850px;margin:auto}.week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:30px 0}.week-day{background:transparent;color:var(--muted);padding:0;font-weight:400;display:flex;align-items:center;flex-direction:column;gap:12px}.week-day>span{font-size:11px}.week-day i{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;font-style:normal;font-size:17px;color:var(--muted)}.week-day.has-logs i{background:var(--paper);border-color:var(--orange);color:var(--ink)}.week-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:22px 0;border-top:1px solid var(--line)}.week-stats strong{display:block;font-size:32px;font-weight:500;letter-spacing:-1px}.week-stats strong small{font-size:14px;letter-spacing:0}.week-stats span{display:block;font-size:11px;color:var(--muted);margin-top:8px;line-height:1.5}.week-note{font-size:13px;margin:6px 0 20px}.weight-details{margin-top:25px}.weight-details>summary{cursor:pointer;font-size:13px;padding:12px 0}.weight-details .page-title{margin-top:20px}.weight-details h1{font-size:23px}@media(max-width:480px){.week-days{gap:3px}.week-day i{width:33px;height:33px;font-size:14px}.weekly{padding:18px}.weekly .row-between{align-items:flex-start;gap:12px}.weekly .row-between h2{font-size:17px}.weekly .row-between .fine{font-size:10px}.week-stats{gap:13px}.week-stats strong{font-size:29px}.usual-section .section-label .fine{font-size:9px}}
/* Orange-first art direction: original palette, cream wordmark, food before numbers. */
header{background:var(--orange);border-bottom:0}.logo{mix-blend-mode:normal;filter:url(#cream-wordmark)}.brand>span{color:var(--ink);border-color:#20201e40}.profile{background:var(--paper)}nav#nav button{color:var(--ink)}nav#nav button.active{background:var(--paper);color:var(--ink)}.dinner-feature{background:var(--orange);border-radius:20px;overflow:hidden;margin:0 0 30px}.dinner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 25px}.dinner-toolbar h2{font-size:24px;letter-spacing:-.8px}.dinner-toolbar .filters{margin:0}.dinner-toolbar .filters button{border-color:#20201e66;color:var(--ink);background:transparent}.dinner-toolbar .filters button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.dinner-feature .discovery-card{display:grid;grid-template-columns:1.2fr 1fr;border:0;border-radius:0;background:var(--orange)}.dinner-feature .discovery-card>.food-photo{height:360px}.dinner-feature .meal-body{padding:32px;display:flex;flex-direction:column;justify-content:center}.dinner-feature .meal-body h2{font-size:48px;line-height:.98;letter-spacing:-2px;max-width:360px;color:var(--paper);margin:14px 0 22px}.dinner-feature .meal-body .eyebrow{color:var(--paper);font-size:11px;letter-spacing:.8px}.dinner-feature .meal-body p{color:var(--paper);font-size:13px}.dinner-feature .primary{background:var(--paper);color:var(--ink)}.dinner-feature .meal-buttons{flex-wrap:wrap;gap:10px}.dinner-feature .meal-buttons button{font-size:13px;padding:15px 12px;white-space:nowrap}.dinner-feature .meal-buttons .outline{background:var(--ink);color:var(--paper);border-color:var(--ink)}.dinner-feature>.panel{margin:0 20px 20px}.diary-col>.summary{margin-top:0}.today-side>.small-card:first-child{margin-top:0}.fine,small,.muted{color:#6f6559}.food-entry small,.empty-row,.bottom-meta{color:#6f6559}.usual-section .section-label{margin-top:20px}button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.dinner-feature button:focus-visible{outline:3px solid var(--paper);outline-offset:3px}
@media(max-width:780px){nav#nav{background:var(--paper)}nav#nav button{color:#6f6559}nav#nav button.active{background:var(--ink);color:var(--paper)}.dinner-toolbar{display:block;padding:20px}.dinner-toolbar h2{font-size:26px;margin-bottom:15px}.dinner-feature{margin-bottom:25px;border-radius:17px}.dinner-feature .discovery-card{display:flex;flex-direction:column}.dinner-feature .discovery-card>.food-photo{height:265px}.dinner-feature .meal-body{padding:23px}.dinner-feature .meal-body h2{font-size:39px;max-width:340px;margin:10px 0 17px}.dinner-feature .meal-body .eyebrow{font-size:10px}.dinner-feature .meal-body p{font-size:12px;margin-bottom:20px}.dinner-feature .meal-buttons button{font-size:12px}.dinner-toolbar .filters button{font-size:11px}.page-title{margin-bottom:18px}}

.logo.gaze-ready{filter:none}
/* Orange canvas, cream surfaces. */
:root{--card:#fff5e6}body{background:var(--orange)}header{border-bottom:0}main>.page-title h1,main>.page-title>.tag,.section-label h2,.dinner-toolbar h2{color:var(--paper)}.page-title>.date-control{background:var(--paper);padding:7px 9px;border-radius:24px;color:var(--ink)}.page-title>.outline,.page-title>.primary{background:var(--paper);color:var(--ink);border-color:var(--paper)}.dinner-feature{background:transparent;border-radius:0;overflow:visible;margin-bottom:35px}.dinner-toolbar{padding:5px 0 20px}.dinner-toolbar h2{font-size:30px}.dinner-toolbar .filters button{background:var(--paper);border-color:var(--paper);color:var(--ink)}.dinner-toolbar .filters button.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.dinner-feature .discovery-card{background:var(--paper);border-radius:20px;overflow:hidden}.dinner-feature .meal-body h2,.dinner-feature .meal-body p{color:var(--ink)}.dinner-feature .meal-body .eyebrow{color:#6f6559}.dinner-feature .primary{background:var(--orange);color:var(--paper)}.dinner-feature .meal-buttons .outline{background:transparent;border-color:#a79886;color:var(--ink)}.dinner-feature>.panel{margin:0}.panel,.discovery-card,.usual-item{border-color:transparent;background:var(--paper)}.small-card{background:var(--paper);border-color:transparent}.quick-log{background:var(--paper)!important;color:var(--ink)}.section-label .plain{background:var(--paper);color:var(--ink);border-radius:20px}.usual-section .section-label .fine{color:var(--ink)}.usual-empty{background:var(--paper);border:0}.inline-note{color:var(--ink)}main>.filters button{background:var(--paper);color:var(--ink);border-color:var(--paper)}main>.filters button.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.bottom-meta{background:var(--paper);padding:12px 16px;border-radius:12px;color:#6f6559}.bottom-meta button{color:#6f6559}.weight-details>summary{background:var(--paper);border-radius:12px;padding:16px;color:var(--ink)}.weight-details .page-title h1{color:var(--paper)}.weight-details .page-title .tag{background:var(--paper);color:var(--ink)}.dinner-feature button:focus-visible{outline-color:var(--ink)}.dinner-toolbar button:focus-visible{outline-color:var(--paper)}main>.recipe-grid>.empty{background:var(--paper);border-radius:15px;color:var(--ink)}
@media(max-width:780px){.dinner-toolbar{padding:0 0 18px}.dinner-toolbar h2{font-size:28px}.dinner-feature .discovery-card{border-radius:18px}.dinner-feature .meal-body h2{color:var(--ink)}.dinner-feature{margin-bottom:28px}.page-title>.date-control{padding:6px;gap:5px}.page-title h1{font-size:27px}nav#nav{background:var(--paper)}.today-side{display:grid;gap:14px}.today-side .small-card{margin:0}.section-label{gap:12px}}

/* One brand orange, seamless header, no hover color shifts. */
header{border:0}button:hover{filter:none}button:hover:not(:disabled){box-shadow:inset 0 0 0 1px currentColor}.heart[aria-pressed=true]{color:var(--paper);background:var(--orange)}
/* Loud brand, readable tools. Keep the original wordmark proportions. */
body{font-size:17px}header{height:122px;padding-top:23px;padding-bottom:23px}.logo{width:270px}.brand>span{font-size:14px}.profile{width:45px;height:45px;font-size:20px}h1{font-size:46px;font-weight:800;letter-spacing:-1.8px}h2{font-size:28px;font-weight:750;letter-spacing:-.8px}h3{font-size:19px}button,input,select{font-size:16px}button{font-weight:700;min-height:44px}.date-control{font-size:15px}.page-title{gap:16px;flex-wrap:wrap}.section-label{gap:14px;flex-wrap:wrap}.section-label .plain{font-size:14px}.dinner-toolbar{flex-wrap:wrap}.dinner-toolbar h2{font-size:40px;font-weight:800}.dinner-toolbar .filters button,.filters button{font-size:15px;padding:12px 17px}.dinner-feature .meal-body h2{font-size:54px;max-width:none;font-weight:800}.dinner-feature .meal-body .eyebrow{font-size:13px}.dinner-feature .meal-body p{font-size:16px}.dinner-feature .meal-buttons button{font-size:16px;white-space:normal;padding:16px}.meal-buttons button{font-size:16px}.meal-body h2,.recipe-grid h2{font-size:34px;font-weight:800;max-width:none}.meal-body p{font-size:15px}.photo-chip{font-size:13px}.heart{width:auto;height:auto;min-width:62px;font-size:14px;padding:10px 14px;border-radius:22px}.summary-top{gap:12px;flex-wrap:wrap}.summary-top small{font-size:13px}.energy{gap:24px}.ring{width:150px;height:150px}.ring strong{font-size:39px;font-weight:750}.ring small{font-size:12px;text-align:center;max-width:108px}.cal-details{font-size:15px;gap:14px}.macro-grid strong,.macro-grid p{font-size:15px}.meal-head b{font-size:18px}.meal-head small{font-size:14px}.add-mini{width:44px;height:44px;min-width:44px}.empty-row{font-size:14px;margin-left:0}.food-entry b{font-size:16px}.food-entry small{font-size:13px}.food-entry>strong{font-size:16px}.food-entry{gap:10px;flex-wrap:wrap}.food-entry>div:nth-child(2){min-width:110px}.small-card b{font-size:18px}.small-card small{font-size:14px}.small-card{padding:22px}.inline-note{font-size:14px}.usual-item b{font-size:17px}.usual-item small{font-size:14px}.usual-item .food-photo{width:76px;height:76px}.usual-empty{flex-wrap:wrap}.usual-empty p,.usual-empty button{font-size:15px}.usual-section .section-label .fine{font-size:13px}.inventory-row small,.inventory-row button,.saved-row small,.saved-row button{font-size:15px}.saved-row{gap:12px}.saved-row>div:nth-child(2){min-width:0}.fine,.recipe-facts,.ingredient,.cook-instructions{font-size:14px}.modal-top span{font-size:12px}.modal-title{font-size:34px}.modal-top button{min-width:44px}label{font-size:15px}.tag{font-size:12px}.bottom-meta,.bottom-meta button{font-size:12px}.weight-list{font-size:13px;flex-wrap:wrap;gap:10px}.week-day>span{font-size:14px}.week-day i{font-size:20px}.week-stats strong{font-size:44px;font-weight:750}.week-stats strong small{font-size:17px}.week-stats span{font-size:14px}.week-note{font-size:16px}.weight-details>summary{font-size:17px}nav button{font-size:15px}.stat-large{font-size:52px}.number-mark{font-size:15px}
@media(max-width:780px){header{height:106px;padding:20px;gap:10px}.logo{width:230px}.brand{gap:8px}.brand>span{font-size:12px;padding-left:8px}.profile{width:40px;height:40px;flex-shrink:0}.page-title h1{font-size:38px}.page-title>.date-control{font-size:14px}.dinner-toolbar h2{font-size:34px}.dinner-toolbar .filters button{font-size:14px}.dinner-feature .meal-body h2{font-size:44px;max-width:none}.dinner-feature .meal-body p{font-size:15px}.dinner-feature .meal-body .eyebrow{font-size:12px}.dinner-feature .meal-buttons button{font-size:15px;flex:1 1 120px}.meal-body h2,.recipe-grid h2{font-size:33px}.summary-top h2{font-size:26px}.ring{width:130px;height:130px}.ring strong{font-size:33px}.ring small{font-size:11px;max-width:98px}.energy{gap:18px}.cal-details{font-size:14px}.macro-grid{gap:10px}.macro-grid strong,.macro-grid p{font-size:14px}.weekly .row-between{flex-wrap:wrap}.weekly .row-between h2{font-size:26px}.weekly .row-between .fine{font-size:13px}.week-stats strong{font-size:36px}.week-stats span{font-size:13px}.week-day i{font-size:17px}.usual-section .section-label .fine{font-size:13px}.section-label h2{font-size:28px}nav button{font-size:13px;padding:7px 13px}nav{height:86px;padding-bottom:16px}.bottom-meta{font-size:12px}main{padding-bottom:120px}.modal-title{font-size:31px}}
@media(max-width:380px){.logo{width:205px}.brand>span{display:none}.energy{gap:12px}.ring{width:118px;height:118px}.cal-details{font-size:13px}.dinner-toolbar h2{font-size:31px}.dinner-feature .meal-body h2{font-size:39px}.week-stats{gap:9px}}
/* Diary: bigger type, less decoration and less empty padding. */
.meal-group{padding:16px 22px}.meal-head{gap:12px;flex-wrap:wrap}.meal-head b{font-size:25px;font-weight:800;letter-spacing:-.6px}.meal-head small{font-size:22px;font-weight:750;letter-spacing:-.5px;color:var(--ink)}.meal-head .add-mini{font-size:30px;border-color:var(--ink);color:var(--ink);line-height:1;flex-shrink:0}.empty-row{font-size:17px;color:var(--ink);margin:7px 0 0;line-height:1.35}.food-entry b{font-size:19px;font-weight:700}.food-entry small{font-size:16px;color:var(--ink)}.food-entry>strong{font-size:21px;font-weight:750}.food-entry .plain{font-size:24px}.usual-empty p{font-size:18px;color:var(--ink);margin:0;line-height:1.35}.usual-empty{padding:18px;gap:14px}.usual-empty button,.section-label .plain{font-size:17px;font-weight:750}.usual-section .section-label .fine{font-size:15px}.small-card b{font-size:22px;font-weight:800;letter-spacing:-.4px}.small-card small{font-size:17px;color:var(--ink);line-height:1.35}.small-card .stamp{display:none}.section-label h2{font-size:32px;font-weight:800}.usual-item b{font-size:20px;font-weight:750}.usual-item small{font-size:16px;color:var(--ink)}
@media(max-width:780px){.meal-group{padding:15px 18px}.meal-head b{font-size:23px}.meal-head small{font-size:21px}.empty-row{font-size:17px;line-height:1.3;margin-top:6px}.meal-head{gap:10px}.section-label h2{font-size:31px}.usual-empty{padding:18px}.usual-empty p{font-size:18px}.usual-empty button,.section-label .plain{font-size:16px}.usual-section .section-label .fine{font-size:15px}.small-card b{font-size:21px}.small-card small{font-size:17px}.food-entry b{font-size:18px}.food-entry small{font-size:15px}.food-entry>strong{font-size:20px}}
/* Put dinner immediately below the wordmark; keep the date with its context. */
header{height:104px;padding-top:14px;padding-bottom:14px}main{padding-top:20px}.dinner-toolbar{display:block;padding:0 0 17px}.dinner-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.dinner-heading h1{color:var(--paper);font-size:40px;font-weight:800;letter-spacing:-1.2px;line-height:1.03;margin:0}.dinner-heading .date-control{background:var(--paper);border-radius:24px;gap:0;padding:2px;color:var(--ink);flex-shrink:0;font-size:14px}.dinner-heading .date-control button{width:38px;min-height:44px;justify-content:center;padding:6px}.dinner-heading .date-control span{min-width:40px;text-align:center}.dinner-toolbar .filters{margin:0}
@media(max-width:780px){header{height:86px;padding-top:10px;padding-bottom:10px}main{padding-top:10px}.dinner-heading{gap:12px;margin-bottom:15px;align-items:center}.dinner-heading h1{font-size:34px;letter-spacing:-1px;max-width:230px}.dinner-heading .date-control{font-size:13px}.dinner-heading .date-control button{width:30px}.dinner-heading .date-control span{min-width:37px}.dinner-toolbar{padding-bottom:16px}.dinner-heading .date-control svg{width:17px;height:17px}}
/* GOODNUFF to eat: one compact lockup, any meal of the day. */
.brand{display:flex;flex-direction:column;align-items:flex-end;gap:0;flex-shrink:0}.brand>span{display:block;border:0;padding:0 3px 0 0;color:var(--paper);font:800 25px/1 Arial,Helvetica,sans-serif;letter-spacing:-.7px;margin-top:-1px}header{height:116px;padding-top:13px;padding-bottom:13px}.dinner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:17px}.dinner-toolbar>.filters{order:0;margin:0}.dinner-toolbar>.date-control{order:1;background:var(--paper);border-radius:24px;padding:2px;gap:0;font-size:14px;color:var(--ink)}.dinner-toolbar>.date-control button{width:34px;min-height:44px;justify-content:center;padding:6px}.dinner-toolbar>.date-control span{min-width:40px;text-align:center}.dinner-toolbar>.date-control svg{width:18px;height:18px}
@media(max-width:780px){header{height:100px;padding-top:10px;padding-bottom:10px}.brand>span{display:block;font-size:23px}.dinner-toolbar{gap:10px;padding-bottom:15px}.dinner-toolbar>.filters{flex:1 1 auto;gap:6px}.dinner-toolbar .filters button{padding:10px 13px}.dinner-toolbar>.date-control{margin-left:auto;font-size:13px}.dinner-toolbar>.date-control button{width:30px}.dinner-toolbar>.date-control span{min-width:37px}}
/* Compact horizontal wordmark lockup, with the descriptor stacked beside it. */
.brand{flex-direction:row;align-items:center;gap:10px;min-width:0;flex-shrink:1}.brand>.brand-descriptor{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;margin:0;padding:0;border:0;font-size:36px;line-height:.92;font-weight:800;letter-spacing:-1.2px;flex-shrink:0;color:var(--paper)}.brand-descriptor>span{display:block}header{height:98px;padding-top:12px;padding-bottom:12px}.logo{flex-shrink:0}
@media(max-width:780px){header{height:80px;padding-top:10px;padding-bottom:10px;gap:12px}.brand{gap:9px}.brand>.brand-descriptor{font-size:30px;line-height:.92;letter-spacing:-1px}.logo{width:230px}header .profile{flex-shrink:0}}
@media(max-width:380px){header{padding-left:17px;padding-right:17px;gap:10px}.logo{width:clamp(178px,calc(100vw - 140px),230px)}.brand{gap:7px}.brand>.brand-descriptor{font-size:27px}}
/* Give every page descriptor room without rebuilding the animated wordmark. */
.brand>.brand-descriptor{min-width:88px}.brand .logo{min-width:0;flex-shrink:1}
@media(max-width:780px){.brand>.brand-descriptor{font-size:28px;min-width:71px}.brand{flex-shrink:1}.brand .logo{width:230px}.profile{flex:0 0 40px}}
@media(max-width:380px){.brand>.brand-descriptor{font-size:25px;min-width:64px}.brand .logo{width:205px}}
/* Flexible support: familiar palette, clear actions, no extra visual noise. */
.day-plan{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:24px}.day-plan h2{font-size:32px;line-height:1.08;margin:8px 0}.eyebrow{font:13px monospace;letter-spacing:.5px}.day-plan p{margin:8px 0 0}.day-actions{display:flex;flex-wrap:wrap;gap:9px;flex-shrink:0}.day-actions button{font-size:16px}.week-plan{margin-bottom:32px}.week-plan .row-between{gap:18px;flex-wrap:wrap}.week-plan h2{font-size:32px;margin-top:8px}.plan-invite{padding:30px}.plan-invite p{font-size:19px}.plan-invite p.fine{font-size:15px}.plan-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:24px}.plan-day{display:flex;flex-direction:column;gap:12px;text-align:left;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:14px 10px;min-width:0}.plan-day.selected{border:2px solid var(--ink)}.plan-date{font-weight:800;font-size:21px}.plan-kind{font-size:12px;font-weight:500}.plan-day b{font-size:16px;line-height:1.2;overflow-wrap:anywhere;flex:1}.plan-edit{font-size:13px;text-decoration:underline;font-weight:400}.full-field{display:block;width:100%;margin:8px 0 20px}.full{width:100%;margin-top:14px}.nutrition-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px}.nutrition-inputs input{width:100%;margin-top:8px}.support-progress{max-width:850px;margin:22px auto}.support-progress .week-stats{margin-top:22px}.effort-options{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.effort-options .chosen{background:var(--ink);color:var(--paper)}.external-photo{background:transparent!important;border:1px solid var(--line);display:grid;place-items:center;flex-shrink:0}.external-photo svg{width:24px;height:24px}.page-title .date-control{flex-shrink:0}.summary .fine{margin-bottom:0}.food-entry small{line-height:1.35}.plan-invite .fine{margin-bottom:0}
@media(max-width:900px){.plan-days{grid-template-columns:repeat(4,minmax(0,1fr))}.day-plan{align-items:flex-start;flex-direction:column}.day-actions{width:100%}.day-actions button{flex:1}}
@media(max-width:780px){.day-plan{padding:22px;margin-bottom:22px}.day-plan h2,.week-plan h2{font-size:29px}.plan-days{display:flex;flex-direction:column;gap:0;margin-top:18px}.plan-day{display:grid;grid-template-columns:45px 1fr auto;column-gap:12px;row-gap:4px;border:0;border-top:1px solid var(--line);border-radius:0;padding:15px 0}.plan-day.selected{border:0;border-top:1px solid var(--ink)}.plan-date{grid-row:1 / 3;font-size:18px;align-self:center}.plan-kind{grid-column:2;font-size:13px}.plan-day b{grid-column:2;font-size:18px}.plan-edit{grid-column:3;grid-row:1 / 3;align-self:center;font-size:14px}.week-plan .panel{padding:22px}.plan-invite p{font-size:17px}.day-actions{flex-shrink:1}.day-actions button{min-width:120px}.support-progress{padding:20px}.support-progress .week-stats strong{font-size:34px}.support-progress .week-stats span{font-size:13px}.effort-options button{flex:1;padding:12px 10px}.week-plan .page-title h1{font-size:36px}.usual-item{padding:14px}.day-plan+.layout .summary{margin-top:0}}
.meal-sections{margin:4px 0 26px}.meal-paths{display:grid;grid-template-columns:1fr 1fr;gap:20px}.meal-path{display:flex;align-items:center;gap:16px;text-align:left;background:var(--paper);color:var(--ink);padding:16px;border-radius:18px}.meal-path .food-photo{width:100px;height:110px;border-radius:12px;flex-shrink:0}.meal-path>span{flex:1}.meal-path b{display:block;font-size:32px;letter-spacing:-1px}.meal-path small{display:block;font-size:15px;line-height:1.4;margin-top:8px;font-weight:400}.prepared-feature{display:grid;grid-template-columns:1.2fr 1fr}.prepared-feature>.food-photo{height:370px}.prepared-feature .meal-body{padding:30px;align-self:center}.prepared-feature h2{font-size:46px}.prepared-feature .delivery-note{font-size:14px;margin:18px 0 0}.prepared-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.prepared-summary h2{margin-top:8px}.prepared-summary p{margin-bottom:0}
@media(max-width:780px){.meal-paths{grid-template-columns:1fr;gap:16px}.meal-path .food-photo{width:86px;height:95px}.meal-path b{font-size:29px}.prepared-feature{display:block}.prepared-feature>.food-photo{height:245px}.prepared-feature .meal-body{padding:24px}.prepared-feature h2{font-size:40px}.prepared-summary{align-items:flex-start;flex-direction:column}.prepared-summary .day-actions{width:100%}.meal-sections{gap:8px}.meal-sections button{flex:1}}
/* Small background commentators. Never fixed, never over a control. */
.cook-cameo{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:88px;margin:-25px 6px 12px;pointer-events:none}.nugget{display:block;width:88px;height:88px;background-image:url('assets/good-uff-cook.png');background-size:200% 100%;background-repeat:no-repeat;flex-shrink:0}.good-dancer{background-position:left center;transform-origin:50% 85%;transition:transform 180ms ease-out}.good-dancer.is-dancing{transition:transform 65ms linear}.uff-aside{display:flex;align-items:center;gap:1px}.uff-commentator{background-position:right center;width:80px;height:80px}.uff-line{font-size:16px;font-weight:700;letter-spacing:-.3px;color:var(--ink);white-space:nowrap;margin-left:-5px}
@media(max-width:780px){.cook-cameo{min-height:76px;margin:-20px 0 12px;gap:5px}.nugget{width:76px;height:76px}.uff-commentator{width:70px;height:70px}.uff-line{font-size:15px}}
@media(prefers-reduced-motion:reduce){.good-dancer,.good-dancer.is-dancing{transform:none!important;transition:none!important}}

/* Hand-drawn squat poses replace the whole-body bounce. */
.good-dancer,.good-dancer.is-dancing{width:84px;height:112px;background-image:url('assets/good-booty-dance.png');background-size:400% 100%;background-position:0% center;transform:none;transition:none}
@media(max-width:780px){.good-dancer{width:75px;height:100px}.cook-cameo{margin-top:-26px;margin-bottom:2px}}
@media(prefers-reduced-motion:reduce){.good-dancer{background-position:0% center!important}}
.care-intro{max-width:850px;margin:0 auto 22px;padding:32px}.care-intro h2{font-size:44px;line-height:1.04;max-width:550px;margin:14px 0}.care-intro p{font-size:19px}.care-intro .fine{font-size:14px;margin:20px 0 0;max-width:530px}.care-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:850px;margin:auto}.care-card{display:flex;align-items:center;gap:15px;text-align:left;background:var(--paper);color:var(--ink);border-radius:17px;padding:25px}.care-card>span{flex:1}.care-card b{display:block;font-size:25px;letter-spacing:-.6px}.care-card small{display:block;font-size:16px;line-height:1.4;font-weight:400;margin-top:10px}.care-footnote{font-size:15px;text-align:center;max-width:600px;margin:25px auto;color:var(--ink)}
@media(max-width:780px){.care-intro{padding:25px}.care-intro h2{font-size:36px}.care-grid{grid-template-columns:1fr;gap:14px}.care-card{padding:22px}.care-card b{font-size:24px}.meal-sections{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.meal-sections button{padding:10px 5px;font-size:14px;white-space:nowrap}}
/* Meal slots share quantities; a compact week stays easy to scan. */
.mix-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:22px 0;border-bottom:1px solid var(--line)}.mix-totals span{font-size:14px;line-height:1.4}.mix-totals b{display:block;font-size:38px;letter-spacing:-1px;line-height:1.2;margin-bottom:4px}.slot-week{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;margin-top:20px}.slot-day h3{font-size:18px;margin:12px 0}.slot-row{display:flex;align-items:center;gap:12px;text-align:left;width:100%;background:transparent;color:var(--ink);border-top:1px solid var(--line);padding:15px 0;border-radius:0}.slot-group{font-size:13px;width:65px;flex-shrink:0;font-weight:400}.slot-row>span:nth-child(2){flex:1;min-width:0}.slot-row b{font-size:17px;line-height:1.25;display:block}.slot-row small{font-size:13px;display:block;margin-top:5px;font-weight:400}.slot-groups{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;margin:12px 0}.slot-groups .checkline{margin:8px 0}.slot-groups input{width:20px;height:20px;accent-color:var(--ink)}.today-slots{margin-top:12px}.today-slots button{display:flex;gap:12px;text-align:left;width:100%;align-items:center;border-top:1px solid var(--line);border-radius:0;padding:12px 0}.today-slots b{font-size:14px;width:70px;flex-shrink:0}.today-slots span{font-size:16px;flex:1;font-weight:400}.day-plan>div:first-child{flex:1;min-width:0;width:100%}
@media(max-width:780px){.slot-week{grid-template-columns:1fr;gap:10px}.mix-totals{gap:10px}.mix-totals b{font-size:32px}.mix-totals span{font-size:13px}.slot-row b{font-size:17px}.slot-group{width:62px}.today-slots span{font-size:15px}}
.simple-week{max-width:850px;margin:auto}.plan-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:22px 0}.plan-calendar button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 4px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:14px}.plan-calendar button.selected{background:var(--ink);color:var(--paper);border-color:var(--ink)}.plan-calendar span{font-size:12px;font-weight:400}.plan-calendar b{font-size:21px}.simple-meal{display:flex;width:100%;align-items:center;text-align:left;gap:16px;background:transparent;color:var(--ink);border-radius:0;border-top:1px solid var(--line);padding:22px 0}.simple-meal>span{flex:1}.simple-meal small{display:block;font-size:15px;font-weight:400;margin-bottom:7px}.simple-meal b{display:block;font-size:26px;line-height:1.1;letter-spacing:-.7px}.simple-meal .fine{display:block;margin-top:8px}.simple-meal .food-photo{width:70px;height:70px;border-radius:12px;flex-shrink:0}.simple-plan-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.simple-plan-actions button{flex:1}.plan-details{margin-top:24px}.plan-details summary{font-size:14px;cursor:pointer}.plan-details p{font-size:14px}.meal-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.meal-choices button{background:transparent;color:var(--ink);border:1px solid var(--line);padding:18px 10px}.meal-choices button.selected{background:var(--ink);color:var(--paper);border-color:var(--ink)}
@media(max-width:780px){.plan-calendar{gap:4px}.plan-calendar button{padding:11px 2px}.plan-calendar span{font-size:11px}.plan-calendar b{font-size:19px}.simple-meal b{font-size:25px}.simple-week .row-between h2{font-size:28px}}
/* Thumb-first navigation; animate the cream surface, keep labels steady. */
:root{--dock-height:calc(78px + env(safe-area-inset-bottom,0px))}.brand>.brand-descriptor[hidden]{display:none}nav#nav{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;height:var(--dock-height);padding:8px max(12px,calc((100vw - 560px)/2)) calc(8px + env(safe-area-inset-bottom,0px));display:flex;align-items:stretch;justify-content:space-around;gap:6px;background:var(--paper);border:0;border-top:1px solid var(--line);z-index:52;backdrop-filter:none}nav#nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex:1;min-width:0;max-width:132px;font-size:13px;font-weight:500;padding:7px 10px;border-radius:13px;color:var(--ink);background:transparent}nav#nav button.active{background:var(--ink);color:var(--paper)}nav#nav button svg{width:23px;height:23px}main{padding-bottom:calc(var(--dock-height) + 35px)}#toast{bottom:calc(var(--dock-height) + 18px);z-index:60}.dock-dismiss{position:fixed;inset:0;background:rgba(32,32,30,.12);border-radius:0;padding:0;z-index:49;cursor:default}.dock-dismiss:hover{box-shadow:none!important}.category-panel{position:fixed;bottom:calc(var(--dock-height) - 4px);left:50%;transform:translateX(-50%);width:min(560px,calc(100vw - 20px));padding:12px 16px 22px;z-index:51;isolation:isolate;max-height:calc(100dvh - var(--dock-height) - 18px);overflow:visible}.category-panel::before{content:'';position:absolute;inset:0;background:var(--paper);border-radius:30px 30px 0 0;z-index:-1;transform-origin:var(--origin) 100%;animation:cream-rise 320ms cubic-bezier(.22,.8,.25,1) both;box-shadow:0 -8px 30px rgba(32,32,30,.08)}.category-panel::after{content:'';position:absolute;bottom:-14px;left:calc(var(--origin) - 30px);width:60px;height:65px;background:var(--paper);border-radius:50%;z-index:-2;transform-origin:50% 100%;animation:cream-neck 320ms ease-out both}.from-food{--origin:37.5%}.from-care{--origin:62.5%}.category-top{display:flex;align-items:center;justify-content:space-between;height:34px;margin-bottom:10px}.category-top>span{font-size:14px;font-weight:700}.dock-close{background:transparent;color:var(--ink);padding:0;min-width:44px;min-height:34px;font-size:27px;font-weight:400}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.category-grid button{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;min-height:64px;padding:16px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:16px;font-size:18px;font-weight:750}.category-grid button[aria-current=page]{border-color:var(--ink)}.category-top,.category-grid{animation:dock-labels 140ms ease-out both}.category-grid svg{width:17px;height:17px}.category-panel button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
@keyframes cream-rise{0%{transform:scale(.35,.08);border-radius:70% 70% 0 0}65%{transform:scale(1.02,1.04);border-radius:36px 36px 0 0}84%{transform:scale(.995,.985)}100%{transform:scale(1);border-radius:30px 30px 0 0}}@keyframes cream-neck{0%{transform:scale(.45,.35)}60%{transform:scale(1.25,1.2)}100%{transform:scale(1)}}@keyframes dock-labels{from{opacity:0}to{opacity:1}}
/* A small milk spill: the surface spreads, never the words. */
.category-panel{width:min(560px,calc(100vw - 16px));height:64px;padding:8px 6px 12px;bottom:calc(var(--dock-height) - 4px)}
.category-panel::before{border-radius:24px 28px 0 0;animation:milk-spread 480ms cubic-bezier(.22,.75,.25,1) both;box-shadow:0 -5px 18px rgba(32,32,30,.06)}
.category-panel::after{height:42px;width:74px;left:calc(var(--origin) - 37px);bottom:-12px;animation:milk-feed 480ms ease-out both}
.category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;animation:dock-labels 160ms 120ms ease-out both}
.category-grid button{min-height:44px;min-width:0;padding:8px 2px;justify-content:center;text-align:center;font-size:13px;font-weight:700;white-space:nowrap;border:0;border-radius:14px;background:transparent}
.category-grid button[aria-current=page]{background:var(--ink);color:var(--paper)}
.dock-dismiss{background:transparent}
.category-panel.is-closing{pointer-events:none}
.category-panel.is-closing::before{animation:milk-recede 360ms cubic-bezier(.55,0,.75,.4) both}
.category-panel.is-closing::after{animation:milk-feed 360ms ease-in reverse both}
.category-panel.is-closing .category-grid{animation:dock-labels 100ms ease-out reverse both}
@keyframes milk-spread{0%{transform:scale(.09,.03);border-radius:50% 50% 0 0}28%{transform:scale(.32,.78);border-radius:48% 65% 0 0}57%{transform:scale(.78,1.12);border-radius:42% 28% 0 0}78%{transform:scale(1.015,.94);border-radius:30px 46px 0 0}100%{transform:scale(1);border-radius:24px 28px 0 0}}
@keyframes milk-feed{0%{transform:scale(.3,.1)}40%{transform:scale(1.4,1.18)}75%{transform:scale(.9,.95)}100%{transform:scale(1)}}
@keyframes milk-recede{0%{transform:scale(1);border-radius:24px 28px 0 0}35%{transform:scale(.86,1.06);border-radius:40% 32% 0 0}75%{transform:scale(.28,.6);border-radius:60% 45% 0 0}100%{transform:scale(.04,0);border-radius:50%}}
@media(prefers-reduced-motion:reduce){.category-panel::before,.category-panel::after{animation:none}.category-grid{animation:dock-labels 100ms linear}.category-panel.is-closing::before,.category-panel.is-closing::after,.category-panel.is-closing .category-grid{animation:dock-labels 100ms linear reverse both}}
@media(max-width:380px){.category-grid button{font-size:16px;padding:14px 12px}.category-panel{padding-left:12px;padding-right:12px}}
