:root{--cream: #f9f4ea;--paper: #fffaf2;--line: #e6dcc6;--line-strong: #d6c8aa;--olive-900: #2f3a1c;--olive-800: #3b4724;--olive-700: #4b5a2f;--olive-500: #6f7f4a;--muted: #827d63;--sage: #a9c29a;--sage-soft: #e5eddb;--terracotta: #c0714f;--terracotta-soft: #f5e0d4;--butter: #f3d48a;--butter-soft: #fbf0d2;--font-display: "Fraunces", Georgia, serif;--font-body: "Lora", Georgia, serif;--font-hand: "Caveat", "Segoe Print", cursive;--radius: 18px;--radius-sm: 12px;--shadow: 0 10px 30px rgba(75, 90, 47, .08), 0 2px 6px rgba(75, 90, 47, .06)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0}body{min-height:100vh;background:var(--cream);color:var(--olive-800);font-family:var(--font-body);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-variation-settings:"SOFT" 100;color:var(--olive-900);font-weight:600;line-height:1.2;margin:0 0 .5rem}a{color:var(--olive-700)}img{max-width:100%;display:block}.hand{font-family:var(--font-hand);font-size:1.5rem;line-height:1.2;color:var(--terracotta)}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;overflow:hidden}.backdrop img{position:absolute;height:auto}.backdrop-pizza{width:clamp(60px,6vw,140px);top:96px;right:2vw}.backdrop-icecream{width:clamp(55px,5vw,115px);top:48%;left:2vw}.backdrop-noodles{width:clamp(60px,6vw,145px);bottom:4vh;right:2vw}.muted{color:var(--muted);margin:0}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.4rem;border-radius:var(--radius-sm);border:1.5px solid var(--olive-700);background:var(--olive-700);color:var(--paper);font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.05rem;font-weight:500;text-decoration:none;cursor:pointer;box-shadow:0 3px 0 var(--olive-900);transition:transform .12s ease,box-shadow .12s ease,background .15s ease}.btn:hover{background:var(--olive-800)}.btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--olive-900)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-outline{background:transparent;color:var(--olive-700);box-shadow:0 3px 0 var(--line-strong)}.btn-outline:hover{background:var(--sage-soft)}.btn-outline:active{box-shadow:0 1px 0 var(--line-strong)}.input{width:100%;padding:.75rem 1rem;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);color:var(--olive-900);font-family:var(--font-body);font-size:1rem;transition:border-color .15s ease,box-shadow .15s ease}.input::placeholder{color:var(--muted);font-style:italic}.input:focus{outline:none;border-color:var(--olive-500);box-shadow:0 0 0 4px #a9c29a59}:focus-visible{outline:2px solid var(--olive-500);outline-offset:2px}.notice{padding:.75rem 1rem;border-radius:var(--radius-sm);background:var(--terracotta-soft);color:#8a4529;font-size:.95rem}.loading-screen{min-height:60vh;display:grid;place-items:center}.ink-error{margin:.5rem 0;color:#a1462a}.ink-error:before{content:"! ";font-weight:700}.ink-input{width:100%;padding:.2rem .1rem;border:none;border-bottom:2px solid var(--olive-500);background:transparent;font-family:"Kalam",var(--font-hand);font-size:1.2rem;color:var(--olive-900)}.ink-input::placeholder{color:var(--muted);font-weight:300}.ink-input:focus{outline:none;border-bottom-color:var(--terracotta)}.ink-button{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem 1.1rem .3rem;border:2px solid var(--olive-700);border-radius:255px 15px 225px/15px 225px 15px 255px;background:var(--olive-700);color:var(--paper);font-family:var(--font-hand);font-size:1.55rem;font-weight:700;cursor:pointer;transition:transform .15s ease,background .15s ease}.ink-button:hover{background:var(--olive-800);transform:rotate(-1deg)}.ink-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.ink-button small{font-size:1rem;font-weight:500}.home{min-height:100vh;display:grid;place-items:center;padding:2.5rem 1rem 4rem;overflow-x:clip}.closed-book{--gold: #e7cf8f;--open-duration: 1s;position:relative;width:min(88vw,430px,calc((100vh - 7rem)*.75));min-width:260px;aspect-ratio:3 / 4;perspective:2200px;container-type:inline-size}.ribbon{position:absolute;left:64%;bottom:-46px;width:20px;height:90px;background:linear-gradient(to right,#a85d3e,var(--terracotta) 45%,#a85d3e);clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%)}.first-page{position:absolute;top:6px;right:10px;bottom:6px;left:4px;display:flex;flex-direction:column;justify-content:center;padding:8cqi 8cqi 6cqi 10cqi;overflow-y:auto;border-radius:4px 10px 10px 4px;background-color:#fffbf3;background-image:linear-gradient(to right,rgba(47,58,28,.12),transparent 40px),repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(111,127,74,.12) 31px,rgba(111,127,74,.12) 32px);background-attachment:local;box-shadow:3px 3px #efe6d3,6px 6px #e3d8c0,9px 9px #efe6d3,12px 12px #e3d8c0;color:var(--olive-800)}.first-page-note{margin:0;font-family:var(--font-hand);font-size:7cqi;text-align:center;color:var(--muted)}.cover{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left center;transform-style:preserve-3d}.cover-front,.cover-back{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:6px 16px 16px 6px;backface-visibility:hidden;-webkit-backface-visibility:hidden}.cover-front{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6cqi;padding:9cqi 8cqi 9cqi 13cqi;background:linear-gradient(to right,#33401f 0,#46552b 18px,#3a4723 30px,rgba(0,0,0,.25) 32px,rgba(255,255,255,.06) 34px,transparent 38px),radial-gradient(120% 90% at 30% 20%,rgba(255,255,255,.1),transparent 60%),linear-gradient(160deg,#5b6c3c,var(--olive-700) 50%,#3e4a26);box-shadow:0 30px 50px #2f3a1c4d,0 8px 16px #2f3a1c33,inset 0 0 0 1px #ffffff0d,inset -6px 0 12px #00000026;color:var(--gold)}.cover-stitch{position:absolute;top:16px;right:16px;bottom:16px;left:50px;border:2px dashed rgba(231,207,143,.4);border-radius:10px;pointer-events:none}.cover-corner{position:absolute;right:0;width:44px;height:44px;background:linear-gradient(135deg,#e2c57d,#b9934a);box-shadow:inset 0 0 0 1px #0000001f}.cover-corner-top{top:0;border-top-right-radius:16px;clip-path:polygon(0 0,100% 0,100% 100%)}.cover-corner-bottom{bottom:0;border-bottom-right-radius:16px;clip-path:polygon(100% 0,100% 100%,0 100%)}.cover-title{margin:0}.cover-title img{width:60cqi;filter:drop-shadow(0 1px 0 rgba(0,0,0,.45)) drop-shadow(0 -1px 0 rgba(255,255,255,.12))}.cover-label{position:relative;max-width:78cqi;padding:2.6cqi 4.5cqi 3cqi;background:#fffbf3;border-radius:3px;box-shadow:0 4px 10px #00000040;text-align:center;transform:rotate(-2deg)}.cover-tagline{margin:0;font-family:var(--font-hand);font-size:7.4cqi;font-weight:700;line-height:1.1;white-space:nowrap;color:var(--terracotta)}.cover-steps{margin:1.2cqi 0 0;font-family:"Kalam",var(--font-hand);font-size:3.5cqi;color:var(--olive-800)}.cover-actions{display:flex;flex-direction:column;align-items:center;gap:2.2cqi}.cover-button{padding:.25rem 1.6rem .4rem;border:2px solid var(--gold);border-radius:255px 15px 225px/15px 225px 15px 255px;background:var(--gold);color:var(--olive-900);font-family:var(--font-hand);font-size:6.6cqi;font-weight:700;text-decoration:none;transition:transform .15s ease,background .15s ease}.cover-button:hover{background:#f1dca5;transform:rotate(-1.5deg) scale(1.03)}.cover-link{font-family:"Kalam",var(--font-hand);font-size:3.9cqi;color:var(--gold);text-decoration-color:#e7cf8f80;text-underline-offset:4px}.cover-link:hover{text-decoration-color:var(--gold)}.cover-back{transform:rotateY(180deg);border-radius:16px 6px 6px 16px;background:radial-gradient(circle,rgba(111,127,74,.35) 1.6px,transparent 1.8px) 0 0 / 18px 18px,var(--sage-soft);box-shadow:inset 0 0 0 10px var(--olive-700)}.closed-book{--swing: cubic-bezier(.5, 0, .3, 1);--open-angle: -160deg}.is-opening .cover{animation:cover-open var(--open-duration) var(--swing) forwards}.is-open .cover{transform:rotateY(var(--open-angle))}.is-closing .cover{animation:cover-close var(--open-duration) var(--swing) forwards}@keyframes cover-open{0%{transform:rotateY(0)}to{transform:rotateY(var(--open-angle))}}@keyframes cover-close{0%{transform:rotateY(var(--open-angle))}to{transform:rotateY(0)}}@media(min-width:900px){.closed-book.is-opening{animation:book-to-centre var(--open-duration) var(--swing) forwards}.closed-book.is-open{transform:translate(50%)}.closed-book.is-closing{animation:book-from-centre var(--open-duration) var(--swing) forwards}}@keyframes book-to-centre{0%{transform:translate(0)}to{transform:translate(50%)}}@keyframes book-from-centre{0%{transform:translate(50%)}to{transform:translate(0)}}.intro-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;pointer-events:none}.page-leaf{position:absolute;top:6px;right:10px;bottom:6px;left:4px;z-index:3;transform-origin:left center;transform-style:preserve-3d}.page-leaf>.first-page{top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.page-leaf>.leaf-back{transform:rotateY(180deg);border-radius:10px 4px 4px 10px;justify-content:flex-start;background-image:linear-gradient(to left,rgba(47,58,28,.12),transparent 40px),repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(111,127,74,.12) 31px,rgba(111,127,74,.12) 32px);box-shadow:-3px 3px #efe6d3,-6px 6px #e3d8c0}.is-turning .page-leaf{animation:page-turn var(--open-duration) var(--swing) forwards}.is-turning .cover{animation:cover-flatten var(--open-duration) var(--swing) forwards}@keyframes page-turn{0%{transform:rotateY(0)}to{transform:rotateY(-180deg)}}@keyframes cover-flatten{0%{transform:rotateY(var(--open-angle))}to{transform:rotateY(-180deg)}}.is-turning .first-page:not(.leaf-front){justify-content:flex-start}.mini-page h2{margin:0;font-family:var(--font-hand);font-variation-settings:normal;font-size:9.5cqi;font-weight:700;line-height:1.2;color:var(--olive-900)}.mini-subtitle{margin:0 0 3cqi;font-family:var(--font-hand);font-size:5cqi;color:var(--terracotta)}.mini-page ul{margin:0;padding:0;list-style:none;columns:2;font-family:"Kalam",var(--font-hand);font-size:3.8cqi;line-height:1.9}.mini-note{margin:4cqi 0 0;font-family:var(--font-hand);font-size:6cqi;color:var(--terracotta);text-align:center}.mini-polaroids{display:grid;grid-template-columns:1fr 1fr;gap:4cqi}.mini-polaroids img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border:2cqi solid #fff;border-bottom-width:6cqi;box-shadow:0 3px 8px #4b5a2f2e}.mini-polaroids img:nth-child(odd){transform:rotate(-2deg)}.mini-polaroids img:nth-child(2n){transform:rotate(1.5deg)}.page-form{display:flex;flex-direction:column;gap:3.4cqi;width:100%;text-align:left;white-space:normal}.page-form-title{margin:0;font-family:var(--font-hand);font-variation-settings:normal;font-size:9.5cqi;font-weight:700;line-height:1.05;color:var(--olive-900)}.page-form-subtitle{margin:-2cqi 0 1cqi;font-family:var(--font-hand);font-size:5.4cqi;color:var(--terracotta)}.page-form-note{margin:0;padding:1.5cqi 3cqi;background:#fdf1bd;box-shadow:0 3px 8px #4b5a2f24;font-family:"Kalam",var(--font-hand);font-size:3.7cqi;transform:rotate(-1deg)}.page-form-label{display:flex;flex-direction:column;gap:.5cqi;font-family:"Kalam",var(--font-hand);font-size:3.6cqi;font-weight:300;color:var(--muted)}.page-form .ink-input{font-size:max(16px,4.6cqi)}.page-form .ink-error{margin:0;font-family:"Kalam",var(--font-hand);font-size:3.7cqi}.page-form-button{align-self:flex-start;margin-top:1.5cqi;font-size:6cqi}.page-form-switch{margin:0;font-family:"Kalam",var(--font-hand);font-size:3.8cqi;color:var(--muted)}.page-form-switch a{color:var(--olive-700);font-weight:700;text-decoration-color:var(--terracotta);text-underline-offset:3px}.page-form-close{align-self:flex-start;margin-top:auto;padding:0;border:none;background:none;font-family:var(--font-hand);font-size:4.6cqi;color:var(--olive-700);cursor:pointer}.page-form-close:hover{text-decoration:underline;text-decoration-color:var(--terracotta)}.book{--line: 32px;--ink: var(--olive-800);--page: #fffbf3;--rule: rgba(111, 127, 74, .12);--flip-duration: .9s;max-width:1200px;margin:0 auto;padding:14px;border-radius:20px;background:linear-gradient(135deg,#56663a,var(--olive-700) 55%,#414e28);box-shadow:0 24px 50px #2f3a1c40,inset 0 0 0 2px #ffffff0f;font-family:"Kalam",var(--font-hand);font-size:1.12rem;color:var(--ink)}.book-pages{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr);height:clamp(540px,calc(100vh - 210px),860px);perspective:2400px}.book-pages:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translate(-1px);background:#2f3a1c2e;z-index:5;pointer-events:none}.book-slot{min-width:0;height:100%}.page{position:relative;height:100%;display:flex;flex-direction:column;overflow:hidden;background-color:var(--page)}.page-left{border-radius:10px 0 0 10px;background-image:linear-gradient(to left,rgba(47,58,28,.13),transparent 56px);box-shadow:-2px 2px #efe6d3,-4px 4px #e3d8c0,-6px 6px #efe6d3}.page-right{border-radius:0 10px 10px 0;background-image:linear-gradient(to right,rgba(47,58,28,.13),transparent 56px);box-shadow:2px 2px #efe6d3,4px 4px #e3d8c0,6px 6px #efe6d3}.page-scroll{flex:1;min-height:0;overflow-y:auto;padding:2rem 2.6rem 1rem;line-height:var(--line);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--line) - 1px),var(--rule) calc(var(--line) - 1px),var(--rule) var(--line));background-attachment:local;background-position:0 27px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.page-left .page-scroll{padding-right:3rem}.page-right .page-scroll{padding-left:3rem}.page-number{padding:.25rem 0 .6rem;text-align:center;font-family:var(--font-hand);font-size:1.15rem;color:var(--muted)}.leaf{position:absolute;top:0;bottom:0;width:50%;z-index:10;transform-style:preserve-3d;animation-duration:var(--flip-duration);animation-timing-function:cubic-bezier(.45,.05,.3,1);animation-fill-mode:forwards}.leaf-forward{left:50%;transform-origin:left center;animation-name:flip-forward}.leaf-backward{left:0;transform-origin:right center;animation-name:flip-backward}.leaf-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.leaf-back{transform:rotateY(180deg)}.leaf-face:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:#2f3a1c38;opacity:0;animation:leaf-shade var(--flip-duration) ease-in-out}.leaf-back:after{animation-direction:reverse}@keyframes flip-forward{0%{transform:rotateY(0)}to{transform:rotateY(-180deg)}}@keyframes flip-backward{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}@keyframes leaf-shade{0%{opacity:0}50%{opacity:1}to{opacity:0}}.book h1,.book h2,.book h3{font-family:var(--font-hand);font-variation-settings:normal;font-weight:700;color:var(--olive-900);line-height:var(--line);margin:0 0 .25rem}.book h1{font-size:2.9rem;line-height:calc(var(--line) * 2)}.book h2{font-size:2.2rem;line-height:calc(var(--line) * 1.5);margin-top:.75rem}.book h3{font-size:1.5rem}.page-header{margin-bottom:.75rem}.page-header h2{margin-top:0;font-size:2.7rem;line-height:calc(var(--line) * 2)}.page-subtitle{margin:-.4rem 0 0;font-family:var(--font-hand);font-size:1.45rem;color:var(--terracotta)}.pencil-note{margin:0;color:var(--muted);font-weight:300}.ink-link{font-family:var(--font-hand);font-size:1.45rem;font-weight:700;color:var(--olive-700);text-decoration-color:var(--terracotta);text-decoration-thickness:2px;text-underline-offset:4px}.sticky-note{background:#fdf1bd;box-shadow:0 6px 14px #4b5a2f29;color:var(--olive-900)}.pantry-page{display:flex;flex-direction:column;min-height:100%}.pantry-search{position:relative;margin-bottom:1rem}.pantry-search .sticky-note{position:absolute;z-index:20;top:calc(100% + 8px);left:0;right:1.5rem;margin:0;padding:.4rem .4rem .6rem;list-style:none;transform:rotate(-1deg)}.pantry-search li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:0 .6rem;border-radius:4px;cursor:pointer}.pantry-search li.is-active{background:#c0714f26}.pantry-search small{font-size:.9rem;color:var(--muted)}.pantry-groups{columns:2;column-gap:2rem;flex:1}.pantry-group{break-inside:avoid;margin-bottom:.75rem}.pantry-group h3{display:inline-block;font-size:1.35rem;color:var(--terracotta);border-bottom:2px solid rgba(192,113,79,.45);line-height:1.6;margin-bottom:.15rem}.pantry-group ul{margin:0;padding:0;list-style:none}.pantry-group li{display:flex;align-items:baseline;gap:.3rem}.pantry-group li:before{content:"–";color:var(--olive-500)}.pantry-group li button{margin-left:auto;border:none;background:none;color:var(--terracotta);font-size:1.2rem;line-height:1;cursor:pointer;opacity:.25;transition:opacity .15s ease}.pantry-group li:hover button,.pantry-group li button:focus-visible{opacity:1}.pantry-group li:hover span{text-decoration:line-through;text-decoration-color:var(--terracotta)}.pantry-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.25rem}.polaroid-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1.75rem 1.5rem;padding:.75rem .25rem 1rem}.polaroid{position:relative;display:block;padding:.6rem .6rem .7rem;background:#fff;box-shadow:0 6px 16px #4b5a2f2e;color:inherit;text-decoration:none;line-height:1.35;transform:rotate(-1.6deg);transition:transform .2s ease,box-shadow .2s ease}.polaroid-grid .polaroid:nth-child(2n){transform:rotate(1.4deg)}.polaroid-grid .polaroid:nth-child(3n){transform:rotate(-.6deg)}.polaroid-grid a.polaroid:hover{transform:rotate(0) translateY(-4px) scale(1.02);box-shadow:0 14px 28px #4b5a2f38}.polaroid img{width:100%;aspect-ratio:4 / 3;object-fit:cover;background:var(--butter-soft)}.polaroid h3{margin:.5rem 0 .15rem;font-family:"Kalam",var(--font-hand);font-size:1.05rem;line-height:1.3}.polaroid-counts,.polaroid-missing{margin:0;font-size:.92rem;font-weight:300}.polaroid-missing{color:var(--terracotta)}.tape{position:absolute;top:-11px;left:50%;width:78px;height:22px;transform:translate(-50%) rotate(-3deg);background:#a9c29a99;box-shadow:0 1px 2px #0000000f}.polaroid-blank{min-height:230px;background:linear-gradient(100deg,#fff 30%,var(--butter-soft) 50%,#fff 70%);background-size:300% 100%;animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.empty-note{margin-top:2rem;text-align:center}.empty-title{margin:0 0 .5rem;font-family:var(--font-hand);font-size:2.2rem;color:var(--terracotta)}.back-to-pantry{font-family:var(--font-hand);font-size:1.35rem;color:var(--olive-700);text-decoration:none}.back-to-pantry:hover{text-decoration:underline;text-decoration-color:var(--terracotta)}.polaroid-hero{width:min(80%,380px);margin:1.5rem auto 1rem;transform:rotate(-2deg)}.recipe-title{font-size:2.5rem!important;line-height:1.15!important;margin-bottom:.5rem!important}.recipe-meta{display:flex;flex-wrap:wrap;gap:0 1.25rem;margin:0}.recipe-meta span+span:before{content:"·";margin-right:1.25rem;color:var(--muted)}.diet-tags{display:flex;flex-wrap:wrap;gap:.4rem .6rem;margin:.4rem 0 0;padding:0;list-style:none}.diet-tags li{padding:0 .6rem;border:1.5px solid var(--terracotta);border-radius:255px 15px 225px/15px 225px 15px 255px;color:var(--terracotta);font-size:.95rem;line-height:1.6;text-transform:lowercase}.ingredient-list{margin:0 0 .5rem;padding:0;list-style:none}.ingredient-list li{display:flex;gap:.6rem}.tick{flex-shrink:0;width:1.2rem;font-weight:700}.ingredient-list .have .tick{color:var(--olive-500)}.ingredient-list .need{color:var(--olive-800)}.ingredient-list .need .tick{color:var(--terracotta)}.recipe-note{margin:.5rem 0 1rem;padding:.6rem 1rem;line-height:1.6;transform:rotate(.8deg)}.method-steps{margin:0;padding:0;list-style:none}.method-steps li{display:grid;grid-template-columns:2.2rem 1fr;gap:.6rem;margin-bottom:.4rem}.method-steps p{margin:0}.step-number{font-family:var(--font-hand);font-size:1.7rem;font-weight:700;color:var(--terracotta);text-align:right}.step-number:after{content:"."}.recipe-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin:1.5rem 0 1rem}@media(max-width:860px){.book{padding:8px;border-radius:14px}.book-pages{display:flex;flex-direction:column;gap:10px;height:auto}.book-pages:after{display:none}.page-left,.page-right{border-radius:8px;box-shadow:none;background-image:none}.page-scroll,.page-left .page-scroll,.page-right .page-scroll{overflow:visible;padding:1.5rem 1.25rem .5rem}.pantry-groups{column-gap:1.25rem}.book h1{font-size:2.4rem}}@media(max-width:480px){.pantry-groups{columns:1}.recipe-meta span+span:before{display:none}.polaroid-grid{grid-template-columns:1fr}}.layout{min-height:100vh;display:flex;flex-direction:column}.navbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:2rem;padding:.6rem clamp(1rem,4vw,3rem);background:#f8f3eae0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px dashed var(--line-strong)}.navbar-brand img{height:52px;width:auto}.navbar-links{display:flex;align-items:center;gap:.35rem;flex:1}.navbar-links a,.navbar-soon,.navbar-logout{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.05rem;color:var(--olive-700);text-decoration:none;padding:.4rem .9rem;border-radius:999px;white-space:nowrap;transition:background .15s ease}.navbar-links a:hover,.navbar-logout:hover{background:var(--sage-soft)}.navbar-links a.active{background:var(--olive-700);color:var(--paper)}.navbar-soon{color:var(--muted);cursor:default}.navbar-soon small{font-family:var(--font-hand);font-size:1.05rem;color:var(--terracotta);margin-left:.15rem}.navbar-logout{border:1.5px solid var(--line-strong)}.layout-main{flex:1;width:100%;max-width:1240px;margin:0 auto;padding:clamp(1.25rem,3vw,2.5rem) clamp(1rem,4vw,3rem) 4rem}@media(max-width:720px){.navbar{flex-wrap:wrap;gap:.5rem 1rem}.navbar-brand img{height:42px}.navbar-links{order:3;flex-basis:100%;gap:.15rem;overflow-x:auto}.navbar-links a,.navbar-soon,.navbar-logout{font-size:.95rem;padding:.3rem .7rem}.navbar-logout{margin-left:auto}}body.intro-hidden .layout{opacity:0}
