@font-face{font-family:Red Hat Display Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/red-hat-display-latin-ext-wght-normal-Do32GAgg.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Red Hat Display Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/red-hat-display-latin-wght-normal-BX-N26TK.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Red Hat Text Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/red-hat-text-latin-ext-wght-normal-BYbCslLJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Red Hat Text Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/red-hat-text-latin-wght-normal-ZHr5wXre.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.frame{--back: #181a1d;--side: #121416;--ceil: #22252a;--floor: #0e1012;--seam: rgba(255, 244, 228, .05);--light-c: 255, 222, 170;--light-a: .3;--source: linear-gradient(180deg, #fff4e0, #f1d39e);position:relative;flex:1;min-height:0;margin:0 10px 10px;border-radius:26px;perspective:1600px;box-shadow:0 0 0 3px #000,0 0 0 4px #ffffff12}.frame.zone-pantry{--back: #1b1713;--side: #14110e;--ceil: #221c17;--floor: #100d0b;--seam: rgba(255, 220, 180, .05);--light-c: 255, 206, 140;--light-a: .22;--source: linear-gradient(180deg, #ffe9c4, #e7b777)}.frame.zone-freezer{--back: #131a21;--side: #0e1318;--ceil: #19212b;--floor: #0b0f13;--seam: rgba(210, 232, 255, .06);--light-c: 205, 230, 255;--light-a: .24;--source: linear-gradient(180deg, #f2f9ff, #bcdcff)}.interior{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:24px;background:var(--back);transition:filter 1s ease .25s}.door-closed .interior{filter:brightness(0)}.walls{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.w-back{fill:var(--back)}.w-side{fill:var(--side)}.w-ceil{fill:var(--ceil)}.w-floor{fill:var(--floor)}.w-seam{stroke:var(--seam);stroke-width:1;fill:none}.light{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(90% 55% at 50% 0%,rgba(var(--light-c),var(--light-a)),rgba(var(--light-c),0) 78%);transition:opacity var(--slow) ease}.source{position:absolute;left:30px;right:30px;top:0;height:9px;border-radius:0 0 6px 6px;background:var(--source);z-index:2}.zone-pantry .source{left:42%;right:42%;height:12px;border-radius:0 0 14px 14px}.shelves{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:26px 18px 22px;mask-image:linear-gradient(180deg,transparent 0,#000 22px,#000 calc(100% - 18px),transparent 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 22px,#000 calc(100% - 18px),transparent 100%)}.racks{flex:1 0 auto}.shelf-row{position:relative;padding-top:12px}.mode-pantry .shelf-row+.shelf-row{margin-top:8px}.mode-cook .shelf-row{padding-top:16px}.shelf-row .items{position:relative;z-index:2;display:flex;justify-content:space-around;align-items:flex-start}.slab{position:absolute;left:-18px;right:-18px;z-index:1;height:13px;pointer-events:none;background:linear-gradient(180deg,#ffeed60d,#ffeed617) top / 100% 7px no-repeat,linear-gradient(180deg,#ffe8c894,#ffe8c894) 0 7px / 100% 1px no-repeat,linear-gradient(180deg,#ffeed624,#ffeed614) 0 8px / 100% 5px no-repeat;box-shadow:0 10px 14px -8px #000000b3}.zone-pantry .slab{height:12px;background:linear-gradient(180deg,#ffdcaa24,#ffdcaa00 3px),linear-gradient(180deg,#6a4f38,#4a3727 70%,#3b2c20);box-shadow:0 1px #ffd6a038 inset,0 12px 16px -8px #000000bf}.zone-freezer .slab{background:linear-gradient(180deg,#dceeff1a,#dceeff29) top / 100% 7px no-repeat,linear-gradient(180deg,#e1f0ff99,#e1f0ff99) 0 7px / 100% 1px no-repeat,linear-gradient(180deg,#dceeff29,#dceeff14) 0 8px / 100% 5px no-repeat}.col{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;border-radius:14px;padding-bottom:4px;-webkit-tap-highlight-color:transparent}button.col:active .obj svg{transform:scale(.96)}.obj{position:relative;display:flex;align-items:flex-end;justify-content:center;width:100%;transition:opacity .5s ease,filter .5s ease}.obj svg{overflow:visible;transition:transform .55s var(--ease);transform-origin:50% 100%;will-change:transform}.obj .hatch{position:absolute;bottom:0;left:50%;transform:translate(-50%);pointer-events:none;border-radius:6px;background:repeating-linear-gradient(135deg,rgba(226,85,63,.5) 0 2px,transparent 2px 7px);mix-blend-mode:screen}.obj .glow{position:absolute;left:50%;bottom:-10px;width:150%;height:34px;transform:translate(-50%) scaleX(.6);opacity:0;pointer-events:none;background:radial-gradient(closest-side,#ffd696bf,#ffd6962e 55%,#ffd69600);transition:opacity .5s ease,transform .6s var(--ease)}.obj .amount{position:absolute;left:50%;bottom:calc(100% + 2px);transform:translate(-50%,6px);opacity:0;z-index:3;height:25px;padding:0 10px;border-radius:13px;display:inline-flex;align-items:center;white-space:nowrap;background:#f6efe4;color:#15171a;font-family:var(--display);font-size:12.5px;font-weight:700;box-shadow:0 6px 14px -4px #000000b3;animation:amount-in .5s var(--ease) .15s forwards}@keyframes amount-in{to{opacity:1;transform:translate(-50%)}}.obj .amount.short{padding:0 9px}.obj .amount.short .nn{display:none}.dim .col:not(.lit) .obj{opacity:.62}.col.lit .obj svg{transform:translateY(-10px) scale(1.1)}.col.lit .glow{opacity:1;transform:translate(-50%) scaleX(1)}.dim .light{opacity:.72}.lab{width:100%;padding-top:16px;display:flex;flex-direction:column;align-items:center;gap:3px}.lab .nm{font-family:var(--display);font-size:13.5px;font-weight:600;line-height:1.2;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%}.lab .meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:center;font-size:12.5px;color:var(--ink-2)}.lab .tag{height:19px;padding:0 6px;font-size:11.5px;border-radius:6px}.lab .low{color:var(--warm);font-weight:600}.drawers{margin-top:20px;display:flex;flex-direction:column;gap:14px}.drawer{position:relative;margin:0 -6px;padding:4px 6px 10px;border-radius:12px 12px 22px 22px;box-shadow:inset 0 0 0 1px #ffe4be33;background:linear-gradient(180deg,#ffffff05,#ffffff0f)}.drawer .slab{display:none}.drawer:before{content:"";position:absolute;left:50%;top:6px;width:80px;height:4px;border-radius:2px;transform:translate(-50%);background:#ffe4be52}.drawer-front{position:absolute;left:0;right:0;bottom:0;height:38%;border-radius:0 0 22px 22px;pointer-events:none;background:linear-gradient(180deg,#ffffff0d,#ffffff05);box-shadow:inset 0 1px #ffe4be40}.mode-pantry .drawer-front{display:none}.zone-freezer .drawer{box-shadow:inset 0 0 0 1px #d2e8ff38;background:linear-gradient(180deg,#dceeff0d,#dceeff1a)}.zone-freezer .drawer:before{background:#d7ebff66}.fridge-empty{min-height:100%;display:grid;place-items:center;text-align:center;color:var(--ink-2);padding:40px 12px}.zone-pager{flex:1;min-height:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.zone-pager::-webkit-scrollbar{display:none}.zone-pane{flex:0 0 100%;min-width:0;display:flex;flex-direction:column;scroll-snap-align:start;scroll-snap-stop:always}.door{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;border-radius:24px;transform-origin:left center;pointer-events:none;background:linear-gradient(112deg,#ffffff12 0,#ffffff12 16%,#fff0 16%,#fff0),linear-gradient(180deg,#1c1f22,#0a0b0c);box-shadow:inset 0 0 0 1px #ffffff14;transition:transform 1.4s var(--ease),opacity .5s ease .9s}.door i{position:absolute;right:18px;top:26%;width:6px;height:44%;border-radius:3px;background:linear-gradient(90deg,#2b2f33,#7a8288 50%,#2b2f33)}.door-open .door{transform:rotateY(-100deg);opacity:0}.door-open .shelves .obj svg{animation:settle .9s var(--ease) both .55s}@keyframes settle{0%{opacity:0;transform:translateY(-5px)}}.door-open.mode-cook .shelves .obj svg{animation:none}.food-thumb{overflow:visible}@media(prefers-reduced-motion:reduce){.door{display:none}.interior{transition:none}}.gone-able{transition:opacity .35s ease}.gone-able.gone{opacity:0}.lvl{transform-box:fill-box;transform-origin:50% 100%}.lvl.lvlx{transform-origin:0 50%}.receipt-stage{position:relative;display:flex;justify-content:center;align-items:flex-start;height:238px;padding-top:30px;overflow:hidden;border-radius:var(--r-lg);background:var(--bg-1);box-shadow:inset 0 0 0 1px var(--line)}.receipt-stage:not(.tall):after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(rgba(18,20,22,0),var(--bg-1));z-index:2}.receipt-stage.tall{height:auto;padding:34px 0 30px}.paper{--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;position:relative;width:272px;padding:18px 18px 26px;transform:rotate(-1deg);font-family:var(--mono);font-size:11px;line-height:1.6;letter-spacing:.02em;color:#22201ed1;background:#ece6db;box-shadow:0 34px 50px -24px #000000d9,0 0 0 1px #fff3 inset;-webkit-mask:linear-gradient(#000 0 0) top / 100% calc(100% - 7px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom / 11px 7px repeat-x;mask:linear-gradient(#000 0 0) top / 100% calc(100% - 7px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom / 11px 7px repeat-x}.paper.compact{width:236px}.paper-head{display:flex;flex-direction:column;align-items:center;gap:1px;padding-bottom:10px;margin-bottom:8px;border-bottom:1px dashed rgba(34,32,30,.35)}.paper-head b{font-size:12.5px;letter-spacing:.12em}.paper-line{position:relative;display:flex;justify-content:space-between;gap:12px;padding:0 3px;margin:0 -3px;border-radius:2px;transition:background-color .3s ease}.paper-line span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.paper-line.known{background:#f3ba686b}.paper-line.read:not(.known) span:first-child{text-decoration:underline dotted rgba(34,32,30,.45);text-underline-offset:3px}.paper-line.edge:after{content:"";position:absolute;left:-22px;right:-22px;bottom:-2px;height:2px;background:#f7d7a4}.paper-total{display:flex;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px dashed rgba(34,32,30,.35);font-weight:700}.receipt-intro{padding-bottom:8px}.receipt-reading{padding-top:6px}.reading-count{margin-top:22px;text-align:center;font-family:var(--display);font-size:16px;font-weight:600;color:var(--ink-2)}.reading-count b{font-size:22px;color:var(--ink);margin-right:2px}.receipt-summary{display:flex;gap:18px;font-size:14px;color:var(--ink-3)}.receipt-summary b{font-family:var(--display);font-size:17px;color:var(--ink);margin-right:3px}.receipt-list .r-row{gap:12px}.r-tick{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1.6px var(--ink-4);color:#1d1509;transition:background var(--fast) ease,box-shadow var(--fast) ease}.r-tick.on{background:var(--warm)}.r-row .thumb{width:42px;height:42px}.r-row.off:not(.new) .thumb,.r-row.off:not(.new) .grow,.r-row.off:not(.new) .r-amount{opacity:.45}.r-text{display:block;margin-top:3px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11.5px;letter-spacing:.03em;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.r-text.big{margin-top:0;font-size:13.5px;color:var(--ink)}.r-row .s b{color:var(--warm);font-weight:600}.r-amount{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding:6px 0 6px 8px;text-align:right}.r-amount span:first-child{font-weight:600;font-size:15px}.r-amount span:last-child{font-size:13px;color:var(--ink-3)}.r-row .link-btn{flex:none;font-weight:600}.r-skipped{display:flex;gap:10px;align-items:flex-start;margin-top:18px;padding:12px 14px;border-radius:var(--r-sm);background:var(--bg-1);box-shadow:inset 0 0 0 1px var(--line);font-size:13.5px;color:var(--ink-3)}.r-skipped svg{flex:none;margin-top:2px}.r-skipped .r-text{display:inline;white-space:normal;margin:0}.r-ticket{margin-top:12px;padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;background:#ece6db;border-radius:4px;transform:rotate(-.6deg);box-shadow:0 16px 26px -16px #000c}.r-ticket .r-text.big{color:#26231f;font-size:15px;font-weight:600}.r-ticket .fine{color:#6f695f;font-size:12.5px}.r-suggest{margin-top:16px;display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;border-radius:var(--r);background:var(--bg-2);box-shadow:inset 0 0 0 1px #f3c98b47}.r-suggest .grow{flex:1;min-width:0}.r-suggest .t{display:block;font-weight:650}.r-suggest .s{display:block;font-size:13.5px;color:var(--ink-3)}.r-what{flex:1;min-width:0;display:flex;align-items:center;gap:12px;text-align:left}.r-what .grow{flex:1;min-width:0}.paper-line.placeholder{height:17.6px;align-items:center}.paper-line.placeholder span{display:block;height:7px;border-radius:2px;background:#22201e24}.paper-line.placeholder span:last-child{width:30px;flex:none}.paper.waiting{min-height:280px}.paper.waiting:after{content:"";position:absolute;left:0;right:0;top:18px;height:2px;background:#f7d7a4;animation:paper-sweep 1.5s var(--ease-in-out) infinite alternate}@keyframes paper-sweep{to{top:calc(100% - 28px)}}@media(prefers-reduced-motion:reduce){.paper.waiting:after{animation:none}}.snap-stage{position:relative;padding:22px 18px 18px;border-radius:var(--r-lg);overflow:hidden;background:var(--bg-1);box-shadow:inset 0 0 0 1px var(--line)}.snap-photo{position:relative;aspect-ratio:320 / 210}.plate-art{display:block;width:100%;height:100%}.snap-corners{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;pointer-events:none;background:linear-gradient(var(--ink-3),var(--ink-3)) top left / 18px 2px no-repeat,linear-gradient(var(--ink-3),var(--ink-3)) top left / 2px 18px no-repeat,linear-gradient(var(--ink-3),var(--ink-3)) top right / 18px 2px no-repeat,linear-gradient(var(--ink-3),var(--ink-3)) top right / 2px 18px no-repeat,linear-gradient(var(--ink-3),var(--ink-3)) bottom left / 18px 2px no-repeat,linear-gradient(var(--ink-3),var(--ink-3)) bottom left / 2px 18px no-repeat,linear-gradient(var(--ink-3),var(--ink-3)) bottom right / 18px 2px no-repeat,linear-gradient(var(--ink-3),var(--ink-3)) bottom right / 2px 18px no-repeat}.snap-sweep{position:absolute;left:-8px;right:-8px;top:0;height:2px;background:#f7d7a4;animation:snap-sweep 1.8s var(--ease-in-out) infinite alternate}@keyframes snap-sweep{to{top:100%}}@media(prefers-reduced-motion:reduce){.snap-sweep{animation:none}}.log-actions{display:grid;grid-template-columns:1.45fr 1fr;gap:10px;margin-top:12px}.snap-btn{display:flex;align-items:center;gap:12px;padding:12px 14px;text-align:left;border-radius:var(--r);background:var(--bg-2)}.snap-btn:active{transform:scale(.98)}.snap-icon{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--bg-3);color:var(--warm)}.snap-btn .grow{min-width:0}.snap-btn .t{display:block;font-family:var(--display);font-weight:700;font-size:15.5px}.snap-btn .s{display:block;font-size:12.5px;color:var(--ink-3);margin-top:1px}.log-actions .other-btn{height:auto;min-height:64px;font-size:14.5px;padding:0 12px}.snap-reading{padding-top:6px}.snap-total{margin-top:14px;padding:18px 20px;border-radius:var(--r-lg);background:var(--bg-1);box-shadow:inset 0 0 0 1px var(--line)}.snap-total .big{font-size:40px;font-weight:700;letter-spacing:-.03em;line-height:1}.snap-total .of{color:var(--ink-3);font-weight:600}.snap-macros{display:flex;gap:18px;margin-top:10px;font-size:13.5px;color:var(--ink-3)}.snap-macros b{color:var(--ink);font-weight:650;margin-right:2px}.snap-item .grow{flex:1;min-width:0}.snap-item.off .thumb,.snap-item.off .grow,.snap-item.off .grade-quiet,.snap-item.off .snap-kcal{opacity:.4}.snap-item .grade-quiet{flex:none;margin-right:10px}.snap-note{display:block;margin-top:4px;font-size:12.5px;line-height:1.35;color:var(--warm)}.snap-kcal{flex:none;font-weight:650;font-size:15px}.paywall{padding-bottom:12px}.test-mode{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--blue);background:#9cc3e61a;box-shadow:inset 0 0 0 1px #9cc3e638}.paywall-hero{position:relative;margin-top:14px}.plus-badge{position:absolute;top:14px;right:14px;height:26px;padding:0 12px;border-radius:13px;display:inline-flex;align-items:center;background:var(--gold);color:#1d1509;font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.02em;box-shadow:0 0 16px -2px #f2c45a8c}.plus-list{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:11px}.plus-list li{display:flex;gap:10px;align-items:flex-start;line-height:1.4}.plus-list svg{flex:none;margin-top:2px;color:var(--warm)}.plans{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.plan{position:relative;display:flex;flex-direction:column;gap:3px;padding:16px 14px 14px;text-align:left;border-radius:var(--r);background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line-2);transition:box-shadow var(--fast) ease,background var(--fast) ease}.plan.on{background:var(--bg-2);box-shadow:inset 0 0 0 1.5px var(--warm)}.plan-tag{position:absolute;top:-10px;left:12px;height:20px;padding:0 8px;border-radius:10px;display:inline-flex;align-items:center;background:var(--warm);color:#1d1509;font-size:11px;font-weight:700}.plan .t{font-weight:650;color:var(--ink-2);font-size:14px}.plan .price{font-family:var(--display);font-size:21px;font-weight:700}.plan .price small{font-size:13px;font-weight:600;color:var(--ink-3)}.plan .s{font-size:12.5px;color:var(--ink-3)}.ad-offer{margin-top:18px;display:flex;flex-direction:column}.ad-offer .or{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:var(--ink-3);font-size:13px}.ad-offer .or:before,.ad-offer .or:after{content:"";flex:1;height:1px;background:var(--line-2)}.redeem{margin-top:14px;padding:4px 16px 16px;border-radius:var(--r);background:var(--bg-1);box-shadow:inset 0 0 0 1px var(--line)}.redeem input{letter-spacing:.12em;font-family:ui-monospace,SF Mono,Menlo,monospace}.paywall-hero .snap-corners{display:none}.snap-stage.has-photo .snap-photo{aspect-ratio:auto;width:fit-content;max-width:100%;margin:0 auto}.snap-shot{display:block;max-width:100%;max-height:42vh;border-radius:12px}.snap-what{flex:1;min-width:0;display:flex;align-items:center;gap:12px;text-align:left}.snap-problem{text-align:center;padding:20px 8px 0}.snap-problem h2{font-size:19px}.snap-problem p{margin-top:6px;color:var(--ink-2)}.portion-chips{margin-top:12px}.ad-offer.alone{margin-top:22px}.ticket-stage{position:relative;margin:2px calc(-1 * var(--gutter)) 0;padding:22px var(--gutter) 4px}.hang{filter:drop-shadow(0 12px 10px rgba(0,0,0,.55))}.ticket,.slip{--print: rgba(30, 28, 26, .9);--print-2: rgba(30, 28, 26, .64);--print-3: rgba(30, 28, 26, .44);--rule: rgba(30, 28, 26, .28);--hl: rgba(243, 186, 104, .62);--stamp: #b33d29;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;position:relative;color:var(--print);font-family:var(--mono);font-size:13px;line-height:1.5;letter-spacing:.02em;background:#ece6db}.ticket:before,.slip:before{content:"";position:absolute;left:0;right:0;bottom:-6px;height:7px;pointer-events:none;background:conic-gradient(from -45deg at bottom,#e4dccf00,#e4dccf 1deg,#e4dccf 89deg,#e4dccf00 90deg) bottom / 11px 7px repeat-x}.ticket ::selection,.slip ::selection{background:var(--hl);color:var(--print)}.ticket button:focus-visible,.slip button:focus-visible,.t-line:focus-within{outline:2px solid rgba(30,28,26,.85);outline-offset:2px}.ticket{padding:20px 18px 34px;box-shadow:0 34px 50px -26px #000000d9,0 0 0 1px #fff3 inset}.ticket fieldset{border:0;margin-inline:0;padding:0;min-width:0}.ticket legend{padding:0}.t-head{display:flex;flex-direction:column;align-items:center;gap:2px;padding-bottom:12px;border-bottom:1.5px dashed var(--rule);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--print-2)}.t-head b{font-size:15px;font-weight:800;letter-spacing:.34em;color:var(--print)}.t-label{display:block;margin-bottom:8px;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--print-2)}.t-group{margin-top:22px}.t-hint{margin-top:7px;font-family:var(--text);font-size:13.5px;letter-spacing:0;color:var(--print-2)}.t-want{display:block;margin-top:16px}.t-want textarea{width:100%;resize:none;border:0;border-radius:0;outline:none;background:transparent;padding:2px 0 8px;border-bottom:1.5px dashed var(--rule);font-family:var(--display);font-size:21px;font-weight:700;line-height:1.3;letter-spacing:-.01em;color:#1d1c1a;caret-color:var(--stamp);transition:border-color var(--fast) ease}.t-want textarea::placeholder{color:var(--print-3);font-weight:600}.t-want textarea:focus{border-bottom-color:#1e1c1a9e}.t-tag,.t-food,.t-switch button{position:relative;isolation:isolate}.t-tag:before,.t-food:before,.t-switch button:before{content:"";position:absolute;z-index:-1;left:6px;right:6px;top:24%;bottom:22%;border-radius:3px 8px 4px 9px;background:var(--hl);transform:scaleX(0) skew(-6deg);transform-origin:left center;transition:transform .3s var(--ease)}.t-tag.inked:before,.t-food.inked:before,.t-switch button.inked:before{transform:scaleX(1) skew(-6deg)}.t-tags{display:flex;flex-wrap:wrap;gap:6px}.t-tag{height:44px;padding:0 12px;border-radius:6px;display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--print-2);box-shadow:inset 0 0 0 1px var(--rule);transition:color .2s ease,box-shadow .2s ease}.t-tag.inked{color:var(--print);font-weight:800;box-shadow:inset 0 0 0 1px #1e1c1a8c}.t-tag.open{box-shadow:inset 0 0 0 1.5px #1e1c1acc}.t-tag.small{font-size:12px}.t-count{min-width:19px;height:19px;padding:0 5px;border-radius:10px;display:inline-grid;place-items:center;background:#1d1c1a;color:#f5f0e7;font-size:11px;letter-spacing:0}.t-sub{position:relative;margin:10px 0 0 6px;padding-left:14px}.t-sub:before{content:"";position:absolute;left:0;top:-4px;bottom:20px;width:1.5px;background:repeating-linear-gradient(to bottom,rgba(30,28,26,.42) 0 5px,transparent 5px 10px)}.t-foods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.t-food{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:8px;align-items:center;min-height:54px;padding:6px 10px 6px 8px;border-radius:8px;text-align:left;box-shadow:inset 0 0 0 1px var(--rule)}.t-food>:first-child{grid-row:1 / span 2;justify-self:center}.t-food:before{left:4px;right:4px;top:14%;bottom:14%}.t-food.inked{box-shadow:inset 0 0 0 1px #1e1c1a8c}.t-food-name{font-family:var(--text);font-size:13.5px;font-weight:600;letter-spacing:0;line-height:1.2;color:var(--print);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-due{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--print-2)}.t-due.red{color:var(--stamp)}.t-foodfield{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:46px;padding-bottom:4px;border-bottom:1.5px dashed var(--rule)}.t-foodfield input{flex:1;min-width:120px;height:44px;border:0;outline:none;background:transparent;font-family:var(--text);font-size:16px;color:var(--print);caret-color:var(--stamp)}.t-foodfield input::placeholder{color:var(--print-2)}.t-token{display:inline-flex;align-items:center;height:44px;padding-left:11px;border-radius:6px;background:#1e1c1a14;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.t-token button{width:40px;height:44px;display:grid;place-items:center;color:var(--print-2)}.t-token.struck>span{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:var(--stamp)}.t-switch{display:grid;grid-template-columns:repeat(3,1fr);border-radius:8px;overflow:hidden;box-shadow:inset 0 0 0 1px #1e1c1a6b}.t-switch button{height:44px;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--print-2)}.t-switch button+button{box-shadow:inset 1px 0 0 var(--rule)}.t-switch button.inked{color:var(--print);font-weight:800}.t-rule{display:flex;align-items:center;gap:10px;margin-top:28px;font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--print-2)}.t-rule:before,.t-rule:after{content:"";flex:1;border-top:1.5px dashed var(--rule)}.t-lines{margin-top:4px}.t-line{position:relative;display:flex;align-items:baseline;gap:8px;min-height:46px;padding-top:15px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;border-radius:4px}.t-line .k{flex:none;font-weight:700;color:var(--print-2)}.t-line .dots{flex:1;min-width:14px;border-bottom:2px dotted rgba(30,28,26,.28);transform:translateY(-4px)}.t-line .v{display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:64%;font-weight:800;color:var(--print)}.t-line .vt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-line .v svg{flex:none;color:var(--print-2)}.t-line select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;font-size:16px;cursor:pointer}.order-send{position:sticky;bottom:-28px;z-index:5;margin:18px calc(-1 * var(--gutter)) 0;padding:18px var(--gutter) 10px;background:linear-gradient(rgba(12,13,15,0),var(--bg) 34%)}html:has(.order-send) .toast{bottom:calc(var(--tabs-h) + var(--ad-h, 0px) + 94px)}html.kb-open:has(.order-send) .toast{bottom:94px}.pass{padding-top:6px}.rail{position:relative;height:12px;margin:0 calc(-1 * var(--gutter));background:#2f3236;box-shadow:0 8px 14px -8px #000000e6}.pass-row{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:-2px calc(-1 * var(--gutter)) 0;padding:0 var(--gutter) 30px}.pass-row::-webkit-scrollbar{display:none}.hang{position:relative;flex:0 0 84%;scroll-snap-align:center;padding-top:2px;transform:rotate(var(--tilt, 0deg));transform-origin:50% 0;animation:print-out .9s var(--ease) both;animation-delay:calc(var(--i, 0) * .15s)}.pass-row.printing .hang{animation-duration:2.2s;animation-timing-function:var(--ease-in-out)}@keyframes print-out{0%{clip-path:inset(0 -40px 100% -40px)}to{clip-path:inset(-20px -40px -60px -40px)}}.hang.lone,.hang.stub{flex-basis:100%}.ordered .hang.stub{margin-top:-2px}.slip-clip{position:absolute;top:-9px;left:50%;z-index:2;width:36px;height:18px;transform:translate(-50%);border-radius:4px;background:#3a3d42;box-shadow:0 2px 4px #00000080}.slip{display:flex;flex-direction:column;padding:22px 18px 30px}.slip-head{display:flex;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1.5px dashed var(--rule);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--print-2)}.slip h1,.slip h2{margin-top:12px;font-family:var(--display);font-size:24px;font-weight:800;line-height:1.12;letter-spacing:-.015em;color:#1d1c1a;text-wrap:balance}.slip h1{font-size:28px}.slip-note{margin-top:7px;font-family:var(--text);font-size:15px;letter-spacing:0;line-height:1.4;color:var(--print-2)}.slip-note.urgent{color:#8f2f1f;font-weight:600}.slip-note.urgent:before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--stamp);transform:translateY(-1px)}.slip-stamps{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.stamp{padding:2px 7px;border:1.5px solid currentColor;border-radius:4px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--stamp);opacity:.86;transform:rotate(-2deg);mix-blend-mode:multiply}.stamp:nth-child(2n){transform:rotate(1.6deg)}.stamp.sample{color:#2e5378;border-style:dashed}.slip-meta{margin-top:11px;font-size:12px;letter-spacing:.03em;text-transform:uppercase;color:var(--print-2)}.slip-have{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:14px;padding-top:12px;border-top:1.5px dashed var(--rule)}.slip-have-count{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--print-2)}.slip-have .thumbs{display:flex;flex-wrap:wrap;gap:4px}.slip-buy{margin-top:6px;font-size:12.5px;color:var(--print-2)}.slip-pick{display:flex;align-items:center;justify-content:center;gap:6px;height:50px;margin-top:18px;border-radius:10px;background:#1d1c1a;color:#f5f0e7;font-family:var(--display);font-size:16px;font-weight:700;letter-spacing:0;transition:transform var(--fast) ease}.slip-pick:active{transform:scale(.98)}.slip.blank{min-height:272px;gap:0}.slip.blank .bar{display:block;height:9px;margin-top:13px;border-radius:3px;background:#1e1c1a1f}.slip.blank .bar.tall{height:17px}.slip.blank:after{content:"";position:absolute;left:0;right:0;top:20px;height:2px;background:#f7d7a4;animation:slip-sweep 1.5s var(--ease-in-out) infinite alternate}@keyframes slip-sweep{to{top:calc(100% - 30px)}}.pass-status{margin-top:2px;text-align:center;font-family:var(--display);font-size:16px;font-weight:600;color:var(--ink-2)}.pass-note{max-width:36ch;margin:2px auto 0;text-align:center;font-size:13.5px;color:var(--ink-2)}.pass-actions{margin-top:16px}.ordered-part{margin-top:26px}.ordered-part h2{margin-bottom:10px;font-size:19px}.ordered .room{flex:none;font-family:var(--display);font-size:12.5px;font-weight:600;color:var(--ink-3)}.ordered-part .method{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;counter-reset:step}.ordered-part .method li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;font-size:16.5px;line-height:1.5;color:var(--ink);counter-increment:step}.ordered-part .method li:before{content:counter(step);font-family:var(--display);font-size:20px;font-weight:800;line-height:1.25;color:var(--warm);font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){.hang{animation:none}.slip.blank:after{animation:none}}:root{color-scheme:dark;--bg: #0c0d0f;--bg-1: #121416;--bg-2: #181a1d;--bg-3: #202327;--line: rgba(255, 244, 228, .07);--line-2: rgba(255, 244, 228, .13);--ink: #efe9df;--ink-2: rgba(239, 233, 223, .68);--ink-3: rgba(239, 233, 223, .46);--ink-4: rgba(239, 233, 223, .3);--light: #fff1d9;--warm: #f3c98b;--warm-2: #e9b267;--warm-glow: rgba(255, 214, 150, .5);--red: #e2553f;--red-ink: #ff8a76;--green: #86c9a0;--blue: #9cc3e6;--on-light: #141517;--btn: #f3ede3;--gold: #f2c45a;--gold-fill: rgba(242, 196, 90, .09);--gold-line: rgba(242, 196, 90, .42);--display: "Red Hat Display Variable", "Red Hat Display", system-ui, -apple-system, sans-serif;--text: "Red Hat Text Variable", "Red Hat Text", system-ui, -apple-system, sans-serif;--r-xs: 8px;--r-sm: 12px;--r: 16px;--r-lg: 22px;--r-xl: 28px;--gutter: 18px;--ease: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--fast: .18s;--med: .32s;--slow: .6s;--z-head: 10;--z-tabs: 20;--z-sheet: 60;--z-toast: 80;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--tabs-h: calc(62px + max(var(--safe-bottom), 10px)) }*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body,#root{height:100%}html{background:var(--bg);-webkit-text-size-adjust:100%}body{font-family:var(--text);font-size:16px;line-height:1.45;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4{font-family:var(--display);font-weight:700;letter-spacing:-.015em;line-height:1.15}::selection{background:var(--warm);color:var(--on-light)}:focus-visible{outline:2px solid var(--warm);outline-offset:3px;border-radius:6px}img,svg{display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.45}input,select,textarea{font:inherit;color:inherit}::-webkit-scrollbar{width:0;height:0}[hidden]{display:none!important}.app{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg)}.route{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;animation:route-in var(--med) var(--ease) both}@keyframes route-in{0%{opacity:0;transform:translateY(6px)}}.page{flex:1;min-height:0;display:flex;flex-direction:column}.page-head{position:relative;z-index:var(--z-head);padding:calc(var(--safe-top) + 10px) 14px 8px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;min-height:calc(var(--safe-top) + 64px)}.page-head>.slot-l{justify-self:start;display:flex;gap:8px}.page-head>.slot-r{justify-self:end;display:flex;gap:8px}.page-head .head-title{font-family:var(--display);font-size:18px;font-weight:700;letter-spacing:-.01em;text-align:center}.page-head:after{content:"";position:absolute;left:0;right:0;top:100%;height:22px;pointer-events:none;background:linear-gradient(var(--bg),rgba(12,13,15,0));opacity:0;transition:opacity var(--fast) ease}.page[data-scrolled] .page-head:after{opacity:1}.page-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:4px var(--gutter) calc(var(--tabs-h) + var(--ad-h, 0px) + 28px)}.page-fixed{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;padding-bottom:calc(var(--tabs-h) + var(--ad-h, 0px))}.brand-mark{width:44px;height:44px;border-radius:50%}.ad-band{position:fixed;left:0;right:0;bottom:var(--tabs-h);z-index:var(--z-tabs);height:var(--ad-h, 0px);background:var(--bg);border-top:1px solid var(--line)}html.kb-open .ad-band{display:none}.tabs{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-tabs);height:var(--tabs-h);padding:6px 10px max(var(--safe-bottom),10px);display:flex;justify-content:space-around;align-items:flex-start;background:#0c0d0fdb;-webkit-backdrop-filter:saturate(140%) blur(18px);backdrop-filter:saturate(140%) blur(18px);border-top:1px solid var(--line)}.tab{min-width:72px;height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-family:var(--display);font-size:12px;font-weight:600;color:var(--ink-3);transition:color var(--fast) ease}.tab.active{color:var(--ink)}.tab svg{transition:transform var(--med) var(--ease)}.tab.active svg{transform:translateY(-1px)}.tab .badge-dot{position:absolute;margin:-2px 0 0 18px;width:7px;height:7px;border-radius:50%;background:var(--warm)}.title-xl{font-size:30px;line-height:1.08;letter-spacing:-.02em}.title-l{font-size:24px;line-height:1.12;letter-spacing:-.018em}.title-m{font-size:19px;line-height:1.2}.section{margin:26px 0 10px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.section h2{font-size:17px;letter-spacing:-.005em}.section .aside{font-size:14px;color:var(--ink-3);font-weight:500}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.fine{font-size:13.5px;color:var(--ink-3)}.strong{font-weight:650}.num{font-family:var(--display);font-variant-numeric:tabular-nums}.warm{color:var(--warm)}.danger-ink{color:var(--red-ink)}.btn{height:52px;padding:0 20px;border-radius:var(--r);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--display);font-size:16px;font-weight:700;letter-spacing:-.005em;background:var(--btn);color:var(--on-light);transition:transform var(--fast) ease,background var(--fast) ease,opacity var(--fast) ease}.btn:active:not(:disabled){transform:scale(.98)}.btn.block{width:100%}.btn.secondary{background:var(--bg-3);color:var(--ink)}.btn.outline{background:none;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2)}.btn.ghost{background:none;color:var(--ink-2);height:44px;padding:0 12px}.btn.danger{background:#e2553f24;color:var(--red-ink)}.btn.small{height:40px;padding:0 14px;border-radius:var(--r-sm);font-size:14.5px}.btn-row{display:flex;gap:10px}.btn-row>.btn{flex:1}.icon-btn{width:42px;height:42px;border-radius:50%;flex:none;display:inline-grid;place-items:center;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2);transition:background var(--fast) ease,transform var(--fast) ease}.icon-btn:active{transform:scale(.94);background:var(--bg-2)}.icon-btn.plain{box-shadow:none}.pill-btn{height:40px;padding:0 15px;border-radius:20px;font-family:var(--display);font-size:14px;font-weight:600;box-shadow:inset 0 0 0 1px var(--line-2);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.pill-btn:active{background:var(--bg-2)}.link-btn{color:var(--warm);font-weight:600}.chips{display:flex;gap:8px;overflow-x:auto;margin:0 calc(-1 * var(--gutter));padding:2px var(--gutter);scrollbar-width:none}.chip{flex:none;height:36px;padding:0 14px;border-radius:18px;font-size:14px;font-weight:600;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-2);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:background var(--fast) ease,color var(--fast) ease}.chip.on{background:var(--ink);color:var(--on-light);box-shadow:none}.seg{display:flex;gap:24px;justify-content:center}.seg button{height:38px;font-family:var(--display);font-size:15px;font-weight:600;color:var(--ink-3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.seg button:after{content:"";width:18px;height:2px;border-radius:1px;background:transparent;transition:background var(--med) var(--ease)}.seg button.on{color:var(--ink)}.seg button.on:after{background:var(--warm)}.seg .count{font-size:12px;font-weight:600;color:var(--ink-4);margin-left:4px}.tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:7px;font-family:var(--display);font-size:12.5px;font-weight:700;white-space:nowrap}.tag.red{background:var(--red);color:#fff}.tag.soon{background:#f3c98b24;color:var(--warm)}.tag.ok{background:#86c9a024;color:var(--green)}.tag.neutral{background:var(--bg-3);color:var(--ink-2)}.tag.info{background:#9cc3e624;color:var(--blue)}.list{border-top:1px solid var(--line)}.list-row{min-height:60px;padding:10px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px}.list-row .grow{flex:1;min-width:0}.list-row .t{display:block;font-weight:600;font-size:16px;line-height:1.25}.list-row .s{display:block;font-size:14px;color:var(--ink-3);line-height:1.35;margin-top:1px}.list-row .end{flex:none;text-align:right}button.list-row,a.list-row{width:100%;text-align:left}button.list-row:active,a.list-row:active{background:#fff4e408}.thumb{position:relative;width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:var(--r-sm);background:var(--bg-2)}.thumb svg{overflow:visible}.group{background:var(--bg-1);border-radius:var(--r-lg);padding:0 16px;box-shadow:inset 0 0 0 1px var(--line)}.group .list-row:last-child{border-bottom:0}.group .list{border-top:0}.field{display:flex;flex-direction:column;gap:7px;margin-top:16px}.field>label,.label{font-family:var(--display);font-size:13.5px;font-weight:600;color:var(--ink-2)}.input,.field input,.field select,.field textarea{width:100%;min-height:52px;padding:0 16px;border-radius:var(--r);font-size:16.5px;background:var(--bg-2);border:0;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow var(--fast) ease}.field textarea{padding:14px 16px;min-height:110px;line-height:1.45;resize:vertical}.field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 21px) 50%,calc(100% - 15px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}.input:focus,.field input:focus,.field select:focus,.field textarea:focus{outline:none;box-shadow:inset 0 0 0 1.5px var(--warm)}::placeholder{color:var(--ink-4)}.field .hint{font-size:13.5px;color:var(--ink-3)}.field-row{display:flex;gap:10px}.field-row>*{flex:1;min-width:0}.search{position:relative}.search svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--ink-3);pointer-events:none}.search input{padding-left:44px}.stepper{display:inline-flex;align-items:center;height:48px;border-radius:24px;box-shadow:inset 0 0 0 1px var(--line-2)}.stepper button{width:48px;height:48px;display:grid;place-items:center;color:var(--ink)}.stepper output{min-width:44px;text-align:center;font-family:var(--display);font-weight:700;font-size:17px}.switch{position:relative;width:50px;height:30px;flex:none;border-radius:15px;background:var(--bg-3);transition:background var(--med) var(--ease)}.switch:after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:var(--ink-2);transition:transform var(--med) var(--ease),background var(--med) ease}.switch.on{background:var(--warm-2)}.switch.on:after{transform:translate(20px);background:#fff}.card{background:var(--bg-1);border-radius:var(--r-lg);padding:18px;box-shadow:inset 0 0 0 1px var(--line)}.banner{border-radius:var(--r);padding:13px 15px;font-size:14.5px;line-height:1.45;background:var(--bg-2);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line)}.banner.error{background:#e2553f1a;color:var(--red-ink);box-shadow:inset 0 0 0 1px #e2553f40}.banner.warm{background:#f3c98b14;color:var(--warm);box-shadow:inset 0 0 0 1px #f3c98b33}.banner strong{color:var(--ink)}.empty{padding:44px 12px;text-align:center;color:var(--ink-2);display:flex;flex-direction:column;align-items:center;gap:12px}.empty h3{color:var(--ink);font-size:19px}.empty p{max-width:30ch}.skeleton{border-radius:var(--r);background:linear-gradient(90deg,var(--bg-1) 0%,var(--bg-2) 50%,var(--bg-1) 100%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sheet);background:#0000008f;display:flex;align-items:flex-end;justify-content:center;animation:fade-in var(--med) ease both}.sheet{width:100%;max-width:560px;max-height:calc(100% - var(--safe-top) - 24px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--bg-1);border-radius:28px 28px 0 0;padding:10px var(--gutter) calc(max(var(--safe-bottom),16px) + 12px);box-shadow:inset 0 1px 0 var(--line-2),0 -20px 50px -20px #000c;animation:sheet-up .42s var(--ease) both}.sheet-grip{width:38px;height:5px;border-radius:3px;background:var(--ink-4);margin:0 auto 12px}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px}.sheet-head h2{font-size:22px}.sheet-head .sub{margin-top:3px;font-size:14.5px;color:var(--ink-3)}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes fade-in{0%{opacity:0}}@media(min-width:700px){.sheet-backdrop{align-items:center}.sheet{border-radius:28px;padding-bottom:22px;animation-name:sheet-pop}@keyframes sheet-pop{0%{transform:translateY(16px);opacity:0}}}.toast{position:fixed;left:0;right:0;margin:0 auto;bottom:calc(var(--tabs-h) + var(--ad-h, 0px) + 14px);z-index:var(--z-toast);width:fit-content;min-height:50px;max-width:min(calc(100vw - 32px),460px);padding:0 8px 0 18px;border-radius:16px;display:flex;align-items:center;gap:14px;background:var(--btn);color:var(--on-light);font-weight:600;font-size:15px;box-shadow:0 16px 34px -12px #000000bf;animation:toast-in .45s var(--ease) both}.toast .msg{padding:13px 0;line-height:1.35}.toast button{flex:none;height:40px;padding:0 12px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.toast.no-action{padding-right:18px}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.disclaimer{display:flex;gap:9px;align-items:flex-start;margin-top:22px;padding-top:14px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.5;color:var(--ink-3)}.disclaimer svg{flex:none;margin-top:1.5px}html.native body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html.native input,html.native textarea,html.native [contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}html.kb-open .tabs{display:none}html.kb-open .page-scroll{padding-bottom:28px}html.kb-open .page-fixed{padding-bottom:0}html.kb-open .toast{bottom:14px}html.kb-open .sheet{padding-bottom:18px}.app.boot{display:grid;place-items:center}.app.boot .brand-mark{animation:breathe 1.6s ease-in-out infinite}@keyframes breathe{50%{opacity:.55}}.pad{padding:0 var(--gutter)}.zone-seg{margin:0 0 10px}.page-fixed>.frame,.page-fixed>.zone-pager{animation:frame-in .45s var(--ease) both}.seg .count.lit{color:var(--warm)}.seg .count.lit:before{content:"";display:inline-block;width:5px;height:5px;margin:0 4px 2px 0;border-radius:50%;background:var(--warm);vertical-align:middle}@keyframes frame-in{0%{opacity:0;transform:scale(.985)}}.move-list .list-row{width:100%;text-align:left}.move-list .list-row:disabled{opacity:1}.move-list .list-row:disabled .thumb,.move-list .list-row:disabled .grow{opacity:.5}.move-list .thumb{color:var(--ink-2)}.thaw-row{margin-top:16px;display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--r-sm);background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line)}.thaw-row .grow{flex:1;min-width:0}.thaw-row .t{display:block;font-weight:600}.thaw-row .s{display:block;font-size:13.5px;color:var(--ink-3);margin-top:2px;line-height:1.35}.item-hero{margin-top:12px;display:flex;align-items:center;gap:18px;padding:16px;border-radius:var(--r-lg);background:var(--bg-2)}.item-hero .facts{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.action-grid{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.action{min-height:84px;border-radius:var(--r);padding:14px;display:flex;flex-direction:column;justify-content:space-between;gap:10px;text-align:left;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);font-family:var(--display);font-weight:650;font-size:15px;transition:transform var(--fast) ease,background var(--fast) ease}.action:active{transform:scale(.98);background:var(--bg-3)}.amount-step{margin-top:10px}.stack-btns{margin-top:12px;display:flex;flex-direction:column;gap:10px}.range{width:100%;margin-top:18px;accent-color:var(--warm);height:32px}.counts-as{border-radius:var(--r);padding:14px 16px;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line)}.counts-as .row{display:flex;align-items:center;gap:12px}.counts-as .grow{flex:1;min-width:0}.counts-as .ticket-name{display:block;font-weight:650}.counts-as .ticket-print{display:block;font-size:13.5px;color:var(--ink-3);margin-top:2px}.counts-as label{display:block;font-family:var(--display);font-size:13.5px;font-weight:600;color:var(--ink-2);margin-bottom:8px}.counts-as input,.prompt-row input,form input{width:100%;min-height:50px;padding:0 14px;border-radius:var(--r-sm);background:var(--bg-3);border:0;box-shadow:inset 0 0 0 1px var(--line);font-size:16.5px}.suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.suggestions button,.chip-row .chip{height:36px;padding:0 14px;border-radius:18px;box-shadow:inset 0 0 0 1px var(--line-2);font-size:14px;font-weight:600}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chip-row .chip-on{background:var(--ink);color:var(--on-light);box-shadow:none}.btn-row{display:flex;gap:10px;flex-wrap:wrap}.counts-as.alert{background:#e2553f1a;box-shadow:inset 0 0 0 1px #e2553f61}.counts-as.alert .ticket-name{display:flex;align-items:center;gap:8px;color:var(--red-ink)}.counts-as.alert .btn-secondary{background:var(--red);color:#fff}.link-mark,.link-badge{display:grid;place-items:center;flex:none;border-radius:50%;background:var(--red);color:#fff;font-family:var(--display);font-weight:800;line-height:1}.link-mark{width:18px;height:18px;font-size:12px}.link-badge{position:absolute;top:-4px;right:-4px;z-index:2;width:17px;height:17px;font-size:11.5px;box-shadow:0 0 0 2px var(--bg-1),0 2px 6px #00000073;pointer-events:none}.thumb-wrap{position:relative;display:inline-flex;flex:none}.btn-secondary,.btn-ghost{height:40px;padding:0 14px;border-radius:var(--r-sm);font-family:var(--display);font-weight:650;font-size:14.5px}.btn-secondary{background:var(--bg-3)}.btn-ghost{color:var(--ink-2)}.error.tight,p.error{color:var(--red-ink);font-size:14px;margin-top:8px}.prompt-card{margin-top:12px;border-radius:var(--r);padding:14px 16px;background:#f3c98b0f;box-shadow:inset 0 0 0 1px #f3c98b2e}.prompt-head{display:flex;gap:12px;align-items:flex-start}.prompt-head strong{display:block}.prompt-head .muted{font-size:14px}.prompt-icon{color:var(--warm)}.prompt-row{display:flex;align-items:center;gap:8px;margin:12px 0 6px}.prompt-row button{height:50px;padding:0 18px;border-radius:var(--r-sm);background:var(--btn);color:var(--on-light);font-family:var(--display);font-weight:700}.unit-suffix{color:var(--ink-3)}.scanner-video{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--r-lg);background:#000}.banner.info{background:var(--bg-2)}form>label,.field-legacy label{display:block;font-family:var(--display);font-size:13.5px;font-weight:600;color:var(--ink-2);margin:14px 0 8px}form .row{display:flex;gap:8px}form .row button[type=submit]{flex:none;padding:0 16px;border-radius:var(--r-sm);background:var(--btn);color:var(--on-light);font-family:var(--display);font-weight:700}.auth{flex:1;overflow-y:auto;padding:calc(var(--safe-top) + 48px) 22px calc(var(--safe-bottom) + 28px);display:flex;flex-direction:column}.auth-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;margin-bottom:28px}.auth-door{position:relative;width:132px;height:188px;border-radius:22px;perspective:700px}.auth-door .inside{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:22px;overflow:hidden;background:radial-gradient(80% 60% at 50% 0%,#ffdeaa73,#ffdeaa00 75%),#181a1d;box-shadow:0 0 0 3px #000,0 0 0 4px #ffffff12}.auth-door .inside:before{content:"";position:absolute;left:18px;right:18px;top:0;height:6px;border-radius:0 0 4px 4px;background:linear-gradient(180deg,#fff4e0,#f1d39e)}.auth-door .inside i{position:absolute;left:10px;right:10px;height:1px;background:#ffe8c880}.auth-door .panel{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:22px;transform-origin:left center;background:linear-gradient(112deg,#ffffff12 0,#ffffff12 16%,#fff0 16%,#fff0),linear-gradient(180deg,#1c1f22,#0a0b0c);box-shadow:inset 0 0 0 1px #ffffff14;display:grid;place-items:center;transition:transform 1.3s var(--ease);animation:auth-door 2.4s var(--ease) .5s both}.auth-door .panel img{width:58px;height:58px;border-radius:50%}@keyframes auth-door{0%{transform:rotateY(0)}55%,to{transform:rotateY(-38deg)}}.auth-door.open .panel{animation:none;transform:rotateY(-104deg)}.auth h1{font-size:28px}.auth .lede{color:var(--ink-2);max-width:30ch}.auth-form{width:100%;max-width:420px;margin:0 auto}.check{display:flex;gap:12px;align-items:flex-start;margin-top:18px;font-size:14.5px;color:var(--ink-2);text-align:left}.check input{width:22px;height:22px;accent-color:var(--warm);flex:none;margin-top:1px}.forgot-link{align-self:flex-end;font-size:14px;padding:4px 0}.auth-leave{margin:auto auto 0;padding:18px 12px 0}.code-boxes{position:relative;display:flex;gap:8px;width:100%;max-width:330px;margin:4px auto 0}.code-boxes input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;font-size:16px;border:0;padding:0}.code-box{flex:1;min-width:0;height:58px;border-radius:14px;display:grid;place-items:center;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);font-family:var(--display);font-size:26px;font-weight:700;color:var(--ink);transition:box-shadow var(--fast) ease}.code-box:nth-of-type(4){margin-left:10px}.code-boxes input:focus~.code-box.at{box-shadow:inset 0 0 0 1.5px var(--warm)}.code-boxes input:focus~.code-box.at:not(.filled):after{content:"";width:2px;height:26px;border-radius:1px;background:var(--warm);animation:caret 1.1s steps(1) infinite}@keyframes caret{50%{opacity:0}}.code-boxes.wrong{animation:shake .42s var(--ease)}.code-boxes.wrong .code-box{box-shadow:inset 0 0 0 1.5px #e2553f8c}@keyframes shake{15%,55%{transform:translate(-7px)}35%,75%{transform:translate(7px)}}.code-note{min-height:22px;margin-top:16px;text-align:center;font-size:14.5px;color:var(--ink-2)}.code-sent{margin:0 0 18px;text-align:center;color:var(--ink-2);overflow-wrap:anywhere}.code-links{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:22px}.code-links .link-btn:disabled{color:var(--ink-3)}.code-wait{font-variant-numeric:tabular-nums}.confirm-to{color:var(--ink);overflow-wrap:anywhere}.cook-page .zone-pager{min-height:220px}.cook-page .zone-seg{margin-bottom:8px}.tonight{flex:none;padding:0 10px 12px}.tonight-card{background:var(--bg-1);border-radius:24px;padding:18px 18px 16px;box-shadow:inset 0 0 0 1px var(--line),0 -12px 30px -18px #000000e6;animation:card-in .42s var(--ease) both}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}}.tonight-title{display:flex;align-items:flex-start;gap:8px;text-align:left;width:100%}.tonight-title h2{flex:1;font-size:23px;line-height:1.14;text-wrap:balance}.tonight-title svg{margin-top:5px;color:var(--ink-3);flex:none}.tonight .why{margin-top:8px;display:flex;gap:8px;align-items:baseline;font-weight:600;font-size:15px;color:var(--ink)}.tonight .why i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--red);transform:translateY(-1px)}.tonight .facts{margin-top:3px;font-size:14.5px;color:var(--ink-2)}.tonight .facts .count{color:var(--ink-3)}.tonight-alt{display:block;width:100%;min-height:44px;margin-top:0;font-size:14.5px;color:var(--ink-3)}.tonight-card:has(.tonight-alt){padding-bottom:4px}.tonight-alt b{font-weight:600;color:var(--warm)}.deductions{margin-top:12px;border-top:1px solid var(--line)}.deduction{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 0;border-bottom:1px solid var(--line)}.deduction .grow{flex:1;min-width:0;display:flex;flex-direction:column}.deduction .t{font-weight:600}.deduction .s{font-size:14px;color:var(--warm);font-weight:600}.deduction .after{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--ink-3)}.deduction .after svg{color:var(--ink-4)}.deduction .now{color:var(--ink);font-weight:650}.keep{margin-top:18px}.keep-row{display:flex;align-items:center;gap:14px;margin-top:8px}.keep-row .fine{flex:1}.cook-mode{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sheet);background:var(--bg);display:flex;flex-direction:column;padding:calc(var(--safe-top) + 14px) 22px calc(max(var(--safe-bottom),16px) + 12px);animation:fade-in .3s ease both}.cm-head{display:flex;align-items:center;gap:12px}.cm-head .grow{flex:1;min-width:0}.cm-name{font-family:var(--display);font-weight:700;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-progress{height:3px;border-radius:2px;background:var(--bg-3);margin-top:14px;overflow:hidden}.cm-progress span{display:block;height:100%;background:var(--warm);transition:width .5s var(--ease)}.cm-step{flex:1;display:flex;align-items:center;font-family:var(--display);font-size:clamp(24px,7vw,32px);line-height:1.28;font-weight:600;letter-spacing:-.012em;padding:24px 2px;animation:step-in .45s var(--ease) both;overflow-y:auto}@keyframes step-in{0%{opacity:0;transform:translate(14px)}}.cm-timer{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-radius:var(--r-lg);background:#f3c98b14;box-shadow:inset 0 0 0 1px #f3c98b40;margin-bottom:14px}.cm-timer .num{font-size:40px;font-weight:700;color:var(--warm);letter-spacing:-.02em}.cm-start{width:100%;margin-bottom:14px}.cm-nav{display:flex;gap:10px}.cm-nav .btn{flex:1}.cm-nav .btn.secondary{flex:0 0 38%}.recipe-hero{padding:6px 0 4px;position:relative}.recipe-hero .tag{margin-bottom:10px}.recipe-hero h1{text-wrap:balance}.recipe-hero p{margin-top:8px}.meta-row{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}.meta-row span{height:32px;padding:0 12px;border-radius:16px;background:var(--bg-2);display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--ink-2)}.meta-row .cap{text-transform:capitalize}.ingredients{border-top:1px solid var(--line)}.ing{border-bottom:1px solid var(--line);padding:8px 0}.ing-row{display:flex;align-items:center;gap:12px;min-height:48px}.ing-row .grow{flex:1;min-width:0;display:flex;flex-direction:column}.ing-row .t{font-weight:600;line-height:1.25}.ing-row .s{font-size:14px;color:var(--ink-3)}.ing-row .thumb{width:40px;height:40px}.ing.gap .ing-row .t{color:var(--ink-2)}.ing .leave{width:34px;height:34px;color:var(--ink-4)}.ing-note{margin:4px 0 4px 52px;font-size:13.5px;color:var(--blue)}.swaps{margin:6px 0 4px 52px;display:flex;flex-direction:column;gap:8px}.swap-opt{display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;border-radius:var(--r-sm);background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line)}.swap-opt .grow{flex:1;display:flex;flex-direction:column}.swap-opt .t{font-weight:600;font-size:15px}.swap-opt .s{font-size:13.5px;color:var(--ink-3)}.left-out{margin-top:16px}.cook-bar{position:sticky;bottom:-18px;z-index:5;display:flex;gap:10px;margin-top:20px;padding:10px;margin-left:-10px;margin-right:-10px;border-radius:22px;background:#121416d1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 0 0 1px var(--line)}.cook-bar .btn{flex:1;transform:translateZ(0)}.cook-bar .btn.secondary{flex:0 0 auto}.method{list-style:none;padding:0;display:flex;flex-direction:column;gap:16px}.method li{display:flex;gap:14px;line-height:1.5}.method .n{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:700;color:var(--warm);box-shadow:inset 0 0 0 1px #f3c98b59}.stars{display:flex;gap:6px}.star{width:46px;height:46px;display:grid;place-items:center;color:var(--ink-4);transition:color var(--fast) ease,transform var(--fast) ease}.star.on{color:var(--warm)}.star.on svg{fill:currentColor}.star:active{transform:scale(.9)}.recipe-row{gap:14px}.minutes{flex:none;width:46px;display:flex;flex-direction:column;align-items:center;line-height:1}.minutes .num{font-size:22px;font-weight:700;color:var(--warm);letter-spacing:-.02em}.minutes .u{font-size:11px;font-weight:600;color:var(--ink-3);margin-top:3px}.recipe-row .s{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.more{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:22px}.big-input{font-size:18px;min-height:56px}.results{margin-top:14px}.list-label{padding:18px 0 6px;font-family:var(--display);font-size:13.5px;font-weight:600;color:var(--ink-3);border-bottom:1px solid var(--line)}.new-food .t{color:var(--warm)}.put-away{margin-top:22px;padding:14px 16px;border-radius:var(--r);background:var(--bg-1);box-shadow:inset 0 0 0 1px var(--line)}.put-away p{margin-top:4px;font-weight:600}.new-preview{margin-top:12px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px;border-radius:var(--r-lg);background:var(--bg-2)}.new-preview svg{transition:transform var(--med) var(--ease)}.kinds{margin-top:10px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.kind{min-height:74px;padding:8px 4px;border-radius:var(--r-sm);background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:11.5px;font-weight:600;line-height:1.15;text-align:center;color:var(--ink-2);transition:box-shadow var(--fast) ease,background var(--fast) ease}.kind.on{background:#f3c98b1a;box-shadow:inset 0 0 0 1.5px var(--warm);color:var(--ink)}.quick-add{display:flex;gap:10px;align-items:center}.quick-add .input{flex:1}.quick-add .add{width:52px;height:52px;background:var(--btn);color:var(--on-light);box-shadow:none}.quick-add .add:disabled{background:var(--bg-3);color:var(--ink-3);opacity:1}.shop-row{gap:12px}.tick{flex:none;width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--ink-4);display:grid;place-items:center;transition:background var(--fast) ease,box-shadow var(--fast) ease,transform var(--fast) ease}.tick:active{transform:scale(.9)}.tick.on{background:var(--warm);box-shadow:none;color:var(--on-light)}.shop-row.done .t{color:var(--ink-3);text-decoration:line-through;text-decoration-color:var(--ink-4)}.done-toggle{display:flex;align-items:baseline;gap:8px}.done-toggle svg{color:var(--ink-3);transition:transform var(--med) var(--ease);align-self:center}.done-toggle svg.flip{transform:rotate(180deg)}.chips.wrap{flex-wrap:wrap;overflow:visible;margin:0;padding:0}.daynav{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.daynav .day{font-family:var(--display);font-weight:650;font-size:16px}.budget{padding:20px;border-radius:var(--r-lg);background:var(--bg-1);box-shadow:inset 0 0 0 1px var(--line)}.budget-top{display:flex;align-items:baseline;gap:10px}.budget .big{font-size:44px;font-weight:700;letter-spacing:-.03em;line-height:1}.budget .of{color:var(--ink-3);font-weight:600}.meter{height:10px;border-radius:5px;background:var(--bg-3);overflow:hidden;margin-top:14px}.meter span{display:block;height:100%;border-radius:5px;background:var(--warm);transition:width .8s var(--ease)}.meter.over span{background:var(--red)}.meter.thin{height:5px;margin-top:6px}.budget .left{margin-top:8px;font-weight:600;color:var(--ink-2)}.macros{margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.macro .v{display:block;margin-top:6px;font-size:15px;font-weight:700}.week{padding-top:10px}.week-plot{position:relative;height:100px;display:grid;grid-template-columns:repeat(7,1fr);gap:10px;align-items:end}.week .target-line{position:absolute;left:0;right:0;height:0;border-top:1.5px dashed rgba(239,233,223,.55);pointer-events:none}.wk{height:100%;display:flex;align-items:flex-end}.wk span{display:block;width:100%;border-radius:6px 6px 3px 3px;background:var(--bg-3);transition:height .8s var(--ease)}.wk.on span{background:var(--warm)}.wk span.over{background:#e2553fb3}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:6px;text-align:center}.week-days .d{font-size:12px;color:var(--ink-3);font-weight:600}.week-days .d.on{color:var(--ink)}.entry-facts{margin-top:14px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:8px}.entry-facts>div{padding:12px 10px;border-radius:var(--r-sm);background:var(--bg-2);display:flex;flex-direction:column;gap:2px}.entry-facts .num{font-size:20px;font-weight:700;white-space:nowrap;letter-spacing:-.02em}.entry-facts .num.big{font-size:26px;color:var(--warm)}.entry-grade{margin-top:10px;display:flex;align-items:center;gap:8px}.manual{margin-top:14px}.list-row .end.num{font-size:16px;font-weight:700}.goal-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;border-radius:var(--r);background:var(--bg-1);box-shadow:inset 0 0 0 1px var(--line)}.goal-seg button{height:44px;border-radius:12px;font-family:var(--display);font-weight:650;font-size:14.5px;color:var(--ink-2);transition:background var(--fast) ease,color var(--fast) ease}.goal-seg button.on{background:var(--ink);color:var(--on-light)}.mini-seg{flex:none;display:flex;gap:2px;padding:3px;border-radius:12px;background:var(--bg-2)}.mini-seg button{min-width:34px;height:32px;padding:0 10px;border-radius:9px;font-size:13.5px;font-weight:650;color:var(--ink-3)}.mini-seg button.on{background:var(--ink);color:var(--on-light)}.group .list-row .t{font-size:15.5px}.choice-list{margin-top:8px;display:flex;flex-direction:column;gap:8px}.choice{text-align:left;padding:12px 14px;border-radius:var(--r-sm);background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;gap:1px;transition:box-shadow var(--fast) ease}.choice .t{font-weight:650}.choice .s{font-size:13.5px;color:var(--ink-3)}.choice.on{box-shadow:inset 0 0 0 1.5px var(--warm);background:#f3c98b12}.onboarding .auth-hero h1{font-size:26px}.target-card{margin-top:20px;padding:18px;border-radius:var(--r-lg);background:var(--bg-1);box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;gap:4px;min-height:84px;justify-content:center;transition:box-shadow var(--med) ease}.target-card.on{box-shadow:inset 0 0 0 1.5px #f3c98b73}.target-card .big{font-size:38px;font-weight:700;color:var(--warm);letter-spacing:-.02em;line-height:1}.body-units{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}.height-us{display:flex;align-items:center;gap:6px}.height-us input{flex:1;min-width:0}.height-us span{flex:none;font-size:14px;color:var(--ink-3)}.date-row{display:flex;align-items:center;gap:14px}.date-row input{flex:1;min-width:0}.date-row .link-btn{flex:none}.macro-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:12px}.recipe-basics{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}.prompt-row input{flex:.7 1 0;min-width:0}.prompt-row select{flex:1.3 1 0;min-width:0;min-height:50px;padding:0 36px 0 14px;border:0;border-radius:var(--r-sm);font-size:16px;color:var(--ink);background-color:var(--bg-3);box-shadow:inset 0 0 0 1px var(--line);-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 21px) 50%,calc(100% - 15px) 50%;background-size:6px 6px;background-repeat:no-repeat}.pack-entry{display:grid;grid-template-columns:1fr 1fr;gap:10px}.source-credit{margin-top:14px}.source-credit a,.list-row .s a{color:var(--ink-2);text-decoration:underline;text-underline-offset:2px}.public-page{flex:1;overflow-y:auto;width:100%;padding:calc(var(--safe-top) + 32px) 22px calc(var(--safe-bottom) + 40px)}.public-page>*{max-width:680px;margin-left:auto;margin-right:auto}.public-mark{display:block;width:max-content;margin-bottom:22px}.public-page a{color:var(--warm)}.public-faq{margin-top:26px;display:flex;flex-direction:column;gap:22px}.public-faq h2{font-size:18px}.public-faq p{margin-top:6px;color:var(--ink-2);line-height:1.5}.grade{flex:none;display:inline-grid;place-items:center;width:26px;height:26px;border-radius:7px;font-family:var(--display);font-size:14px;font-weight:800;color:#fff}.grade.small{width:20px;height:20px;border-radius:5px;font-size:11.5px}.grade-a{background:#038141}.grade-b{background:#85bb2f;color:#10220a}.grade-c{background:#fecb02;color:#2b2300}.grade-d{background:#ee8100;color:#241200}.grade-e{background:#e63e11}.budget-top .grade{margin-left:auto;align-self:center}.budget .moved{margin-top:6px}.list-row .grade.small{margin-right:2px}.grade-quiet{flex:none;font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--ink-4)}.budget-top .grade-quiet{margin-left:auto;align-self:flex-start;margin-top:6px}.list-row .grade-quiet{margin-right:4px}.cm-mic.on{color:var(--on-light);background:var(--warm)}.cm-listening{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13.5px;color:var(--ink-2)}.cm-listening i{width:8px;height:8px;border-radius:50%;background:var(--red);animation:cm-listening 1.4s ease-in-out infinite}@keyframes cm-listening{50%{opacity:.35}}
