@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Playfair+Display:ital,wght@0,700;1,700&display=swap');
:root{--ink:#382c25;--red:#893b2d;--sage:#75806a;--cream:#f2ead7;--paper:#f8f1df;--line:#c9bca3;--shadow:rgba(54,38,26,.2)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'Libre Baskerville',Georgia,serif;background:#e9dfc9;background-image:repeating-linear-gradient(0deg,rgba(88,62,41,.025) 0,rgba(88,62,41,.025) 1px,transparent 1px,transparent 5px)}button,input,textarea,select{font:inherit;color:inherit}.grain{position:fixed;inset:0;pointer-events:none;z-index:9;opacity:.22;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.1'/%3E%3C/svg%3E")}.masthead{min-height:105px;padding:18px max(5vw,24px);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #b4a68f;background:rgba(245,237,217,.9);position:sticky;top:0;z-index:8;backdrop-filter:blur(8px)}button{border:0;background:none;cursor:pointer}.brand{display:grid;text-align:center;line-height:.9}.brand-small{text-transform:uppercase;letter-spacing:.28em;font-size:9px}.brand strong{font:700 36px 'Playfair Display',serif;color:var(--red)}.ribbon{font:600 15px 'Caveat',cursive;transform:rotate(-2deg);border-top:1px solid var(--ink);margin-top:4px;padding-top:3px}.masthead nav{display:flex;align-items:center;gap:26px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.masthead nav button:hover{color:var(--red)}.masthead .add,.ink-button{padding:12px 17px;background:var(--red);color:#fff8e9;box-shadow:3px 3px 0 #b19376}.library{max-width:1320px;margin:auto}.hero{min-height:520px;padding:70px max(6vw,32px);display:grid;grid-template-columns:1.4fr .6fr;gap:70px;align-items:center;position:relative}.hero:before{content:"";position:absolute;right:5%;top:45px;width:300px;height:370px;border:1px solid #aa9a7e;transform:rotate(3deg);box-shadow:9px 12px 25px var(--shadow);background:linear-gradient(135deg,#c4a379,#e0cda6 45%,#a17852);opacity:.2}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--red);font-weight:bold;font-size:10px}.hero h1{font:700 clamp(54px,7vw,96px)/.9 'Playfair Display',serif;margin:12px 0 28px}.hero h1 em{color:var(--red)}.intro{max-width:620px;line-height:1.8;font-size:16px}.search{margin-top:32px;display:flex;align-items:center;max-width:590px;background:rgba(250,245,231,.8);border-bottom:2px solid var(--ink);padding:13px 8px;gap:12px}.search input{width:100%;border:0;outline:0;background:transparent}.search kbd{font-size:9px;text-transform:uppercase;opacity:.55}.note{font:500 26px/1.2 'Caveat',cursive;background:#e5d3a9;padding:35px 28px;transform:rotate(3deg);box-shadow:5px 8px 14px var(--shadow);z-index:1}.note span{font:700 9px 'Libre Baskerville';text-transform:uppercase;letter-spacing:.18em}.note i{display:block;font-size:16px}.taped:before{content:"";position:absolute;width:90px;height:25px;background:rgba(218,205,170,.8);top:-12px;left:35%;transform:rotate(-4deg)}.shelf-head{padding:30px max(4vw,24px);border-top:1px solid #b9aa91;display:flex;justify-content:space-between;align-items:end}.shelf-head h2{font:700 38px 'Playfair Display';margin:5px 0}.filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.filters button{padding:8px 12px;border:1px solid #9f8e72;font-size:10px;text-transform:uppercase}.filters button.active{background:var(--ink);color:var(--paper)}.cards{padding:12px max(4vw,24px) 90px;display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card{min-height:330px;background:var(--paper);border:1px solid #c4b69e;padding:25px;box-shadow:4px 6px 13px rgba(51,36,23,.1);position:relative;transition:.2s;display:flex;flex-direction:column}.card:nth-child(even){transform:rotate(.5deg)}.card:hover{transform:translateY(-5px) rotate(0);box-shadow:7px 11px 20px var(--shadow)}.card .number{position:absolute;right:18px;top:10px;font:italic 52px 'Playfair Display';color:rgba(129,71,52,.12)}.card .category{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:var(--red)}.card h3{font:700 29px/1.05 'Playfair Display';margin:18px 0 13px}.card p{font-size:12px;line-height:1.7}.card .meta{margin-top:auto;border-top:1px dashed #b8a98f;padding-top:14px;display:flex;justify-content:space-between;font:600 17px 'Caveat'}.heart{position:absolute;right:16px;bottom:11px;font-size:20px}.recipe-page{max-width:1220px;margin:45px auto 80px;padding:0 24px}.hidden{display:none!important}.back{text-transform:uppercase;font-size:10px;letter-spacing:.15em;margin-bottom:25px}.book{display:grid;grid-template-columns:1fr 1fr;background:var(--paper);box-shadow:0 14px 45px var(--shadow);min-height:720px}.page{padding:55px clamp(30px,5vw,70px);position:relative}.page:first-child{border-right:1px solid #cfc1a8}.page:first-child:after{content:"";position:absolute;right:-13px;top:0;bottom:0;width:25px;background:linear-gradient(90deg,rgba(40,25,10,.08),transparent,rgba(40,25,10,.06));pointer-events:none}.recipe-title{font:700 clamp(42px,5vw,72px)/.95 'Playfair Display';margin:18px 0}.story{font-style:italic;line-height:1.8}.facts{display:flex;gap:25px;margin:30px 0;border-block:1px solid #c9b99c;padding:16px 0;font-size:11px}.facts strong{display:block;color:var(--red);font-size:15px}.scale{display:flex;align-items:center;gap:8px;margin:25px 0}.scale button{border:1px solid #9c8a70;padding:6px 10px}.scale button.active{background:var(--red);color:white}.ingredients{list-style:none;padding:0}.ingredients li{display:grid;grid-template-columns:85px 1fr;padding:10px 0;border-bottom:1px dotted #b8a98c;font-size:13px}.ingredients b{color:var(--red)}.method{counter-reset:steps;padding:0;list-style:none}.method li{counter-increment:steps;display:grid;grid-template-columns:38px 1fr;gap:13px;margin:0 0 20px;line-height:1.65;font-size:13px}.method li:before{content:counter(steps);border:1px solid var(--red);color:var(--red);border-radius:50%;width:29px;height:29px;display:grid;place-items:center;font-size:11px}.margin-note{margin:35px 0 15px;padding:18px 22px;background:#e9dba7;font:500 23px 'Caveat';transform:rotate(-1deg);position:relative}.ai-box{border-top:2px solid var(--red);margin-top:35px;padding-top:20px}.ai-box h3{font:700 23px 'Playfair Display'}.ask-row{display:flex;border-bottom:1px solid var(--ink)}.ask-row input{border:0;background:transparent;padding:12px 4px;outline:0;flex:1}.ask-row button{color:var(--red);font-weight:bold}.tip-output{white-space:pre-wrap;font:500 20px 'Caveat';line-height:1.4}.recipe-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.recipe-actions button{border:1px solid #94836c;padding:9px 12px;font-size:11px}dialog{border:0;padding:0;background:transparent;max-width:min(620px,92vw)}dialog::backdrop{background:rgba(43,30,23,.68);backdrop-filter:blur(3px)}.paper-modal{background:var(--paper);padding:45px;box-shadow:10px 15px 35px #2c1e18;position:relative}.paper-modal h2{font:700 42px 'Playfair Display';margin:8px 0}.close{position:absolute;right:16px;top:10px;font-size:32px}.convert-row{display:grid;grid-template-columns:1fr 1.4fr auto 1.4fr;gap:8px;margin:25px 0}.convert-row input,.convert-row select,.editor input,.editor textarea{width:100%;padding:11px;border:1px solid #aa997e;background:#fffaf0}.paper-modal output{display:block;font:600 29px 'Caveat';margin-top:25px;color:var(--red)}.editor{max-height:88vh;overflow:auto}.editor label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin:14px 0}.editor label small{display:block;text-transform:none;letter-spacing:0;opacity:.6;margin:3px 0}.editor .two{display:grid;grid-template-columns:2fr 1fr;gap:15px}footer{background:#49372d;color:#ede2cd;padding:45px max(5vw,30px);display:flex;align-items:center;justify-content:space-between}footer div{display:grid}footer strong{font:700 26px 'Playfair Display'}footer span{font:500 17px 'Caveat';color:#d4b48b}footer p{font-style:italic;font-size:12px}footer button{color:#f2dfc1;border-bottom:1px solid}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,120px);background:var(--ink);color:white;padding:12px 20px;z-index:20;transition:.25s;font-size:12px}#toast.show{transform:translate(-50%,0)}
@media(max-width:700px){.masthead{min-height:78px}.brand strong{font-size:27px}.masthead nav button:not(.add){display:none}.hero{grid-template-columns:1fr;min-height:auto;padding-top:45px}.hero aside{display:none}.hero h1{font-size:53px}.shelf-head{display:block}.filters{justify-content:flex-start}.cards{grid-template-columns:1fr}.book{grid-template-columns:1fr}.page:first-child{border-right:0;border-bottom:1px solid #cfc1a8}.recipe-page{padding:0 10px}.page{padding:35px 25px}.convert-row{grid-template-columns:1fr 1fr}.convert-row span{display:none}footer{display:grid;gap:16px}.paper-modal{padding:35px 22px}}
@media print{.masthead,footer,.back,.recipe-actions,.ai-box,.grain{display:none!important}.recipe-page{margin:0;padding:0}.book{box-shadow:none}.page{padding:35px}.recipe-page{display:block!important}.library{display:none!important}}

/* Responsive finishing pass — browser, installed PWA, and Telegram Mini App. */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}
html{overflow-x:hidden}body{min-width:280px;overflow-x:hidden;padding-bottom:var(--safe-bottom)}button{touch-action:manipulation}img,svg{max-width:100%}.masthead{padding-left:max(24px,calc(5vw + var(--safe-left)));padding-right:max(24px,calc(5vw + var(--safe-right)))}.search input,.ask-row input{min-width:0}.card{cursor:pointer}.card:focus-visible,.masthead button:focus-visible,.filters button:focus-visible,.recipe-actions button:focus-visible{outline:3px solid rgba(137,59,45,.45);outline-offset:3px}.paper-modal{width:min(620px,calc(100vw - 28px))}.editor{overscroll-behavior:contain}.editor textarea{resize:vertical}.recipe-title,.card h3,.paper-modal h2{overflow-wrap:anywhere}.tip-output{overflow-wrap:anywhere}

@media(max-width:1100px) and (min-width:701px){.masthead nav{gap:14px}.hero{gap:35px;padding-inline:40px}.hero h1{font-size:clamp(58px,7vw,78px)}.shelf-head{display:block}.filters{justify-content:flex-start}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.page{padding:45px 38px}.recipe-title{font-size:52px}.ingredients li{grid-template-columns:76px minmax(0,1fr)}}

@media(max-width:900px) and (min-width:701px){.book{grid-template-columns:1fr;min-height:0}.page:first-child{border-right:0;border-bottom:1px solid #cfc1a8}.page:first-child:after{display:none}.recipe-page{max-width:760px;margin-top:30px}.page{padding:48px clamp(42px,8vw,70px)}.recipe-title{max-width:680px}.recipe-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-actions button{min-height:44px}}

@media(max-width:780px) and (min-width:701px){.hero{grid-template-columns:1fr;min-height:auto;padding-block:55px}.hero:before,.hero aside{display:none}.hero h1{max-width:650px}.intro{max-width:640px}}

@media(max-width:700px){body{font-size:15px}.grain{opacity:.13}.masthead{min-height:72px;padding-top:calc(10px + var(--safe-top));padding-bottom:10px;padding-left:max(15px,var(--safe-left));padding-right:max(15px,var(--safe-right));gap:12px}.brand{flex:0 0 auto}.brand-small{font-size:7px}.brand strong{font-size:26px}.ribbon{font-size:13px}.masthead nav{margin-left:auto;gap:8px}.masthead nav button{display:none!important}.masthead nav .add{display:block!important;min-height:42px;padding:10px 12px;font-size:10px;white-space:nowrap}.hero{display:block;min-height:auto;padding:38px max(20px,calc(20px + var(--safe-right))) 48px max(20px,calc(20px + var(--safe-left)))}.hero:before,.hero aside{display:none}.hero h1{font-size:clamp(45px,14vw,63px);line-height:.92;margin-bottom:22px}.intro{font-size:14px;line-height:1.7}.search{margin-top:25px;padding:12px 5px}.search kbd{display:none}.shelf-head{padding:26px max(18px,calc(18px + var(--safe-left)));display:block}.shelf-head h2{font-size:31px}.filters{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;margin-inline:-18px;padding:4px 18px 10px;scrollbar-width:none;overscroll-behavior-x:contain}.filters::-webkit-scrollbar{display:none}.filters button{flex:0 0 auto;min-height:38px}.cards{grid-template-columns:minmax(0,1fr);gap:16px;padding:7px max(16px,calc(16px + var(--safe-left))) 55px}.card,.card:nth-child(even){min-height:270px;padding:22px;transform:none}.card:hover{transform:none}.card h3{font-size:28px;max-width:88%}.card .meta{padding-right:30px}.heart{width:42px;height:42px;right:7px;bottom:2px}.recipe-page{margin:22px auto 55px;padding:0 max(10px,var(--safe-left))}.back{min-height:44px;margin:0 6px 10px}.book{display:block;min-height:0;box-shadow:0 8px 24px var(--shadow)}.page{padding:34px 23px}.page:first-child{border-right:0;border-bottom:1px solid #cfc1a8}.page:first-child:after{display:none}.recipe-title{font-size:clamp(40px,12vw,57px)}.story{font-size:14px}.facts{gap:20px}.facts span{min-width:0}.facts strong{font-size:14px}.scale{flex-wrap:wrap;gap:7px}.scale button{min-width:43px;min-height:40px}.ingredients li{grid-template-columns:minmax(70px,28%) minmax(0,1fr);gap:8px;font-size:13px}.method li{grid-template-columns:34px minmax(0,1fr);gap:10px}.margin-note{margin-inline:-6px}.ask-row{align-items:center}.ask-row button{min-height:44px;padding-inline:8px}.recipe-actions{display:grid;grid-template-columns:1fr 1fr}.recipe-actions button{min-height:44px}.paper-modal{padding:34px 22px;max-height:min(88vh,calc(100dvh - 24px));overflow-y:auto}.paper-modal h2{font-size:36px}.close{width:44px;height:44px;right:5px;top:3px}.convert-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}.convert-row span{display:none}.convert-row input,.convert-row select{min-width:0;min-height:46px}.editor .two{grid-template-columns:1fr}.editor input,.editor textarea{font-size:16px}.ink-button{min-height:46px}.paper-modal output{font-size:26px}footer{display:grid;gap:17px;padding:35px max(22px,calc(22px + var(--safe-left))) calc(35px + var(--safe-bottom));text-align:left}footer p{margin:0}footer button{justify-self:start;min-height:40px}#toast{bottom:calc(16px + var(--safe-bottom));width:max-content;max-width:calc(100vw - 28px);text-align:center}}

@media(max-width:380px){.masthead .add{font-size:0}.masthead .add:after{content:'+';font-size:22px}.hero h1{font-size:42px}.page{padding:29px 18px}.recipe-actions{grid-template-columns:1fr}.facts{display:grid;grid-template-columns:1fr 1fr}.paper-modal{padding-inline:17px}.convert-row{grid-template-columns:1fr}.card h3{max-width:83%}}

@media(hover:none){.card:hover{transform:none;box-shadow:4px 6px 13px rgba(51,36,23,.1)}}

@media print{body{padding:0}.book{display:grid;grid-template-columns:1fr 1fr}.page:first-child{border-right:1px solid #cfc1a8;border-bottom:0}}

/* Controls — tactile, legible, and consistent without losing the old-book character. */
:root{--control-bg:#fffaf0;--control-border:#9f8c70;--control-focus:#9b4938;--control-shadow:rgba(69,45,30,.13)}
button{position:relative;border-radius:2px;transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .12s ease}button:not(:disabled):active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.55;filter:saturate(.5)}
.masthead nav button:not(.add){min-height:42px;padding:9px 3px}.masthead nav button:not(.add):after{content:"";position:absolute;left:3px;right:3px;bottom:5px;height:1px;background:var(--red);transform:scaleX(0);transition:transform .18s}.masthead nav button:not(.add):hover:after,.masthead nav button:not(.add):focus-visible:after{transform:scaleX(1)}
.masthead .add,.ink-button{min-height:46px;border:1px solid #713023;background:linear-gradient(#974434,#813529);box-shadow:3px 3px 0 #b19376,0 7px 15px rgba(81,43,30,.12);font-weight:700;letter-spacing:.035em}.masthead .add:hover,.ink-button:hover{background:linear-gradient(#a94c39,#8a392b);box-shadow:3px 3px 0 #aa8a6c,0 9px 18px rgba(81,43,30,.2)}.masthead .add:focus-visible,.ink-button:focus-visible{outline:3px solid rgba(137,59,45,.28);outline-offset:4px}
.filters button,.scale button,.recipe-actions button{border:1px solid var(--control-border);background:rgba(255,250,240,.5);box-shadow:0 1px 0 rgba(255,255,255,.7) inset}.filters button:hover,.scale button:hover,.recipe-actions button:hover{border-color:var(--red);color:var(--red);background:#fffaf0}.filters button.active,.scale button.active{border-color:var(--ink);background:var(--ink);color:var(--paper);box-shadow:2px 2px 0 #b8a88f}.filters button:focus-visible,.scale button:focus-visible,.recipe-actions button:focus-visible{outline:3px solid rgba(137,59,45,.22);outline-offset:2px}.recipe-actions button{font-weight:700;letter-spacing:.035em;background:#f7eedb}.recipe-actions button:first-child{background:var(--ink);border-color:var(--ink);color:#fff8e9}.recipe-actions button:first-child:hover{background:var(--red);border-color:var(--red);color:#fff}
.heart{display:grid;place-items:center;border-radius:50%;color:var(--red)}.heart:hover{background:rgba(137,59,45,.09)}
input,textarea,select{accent-color:var(--red)}.search{border:1px solid #b7a68a;border-bottom:2px solid var(--ink);box-shadow:0 7px 18px rgba(66,45,29,.07);transition:border-color .18s,box-shadow .18s,background .18s}.search:focus-within{background:#fffaf0;border-color:var(--control-focus);border-bottom-color:var(--control-focus);box-shadow:0 0 0 4px rgba(137,59,45,.1),0 9px 20px rgba(66,45,29,.12)}.search span{font-size:21px;color:var(--red)}.search input{min-height:30px;font-size:15px}.search input::placeholder,.ask-row input::placeholder,.editor input::placeholder,.editor textarea::placeholder{color:#81725f;opacity:.72}
.ask-row{border:1px solid #a9977a;border-radius:2px;background:rgba(255,250,240,.72);box-shadow:0 2px 7px var(--control-shadow);transition:border-color .18s,box-shadow .18s}.ask-row:focus-within{border-color:var(--control-focus);box-shadow:0 0 0 4px rgba(137,59,45,.1)}.ask-row input{padding:13px 12px;font-size:14px}.ask-row button{align-self:stretch;min-width:72px;padding:0 14px;background:var(--red);color:#fff8e9}.ask-row button:hover{background:#713124;color:#fff}.ask-row button[aria-busy="true"]{font-size:0}.ask-row button[aria-busy="true"]:after{content:"";display:block;width:17px;height:17px;margin:auto;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:ink-spin .7s linear infinite}
.quick-prompts{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px}.quick-prompts button{padding:7px 10px;border:1px dashed #a38c6c;background:#f3e7ce;color:#6f352b;font:600 16px 'Caveat';box-shadow:1px 1px 0 rgba(96,69,43,.12)}.quick-prompts button:hover{border-style:solid;border-color:var(--red);background:#ead8b8;transform:translateY(-1px)}
.paper-modal label{color:#57483d;font-weight:700}.editor input,.editor textarea,.convert-row input,.convert-row select{border:1px solid var(--control-border);border-radius:2px;background:var(--control-bg);box-shadow:0 2px 0 rgba(80,53,34,.06) inset,0 1px 0 rgba(255,255,255,.7);outline:0;transition:border-color .16s,box-shadow .16s,background .16s}.editor input:hover,.editor textarea:hover,.convert-row input:hover,.convert-row select:hover{border-color:#78664f}.editor input:focus,.editor textarea:focus,.convert-row input:focus,.convert-row select:focus{border-color:var(--control-focus);background:#fffdf7;box-shadow:0 0 0 4px rgba(137,59,45,.1),0 2px 0 rgba(80,53,34,.04) inset}.editor input:invalid:not(:placeholder-shown),.editor textarea:invalid:not(:placeholder-shown){border-color:#a33c32}.editor input,.convert-row input,.convert-row select{min-height:48px}.editor textarea{line-height:1.55}.editor label small{font-weight:400;color:#756654;opacity:1}.editor label:focus-within{color:var(--red)}
.convert-row select{appearance:none;padding-right:35px;background-image:linear-gradient(45deg,transparent 50%,var(--red) 50%),linear-gradient(135deg,var(--red) 50%,transparent 50%);background-position:calc(100% - 16px) 20px,calc(100% - 11px) 20px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.convert-row>span{align-self:center;font:600 19px 'Caveat';color:var(--red)}#convert-go{width:100%;margin-top:2px}#convert-result{padding:15px 17px;border-left:3px solid var(--red);background:#eee1c6;min-height:62px}
.close{display:grid;place-items:center;border-radius:50%;color:#75614e}.close:hover{background:rgba(137,59,45,.1);color:var(--red)}#form-status:not(:empty){padding:11px 13px;border-left:3px solid var(--red);background:#efe0ca;color:#7a2f25;font-size:12px;line-height:1.5}
@keyframes ink-spin{to{transform:rotate(360deg)}}

@media(max-width:700px){.masthead .add{min-height:44px}.filters button{min-height:42px;padding-inline:14px}.search{min-height:52px}.search input{font-size:16px}.quick-prompts{flex-wrap:nowrap;overflow-x:auto;margin-right:-23px;padding:2px 23px 9px 0;scrollbar-width:none}.quick-prompts::-webkit-scrollbar{display:none}.quick-prompts button{flex:0 0 auto;min-height:40px}.ask-row input{font-size:16px}.ask-row button{min-width:68px}.recipe-actions button{font-size:11px;padding:11px 9px}.paper-modal label{font-size:10px}.editor input,.editor textarea,.convert-row input,.convert-row select{min-height:50px}.ink-button{width:100%}}

@media(prefers-reduced-motion:reduce){button,.search,.ask-row,.editor input,.editor textarea,.convert-row input,.convert-row select{transition:none!important}.ask-row button[aria-busy="true"]:after{animation-duration:1.3s}}
.ai-starter{display:grid;gap:10px;margin:18px 0 24px;padding:18px;background:#eee0bd;border:1px dashed #9d795d}.ai-starter strong{font:700 21px 'Playfair Display'}.ai-starter small{color:#705d4d}.ai-starter textarea,.fridge-modal textarea{width:100%;padding:12px;border:1px solid var(--control-border);background:#fffaf0}.fridge-modal{max-height:88vh;overflow:auto}.photo-drop{display:grid;place-items:center;min-height:150px;margin:18px 0;padding:20px;text-align:center;border:2px dashed #a98d6b;background:#f1e6cd;cursor:pointer}.photo-drop input{position:absolute;opacity:0;pointer-events:none}.photo-drop strong{font:700 22px 'Playfair Display';color:var(--red)}.photo-drop span{margin-top:8px;font-size:11px}.fridge-results{margin-top:22px}.fridge-results article{padding:15px 0;border-top:1px dashed #ad9a7d}.fridge-results h3{font:700 24px 'Playfair Display';margin:5px 0}.fridge-results li{margin:6px 0}.fridge-warning{padding:10px;background:#ead7aa}
.mobile-nav{display:none}
@media(max-width:700px){body{padding-bottom:calc(76px + var(--safe-bottom))}.masthead nav{display:none}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:0;right:0;bottom:0;z-index:30;min-height:68px;padding:6px max(5px,var(--safe-right)) calc(6px + var(--safe-bottom)) max(5px,var(--safe-left));border-top:1px solid #9f8e72;background:rgba(248,241,223,.97);box-shadow:0 -5px 18px rgba(54,38,26,.16);backdrop-filter:blur(10px)}.mobile-nav button{display:grid;place-items:center;align-content:center;gap:2px;min-width:0;min-height:54px;padding:3px 2px;color:#5d493c;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.mobile-nav button span{display:block;color:var(--red);font:700 21px/1 Georgia,serif}.mobile-nav button:active,.mobile-nav button:focus-visible{background:#eadcc0;color:var(--red);outline:0}dialog{width:calc(100vw - 14px);max-width:none;overflow:hidden}.paper-modal{width:100%;max-height:calc(100dvh - 92px);padding:30px 18px 24px;overflow-x:hidden}.editor,.fridge-modal{max-height:calc(100dvh - 92px)}.ai-starter{margin-inline:-4px;padding:15px}.photo-drop{min-height:125px}.fridge-results article{padding-block:13px}#toast{bottom:calc(82px + var(--safe-bottom))}}
@media print{.mobile-nav{display:none!important}}
.ai-reviser{display:grid;gap:10px;margin:18px 0 24px;padding:18px;background:#e5dfc6;border:1px dashed #78806b}.ai-reviser strong{font:700 21px 'Playfair Display'}.ai-reviser small{color:#705d4d}.ai-reviser textarea{width:100%;padding:12px;border:1px solid var(--control-border);background:#fffaf0}.ai-reviser.hidden{display:none}@media(max-width:700px){.ai-reviser{margin-inline:-4px;padding:15px}}
