:root{--cream:#fff8f3;--page:#fff8f3;--glow:radial-gradient(55% 45% at 8% 2%, #ff7eb633, transparent 70%), radial-gradient(45% 40% at 96% 6%, #4db8ff2e, transparent 70%), radial-gradient(50% 45% at 50% 55%, #ff8a1f14, transparent 70%), radial-gradient(45% 40% at 6% 70%, #3dd6b529, transparent 70%), radial-gradient(45% 40% at 94% 82%, #b38bff2e, transparent 70%);--paper:#fff;--ink:#261a3d;--ink-2:#4a3d60;--muted:#8a7f99;--line:#261a3d1a;--tomato:#ff5340;--tangerine:#ff8a1f;--sunshine:#ffc93c;--pistachio:#7ed957;--mint:#3dd6b5;--sky:#4db8ff;--blueberry:#5462ff;--bubblegum:#ff7eb6;--lilac:#b38bff;--main:var(--tomato);--soft:#ffe3dc;--deep:#c4261a;--on:#fff;--display:"Fraunces", "Iowan Old Style", Georgia, serif;--sans:"Bricolage Grotesque", ui-sans-serif, system-ui, -apple-system, sans-serif;--hand:"Caveat", "Bradley Hand", cursive;--ease-out:cubic-bezier(.22, 1, .36, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);--bounce:linear(0, .063, .25 18.2%, .563, 1 36.4%, .813, .766, .75, .766, .813, 1 72.7%, .953, .938, .953, 1 90.9%, .988, 1);--food-shadow:drop-shadow(0 14px 12px #461e0029) drop-shadow(0 3px 3px #461e0029);--card-shadow:0 1px 0 #261a3d0a, 0 18px 40px -22px #261a3d59;--tabbar-h:80px;--tab-w:66px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{min-height:100dvh;font-family:var(--sans);color:var(--ink);background:var(--page);margin:0;font-size:16px;overflow-x:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit}h1,h2,h3{font-family:var(--display);font-variation-settings:"SOFT" 100, "WONK" 1;letter-spacing:-.02em;margin:0;font-weight:800}img{max-width:100%}.app{min-height:100dvh;padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 28px);overflow-x:clip}.app.is-cooking,.app.no-tabs{padding-bottom:0}.food{height:auto;filter:var(--food-shadow);will-change:transform;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;display:block}.handwritten{font-family:var(--hand);font-size:1.5rem;line-height:1.2}.kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--deep);margin:0 0 6px;font-size:.78rem;font-weight:700}.btn{--btn-bg:var(--ink);--btn-fg:#fff;--btn-edge:#0f0820;white-space:nowrap;min-height:52px;color:var(--btn-fg);background:var(--btn-bg);box-shadow:0 5px 0 var(--btn-edge), 0 14px 22px -12px #261a3d80;border-radius:18px;justify-content:center;align-items:center;gap:9px;padding:0 24px;font-size:1.02rem;font-weight:700;text-decoration:none;transition:transform .12s,box-shadow .12s,opacity .2s;display:inline-flex;transform:translateY(0)}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--btn-edge), 0 6px 10px -8px #261a3d80;transform:translateY(4px)}.btn:disabled{opacity:.45;cursor:default}.btn svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:22px;height:22px}.btn .food{width:auto;height:30px;margin:-6px 0}.btn.small{border-radius:14px;min-height:42px;padding:0 16px;font-size:.92rem}.btn-cook{--btn-bg:var(--main);--btn-fg:var(--on);--btn-edge:var(--deep)}.btn-pop{--btn-bg:var(--bubblegum);--btn-fg:#fff;--btn-edge:#d4488a}.btn-ghost{--btn-bg:#fff;--btn-fg:var(--ink);--btn-edge:#261a3d24}.icon-btn{width:46px;height:46px;color:var(--ink);transition:transform .25s var(--spring);background:#fff;border-radius:50%;flex:none;place-items:center;text-decoration:none;display:inline-grid;box-shadow:0 3px #261a3d1a,0 10px 20px -12px #261a3d66}.icon-btn:active{transform:scale(.88)}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.icon-btn svg circle{fill:currentColor}.link-btn{color:var(--muted);text-underline-offset:3px;margin-top:14px;font-size:.88rem;text-decoration:underline}.field{border:0;flex-direction:column;gap:7px;min-width:0;margin:0 0 18px;padding:0;display:flex}.field>span,.field>legend{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:4px;padding:0;font-size:.78rem;font-weight:700}.field input,.field textarea,.field select,.input{border:2px solid var(--line);background:#fff;border-radius:16px;outline:none;width:100%;padding:14px 16px;font-size:16px;transition:border-color .2s,box-shadow .2s}.field textarea{resize:vertical;line-height:1.5}.field input:focus,.field textarea:focus,.field select:focus,.input:focus{border-color:var(--main);box-shadow:0 0 0 5px color-mix(in srgb, var(--main) 18%, transparent)}.handwritten-input{font-family:var(--hand)!important;font-size:1.35rem!important}.error-note{color:#a3160b;background:#ffe3dc;border-radius:14px;margin:12px 0;padding:12px 16px;font-size:.94rem}.tabbar{z-index:40;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px)saturate(1.6);background:#ffffffdb;border-radius:28px;align-items:flex-end;padding:8px 10px 6px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 1px #261a3d0d,0 18px 40px -16px #261a3d73}.tabbar a{width:var(--tab-w);letter-spacing:.04em;color:var(--muted);flex-direction:column;align-items:center;gap:3px;padding:4px 0 14px;font-size:.72rem;font-weight:700;text-decoration:none;transition:color .25s;display:flex;position:relative}.tabbar a svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:27px;height:27px;transition:transform .4s var(--spring)}.tabbar a.active{color:var(--ink)}.tabbar a.active svg{transform:translateY(-3px)scale(1.08)}.tabbar .tab-add .plus{color:#fff;background:var(--tomato);width:54px;height:54px;transition:transform .4s var(--spring);border-radius:20px;place-items:center;margin-top:-28px;display:grid;box-shadow:0 5px #c4261a,0 14px 24px -10px #ff5340cc}.tabbar .tab-add .plus svg{stroke-width:3px}.tabbar .tab-add:hover .plus,.tabbar .tab-add.active .plus{transform:rotate(90deg)}.tab-roller{width:var(--tab-w);pointer-events:none;transform:translateX(calc(var(--tab) * var(--tab-w)));transition:transform .55s var(--ease-out);justify-content:center;display:flex;position:absolute;bottom:5px;left:10px}.tab-roller .food{width:15px;transform:rotate(calc(var(--tab) * 330deg));transition:transform .55s var(--ease-out);filter:drop-shadow(0 2px 2px #7814004d)}.resume-cooking{z-index:41;left:50%;bottom:calc(var(--tabbar-h) + 22px + env(safe-area-inset-bottom));border:2px solid var(--tomato);width:min(100vw - 24px,440px);animation:resume-in .5s var(--spring) both;background:#fff;border-radius:22px;align-items:center;padding:6px 6px 6px 8px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 16px 34px -14px #261a3d8c}@keyframes resume-in{0%{opacity:0;transform:translate(-50%,24px)}}.resume-cooking.is-ringing{animation:resume-in .5s var(--spring) both, resume-ring .7s ease-in-out infinite .5s}@keyframes resume-ring{0%,to{transform:translate(-50%)rotate(0)}25%{transform:translate(-50%)rotate(-1.5deg)}75%{transform:translate(-50%)rotate(1.5deg)}}.resume-main{min-width:0;color:var(--ink);flex:1;align-items:center;gap:10px;text-decoration:none;display:flex}.resume-pic{flex:none;place-items:center;width:46px;height:46px;display:grid}.resume-pic img{max-width:100%;max-height:100%}.resume-pic img.plated{object-fit:cover;border-radius:10px;width:100%;height:100%}.resume-text{flex-direction:column;flex:1;min-width:0;display:flex}.resume-text strong{white-space:nowrap;text-overflow:ellipsis;font-family:var(--display);font-size:1.02rem;font-weight:800;overflow:hidden}.resume-text small{color:var(--tomato);font-size:.8rem;font-weight:700}.resume-main svg{fill:none;width:20px;height:20px;stroke:var(--ink);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;flex:none}.resume-x{width:38px;height:38px;color:var(--muted);border-radius:50%;flex:none;margin-left:4px;font-size:1.3rem}.app:has(~.resume-cooking){padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 100px)}.cook-ingredients .start-over{margin:14px auto 0;display:block}.page-center{text-align:center;place-content:center;justify-items:center;gap:18px;min-height:70dvh;padding:24px;display:grid}.spinner{width:56px;height:56px;filter:var(--food-shadow);background:url(/food/donut.webp) 50%/contain no-repeat;margin:24px auto;animation:1.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toasts{z-index:100;top:calc(12px + env(safe-area-inset-top));pointer-events:none;justify-items:center;gap:8px;display:grid;position:fixed;left:0;right:0}.toast{color:#fff;background:var(--ink);max-width:calc(100vw - 32px);animation:toast-in .5s var(--spring), toast-out .35s ease-in 2.85s forwards;border-radius:18px;padding:13px 22px;font-weight:600;box-shadow:0 16px 30px -12px #261a3d80}@keyframes toast-in{0%{opacity:0;transform:translateY(-30px)scale(.9)}}@keyframes toast-out{to{opacity:0;transform:translateY(-20px)}}.page-head{align-items:center;gap:14px;padding:30px 0 20px;display:flex}.page-head h1{font-size:clamp(2.3rem,9vw,3.4rem);line-height:.95}.confetti{z-index:90;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti .bit{top:-60px;left:var(--x);width:var(--size);opacity:0;animation:fall var(--dur) cubic-bezier(.3, .1, .6, 1) var(--delay) forwards;position:absolute}.confetti .bit .food{width:100%}@keyframes fall{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:1;transform:translate(var(--drift), 112vh) rotate(var(--spin))}}.steam{pointer-events:none;width:46%;position:absolute;top:-14%;left:50%;overflow:visible;transform:translate(-50%)}.steam path{fill:none;stroke:#fff;stroke-linecap:round;opacity:0;filter:blur(6px);animation:4.2s ease-in-out infinite wisp}.steam path:nth-child(2){animation-delay:1.4s}.steam path:nth-child(3){animation-delay:2.8s}@keyframes wisp{0%{opacity:0;transform:translateY(30px)scaleX(.7)}25%{opacity:.75}70%{opacity:.4}to{opacity:0;transform:translateY(-40px)scaleX(1.25)}}.thinking-pot{justify-items:center;gap:12px;padding:16px 0;display:grid}.pot-scene{aspect-ratio:1.3;width:min(270px,70vw);position:relative}.pot-scene .pot-body{width:100%;position:absolute;bottom:0;left:0;right:0}.pot-scene .pot-lid{transform-origin:70% 100%;width:92%;animation:1.1s ease-in-out infinite lid;position:absolute;bottom:44%;left:4%}@keyframes lid{0%,to{transform:translateY(0)rotate(0)}20%{transform:translateY(-26%)rotate(-7deg)}40%{transform:translateY(0)rotate(0)}60%{transform:translateY(-12%)rotate(5deg)}75%{transform:translateY(0)}}.pot-scene .tumble{opacity:0;width:22%;animation:2.4s ease-in infinite tumble;position:absolute;top:-40%}@keyframes tumble{0%{opacity:0;transform:translateY(-30px)rotate(0)}12%{opacity:1}62%{opacity:1;transform:translateY(150%)rotate(200deg)scale(.9)}72%,to{opacity:0;transform:translateY(185%)rotate(240deg)scale(.6)}}.thinking-line{font-family:var(--display);animation:line-in .5s var(--ease-out);margin:0;font-size:1.35rem;font-style:italic;font-weight:600}@keyframes line-in{0%{opacity:0;transform:translateY(8px)}}.dog{pointer-events:auto;cursor:pointer;position:relative}.dog-pose{opacity:0;transform-origin:50% 100%;transition:opacity .35s ease, transform .45s var(--spring);position:absolute;bottom:0;right:0;transform:translateY(6px)scale(.98)}.dog-pose.on{opacity:1;transform:none}.dog-pose .food{width:100%}.dog-pose.on.breathe .food{transform-origin:50% 100%;animation:3.4s ease-in-out infinite breathe}@keyframes breathe{50%{transform:scaleY(1.012)scaleX(.997)}}.bubble{z-index:3;width:max-content;max-width:210px;color:var(--ink);animation:bubble-in .45s var(--spring);pointer-events:none;background:#fff;border-radius:18px;padding:10px 14px;font-size:.92rem;font-weight:600;line-height:1.3;position:absolute;box-shadow:0 12px 24px -12px #261a3d73}.bubble:after{content:"";border:10px solid #0000;border-top-color:#fff;border-bottom:0;position:absolute;bottom:-9px;left:30px}.bubble.tail-right:after{left:auto;right:36%}@keyframes bubble-in{0%{opacity:0;transform:translateY(10px)scale(.85)}}.dog-heart{z-index:4;color:var(--bubblegum);pointer-events:none;animation:heart-up 1.4s var(--ease-out) forwards;font-size:1.6rem;position:absolute}@keyframes heart-up{0%{opacity:1;transform:translateY(10px)scale(.4)}to{opacity:0;transform:translate(-16px,-70px)scale(1.25)}}.edit-tag{font-family:var(--hand);color:#5b3a12;clip-path:polygon(12px 0,100% 0,100% 100%,12px 100%,0 50%);filter:drop-shadow(0 3px 2px #50280033);background:linear-gradient(#e9c48f,#ddb276);align-items:center;gap:8px;padding:6px 14px 6px 22px;font-size:1.2rem;font-weight:700;display:inline-flex;position:relative}.edit-tag:before{content:"";background:var(--cream);border-radius:50%;width:7px;height:7px;margin-top:-3.5px;position:absolute;top:50%;left:10px;box-shadow:inset 0 1px 2px #00000059}.edit-tag .who{width:22px;height:22px;font-family:var(--sans);color:#fff;background:var(--who,var(--ink));border-radius:50%;place-items:center;font-size:.72rem;font-weight:800;display:inline-grid}::view-transition-old(root){animation-duration:.35s}::view-transition-new(root){animation-duration:.35s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.tabbar,.recipe-topbar,.cook-bar,.toasts{display:none!important}}@media (min-width:520px){:root{--tab-w:80px}}.library{background:var(--glow), var(--page);min-height:100dvh;overflow-x:hidden}.lib-hero{max-width:1100px;min-height:390px;padding:calc(46px + env(safe-area-inset-top)) 20px 30px;text-align:center;margin:0 auto;position:relative}.floaters{pointer-events:none;position:absolute;inset:0}.floater{left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:calc(var(--w) * 1px);pointer-events:auto;cursor:grab;transform:translate(calc(var(--px,0) * var(--d) * 40px), calc(var(--py,0) * var(--d) * 40px + var(--sy,0) * var(--d) * -.4px));transition:transform .35s var(--ease-out);position:absolute}.floater.desk{display:none}.floater-in{animation:float-in 1s var(--bounce) both;animation-delay:calc(.15s + var(--i) * 90ms);display:block}@keyframes float-in{0%{opacity:0;transform:translateY(-140px)scale(.6)rotate(-30deg)}30%{opacity:1}}.floater-bob{animation:bob calc(3.6s + var(--i) * .45s) ease-in-out infinite alternate;display:block}@keyframes bob{0%{transform:translateY(-5px)}to{transform:translateY(6px)}}.floater-bob.boing{animation:boing .75s var(--spring)}@keyframes boing{0%{transform:scale(1)}25%{transform:scale(1.22,.82)rotate(-8deg)}55%{transform:scale(.88,1.14)rotate(10deg)translateY(-16px)}to{transform:scale(1)rotate(0)}}.floater .food{width:100%;transform:rotate(calc(var(--r) * 1deg))}.hero-kicker{letter-spacing:.12em;text-transform:uppercase;animation:pop-in .6s var(--spring) both .1s;background:#fff;border-radius:99px;margin:0 0 10px;padding:7px 16px;font-size:.78rem;font-weight:700;display:inline-block;position:relative;box-shadow:0 6px 16px -10px #261a3d80}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}}.hero-title{flex-direction:column;align-items:center;line-height:.86;display:flex;position:relative}.hero-title .t1{color:var(--tomato);animation:pop-in .6s var(--spring) both .2s;font-size:clamp(1.9rem,8vw,3rem);font-style:italic;font-weight:600}.hero-title .t2{letter-spacing:-.04em;font-size:clamp(4.6rem,23vw,10rem);font-weight:900;display:flex}.hero-title .t2 span{color:var(--ink);text-shadow:.045em .045em 0 var(--tomato);animation:letter-drop .9s var(--bounce) both;animation-delay:calc(.3s + var(--i) * 70ms);display:inline-block}.hero-title .t2 span:nth-child(odd){text-shadow:.045em .045em 0 var(--tangerine)}@keyframes letter-drop{0%{opacity:0;transform:translateY(-80px)rotate(-12deg)}20%{opacity:1}}.hero-swoosh{width:min(330px,70vw);margin:2px auto 0;display:block;overflow:visible}.hero-swoosh path{fill:none;stroke:var(--tomato);stroke-width:7px;stroke-linecap:round;stroke-dasharray:420;stroke-dashoffset:420px;animation:draw 1s var(--ease-out) forwards 1s}@keyframes draw{to{stroke-dashoffset:0}}.hero-count{color:var(--ink-2);margin:14px 0 0;font-weight:600;position:relative}.lib-tools{z-index:2;flex-wrap:wrap;justify-content:center;gap:10px;max-width:780px;margin:0 auto 26px;padding:0 16px;display:flex;position:relative}.search{background:#fff;border-radius:18px;flex:260px;align-items:center;gap:10px;min-width:0;min-height:52px;padding:0 18px;transition:box-shadow .2s;display:flex;box-shadow:0 5px #261a3d14,0 14px 24px -14px #261a3d66}.search:focus-within{box-shadow:0 5px 0 #261a3d14, 0 0 0 4px var(--tomato)}.search svg{fill:none;width:21px;height:21px;stroke:var(--muted);stroke-width:2.4px;stroke-linecap:round;flex:none}.search input{background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:16px}.views{background:#ffffffa6;border-radius:18px;padding:5px;display:flex}.views button{min-height:42px;color:var(--ink-2);border-radius:14px;align-items:center;gap:6px;padding:0 14px;font-size:.92rem;font-weight:700;transition:background .25s,color .25s,box-shadow .25s;display:flex}.views button.on{color:var(--ink);background:#fff;box-shadow:0 4px 10px -6px #261a3d80}.views svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;width:19px;height:19px}.surprise svg{fill:none}.surprise svg circle{fill:currentColor;stroke:none}.surprise:hover svg{animation:roll .6s var(--spring)}@keyframes roll{to{transform:rotate(360deg)}}.cook-as{background:#ffffffa6;border-radius:18px;align-items:center;gap:8px;min-height:52px;padding:0 14px 0 8px;font-size:.92rem;font-weight:700;display:flex}.who-dot{color:#fff;background:var(--who,var(--ink));border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-weight:800;display:inline-grid}.room{gap:26px;max-width:1180px;margin:0 auto;padding:0 12px;display:grid}@media (min-width:1000px){.room{justify-items:center}.room>.bookcase,.room>.table-view{width:min(100%,960px)}}.bookcase{min-width:0;padding-top:40px;position:relative}.awning{z-index:3;background:linear-gradient(180deg, #ffffff40, transparent 40%), repeating-linear-gradient(90deg, var(--tomato) 0 34px, #fff 34px 68px);filter:drop-shadow(0 8px 6px #7814004d);transform-origin:top;height:66px;animation:awning-in .9s var(--bounce) both .4s;border-radius:14px 14px 0 0;position:absolute;top:0;left:-10px;right:-10px;-webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - 17px) no-repeat,radial-gradient(17px at 17px 0,#000 97%,#0000) 0 100%/34px 17px repeat-x;mask:linear-gradient(#000 0 0) top/100% calc(100% - 17px) no-repeat,radial-gradient(17px at 17px 0,#000 97%,#0000) 0 100%/34px 17px repeat-x}@keyframes awning-in{0%{transform:scaleY(.15)}}.bookcase-frame{box-shadow:inset 0 0 0 14px var(--mint), inset 0 0 0 16px #26b998, inset 0 26px 30px -18px #10645073, 0 34px 50px -26px #105a4699;background:repeating-linear-gradient(90deg,#0000 0 140px,#108a7012 140px 142px),linear-gradient(#c9f5ea,#e3fbf5);border-radius:6px 6px 22px 22px;padding:30px 18px 18px;position:relative}.shelf{position:relative}.shelf-row{scroll-snap-type:x proximity;scrollbar-width:none;align-items:flex-end;gap:4px;min-height:300px;padding:52px 14px 0;display:flex;overflow:auto hidden}.shelf-row::-webkit-scrollbar{display:none}.plank{z-index:1;background:linear-gradient(180deg, #8af0d6 0, var(--mint) 30%, #22b594 100%);border-radius:6px;height:22px;margin:0 -4px 34px;position:relative;box-shadow:0 14px 16px -10px #1064508c}.shelf:last-child .plank{margin-bottom:4px}.shelf-tag{font-family:var(--display);white-space:nowrap;background:#fff;border-radius:10px;padding:4px 14px 5px;font-size:.92rem;font-style:italic;font-weight:700;position:absolute;top:14px;left:50%;transform:translate(-50%)rotate(-2deg);box-shadow:0 6px 12px -6px #10645099}.shelf-tag:before{content:"";background:var(--tomato);border-radius:50%;width:10px;height:10px;margin-left:-5px;position:absolute;top:-7px;left:50%;box-shadow:inset -2px -2px #0003}.book{--lift:0px;width:var(--book-w);height:var(--book-h);scroll-snap-align:start;transform-origin:50% 100%;transform:translateY(var(--lift));transition:transform .4s var(--spring), opacity .3s, filter .3s;animation:book-in .9s var(--bounce) both;animation-delay:calc(.5s + var(--si,0) * .12s + var(--i) * 70ms);flex:none;position:relative}@keyframes book-in{0%{opacity:0;transform:translateY(-160px)rotate(-8deg)}25%{opacity:1}}:is(.book:hover,.book:focus-visible){--lift:-14px;outline:none}.book-spine{color:var(--book-on);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .13 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E"), linear-gradient(90deg, #0003, #ffffff47 14%, #fff0 36%, #0000 70%, #0000002e), var(--book-main);border-radius:7px 7px 3px 3px;flex-direction:column;align-items:center;transition:box-shadow .3s;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 6px 10px -4px #28140566}.book:hover .book-spine{box-shadow:0 20px 22px -12px #2814058c}.foil{opacity:.55;border-top:2px solid;border-bottom:2px solid;flex:none;width:100%;height:9px;margin-top:14px}.foil.bottom{margin:8px 0 12px}.pattern-1 .foil{opacity:.5;background:radial-gradient(circle,currentColor 1.8px,#0000 2.2px) 0 0/9px 9px;border:0;height:18px}.pattern-2 .foil{opacity:1;background:var(--book-soft);border:0;height:24px;box-shadow:inset 0 2px #fff6}.pattern-3 .foil{opacity:.45;background:repeating-linear-gradient(-45deg,currentColor 0 3px,#0000 3px 8px);border:0;height:16px}.book-title{writing-mode:vertical-rl;text-align:center;min-height:0;font-family:var(--display);font-variation-settings:"SOFT" 100, "WONK" 0;letter-spacing:.01em;flex:1;padding:12px 0 8px;font-size:.92rem;font-weight:800;line-height:1.04;overflow:hidden}.book-window{width:calc(var(--book-w) - 12px);aspect-ratio:1;background:#fff;border-radius:50%;flex:none;max-width:40px;overflow:hidden;box-shadow:0 0 0 3px #ffffffb3,inset 0 2px 4px #00000026}.book-window img{object-fit:cover;width:100%;height:100%;display:block}.book-window img.cut{object-fit:contain;filter:none;padding:2px;transform:scale(1.12)}.ribbon{width:8px;height:calc(var(--book-h) * .32);background:var(--ribbon);clip-path:polygon(0 0,100% 0,100% 100%,50% 84%,0 100%);transform-origin:top;filter:drop-shadow(0 2px 1px #0003);pointer-events:none;animation:3.4s ease-in-out infinite alternate ribbon;position:absolute;top:-3px;right:22%}.book:hover .ribbon{animation-duration:.7s}@keyframes ribbon{0%{transform:rotate(-4deg)}to{transform:rotate(5deg)}}.cooked-badge{color:#fff;background:var(--ink);pointer-events:none;border-radius:99px;place-items:center;min-width:24px;height:24px;padding:0 5px;font-size:.72rem;font-weight:800;display:grid;position:absolute;top:-12px;left:-6px;box-shadow:0 3px 6px #00000040}.book.is-notebook .book-spine{color:var(--ink);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .2 0 0 0 0 .05 0 0 0 .18 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E"),linear-gradient(90deg,#00000024,#ffffff40 16%,#0000 45%,#0000001f),#dcbc8c}.book.is-notebook .foil{opacity:.92;background:repeating-linear-gradient(90deg, var(--book-main) 0 6px, var(--book-soft) 6px 12px);border:0;height:20px;margin-top:10px;transform:rotate(-3deg)scaleX(1.2)}.book.is-notebook .book-title{font-family:var(--hand);background:#fffdf6;border-radius:4px;margin:10px 0;padding:10px 3px;font-size:1.15rem;font-weight:700;box-shadow:0 1px 2px #00000026}.book.is-dim{opacity:.25;filter:saturate(.2)}.book.is-glow{--lift:-10px}.book.is-glow .book-spine,.book.is-spotlight .book-spine{box-shadow:0 0 0 4px #fff,0 0 26px 8px #ff7eb6e6}.book.is-spotlight{--lift:-22px;transition-duration:.12s}.book.is-pulling{z-index:3;animation:pull-out .5s var(--ease-out) forwards}@keyframes pull-out{0%{transform:translateY(0)}40%{transform:translateY(-40px)rotate(-3deg)}to{opacity:0;transform:translateY(-60px)rotate(-10deg)scale(1.15)}}.ghost-book{color:#108a70;width:52px;height:190px;transition:background .2s, transform .35s var(--spring);border:3px dashed #108a7073;border-radius:8px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:10px;margin-left:6px;text-decoration:none;display:flex}.ghost-book.small{width:38px;height:130px}.ghost-book span{font-size:1.8rem;font-weight:700;line-height:1}.ghost-book em{writing-mode:vertical-rl;font-style:normal;font-family:var(--hand);font-size:1.25rem;font-weight:700}.ghost-book:hover{background:#ffffff8c;transform:translateY(-8px)}.shelf-decor{flex:none;align-items:flex-end;margin-left:auto;padding-left:22px;display:flex}.shelf-decor .food{height:var(--h);pointer-events:auto;width:auto;transition:transform .5s var(--spring);margin-bottom:-2px}.shelf-decor .food:hover{transform:rotate(-6deg)translateY(-6px)}.table-view{min-width:0;animation:cloth-in .7s var(--ease-out) both;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55 1.4' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .4 0 0 0 0 .3 0 0 0 0 .2 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"),radial-gradient(70% 60% at 50% 40%,#fff,#fbf4ee);border-radius:34px;padding:34px 14px 40px;position:relative;box-shadow:inset 0 0 0 10px #fff,inset 0 0 0 12px #ff7eb659,0 30px 50px -28px #78283c73}@keyframes cloth-in{0%{opacity:0;transform:translateY(30px)scale(.98)}}.table-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:30px 14px;display:grid}.place{transform:rotate(var(--tilt));transition:transform .45s var(--spring), opacity .3s, filter .3s;animation:plate-in .8s var(--bounce) both;animation-delay:calc(.2s + var(--i) * 80ms);flex-direction:column;align-items:center;gap:8px;text-decoration:none;display:flex;position:relative}@keyframes plate-in{0%{opacity:0;transform:translateY(-50px) scale(.7) rotate(var(--tilt))}30%{opacity:1}}.place:hover{transform:rotate(0)translateY(-8px)scale(1.04)}.place .dish-wrap{aspect-ratio:1;place-items:center;width:100%;display:grid;position:relative}.place .dish-photo{width:100%}.place .doodle-plate{width:100%;position:relative}.place .doodle-plate>.dish-art{width:64%;position:absolute;top:16%;left:18%}.polaroid{background:#fff;width:92%;padding:7px 7px 26px;box-shadow:0 16px 22px -12px #3c140080,0 2px 3px #0000001f}.polaroid img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.place-card{text-align:center;background:#fff;border-radius:6px;max-width:100%;padding:8px 12px 9px;position:relative;box-shadow:0 8px 14px -8px #3c140073}.place-card:before{content:"";background:linear-gradient(#0000000d,#0000);border-radius:6px 6px 0 0;height:40%;position:absolute;top:0;left:0;right:0}.place-card strong{font-family:var(--display);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.02rem;font-weight:800;line-height:1.1;display:-webkit-box;overflow:hidden}.place-card small{color:var(--muted);margin-top:3px;font-size:.72rem;font-weight:600;display:block}.place-card .try{letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--bubblegum);border-radius:99px;padding:2px 8px;font-size:.68rem;font-weight:800;position:absolute;top:-10px;right:-10px;transform:rotate(8deg)}.place.is-dim{opacity:.25;filter:saturate(.2)}.place.is-glow,.place.is-spotlight{transform:rotate(0)translateY(-10px)scale(1.06)}.place.is-spotlight .dish-wrap{filter:drop-shadow(0 0 22px #ff7eb6f2)}.place.is-pulling{animation:lift-off .5s var(--ease-out) forwards}@keyframes lift-off{to{opacity:0;transform:translateY(-40px)scale(1.25)}}.table-empty{text-align:center;justify-items:center;gap:10px;padding:30px 0;display:grid}.table-empty .food{width:180px}.pup-corner{height:250px;color:var(--ink);margin-bottom:10px;text-decoration:none;display:block;position:relative}.pup-corner:before{content:"";background:radial-gradient(closest-side,#ff7eb647,#0000);border-radius:50%;height:46px;position:absolute;bottom:30px;left:8%;right:8%}.pup-corner .dog{position:absolute;bottom:40px;right:7%}.pup-corner .corner-cta{text-align:center;font-size:.95rem;font-weight:800;position:absolute;bottom:4px;left:0;right:0}@media (min-width:1000px){.pup-corner{width:min(100%,560px);height:290px}.pup-corner .dog{right:calc(50% - 142px)}}@media (max-width:520px){.lib-tools{gap:8px}.surprise{padding:0 15px}.surprise .label,.cook-as .name{display:none}.cook-as{padding:0 9px}.lib-hero{min-height:370px}}@media (min-width:720px){.floater.desk{display:block}.lib-hero{min-height:470px;padding-top:calc(70px + env(safe-area-inset-top))}.shelf-row{padding:58px 22px 0}.bookcase-frame{padding:34px 26px 22px}}.book-from{max-width:calc(var(--book-w) + 18px);white-space:nowrap;text-overflow:ellipsis;color:var(--ink);pointer-events:none;background:#fffaf0;border-radius:6px;padding:2px 6px;font-size:.62rem;font-weight:800;line-height:1.3;position:absolute;bottom:10px;left:50%;overflow:hidden;transform:translate(-50%)rotate(-4deg);box-shadow:0 2px 4px #261a3d40}.cook-as img.who-dot{object-fit:cover}.recipe-page{min-height:100dvh;padding-bottom:calc(120px + env(safe-area-inset-bottom));background:radial-gradient(circle at 14px 14px, #ffffff8c 3px, transparent 3.6px) 0 0 / 30px 30px, var(--soft)}.recipe-topbar{z-index:20;max-width:900px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;justify-content:space-between;align-items:center;margin:0 auto;display:flex;position:sticky;top:0}.topbar-actions{gap:8px;display:flex}.heart svg path{transition:fill .25s,stroke .25s}.heart.on{color:var(--tomato)}.heart.on svg path{fill:var(--tomato);animation:heart-pop .45s var(--spring);transform-origin:50%}@keyframes heart-pop{40%{transform:scale(1.35)}}.menu-wrap{position:relative}.menu{z-index:30;transform-origin:100% 0;min-width:230px;animation:menu-in .25s var(--ease-out);background:#fff;border-radius:18px;padding:6px;position:absolute;top:54px;right:0;box-shadow:0 20px 44px -16px #261a3d73}@keyframes menu-in{0%{opacity:0;transform:scale(.9)}}.menu button{text-align:left;border-radius:12px;width:100%;padding:13px 14px;font-weight:600;display:block}.menu button:hover{background:var(--soft)}.menu button:disabled{opacity:.5}.menu .danger{color:#d1301f}.dish-hero{place-items:center;max-width:640px;height:min(78vw,470px);margin:-6px auto 0;display:grid;position:relative}.hero-blob{aspect-ratio:1;background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--main) 70%, #fff), var(--main));opacity:.9;width:74%;animation:morph 12s ease-in-out infinite alternate, pop-in .7s var(--spring) both;border-radius:42% 58% 63% 37%/41% 44% 56% 59%;position:absolute}@keyframes morph{33%{border-radius:63% 37% 45% 55%/55% 61% 39% 45%;transform:rotate(8deg)}66%{border-radius:37% 63% 52% 48%/38% 46% 54% 62%;transform:rotate(-6deg)}to{border-radius:52% 48% 38% 62%/60% 40%;transform:rotate(4deg)}}.scatter{pointer-events:none;position:absolute;inset:0}.scatter-item{left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:calc(var(--w) * 1px);animation:scatter-in .8s var(--bounce) both, bob calc(4s + var(--i) * .5s) ease-in-out infinite alternate;animation-delay:calc(.6s + var(--i) * .1s), calc(1.4s + var(--i) * .1s);position:absolute}.scatter-item .food{width:100%;transform:rotate(calc(var(--r) * 1deg))}@keyframes scatter-in{0%{opacity:0;transform:scale(.2)rotate(-60deg)}}.cover-dish{z-index:1;width:min(74vw,400px);animation:dish-drop 1s var(--bounce) both .15s;position:relative}@keyframes dish-drop{0%{opacity:0;transform:translateY(-120px)scale(.8)}25%{opacity:1}}.cover-dish .hero-dish{z-index:1;will-change:transform;filter:drop-shadow(0 26px 22px #3c14004d)drop-shadow(0 6px 6px #3c140033);width:100%;animation:5s ease-in-out infinite alternate hover;display:block;position:relative}.cover-dish.photo .hero-dish{filter:none;border-radius:36px;box-shadow:0 30px 50px -24px #3c140080}.cover-dish.doodle .hero-dish{filter:none}@keyframes hover{to{transform:translateY(-8px)rotate(1.5deg)}}.cover-dish .steam{z-index:2;top:-26%}.plating{z-index:3;white-space:nowrap;background:#fff;border-radius:99px;align-items:center;gap:8px;padding:6px 16px 6px 8px;font-size:.9rem;font-weight:700;display:flex;position:absolute;bottom:-18px;left:50%;transform:translate(-50%);box-shadow:0 10px 20px -10px #261a3d73}.plating .spinner{width:30px;height:30px;margin:0}.cover-plated{z-index:1;aspect-ratio:.86;cursor:pointer;width:min(68vw,340px);animation:dish-drop 1s var(--bounce) both .15s;position:relative}.print{background:#fff;margin:0;padding:4.5% 4.5% 17%;position:absolute;inset:0;box-shadow:0 24px 34px -18px #3c14008c,0 2px 4px #0000001a}.print img{object-fit:cover;background:#eee;width:100%;height:100%;display:block}.print.front{transform:rotate(-3deg)}.print.back{transform:rotate(calc(var(--n) * 7deg)) translate(calc(var(--n) * 16px), calc(var(--n) * -6px));filter:brightness(.96)}.print figcaption{text-align:center;font-family:var(--hand);color:var(--ink);font-size:clamp(1.15rem,5vw,1.5rem);font-weight:700;position:absolute;bottom:3.5%;left:0;right:0}.tape{z-index:2;background:color-mix(in srgb, var(--bubblegum) 60%, transparent);width:96px;height:30px;margin-left:-48px;position:absolute;top:-14px;left:50%;transform:rotate(-4deg);box-shadow:0 1px 2px #0000001a}.print-count{z-index:3;color:#fff;background:var(--ink);border-radius:99px;padding:5px 12px;font-size:.8rem;font-weight:800;position:absolute;bottom:-10px;right:-8px}.sheet{max-width:900px;box-shadow:var(--card-shadow);animation:sheet-in .7s var(--ease-out) both .25s;background:#fff;border-radius:36px;margin:26px auto 0;padding:34px 22px 30px;position:relative}@keyframes sheet-in{0%{opacity:0;transform:translateY(60px)}}.recipe-title{flex-direction:column;margin:4px 0 14px;line-height:.92;display:flex}.recipe-title .t-top{-webkit-line-clamp:2;color:var(--deep);-webkit-box-orient:vertical;font-size:clamp(1.6rem,7vw,2.6rem);font-style:italic;font-weight:600;display:-webkit-box;overflow:hidden}.recipe-title .t-main{letter-spacing:-.035em;overflow-wrap:break-word;font-size:clamp(2.9rem,13.5vw,5.4rem);font-weight:900}.stickers{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.stickers span{color:#fff;background:var(--sc);transform:rotate(var(--st));border:3px solid #fff;border-radius:99px;padding:6px 14px;font-size:.86rem;font-weight:800;box-shadow:0 6px 12px -6px #261a3d80}.recipe-desc{font-family:var(--display);color:var(--ink-2);margin:16px 0 0;font-size:1.22rem;font-style:italic;line-height:1.4}.stats{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:8px;margin:22px 0 6px;display:grid}.stat{background:var(--sc);border-radius:20px;flex-direction:column;padding:12px;display:flex}.stat strong{font-family:var(--display);white-space:nowrap;font-size:clamp(1.15rem,5vw,1.45rem);font-weight:800}.stat span{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:.8rem;font-weight:700}.ingredients,.method,.notes,.prints-strip{margin-top:30px}.ingredients h2,.method h2,.notes h2,.prints-strip h2{font-size:2rem}.ingredients header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.scaler{background:var(--soft);border-radius:16px;padding:4px;display:flex}.scaler button{min-width:46px;height:38px;color:var(--deep);transition:background .25s, color .25s, transform .3s var(--spring);border-radius:12px;font-weight:800}.scaler button.on{color:var(--on);background:var(--main);transform:scale(1.06)}.ingredients ul{columns:2 300px;column-gap:26px;margin:14px 0 0;padding:0;list-style:none}.ingredients li{break-inside:avoid}.ingredients li button{text-align:left;border-radius:16px;align-items:center;gap:14px;width:100%;padding:7px 4px;line-height:1.35;transition:background .2s;display:flex}.ingredients li button:hover{background:var(--soft)}.ing-icon{flex:none;place-items:center;width:52px;height:52px;display:grid}.ing-icon .food{width:auto;max-width:52px;height:auto;max-height:52px;transition:transform .45s var(--spring), opacity .3s}.ing-dot{background:var(--main);border-radius:50%;width:14px;height:14px}.ing-text{flex:1;font-size:1.04rem;transition:color .3s}.ing-check{border:2.5px solid var(--line);width:28px;height:28px;transition:background .25s, border-color .25s, transform .35s var(--spring);border-radius:50%;flex:none;place-items:center;display:grid}.ing-check svg{fill:none;stroke:#fff;stroke-width:3.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24px;width:16px;transition:stroke-dashoffset .3s .1s}.ingredients li.checked .ing-check{background:var(--pistachio);border-color:var(--pistachio);transform:scale(1.1)}.ingredients li.checked .ing-check svg{stroke-dashoffset:0}.ingredients li.checked .ing-text{color:var(--muted);text-decoration:line-through;text-decoration-thickness:2px}.ingredients li.checked .ing-icon .food{opacity:.45;transform:translateY(-6px)rotate(-14deg)scale(.86)}.ing-head{font-family:var(--display);color:var(--deep);break-after:avoid;padding:12px 0 4px;font-size:1.15rem;font-style:italic;font-weight:700}.method ol{margin:14px 0 0;padding:0;list-style:none}.method li{animation:step-in .6s var(--ease-out) both;animation-delay:calc(.5s + var(--n) * 60ms);gap:16px;padding:10px 0;display:flex}@keyframes step-in{0%{opacity:0;transform:translate(-14px)}}.method .num{width:46px;height:46px;font-family:var(--display);color:#fff;background:var(--sc);box-shadow:0 6px 12px -6px var(--sc);border-radius:46% 54% 52% 48%/55% 45%;flex:none;place-items:center;font-size:1.35rem;font-weight:900;display:grid}.method p{margin:9px 0 0;font-size:1.08rem;line-height:1.55}.step-uses{gap:4px;margin-top:6px;display:flex}.step-uses .food{width:auto;height:34px}.notes{background:#ffeaf3;border-radius:6px;padding:22px 22px 18px;position:relative;transform:rotate(-1deg);box-shadow:0 10px 18px -10px #503c0066}.notes:before{content:"";background:color-mix(in srgb, var(--lilac) 55%, transparent);width:90px;height:26px;margin-left:-45px;position:absolute;top:-12px;left:50%;transform:rotate(3deg)}.notes h2{font-size:1.3rem}.notes p{margin:6px 0 0}.prints-row{gap:16px;padding:16px 6px 10px;display:flex;overflow-x:auto}.mini-print{width:108px;transform:rotate(var(--t));transition:transform .35s var(--spring);background:#fff;flex:none;padding:6px 6px 20px;box-shadow:0 10px 18px -10px #3c140080,0 1px 3px #0000001f}.mini-print:hover{transform:rotate(0)scale(1.06)}.mini-print img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.source{text-align:center;color:var(--muted);margin:26px 0 0;font-size:.9rem}.cook-bar{z-index:30;left:0;right:0;bottom:calc(14px + env(safe-area-inset-bottom));pointer-events:none;animation:bar-in .7s var(--spring) both .9s;justify-content:center;gap:10px;padding:0 16px;display:flex;position:fixed}.cook-bar>*{pointer-events:auto}.cook-bar .start-cooking{flex:0 260px}@keyframes bar-in{0%{opacity:0;transform:translateY(90px)}}.btn-cook .cook-flame{fill:#ffd25a;transform-origin:50% 100%;animation:.7s ease-in-out infinite alternate flicker}@keyframes flicker{0%{transform:scale(1)rotate(-3deg)}50%{transform:scale(.92,1.1)rotate(2deg)}to{transform:scale(1.05,.95)rotate(-1deg)}}.sheet-backdrop{z-index:60;background:#261a3d73;justify-content:center;align-items:flex-end;animation:.25s fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.bottom-sheet,.share-sheet{width:min(100%,640px);max-height:88dvh;padding:10px 22px calc(24px + env(safe-area-inset-bottom));text-align:center;animation:sheet-up .45s var(--ease-out);background:#fff;border-radius:30px 30px 0 0;overflow-y:auto}@keyframes sheet-up{0%{transform:translateY(100%)}}.sheet-handle{background:var(--line);border-radius:3px;width:46px;height:5px;margin:0 auto 16px}.bottom-sheet h3,.share-sheet h3{font-size:1.8rem}.bottom-sheet .sub,.share-sheet .sub{color:var(--muted);margin:6px 0 18px}.sheet-art{animation:pop-in .6s var(--spring) both;margin:0 auto 10px}.photo-buttons{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.photo-buttons .btn{flex:200px}.prints-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;margin-bottom:20px;display:grid}.print-tile{background:#fff;margin:0;padding:7px 7px 10px;box-shadow:0 10px 20px -12px #3c140080,0 1px 3px #0000001f}.print-tile img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.print-tile figcaption{font-family:var(--hand);margin:6px 0;font-size:1.15rem;font-weight:700}.print-actions{justify-content:center;gap:6px;display:flex}.print-actions .btn{min-height:34px;padding:0 10px;font-size:.8rem}.share-preview{background:var(--soft);border-radius:20px;place-items:center;min-height:200px;max-height:52dvh;margin-bottom:18px;display:grid;overflow-y:auto}.share-preview img{width:100%;display:block}.share-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}@media (min-width:720px){.sheet{padding:44px 48px 36px}.dish-hero{height:470px}}@media print{.recipe-page{background:#fff}.dish-hero{height:300px}.sheet{box-shadow:none}}.method .amt{background:linear-gradient(transparent 58%, var(--soft) 58%);border-radius:2px;font-weight:750}.improve-cta{text-align:left;width:100%;color:var(--ink);border:2px dashed color-mix(in srgb, var(--main) 55%, transparent);box-shadow:var(--card-shadow);transition:transform .25s var(--spring);background:#fff;border-radius:24px;align-items:center;gap:14px;margin:30px 0 0;padding:14px 18px 14px 12px;display:flex}.improve-cta:active{transform:scale(.98)}.improve-cta-art{flex:none;width:58px;height:auto;transform:rotate(-6deg)}.improve-cta-text{flex:1;gap:2px;display:grid}.improve-cta-text strong{font-family:var(--display);font-size:1.18rem}.improve-cta-text small{color:var(--muted);font-size:.86rem}.improve-cta svg{fill:none;width:22px;height:22px;stroke:var(--deep);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;flex:none}.editor .improve-cta{margin:0 0 18px}.improve-sheet{text-align:left}.improve-sheet h3,.improve-sheet>.sub{text-align:center}.improve-thinking{text-align:center;color:var(--muted);justify-items:center;gap:8px;padding:10px 0 24px;font-weight:600;display:grid}.improve-pup{width:150px;height:auto;animation:1.6s ease-in-out infinite pup-think}@keyframes pup-think{50%{transform:rotate(-4deg)translateY(-3px)}}.improve-praise{font-family:var(--hand);text-align:center;background:#fff4d6;border-radius:18px;margin:0 0 16px;padding:12px 16px;font-size:1.35rem;font-weight:700;line-height:1.25}.improve-list{gap:12px;margin:0 0 18px;padding:0;list-style:none;display:grid}.improve-card{background:color-mix(in srgb, var(--k) 9%, #fff);border:2px solid color-mix(in srgb, var(--k) 22%, transparent);animation:step-in .5s var(--ease-out) both;animation-delay:calc(var(--i) * 70ms);border-radius:20px;gap:12px;padding:14px 14px 14px 10px;display:flex}.improve-food{flex:none;align-self:flex-start;width:44px;height:auto}.improve-chips{flex-wrap:wrap;gap:6px;margin:0 0 4px;display:flex}.improve-kind,.improve-step{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:800}.improve-kind{color:#fff;background:var(--k)}.improve-step{color:var(--ink);background:#261a3d14}.improve-card h4{font-family:var(--display);margin:0;font-size:1.12rem;line-height:1.25}.improve-detail{margin:4px 0 10px;line-height:1.45}.improve-card .btn.is-kept{opacity:1;color:#1d8a6c}.improve-actions{gap:10px;display:flex}.improve-actions .btn{flex:1}.from-kitchen{color:var(--deep);background:var(--soft);border-radius:999px;margin:0 8px 8px 0;padding:4px 12px;font-size:.85rem;font-weight:800;display:inline-block}.original-cards h2{margin-bottom:14px}.cards-row{flex-wrap:wrap;gap:18px;padding:4px 4px 10px;display:flex}.original-card{width:min(240px,70vw);transform:rotate(var(--t));transition:transform .3s var(--spring);background:#fffdf6;border-radius:6px;padding:8px;box-shadow:0 14px 24px -14px #3c1e008c,0 1px 3px #0000001f}.original-card:active{transform:rotate(0)scale(.98)}.original-card img{border-radius:3px;width:100%;display:block}.cards-full{gap:18px;margin-bottom:18px;display:grid}.cards-full figure{margin:0}.cards-full img{border-radius:10px;width:100%;display:block}.icon-btn.plan-it.on{color:#fff;background:var(--deep)}.cook{--bg:var(--soft);--fg:var(--ink);--dim:#261a3d94;--panel:#ffffffb8;color:var(--fg);background:var(--bg);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);animation:cook-in .5s var(--ease-out);flex-direction:column;transition:background-color .6s;display:flex;position:fixed;inset:0;overflow:clip}.cook.night{--bg:#1b1426;--fg:#fff4e6;--dim:#fff4e699;--panel:#ffffff14}.cook.night .bottom-sheet{--fg:var(--ink);--dim:#261a3d94;--panel:#261a3d0f;color:var(--fg)}@keyframes cook-in{0%{opacity:0;transform:scale(1.03)}}.cook-loading{place-items:center;display:grid}.cook-blob{z-index:0;background:var(--main);opacity:.22;pointer-events:none;border-radius:42% 58% 63% 37%/41% 44% 56% 59%;transition:background-color .6s;animation:14s ease-in-out infinite alternate morph;position:absolute}.cook-blob.one{width:52vmax;height:52vmax;top:-18vmax;right:-14vmax}.cook-blob.two{width:44vmax;height:44vmax;animation-direction:alternate-reverse;bottom:-20vmax;left:-16vmax}.cook.night .cook-blob{opacity:.16}.cook>:not(.cook-blob):not(.sheet-backdrop):not(.confetti){z-index:1;position:relative}.cook .icon-btn{color:var(--fg);background:var(--panel);box-shadow:none}.cook-top{align-items:center;gap:10px;padding:10px 14px;display:flex}.cook-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-family:var(--display);flex:1;font-size:1.2rem;font-weight:800;overflow:hidden}.cook-name span{color:var(--deep);font-style:italic;font-weight:600}.cook.night .cook-name span{color:var(--main)}.cook-tools{align-items:center;gap:7px;display:flex}.wake{letter-spacing:.06em;text-transform:uppercase;color:var(--dim);align-items:center;gap:6px;font-size:.74rem;font-weight:700;display:flex}.wake svg{fill:none;stroke:currentColor;stroke-width:2px;width:21px;height:21px}.wake.on{color:#2f9e4f}.cook.night .wake.on{color:#8fe39a}.wake.on svg circle{fill:currentColor;transform-origin:12px 12px;animation:6s infinite blink}@keyframes blink{0%,96%,to{transform:scaleY(1)}98%{transform:scaleY(.1)}}.text-size{font-family:var(--display);font-size:1.15rem;font-weight:800}.text-size small{font-size:.72rem}.cook-progress{height:30px;margin:2px 26px 0;position:relative}.cook-progress .track{background:var(--panel);border-radius:6px;height:6px;position:absolute;top:20px;left:0;right:0}.cook-progress .fill{background:var(--main);height:100%;transition:width .6s var(--ease-out), background-color .6s;border-radius:6px}.cook-progress .roller{width:28px;transition:left .6s var(--ease-out);margin-left:-14px;position:absolute;top:0}.cook-progress .roller .food{width:100%;transform:rotate(var(--turn));transition:transform .6s var(--ease-out)}.timer-tray{scrollbar-width:none;gap:8px;padding:12px 14px 0;display:flex;overflow-x:auto}.timer{background:var(--panel);-webkit-backdrop-filter:blur(10px);animation:timer-in .45s var(--spring);border-radius:22px;flex:none;align-items:center;gap:4px;padding:5px 6px;display:flex}@keyframes timer-in{0%{opacity:0;transform:scale(.6)}}.timer-tomato{width:44px;height:44px;position:relative}.timer-tomato .food{width:100%}.timer-ring{width:calc(100% + 6px);position:absolute;inset:-3px;overflow:visible;transform:rotate(-90deg)}.timer-ring .fill{fill:none;stroke:var(--deep);stroke-width:3px;stroke-dasharray:100.5;stroke-linecap:round;transition:stroke-dashoffset .25s linear}.cook.night .timer-ring .fill{stroke:var(--main)}.timer-main{flex-direction:column;align-items:flex-start;padding:0 6px;line-height:1.1;display:flex}.timer-main strong{font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:800}.timer-main small{white-space:nowrap;text-overflow:ellipsis;max-width:150px;color:var(--dim);font-size:.72rem;font-weight:600;overflow:hidden}.timer-x{width:32px;height:32px;color:var(--dim);border-radius:50%;font-size:1.4rem}.timer.paused{opacity:.6}.timer-hint{background:var(--panel);color:var(--dim);border-radius:16px;align-items:flex-start;gap:6px;margin:8px 14px 0;padding:8px 6px 8px 14px;font-size:.8rem;font-weight:600;line-height:1.35;display:flex}.timer-hint button{width:28px;height:28px;color:var(--dim);border-radius:50%;flex:none;font-size:1.2rem}.timer.ringing{color:#fff;background:var(--tomato);animation:.6s ease-in-out infinite ring}.timer.ringing small{color:#ffffffd9}.timer.ringing .timer-tomato{animation:.35s ease-in-out infinite wiggle}@keyframes ring{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)scale(1.04)}75%{transform:rotate(3deg)scale(1.04)}}@keyframes wiggle{50%{transform:rotate(14deg)scale(1.1)}}.cook-stage{touch-action:pan-y;-webkit-user-select:none;user-select:none;flex:1;gap:24px;min-height:0;padding:10px 24px;display:flex}.cook-slide{flex-direction:column;flex:1;min-width:0;display:flex;overflow-y:auto}.cook-slide>*{margin-block:auto}.cook-slide.from-right{animation:slide-r .5s var(--ease-out)}.cook-slide.from-left{animation:slide-l .5s var(--ease-out)}@keyframes slide-r{0%{opacity:0;transform:translate(60px)rotate(1deg)}}@keyframes slide-l{0%{opacity:0;transform:translate(-60px)rotate(-1deg)}}.step-label{letter-spacing:.14em;text-transform:uppercase;color:var(--deep);margin:0 0 14px;font-size:.9rem;font-weight:800}.cook.night .step-label{color:var(--main)}.step-label strong{font-size:1.15rem}.step-text{font-family:var(--display);font-variation-settings:"SOFT" 100, "WONK" 0;font-weight:650;font-size:calc(clamp(1.95rem, 7.6vw, 3.7rem) * var(--font-scale,1));letter-spacing:-.015em;text-wrap:pretty;margin:0;line-height:1.18}.timer-wrap{white-space:nowrap}.inline-timer{font:inherit;color:#fff;background:var(--tomato);transition:transform .2s var(--spring);border-radius:.34em;align-items:center;gap:.18em;margin:0 .04em;padding:0 .32em .04em;display:inline-flex;box-shadow:0 .12em #c4261a}.inline-timer:active{transform:translateY(.08em);box-shadow:0 .04em #c4261a}.inline-timer svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;width:.72em;height:.72em}.step-needs{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.need{font-size:calc(1rem * var(--font-scale,1));background:var(--panel);animation:pop-in .5s var(--spring) both;animation-delay:calc(.2s + var(--i) * 80ms);border-radius:20px;align-items:center;gap:10px;padding:8px 14px 8px 8px;font-weight:600;display:flex}.need .food{object-fit:contain;width:52px;height:52px}.step-next{border-top:2px dashed color-mix(in srgb, var(--fg) 18%, transparent);font-size:calc(1.06rem * var(--font-scale,1));color:var(--dim);margin:26px 0 0;padding-top:16px;line-height:1.45}.step-next span{letter-spacing:.1em;text-transform:uppercase;color:var(--on);background:var(--main);border-radius:8px;margin-right:8px;padding:3px 9px;font-size:.74rem;font-weight:800}.gather-list{columns:2 300px;column-gap:16px;margin:0;padding:0;list-style:none}.gather-list li{break-inside:avoid;margin-bottom:8px}.gather-list button{text-align:left;width:100%;min-height:64px;font-size:calc(1.15rem * var(--font-scale,1));background:var(--panel);transition:opacity .3s, transform .3s var(--spring);animation:pop-in .45s var(--spring) both;animation-delay:calc(var(--i) * 35ms);border-radius:20px;align-items:center;gap:12px;padding:6px 14px 6px 6px;font-weight:600;line-height:1.25;display:flex}.gather-icon{flex:none;place-items:center;width:54px;height:54px;display:grid}.gather-icon .food{width:auto;max-width:54px;height:auto;max-height:54px;transition:transform .45s var(--spring)}.gather-text{flex:1}.gather-list .check{border:2.5px solid color-mix(in srgb, var(--fg) 25%, transparent);width:32px;height:32px;transition:background .25s, border-color .25s, transform .35s var(--spring);border-radius:50%;flex:none;place-items:center;display:grid}.gather-list .check svg{fill:none;stroke:#fff;stroke-width:3.4px;stroke-linecap:round;stroke-dasharray:24;stroke-dashoffset:24px;width:18px;transition:stroke-dashoffset .3s .1s}.gather-list li.got button{opacity:.55}.gather-list li.got .gather-icon .food{transform:translateY(-6px)rotate(-16deg)scale(.85)}.gather-list li.got .check{background:#2f9e4f;border-color:#2f9e4f;transform:scale(1.1)}.gather-list li.got .check svg{stroke-dashoffset:0}.cook .ing-head{font-family:var(--display);color:var(--deep);padding-top:8px;font-style:italic;font-weight:700}.cook .ing-dot{background:var(--main);border-radius:50%;width:14px;height:14px}.done{text-align:center;justify-items:center;gap:8px;display:grid}.done-dish{width:min(300px,64vw);animation:dish-drop 1s var(--bounce) both}.done-dish .food,.done-dish .dish-art{width:100%}.done-print{background:#fff;padding:8px 8px 30px;display:block;transform:rotate(-3deg);box-shadow:0 22px 30px -16px #00000073}.done-print img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.done h2{color:var(--deep);font-size:clamp(2.8rem,12vw,4.4rem);font-weight:900}.cook.night .done h2{color:var(--main)}.done p{color:var(--dim);margin:0 0 12px;font-size:1.1rem}.done-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.done .photo-buttons{width:min(100%,480px)}.cook-side{display:none}.cook-nav{align-items:center;gap:10px;padding:10px 14px 14px;display:flex}.nav-btn{min-height:66px;color:var(--fg);background:var(--panel);border-radius:22px;justify-content:center;align-items:center;gap:6px;padding:0 22px;font-size:1.08rem;font-weight:800;transition:transform .15s,opacity .2s,box-shadow .15s;display:flex}.nav-btn:active{transform:translateY(3px)}.nav-btn:disabled{opacity:.3}.nav-btn svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.nav-btn.timer-btn svg{stroke-width:2.2px}.nav-btn.next{color:var(--on);background:var(--main);box-shadow:0 6px 0 var(--deep);flex:1;transition:background-color .6s,box-shadow .15s,transform .15s}.nav-btn.next:active{box-shadow:0 2px 0 var(--deep)}.cook-nav .dots{gap:6px;display:none}.cook-nav .dots span{background:color-mix(in srgb, var(--fg) 18%, transparent);width:9px;height:9px;transition:background .3s, transform .3s var(--spring);border-radius:50%}.cook-nav .dots span.past{background:color-mix(in srgb, var(--main) 60%, transparent)}.cook-nav .dots span.on{background:var(--main);transform:scale(1.6)}.cook-ingredients{text-align:left}.cook-ingredients ul,.cook-side ul{margin:0 0 18px;padding:0;list-style:none}.cook-ingredients li,.cook-side li{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:8px 0;font-size:1.1rem;display:flex}.cook-ingredients li .food,.cook-side li .food{object-fit:contain;width:40px;height:40px}.cook-ingredients h3 small{color:var(--muted);font-size:1rem}@media (min-width:760px) and (orientation:landscape),(min-width:1000px){.cook-side{background:var(--panel);border-radius:26px;flex:0 0 min(32%,360px);align-self:center;max-height:100%;padding:18px 20px;display:block;overflow-y:auto}.cook-side h3{margin-bottom:8px;font-size:1.4rem}.cook-side li{border-color:color-mix(in srgb, var(--fg) 10%, transparent);font-size:1rem}.cook-side li.got{opacity:.4;text-decoration:line-through}.cook-nav .dots{display:flex}.nav-btn.next{flex:none;min-width:240px}.cook-nav{justify-content:space-between}}@media (max-height:520px){.nav-btn{min-height:54px}.wake-label{display:none}}@media (max-width:440px){.wake-label{display:none}.nav-btn:not(.next){flex-direction:column;gap:2px;min-width:64px;padding:0 10px;font-size:.74rem}.cook-tools{gap:5px}.cook .icon-btn{width:42px;height:42px}}.step-text .amt,.step-next .amt{font-weight:inherit;background:linear-gradient(transparent 62%, color-mix(in srgb, var(--main) 38%, transparent) 62%)}.step .step-label{justify-content:space-between;align-items:center;gap:12px;display:flex}.step-actions{gap:8px;display:flex}.step-act{letter-spacing:0;text-transform:none;min-height:40px;color:var(--fg);background:var(--panel);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:.85rem;font-weight:800;display:inline-flex}.step-act svg,.icon-btn.voice svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.icon-btn.voice.loading svg,.step-act.loading svg{animation:.9s ease-in-out infinite voice-wait}@keyframes voice-wait{50%{opacity:.35;transform:scale(.88)}}.icon-btn.voice.on{color:#fff;background:var(--deep)}.ask-sheet{text-align:left}.ask-sheet h3{text-align:center}.ask-step{background:var(--cream);border-radius:14px;max-height:4.5em;padding:10px 14px;font-size:.95rem;overflow:hidden}.ask-list{gap:12px;margin-bottom:14px;display:grid}.ask-q{color:#fff;background:var(--deep);border-radius:18px 18px 4px;justify-self:end;width:fit-content;max-width:85%;margin:0 0 6px auto;padding:10px 14px;font-weight:700}.ask-a{background:var(--cream);border-radius:18px 18px 18px 4px;max-width:92%;margin:0;padding:12px 14px;line-height:1.5}.ask-a.thinking{color:var(--muted);font-style:italic}.ask-chips{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.ask-chips button{background:var(--cream);border:2px solid var(--line);border-radius:999px;padding:9px 14px;font-size:.9rem;font-weight:700}.ask-form{gap:8px;display:flex}.ask-form .input{flex:1}.timer-sheet .input{margin:10px 0 16px}.timer-presets{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.timer-presets button{background:var(--cream);border:2px solid var(--line);border-radius:16px;min-height:50px;font-size:.95rem;font-weight:800;transition:transform .15s}.timer-presets button:active{transform:translateY(2px)}.timer-own{flex-direction:column;gap:12px;margin-top:18px;display:flex}.timer-own p{color:var(--muted);font-weight:700}.timer-stepper{justify-content:center;align-items:center;gap:14px;display:flex}.timer-stepper .icon-btn{background:var(--cream);font-size:1.6rem;font-weight:700}.timer-stepper label{align-items:baseline;gap:6px;font-weight:800;display:flex}.timer-stepper input{text-align:center;border:none;border-bottom:3px solid var(--line);-webkit-appearance:textfield;appearance:textfield;background:0 0;outline:none;width:4ch;padding:6px 0;font-size:1.8rem;font-weight:800}.timer-stepper input:focus{border-bottom-color:var(--tomato)}.timer-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.timer-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.editor,.import-page,.pantry-page,.kitchen-page,.plan-page{max-width:780px;padding:env(safe-area-inset-top) 16px 0;margin:0 auto}.import-page,.pantry-page{min-height:100dvh}.editor{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.edit-card{box-shadow:var(--card-shadow);background:#fff;border-radius:28px;margin-bottom:16px;padding:20px 16px}.edit-card h2{margin-bottom:12px;font-size:1.6rem}.edit-card .sub{color:var(--ink-2);margin:-4px 0 14px}.editor-preview{background:var(--soft);border-radius:22px;align-items:center;gap:14px;margin:-6px -4px 18px;padding:14px;transition:background .4s;display:flex}.preview-art{flex:0 0 92px}.preview-art img,.preview-art .dish-art{width:100%;display:block}.preview-art img.plated{aspect-ratio:1;object-fit:cover;background:#fff;padding:5px 5px 16px;transform:rotate(-3deg);box-shadow:0 10px 16px -8px #00000059}.preview-title{flex-direction:column;flex:1;min-width:0;display:flex}.title-top-input,.title-input{width:100%;min-width:0;font-family:var(--display);font-variation-settings:"SOFT" 100, "WONK" 1;background:0 0;border:0;outline:none;padding:2px 0}.title-top-input{color:var(--deep);font-size:1.15rem;font-style:italic;font-weight:600}.title-input{letter-spacing:-.03em;font-size:clamp(1.7rem,7.5vw,2.4rem);font-weight:900;line-height:1.05}.title-top-input::placeholder,.title-input::placeholder{color:color-mix(in srgb, var(--deep) 45%, transparent)}.title-top-input:focus,.title-input:focus{background:#fff9;border-radius:10px}.tag-input{border:2px solid var(--line);background:#fff;border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.tag-input:focus-within{border-color:var(--main)}.tag-chip{color:#fff;background:var(--sc);border-radius:99px;align-items:center;gap:2px;padding:6px 4px 6px 12px;font-size:.9rem;font-weight:700;display:inline-flex}.tag-chip button{color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:1.1rem;display:grid}.tag-input input{background:0 0;border:0;outline:none;flex:120px;min-width:0;min-height:36px;padding:0 6px;font-size:16px}.steppers{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.stepper{background:var(--soft);border-radius:20px;flex-direction:column;align-items:center;gap:6px;padding:10px 6px 8px;display:flex}.stepper-label{letter-spacing:.1em;text-transform:uppercase;color:var(--deep);font-size:.74rem;font-weight:800}.stepper-row{align-items:center;gap:2px;display:flex}.stepper-row button{background:#fff;border-radius:12px;flex:none;place-items:center;width:30px;height:34px;font-size:1.3rem;font-weight:800;transition:transform .15s;display:grid;box-shadow:0 3px #261a3d1a}.stepper-row button:active{transform:translateY(2px)}.stepper-row input{text-align:center;width:34px;min-width:0;font-family:var(--display);background:0 0;border:0;outline:none;font-size:1.25rem;font-weight:800}.stepper-hint{min-height:1em;color:var(--ink-2);font-size:.74rem}.edit-rows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.edit-row{background:var(--cream);border:2px solid #0000;border-radius:18px;align-items:flex-start;gap:8px;padding:6px 6px 6px 8px;transition:border-color .2s,background .2s;display:flex}.edit-row:focus-within{border-color:var(--main);background:#fff}.row-lead{flex:none;place-items:center;width:40px;height:40px;display:grid}.row-food{max-width:40px;height:auto;max-height:40px;animation:pop-in .4s var(--spring);width:auto!important}.row-dot{background:var(--main);border-radius:50%;width:12px;height:12px}.row-hash{font-family:var(--display);color:var(--deep);font-size:1.3rem;font-weight:900}.row-num{width:34px;height:34px;font-family:var(--display);color:#fff;background:var(--sc);border-radius:46% 54% 52% 48%/55% 45%;place-items:center;font-weight:900;display:grid}.edit-row textarea{resize:none;background:0 0;border:0;outline:none;flex:1;min-width:0;min-height:40px;padding:9px 2px;font-size:16px;line-height:1.4;overflow:hidden}.edit-row.is-header textarea{font-family:var(--display);color:var(--deep);font-style:italic;font-weight:700}.row-tools{flex:none;align-items:center;height:40px;display:flex}.row-tools button{width:32px;height:40px;color:var(--muted);border-radius:10px;place-items:center;display:grid}.row-tools button:disabled{opacity:.25}.row-tools button:active{background:var(--soft)}.row-tools svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.row-tools .row-x:hover{color:var(--tomato)}.list-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.list-actions .link-btn{margin:0 0 0 auto}.as-text,.notes-input,.edit-card .field textarea{border:2px solid var(--line);resize:none;background:#fff;border-radius:16px;outline:none;width:100%;min-height:120px;padding:14px 16px;font-size:16px;line-height:1.5}.notes-input{background:#ffeaf3;border-color:#0000;min-height:80px}.as-text:focus,.notes-input:focus{border-color:var(--main)}.art-picker{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;display:grid}.art-picker button{background:var(--cream);transition:border-color .2s, transform .3s var(--spring);border:3px solid #0000;border-radius:16px;padding:5px}.art-picker button.on{border-color:var(--main);background:var(--soft)}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatches button{width:42px;height:42px;transition:transform .3s var(--spring), box-shadow .2s;border-radius:50%;box-shadow:inset 0 -4px #0000001f}.swatches button.on{box-shadow:0 0 0 3px #fff, 0 0 0 6px var(--ink);transform:scale(1.18)}.segmented{background:var(--cream);border-radius:18px;padding:4px;display:flex}.segmented button{min-height:46px;color:var(--muted);border-radius:14px;flex:1;font-weight:700;transition:background .25s,color .25s}.segmented button.on{color:#fff;background:var(--ink)}.save-bar{z-index:40;padding:12px 16px calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);background:#fff8f3db;justify-content:center;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px -20px #261a3d80}.save-bar .btn-cook{flex:0 300px}.mode-cards{gap:12px;display:grid}@media (min-width:680px){.mode-cards{grid-template-columns:repeat(3,1fr)}}.mode-card{text-align:left;background:var(--tint);transition:border-color .25s, transform .35s var(--spring), box-shadow .25s;animation:pop-in .5s var(--spring) both;animation-delay:calc(var(--i) * 80ms);border:3px solid #0000;border-radius:26px;align-items:center;gap:14px;padding:12px 16px 12px 10px;display:flex}@media (min-width:680px){.mode-card{text-align:center;flex-direction:column;padding:18px 14px 20px}}.mode-card:hover{transform:translateY(-3px)}.mode-card.on{border-color:var(--ink);box-shadow:0 16px 28px -18px #261a3db3}.mode-pic{flex:none;place-items:center;width:86px;height:70px;display:grid}.mode-pic .food{width:auto;max-width:100%;height:auto;max-height:100%;transition:transform .5s var(--spring)}.mode-card.on .mode-pic .food{transform:rotate(-8deg)scale(1.12)}@media (min-width:680px){.mode-pic{width:130px;height:100px}}.mode-text{flex-direction:column;gap:3px;display:flex}.mode-text strong{font-family:var(--display);font-size:1.35rem;font-weight:800}.mode-text small{color:var(--ink-2);font-size:.9rem}.import-panel{box-shadow:var(--card-shadow);animation:panel-in .4s var(--ease-out);background:#fff;border-radius:28px;margin-top:18px;padding:22px 18px}@keyframes panel-in{0%{opacity:0;transform:translateY(12px)}}.import-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.import-actions .btn-cook{flex:220px}.import-busy{place-items:center;min-height:80dvh;display:grid}.photo-drop .hint{text-align:center;color:var(--muted);margin:12px 0 0;font-size:.88rem}.thumbs{flex-wrap:wrap;gap:16px;padding:18px 4px 8px;display:flex}.thumbs figure{transform:rotate(var(--r));animation:polaroid-in .5s var(--spring);background:#fff;margin:0;padding:6px 6px 20px;position:relative;box-shadow:0 8px 16px -8px #0006}@keyframes polaroid-in{0%{opacity:0;transform:rotate(0)scale(.5)}}.thumbs img{object-fit:cover;width:92px;height:92px;display:block}.thumbs figure button{color:#fff;background:var(--ink);border-radius:50%;width:28px;height:28px;position:absolute;top:-10px;right:-10px}.pup-card{min-height:286px;box-shadow:var(--card-shadow);background:radial-gradient(60% 70% at 90% 100%,#ff7eb647,#0000 70%),radial-gradient(60% 60% at 0 0,#4db8ff40,#0000 70%),linear-gradient(160deg,#eef8ff,#fff1f7 55%,#f3edff);border-radius:32px;align-items:flex-end;padding:18px;display:flex;position:relative}.pup-inner{display:contents}.pup-card .places{z-index:2;flex-direction:column;gap:9px;width:min(56%,260px);display:flex;position:relative}.place-tab{text-align:left;font-family:var(--display);transition:border-color .25s, transform .35s var(--spring), background .25s;background:#ffffffbf;border:3px solid #0000;border-radius:20px;align-items:center;gap:10px;padding:8px 14px 8px 8px;font-size:1.1rem;font-weight:800;display:flex;position:relative;box-shadow:0 8px 18px -14px #261a3d99}.place-pic{flex:none;place-items:center;width:46px;height:46px;display:grid}.place-pic .food{width:auto;max-width:46px;height:auto;max-height:46px;transition:transform .4s var(--spring)}.place-tab.on{border-color:var(--tomato);background:#fff;transform:translate(6px)}.place-tab.on .food{transform:rotate(-10deg)scale(1.12)}.place-tab .count-badge{margin-left:auto;position:static}.pup-card .card-dog{position:absolute;bottom:14px;right:4%}.pantry-panel{box-shadow:var(--card-shadow);background:#fff;border-radius:28px;margin-top:14px;padding:20px 16px}.pantry-panel .photo-buttons{margin-bottom:12px}.add-item{gap:8px;margin-bottom:14px;display:flex}.add-item .input{flex:1;min-width:0;min-height:52px;padding:0 16px}.item-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:12px;margin:6px 0 0;padding:0;list-style:none;display:grid}.item-grid li{text-align:center;background:var(--cream);animation:pop-in .45s var(--spring) both;animation-delay:calc(var(--i) * 35ms);border-radius:20px;flex-direction:column;align-items:center;gap:6px;padding:12px 8px 10px;display:flex;position:relative}.item-pic{place-items:center;width:64px;height:64px;display:grid}.item-pic .food{width:auto;max-width:64px;height:auto;max-height:64px;transition:transform .4s var(--spring)}.item-grid li:hover .item-pic .food{transform:rotate(-8deg)scale(1.08)}.item-name{font-size:.88rem;font-weight:700;line-height:1.2}.item-grid li>button{width:26px;height:26px;color:var(--muted);border-radius:50%;font-size:1.1rem;position:absolute;top:4px;right:4px}.item-grid li>button:hover{color:#fff;background:var(--tomato)}.empty-note{text-align:center;color:var(--muted);margin:10px 0}.scanning{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.scanning figure{border-radius:16px;width:96px;height:96px;margin:0;position:relative;overflow:hidden}.scanning img{object-fit:cover;width:100%;height:100%}.scan-line{background:linear-gradient(#0000,#ff7eb6cc,#0000);height:30%;animation:1.4s ease-in-out infinite alternate scan;position:absolute;left:0;right:0}@keyframes scan{0%{top:-30%}to{top:100%}}.scanning p{font-family:var(--display);margin:0;font-size:1.2rem;font-style:italic;font-weight:600}.ready,.brainstorm{margin-top:34px}.ready h2,.brainstorm h2{font-size:2.1rem}.brainstorm .sub{color:var(--ink-2);margin:6px 0 14px}.ready-list{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:12px;display:grid}@media (min-width:640px){.ready-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.ready-card{background:var(--soft);min-width:0;transition:transform .35s var(--spring);border-radius:22px;align-items:center;gap:12px;padding:10px 14px 10px 10px;text-decoration:none;display:flex}.ready-card:hover{transform:translate(4px)}.ready-pic{flex:none;place-items:center;width:64px;height:64px;display:grid}.ready-pic img{max-width:100%;max-height:100%}.ready-pic img.plated{object-fit:cover;border:3px solid #fff;border-radius:6px;width:100%;height:100%;transform:rotate(-4deg)}.ready-text{flex-direction:column;flex:1;min-width:0;display:flex}.ready-text strong{font-family:var(--display);font-size:1.15rem;font-weight:800}.ready-text small{white-space:nowrap;text-overflow:ellipsis;color:var(--ink-2);overflow:hidden}.ring{flex:none;width:50px;height:50px}.ring circle{fill:none;stroke:#ffffffe6;stroke-width:4.5px}.ring .fill{stroke:var(--main);stroke-dasharray:100.5;stroke-linecap:round;transform-origin:50%;transition:stroke-dashoffset 1s var(--ease-out);transform:rotate(-90deg)}.ring text{fill:var(--ink);font-size:10px;font-weight:800}.moods{flex-wrap:wrap;gap:8px;display:flex}.mood{transition:background .2s, color .2s, transform .3s var(--spring);background:#fff;border-radius:99px;padding:10px 16px;font-size:.92rem;font-weight:700;box-shadow:0 4px #261a3d14}.mood.on{color:#fff;background:var(--lilac);transform:scale(1.06)rotate(-2deg)}.brainstorm-go{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.brainstorm-go .input{flex:230px;min-height:52px;padding:0 18px}.ideas{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:20px;display:grid}@media (min-width:700px){.ideas{grid-template-columns:repeat(2,minmax(0,1fr))}}.idea{box-shadow:var(--card-shadow);animation:idea-in .6s var(--spring) both;animation-delay:calc(var(--i) * 80ms);background:#fff;border-radius:26px;gap:12px;padding:16px;display:flex}@keyframes idea-in{0%{opacity:0;transform:translateY(24px)rotate(-1.5deg)}}.idea-pics{flex:0 0 78px;height:84px;position:relative}.idea-pics .food{width:54px;left:calc(var(--k,0) * 12px);top:calc(var(--k,0) * 14px);transform:rotate(calc(var(--k,0) * 14deg - 10deg));position:absolute}.idea-body{min-width:0}.idea h3{font-size:1.3rem}.idea p{margin:4px 0 10px;font-size:.94rem;line-height:1.4}.idea-tags{flex-wrap:wrap;gap:5px;margin-bottom:12px;display:flex}.idea-tags span{border-radius:99px;padding:3px 10px;font-size:.76rem;font-weight:700}.idea-tags .have{color:#1d5a10;background:#e8f9dd}.idea-tags .need{color:#a3160b;background:#ffe3dc}.login,.who-page{text-align:center;background:var(--glow), var(--page);place-content:center;justify-items:center;gap:18px;min-height:100dvh;padding:24px;display:grid}.login-card{width:min(380px,100%);box-shadow:var(--card-shadow);animation:pop-in .6s var(--spring) both;background:#fff;border-radius:34px;justify-items:center;gap:12px;padding:30px 26px 28px;display:grid}.login-card .jar{width:130px;margin-top:-80px;display:block}.login-card .jar .food{width:100%}.login-card .jar.shake{animation:.45s shake}@keyframes shake{20%,60%{transform:translate(-10px)rotate(-4deg)}40%,80%{transform:translate(10px)rotate(4deg)}}.login-card h1{font-size:2rem}.login-card p{font-family:var(--display);color:var(--ink-2);margin:0;font-size:1.2rem;font-style:italic}.login-card .input{text-align:center}.login-card .btn{width:100%}.who-page h1{font-size:clamp(3rem,14vw,5.5rem);font-weight:900;line-height:.9}.who-page h1 em{color:var(--tomato)}.who-page>p{color:var(--ink-2);margin:0;font-size:1.1rem}.who-list{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:10px;display:flex}.who-card{width:150px;box-shadow:0 6px 0 var(--who), 0 18px 30px -18px #261a3d99;transition:transform .35s var(--spring), border-color .2s;animation:pop-in .6s var(--spring) both;animation-delay:calc(.1s + var(--i) * .1s);background:#fff;border:4px solid #0000;border-radius:30px;flex-direction:column;align-items:center;gap:10px;padding:18px 12px;display:flex}.who-card:hover{transform:translateY(-6px)rotate(-2deg)}.who-card.on{border-color:var(--who)}.who-card .food{width:auto;height:84px}.who-card strong{font-family:var(--display);font-size:1.6rem;font-weight:800}@media (min-width:720px){.pantry-page .page-head{text-align:center;justify-content:center}.pup-card{justify-content:center;align-items:center;padding:24px 32px}.pup-inner{align-items:center;width:min(100%,600px);min-height:240px;display:flex;position:relative}.pup-card .places{width:300px}.pup-card .card-dog{bottom:-4px;right:8px}.item-grid{flex-wrap:wrap;justify-content:center;display:flex}.item-grid li{width:98px}.pantry-panel .link-btn{margin:16px auto 0;display:block}.pantry-page .empty-note,.ready h2,.brainstorm h2,.brainstorm .sub{text-align:center}.moods{justify-content:center}.brainstorm-go{max-width:620px;margin-left:auto;margin-right:auto}}.row-body{flex:1;min-width:0}.row-body textarea{width:100%}.row-note{animation:pop-in .4s var(--spring);gap:6px;margin:0 2px 6px;font-size:13px;font-weight:700;line-height:1.35;display:flex}.row-note:before{color:#fff;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:11px;display:grid}.row-note.updated{color:#1d8a6c}.row-note.updated:before{content:"✓";background:var(--mint)}.row-note.check{color:#c25a00}.row-note.check:before{content:"!";background:var(--tangerine)}.edit-row:has(.row-note.updated){animation:row-glow 1.6s var(--ease-out)}@keyframes row-glow{0%{border-color:var(--mint);background:#dcfaf1}}.sign-in .jar,.join-page .jar{width:150px}.btn-google{--btn-bg:#fff;--btn-fg:var(--ink);--btn-edge:#261a3d2e;border:2px solid var(--line);gap:12px}.btn-google svg{flex:none;width:22px;height:22px}.sign-in-note,.join-detail{color:var(--muted);font-size:.86rem;line-height:1.45}.join-page .login-card p strong,.sign-in .login-card p strong{color:var(--ink)}.kitchen-page{min-height:100dvh;padding-bottom:calc(var(--tabbar-h) + 40px + env(safe-area-inset-bottom))}.kitchen-page .edit-card{position:relative}.card-art{pointer-events:none;width:92px;height:auto;animation:pop-in .6s var(--spring) both;position:absolute;top:-18px;right:10px}.card-label{letter-spacing:.14em;text-transform:uppercase;color:var(--deep);margin:0 0 4px;font-size:.74rem;font-weight:800}.name-edit{text-align:left;align-items:center;gap:8px;max-width:calc(100% - 90px);display:inline-flex}.name-edit h2{margin:0}.name-edit svg{fill:none;width:20px;height:20px;stroke:var(--muted);stroke-width:2px;stroke-linejoin:round;flex:none}.name-form{gap:8px;max-width:calc(100% - 90px);display:flex}.members{flex-wrap:wrap;gap:8px;margin:12px 0 14px;padding:0;list-style:none;display:flex}.members li{background:var(--cream);border-radius:999px;align-items:center;gap:8px;padding:4px 14px 4px 4px;font-weight:700;display:flex}.members li.muted{color:var(--muted);padding:8px 14px;font-weight:600}.avatar{object-fit:cover;color:#fff;background:var(--who,var(--ink));border-radius:50%;flex:none;place-items:center;font-weight:800;display:inline-grid}.section-title{margin:30px 4px 6px;font-size:1.9rem}.section-sub{color:var(--ink-2);margin:0 4px 16px;line-height:1.5}.family-kitchens{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.family-kitchens li{background:var(--cream);border-radius:20px;padding:12px 14px 2px}.family-kitchens li.is-mine{background:#fff4d6}.family-kitchens strong small{color:var(--muted);font-weight:600}.family-kitchens .members{margin:8px 0 10px}.family-kitchens .members li{background:#fff}.card-actions{flex-wrap:wrap;align-items:center;gap:4px 16px;margin-top:16px;display:flex}.card-actions .link-btn{margin-top:0}.new-family{gap:12px;display:grid}.new-family .card-label{margin-bottom:0}.invite-list{gap:10px;margin:0 0 16px;padding:0;list-style:none;display:grid}.invite-list li{box-shadow:var(--card-shadow);background:#fff;border-radius:20px;align-items:center;gap:12px;padding:12px 14px;display:flex}.invite-list li>span{flex:1;gap:2px;min-width:0;display:grid}.invite-list small{color:var(--muted)}.invite-list .link-btn{margin-top:0}.sign-out{margin:26px auto 0;display:block}.privacy-page{max-width:680px;min-height:100dvh;padding:calc(40px + env(safe-area-inset-top)) 16px 40px;background:var(--glow), var(--page);margin:0 auto}.privacy-page .edit-card{padding:28px 22px;line-height:1.55;position:relative}.privacy-page h1{font-size:2.6rem}.privacy-page h2{margin:22px 0 6px;font-size:1.3rem}.privacy-page ul{margin:0;padding-left:20px}.privacy-page li{margin-bottom:6px}.privacy-page a,.sign-in-note a{color:var(--deep);text-underline-offset:3px;text-decoration:underline}.member-x{width:24px;height:24px;color:var(--muted);border-radius:50%;place-items:center;margin-right:-6px;font-size:1rem;font-weight:800;display:grid}.member-x:hover{color:#fff;background:var(--tomato)}.card-photos-title{margin:22px 0 6px;font-size:1.25rem}.card-thumbs{flex-wrap:wrap;gap:10px;display:flex}.card-thumbs img{width:120px;box-shadow:var(--card-shadow);border-radius:8px}.plan-page{min-height:100dvh;padding-bottom:calc(var(--tabbar-h) + 40px + env(safe-area-inset-bottom))}.plan-page .edit-card{position:relative}.plan-list{gap:12px;margin:12px 0 0;padding:0;list-style:none;display:grid}.plan-list li{background:var(--cream);border-radius:20px;padding:10px}.plan-recipe{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.plan-recipe span:last-child{gap:2px;min-width:0;display:grid}.plan-recipe strong{font-family:var(--display);font-size:1.05rem;line-height:1.2}.plan-recipe small{color:var(--muted);font-weight:700}.plan-cover{background:#fff;border-radius:16px;flex:none;place-items:center;width:56px;height:56px;display:grid;overflow:hidden}.plan-cover img{object-fit:contain;width:100%;height:100%}.plan-cover img.plated{object-fit:cover}.plan-cover svg{width:48px;height:48px}.plan-days{align-items:center;gap:4px;margin-top:10px;display:flex}.plan-days button{max-width:40px;height:34px;color:var(--muted);background:#fff;border-radius:12px;flex:1;font-size:.85rem;font-weight:800}.plan-days button.on{color:#fff;background:var(--tomato)}.plan-days .plan-x{max-width:34px;margin-left:auto;font-size:1.1rem}.shop-add{gap:8px;margin:12px 0 6px;display:flex}.shop-add .input{flex:1}.aisle h3{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:18px 4px 6px;font-size:.78rem;font-weight:800}.aisle ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.aisle li{animation:pop-in .35s var(--spring) both;animation-delay:calc(var(--i) * 30ms);border-radius:16px;align-items:center;display:flex}.shop-item{text-align:left;flex:1;align-items:center;gap:10px;min-width:0;padding:6px 4px;display:flex}.shop-check{border:2px solid var(--line);background:#fff;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;display:grid}.shop-check svg{fill:none;stroke:#fff;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.done .shop-check{border-color:var(--mint);background:var(--mint)}.shop-food{flex:none;place-items:center;width:34px;height:34px;display:grid}.shop-food .food{width:auto;max-width:34px;height:auto;max-height:34px}.shop-text{min-width:0;font-weight:600;display:grid}.shop-text small{color:var(--muted);font-size:.78rem;font-weight:600}.done .shop-text{color:var(--muted);text-decoration:line-through}.shop-x{width:32px;height:32px;color:var(--muted);border-radius:50%;flex:none;font-size:1.1rem}.plan-picker{text-align:left}.plan-picker h3{text-align:center}.picker-list{gap:6px;margin:12px 0 16px;padding:0;list-style:none;display:grid}.picker-list button{text-align:left;background:var(--cream);border-radius:18px;align-items:center;gap:12px;width:100%;padding:6px 10px 6px 6px;font-weight:700;display:flex}.picker-list button.on{background:#dcfaf1}.picker-list button>span:nth-child(2){flex:1}.picker-mark{background:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.kitchen-link-card>h2{padding-right:88px}.link-box{letter-spacing:.02em;word-break:break-all;-webkit-user-select:all;user-select:all;background:var(--cream);border:2px dashed var(--line);border-radius:16px;margin:14px 0 4px;padding:12px 16px;font-size:1.05rem;font-weight:800}.cookbook-cta{color:inherit;text-decoration:none;display:block}.cookbook-page{max-width:820px;padding:env(safe-area-inset-top) 16px 60px;margin:0 auto}.cb-check{align-items:center;gap:10px;padding:6px 0;font-weight:600;display:flex}.cb-check input{width:20px;height:20px;accent-color:var(--tomato)}.cb-preview-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:26px 4px 10px;font-size:.78rem;font-weight:800}.cb-book>section,.cb-recipe{box-shadow:var(--card-shadow);background:#fff;border-radius:6px;margin-bottom:22px;padding:36px 32px}.cb-cover{text-align:center}.cb-collage{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:26px;display:flex}.cb-collage img{aspect-ratio:1;object-fit:contain;width:30%;transform:rotate(calc((var(--i) - 2.5) * 2deg))}.cb-collage img.plated{object-fit:cover;border:6px solid #fff;box-shadow:0 6px 14px -8px #00000080}.cb-cover h1{font-size:clamp(2.2rem,7vw,3.6rem);line-height:1}.cb-subtitle{font-family:var(--display);margin:14px 0 6px;font-size:1.2rem;font-style:italic}.cb-year{color:var(--muted);font-weight:700}.cb-contents h2{margin-bottom:14px;font-size:2rem}.cb-shelf h3{letter-spacing:.12em;text-transform:uppercase;color:var(--deep);margin:14px 0 4px;font-size:.8rem;font-weight:800}.cb-shelf ul{columns:2;margin:0;padding-left:18px}.cb-recipe header{align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.cb-recipe-title{flex:1}.cb-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--deep);margin:0 0 4px;font-size:.75rem;font-weight:800}.cb-recipe h2{font-size:2rem;line-height:1.05}.cb-meta{color:var(--muted);margin:8px 0 0;font-weight:700}.cb-desc{font-family:var(--display);margin:10px 0 0;font-style:italic}.cb-photo{flex:none;width:34%}.cb-photo img{width:100%;display:block}.cb-photo.plated img{border:8px solid #fff;transform:rotate(2deg);box-shadow:0 8px 18px -10px #00000080}.cb-body{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:26px;display:grid}.cb-body h3{margin-bottom:8px;font-size:1.15rem}.cb-ingredients ul{margin:0;padding-left:16px;line-height:1.5}.cb-head{margin-top:8px;margin-left:-16px;font-weight:800;list-style:none}.cb-steps ol{margin:0;padding-left:20px;line-height:1.55}.cb-steps li{margin-bottom:8px}.cb-notes{font-family:var(--hand);margin-top:14px;font-size:1.35rem;line-height:1.3}.cb-foot{color:var(--muted);justify-content:space-between;align-items:flex-end;gap:16px;margin-top:18px;font-size:.85rem;font-weight:700;display:flex}.cb-card{border:5px solid #fff;width:150px;transform:rotate(-2deg);box-shadow:0 6px 14px -8px #00000080}@media (max-width:600px){.cb-recipe header{flex-direction:column-reverse}.cb-photo{align-self:center;width:60%}.cb-body{grid-template-columns:minmax(0,1fr)}}@media print{@page{margin:14mm}body,.app{background:#fff!important;padding:0!important}.cb-controls,.resume-cooking{display:none!important}.cookbook-page{max-width:none;padding:0}.cb-book>section,.cb-recipe{box-shadow:none;break-after:page;border-radius:0;margin:0;padding:0}.cb-cover{padding-top:30mm!important}.cb-recipe header{flex-direction:row}.cb-photo{width:34%}.cb-body{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr)}.cb-steps li,.cb-ingredients li{break-inside:avoid}}
