@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.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}:root{--ink: #16211C;--ink-soft: #2C3B34;--porcelain: #ECEEEB;--white: #FFFFFF;--sage: #6E8B7B;--yolk: #F2B705;--paprika: #B3402F;--basil: #3E7C59;--line: #DCE0DC;--radius: 14px;--yolk-bg: #FBEBB5;--yolk-deep: #7A5A02;--basil-bg: #D9E8DE;--paprika-bg: #F0D9D2;--sage-bg: #E3E9E4}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--porcelain);color:var(--ink);font-family:Nunito Variable,Nunito,sans-serif;font-size:17px;line-height:1.4;padding-bottom:env(safe-area-inset-bottom)}.wrap{position:relative;max-width:560px;margin:0 auto;padding:max(20px,calc(env(safe-area-inset-top) + 12px)) 20px 108px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--sage);margin:0}h1{font-size:28px;font-weight:700;letter-spacing:-.5px;margin:4px 0 20px}h2{font-size:18px;font-weight:700;margin:28px 0 10px}.card{background:var(--white);border-radius:var(--radius);padding:16px;margin-bottom:10px}.cta{border:2px solid var(--yolk);margin-bottom:20px}.hero{background:var(--ink);color:var(--porcelain);border-radius:var(--radius);padding:22px;margin-bottom:24px}.hero .label{font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--yolk)}.hero .clock{font-size:60px;font-weight:800;letter-spacing:-3px;font-variant-numeric:tabular-nums;margin:4px 0 0}.hero .meta{color:var(--sage);font-size:15px}.hero.has-image{background-image:linear-gradient(to bottom,rgba(22,33,28,var(--hero-scrim-top, .43)),rgba(22,33,28,var(--hero-scrim-bottom, .07))),var(--hero-image);background-size:cover;background-position:center;background-repeat:no-repeat;padding:26px 22px 24px}.hero.has-image .meta{color:#eceeebeb;text-shadow:0 1px 2px rgba(22,33,28,.85),0 0 14px rgba(22,33,28,.55)}.hero.has-image .label{text-shadow:0 1px 2px rgba(22,33,28,.8),0 0 10px rgba(22,33,28,.45)}.hero.has-image .clock{text-shadow:0 2px 10px rgba(22,33,28,.45)}button{font:inherit;font-weight:700;cursor:pointer;border:0;border-radius:var(--radius);padding:14px 18px;background:var(--ink);color:var(--porcelain);transition:transform .08s ease}button.ghost{background:transparent;color:var(--ink);border:2px solid var(--ink)}button.quiet{background:var(--white);color:var(--sage);font-weight:500}button.yolk{background:var(--yolk);color:var(--ink)}button:disabled{opacity:.5}button.wide{width:100%}button:active:not(:disabled){transform:scale(.96)}.add-row{width:100%;background:transparent;color:var(--basil);border:2px dashed var(--line);border-radius:var(--radius);padding:12px 18px;font-size:14px;transition:transform .08s ease,border-color .15s ease,background .15s ease}.add-row:hover,.add-row:focus-visible{border-color:var(--basil);background:var(--basil-bg)}.add-row+div h2{margin-top:18px}.icon-btn{min-width:40px;min-height:40px;padding:0;display:grid;place-items:center;font-size:15px}.icon-btn.danger:hover,.icon-btn.danger:focus-visible{background:#f6e2de;color:var(--paprika)}.search-row{position:relative;margin:10px 0 16px}.search-row input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--white);border-radius:var(--radius);padding:15px 52px 15px 44px;transition:border-color .15s ease,box-shadow .15s ease}.search-row input[type=search]:focus{border-color:var(--basil);box-shadow:0 0 0 3px var(--basil-bg)}.search-mark{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--sage);pointer-events:none;transition:color .15s ease}.search-row:focus-within .search-mark{color:var(--basil)}.search-row.is-searching input[type=search]{padding-right:92px}.search-count{position:absolute;right:48px;top:50%;transform:translateY(-50%);min-width:24px;padding:3px 8px;border-radius:7px;background:var(--sage-bg);color:var(--ink-soft);font-size:12px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums;pointer-events:none}.search-count.none{background:var(--paprika-bg);color:var(--paprika)}.hl{background:var(--yolk-bg);color:inherit;border-radius:3px;padding:0 1px}.search-row input[type=search]::-webkit-search-cancel-button,.search-row input[type=search]::-webkit-search-decoration{-webkit-appearance:none;display:none}.search-row .search-clear{position:absolute;top:50%;right:5px;transform:translateY(-50%);width:40px;height:40px;border-radius:10px;background:transparent;color:var(--sage);font-size:15px}.search-row .search-clear:hover,.search-row .search-clear:focus-visible{background:var(--sage-bg);color:var(--ink-soft)}.search-row .search-clear:active{transform:translateY(-50%) scale(.92)}input,select,textarea{font:inherit;width:100%;min-width:0;padding:13px 14px;border:2px solid var(--line);border-radius:8px;background:var(--porcelain);color:var(--ink);transition:border-color .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--sage)}textarea{resize:vertical;line-height:1.5}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--sage)}.row{display:flex;align-items:center;gap:12px}.row.wrap-fields{flex-wrap:wrap}.row.wrap-fields>.field{flex-basis:140px}@media (max-width: 480px){.row.wrap-fields{flex-direction:column;align-items:stretch}.row.wrap-fields>.field{flex-basis:auto;width:100%}}@media (min-width: 481px){.row.wrap-fields>.field.narrow{flex:0 0 104px}.row.wrap-fields>.field.narrow.date{flex-basis:124px}}.grow{flex:1;min-width:0}.date-btn{cursor:pointer;width:100%;padding:13px 14px;border:2px solid var(--line);border-radius:8px;background:var(--porcelain)}.date-btn .date-display{display:block;color:var(--ink)}.date-btn .date-display.placeholder{color:var(--sage)}.date-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;opacity:0;pointer-events:none}.link-btn{background:transparent;border:0;padding:0;font:inherit;font-weight:700;color:var(--basil);cursor:pointer}.chart-note{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:12px;font-weight:600;color:var(--sage)}.chart-note .dash{width:18px;flex:none;border-top:2px dashed currentColor}.muted{color:var(--sage);font-size:13px;margin:0}.strike{text-decoration:line-through;color:var(--sage)}.item{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.item:first-child{border-top:0}.item .name{font-size:16px;margin:0}.box{width:26px;height:26px;flex:none;border-radius:6px;border:2px solid var(--sage);background:transparent;padding:0}.box.cart{border-color:var(--basil);background:var(--basil);color:var(--white);font-size:15px;line-height:1}.linger{background:#e3e7e3;border-radius:var(--radius);padding:14px 16px;margin-top:18px}.banner{background:#f6e2de;color:var(--paprika);border-radius:8px;padding:12px 14px;font-size:14px;margin-bottom:16px}.banner.info{background:#fbf0d4;color:#7a5a02}.banner strong{display:block;margin-bottom:4px}.dock{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 16px);transform:translate(-50%);z-index:20;display:flex;gap:4px;background:var(--ink);border-radius:999px;padding:6px;box-shadow:0 10px 30px #00000047}.dock button{position:relative;width:52px;height:52px;padding:0;border-radius:50%;display:grid;place-items:center;background:transparent;color:var(--sage)}.dock button svg{width:24px;height:24px;display:block}@media (max-width: 359px){.dock button{width:46px;height:46px}}.dock button[aria-current=page]{background:var(--porcelain);color:var(--ink)}.dock-badge{position:absolute;top:6px;right:10px;width:9px;height:9px;border-radius:50%;background:var(--paprika);border:2px solid var(--ink)}.dock-badge.green{right:auto;left:10px;background:var(--basil)}.dock button[aria-current=page] .dock-badge{border-color:var(--porcelain)}.signout-fab{position:absolute;top:max(20px,calc(env(safe-area-inset-top) + 12px));right:20px;z-index:20;width:36px;height:36px;padding:0;border-radius:10px;display:grid;place-items:center;background:var(--white);color:var(--ink);box-shadow:0 2px 8px #0000001a}.signout-fab svg{width:18px;height:18px;display:block}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.chips button{padding:8px 14px;font-size:14px;background:var(--white);color:var(--sage)}.chips button[aria-pressed=true]{background:var(--ink);color:var(--porcelain)}.chips.sub{gap:6px}.chips.sub button{padding:5px 10px;font-size:12px;font-weight:600;background:transparent;color:var(--sage);border:1px solid var(--line)}.chips.sub button[aria-pressed=true]{background:var(--sage-bg);color:var(--ink-soft);border-color:var(--sage-bg)}.chips.sub .chip-date{position:relative;overflow:hidden;display:inline-flex;align-items:center;padding:5px 10px;font-size:12px;font-weight:600;color:var(--sage);background:transparent;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;-webkit-tap-highlight-color:transparent}.chips.sub .chip-date.is-set{background:var(--sage-bg);color:var(--ink-soft);border-color:var(--sage-bg)}.chips.sub .chip-date:active{transform:scale(.96)}.chips.sub .chip-date input[type=date]{position:absolute;top:0;left:0;min-width:100%;min-height:100%;margin:0;padding:0;border:0;background:transparent;opacity:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:16px}.chips.sub .chip-date input[type=date]::-webkit-calendar-picker-indicator{position:absolute;top:0;right:0;bottom:0;left:0;width:auto;height:auto;margin:0;padding:0;opacity:0;cursor:pointer}.check-row{display:flex;align-items:center;gap:10px;margin-top:12px;cursor:pointer;font-size:15px;font-weight:600;color:var(--ink)}.check-row input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;width:22px;height:22px;margin:0;padding:0;border:2px solid var(--sage);border-radius:5px;background:transparent;display:grid;place-items:center;cursor:pointer}.check-row input[type=checkbox]:checked{background:var(--basil);border-color:var(--basil)}.check-row input[type=checkbox]:checked:after{content:"✓";color:var(--white);font-size:14px;font-weight:800;line-height:1}.check-row input[type=checkbox]:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.broadcast-deck{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;margin-bottom:10px}.broadcast-card{scroll-snap-align:start;flex:0 0 82%;border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:6px}.broadcast-card .name,.broadcast-card p{margin:0}.broadcast-card .row{justify-content:space-between;align-items:flex-start}.broadcast-card .quiet{background:transparent}.bar{height:8px;border-radius:4px;background:var(--ink);min-width:3px}.stat{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-top:1px solid var(--line)}.stat b{font-variant-numeric:tabular-nums}button.stat{width:100%;border-radius:0;background:transparent;color:inherit;font-weight:inherit;text-align:left}button.stat:active:not(:disabled){transform:none}.day-hero{text-align:center;margin-bottom:28px}.day-hero .weekday{font-size:26px;font-weight:800;letter-spacing:-.5px;margin:0}.day-hero .date{color:var(--sage);font-size:15px;margin:2px 0 0}.week-strip{display:flex;justify-content:center;gap:10px;margin-top:18px}.week-day{display:flex;flex-direction:column;align-items:center;gap:6px}.week-day .circle{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--white);color:var(--sage)}.week-day .dot{width:5px;height:5px;border-radius:50%;background:transparent}.week-day.is-today .circle{background:var(--ink);color:var(--porcelain)}.week-day.is-today .dot{background:var(--yolk)}.page-fieldset{border:0;margin:0;padding:0;min-width:0}.page-fieldset.dimmed{opacity:.45;filter:grayscale(.4);pointer-events:none}.switch{position:relative;display:inline-block;width:50px;height:30px;flex:none}.switch input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer;z-index:1}.switch .track{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--line);border-radius:999px;transition:background .15s ease}.switch .thumb{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:var(--white);box-shadow:0 1px 3px #00000040;transition:transform .15s ease}.switch input:checked+.track{background:var(--basil)}.switch input:checked+.track .thumb{transform:translate(20px)}.item.expiry-soon{box-shadow:inset 3px 0 0 var(--yolk);padding-left:10px}.item.expiry-urgent,.item.expiry-expired{box-shadow:inset 3px 0 0 var(--paprika);padding-left:10px}.item.expiry-expired .name{font-weight:700;color:var(--yolk-deep)}.expiry-tag{display:inline-block;margin-right:7px;padding:2px 8px;border-radius:7px;font-size:12px;font-weight:700;background:var(--sage-bg);color:var(--ink-soft)}.expiry-tag.tier-soon{background:var(--yolk-bg);color:var(--yolk-deep)}.expiry-tag.tier-urgent,.expiry-tag.tier-expired{background:var(--paprika);color:var(--white)}.kitchen .item{padding:15px 0;gap:14px}.kitchen .name-row{display:flex;align-items:center;gap:8px;margin-bottom:3px}.kitchen .name-row .name{min-width:0;margin:0}.kitchen .name-row .expiry-tag{flex:none;margin-left:auto;margin-right:0}.kitchen .row-btn{position:relative;flex:none;width:28px;height:28px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:var(--paprika-bg);color:var(--paprika);font-size:16px;line-height:1}.kitchen .row-btn:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.kitchen .row-btn:active{background:#e2c0b6}.kitchen .row-btn.bin{background:transparent}.kitchen .row-btn.bin:active{background:transparent;opacity:.5}.kitchen .item.expiry-soon,.kitchen .item.expiry-urgent,.kitchen .item.expiry-expired{padding-left:12px}.kitchen .card{padding:16px 18px}.kitchen h2{margin-top:32px}.chips button .chip-note{font-weight:400;opacity:.7;font-size:12px}.chips button .chip-x{color:var(--paprika);font-size:12px}.swipe-row{position:relative;overflow:hidden;touch-action:pan-y}.swipe-back{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:flex-end;padding-right:18px;background:var(--paprika);color:var(--white);font-weight:700;font-size:15px}.swipe-front{position:relative;background:var(--white);transition:transform .15s ease}.swipe-front.is-dragging{transition:none;-webkit-user-select:none;user-select:none}.swipe-row+.swipe-row .item{border-top:1px solid var(--line)}@media (prefers-reduced-motion: reduce){.swipe-front{transition:none}}@media (pointer: coarse){.mouse-only{display:none}}
