@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(../media/atkinson-hyperlegible-latin-ext-400-normal.2-qiblqvy4tin.woff2)format("woff2"),url(../media/atkinson-hyperlegible-latin-ext-400-normal.0ui-kbwrql7nn.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(../media/atkinson-hyperlegible-latin-400-normal.2_4quiuxbm00_.woff2)format("woff2"),url(../media/atkinson-hyperlegible-latin-400-normal.1814tdl5ng145.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(../media/atkinson-hyperlegible-latin-ext-700-normal.39fx4g5252mtj.woff2)format("woff2"),url(../media/atkinson-hyperlegible-latin-ext-700-normal.1jgehju1n4bgu.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(../media/atkinson-hyperlegible-latin-700-normal.3ij26zqblfe95.woff2)format("woff2"),url(../media/atkinson-hyperlegible-latin-700-normal.0kr4d1tyihlyu.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-condensed-vietnamese-600-normal.3e4flxcugo2h5.woff2)format("woff2"),url(../media/barlow-condensed-vietnamese-600-normal.1m4yi3r85r-2e.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-condensed-latin-ext-600-normal.3fs29psnn2dnj.woff2)format("woff2"),url(../media/barlow-condensed-latin-ext-600-normal.16yc7s53by18l.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-condensed-latin-600-normal.2t96v6p0iv501.woff2)format("woff2"),url(../media/barlow-condensed-latin-600-normal.3id26guef6u69.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-condensed-vietnamese-700-normal.312nbn3hifl_p.woff2)format("woff2"),url(../media/barlow-condensed-vietnamese-700-normal.0qq2rbf8hr6cv.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-condensed-latin-ext-700-normal.28iwym1vpi4ti.woff2)format("woff2"),url(../media/barlow-condensed-latin-ext-700-normal.2hkqehxqksiuo.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-condensed-latin-700-normal.3hmancrpg57x4.woff2)format("woff2"),url(../media/barlow-condensed-latin-700-normal.31l4qbhx6zok2.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
*,:before,:after{box-sizing:border-box;border:0 solid;margin:0;padding:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%;line-height:1.5}h1,h2,h3,h4{font-size:inherit;font-weight:inherit}ol,ul{list-style:none}a{color:inherit;text-underline-offset:2px}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit;background:0 0;border-radius:0}img,svg,video{max-width:100%;height:auto;display:block}[hidden]{display:none!important}:root{--bg:#faf6ee;--surface:#fffdf8;--ink:#16233a;--muted:#566379;--line:#e8dfcf;--tag:#f7c948;--tag-ink:#231b00;--tag-rule:#231b0047;--rise:#b8322a;--warn:#8f5400;--dip:#1c7347;--steady:#566379;--btn:#16233a;--btn-ink:#fff;--foot-bg:#f1e9da;--band:#f1e9da;--chip-base:var(--surface);--ok-bg:#e4f4e9;--ok-ink:#14532d;--ok-line:#1c7347;--chip-tint:13%;--foot-line:#ded2bc;--foot-icon:#16233a;--font-display:"Barlow Condensed", "Arial Narrow", Arial, sans-serif;--font-body:"Atkinson Hyperlegible", Verdana, Geneva, sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#354052;--surface:#424f66;--ink:#e9eef5;--muted:#d0d6e0;--line:#56637c;--rise:#ffb4aa;--warn:#f9d27e;--dip:#8fe3b6;--steady:#d0d6e0;--btn:#e9eef5;--btn-ink:#0f151e;--foot-bg:#2b3544;--foot-line:#4a5670;--band:#2b3544;--chip-base:#26303f;--ok-bg:#1e4a3a;--ok-ink:#d4f7e3;--ok-line:#8fe3b6;--chip-tint:12%;--foot-icon:#f7c948;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5}.shell{flex-direction:column;gap:20px;padding-block:0 32px;display:flex}.shell>*,.wrap{--pad:24px;width:100%;max-width:1168px;padding-inline:var(--pad);margin-inline:auto}.shell>main.home{max-width:none;padding-inline:0}.shell>.app-col{flex-direction:column;gap:20px;max-width:752px;padding-inline:16px;display:flex}@media (max-width:479px){.shell>*,.wrap{--pad:16px}}.stack{flex-direction:column;gap:12px;min-width:0;display:flex}.page{flex-direction:column;gap:28px;min-width:0;display:flex}h1,h2{font-family:var(--font-display);letter-spacing:.01em;text-wrap:balance;font-weight:700;line-height:1.05}h1{font-size:clamp(38px,9vw,56px)}h2{font-size:26px}h3{font-size:17px;font-weight:700;line-height:1.25}.lede{max-width:58ch;font-size:18px}.small{color:var(--muted);font-size:14px}.fine{color:var(--muted);max-width:70ch;font-size:14px}.agree a{padding-block:14px}.pantry-more{gap:4px}.pantry-more ul{flex-direction:column;display:flex}.pantry-more a{align-items:center;min-height:44px;font-weight:700;display:inline-flex}.num{font-variant-numeric:tabular-nums}:focus{outline:none}:focus-visible{outline:3px solid var(--ink);outline-offset:2px;border-radius:2px}.tag :focus-visible{outline-color:var(--tag-ink)}.skip{z-index:10;background:var(--btn);color:var(--btn-ink);border-radius:8px;padding:10px 14px;font-weight:700;position:absolute;top:-60px;left:8px}.skip:focus{top:8px}.problem{color:var(--rise);font-weight:700}.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding-block:16px 14px;display:flex;position:relative}.top:after{content:"";border-bottom:1px solid var(--line);position:absolute;bottom:0;left:0;right:0}.shell>.top:after{left:var(--pad);right:var(--pad)}.brand{font-family:var(--font-display);letter-spacing:.01em;color:inherit;align-items:center;gap:10px;font-size:34px;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.brand img{width:33px;height:48px;display:block}.nav{flex-wrap:wrap;align-items:center;gap:8px 20px;font-size:16px;display:flex}.nav a{color:inherit}.nav a:not(.nav-cta),.foot a{border-radius:999px;margin-inline:-10px;padding-inline:10px;text-decoration:none;transition:color .15s,background-color .15s}.nav a:not(.nav-cta):hover,.nav a:not(.nav-cta):focus-visible{color:#0b1424;background-color:#f1e9da}.foot a:hover,.foot a:focus-visible{color:#0b1424;background-color:#e4d6bd}@media (prefers-color-scheme:dark){.nav a:not(.nav-cta):hover,.nav a:not(.nav-cta):focus-visible,.foot a:hover,.foot a:focus-visible{color:#f7c948;background-color:#0000}}@media (prefers-reduced-motion:reduce){.nav a,.foot a{transition:none}}.nav a:not(.nav-cta){position:relative}.nav a:not(.nav-cta):after{content:"";position:absolute;inset:-10px 0}.nav a.nav-cta{color:var(--btn-ink);min-height:44px;padding:8px 16px;text-decoration:none}.btn{font:inherit;border:1px solid var(--btn);background:var(--btn);color:var(--btn-ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:10px 16px;font-weight:700;text-decoration:none;display:inline-flex}.btn.ghost{color:var(--ink);border-color:var(--muted);background:0 0}.btn:disabled{opacity:.5;cursor:default}.notice[role=status][tabindex="-1"]+.row>.btn{text-wrap:balance}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}input[type=email],input[type=text],input[type=number]{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--muted);border-radius:8px;max-width:100%;padding:10px 12px;font-size:16px}input[aria-invalid=true]{border-color:var(--rise);border-width:2px}.botcheck{max-width:100%;min-height:65px;line-height:0;display:flex}@media (max-width:331px){.botcheck{min-height:140px}}::placeholder{color:var(--muted);opacity:1}label{font-weight:700}select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--muted);border-radius:8px;max-width:100%;min-height:46px;padding:10px 12px;font-size:16px}select[aria-invalid=true]{border-color:var(--rise);border-width:2px}.form fieldset{min-width:0}.form legend{font-family:var(--font-display);margin-bottom:4px;font-size:24px;font-weight:700;line-height:1.1}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field input,.field select{width:100%;max-width:16rem;min-height:46px}.hint{color:var(--muted);font-size:14px;font-weight:400;display:block}.field-err{font-size:15px}.people{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:14px 16px;display:grid}.presets{flex-wrap:wrap;gap:8px;display:flex}.pick{position:relative}.pick input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.pick span{border:1px solid var(--muted);font-variant-numeric:tabular-nums;border-radius:8px;justify-content:center;align-items:center;min-width:64px;min-height:46px;padding:8px 14px;font-weight:700;display:inline-flex}.pick input:checked+span{background:var(--btn);color:var(--btn-ink);border-color:var(--btn)}.pick input:focus-visible+span{outline:3px solid var(--ink);outline-offset:2px}.check{cursor:pointer;align-items:flex-start;gap:10px;min-height:46px;display:flex}.check input{width:22px;height:22px;accent-color:var(--btn);flex:none;margin-top:2px}.facts{flex-direction:column;gap:4px;display:flex}.meal-list{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;padding:0 14px;display:flex}.meal-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 14px;padding:10px 0;display:flex}.meal-row:last-child{border-bottom:0}.meal-row .check{flex:14rem;align-items:center}.meal-row .field-err{flex-basis:100%}.times{color:var(--muted);align-items:center;gap:8px;font-size:15px;display:flex}.times input{width:5.5rem;min-height:46px}.pantry-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 14px;padding:10px 0;display:flex}.pantry-row:last-child{border-bottom:0}.pantry-row .field-err{flex-basis:100%}.pantry-name{flex:11rem}.own-item{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:10px 14px;padding:12px 0;display:flex}.own-item:last-child{border-bottom:0}.own-item .field:first-of-type{flex:12rem}.own-item .field input[type=number]{width:6rem}.own-item .field-err{flex-basis:100%}.stepper{align-items:center;gap:6px;display:flex}.stepper input{text-align:center;font-variant-numeric:tabular-nums;width:4.5rem;min-height:46px}.btn.step{min-width:46px;min-height:46px;padding:0;font-size:22px;line-height:1}.week-top{border:0;padding:0}.why summary{cursor:pointer;text-underline-offset:2px;align-items:center;gap:6px;min-height:32px;font-weight:700;text-decoration:underline;display:inline-flex}.why summary::-webkit-details-marker{display:none}.why summary:before{content:"▸";text-decoration:none}.why[open] summary:before{content:"▾"}.why[open] summary{margin-bottom:6px}.aisle{font-size:20px}.shop-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;padding:12px 0;display:flex}.shop-row:last-child{border-bottom:0}.shop-row .field-err{flex-basis:100%}.shop-tick{flex:12rem;align-items:center;min-height:52px}.shop-tick input{width:30px;height:30px;margin-top:0}.shop-name{font-weight:700;display:block}.shop-row.done .shop-name{color:var(--muted);text-decoration:line-through}.money-in{align-items:center;gap:6px;display:flex}.money-in input{width:6rem;min-height:46px}.shopbar{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex;position:sticky;bottom:0;box-shadow:0 -2px 10px #00000014}.shopbar .btn{min-height:52px;padding-inline:20px}.scan-buttons .btn{min-height:48px}.scan-dialog{border:1px solid var(--line);background:var(--bg);width:100%;max-width:560px;max-height:100dvh;color:var(--ink);border-radius:16px;margin:auto;padding:0}.scan-dialog::backdrop{background:#0f151e99}.scan-body{flex-direction:column;gap:14px;padding:20px;display:flex}.scan-body h2{font-size:28px}.scan-frame{aspect-ratio:4/3;background:#0f151e;border-radius:12px;position:relative;overflow:hidden}.scan-frame video{object-fit:cover;width:100%;height:100%}.scan-aim{border-top:3px solid var(--tag);height:0;position:absolute;top:50%;left:12%;right:12%;box-shadow:0 0 0 9999px #0f151e40}.scan-actions{flex-wrap:wrap;gap:10px;display:flex}.scan-actions .btn,.scan-close{min-height:48px}.scan-close{align-self:flex-start}.scan-product{gap:4px}.scan-target{border:2px solid var(--ink);background:var(--surface);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.scan-target b{font-size:18px;display:block}.scan-change{text-underline-offset:2px;cursor:pointer;flex:none;min-width:44px;min-height:44px;padding:0 6px;font-weight:700;text-decoration:underline}.scan-legend{margin-bottom:6px;font-weight:700}.scan-choices{max-height:40dvh;overflow-y:auto}.scan-choices .check{align-items:center;width:100%}.scan-body input[type=date]{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--muted);border-radius:8px;max-width:16rem;min-height:46px;padding:10px 12px;font-size:16px}@media (max-width:599px){.scan-dialog{border:0;border-radius:0;max-width:none;height:100dvh}.scan-actions .btn{flex:100%}}.meal-row:not(:has(input[name=meal]:checked)) .times{display:none}.tag{background:var(--tag);color:var(--tag-ink);border-radius:16px;flex-direction:column;gap:6px;padding:12px 16px 16px;display:flex}.tag-head{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;border-bottom:2px solid var(--tag-rule);justify-content:space-between;gap:12px;padding-bottom:6px;font-size:17px;font-weight:600;display:flex}.tag-num{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:clamp(76px,22vw,124px);font-weight:700;line-height:.92}.tag-unit{font-size:15px}.meter{background:var(--tag-rule);border-radius:4px;height:8px;margin-top:4px;overflow:hidden}.meter i{background:var(--tag-ink);height:100%;display:block}.chip{white-space:nowrap;--c:var(--steady);color:var(--c);background:color-mix(in srgb, var(--c) var(--chip-tint), var(--chip-base));border:1px solid color-mix(in srgb, var(--c) 38%, var(--chip-base));border-radius:3px;align-items:center;gap:5px;padding:4px 7px;font-size:14px;font-weight:700;line-height:1;display:inline-flex}.chip.rise{--c:var(--rise)}.chip.warn{--c:var(--warn)}.chip.dip{--c:var(--dip)}.points{flex-direction:column;gap:14px;display:flex}.points li{grid-template-columns:34px minmax(0,1fr);gap:10px;display:grid}.points li>b:first-child{font-family:var(--font-display);font-size:28px;line-height:1}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:8px;min-width:0;padding:16px 18px;display:flex}.card-title{font-family:var(--font-body);letter-spacing:0;font-size:17px;font-weight:700;line-height:1.25}.card-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.cards{flex-direction:column;gap:10px;display:flex}.line{max-width:70ch;font-size:14px}.assumed{color:var(--muted);border:1px solid var(--line);white-space:nowrap;border-radius:3px;padding:1px 5px;font-size:13px}.buy-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;display:flex}.buy-row:last-child{border-bottom:0}.price{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.legend{color:var(--muted);flex-wrap:wrap;gap:6px 14px;font-size:14px;display:flex}.key{align-items:center;gap:6px;display:inline-flex}.key .k-rng{background:var(--ink);border-radius:3px;width:22px;height:6px;display:inline-block}.key .k-avg{background:var(--tag);outline:1px solid var(--tag-ink);width:3px;height:14px;display:inline-block}.axis{height:18px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;position:relative}.axis span{white-space:nowrap;position:absolute;transform:translate(-50%)}.axis span:first-child{transform:none}.axis .axis-end{right:0;transform:none}.plot{background:color-mix(in srgb, var(--line) 45%, var(--surface));border-radius:3px;height:18px;position:relative}.plot span{position:absolute;top:0;bottom:0}.plot .zero{background:var(--muted);width:1px}.plot .rng{background:var(--ink);border-radius:3px;min-width:3px;top:6px;bottom:6px}.plot .dot{background:var(--ink);border:2px solid var(--surface);border-radius:50%;width:10px;margin-left:-5px;top:4px;bottom:4px}.plot .avg{background:var(--tag);outline:1px solid var(--tag-ink);width:3px;margin-left:-1px;top:1px;bottom:1px}.plot-zero{height:18px;color:var(--muted);margin-top:2px;font-size:14px;line-height:18px;position:relative}.plot-zero span{white-space:nowrap;position:absolute;transform:translate(-50%)}.notice{border:1px dashed var(--muted);border-radius:8px;padding:10px 12px;font-size:15px}.foot{color:var(--muted);background:var(--foot-bg);box-shadow:0 0 0 100vmax var(--foot-bg), 0 -1px 0 100vmax var(--foot-line);clip-path:inset(-1px -100vmax -100vmax);margin-top:24px;padding-block:24px 4px;font-size:15px}.foot a{color:inherit}.foot-grid{grid-template-columns:1fr 1fr;gap:12px 24px;display:grid}.foot-brand,.foot-community-col{grid-column:1/-1}@media (min-width:640px){.foot-grid{grid-template-columns:1.3fr .9fr .9fr 1.6fr}.foot-brand,.foot-community-col{grid-column:auto}.foot-head{align-items:center;min-height:44px;margin-bottom:0;display:flex}}.foot-name{min-height:44px;font-family:var(--font-display);color:var(--ink);align-items:center;gap:8px;font-size:22px;font-weight:700;line-height:1;display:flex}.foot-name img{width:17px;height:24px}.foot-head{letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-bottom:2px;font-size:13px;font-weight:700}.foot-col li a,.foot-community a{align-items:center;min-height:44px;display:inline-flex}.foot-links{flex-direction:column;display:flex}.foot-links a{align-items:center;min-height:44px;display:inline-flex}.foot-community{margin:0}.foot-community a{white-space:nowrap;gap:8px}.foot-community svg{color:var(--foot-icon);flex:none}.foot-bottom{border-top:1px solid var(--foot-line);flex-direction:column;gap:6px;margin-top:16px;padding-block:12px 8px;font-size:14px;display:flex}.policy{overflow-wrap:anywhere}.policy h2{margin-top:12px}.policy p:not(.notice),.policy li{max-width:32em}.policy a{padding-block:12px;position:relative}.policy a:focus-visible,.agree a:focus-visible{padding-block:0}.policy ul{flex-direction:column;gap:6px;max-width:32em;padding-left:20px;list-style:outside;display:flex}.to-top a{align-items:center;min-height:44px;display:inline-flex}.tabs{top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);border-bottom:1px solid var(--line);margin-inline:-16px;gap:4px;margin-top:-8px;padding-inline:16px;display:flex;position:sticky;overflow-x:auto}.tabs a{color:var(--muted);font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;text-align:center;border-bottom:3px solid #0000;flex:1 0 auto;min-height:44px;padding:10px 10px 8px;font-size:19px;font-weight:600;text-decoration:none}.tabs a[aria-current=page]{color:var(--ink);border-bottom-color:var(--ink)}.btn.sm{padding:6px 10px;font-size:14px}.btn.ghost[aria-current=page]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.home{gap:56px}.section{flex-direction:column;gap:16px;display:flex}.hero{height:600px;position:relative;overflow:hidden}.hero-img{object-fit:cover;object-position:center bottom;width:100%;max-width:none;height:100%;position:absolute;inset:0}.hero-inner{align-items:flex-start;height:100%;padding-top:56px;display:flex;position:relative}.hero-card{color:#16233a;background:#faf6eeeb;border-radius:16px;flex-direction:column;gap:16px;max-width:500px;padding:28px;display:flex;box-shadow:0 8px 30px #16233a1f}.hero-card h1{font-size:clamp(38px,5vw,52px)}.hero-card :focus-visible{outline-color:#16233a}.hero-card .btn.hero-start{color:#faf6ee;background:#16233a;border-color:#16233a}.hero-card .btn.hero-outlook{color:#16233a;background:#fff;border-color:#16233a}@media (max-width:720px){.hero{height:auto;overflow:visible}.hero-img{height:240px;display:block;position:static}.hero-inner{height:auto;padding-top:16px}.hero-card{max-width:none;padding:20px}}.tag-note{margin-top:4px;font-size:15px}.weeks-hero{height:560px}.weeks-hero-inner{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:40px;display:grid}.weeks-tag{box-shadow:0 14px 30px #16233a4d}.weeks-tag .tag-num{font-size:clamp(72px,9vw,104px)}.shell>main.home>.weeks-console-wrap{margin-top:-176px;position:relative}.weeks-console{color:#faf6ee;background:#16233a;border-radius:20px;flex-direction:column;gap:20px;padding:26px 28px 28px;display:flex;box-shadow:0 20px 50px #16233a59}.weeks-console :focus-visible{outline-color:#f7c948}.weeks-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.weeks-top h2{font-size:34px}.weeks-top p{color:#e9eef5;max-width:52ch}.btn.weeks-play{color:#16233a;background:#f7c948;border-color:#f7c948;gap:10px;min-height:52px;padding-inline:22px;font-size:18px}.weeks-steppers{flex-wrap:wrap;gap:12px 28px;display:flex}.wk-stepper{grid-template-columns:46px 2.2ch 46px;align-items:center;gap:4px 8px;display:grid}.wk-stepper-label{grid-column:1/-1;font-size:15px;font-weight:700}.wk-stepper button{color:#faf6ee;cursor:pointer;background:#24324c;border:1px solid #8a96ab;border-radius:8px;width:46px;height:46px;font-size:22px;line-height:1}.wk-stepper button:disabled{opacity:.45;cursor:default}.wk-stepper output{text-align:center;font-family:var(--font-display);font-size:28px;font-weight:700}.weeks{grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;display:grid}.wk{color:#c9d1de;text-align:left;cursor:pointer;background:#24324c;border:1px solid #3b4a66;border-radius:10px;flex-direction:column;justify-content:space-between;gap:6px;width:100%;min-height:76px;padding:8px;transition:background-color .2s,color .2s,box-shadow .2s;display:flex}.wk-name{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;font-size:15px;font-weight:600}.wk-days{font-family:var(--font-display);color:#faf6ee;font-size:24px;font-weight:700;line-height:1}.wk.on{color:#231b00;background:#f7c948;border-color:#f7c948}.wk.on .wk-days{color:#231b00}.wk.now{box-shadow:0 0 0 3px #faf6ee}.weeks-note{color:#d0d6e0;max-width:80ch;font-size:15px}.weeks-list{max-width:760px}@media (prefers-reduced-motion:reduce){.wk{transition:none}}@media (max-width:960px){.weeks{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width:720px){.weeks-hero{height:auto}.weeks-hero-inner{grid-template-columns:minmax(0,1fr);gap:16px}.shell>main.home>.weeks-console-wrap{margin-top:0}.weeks-console{padding:20px 16px}.weeks-top h2{font-size:28px}.btn.weeks-play{width:100%}.weeks{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.wk{min-height:64px;padding:6px 8px}.wk-name{letter-spacing:.02em;font-size:13px}.wk-days{font-size:20px}}.band{background:var(--band);padding-block:48px}.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.step{gap:10px;padding:24px}.step h3{font-size:19px}.step-icon{background:var(--band);width:56px;height:56px;color:var(--ink);border-radius:14px;justify-content:center;align-items:center;display:flex}@media (max-width:720px){.steps{grid-template-columns:minmax(0,1fr)}}.costs{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.costs .card{gap:12px;padding:24px;font-size:17px}.cost-paid{color:#faf6ee;background:#16233a;border-color:#16233a}.cost-price{font-family:var(--font-display);letter-spacing:.01em;color:#faf6ee;font-size:22px}@media (prefers-color-scheme:dark){.cost-paid{border:1px solid #8a96ab}}.cost-paid a{color:#faf6ee;align-items:center;min-height:44px;display:inline-flex}.cost-paid :focus-visible{outline-color:#faf6ee}.cost-link{align-items:center;min-height:44px;font-weight:700;display:inline-flex}@media (max-width:720px){.costs{grid-template-columns:minmax(0,1fr)}}.fb-strip{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:16px;flex-wrap:wrap;align-items:center;gap:16px 24px;padding:24px 28px;display:flex}.fb-strip h2{font-size:22px}.fb-dot{color:#faf6ee;background:#16233a;border-radius:50%;flex:none;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.fb-dot svg{width:28px;height:28px}.fb-text{flex-direction:column;flex:260px;gap:4px;display:flex}.fb-strip .btn.fb-btn{border-color:var(--muted);color:var(--ink);background:0 0;min-height:48px;padding-inline:20px}.home-close{color:#faf6ee;background:#16233a;border-radius:20px;flex-direction:column;align-items:flex-start;gap:14px;padding:36px 32px;display:flex}.home-close h2{font-size:clamp(30px,5vw,40px)}.home-close p{color:#e9eef5;max-width:52ch;font-size:18px}.home-close :focus-visible{outline-color:#faf6ee}.btn.home-close-btn{color:#16233a;background:#faf6ee;border-color:#faf6ee;min-height:52px;padding-inline:24px;font-size:18px}@media (max-width:479px){.home-close{padding:24px 20px}.btn.home-close-btn{width:100%}}.signin{gap:14px;width:100%;max-width:560px;margin-inline:auto;padding:28px}@media (max-width:479px){.signin{padding:20px}}.back-to-top{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));z-index:20;color:#f7c948;cursor:pointer;background:#16233a;border:0;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:flex;position:fixed;box-shadow:0 4px 14px #16233a47}.back-to-top:focus-visible{outline:3px solid var(--ink);outline-offset:3px}@media (prefers-color-scheme:dark){.back-to-top{color:#16233a;background:#f7c948;box-shadow:0 4px 14px #00000059}}.saved-notice{z-index:30;width:max-content;max-width:min(480px,100vw - 32px);position:fixed;top:16px;left:50%;transform:translate(-50%)}.saved-notice.shown{border:2px solid var(--ok-line);background:var(--ok-bg);color:var(--ok-ink);border-radius:12px;align-items:center;gap:10px;padding:12px 18px;font-weight:700;transition:opacity .6s;animation:.2s ease-out saved-in;display:flex;box-shadow:0 6px 20px #16233a2e}.saved-notice.fading{opacity:0}@media (max-width:599px){.saved-notice{top:auto;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 64px)}}.saved-notice svg{flex:none}@keyframes saved-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.saved-notice.shown{transition:none;animation:none}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.asks{flex-direction:column;gap:6px;max-width:66ch;padding-left:20px;font-size:15px;list-style:outside;display:flex}.plan-facts{max-width:760px}.plan-facts .asks{font-size:inherit}.plan-facts .why summary{min-height:46px;display:flex}.srcs{overflow-wrap:anywhere;flex-direction:column;gap:4px;padding-left:22px;font-size:14px;list-style:decimal;display:flex}@media (max-width:480px){.tabs a{letter-spacing:.02em;padding-inline:6px;font-size:17px}}@media (max-width:380px){.tabs{gap:2px}.tabs a{padding-inline:3px}}.views{border:1px solid var(--muted);border-radius:12px;max-width:460px;display:flex;overflow:hidden}.views a{text-align:center;min-height:48px;color:var(--ink);background:var(--surface);flex:1 1 0;justify-content:center;align-items:center;padding:4px 8px;font-weight:700;line-height:1.2;text-decoration:none;display:flex}.views a+a{border-left:1px solid var(--muted)}.views a[aria-current=page]{background:var(--btn);color:var(--btn-ink)}.shelf-list{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;padding:0 14px;display:flex}.shelf-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.shelf-row:last-child{border-bottom:0}.shelf-row b{display:block}.shelf-n{font-family:var(--font-display);text-align:right;min-width:2.2ch;font-size:30px;font-weight:700;line-height:1}.shelf-kind{color:var(--ink);margin-top:2px;font-size:16px}.pantry-row.jar-row{padding-left:14px}.choice-row{flex-wrap:wrap;gap:0 22px;display:flex}.canned-guide{font-size:15px}.pantry-edit{text-align:left;cursor:pointer;border:0;flex-direction:column;justify-content:center;align-items:flex-start;min-height:44px;padding:0;display:flex}.pantry-edit-name{text-underline-offset:2px;font-weight:700;text-decoration:underline}
