.landing{--paper:#f4ecdb;--paper-deep:#ece2cc;--paper-edge:#d9caa8;--ink:#2a2420;--ink-soft:#5b5048;--ink-faint:#8a7f74;--rule:#cdbf9d;--rule-soft:#e2d5b3;--accent:#c25a3b;--accent-soft:#ead2c4;--accent-deep:#7a2e1a;--olive:#7a8a4a;--mustard:#c8923a;--serif:"Instrument Serif","Source Serif 4",Georgia,serif;--sans:"Geist",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--mono:"Geist Mono",ui-monospace,Menlo,monospace;--r-sm:6px;--r-md:10px;--r-lg:16px;--r-xl:24px}.landing,.landing *{box-sizing:border-box}.landing{scroll-behavior:smooth}.landing{color:var(--ink);font-family:var(--sans);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(1100px 560px at 12% -8%,var(--paper-deep),transparent 60%),radial-gradient(900px 480px at 100% 8%,var(--paper-deep),transparent 55%),var(--paper);overflow-x:hidden;margin:0;font-size:16px;line-height:1.5}.landing a{color:inherit;text-decoration:none}.landing button{cursor:pointer;font-family:inherit}.landing ::selection{background:var(--accent);color:#fff7e8}.landing .wrap{max-width:1180px;margin:0 auto;padding:0 32px}.landing .kicker{font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em;color:var(--accent);font-size:11px}.landing .serif{font-family:var(--serif);font-weight:400}.landing .nav{position:sticky;z-index:50;backdrop-filter:saturate(1.2)blur(8px);background:color-mix(in oklch,var(--paper)82%,transparent);border-bottom:1px solid var(--rule);top:0}.landing .nav__inner{display:flex;justify-content:space-between;align-items: center;max-width:1180px;height:68px;margin:0 auto;padding:0 32px}.landing .brand{display:flex;align-items: center;gap:11px}.landing .brand__mark{display:grid;background:var(--paper);border:1px solid var(--rule);border-radius:50%;place-items: center;width:36px;height:36px}.landing .brand__name{font-family:var(--serif);letter-spacing:-.01em;font-size:23px;line-height:1}.landing .nav__links{display:flex;align-items: center;gap:28px}.landing .nav__link{color:var(--ink-soft);transition:color .15s;font-size:14px}.landing .nav__link:hover{color:var(--ink)}.landing .btn{display:inline-flex;border:1px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:100px;align-items: center;gap:8px;padding:10px 18px;transition:transform .15s,box-shadow .15s,background .15s;font-size:14px}.landing .btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px -12px #2a242099}.landing .btn--accent{background:var(--accent);border-color:var(--accent);color:#fff7e8}.landing .btn--ghost{color:var(--ink);border-color:var(--rule);background:0 0}.landing .btn--ghost:hover{border-color:var(--accent);color:var(--accent);box-shadow:none}.landing .btn--lg{padding:14px 26px;font-size:15px}@media (max-width:720px){.landing .nav__links .nav__link{display:none}}.landing .hero{position:relative;padding:74px 0 90px}.landing .hero__grid{display:grid;grid-template-columns:1.04fr .96fr;align-items: center;gap:56px}.landing .hero__eyebrow{display:inline-flex;border:1px solid var(--rule);background:var(--paper);white-space:nowrap;border-radius:100px;align-items: center;gap:9px;margin-bottom:26px;padding:6px 13px}.landing .hero__eyebrow .dot{background:var(--olive);box-shadow:0 0 0 3px color-mix(in oklch,var(--olive)25%,transparent);border-radius:50%;width:7px;height:7px}.landing .hero__eyebrow span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--ink-soft);font-size:10.5px}.landing .hero h1{font-family:var(--serif);letter-spacing:-.02em;margin:0 0 22px;font-size:clamp(48px,6.4vw,88px);font-weight:400;line-height:.96}.landing .hero h1 em{color:var(--accent);font-style:italic}.landing .hero__sub{color:var(--ink-soft);text-wrap:pretty;max-width:30ch;margin:0 0 32px;font-size:19px;line-height:1.55}.landing .landing-auth-ctas{display:flex;flex-wrap:wrap;align-items: center;gap:12px}.landing .landing-auth-ctas--nav{gap:10px}.landing .landing-auth-ctas--cta{justify-content:center;margin:0 auto}.landing .cta .landing-auth-ctas .btn--ghost{color:var(--paper);border-color:color-mix(in oklch,var(--paper)35%,transparent);background:0 0}.landing .cta .landing-auth-ctas .btn--ghost:hover{border-color:color-mix(in oklch,var(--paper)65%,transparent);color:var(--paper)}.landing .preview{position:relative}.landing .preview__card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-xl);box-shadow:0 40px 90px -50px #2a242099,0 2px 0 var(--paper-edge);padding:22px;transform:rotate(1.2deg)}.landing .preview__head{display:flex;border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;margin-bottom:14px;padding-bottom:14px}.landing .preview__title{font-family:var(--serif);font-size:21px}.landing .preview__week{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);font-size:10px}.landing .preview__row{display:grid;grid-template-columns:54px repeat(3,1fr);gap:7px;margin-bottom:7px}.landing .preview__rowlabel{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);text-align:right;align-self: center;padding-right:4px;font-size:9px}.landing .pmeal{border-radius:var(--r-sm);display:flex;border:1px solid var(--rule-soft);flex-direction:column;gap:6px;min-height:62px;padding:8px}.landing .pmeal__art{display:grid;border-radius:4px;place-items: center;height:30px}.landing .pmeal__t{font-family:var(--serif);color:var(--ink);font-size:11px;line-height:1.05}.landing .pmeal--empty{display:grid;color:var(--ink-faint);border-style:dashed;place-items: center}.landing .pmeal--empty span{font-size:18px}.landing .art--tomato{background:#f5d8c8}.landing .art--olive{background:#e5e9c8}.landing .art--mustard{background:#f1e3b5}.landing .art--cream{background:#f0e3c6}.landing .preview__float{position:absolute;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-md);display:flex;align-items: center;gap:10px;padding:11px 14px;box-shadow:0 18px 40px -22px #2a2420b3}.landing .preview__float--drag{bottom:-18px;left:-26px;transform:rotate(-3deg)}.landing .preview__float--cart{top:-20px;right:-18px;transform:rotate(2.5deg)}.landing .preview__float .pf-icon{display:grid;border-radius:7px;flex-shrink:0;place-items: center;width:34px;height:34px}.landing .preview__float .pf-t{font-family:var(--serif);font-size:14px;line-height:1}.landing .preview__float .pf-s{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);margin-top:3px;font-size:8.5px}@media (max-width:920px){.landing .hero__grid{grid-template-columns:1fr;gap:64px}.landing .preview{max-width:460px;margin:0 auto}}.landing section{position:relative}.landing .sec-head{text-align:center;max-width:640px;margin:0 auto 52px}.landing .sec-head .kicker{display:block;margin-bottom:14px}.landing .sec-head h2{font-family:var(--serif);letter-spacing:-.015em;margin:0 0 14px;font-size:clamp(32px,4vw,48px);font-weight:400;line-height:1.02}.landing .sec-head h2 em{color:var(--accent);font-style:italic}.landing .sec-head p{color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:17px}.landing .how{padding:32px 0 96px}.landing .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.landing .step{position:relative;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);padding:30px 26px}.landing .step__num{font-family:var(--serif);color:var(--accent);position:absolute;font-size:17px;font-style:italic;top:20px;right:24px}.landing .step__art{border-radius:var(--r-md);display:grid;place-items: center;width:84px;height:84px;margin-bottom:20px}.landing .step h3{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 9px;font-size:25px;font-weight:400}.landing .step p{color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:15px}.landing .step__line{position:absolute;color:var(--rule);z-index:2;top:62px;right:-22px}@media (max-width:820px){.landing .steps{grid-template-columns:1fr;max-width:440px;margin:0 auto}.landing .step__line{display:none}}.landing .features{display:flex;flex-direction:column;gap:30px;padding:40px 0 60px}.landing .feat{display:grid;grid-template-columns:1.1fr .9fr;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-xl);overflow:hidden;align-items: center;gap:48px;padding:48px}.landing .feat:nth-child(2n){grid-template-columns:.9fr 1.1fr}.landing .feat:nth-child(2n) .feat__copy{order:2}.landing .feat__copy .kicker{display:block;margin-bottom:14px}.landing .feat__copy h3{font-family:var(--serif);letter-spacing:-.015em;margin:0 0 14px;font-size:clamp(28px,3.2vw,40px);font-weight:400;line-height:1.02}.landing .feat__copy p{color:var(--ink-soft);text-wrap:pretty;max-width:42ch;margin:0 0 20px;font-size:16.5px}.landing .feat__list{list-style:none;display:flex;flex-direction:column;gap:10px;margin:0;padding:0}.landing .feat__list li{display:flex;color:var(--ink);align-items: center;gap:11px;font-size:15px}.landing .feat__list .fl-tick{background:var(--accent-soft);color:var(--accent-deep);display:grid;border-radius:50%;flex-shrink:0;place-items: center;width:20px;height:20px}.landing .fviz{border-radius:var(--r-lg);display:flex;justify-content:center;align-items: center;min-height:260px;padding:26px}.landing .fviz--drag{background:linear-gradient(150deg,#f5d8c8,var(--paper)80%)}.landing .fviz--shop{background:linear-gradient(150deg,#e5e9c8,var(--paper)80%);padding:0}.landing .fviz--recipe{background:linear-gradient(150deg,#f1e3b5,var(--paper)80%)}.landing .drag-demo{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%;max-width:280px}.landing .drag-card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-md);display:flex;flex-direction:column;gap:8px;padding:12px}.landing .drag-card.is-ghost{opacity:.6;border-style:dashed}.landing .drag-card__art{display:grid;border-radius:6px;place-items: center;height:46px}.landing .drag-card__t{font-family:var(--serif);font-size:14px;line-height:1.05}.landing .drag-card__m{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);font-size:8.5px}.landing .shop-demo{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);width:100%;max-width:320px;padding:20px;box-shadow:0 30px 60px -40px #2a242080}.landing .shop-demo__h{display:flex;border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;margin-bottom:14px;padding-bottom:12px}.landing .shop-demo__h .t{font-family:var(--serif);font-size:19px}.landing .shop-demo__h .n{font-family:var(--serif);color:var(--olive);font-size:26px}.landing .shop-aisle{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);margin:12px 0 8px;font-size:9px}.landing .shop-li{display:grid;grid-template-columns:16px 1fr auto;border-bottom:1px dashed var(--rule-soft);align-items: center;gap:10px;padding:6px 0}.landing .shop-li__box{border:1px solid var(--rule);display:grid;border-radius:4px;place-items: center;width:15px;height:15px}.landing .shop-li.done .shop-li__box{background:var(--olive);border-color:var(--olive);color:#fff7e8}.landing .shop-li__n{font-family:var(--serif);font-size:14px}.landing .shop-li.done .shop-li__n{text-decoration:line-through;color:var(--ink-faint)}.landing .shop-li__q{font-family:var(--mono);text-transform:uppercase;color:var(--ink-faint);font-size:9px}.landing .recipe-demo{display:flex;flex-direction:column;gap:12px;width:100%;max-width:300px}.landing .recipe-chip{display:flex;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-md);align-items: center;gap:13px;padding:12px}.landing .recipe-chip__art{display:grid;border-radius:7px;flex-shrink:0;place-items: center;width:48px;height:48px}.landing .recipe-chip__t{font-family:var(--serif);font-size:16px;line-height:1.05}.landing .recipe-chip__m{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin-top:3px;font-size:9px}.landing .recipe-chip__badge{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;background:var(--ink);color:var(--paper);border-radius:100px;margin-left:auto;padding:3px 7px;font-size:8px}@media (max-width:820px){.landing .feat,.landing .feat:nth-child(2n){grid-template-columns:1fr;gap:32px;padding:32px}.landing .feat:nth-child(2n) .feat__copy{order:0}.landing .fviz{min-height:auto}}.landing .strip{padding:60px 0 30px}.landing .strip__track{display:flex;overflow-x:auto;scrollbar-width:none;gap:16px;margin:0 -32px;padding:6px 32px 24px}.landing .strip__track::-webkit-scrollbar{display:none}.landing .rcard{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);overflow:hidden;flex:0 0 200px;transition:transform .15s,box-shadow .15s}.landing .rcard:hover{transform:translateY(-3px);box-shadow:0 16px 40px -22px #2a242066}.landing .rcard__art{display:grid;place-items: center;height:120px}.landing .rcard__body{padding:14px 15px 16px}.landing .rcard__t{font-family:var(--serif);margin-bottom:7px;font-size:19px;line-height:1.04}.landing .rcard__m{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);display:flex;gap:10px;font-size:9px}.landing .quote{padding:90px 0}.landing .quote__inner{text-align:center;max-width:780px;margin:0 auto}.landing .quote blockquote{font-family:var(--serif);letter-spacing:-.01em;text-wrap:balance;margin:0 0 24px;font-size:clamp(28px,3.6vw,42px);font-weight:400;line-height:1.22}.landing .quote blockquote em{color:var(--accent);font-style:italic}.landing .quote__by{display:inline-flex;color:var(--ink-soft);align-items: center;gap:11px;font-size:14px}.landing .quote__by .av{background:var(--mustard);color:#fff7e8;display:grid;font-family:var(--serif);border-radius:50%;place-items: center;width:34px;height:34px;font-size:15px}.landing .cta{padding:30px 0 100px}.landing .cta__card{position:relative;background:var(--ink);color:var(--paper);border-radius:var(--r-xl);text-align:center;overflow:hidden;padding:72px 56px}.landing .cta__card .kicker{color:color-mix(in oklch,var(--accent)70%,#fff);display:block;margin-bottom:16px}.landing .cta__card h2{font-family:var(--serif);letter-spacing:-.02em;color:var(--paper);margin:0 0 16px;font-size:clamp(36px,5vw,60px);font-weight:400;line-height:1}.landing .cta__card h2 em{color:color-mix(in oklch,var(--accent)75%,#fff);font-style:italic}.landing .cta__card p{color:color-mix(in oklch,var(--paper)78%,transparent);max-width:48ch;margin:0 auto 32px;font-size:17px}.landing .cta__deco{position:absolute;opacity:.16;pointer-events:none}.landing .cta__deco--1{top:-30px;left:-20px;transform:rotate(-12deg)}.landing .cta__deco--2{bottom:-40px;right:-10px;transform:rotate(8deg)}.landing .foot{border-top:1px solid var(--rule);padding:46px 0 60px}.landing .foot__inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items: flex-start;gap:32px}.landing .foot__tag{font-family:var(--serif);color:var(--ink-faint);max-width:30ch;margin-top:14px;font-size:16px;font-style:italic}.landing .foot__cols{display:flex;flex-wrap:wrap;gap:64px}.landing .foot__col h5{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);margin:0 0 14px;font-size:10px}.landing .foot__col a{display:block;color:var(--ink-soft);padding:4px 0;transition:color .15s;font-size:14px}.landing .foot__col a:hover{color:var(--accent)}.landing .foot__legal{border-top:1px dashed var(--rule);display:flex;color:var(--ink-faint);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:40px;padding-top:22px;font-size:12.5px}.landing .reveal{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(18px)}.landing .reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.landing .reveal{opacity:1;transition:none;transform:none}}:root{--paper:#f4ecdb;--paper-deep:#ece2cc;--paper-edge:#d9caa8;--ink:#2a2420;--ink-soft:#5b5048;--ink-faint:#8a7f74;--rule:#cdbf9d;--rule-soft:#e2d5b3;--accent:#c25a3b;--accent-soft:#ead2c4;--accent-deep:#7a2e1a;--olive:#7a8a4a;--olive-soft:#d6dab7;--mustard:#c8923a;--mustard-soft:#eddfb3;--cream:#efe2c5;--cream-soft:#f5ead0;--serif:"Instrument Serif","Source Serif 4","Garamond",Georgia,serif;--sans:"Geist",-apple-system,BlinkMacSystemFont,"Helvetica Neue",system-ui,sans-serif;--mono:"Geist Mono","JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--pad-card:14px;--pad-slot:12px}[data-paper=ink]{--paper:#1e1a17;--paper-deep:#25201c;--paper-edge:#332d27;--ink:#f1e6d4;--ink-soft:#c6b9a4;--ink-faint:#847868;--rule:#3c342c;--rule-soft:#2b2520;--accent-soft:#3c2a23;--olive-soft:#2f3528;--mustard-soft:#3a3024;--cream:#3a3329;--cream-soft:#2e2823}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-size:14px;line-height:1.45}body{background:radial-gradient(1200px 600px at 20% -10%,var(--paper-deep),transparent 60%),radial-gradient(800px 400px at 100% 100%,var(--paper-deep),transparent 60%),var(--paper);min-height:100vh}button{cursor:pointer;font-family:inherit}input{font-family:inherit}.app{display:grid;grid-template-columns:320px 1fr 340px;gap:0;max-width:1600px;min-height:100vh;margin:0 auto}@media (max-width:1280px){.app{grid-template-columns:280px 1fr 300px}}@media (max-width:1100px){.app{grid-template-columns:260px 1fr}.shop{display:none}}.library{border-right:1px solid var(--rule);background:linear-gradient(180deg,transparent,var(--paper-deep)100%),var(--paper);display:flex;position:sticky;overflow:hidden;flex-direction:column;gap:16px;min-width:0;height:100vh;padding:28px 20px 0;top:0}.library__header{display:flex;justify-content:space-between;align-items: flex-start;gap:10px;padding-bottom:4px}.library__user-btn{border-radius:50%;flex-shrink:0;justify-content:center;width:44px;height:44px;padding:0}.library__brand{display:flex;align-items: center;gap:12px}.library__mark{display:grid;background:var(--paper);border:1px solid var(--rule);border-radius:50%;place-items: center;width:36px;height:36px}.library__brandname{font-family:var(--serif);letter-spacing:-.01em;font-size:22px;line-height:1}.library__brandtag{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-top:4px;font-size:9.5px}.library__search{display:flex;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-md);color:var(--ink-faint);flex:1;align-items: center;gap:8px;min-width:0;padding:10px 12px}.library__search input{outline:none;color:var(--ink);background:0 0;border:0;flex:1;font-size:13px}.library__search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch,var(--accent)18%,transparent)}.library__filters{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--rule);color:var(--ink-soft);letter-spacing:.02em;background:0 0;border-radius:100px;padding:5px 10px;transition:all .15s;font-size:11px}.chip:hover{background:var(--paper);color:var(--ink)}.chip--active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.library__count-num{font-family:var(--serif);color:var(--accent);font-size:22px;line-height:1}.library__count-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);font-size:9px}.library__searchrow{display:flex;align-items: center;gap:12px}.library__count{display:flex;flex-shrink:0;align-items:baseline;gap:6px;line-height:1}.library__grid{display:grid;grid-template-columns:minmax(0,1fr);overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--rule)transparent;flex:1;gap:10px;min-width:0;min-height:0;margin-right:-20px;padding:0 12px 12px 0}.library__grid::-webkit-scrollbar{width:6px}.library__grid::-webkit-scrollbar-thumb{background:var(--rule);border-radius:3px}.library__empty{text-align:center;color:var(--ink-faint);font-family:var(--serif);padding:24px;font-size:16px;font-style:italic}.lib-card{display:grid;grid-template-columns:64px minmax(0,1fr);padding:var(--pad-card);background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-md);cursor:grab;position:relative;gap:12px;min-width:0;transition:transform .15s,box-shadow .15s,border-color .15s}.lib-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 16px -8px #2a242040}.lib-card:active{cursor:grabbing}.lib-card--dragging{opacity:.4}.lib-card__art{display:grid;border-radius:var(--radius-sm);position:relative;place-items: center;width:64px;height:64px}.lib-card__art--tomato{background:#f5d8c8}.lib-card__art--olive{background:#e5e9c8}.lib-card__art--mustard{background:#f1e3b5}.lib-card__art--cream{background:#f0e3c6}[data-paper=ink] .lib-card__art--tomato{background:#4a2a1f}[data-paper=ink] .lib-card__art--olive{background:#2f3528}[data-paper=ink] .lib-card__art--mustard{background:#3a3024}[data-paper=ink] .lib-card__art--cream{background:#3a3329}.lib-card__drag{position:absolute;color:var(--ink-faint);opacity:0;transition:opacity .15s;top:4px;right:4px}.lib-card:hover .lib-card__drag{opacity:.6}.lib-card__body{overflow:hidden;min-width:0}.lib-card__title{font-family:var(--serif);letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:17px;line-height:1.1}.lib-card__meta{display:flex;font-family:var(--mono);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;gap:10px;margin-top:4px;font-size:10px}.lib-card__meta span{display:inline-flex;align-items: center;gap:4px}.lib-card__tags{display:flex;overflow:hidden;gap:4px;min-width:0;margin-top:6px}.tag{background:var(--accent-soft);color:var(--accent-deep);letter-spacing:.01em;border-radius:100px;padding:2px 7px;font-size:10px}[data-paper=ink] .tag{color:var(--ink)}.main{display:flex;flex-direction:column;gap:20px;min-width:0;padding:32px 28px 28px}.main__header{display:flex;flex-direction:column;gap:16px}.main__title-row{display:flex;justify-content:space-between;align-items: center;gap:24px;width:100%}.main__title-row .main__title{flex:1;min-width:0}.main__kicker{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faint);margin-bottom:6px;font-size:10px}.main__title{font-family:var(--serif);letter-spacing:-.015em;color:var(--ink);margin:0;font-size:clamp(34px,4vw,52px);font-weight:400;line-height:1}.main__title em{color:var(--accent);font-style:italic}.main__stats{display:flex;align-items: flex-end;gap:24px}.stat{text-align:left}.stat__num{font-family:var(--serif);color:var(--ink);font-size:30px;line-height:1}.stat__den{color:var(--ink-faint);font-size:16px}.stat__label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);margin-top:4px;font-size:9.5px}.stat--ghost .stat__num{color:var(--ink-soft)}.btn{border:1px solid var(--rule);background:var(--paper);color:var(--ink);display:inline-flex;border-radius:100px;align-items: center;gap:6px;padding:8px 12px;transition:all .15s;font-size:12px}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn--ghost{background:0 0}.main__actions{display:flex;align-self: flex-end;align-items: flex-end;gap:8px}.main__hint{font-family:var(--serif);color:var(--ink-faint);display:flex;align-items: center;gap:8px;padding-top:4px;font-size:14px;font-style:italic}.main__hint-mark{color:var(--accent);font-style:normal}.main__grid-wrap{min-width:0}.week__drop-hint{border:1px dashed var(--rule);border-radius:var(--radius-md);background:color-mix(in oklch,var(--accent)4%,transparent);font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);text-align:center;margin:0 0 10px;padding:8px 12px;font-size:10px}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:0 0;gap:6px}.week__dayhead{border-bottom:1px solid var(--rule);display:flex;align-items:baseline;gap:6px;padding:8px 10px}.week__dayname{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);font-size:10px}.week__daynum{font-family:var(--serif);color:var(--ink);font-size:18px;line-height:1}.slot{background:var(--paper);border:1px solid var(--rule-soft);border-radius:var(--radius-md);padding:var(--pad-slot);display:flex;cursor:pointer;position:relative;overflow:hidden;flex-direction:column;gap:8px;min-height:110px;transition:all .15s}.slot--empty{background:color-mix(in oklch,var(--ink)4%,transparent);color:var(--ink-faint);border-style:dashed}.slot--empty:hover{border-color:var(--accent);background:color-mix(in oklch,var(--accent)5%,transparent);color:var(--accent)}.slot--filled{background:color-mix(in oklch,var(--olive-soft)65%,var(--paper));border-color:color-mix(in oklch,var(--olive)35%,var(--rule-soft))}.slot--filled:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px -8px #2a24204d}.slot--over{background:color-mix(in oklch,var(--accent)10%,var(--paper));box-shadow:0 0 0 3px color-mix(in oklch,var(--accent)20%,transparent);transform:scale(1.01);border-color:var(--accent)!important;border-style:solid!important}.slot__art{aspect-ratio:16/9;border-radius:var(--radius-sm);display:grid;flex-shrink:0;place-items: center;width:100%}.slot__art--tomato{background:#f5d8c8}.slot__art--olive{background:#e5e9c8}.slot__art--mustard{background:#f1e3b5}.slot__art--cream{background:#f0e3c6}[data-paper=ink] .slot__art--tomato{background:#4a2a1f}[data-paper=ink] .slot__art--olive{background:#2f3528}[data-paper=ink] .slot__art--mustard{background:#3a3024}[data-paper=ink] .slot__art--cream{background:#3a3329}.slot__body{flex:1;min-height:0}.slot__title{font-family:var(--serif);color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;-webkit-box-orient:vertical;font-size:14px;line-height:1.15}.slot__meta{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);margin-top:4px;font-size:9px}.slot__clear{position:absolute;border:1px solid var(--rule);background:var(--paper);color:var(--ink-faint);display:grid;opacity:0;border-radius:50%;place-items: center;width:20px;height:20px;padding:0;transition:opacity .15s;top:6px;right:6px}.slot--filled:hover .slot__clear{opacity:1}.slot__clear:hover{color:var(--accent);border-color:var(--accent)}.slot__placeholder{display:flex;opacity:.7;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items: center;gap:12px;width:100%}.slot__plus{display:grid;border:1px dashed;border-radius:50%;flex-shrink:0;place-items: center;width:24px;height:24px}.slot__hint{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;text-align:center;width:100%;font-size:9px}.shop{border-left:1px solid var(--rule);background:var(--paper);display:flex;position:sticky;overflow:hidden;flex-direction:column;gap:18px;height:100vh;padding:28px 20px;top:0}.shop__header{display:flex;justify-content:space-between;align-items: flex-start;gap:10px}.shop__kicker{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);font-size:9.5px}.shop__title{font-family:var(--serif);letter-spacing:-.01em;margin:4px 0 0;font-size:28px;line-height:1}.shop__count{text-align:right;border-left:1px solid var(--rule);padding-left:14px}.shop__count-num{font-family:var(--serif);color:var(--accent);font-size:36px;line-height:1}.shop__count-label{display:block;font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);margin-top:4px;font-size:9px}.shop__progress{background:var(--rule-soft);overflow:hidden;border-radius:100px;height:3px}.shop__progress-bar{background:var(--accent);height:100%;transition:width .3s}.shop__list{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--rule)transparent;display:flex;flex-direction:column;flex:1;gap:18px;margin-right:-8px;padding-right:8px}.shop__list::-webkit-scrollbar{width:6px}.shop__list::-webkit-scrollbar-thumb{background:var(--rule);border-radius:3px}.shop__aisle-title{display:flex;font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;margin:0 0 8px;padding-bottom:6px;font-size:10px}.shop__aisle-count{color:var(--ink-faint)}.shop__items{list-style:none;margin:0;padding:0}.shop__item{display:grid;grid-template-columns:18px 1fr auto;color:var(--ink);cursor:pointer;border-bottom:1px dashed var(--rule-soft);align-items: center;gap:10px;padding:7px 0;transition:opacity .15s;font-size:13px}.shop__item:last-child{border-bottom:0}.shop__check{border:1px solid var(--rule);display:grid;color:var(--paper);background:var(--paper);border-radius:4px;place-items: center;width:16px;height:16px;transition:all .15s}.shop__item:hover .shop__check{border-color:var(--accent)}.shop__item--done .shop__check{background:var(--accent);border-color:var(--accent);color:var(--paper)}.shop__item-name{font-family:var(--serif);font-size:15px}.shop__item-qty{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:10px}.shop__item--done{opacity:.4}.shop__item--done .shop__item-name{text-decoration:line-through;text-decoration-color:var(--ink-faint)}.shop__empty{text-align:center;font-family:var(--serif);color:var(--ink-faint);padding:32px 12px;font-size:15px;font-style:italic}.shop__empty-mark{font-family:var(--serif);color:var(--accent);font-size:36px}.shop__teaser{display:grid;grid-template-columns:auto 1fr auto;border:1px dashed var(--rule);border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent-soft)0%,var(--paper)55%);flex-shrink:0;align-items: start;gap:12px;padding:14px}.shop__teaser-icon{border-radius:var(--radius-sm);background:var(--paper);border:1px solid var(--rule-soft);display:grid;color:var(--accent);place-items: center;width:36px;height:36px}.shop__teaser-body{min-width:0}.shop__teaser-kicker{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--accent-deep);font-size:9px}.shop__teaser-title{font-family:var(--serif);letter-spacing:-.01em;margin:2px 0 4px;font-size:18px;line-height:1.1}.shop__teaser-copy{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.45}.shop__teaser-badge{color:var(--accent);opacity:.7}.modal{position:fixed;backdrop-filter:blur(3px);display:flex;z-index:1000;animation:fade .18s ease-out;overflow-y:auto;background:#14110fb8;justify-content:center;align-items: flex-start;padding:24px;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal__sheet{background:var(--paper);border-radius:var(--radius-lg);overflow:hidden;position:relative;border:1px solid var(--rule);box-shadow:0 24px 80px -20px #0000008c,0 0 0 1px color-mix(in oklch,var(--ink)8%,transparent);animation:lift .22s cubic-bezier(.2,.7,.2,1);width:100%;max-width:880px;margin:auto}@keyframes lift{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal__close{position:absolute;border:1px solid var(--rule);background:var(--paper);color:var(--ink);display:grid;z-index:2;border-radius:50%;place-items: center;width:32px;height:32px;top:14px;right:14px}.modal__close:hover{color:var(--accent);border-color:var(--accent)}.modal__hero{display:grid;grid-template-columns:200px 1fr;align-items: center;gap:28px;padding:22px 36px 18px}.modal__hero--tomato{background:linear-gradient(135deg,#f5d8c8,var(--paper)75%)}.modal__hero--olive{background:linear-gradient(135deg,#e5e9c8,var(--paper)75%)}.modal__hero--mustard{background:linear-gradient(135deg,#f1e3b5,var(--paper)75%)}.modal__hero--cream{background:linear-gradient(135deg,#f0e3c6,var(--paper)75%)}[data-paper=ink] .modal__hero--tomato{background:linear-gradient(135deg,#4a2a1f,var(--paper)75%)}[data-paper=ink] .modal__hero--olive{background:linear-gradient(135deg,#2f3528,var(--paper)75%)}[data-paper=ink] .modal__hero--mustard{background:linear-gradient(135deg,#3a3024,var(--paper)75%)}[data-paper=ink] .modal__hero--cream{background:linear-gradient(135deg,#3a3329,var(--paper)75%)}.modal__hero>svg{justify-self:center}.modal__kicker{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin-bottom:8px;font-size:10px}.modal__title{font-family:var(--serif);letter-spacing:-.015em;margin:0 0 10px;font-size:44px;font-weight:400;line-height:1}.modal__blurb{font-family:var(--serif);color:var(--ink-soft);text-wrap:pretty;max-width:56ch;margin:0 0 16px;font-size:17px;font-style:italic}.modal__subtitle{color:var(--ink-soft);margin:0 0 16px;font-size:13px}.modal__stats{display:flex;font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);flex-wrap:wrap;gap:8px 16px;font-size:10px}.modal__stats span{display:inline-flex;align-items: center;gap:5px}.modal__badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.modal__body{display:grid;grid-template-columns:280px 1fr;gap:24px;padding:22px 36px 28px}.modal__ingredients,.modal__steps{background:var(--paper-deep);border:1px solid var(--rule-soft);border-radius:var(--radius-lg);align-self: start;padding:20px 22px}.modal__section-title{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faint);border-bottom:1px solid var(--rule);margin:0 0 14px;padding-bottom:8px;font-size:10px}.ing-list{list-style:none;margin:0;padding:0}.ing-list li{display:grid;grid-template-columns:80px 1fr;border-bottom:1px dashed var(--rule-soft);align-items:baseline;gap:12px;padding:6px 0;font-size:14px}.ing-list li:last-child{border-bottom:0}.ing-list__qty{font-family:var(--mono);text-transform:uppercase;color:var(--ink-faint);letter-spacing:.06em;text-align:right;font-size:10.5px}.ing-list__item{font-family:var(--serif);font-size:16px}.step-list{list-style:none;counter-reset:step;margin:0;padding:0}.step-list li{display:grid;grid-template-columns:32px 1fr;border-bottom:1px dashed var(--rule-soft);gap:14px;padding:10px 0}.step-list li:last-child{border-bottom:0}.step-list__num{font-family:var(--serif);color:var(--accent);font-size:22px;font-style:italic;line-height:1}.step-list__text{font-family:var(--serif);color:var(--ink);text-wrap:pretty;font-size:16px;line-height:1.5}.modal__content{display:flex;flex-direction:column;gap:24px;padding:24px 36px 28px}.modal__content>.nutrition,.modal__content>.modal__body{padding:0}.nutrition{padding:22px 36px}.nutrition__sublabel{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);margin:0 0 10px;font-size:10px}.nutrition__empty{text-align:left;padding:8px 0 12px}.nutrition__loading{display:flex;color:var(--ink-faint);flex-direction:column;align-items: center;gap:12px;padding:16px 0 20px}.nutrition__loading p{font-family:var(--serif);margin:0;font-size:15px;font-style:italic}.spinner__arc{transform-origin:center;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.nutrition__empty p{margin:0 0 14px}.nutrition__error{color:var(--accent);font-size:13px;font-style:normal}.nutrition__cta{display:flex;border-radius:var(--radius-md);border:1px solid color-mix(in oklch,var(--accent)32%,var(--rule));background:color-mix(in oklch,var(--accent)12%,var(--paper));align-items: center;gap:14px;width:100%;padding:16px 18px}.nutrition__cta-icon{display:grid;background:color-mix(in oklch,var(--accent)22%,var(--paper-deep));color:var(--accent-deep);border-radius:50%;flex-shrink:0;place-items: center;width:36px;height:36px}.nutrition__cta-text{flex:1;min-width:0}.nutrition__cta-title{font-family:var(--serif);color:var(--ink);margin:0 0 2px;font-size:17px;font-weight:400}.nutrition__cta-body{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.4}.nutrition__cta .btn{background:color-mix(in oklch,var(--accent)72%,var(--paper-deep));border-color:color-mix(in oklch,var(--accent)55%,var(--rule));color:#fff7e8;flex-shrink:0}.nutrition__cta .btn:hover{background:var(--accent);border-color:var(--accent);color:#fff7e8}.nutrition__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding-bottom:4px}.nutrition__stat{display:flex;background:var(--paper-deep);border:1px solid var(--rule-soft);border-radius:4px;flex-direction:row;align-items:baseline;gap:8px;padding:8px 12px}.nutrition__value{font-family:var(--serif);color:var(--ink);flex-shrink:0;font-size:20px;line-height:1}.nutrition__label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);white-space:nowrap;font-size:10px}.modal__footer{border-top:1px solid var(--rule);background:var(--paper-deep);padding:18px 36px 28px}.modal__sheet.prefs{max-width:800px}.prefs__header{background:linear-gradient(135deg,#f0e3c6,var(--paper)75%);border-bottom:1px solid var(--rule-soft);padding:32px 32px 24px}[data-paper=ink] .prefs__header{background:linear-gradient(135deg,#3a3329,var(--paper)75%)}.prefs__title{font-family:var(--serif);letter-spacing:-.015em;margin:0 0 8px;font-size:32px;font-weight:400;line-height:1}.prefs__blurb{font-family:var(--serif);color:var(--ink-soft);margin:0;font-size:15px;font-style:italic}.prefs__body{display:grid;grid-template-columns:1fr 1fr;align-items: start;gap:24px 28px;padding:24px 32px}.prefs__section--wide{grid-column:1/-1}.prefs__appearance-grid{display:grid;grid-template-columns:1fr 1fr;align-items: start;gap:24px 28px}.prefs__appearance-col,.prefs__section{display:flex;flex-direction:column;gap:10px;min-width:0}.prefs__sectionhint{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);margin:0;font-size:10px;line-height:1.5}.prefs__tier{color:var(--ink-soft);margin:0;font-size:13px}.prefs__tier span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent-deep);font-size:10px}.prefs__row{display:flex;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-md);justify-content:space-between;align-items: center;gap:16px;padding:14px 16px}.prefs__rowtext{min-width:0}.prefs__label{color:var(--ink);margin-bottom:4px;font-size:13px}.prefs__helper{font-family:var(--serif);color:var(--ink-faint);font-size:13px;font-style:italic}.prefs__toggle{border:1px solid var(--rule);background:var(--paper-deep);display:flex;border-radius:100px;flex-shrink:0;align-items: center;width:44px;height:26px;padding:3px;transition:all .15s}.prefs__toggle--on{background:var(--accent);border-color:var(--accent)}.prefs__toggle-knob{background:var(--paper);border:1px solid var(--rule);border-radius:50%;width:18px;height:18px;transition:transform .15s}.prefs__toggle--on .prefs__toggle-knob{border-color:#0000;transform:translate(18px)}.prefs__tags{display:flex;flex-direction:column;gap:8px}.prefs__tag-row{display:flex;flex-wrap:wrap;gap:5px}.prefs__sectionhint--tight{margin-top:12px}.prefs__accent-row{display:flex;flex-wrap:wrap;gap:10px}.prefs__accent-btn{border:2px solid var(--paper);outline:1px solid var(--rule);cursor:pointer;border-radius:50%;width:28px;height:28px;padding:0;transition:transform .15s,outline-color .15s}.prefs__accent-btn:hover{transform:scale(1.08)}.prefs__accent-btn--active{outline-color:var(--ink);outline-width:2px;transform:scale(1.12)}.modal__sheet.import{max-width:520px}.import__header{background:linear-gradient(135deg,#f0e3c6,var(--paper)75%);border-bottom:1px solid var(--rule-soft);padding:32px 32px 24px}[data-paper=ink] .import__header{background:linear-gradient(135deg,#3a3329,var(--paper)75%)}.import__title{font-family:var(--serif);letter-spacing:-.015em;margin:0 0 8px;font-size:32px;font-weight:400;line-height:1}.import__blurb{font-family:var(--serif);color:var(--ink-soft);margin:0;font-size:15px;font-style:italic}.import__body{display:flex;flex-direction:column;gap:12px;padding:28px 32px}.import__textarea{border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--paper);font-family:var(--serif);color:var(--ink);resize:vertical;width:100%;min-height:220px;padding:14px 16px;font-size:15px;line-height:1.5}.import__textarea:focus{outline:none;border-color:var(--accent)}.import__textarea:disabled{opacity:.65;cursor:not-allowed}.import__helper{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);margin:0;font-size:10px;line-height:1.5}.import__error{font-family:var(--serif);color:var(--danger,#a33);margin:0;font-size:14px}.chip--removable{display:inline-flex;align-items: center;gap:4px}.chip--removable:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep)}.prefs__tag-add{border:1px dashed var(--rule);border-radius:var(--radius-sm);padding:6px 10px}.prefs__tag-input{outline:none;color:var(--ink);background:0 0;border:0;width:100%;font-size:12px}.prefs__tag-input::placeholder{color:var(--ink-faint)}.prefs__reset{color:var(--ink-faint);font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;text-align:left;text-decoration:underline dotted;text-underline-offset:4px;background:0 0;border:0;padding:0;font-size:9.5px}.prefs__reset:hover{color:var(--accent)}.prefs .modal__footer{padding:18px 32px 24px}.toast{position:fixed;background:var(--ink);color:var(--paper);font-family:var(--serif);z-index:2000;animation:toast-in .2s ease-out;border-radius:100px;padding:10px 18px;font-size:15px;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px -10px #00000080}@keyframes toast-in{0%{transform:translate(-50%,20px);opacity:0}to{transform:translate(-50%);opacity:1}}.library__actions{position:relative;display:flex;flex-direction:column;gap:0}.library__new-split{display:flex;align-items:stretch}.library__new{display:flex;border:1px dashed var(--accent);border-radius:var(--radius-md)0 0 var(--radius-md);background:color-mix(in oklch,var(--accent)6%,transparent);color:var(--accent);text-align:left;border-right:none;flex:1;align-items: center;gap:12px;min-width:0;padding:12px 14px;transition:all .15s}.library__new:hover{background:color-mix(in oklch,var(--accent)12%,transparent);transform:translateY(-1px)}.library__new-split:hover .library__new,.library__new-split:hover .library__new-toggle{background:color-mix(in oklch,var(--accent)12%,transparent)}.library__new-toggle{display:grid;border:1px dashed var(--accent);border-radius:0 var(--radius-md)var(--radius-md)0;background:color-mix(in oklch,var(--accent)6%,transparent);color:var(--accent);flex-shrink:0;place-items: center;width:40px;padding:0;transition:all .15s}.library__new-toggle:hover{background:color-mix(in oklch,var(--accent)12%,transparent)}.library__menu{position:absolute;z-index:10;display:flex;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-md);box-shadow:0 8px 24px color-mix(in oklch,var(--ink)12%,transparent);flex-direction:column;gap:6px;padding:6px;top:calc(100% + 6px);left:0;right:0}.library__new-icon{background:var(--accent);color:var(--paper);display:grid;border-radius:50%;flex-shrink:0;place-items: center;width:28px;height:28px}.library__new-title{display:block;font-family:var(--serif);color:var(--accent-deep);font-size:16px;line-height:1.05}.library__new-sub{display:block;font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);margin-top:3px;font-size:9.5px}[data-paper=ink] .library__new-title{color:var(--ink)}.library__import{display:flex;border:1px solid var(--rule);background:var(--paper);border-radius:var(--radius-md);color:var(--ink-soft);text-align:left;align-items: center;gap:10px;padding:10px 12px;transition:border-color .15s,background .15s}.library__import:hover{border-color:color-mix(in oklch,var(--accent)40%,var(--rule));background:color-mix(in oklch,var(--accent)4%,var(--paper))}.library__import-icon{background:color-mix(in oklch,var(--accent)12%,var(--paper-deep));color:var(--accent-deep);display:grid;border-radius:50%;flex-shrink:0;place-items: center;width:26px;height:26px}.library__import-text{flex:1;min-width:0}.library__import-title{display:block;color:var(--ink);font-size:13px;font-weight:500;line-height:1.2}.library__import-sub{display:block;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);margin-top:2px;font-size:9px}.library__import-tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;background:color-mix(in oklch,var(--mustard)18%,var(--paper-deep));color:var(--mustard);border-radius:4px;flex-shrink:0;padding:3px 6px;font-size:8.5px}.premium-gate{display:flex;border-radius:var(--r-md);background:color-mix(in oklch,var(--accent)10%,var(--paper));border:1px solid color-mix(in oklch,var(--accent)28%,var(--rule));align-items: flex-start;gap:14px;padding:18px 20px}.premium-gate__icon{display:grid;background:color-mix(in oklch,var(--accent)18%,var(--paper-deep));color:var(--accent-deep);border-radius:50%;flex-shrink:0;place-items: center;width:36px;height:36px}.premium-gate__title{font-family:var(--serif);color:var(--ink);margin:0 0 6px;font-size:18px;font-weight:400}.premium-gate__body{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.5}.modal__toolbar{position:absolute;display:flex;z-index:2;gap:6px;top:16px;right:56px}.modal__actions{display:flex;gap:6px;margin-top:14px}.btn--small{padding:5px 10px;font-size:11px}.btn--primary{background:var(--accent);color:#fff7e8;border-color:var(--accent)}.btn--primary:hover{filter:brightness(1.05);color:#fff7e8}.btn--primary:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.4)}.btn--danger{border-color:color-mix(in oklch,var(--accent)60%,transparent);color:var(--accent);background:0 0}.btn--danger:hover{background:var(--accent);color:var(--paper)}.editor .modal__hero{align-items: flex-start}.editor__heroleft{display:flex;flex-direction:column;align-items: center;gap:14px}.editor__iconpreview{background:var(--paper);border:1px solid var(--rule);display:grid;border-radius:50%;place-items: center;width:160px;height:160px}.editor__iconpicker{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;width:180px}.editor__iconbtn{border:1px solid var(--rule);background:var(--paper);border-radius:var(--radius-sm);display:grid;place-items: center;width:32px;height:32px;padding:0;transition:all .15s}.editor__iconbtn:hover{border-color:var(--accent)}.editor__iconbtn--active{border-color:var(--accent);background:color-mix(in oklch,var(--accent)12%,var(--paper));box-shadow:0 0 0 2px color-mix(in oklch,var(--accent)25%,transparent)}.editor__accents{display:flex;gap:8px}.editor__accentbtn{border:2px solid var(--paper);outline:1px solid var(--rule);cursor:pointer;border-radius:50%;width:22px;height:22px;padding:0;transition:transform .15s}.editor__accentbtn:hover{transform:scale(1.1)}.editor__accentbtn--active{outline-color:var(--ink);outline-width:2px;transform:scale(1.15)}.editor__herometa{min-width:0}.editor__title{display:block;font-family:var(--serif);letter-spacing:-.015em;color:var(--ink);border:0;border-bottom:1px dashed var(--rule);outline:none;background:0 0;width:100%;margin:0 0 12px;padding:4px 0 6px;font-size:40px;font-weight:400;line-height:1.05}.editor__title::placeholder{color:var(--ink-faint);font-style:italic}.editor__title:focus{border-bottom-color:var(--accent)}.editor__blurb{display:block;font-family:var(--serif);color:var(--ink-soft);border:1px dashed var(--rule);border-radius:var(--radius-sm);resize:vertical;outline:none;background:0 0;width:100%;margin-bottom:14px;padding:8px 10px;font-size:16px;font-style:italic}.editor__blurb:focus{border-style:solid;border-color:var(--accent)}.editor__blurb::placeholder{color:var(--ink-faint)}.editor__numrow{display:flex;gap:12px;margin-bottom:14px}.editor__num{display:flex;flex-direction:column;flex:0 0 110px;gap:4px}.editor__num span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);font-size:9.5px}.editor__num input{font-family:var(--serif);border:1px solid var(--rule);background:var(--paper);border-radius:var(--radius-sm);color:var(--ink);outline:none;width:100%;padding:6px 10px;font-size:22px}.editor__num input:focus{border-color:var(--accent)}.editor__tags{display:flex;flex-direction:column;gap:6px}.editor__tag-row{display:flex;flex-wrap:wrap;gap:5px}.editor__tag-custom{display:flex;flex-wrap:wrap;align-items: center;gap:5px}.chip--custom{background:var(--accent);color:var(--paper);border-color:var(--accent);display:inline-flex;cursor:pointer;align-items: center;gap:4px}.editor__tag-input{outline:none;font-family:var(--mono);color:var(--ink);border:0;border-bottom:1px dashed var(--rule);background:0 0;min-width:100px;padding:4px 6px;font-size:11px}.editor__tag-input:focus{border-bottom-color:var(--accent)}.editor__body .modal__section-title{display:flex;justify-content:space-between;align-items: center}.editor__addbtn{border:1px solid var(--rule);background:var(--paper);color:var(--accent);font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;display:inline-flex;border-radius:100px;align-items: center;gap:4px;padding:4px 8px;transition:all .15s;font-size:9.5px}.editor__addbtn:hover{background:var(--accent);color:var(--paper);border-color:var(--accent)}.editor__ings{list-style:none;display:flex;flex-direction:column;gap:8px;margin:0;padding:0}.editor__ingrow{display:flex;background:var(--paper);border:1px solid var(--rule);border-radius:100px;align-items: center;gap:8px;padding:4px 6px 4px 14px}.editor__ingrow input,.editor__ingrow select{font-family:var(--serif);color:var(--ink);outline:none;background:0 0;border:0;border-radius:0;min-width:0;padding:6px 4px;font-size:14px}.editor__ingrow input:focus,.editor__ingrow select:focus{box-shadow:none}.editor__qty{text-transform:uppercase;letter-spacing:.04em;flex:0 0 56px;font-family:var(--mono)!important;font-size:11px!important}.editor__item{flex:1}.editor__aisle{text-transform:uppercase;letter-spacing:.06em;flex:none;max-width:96px;font-family:var(--mono)!important;color:var(--ink-faint)!important;font-size:10.5px!important}.editor__rm{border:1px solid var(--rule);background:var(--paper);color:var(--ink-faint);display:grid;border-radius:50%;place-items: center;width:24px;height:24px;padding:0;transition:all .15s}.editor__rm:hover{color:var(--accent);border-color:var(--accent)}.editor__steps{list-style:none;margin:0;padding:0}.editor__steprow{display:grid;grid-template-columns:28px 1fr 24px;align-items: flex-start;gap:10px;padding:6px 0}.editor__steprow .step-list__num{padding-top:8px}.editor__steptext{font-family:var(--serif);border:1px solid var(--rule);background:var(--paper);border-radius:var(--radius-sm);color:var(--ink);outline:none;resize:vertical;width:100%;padding:8px 10px;font-size:15px;line-height:1.5}.editor__steptext:focus{border-color:var(--accent)}.editor__steprow .editor__rm{margin-top:6px}.editor__addstep{display:flex;border:1px dashed var(--rule);background:var(--paper);color:var(--accent);font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;border-radius:100px;justify-content:center;align-items: center;gap:6px;width:calc(100% - 72px);margin-top:10px;margin-left:38px;padding:10px 14px;transition:all .15s;font-size:9.5px}.editor__addstep:hover{background:var(--accent);color:var(--paper);border-color:var(--accent)}.editor__footer{display:flex;justify-content:space-between;align-items: center;gap:12px}.editor__footerleft,.editor__footerright{display:flex;gap:8px}@media (max-width:900px){.modal__hero{grid-template-columns:1fr;text-align:center}.modal__body{grid-template-columns:1fr;gap:24px}.nutrition__grid{grid-template-columns:repeat(2,1fr)}.prefs__body,.prefs__appearance-grid{grid-template-columns:1fr}}.auth-page{background:radial-gradient(1100px 560px at 12% -8%,var(--paper-deep),transparent 60%),radial-gradient(900px 480px at 100% 8%,color-mix(in oklch,var(--accent-soft)40%,var(--paper-deep)),transparent 55%),radial-gradient(600px 400px at 80% 100%,color-mix(in oklch,var(--olive-soft)50%,var(--paper-deep)),transparent 50%),var(--paper);min-height:100vh}.auth-page--split{display:grid;grid-template-columns:.9fr 1.1fr;min-height:100vh}.auth-page__preview{position:relative;display:flex;overflow:hidden;background:linear-gradient(200deg,var(--cream-soft)0%,transparent 55%),linear-gradient(180deg,transparent,var(--paper-deep)100%),var(--paper);justify-content:center;align-items: center;padding:48px 40px}[data-paper=ink] .auth-page__preview{background:linear-gradient(200deg,var(--cream-soft)0%,transparent 55%),linear-gradient(180deg,transparent,var(--paper-deep)100%),var(--paper)}.auth-page__form{display:flex;position:relative;border-right:1px solid var(--rule);flex-direction:column;justify-content:center;align-items: center;padding:32px 40px}.auth-page--split .auth-page__form{background:color-mix(in oklch,var(--paper)92%,white);justify-content:flex-start;align-items:stretch;padding-top:64px}[data-paper=ink] .auth-page--split .auth-page__form{background:color-mix(in oklch,var(--paper)92%,black)}.auth-page__form-inner{width:100%;max-width:420px;margin:auto;padding:0 4px}.auth-page--centered,.auth-page--editorial,.auth-page--ritual{display:flex;position:relative;justify-content:center;align-items: center;padding:24px}.auth-page__home{position:absolute;color:var(--ink-faint);text-decoration:none;transition:color .15s;font-size:13px;top:24px;left:32px}.auth-page__home:hover{color:var(--accent)}.auth-page__home--centered{top:20px;left:24px}.auth-card{background:color-mix(in oklch,var(--paper)92%,white);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:0 8px 32px color-mix(in oklch,var(--ink)8%,transparent),0 0 0 1px color-mix(in oklch,var(--accent-soft)30%,transparent);width:100%;max-width:420px;padding:32px 28px}[data-paper=ink] .auth-card{background:color-mix(in oklch,var(--paper)92%,black);box-shadow:0 8px 32px #0006,0 0 0 1px color-mix(in oklch,var(--accent-soft)20%,transparent)}@supports (color:color(display-p3 0 0 0)){[data-paper=ink] .auth-card{box-shadow:0 8px 32px color(display-p3 0 0 0/.4),0 0 0 1px color-mix(in oklch,var(--accent-soft)20%,transparent)}}@supports (color:lab(0% 0 0)){[data-paper=ink] .auth-card{box-shadow:0 8px 32px lab(0% 0 0/.4),0 0 0 1px color-mix(in oklch,var(--accent-soft)20%,transparent)}}.auth-card--loading{text-align:center;color:var(--ink-faint);font-family:var(--serif);font-style:italic}.auth-card__brand{display:flex;border-bottom:1px solid var(--rule-soft);align-items: center;gap:12px;margin-bottom:24px;padding-bottom:20px}.auth-card__brand--compact{border-bottom:none;margin-bottom:16px;padding-bottom:0}.auth-card__mark{display:grid;background:var(--paper);border:1px solid var(--rule);border-radius:50%;flex-shrink:0;place-items: center;width:40px;height:40px}.auth-card__brandname{font-family:var(--serif);letter-spacing:-.01em;font-size:20px;line-height:1.1}.auth-card__tagline{color:var(--ink-faint);margin-top:2px;font-size:12px}.auth-card__kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-size:11px}.auth-card__title{font-family:var(--serif);margin:0 0 8px;font-size:32px;font-weight:400;line-height:1.15}.auth-card__title em{color:var(--accent);font-style:italic}.auth-card__subtitle{color:var(--ink-soft);margin:0 0 20px;font-size:14px}.auth-card__welcome{font-family:var(--serif);color:var(--ink-faint);border-top:1px solid var(--rule-soft);margin:0 0 20px;padding-top:4px;font-size:15px;font-style:italic}.auth-card__footer{color:var(--ink-faint);text-align:center;margin-top:20px;font-size:13px}.auth-preview{width:100%;max-width:440px}.auth-preview__eyebrow{font-family:var(--serif);color:var(--ink-soft);text-align:center;margin:0 0 28px;font-size:18px;font-style:italic}.auth-preview__card-wrap{position:relative}.auth-preview__card{background:var(--paper);border:1px solid var(--rule);box-shadow:0 40px 90px -50px color-mix(in oklch,var(--ink)60%,transparent),0 2px 0 var(--paper-edge);border-radius:16px;padding:22px;transform:rotate(1.2deg)}[data-paper=ink] .auth-preview__card{box-shadow:0 40px 90px -50px #000000b3,0 2px 0 var(--paper-edge)}@supports (color:color(display-p3 0 0 0)){[data-paper=ink] .auth-preview__card{box-shadow:0 40px 90px -50px color(display-p3 0 0 0/.7),0 2px 0 var(--paper-edge)}}@supports (color:lab(0% 0 0)){[data-paper=ink] .auth-preview__card{box-shadow:0 40px 90px -50px lab(0% 0 0/.7),0 2px 0 var(--paper-edge)}}.auth-preview__head{display:flex;border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;margin-bottom:14px;padding-bottom:14px}.auth-preview__title{font-family:var(--serif);font-size:21px}.auth-preview__week{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);font-size:10px}.auth-preview__row{display:grid;grid-template-columns:54px repeat(3,1fr);gap:7px;margin-bottom:7px}.auth-preview__rowlabel{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);text-align:right;align-self: center;padding-right:4px;font-size:9px}.auth-pmeal{border-radius:var(--radius-sm);display:flex;border:1px solid var(--rule-soft);flex-direction:column;gap:6px;min-height:62px;padding:8px}.auth-pmeal__art{display:grid;border-radius:4px;place-items: center;height:30px}.auth-pmeal__t{font-family:var(--serif);color:var(--ink);font-size:11px;line-height:1.05}.auth-pmeal--empty{display:grid;color:var(--ink-faint);border-style:dashed;place-items: center}.auth-pmeal--empty span{font-size:18px}.auth-art--tomato{background:#f5d8c8}.auth-art--olive{background:#e5e9c8}.auth-art--mustard{background:#f1e3b5}.auth-art--cream{background:#f0e3c6}[data-paper=ink] .auth-art--tomato{background:color-mix(in oklch,#f5d8c8 25%,var(--paper-deep))}[data-paper=ink] .auth-art--olive{background:color-mix(in oklch,#e5e9c8 25%,var(--paper-deep))}[data-paper=ink] .auth-art--mustard{background:color-mix(in oklch,#f1e3b5 25%,var(--paper-deep))}[data-paper=ink] .auth-art--cream{background:color-mix(in oklch,#f0e3c6 25%,var(--paper-deep))}.auth-preview__float{position:absolute;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-md);display:flex;box-shadow:0 18px 40px -22px color-mix(in oklch,var(--ink)70%,transparent);align-items: center;gap:10px;padding:11px 14px}.auth-preview__float--cart{top:-20px;right:-18px;transform:rotate(2.5deg)}.auth-preview__float-icon{display:grid;border-radius:7px;flex-shrink:0;place-items: center;width:34px;height:34px}.auth-preview__float-t{font-family:var(--serif);display:block;font-size:14px;line-height:1}.auth-preview__float-s{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);display:block;margin-top:3px;font-size:8.5px}@media (max-width:1023px){.auth-page--split{grid-template-columns:1fr}.auth-page__preview{display:none}.auth-page__form{min-height:100vh;padding:24px}.auth-page--split .auth-page__form{padding-top:24px}.auth-page__home{position:static;align-self: flex-start;margin-bottom:16px}}.auth-link{color:var(--accent);text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-code{font-family:var(--mono);background:var(--paper-deep);border-radius:4px;padding:1px 5px;font-size:12px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form__submit{justify-content:center;width:100%;margin-top:4px}.alert{display:flex;border-radius:var(--radius-md);border:1px solid var(--rule);flex-direction:column;gap:6px;padding:12px 14px}.alert--error{background:color-mix(in oklch,var(--accent)10%,var(--paper));border-color:color-mix(in oklch,var(--accent)30%,var(--rule));border-left:3px solid var(--accent)}.alert--info{background:color-mix(in oklch,var(--mustard)10%,var(--paper));border-color:color-mix(in oklch,var(--mustard)30%,var(--rule));border-left:3px solid var(--mustard)}.alert__message{color:var(--accent-deep);margin:0;font-size:13px;line-height:1.45}.alert__hint{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.45}.auth-form__error{color:var(--accent-deep);margin:0;font-size:13px}.auth-form__error-block{display:flex;flex-direction:column;gap:6px}.auth-form__error-hint{color:var(--ink-soft);margin:0;font-size:13px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field__label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-size:11px}.auth-field__input{border:1px solid var(--rule);background:var(--paper);border-radius:var(--radius-md);color:var(--ink);outline:none;padding:10px 12px;transition:border-color .15s,box-shadow .15s;font-size:14px}.auth-field__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch,var(--accent)18%,transparent)}.auth-field--error .auth-field__input{border-color:var(--accent)}.auth-field__error{color:var(--accent-deep);font-size:12px}.auth-field__helper{color:var(--ink-faint);font-size:12px}.main__user{color:var(--ink-faint);align-self: center;padding:0 4px;font-size:12px}.onboarding{display:flex;flex-direction:column;gap:14px;width:100%}.onboarding__progress-bar{background:var(--rule-soft);overflow:hidden;border-radius:999px;height:4px}.onboarding__progress-fill{display:block;background:var(--accent);border-radius:999px;height:100%;transition:width .35s}.onboarding__panel{display:flex;animation:onboarding-fade .22s ease;flex-direction:column;gap:12px}@keyframes onboarding-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.onboarding__panel--appearance{gap:10px}.onboarding__panel--appearance .prefs__sectionhint{margin-bottom:10px}.onboarding__panel--appearance .prefs__sectionhint--tight{margin-top:20px;margin-bottom:10px}.onboarding__intro{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.55}.onboarding__actions{display:flex;justify-content:flex-end;align-items: center;gap:10px;padding-top:4px}.onboarding__continue{flex:1}.onboarding-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.onboarding-choice{display:flex;text-align:left;background:var(--paper);border:1.5px solid var(--rule);border-radius:var(--radius-md);cursor:pointer;flex-direction:column;align-items: flex-start;gap:6px;padding:16px 14px;transition:border-color .15s,box-shadow .15s,background .15s}.onboarding-choice:hover{border-color:color-mix(in oklch,var(--accent)40%,var(--rule))}.onboarding-choice--selected{border-color:var(--accent);background:color-mix(in oklch,var(--accent-soft)35%,var(--paper));box-shadow:0 0 0 1px color-mix(in oklch,var(--accent)25%,transparent)}.onboarding-choice__icon{font-size:22px;line-height:1}.onboarding-choice__title{font-family:var(--serif);color:var(--ink);font-size:16px;line-height:1.2}.onboarding-choice__desc{color:var(--ink-faint);font-size:12px;line-height:1.45}.ob-track-viewport{position:absolute;overflow:hidden;inset:0}.ob-track{display:flex;flex-direction:column;height:100%;transition:transform .55s cubic-bezier(.22,1,.36,1)}.ob-track-slide{display:flex;flex:0 0 100%;justify-content:center;align-items: center;height:100%}@media (prefers-reduced-motion:reduce){.ob-track{transition:none}}.ob-preview{width:100%;max-width:440px}.ob-preview__eyebrow{font-family:var(--serif);color:var(--ink-soft);text-align:center;margin:0 0 24px;font-size:18px;font-style:italic}.ob-preview__card{background:var(--paper);border:1px solid var(--rule);box-shadow:0 40px 90px -50px color-mix(in oklch,var(--ink)60%,transparent),0 2px 0 var(--paper-edge);border-radius:16px;padding:20px;transform:rotate(.8deg)}[data-paper=ink] .ob-preview__card{box-shadow:0 40px 90px -50px #000000b3,0 2px 0 var(--paper-edge)}@supports (color:color(display-p3 0 0 0)){[data-paper=ink] .ob-preview__card{box-shadow:0 40px 90px -50px color(display-p3 0 0 0/.7),0 2px 0 var(--paper-edge)}}@supports (color:lab(0% 0 0)){[data-paper=ink] .ob-preview__card{box-shadow:0 40px 90px -50px lab(0% 0 0/.7),0 2px 0 var(--paper-edge)}}.ob-preview__card--accent{border-color:color-mix(in oklch,var(--ob-accent,var(--accent))45%,var(--rule));overflow:hidden;padding:0}.ob-preview__card--empty{display:flex;text-align:center;flex-direction:column;justify-content:center;align-items: center;min-height:220px;padding:32px 24px;transform:none}.ob-preview__card-head{display:flex;border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;margin-bottom:12px;padding-bottom:12px}.ob-preview__card-title{font-family:var(--serif);font-size:18px}.ob-preview__card-meta{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);font-size:9px}.ob-preview__meal-stack{display:flex;flex-direction:column;gap:8px}.ob-preview__meal-row{display:grid;grid-template-columns:72px 1fr;align-items: center;gap:8px}.ob-preview__meal-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);text-align:right;font-size:8.5px}.ob-preview__meal-tile{display:flex;border:1px solid var(--rule-soft);border-radius:var(--radius-sm);align-items: center;gap:8px;padding:8px 10px}.ob-preview__meal-art{display:grid;border-radius:4px;flex-shrink:0;place-items: center;width:32px;height:32px}.ob-preview__meal-name{font-family:var(--serif);font-size:13px;line-height:1.1}.ob-preview__recipe-hero{display:grid;background:color-mix(in oklch,var(--ob-accent,var(--accent))12%,var(--paper-deep));border-bottom:1px solid var(--rule-soft);place-items: center;padding:24px}.ob-preview__recipe-body{padding:16px 18px 18px}.ob-preview__recipe-title{font-family:var(--serif);margin:0 0 6px;font-size:18px;font-weight:400;line-height:1.15}.ob-preview__recipe-blurb{color:var(--ink-soft);margin:0 0 10px;font-size:13px;line-height:1.45}.ob-preview__recipe-meta{display:flex;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);gap:12px;font-size:9px}.ob-preview__tag-cloud{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px}.ob-preview__tag{background:color-mix(in oklch,var(--accent-soft)50%,var(--paper));border:1px solid color-mix(in oklch,var(--accent)30%,var(--rule));color:var(--ink-soft);border-radius:999px;padding:4px 8px;font-size:11px}.ob-preview__recipe-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin:0;padding:0}.ob-preview__recipe-list-item{display:flex;font-family:var(--serif);align-items: center;gap:10px;font-size:14px}.ob-preview__list-art{display:grid;border-radius:4px;flex-shrink:0;place-items: center;width:28px;height:28px}.ob-preview__ing-title{font-family:var(--serif);margin:0 0 12px;font-size:15px}.ob-preview__ing-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin:0;padding:0}.ob-preview__ing-list li{display:grid;grid-template-columns:72px 1fr;border-radius:var(--radius-sm);gap:8px;padding:6px 8px;transition:opacity .2s;font-size:13px}.ob-preview__ing--active{background:color-mix(in oklch,var(--accent-soft)40%,var(--paper))}.ob-preview__ing--muted{opacity:.45}.ob-preview__ing-qty{font-family:var(--mono);color:var(--accent);font-size:11px}.ob-preview__sample-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ob-preview__sample-tile{display:flex;border:1px solid var(--rule-soft);border-radius:var(--radius-sm);text-align:center;flex-direction:column;align-items: center;gap:5px;padding:8px 4px}.ob-preview__sample-art{display:grid;border-radius:4px;place-items: center;width:36px;height:36px}.ob-preview__sample-name{font-family:var(--serif);color:var(--ink-soft);font-size:10px;line-height:1.15}.ob-preview__empty-icon{color:var(--ink-faint);margin-bottom:8px;font-size:32px}.ob-preview__empty-title{font-family:var(--serif);margin:0 0 6px;font-size:20px}.ob-preview__empty-desc{color:var(--ink-faint);max-width:220px;margin:0;font-size:13px;line-height:1.45}@media (max-width:1023px){.onboarding-choices{grid-template-columns:1fr}}@media (max-width:480px){.auth-card__title{font-size:26px}.onboarding-choice{padding:14px 12px}}@media print{.library,.shop,.toast,.modal{display:none!important}.app{grid-template-columns:1fr}}
