@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-ext-400-normal-C2zvOubV.woff2) format("woff2"),url(/assets/dm-mono-latin-ext-400-normal-1aZr6b2b.woff) format("woff");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:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-400-normal-4GdczIuU.woff2) format("woff2"),url(/assets/dm-mono-latin-400-normal--0xN8mdc.woff) format("woff");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:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-mono-latin-ext-500-normal-BtRyHRi6.woff2) format("woff2"),url(/assets/dm-mono-latin-ext-500-normal-Dw3M13d8.woff) format("woff");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:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-mono-latin-500-normal-DRMDZjhP.woff2) format("woff2"),url(/assets/dm-mono-latin-500-normal-CN8Miw6E.woff) format("woff");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{color-scheme:light;--color-bg: #ebe3d2;--color-paper: #f3ecdd;--color-paper-raised: #f8f3e8;--color-ink: #2b2217;--color-sub: #6b5d45;--color-faint: #9a8c70;--color-rule: #c9bea4;--color-accent: #a14a28;--color-accent-soft: #eeded2;--color-accent-ink: #7e3a1f;--color-green: #4a6741;--color-green-soft: #dde5d6;--color-error: #9b2c2c;--color-error-soft: #f0dcd7;--color-ochre: #8a6a1f;--color-ochre-soft: #f0e7c8;--color-plum: #7a3a52;--color-plum-soft: #ece0e3;--color-teal: #2f6b66;--color-teal-soft: #d9e7e3;--color-indigo: #3d4f7a;--color-indigo-soft: #dde2ee;--color-clay: #9c4f5e;--color-clay-soft: #f1dee0;--color-olive: #6b6b2f;--color-olive-soft: #e8e6cf;--font-heading: "Fraunces Variable", Georgia, serif;--font-body: "Inter Variable", system-ui, sans-serif;--font-mono: "DM Mono", ui-monospace, monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-card: 0 1px 2px rgba(43, 34, 23, .06), 0 4px 16px rgba(43, 34, 23, .07);--shadow-pop: 0 2px 6px rgba(43, 34, 23, .12), 0 12px 40px rgba(43, 34, 23, .16);--speed-fast: .12s;--speed: .18s}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-heading);font-weight:560;line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}h1{font-size:clamp(2rem,5vw,3.2rem)}h2{font-size:clamp(1.4rem,3vw,2rem)}h3{font-size:1.15rem}p{margin:0 0 1em}a{color:var(--color-accent)}.mono{font-family:var(--font-mono);font-size:.82rem;letter-spacing:.02em}.container{max-width:1080px;margin:0 auto;padding-inline:20px}.page{padding-block:32px 80px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--radius-md);border:1.5px solid var(--color-ink);background:var(--color-paper);color:var(--color-ink);font:500 .95rem var(--font-body);cursor:pointer;text-decoration:none;transition:transform var(--speed-fast) ease,background var(--speed-fast) ease,box-shadow var(--speed-fast) ease}.btn:hover{background:var(--color-paper-raised);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}.btn-primary:hover{background:#3d3122}.btn-accent{background:var(--color-accent);border-color:var(--color-accent-ink);color:#fdf8ef}.btn-accent:hover{background:var(--color-accent-ink)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--color-accent-soft)}.card{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:20px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.label{font:500 .8rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--color-sub)}.input,textarea.input,select.input{padding:10px 14px;border-radius:var(--radius-md);border:1.5px solid var(--color-rule);background:var(--color-paper-raised);color:var(--color-ink);font:400 1rem var(--font-body);transition:border-color var(--speed-fast) ease}.input:focus{outline:none;border-color:var(--color-accent)}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1.5px solid var(--color-rule);background:var(--color-paper);font:500 .85rem var(--font-body);cursor:pointer;transition:all var(--speed-fast) ease}.chip:hover{border-color:var(--color-faint)}.chip.selected{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper)}.error-text{color:var(--color-error);font-size:.9rem}.muted{color:var(--color-sub)}.faint{color:var(--color-faint)}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fade-up var(--speed) ease both}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.45}}.pulse{animation:pulse-soft 1.6s ease-in-out infinite}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-content{flex:1 0 auto}.app-nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--color-bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-rule)}.app-nav-inner{display:flex;align-items:center;justify-content:space-between;height:60px}.brand{display:inline-flex;align-items:center;gap:10px;font:560 1.1rem var(--font-heading);color:var(--color-ink);text-decoration:none}.brand-logo{width:36px;height:36px;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-rule) 70%,transparent);object-fit:cover;box-shadow:0 2px 8px color-mix(in srgb,var(--color-ink) 10%,transparent)}.app-nav-links{display:flex;align-items:center;gap:20px}.app-nav-links a{display:inline-flex;align-items:center;gap:6px;color:var(--color-sub);text-decoration:none;font-size:.95rem;transition:color var(--speed-fast) ease}.app-nav-links a:hover,.app-nav-links a.active{color:var(--color-ink)}.app-nav-links a.nav-cta{color:var(--color-paper)}.app-nav-links a.app-nav-icon{justify-content:center;width:40px;height:40px;border-radius:999px;margin:-8px 0}.app-nav-links a.app-nav-icon:hover,.app-nav-links a.app-nav-icon.active{background:var(--color-paper-raised)}.app-footer{flex-shrink:0;border-top:1px dashed var(--color-rule);padding:14px 0;margin-top:auto;background:var(--color-paper)}.app-footer-inner{display:flex;position:relative;align-items:center;justify-content:flex-end;gap:16px;color:var(--color-faint)}.app-footer-made{display:inline-flex;align-items:center;gap:5px;position:absolute;left:50%;transform:translate(-50%)}.app-footer-heart{color:var(--color-accent)}.app-footer a{color:var(--color-sub)}.app-footer-legal{display:inline-flex;align-items:center;gap:5px;margin-left:auto}.app-footer-cat-link{display:inline-flex;line-height:0;transition:transform var(--speed-fast) ease}.app-footer-cat-link:hover{transform:scale(1.12)}.app-footer-cat{width:22px;height:22px;image-rendering:pixelated;vertical-align:middle}.install-prompt{position:fixed;right:18px;bottom:18px;z-index:80;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:min(560px,calc(100vw - 28px));padding:12px;background:color-mix(in srgb,var(--color-paper) 94%,white);border:1px solid var(--color-rule);border-radius:var(--radius-lg);box-shadow:0 18px 50px color-mix(in srgb,var(--color-ink) 22%,transparent)}.install-prompt-logo{width:58px;height:58px;border-radius:14px;object-fit:cover;border:1px solid var(--color-rule)}.install-prompt-copy{min-width:0}.install-prompt-title{margin:0 0 2px;font:600 1rem var(--font-heading)}.install-prompt-text{margin:0;color:var(--color-sub);font-size:.9rem}.install-prompt-actions{display:flex;align-items:center;gap:6px}.install-prompt-close{padding-inline:10px}@media(max-width:640px){.app-nav-inner{height:56px}.app-nav-links{gap:14px}.brand-logo{width:32px;height:32px}.install-prompt{left:10px;right:10px;bottom:10px;grid-template-columns:auto minmax(0,1fr)}.install-prompt-logo{width:48px;height:48px}.install-prompt-actions{grid-column:1 / -1;justify-content:stretch}.install-prompt-actions .btn-accent{flex:1;justify-content:center}.app-footer-inner{align-items:flex-start;flex-direction:column}.app-footer-made{position:static;left:auto;transform:none;align-self:center}.app-footer-legal{align-self:flex-end}}.redundant-tab{min-height:70vh;display:flex;align-items:center;justify-content:center}.redundant-tab-card{max-width:420px;text-align:center}.redundant-tab-card .btn{margin-top:18px}.landing-kicker{display:block;text-transform:uppercase;letter-spacing:.14em;color:var(--color-accent);margin-bottom:12px}.landing-hero{padding:72px 0;overflow:hidden}.landing-hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}.landing-hero-copy>*{animation:fade-up var(--speed) ease both}.landing-hero-copy>*:nth-child(2){animation-delay:60ms}.landing-hero-copy>*:nth-child(3){animation-delay:.12s}.landing-hero-copy>*:nth-child(4){animation-delay:.18s}.landing-sub{font-size:1.1rem;max-width:34em}.landing-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.mock-stack{position:relative;perspective:900px;padding-bottom:36px;animation:fade-up var(--speed) ease .2s both}.mock-card{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);padding:24px;transform:rotate(-1.5deg);transition:transform .16s ease,box-shadow .16s ease}.mock-stack:hover .mock-card{transform:rotate(0) translateY(-4px) rotateX(2deg)}.mock-kicker{text-transform:uppercase;letter-spacing:.1em;color:var(--color-faint)}.mock-title{font-family:var(--font-heading);font-weight:560;font-size:1.3rem;line-height:1.2;margin:8px 0 12px}.mock-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.mock-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;border:1px solid var(--color-rule);background:var(--color-paper);font:500 .75rem var(--font-body);color:var(--color-sub)}.mock-tag .pixel-icon{color:var(--color-accent)}.mock-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:14px}.mock-day{text-align:center;font-size:.65rem;color:var(--color-faint)}.mock-cell{height:14px;border-radius:4px;background:var(--color-accent-soft)}.mock-cell.on{background:var(--color-accent)}.mock-macros{color:var(--color-sub)}.mock-list{position:absolute;right:-8px;bottom:0;width:230px;background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:14px 16px;transform:rotate(2deg);transition:transform .16s ease}.mock-stack:hover .mock-list{transform:rotate(3deg) translateY(-3px)}.mock-list-title{text-transform:uppercase;letter-spacing:.1em;color:var(--color-faint)}.mock-list ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:.8rem}.mock-list li{display:flex;align-items:center;gap:6px}.mock-list li .pixel-icon{color:var(--color-green)}.mock-list li.have{text-decoration:line-through;color:var(--color-faint)}.mock-list li.have .pixel-icon{color:var(--color-faint)}.landing-section{padding:56px 0}.landing-section-alt{background:var(--color-paper);border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule)}.landing-section h2{max-width:22em;margin-bottom:32px}.landing-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.landing-step{position:relative}.landing-step-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent-ink);margin-bottom:12px}.landing-step-num{position:absolute;top:0;right:0;font-size:.75rem}.landing-step h3{margin-bottom:4px}.landing-step p{margin:0}.landing-features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.landing-feature{transition:transform var(--speed-fast) ease,box-shadow var(--speed-fast) ease}.landing-feature:hover{transform:translateY(-3px);box-shadow:var(--shadow-pop)}.landing-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-green-soft);color:var(--color-green);margin-bottom:0}.landing-feature-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}.landing-feature h3{margin-bottom:0}.landing-feature p{margin:0}.landing-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.landing-plan{position:relative;display:flex;flex-direction:column;gap:6px}.landing-plan.featured{border-color:var(--color-accent)}.landing-plan-badge{position:absolute;top:-10px;right:14px;display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;background:var(--color-accent);color:#fdf8ef;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.landing-plan-label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-sub)}.landing-plan-price{font-family:var(--font-heading);font-weight:560;font-size:1.6rem}.landing-plan-note{margin:0;font-size:.88rem}.landing-plans-foot{margin:20px 0 0;font-size:.88rem}.landing-band{background:var(--color-accent);color:#fdf8ef;padding:64px 0}.landing-band-inner{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.landing-band h2{color:#fdf8ef;margin-bottom:4px}.landing-band p{color:var(--color-accent-soft);margin-bottom:20px}.landing-band-btn{background:var(--color-paper-raised);border-color:var(--color-paper-raised);color:var(--color-accent-ink)}.landing-band-btn:hover{background:#fff}@media(max-width:860px){.landing-hero{padding:48px 0 56px}.landing-hero-inner{grid-template-columns:1fr;gap:40px}.mock-stack{max-width:420px}.landing-features,.landing-plans{grid-template-columns:1fr}.landing-steps{grid-template-columns:none;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:8px}.landing-steps::-webkit-scrollbar{display:none}.landing-step{flex:0 0 78%;scroll-snap-align:center}.landing-section{padding:44px 0}}@media(prefers-reduced-motion:reduce){.landing-hero-copy>*,.mock-stack{animation:none}.mock-card,.mock-list,.landing-feature{transition:none}}.pricing-header{text-align:center;max-width:560px;margin:0 auto 44px}.pricing-banner{display:flex;align-items:center;gap:10px;max-width:640px;margin:0 auto 28px;padding:12px 16px;border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent-ink);font-size:.92rem}.pricing-banner-close{margin-left:auto;display:inline-flex;padding:4px;border:none;background:transparent;color:inherit;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--speed-fast) ease}.pricing-banner-close:hover{background:#2b221714}.pricing-error{text-align:center;margin:0 0 20px}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}@media(max-width:820px){.pricing-grid{grid-template-columns:none;display:flex;gap:16px;max-width:none;margin:0;padding:16px 0 8px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}.pricing-grid::-webkit-scrollbar{display:none}.plan-card{flex:0 0 82%;scroll-snap-align:center}}.plan-card{position:relative;display:flex;flex-direction:column;padding:28px 24px 24px;transition:transform var(--speed-fast) ease,box-shadow var(--speed-fast) ease}.plan-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-pop)}.plan-card.featured{border:1.5px solid var(--color-accent);background:var(--color-paper-raised)}.plan-badge{position:absolute;top:-13px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:var(--color-accent);color:#fdf8ef;text-transform:uppercase;white-space:nowrap}.plan-name{margin-bottom:2px}.plan-price{font-family:var(--font-heading);font-size:1.85rem;letter-spacing:-.01em;margin:0 0 4px}.plan-tagline{font-size:.88rem;margin-bottom:18px}.plan-features{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-direction:column;gap:10px;flex:1}.plan-features li{display:flex;align-items:flex-start;gap:8px;font-size:.92rem;color:var(--color-sub)}.plan-features .pixel-icon{color:var(--color-green);margin-top:2px}.plan-card .btn{justify-content:center}.plan-demo{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:0;padding:10px 0}.plan-spinner{animation:plan-spin .9s linear infinite}@keyframes plan-spin{to{transform:rotate(360deg)}}.pricing-footnote{text-align:center;margin-top:36px}.pricing-free{display:flex;align-items:center;gap:14px;max-width:640px;margin:0 auto 28px;padding:14px 18px;border:1px dashed var(--color-rule);border-radius:var(--radius-md);background:var(--color-green-soft);color:var(--color-ink)}.pricing-free-tag{flex-shrink:0;padding:4px 10px;border-radius:var(--radius-sm);background:var(--color-green);color:var(--color-paper);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.pricing-free p{margin:0;font-size:.92rem}.spin{animation:auth-spin .9s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-page{display:flex;justify-content:center;padding-top:56px}.auth-card{width:100%;max-width:420px;padding:32px 28px}.auth-brand{display:inline-flex;padding:10px;border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent-ink);margin-bottom:14px}.auth-sub{margin-bottom:22px}.auth-banner{display:flex;align-items:center;gap:8px;background:var(--color-error-soft);color:var(--color-error);border:1px solid var(--color-error);border-radius:var(--radius-md);padding:10px 14px;font-size:.9rem;margin:0 0 18px}.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0 14px;color:var(--color-faint);font-size:.85rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-rule)}.auth-google{width:100%;justify-content:center;gap:10px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--color-bg);border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:4px;margin-bottom:22px}.auth-tabs button{border:none;background:transparent;padding:8px;border-radius:var(--radius-sm);font:500 .9rem var(--font-body);color:var(--color-sub);cursor:pointer;transition:background var(--speed-fast) ease,color var(--speed-fast) ease}.auth-tabs button.active{background:var(--color-paper-raised);color:var(--color-ink);box-shadow:var(--shadow-card)}.auth-password{position:relative;display:flex}.auth-password .input{flex:1;padding-right:44px}.auth-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background:none;cursor:pointer;color:var(--color-faint);padding:6px;border-radius:var(--radius-sm);display:inline-flex;transition:color var(--speed-fast) ease}.auth-eye:hover{color:var(--color-ink)}.auth-hint{font-size:.8rem}.auth-error{display:flex;align-items:center;gap:6px;margin:0 0 14px}.auth-submit{width:100%;justify-content:center;margin-top:4px}.auth-providers{display:flex;gap:8px;margin-bottom:14px}.auth-provider{flex:1;justify-content:center;gap:7px;padding-inline:10px;font-size:.9rem}.account-email{margin-top:-8px}.account-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;align-items:start;margin-top:24px}@media(max-width:780px){.account-grid{grid-template-columns:1fr}}.account-section-sub{font-size:.92rem;margin-bottom:20px}.account-side{display:flex;flex-direction:column;gap:20px}.account-steppers{display:flex;gap:28px;flex-wrap:wrap}.account-prefs-form .account-steppers{margin-bottom:24px}.account-prefs-form .field{margin-bottom:26px}.account-prefs-form .field:last-of-type{margin-bottom:0}.stepper{display:inline-flex;align-items:center;gap:4px;border:1.5px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-raised);padding:2px;width:fit-content}.stepper button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-ink);transition:background var(--speed-fast) ease}.stepper button:hover:not(:disabled){background:var(--color-accent-soft)}.stepper button:disabled{opacity:.35;cursor:not-allowed}.stepper-value{min-width:2.2em;text-align:center}.chips-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.account-chip button{display:inline-flex;border:none;background:none;color:inherit;cursor:pointer;padding:0;margin-left:2px;opacity:.75;transition:opacity var(--speed-fast) ease}.account-chip button:hover{opacity:1}.chip-input{flex:1 1 150px;min-width:130px;padding:6px 12px;font-size:.85rem;border-radius:999px}.account-diet-free{margin-top:8px}.account-notes{background:var(--color-paper-raised);border:1px dashed var(--color-rule);border-radius:var(--radius-md);padding:12px 14px;font-size:.92rem;white-space:pre-wrap}.save-row{display:flex;align-items:center;gap:14px;margin-top:6px}.saved-note{color:var(--color-green);display:inline-flex;align-items:center;gap:6px;font-size:.9rem}.account-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--color-rule);font-size:.92rem}.account-row:last-child{border-bottom:none}.account-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font:500 .74rem var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.account-badge.on{background:var(--color-green-soft);color:var(--color-green)}.account-badge.off{background:var(--color-error-soft);color:var(--color-error)}.account-quota .account-row{border-bottom:none;padding-bottom:2px}.quota-bar{height:8px;border-radius:999px;background:var(--color-bg);border:1px solid var(--color-rule);overflow:hidden}.quota-bar>div{height:100%;background:var(--color-accent);border-radius:999px;transition:width var(--speed) ease}.account-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:16px}.account-actions .btn{justify-content:center}.account-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius-md);margin:4px 0 8px;font-size:.95rem}.account-banner.success{background:var(--color-green-soft);color:var(--color-green);border:1px solid var(--color-green)}.account-banner.cancel{background:var(--color-accent-soft);color:var(--color-accent-ink);border:1px solid var(--color-rule)}.account-banner button{margin-left:auto;border:none;background:none;cursor:pointer;color:inherit;display:inline-flex;padding:4px}.account-logout{color:var(--color-error)}.notif-block{display:flex;flex-direction:column;gap:14px}.notif-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.95rem}.notif-toggle input{width:18px;height:18px;flex-shrink:0;accent-color:var(--color-accent);cursor:pointer}.notif-time input[type=time]{width:fit-content}.notif-times{display:flex;gap:16px;flex-wrap:wrap}.notif-msg{margin:0}.cal{width:100%;min-width:0}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.cal-title{flex:1;text-align:center;font:560 1.15rem var(--font-heading);letter-spacing:-.01em}.cal-nav{width:34px;height:34px;padding:0;border-radius:50%;border:1.5px solid var(--color-rule);background:var(--color-paper);color:var(--color-ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--speed-fast) ease,border-color var(--speed-fast) ease}.cal-nav:hover{background:var(--color-paper-raised);border-color:var(--color-faint)}.cal-chev-left{transform:rotate(90deg)}.cal-chev-right{transform:rotate(-90deg)}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.cal-dows{margin-bottom:4px}.cal-dow{text-align:center;font:500 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--color-faint)}.cal-blank{min-height:1px}.cal-day{min-height:40px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink);font:500 .92rem var(--font-body);font-variant-numeric:tabular-nums;cursor:pointer;transition:background var(--speed-fast) ease,color var(--speed-fast) ease,box-shadow var(--speed-fast) ease}.cal-day:hover:not(:disabled){background:var(--color-paper-raised);box-shadow:inset 0 0 0 1.5px var(--color-rule)}.cal-day:focus-visible{outline:none;box-shadow:inset 0 0 0 1.5px var(--color-accent)}.cal-day.in-range{background:var(--color-accent-soft);color:var(--color-accent-ink)}.cal-day.preview{background:var(--color-accent-soft);opacity:.65}.cal-day.edge,.cal-day.edge:hover:not(:disabled){background:var(--color-ink);color:var(--color-paper);box-shadow:none}.cal-day.today{box-shadow:inset 0 0 0 1.5px var(--color-accent)}.cal-day:disabled{color:var(--color-faint);opacity:.45;cursor:not-allowed}.cal-cell{min-height:88px;min-width:0;background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:4px;display:flex;flex-direction:column;gap:3px}.cal-view-week .cal-cell{min-height:118px}.cal-daynum{align-self:flex-start;width:20px;height:20px;line-height:20px;text-align:center;border-radius:999px;font:500 .78rem var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-sub)}.cal-cell.today .cal-daynum{box-shadow:0 0 0 1.5px var(--color-accent);color:var(--color-accent-ink);font-weight:600}.cal-cell-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}@media(max-width:600px){.cal-day{min-height:34px;font-size:.85rem}.cal-cell{min-height:64px;padding:3px 2px}.cal-view-week .cal-cell{min-height:88px}.cal-daynum{width:18px;height:18px;line-height:18px;font-size:.72rem}}.dash-page{width:100%}.dash-head{display:flex;align-items:flex-end;justify-content:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px}.dash-cta{white-space:nowrap}@keyframes dash-spin{to{transform:rotate(360deg)}}.dash-spin{animation:dash-spin 1.1s linear infinite}.dash-cal{padding:20px;margin-bottom:28px}.dash-cal-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:12px}.dash-cal-nav{display:flex;align-items:center;gap:8px;min-width:0}.dash-cal-arrow{flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--color-rule);background:var(--color-paper);color:var(--color-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--speed-fast) ease,border-color var(--speed-fast) ease}.dash-cal-arrow:hover{background:var(--color-paper-raised);border-color:var(--color-faint)}.dash-cal-arrow:focus-visible{outline:none;box-shadow:0 0 0 1.5px var(--color-accent)}.dash-cal-chev-left{transform:rotate(90deg)}.dash-cal-chev-right{transform:rotate(-90deg)}.dash-cal-title{flex:1;text-align:center;font:500 .85rem var(--font-body);color:var(--color-ink);min-width:0;white-space:nowrap}.dash-view-switch{display:inline-flex;padding:3px;border:1px solid var(--color-rule);border-radius:999px;background:var(--color-paper-raised)}.dash-view-switch button{border:none;border-radius:999px;padding:6px 12px;background:transparent;color:var(--color-sub);font:600 .72rem var(--font-mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.dash-view-switch button.active{background:var(--color-ink);color:var(--color-paper)}.dash-view-switch button:focus-visible{outline:none;box-shadow:0 0 0 1.5px var(--color-accent)}.dash-cal-error{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px}.dash-cal-retry{padding:4px 10px;font-size:.82rem}.dash-cal-empty{margin:12px 0 0;font-size:.85rem;text-align:center}.dash-menu-grid{display:grid;gap:1px;background:var(--color-rule);border:1px solid var(--color-rule);border-radius:10px;overflow:hidden}.dash-menu-day,.dash-menu-cell{background:var(--color-paper)}.dash-menu-corner,.dash-menu-head{background:var(--color-paper-raised)}.dash-menu-head{display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 4px;font:600 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--color-sub)}.dash-menu-day{display:flex;align-items:center;padding:8px 10px;font-size:.78rem;color:var(--color-ink);white-space:nowrap}.dash-menu-day.today{color:var(--color-accent-ink);font-weight:700}.dash-menu-cell{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:6px;min-height:46px;min-width:0}.dash-menu-empty{margin:auto;font-size:.78rem}.dash-menu-pill-row{display:flex;align-items:stretch;gap:4px;min-width:0}.dash-menu-pill{display:flex;flex-direction:column;align-items:flex-start;gap:1px;flex:1;min-width:0;padding:4px 6px;border:1.5px solid currentColor;border-radius:7px;text-align:left;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer;transition:filter var(--speed-fast) ease,transform var(--speed-fast) ease}.dash-menu-cell.drag-over{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1.5px var(--color-accent)}.dash-drag-ghost{position:fixed;z-index:60;transform:translate(-50%,-50%) rotate(-2deg);display:flex;flex-direction:column;align-items:flex-start;gap:1px;max-width:160px;padding:4px 6px;border:1.5px solid currentColor;border-radius:7px;box-shadow:var(--shadow-pop);opacity:.96;pointer-events:none}.dash-menu-pill.prepared{border-style:solid}.dash-menu-pill.unprepared{border-style:dotted;opacity:.86}.dash-menu-pill:hover{filter:brightness(.94);transform:translateY(-1px)}.dash-menu-pill:focus-visible,.dash-prep-toggle:focus-visible{outline:none;box-shadow:0 0 0 1.5px var(--color-accent)}.dash-menu-pill-num{font:650 .62rem var(--font-mono);letter-spacing:.02em}.dash-menu-pill-title{width:100%;font:500 .7rem var(--font-body);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-prep-toggle{flex:0 0 26px;width:26px;border:1.5px solid currentColor;border-radius:7px;background:var(--color-paper);color:var(--color-faint);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--speed-fast) ease,color var(--speed-fast) ease,box-shadow var(--speed-fast) ease}.dash-prep-toggle.prepared{border-style:solid;color:var(--color-green);background:var(--color-green-soft)}.dash-prep-toggle.unprepared{border-style:dotted}.dash-prep-toggle:hover{color:var(--color-ink);background:var(--color-paper-raised)}.dash-menu-more{font-size:.65rem;text-align:center;color:var(--color-sub)}.dash-skel{display:block;height:13px;width:80%;border-radius:6px;background:var(--color-rule);opacity:.4;animation:pulse-soft 1.6s ease-in-out infinite}.dash-recent-title{margin-bottom:12px}.dash-rail{display:grid;grid-template-columns:1fr;gap:12px}.dash-more{margin-top:12px}.dash-card{display:flex;flex-direction:column;gap:6px;padding:16px;cursor:pointer;transition:transform var(--speed-fast) ease,box-shadow var(--speed-fast) ease,border-color var(--speed-fast) ease}.dash-card:hover,.dash-card:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-pop);outline:none}.dash-card:focus-visible{border-color:var(--color-accent)}.dash-card-skel{cursor:default;gap:10px}.dash-card-skel:hover{transform:none;box-shadow:var(--shadow-card)}.dash-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.dash-card-title{margin:4px 0 0;font-size:1.05rem}.dash-card-meta{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0;font-size:.85rem}.dash-status{font:600 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.07em;padding:3px 10px;border-radius:999px}.dash-status.busy{background:var(--color-paper-raised);border:1px solid var(--color-rule);color:var(--color-sub);animation:pulse-soft 1.6s ease-in-out infinite}.dash-status.choose{background:var(--color-accent-soft);color:var(--color-accent-ink)}.dash-status.ready{background:var(--color-green-soft);color:var(--color-green)}.dash-status.error{background:var(--color-error-soft);color:var(--color-error)}.dash-del{width:30px;height:30px;border-radius:50%;border:none;background:transparent;color:var(--color-faint);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:all var(--speed-fast) ease}.dash-card:hover .dash-del,.dash-card:focus-within .dash-del{opacity:1}.dash-del:hover{background:var(--color-error-soft);color:var(--color-error)}.dash-empty{max-width:520px;margin:4vh auto 0;text-align:center;padding:36px 28px;display:flex;flex-direction:column;align-items:center;gap:10px}.dash-empty p{margin:0}.dash-empty-icon{width:56px;height:56px;border-radius:50%;background:var(--color-accent-soft);color:var(--color-accent);display:flex;align-items:center;justify-content:center}.dash-backdrop{position:fixed;inset:0;background:#2b221780;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:100;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:48px 16px;animation:fade-up var(--speed-fast) ease both}.dash-modal{position:relative;width:100%;max-width:620px;margin:auto 0;padding:28px;box-shadow:var(--shadow-pop)}.dash-modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:none;background:var(--color-paper-raised);color:var(--color-sub);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--speed-fast) ease}.dash-modal-close:hover{background:var(--color-ink);color:var(--color-paper)}.dash-modal-context{margin:0 0 12px;padding-right:44px}.dash-modal-title{padding-right:44px;margin-bottom:.35em}.dash-modal-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:36px 0;text-align:center}.dash-modal-state.muted{flex-direction:row;justify-content:center}.dash-modal-meta{display:flex;align-items:center;gap:6px;font-size:.8rem;margin-bottom:12px}.dash-macros{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:10px 12px}.dash-macros>div{display:flex;flex-direction:column;align-items:center;gap:2px}.dash-macro-lbl{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-faint)}.dash-modal-label{margin:18px 0 8px}.dash-modal-list{margin:0;padding-left:20px;font-size:.92rem;line-height:1.65}.dash-modal-list li{margin-bottom:4px}.dash-modal-actions{display:grid;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--color-rule)}.dash-prep-action{justify-self:flex-start}.dash-prep-action.prepared{border-color:var(--color-green);color:var(--color-green);background:var(--color-green-soft)}.dash-prep-action.unprepared{border-style:dotted}.dash-move-form{display:grid;grid-template-columns:minmax(140px,1fr) auto;gap:8px;align-items:end}.dash-move-form .label{grid-column:1 / -1}.dash-modal-footer{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--color-rule)}.dash-confirm-backdrop{position:fixed;inset:0;background:#2b221780;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.dash-confirm{width:100%;max-width:420px;padding:24px;box-shadow:var(--shadow-pop)}.dash-confirm h3{margin:0 0 6px}.dash-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.dash-confirm-del{background:var(--color-error);border-color:var(--color-error);color:var(--color-paper)}.dash-confirm-del:hover:not(:disabled){background:#862626;border-color:#862626}@media(max-width:600px){.dash-head{align-items:center}.dash-cta{flex:1;justify-content:center}.dash-cal{padding:12px}.dash-cal-toolbar{justify-content:stretch}.dash-view-switch{width:100%}.dash-view-switch button{flex:1}.dash-menu-head{font-size:.58rem;padding:6px 2px;gap:3px}.dash-menu-day{padding:6px 5px;font-size:.7rem}.dash-menu-cell{padding:4px;gap:3px;min-height:40px}.dash-menu-pill{padding:3px 4px}.dash-menu-pill-num{font-size:.56rem}.dash-menu-pill-title{font-size:.62rem}.dash-prep-toggle{flex-basis:18px;width:18px}.dash-move-form{grid-template-columns:1fr}}@media(hover:none){.dash-del{opacity:1}}.wiz{max-width:620px;margin:0 auto}.wiz-dots{display:flex;justify-content:center;gap:12px;margin-bottom:28px}.wiz-dot{width:11px;height:11px;padding:0;border-radius:999px;border:1.5px solid var(--color-rule);background:var(--color-paper);cursor:default;transition:background var(--speed-fast) ease,border-color var(--speed-fast) ease,transform var(--speed-fast) ease}.wiz-dot.done{background:var(--color-accent);border-color:var(--color-accent);cursor:pointer}.wiz-dot.done:hover{transform:scale(1.2)}.wiz-dot.current{background:var(--color-ink);border-color:var(--color-ink);transform:scale(1.3)}.wiz-step h2{margin-bottom:.2em}.wiz-sub{margin-bottom:20px}.wiz-card{padding:24px}.wiz-card .field:last-child{margin-bottom:0}.wiz-stepper{display:flex;align-items:center;gap:16px}.wiz-stepper-btn{width:44px;height:44px;padding:0;justify-content:center;border-radius:999px}.wiz-stepper-value{min-width:2.2ch;text-align:center;font:600 1.6rem var(--font-heading);font-variant-numeric:tabular-nums}.wiz-presets{margin-bottom:14px}.wiz-cal-caption{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:.92rem}.wiz-range-notice{display:flex;align-items:center;gap:6px;margin:6px 0 0}.wiz-chips{display:flex;flex-wrap:wrap;gap:8px}.wiz-diet-dot{width:7px;height:7px;border-radius:999px;flex-shrink:0}.wiz-inline-hint{margin:4px 0 0;font-size:.85rem}.wiz-meal-toggle{text-transform:lowercase}.wiz-textarea{resize:vertical;min-height:120px}.wiz-tools{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px}.wiz-hint{font-size:.85rem}.wiz-fridge-row{display:flex;gap:8px}.wiz-fridge-input{flex:1;min-width:0}.wiz-inventory{margin-top:16px}.wiz-item{cursor:default;animation:fade-up var(--speed) ease both}.wiz-item-remove{display:inline-flex;align-items:center;padding:0;margin-left:2px;border:none;background:none;color:var(--color-sub);cursor:pointer;transition:color var(--speed-fast) ease}.wiz-item-remove:hover{color:var(--color-error)}.wiz-empty{margin:16px 0 0;font-size:.9rem}.wiz-recap{margin:0;display:flex;flex-direction:column;gap:14px}.wiz-recap-row{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:baseline}.wiz-recap-row dd{margin:0}.wiz-recap-prose{white-space:pre-wrap}.wiz-recap-chips .chip{cursor:default}.wiz-selection-hint{display:flex;align-items:center;gap:8px;margin:18px 0 0;padding-top:14px;border-top:1px dashed var(--color-rule);font-size:.92rem}.wiz-selection-hint+.error-text{margin:12px 0 0}.wiz-nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:12px}.wiz-submitting{display:inline-flex;align-items:center;gap:8px}.audio-rec{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.audio-rec-btn.recording{border-color:var(--color-error);color:var(--color-error);background:var(--color-error-soft)}.rec-dot{width:10px;height:10px;border-radius:999px;background:var(--color-error);animation:rec-pulse 1.2s ease-in-out infinite}@keyframes rec-pulse{0%,to{opacity:1;box-shadow:0 0 #9b2c2c59}50%{opacity:.55;box-shadow:0 0 0 6px #9b2c2c00}}.audio-rec-status,.photo-inv-status{display:inline-flex;align-items:center;gap:8px;font-size:.92rem}.audio-rec-error,.photo-inv-error{font-size:.85rem}.photo-inv{display:flex;align-items:center;flex-wrap:wrap;gap:8px}@media(max-width:560px){.wiz-page{padding-top:18px;padding-bottom:100px}.wiz-dots{gap:10px;margin-bottom:16px}.wiz-sub{margin-bottom:12px}.wiz-card{padding:14px 22px}.wiz-card .field{margin-bottom:12px}.wiz-stepper{gap:12px}.wiz-stepper-btn{width:40px;height:40px}.wiz-cal-caption{margin-top:8px;font-size:.86rem}.wiz-tools{gap:8px}.wiz-recap-row{grid-template-columns:1fr;gap:4px}.wiz-selection-hint{align-items:flex-start;margin-top:14px;padding-top:12px}.wiz-nav{position:fixed;left:8px;right:8px;bottom:8px;gap:8px;margin:0;padding:8px;border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-pop);z-index:60}.wiz-nav:has(>span:empty){left:auto;width:fit-content}.wiz-nav>span{display:none}.wiz-nav .btn{flex:1 1 0;justify-content:center;padding:11px 12px}.wiz-nav:has(>span:empty) .btn{flex:0 0 auto}}.wiz-gate-backdrop{position:fixed;inset:0;background:#2b221780;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.wiz-gate{width:100%;max-width:440px;padding:28px 24px;text-align:center;box-shadow:var(--shadow-pop)}.wiz-gate-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:14px;border-radius:50%;background:var(--color-accent-soft);color:var(--color-accent-ink)}.wiz-gate h3{margin:0 0 8px}.wiz-gate p{margin:0 0 20px}.wiz-gate-actions{display:flex;justify-content:center;gap:10px}.mv-page{padding-bottom:32px}.mv-back{display:inline-flex;align-items:center;gap:6px;color:var(--color-sub);text-decoration:none;font-size:.9rem;margin-bottom:18px;transition:color var(--speed-fast) ease}.mv-back:hover{color:var(--color-ink)}.mv-center{display:flex;justify-content:center}@keyframes mv-spin{to{transform:rotate(360deg)}}.mv-spin{animation:mv-spin 1.1s linear infinite}@keyframes mv-fade{0%{opacity:0}to{opacity:1}}.mv-fade{animation:mv-fade var(--speed) ease both}.mv-console{max-width:640px;margin:4vh auto 0;display:flex;flex-direction:column;gap:16px}.mv-console-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.mv-console-pct{color:var(--color-accent-ink);font-weight:500}.mv-console-sticky{position:sticky;top:0;z-index:5;display:flex;flex-direction:column;gap:10px;padding:10px 0;margin:-10px 0 0;background:var(--color-paper)}.mv-pbar{height:4px;border-radius:999px;background:var(--color-rule);overflow:hidden}.mv-pbar-fill{position:relative;height:100%;min-width:4px;border-radius:999px;background:var(--color-accent);overflow:hidden;transition:width .4s ease-out}@keyframes mv-shimmer{to{transform:translate(220%)}}.mv-pbar-shimmer{position:absolute;top:0;bottom:0;left:0;width:45%;background:linear-gradient(90deg,transparent,rgba(253,248,239,.6),transparent);transform:translate(-120%);animation:mv-shimmer 1.8s ease-in-out infinite}.mv-console-sub{margin:0;font-size:.9rem}.mv-console-label{margin:0 0 8px}.mv-brief{padding:16px 18px}.mv-brief-text{margin:0;font-family:var(--font-heading);font-size:1.12rem;line-height:1.5;letter-spacing:-.005em}.mv-skel-lines{display:flex;flex-direction:column;gap:9px;padding:3px 0}@keyframes mv-skel{0%{background-position:150% 0}to{background-position:-150% 0}}.mv-skel{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--color-accent-soft) 25%,var(--color-paper-raised) 45%,var(--color-accent-soft) 65%);background-size:200% 100%;animation:mv-skel 1.4s linear infinite}.mv-todos{display:flex;flex-direction:column;gap:4px}.mv-todos-skel{padding:10px 12px}.mv-todo{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);border-left:3px solid transparent;font-size:.92rem;transition:background var(--speed) ease,border-color var(--speed) ease,color var(--speed) ease}.mv-todo-state{display:inline-flex;flex-shrink:0}.mv-todo.pending{color:var(--color-faint)}.mv-todo.pending .mv-todo-state{color:var(--color-rule)}.mv-todo.active{background:var(--color-paper);border-left-color:var(--color-accent);color:var(--color-ink);font-weight:500}.mv-todo.active .mv-todo-state{color:var(--color-accent)}.mv-todo.done{color:var(--color-faint)}.mv-todo.done .mv-todo-state{color:var(--color-green)}.mv-todo-label{display:inline-flex;align-items:baseline;min-width:0}.mv-todo-glyph{margin-left:auto;color:var(--color-accent)}.mv-dots{display:inline-flex;gap:3px;margin-left:7px;align-self:center}@keyframes mv-dot{0%,60%,to{opacity:.25}30%{opacity:1}}.mv-dots i{width:3px;height:3px;border-radius:50%;background:currentColor;animation:mv-dot 1.2s ease-in-out infinite}.mv-dots i:nth-child(2){animation-delay:.15s}.mv-dots i:nth-child(3){animation-delay:.3s}.mv-events-list{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px dashed var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper)}.mv-event{display:flex;align-items:center;gap:8px;font-size:.84rem;line-height:1.35;color:var(--color-sub)}.mv-event .pixel-icon{color:var(--color-accent)}.mv-mail-note{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent-ink);font-size:.88rem}.mv-error-card{max-width:460px;margin-top:8vh;text-align:center;padding:32px 28px}.mv-error-icon{width:56px;height:56px;border-radius:50%;background:var(--color-error-soft);color:var(--color-error);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.mv-error-detail{font-size:.75rem;word-break:break-word;margin-top:-4px}.mv-error-actions{display:flex;justify-content:center;gap:10px;margin-top:18px;flex-wrap:wrap}.mv-head{margin-bottom:18px}.mv-head p{margin:0}.mv-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.mv-empty-filter{padding:32px 0;text-align:center}.mv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.mv-card{position:relative;display:flex;flex-direction:column;cursor:pointer;transition:transform var(--speed-fast) ease,box-shadow var(--speed-fast) ease,border-color var(--speed-fast) ease,background var(--speed-fast) ease}.mv-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-pop)}.mv-card.mv-selected{border-color:var(--color-accent);background:var(--color-paper-raised);box-shadow:0 0 0 2px #a14a2829,var(--shadow-card)}.mv-check{position:absolute;top:14px;right:14px;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--color-rule);background:var(--color-paper-raised);color:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--speed-fast) ease}.mv-check:hover{border-color:var(--color-accent);color:var(--color-faint)}.mv-check.on{background:var(--color-accent);border-color:var(--color-accent-ink);color:#fdf8ef}.mv-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.mv-card .mv-badges{padding-right:34px}.mv-badges:empty{display:none}.mv-tag{font:500 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.07em;padding:3px 9px;border-radius:999px;border:1px solid var(--color-rule);color:var(--color-sub)}.mv-adj-chip{display:inline-flex;align-items:center;gap:4px;font:600 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.07em;padding:3px 9px;border-radius:999px;background:var(--color-accent);color:#fdf8ef}.mv-card-title{margin-bottom:4px}.mv-desc{font-size:.88rem;margin-bottom:12px}.mv-meta{display:flex;align-items:center;gap:6px;font-size:.8rem;margin-bottom:12px}.mv-time-chip{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;font:600 .74rem var(--font-mono);padding:3px 9px;border-radius:999px;background:var(--color-paper-raised);border:1px solid var(--color-rule);color:var(--color-ink)}.mv-macros{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:10px 12px;margin-top:auto}.mv-macros>div{display:flex;flex-direction:column;align-items:center;gap:2px}.mv-macro-lbl{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-faint)}.mv-adjust{margin-top:12px;cursor:default}.mv-adjust-toggle{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:4px 0;font:500 .82rem var(--font-body);color:var(--color-sub);cursor:pointer;border-radius:4px;transition:color var(--speed-fast) ease}.mv-adjust-toggle:hover{color:var(--color-accent-ink)}.mv-adjust-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.mv-adjust-chip{display:inline-flex;align-items:center;gap:4px;font:500 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent-ink)}.mv-adjust-input{display:block;width:100%;margin-top:8px;resize:vertical;min-height:56px;font-size:.88rem;cursor:text}.mv-bar{position:sticky;bottom:14px;margin:24px auto 0;background:var(--color-ink);color:var(--color-paper);border-radius:999px;padding:10px 12px 10px 18px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow-pop);z-index:60;width:fit-content;max-width:100%;flex-wrap:wrap}.mv-bar-count{font-size:.9rem;white-space:nowrap}.mv-bar-hint{color:var(--color-faint);font-size:.8rem}.mv-bar .btn-accent{border-radius:999px;padding:8px 14px}.mv-bar .error-text{color:var(--color-error-soft)}.mv-head-notice{display:inline-flex;align-items:center;gap:6px;margin-top:8px}.mv-backdrop{position:fixed;inset:0;background:#2b221780;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:100;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:48px 16px;animation:fade-up var(--speed-fast) ease both}.mv-modal{position:relative;width:100%;max-width:620px;margin:auto 0;padding:28px;box-shadow:var(--shadow-pop)}.mv-modal-title{padding-right:44px}.mv-modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:none;background:var(--color-paper-raised);color:var(--color-sub);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--speed-fast) ease}.mv-modal-close:hover{background:var(--color-ink);color:var(--color-paper)}.mv-modal .mv-macros{margin-top:0}.mv-section-label{margin:18px 0 8px}.mv-modal-list{margin:0;padding-left:20px;font-size:.92rem;line-height:1.65}.mv-modal-list li{margin-bottom:4px}.mv-modal-footer{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--color-rule)}.mv-modal-footer-close{padding:10px 12px;flex-shrink:0}.mv-confirm-modal{max-width:420px}.mv-final-head{display:flex;align-items:center;gap:16px;margin-bottom:30px}.mv-final-copy{min-width:0;flex:1}.mv-final-share{margin-left:auto;flex-shrink:0}.mv-final-head h2{margin-bottom:2px}.mv-final-sub{margin:0}.mv-final-badge{width:52px;height:52px;border-radius:50%;background:var(--color-green-soft);color:var(--color-green);display:flex;align-items:center;justify-content:center;flex-shrink:0}.mv-section{margin-bottom:36px}.mv-section-title{margin-bottom:12px}.mv-count{font-size:.9rem;font-family:var(--font-body)}.mv-plan-card{overflow-x:hidden}.mv-plan{display:grid;gap:6px}.mv-plan-head{display:flex;align-items:center;justify-content:center;gap:4px;text-align:center;align-self:end;padding-bottom:2px}.mv-plan-day{color:var(--color-sub);align-self:center;padding-right:10px;white-space:nowrap}.mv-plan-cell{background:var(--color-paper-raised);border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:8px;min-height:48px;min-width:0;display:flex;align-items:center}.mv-plan-chip{width:100%;font:500 .8rem var(--font-body);border:1.5px solid currentColor;border-radius:7px;padding:4px 10px;cursor:pointer;text-align:left;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:filter var(--speed-fast) ease,transform var(--speed-fast) ease}.mv-plan-chip:hover{filter:brightness(.94);transform:translateY(-1px)}.mv-plan-chip:focus-visible{outline:none;box-shadow:0 0 0 1.5px var(--color-accent)}.mv-final-recipes{display:flex;flex-direction:column;gap:12px}.mv-acc-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:none;border:none;padding:0;cursor:pointer;text-align:left;font:inherit;color:inherit}.mv-acc-headline .mv-meta{margin-bottom:0}.mv-acc-headline .mv-card-title{margin-bottom:6px}.mv-acc-chevron{color:var(--color-sub);transition:transform var(--speed) ease}.mv-acc-chevron.rot{transform:rotate(180deg)}.mv-acc-body{margin-top:16px;animation:fade-up var(--speed) ease both}.mv-acc-body.closed{display:none}.mv-acc-body .mv-macros{margin-top:0}.mv-scale-chip{display:inline-flex;align-items:center;align-self:flex-start;margin-top:6px;padding:2px 8px;border-radius:999px;background:var(--color-green-soft);color:var(--color-green);font-size:.75rem;white-space:nowrap}.mv-scale{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;padding:14px;margin-bottom:16px;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-paper-2, var(--color-paper))}.mv-scale-field{display:flex;flex-direction:column;gap:6px}.mv-scale-label{margin:0}.mv-scale-stepper{display:flex;align-items:center;gap:10px}.mv-scale-btn{width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center}.mv-scale-value{min-width:2ch;text-align:center;font-size:1.1rem;font-weight:600}.mv-scale-times{align-self:center;margin-top:18px;color:var(--color-sub);font-weight:600}.mv-scale-hint{flex-basis:100%;margin:2px 0 0;font-size:.8rem}.mv-scale-base{font-weight:400;font-size:.8rem}.mv-shop-titlebar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.mv-shop-titlebar .mv-section-title{margin-bottom:0}.mv-final-actions{display:flex;gap:8px;flex-wrap:wrap}.mv-shop-error{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px}.mv-shop-group{margin-bottom:18px}.mv-shop-group:last-of-type{margin-bottom:0}.mv-shop-cat{font:600 .75rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--color-sub);margin:0 0 6px}.mv-shop-list{list-style:none;margin:0;padding:0}.mv-shop-row{display:flex;align-items:center;gap:10px;padding:7px 4px;border-bottom:1px dashed var(--color-rule);font-size:.92rem;transition:opacity var(--speed-fast) ease}.mv-shop-row:last-child{border-bottom:none}.mv-shop-row.removing{opacity:.45}.mv-shop-toggle{position:relative;flex:1;min-width:0;display:flex;align-items:center;gap:10px;cursor:pointer}.mv-shop-input{position:absolute;opacity:0;width:1px;height:1px}.mv-shop-box{width:20px;height:20px;border-radius:4px;border:1.5px solid var(--color-rule);background:var(--color-paper-raised);color:#fdf8ef;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--speed-fast) ease}.mv-shop-toggle:hover .mv-shop-box{border-color:var(--color-green)}.mv-shop-input:focus-visible+.mv-shop-box{outline:2px solid var(--color-accent);outline-offset:2px}.mv-shop-row.done .mv-shop-box{background:var(--color-green);border-color:var(--color-green)}.mv-shop-row.done .mv-shop-name{text-decoration:line-through;color:var(--color-faint)}.mv-shop-name{transition:color var(--speed-fast) ease}.mv-shop-note{font-size:.78rem;font-style:italic;white-space:nowrap;flex:1}.mv-shop-qty{color:var(--color-sub);white-space:nowrap}.mv-shop-del{background:none;border:none;padding:4px;border-radius:4px;color:var(--color-faint);display:inline-flex;cursor:pointer;transition:color var(--speed-fast) ease,background var(--speed-fast) ease}.mv-shop-del:hover{color:var(--color-error);background:var(--color-error-soft)}.mv-shop-del:disabled{cursor:default}.mv-shop-add{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--color-rule)}.mv-shop-add .input{padding:8px 12px;font-size:.9rem}.mv-shop-add-name{flex:2 1 180px;min-width:0}.mv-shop-add-qty{flex:1 1 90px;min-width:0}.mv-shop-add-cat{flex:1 1 120px;min-width:0}.mv-shop-add .btn{padding:8px 14px;font-size:.9rem}@media print{body{background:#fff}.app-nav,.app-footer,.mv-back,.mv-bar,.mv-final-actions,.mv-acc-chevron,.mv-shop-box,.mv-shop-del,.mv-shop-add,.mv-shop-error{display:none!important}.page{padding:0}.card{box-shadow:none;break-inside:avoid}.mv-acc-body.closed{display:block!important}.mv-acc-head,.mv-plan-chip{cursor:default}}@media(max-width:600px){.mv-grid{grid-template-columns:1fr}.mv-card{padding:16px}.mv-bar{bottom:8px;width:100%;border-radius:var(--radius);padding:10px;justify-content:space-between;gap:8px}.mv-bar-count{font-size:.84rem}.mv-bar-hint{display:block;margin-top:1px}.mv-bar .btn-accent{padding:8px 11px;font-size:.86rem}.mv-console{margin-top:1vh}.mv-busy-page{padding-inline:16px}.mv-final-head{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:20px}.mv-final-badge{width:38px;height:38px}.mv-final-share{width:100%;justify-content:center;margin-left:0}.mv-section{margin-bottom:24px}.mv-plan{gap:4px}.mv-plan-cell{min-height:38px;padding:5px}.mv-plan-chip{padding:3px 7px;font-size:.74rem}.mv-final-recipe{padding:16px}.mv-acc-body{margin-top:12px}.mv-shop-titlebar{align-items:stretch}.mv-final-actions{width:100%}.mv-final-actions .btn{flex:1 1 140px;justify-content:center;padding:8px 10px;font-size:.86rem}.mv-shop-row{padding:6px 0;gap:7px}}.ps-page{max-width:920px}.ps-hero{margin:18px 0 28px}.ps-kicker{display:inline-block;color:var(--color-accent-ink);margin-bottom:6px;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.ps-hero h1{margin-bottom:6px}.ps-section{margin-bottom:34px}.ps-section h2{margin-bottom:12px}.ps-empty{max-width:480px;margin:8vh auto 0;text-align:center}.ps-empty .pixel-icon{color:var(--color-error);margin-bottom:10px}.ps-plan{display:grid;gap:6px;overflow-x:auto;min-width:0}.ps-plan-head{text-align:center;align-self:end}.ps-plan-day{color:var(--color-sub);align-self:center;white-space:nowrap;padding-right:8px}.ps-plan-cell{min-width:120px;min-height:42px;padding:8px 10px;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper-raised);font-size:.86rem;line-height:1.3}.ps-recipes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.ps-recipe h3{margin-bottom:6px}.ps-recipe h4{margin:16px 0 6px}.ps-recipe ul,.ps-recipe ol{margin:0;padding-left:20px;line-height:1.55;font-size:.92rem}.ps-meta{margin:8px 0 0;font-size:.82rem}.ps-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.ps-badges:empty{display:none}.ps-badges span{font:600 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.07em;padding:3px 9px;border-radius:999px;border:1px solid var(--color-rule);color:var(--color-sub)}.ps-shop-error{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px}@keyframes ps-spin{to{transform:rotate(360deg)}}.ps-spin{animation:ps-spin 1.1s linear infinite}.ps-shopping{max-width:720px}.ps-shop-group+.ps-shop-group{margin-top:18px}.ps-shop-cat{font:600 .75rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--color-sub);margin:0 0 6px}.ps-shopping ul{list-style:none;margin:0;padding:0}.ps-shopping li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed var(--color-rule)}.ps-shopping li:last-child{border-bottom:none}.ps-shopping label{display:flex;align-items:center;gap:10px;cursor:pointer;min-width:0}.ps-shopping input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-green)}.ps-shopping input[type=checkbox]:disabled{opacity:.5;cursor:default}.ps-shopping li.done label span{color:var(--color-faint);text-decoration:line-through}.ps-shopping-add{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,.45fr) auto;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--color-rule)}.ps-shopping-add .input{width:100%;height:auto}@media(max-width:600px){.ps-hero{margin-top:6px;margin-bottom:20px}.ps-section{margin-bottom:24px}.ps-plan{display:block}.ps-plan>div:first-child,.ps-plan-head{display:none}.ps-plan-day{margin:14px 0 6px;padding:0}.ps-plan-cell{min-width:0;min-height:0;margin-bottom:6px}.ps-recipes{grid-template-columns:1fr}.ps-recipe,.ps-shopping{padding:16px}.ps-shopping-add{grid-template-columns:1fr}}
