@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');

:root{--ink:#19332a;--green:#315b47;--sage:#a8bda9;--cream:#f7f3e8;--paper:#fffdf8;--coral:#dc765f;--gold:#dcae4c;--line:#d9dfd7;--muted:#6b776f;--shadow:0 18px 50px rgba(35,67,52,.13)}
*{box-sizing:border-box}html{background:#e9ede8}body{margin:0;color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;background:var(--cream)}button,input,textarea{font:inherit}.app-shell{width:100%;min-height:100vh;background:var(--cream)}
.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:env(safe-area-inset-top) 20px 0;position:sticky;top:0;z-index:20;background:rgba(247,243,232,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(49,91,71,.08)}
.brand{display:flex;align-items:center;gap:9px;border:0;background:none;font-family:'DM Serif Display',serif;font-size:22px;color:var(--ink);cursor:pointer}.brand-mark{width:31px;height:31px;background:var(--green);color:#fff;border-radius:50% 50% 44% 56%;display:grid;place-items:center;font:italic 19px 'DM Serif Display';transform:rotate(-4deg)}.brand-mark.large{width:56px;height:56px;font-size:34px;margin:auto}.icon-button{border:0;background:#e4e9e1;color:var(--green);border-radius:50%;width:36px;height:36px;font-weight:700;cursor:pointer}.hidden{visibility:hidden}
.screen{display:none;min-height:calc(100vh - 68px);padding:24px 20px 44px}.screen.active{display:block}.hero{padding:36px 4px 44px;position:relative;overflow:hidden}.hero:after{content:'✣';position:absolute;right:-12px;top:48px;font-size:138px;color:#dce3d6;z-index:0}.hero>*{position:relative;z-index:1}.eyebrow,.step-label{text-transform:uppercase;color:var(--coral);font-size:11px;font-weight:700;letter-spacing:2px;margin:0 0 10px}.hero h1,.screen-intro h1{font:48px/1.02 'DM Serif Display',serif;letter-spacing:-1px;margin:0}.hero h1 em{color:var(--green);font-weight:400}.hero-copy,.screen-intro>p:last-child{color:var(--muted);font-size:16px;line-height:1.55;max-width:360px}.primary-button{border:0;border-radius:14px;background:var(--green);color:#fff;font-weight:700;padding:15px 20px;box-shadow:0 8px 22px rgba(49,91,71,.2);cursor:pointer}.primary-button span{font-size:20px;margin-right:4px}.wide{width:100%}.library-section{border-top:1px solid var(--line);padding-top:26px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.section-heading h2{margin:0;font:28px 'DM Serif Display'}.section-heading span{color:var(--muted);font-size:13px}.recipe-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.recipe-card{border:0;background:var(--paper);border-radius:18px;overflow:hidden;text-align:left;padding:0;box-shadow:0 7px 24px rgba(28,58,45,.08);cursor:pointer;color:var(--ink)}.recipe-card-art{height:112px;background:linear-gradient(135deg,#c9d8c4,#f1dec1);display:grid;place-items:center;font-size:44px}.recipe-card-copy{padding:13px}.recipe-card h3{font:20px/1.05 'DM Serif Display';margin:0 0 5px}.recipe-card p{font-size:11px;color:var(--muted);margin:0}.new-card{border:1.5px dashed var(--sage);display:grid;place-items:center;min-height:182px;background:transparent;text-align:center}.new-card b{display:block;font-size:24px}.new-card span{font-size:12px;color:var(--muted)}
.screen-intro{padding:20px 2px 16px}.screen-intro h1{font-size:40px}.screen-intro.compact{padding-top:6px}.upload-card{margin-top:22px;min-height:280px;border:1.5px dashed var(--sage);border-radius:24px;background:rgba(255,253,248,.7);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;padding:24px;cursor:pointer}.upload-card strong{font:25px 'DM Serif Display'}.upload-card>span:not(.upload-illustration):not(.small-button){color:var(--muted);font-size:13px}.upload-illustration{width:74px;height:74px;border-radius:50%;background:#dce6d7;display:grid;place-items:center;font-size:38px;color:var(--green)}.small-button{background:var(--green);color:white;border-radius:10px;padding:10px 18px;font-size:13px;font-weight:700;margin-top:8px}.privacy-note{display:flex;gap:12px;margin:19px 3px;padding:14px;background:#edf0e7;border-radius:14px;font-size:12px;color:var(--muted)}.privacy-note span{color:var(--green)}.privacy-note p{margin:0;line-height:1.5}.privacy-note strong{color:var(--ink)}.text-button{display:block;margin:14px auto;border:0;background:none;color:var(--green);font-weight:700;cursor:pointer}
.scanner{text-align:center;padding-top:10vh}.scan-frame{width:min(78vw,330px);height:340px;margin:auto;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);position:relative;background:#e4e2d9;transform:rotate(-2deg)}.scan-frame img{width:100%;height:100%;object-fit:cover}.scan-line{position:absolute;left:0;right:0;height:3px;background:var(--coral);box-shadow:0 0 18px var(--coral);animation:scan 2.3s ease-in-out infinite}@keyframes scan{0%,100%{top:8%}50%{top:90%}}.loader{margin:35px auto 18px;width:28px;height:28px;border:3px solid #d4ddd4;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.scanner h1{font:30px 'DM Serif Display';margin:0}.scanner p{color:var(--muted)}
.field-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.3px;color:var(--muted)}.field-label input{display:block;width:100%;font:28px 'DM Serif Display';color:var(--ink);border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:14px;margin-top:7px}.form-section{margin-top:32px}.form-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:10px}.form-heading>div{display:flex;align-items:center;gap:9px}.form-heading span{color:var(--coral);font-size:11px;font-weight:700}.form-heading h2{font:27px 'DM Serif Display';margin:0}.add-button{border:0;background:#e5ebe3;color:var(--green);border-radius:8px;padding:7px 10px;font-weight:700;font-size:12px}.field-hint{color:var(--muted);font-size:12px}.editor-row{display:grid;grid-template-columns:64px 64px 1fr 30px;gap:7px;align-items:center;margin:9px 0}.editor-row input,.direction-row textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:10px;color:var(--ink)}.editor-row input::placeholder{font-size:10px}.delete-button{border:0;background:none;color:#9e6a5e;font-size:19px}.direction-row{display:grid;grid-template-columns:28px 1fr 28px;gap:7px;align-items:start;margin:10px 0}.step-number{width:25px;height:25px;border-radius:50%;background:var(--green);color:white;display:grid;place-items:center;font-size:11px;font-weight:700;margin-top:8px}.direction-row textarea{resize:vertical;min-height:76px;line-height:1.45}.sticky-action{position:sticky;bottom:0;padding:18px 0 calc(8px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--cream) 20%)}
.template-list{display:grid;gap:12px;margin:8px 0 24px}.template-card{border:2px solid transparent;background:var(--paper);border-radius:17px;padding:12px;display:grid;grid-template-columns:100px 1fr;gap:14px;text-align:left;color:var(--ink);align-items:center;cursor:pointer}.template-card.selected{border-color:var(--green);box-shadow:0 7px 20px rgba(49,91,71,.12)}.template-thumb{height:76px;border:3px double #dc765f;background:#fff8e8;border-radius:4px;padding:6px;display:grid;gap:3px;box-shadow:inset 0 0 0 2px #f3d276}.template-thumb i{display:block;background:#9fc29c;border-radius:2px}.template-thumb b{display:block;background:linear-gradient(90deg,#efc66e,#e69783);height:3px;border-radius:2px}.thumb-none{grid-template-columns:1fr 1fr}.thumb-quarter{grid-template-columns:1fr 1fr}.thumb-quarter i{grid-column:1/-1;height:22px}.thumb-half i{height:34px}.thumb-full i{height:100%;opacity:.8}.thumb-two{grid-template-columns:1fr 1fr}.thumb-two i{height:27px}.template-copy strong{font:20px 'DM Serif Display';display:block}.template-copy span{font-size:12px;color:var(--muted)}
.type-controls{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:16px;margin:0 0 18px;display:grid;gap:14px}.type-control-heading{display:flex;justify-content:space-between;align-items:center}.type-control-heading span{color:var(--coral);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px}.type-control-heading strong{font:18px 'DM Serif Display'}.type-controls label{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-weight:700}.type-controls select{width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;padding:10px;color:var(--ink)}.type-controls input[type=range]{width:100%;accent-color:var(--coral)}.type-controls output{color:var(--coral);text-align:right}
.preview-heading{display:flex;align-items:center;justify-content:space-between}.preview-heading h1{font-size:34px}.secondary-button{border:1px solid var(--line);background:var(--paper);color:var(--green);border-radius:10px;padding:10px 12px;font-weight:700;font-size:12px;cursor:pointer}.recipe-page-wrap{overflow:auto;padding:12px 4px 28px}.recipe-page{width:100%;aspect-ratio:8.5/11;background:var(--paper);box-shadow:var(--shadow);padding:8%;position:relative;overflow:hidden}.page-title{font:clamp(25px,8vw,46px)/.98 'DM Serif Display';margin:0;color:var(--ink)}.page-rule{width:42px;height:4px;background:var(--coral);margin:13px 0}.page-grid{display:grid;grid-template-columns:.8fr 1.25fr;gap:6%;font-size:clamp(7px,2.25vw,12px);line-height:1.45}.page-grid h3,.notes h3{font-size:.78em;text-transform:uppercase;letter-spacing:1.7px;margin:0 0 8px;color:var(--green)}.page-grid ul,.page-grid ol{padding-left:16px;margin:0}.page-grid li{margin-bottom:4px}.notes{border-top:1px solid var(--line);margin-top:12px;padding-top:9px;height:15%}.note-lines{height:100%;background:repeating-linear-gradient(transparent,transparent 15px,#e5e6df 16px)}.page-photo{width:100%;object-fit:cover;background:#e1e8dc}.photo-placeholder{display:flex;align-items:center;justify-content:center;text-align:center;border:1.5px dashed var(--sage);color:var(--green);font-size:11px;background:#f1f3eb;cursor:pointer}.layout-quarter .page-photo{height:21%;margin-bottom:5%}.layout-half .page-photo{height:45%;margin-bottom:5%}.layout-full{padding:0}.layout-full .page-photo{position:absolute;inset:0;width:100%;height:100%;filter:brightness(.62)}.layout-full .page-content{position:absolute;inset:46% 0 0;padding:8%;background:linear-gradient(transparent,rgba(18,35,29,.95) 18%);color:#fff}.layout-full .page-title,.layout-full .page-grid h3,.layout-full .notes h3{color:white}.layout-full .page-grid{font-size:clamp(6px,2vw,10px)}.layout-full .page-rule{background:var(--gold)}.layout-full .notes{border-color:rgba(255,255,255,.3)}.layout-two .two-photos{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:5%}.layout-two .page-photo{height:90px}.preview-actions{padding-bottom:28px}.action-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:10px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,30px);background:var(--ink);color:white;padding:12px 18px;border-radius:12px;opacity:0;pointer-events:none;transition:.25s;z-index:50;font-size:13px}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:0;border-radius:24px;padding:34px 26px;text-align:center;max-width:340px;color:var(--ink);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(20,37,30,.55)}dialog h2{font:32px 'DM Serif Display';margin:12px 0 4px}dialog p{color:var(--muted);line-height:1.5}.dialog-small{font-size:11px}.dialog-close{position:absolute;right:12px;top:10px;border:0;background:none;font-size:25px;color:var(--muted)}
@media(min-width:700px){body{padding:24px}.app-shell{max-width:430px;margin:auto;min-height:calc(100vh - 48px);border-radius:28px;overflow:hidden;box-shadow:0 12px 60px rgba(20,45,34,.18)}.topbar{position:relative}.screen{min-height:720px}}
.recipe-page{padding:7%;container-type:inline-size}.page-title{font-size:clamp(21px,9cqw,38px)}.page-rule{margin:8px 0}.page-grid{gap:5%;font-size:clamp(6px,2.25cqw,11px);line-height:1.25}.page-grid h3,.notes h3{letter-spacing:1.2px;margin-bottom:4px}.page-grid ul,.page-grid ol{padding-left:11px}.page-grid li{margin-bottom:1px}.notes{margin-top:6px;padding-top:5px;height:9%}.photo-placeholder{font-size:9px}.layout-quarter .page-photo{height:15%;margin-bottom:3%}.layout-half .page-photo{height:36%;margin-bottom:3%}.layout-full .page-content{inset:36% 0 0;padding:7%;background:linear-gradient(transparent,rgba(18,35,29,.95) 14%)}.layout-full .page-grid{font-size:clamp(5.5px,2cqw,9px)}.layout-two .two-photos{gap:7px;margin-bottom:3%}.layout-two .page-photo{height:50px}
.dense:not(.layout-full) .page-content{width:122%;transform:scale(.82);transform-origin:top left}.dense.layout-full .page-content{inset:30% 0 0}.dense.layout-full .page-grid{font-size:clamp(5px,1.8cqw,8px)}
.recipe-page{background:#fffaf0;border:5px solid #e09a54;box-shadow:inset 0 0 0 4px #f3d276,inset 0 0 0 8px #dc765f,var(--shadow);padding:8%}.page-content{position:relative;font-family:var(--recipe-font,'DM Serif Display',serif)}.page-title{max-width:78%;font-family:var(--recipe-font,'DM Serif Display',serif);color:#264f3d}.page-rule{width:64px;background:linear-gradient(90deg,#dc765f 0 33%,#dcae4c 33% 66%,#6e9d70 66%)}.recipe-section{position:relative;border-radius:9px;padding:8px 10px;margin:7px 0;font-size:var(--recipe-size,10px);line-height:1.38}.recipe-section h3,.notes h3{font-family:'DM Sans',sans-serif;font-size:.82em;text-transform:uppercase;letter-spacing:1.5px;margin:0 0 6px}.recipe-section ul,.recipe-section ol{margin:0;padding-left:17px}.recipe-section li{margin-bottom:3px}.ingredients-panel{background:#fff0c9;border:1.5px solid #e8b85c;color:#513b24}.ingredients-panel h3{color:#a5543f}.directions-panel{background:#e2efe1;border:1.5px solid #8eb28e;color:#263d31}.directions-panel h3{color:#315b47}.notes{background:#e9f0f2;border:1.5px solid #9cb9bf;border-top-width:1.5px;border-radius:9px;margin-top:7px;padding:7px 10px;height:56px}.notes h3{color:#46737c}.note-lines{background:repeating-linear-gradient(transparent,transparent 12px,#bccdd0 13px)}.margin-art{position:absolute;width:58px;height:44px;z-index:0;opacity:.95;filter:drop-shadow(0 3px 1px rgba(68,52,32,.08))}.margin-art svg{width:100%;height:100%}.art-top{right:-4px;top:-9px;transform:rotate(8deg)}.art-bottom{right:-6px;bottom:-8px;transform:rotate(-9deg);opacity:.65}.recipe-section,.notes,.page-title,.page-rule{position:relative;z-index:1}.layout-quarter .page-photo{border-radius:8px;border:3px solid #e8b85c}.layout-half .page-photo{border-radius:8px;border:3px solid #dc765f}.layout-two .page-photo{border-radius:8px;border:2px solid #6e9d70}.layout-full{border-color:#e8b85c;box-shadow:inset 0 0 0 5px #dc765f,var(--shadow)}.layout-full .page-content{color:white}.layout-full .recipe-section{backdrop-filter:blur(4px)}.layout-full .ingredients-panel{background:rgba(255,240,201,.92)}.layout-full .directions-panel{background:rgba(226,239,225,.92)}.layout-full .notes{background:rgba(233,240,242,.9)}.layout-full .page-title{color:white;text-shadow:0 2px 10px rgba(0,0,0,.45)}.dense.layout-full .recipe-section{font-size:calc(var(--recipe-size,10px) * .83)}
.cookbook-name-label{display:block;text-align:left;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin:18px 0 12px}.cookbook-name-label input{display:block;width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:7px;color:var(--ink);font-weight:700;text-transform:uppercase}
.dense .notes{height:42px;padding-top:4px}

/* Revised navigation, cookbook index, and recipe controls */
.brand-logo{width:42px;height:34px;display:grid;place-items:center}.brand-logo svg{width:42px;height:34px;fill:none;stroke:var(--green);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.dialog-logo{width:64px;height:52px;margin:auto}.dialog-logo svg{width:64px;height:52px}.more-dots{font-size:12px;letter-spacing:1px;padding:0}.recipe-grid{display:block}.category-group{margin:0 0 26px}.category-group-title{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--green)}.category-group-title>span{width:28px;height:28px;display:grid;place-items:center;background:#dfe9d9;border-radius:50%}.category-group-title h3{font:22px 'DM Serif Display';margin:0}.category-group-title small{margin-left:auto;color:var(--muted)}.category-recipe-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.recipe-card-art{height:104px}.recipe-card-art img{width:100%;height:100%;object-fit:cover}.recipe-card-art svg{width:72px;height:52px}.recipe-grid>.new-card{width:100%;min-height:105px}.line-food-art{fill:none;stroke:#315b47;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.line-food-art .accent{stroke:#dc765f}
.category-fieldset{border:0;padding:0;margin:24px 0 8px}.category-fieldset legend{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.3px;color:var(--muted);margin-bottom:10px}.category-options{display:flex;flex-wrap:wrap;gap:7px}.category-choice input{position:absolute;opacity:0}.category-choice span{display:block;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:8px 10px;font-size:10px;font-weight:700;color:var(--green);cursor:pointer}.category-choice input:checked+span{background:var(--green);color:white;border-color:var(--green)}.other-category{display:block;margin-top:11px;font-size:10px;color:var(--muted);font-weight:700}.other-category.hidden{display:none}.other-category input{display:block;width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;margin-top:6px}

/* Recipe page: compact ingredient rail, large directions area */
.recipe-body{display:grid;grid-template-columns:1fr 3fr;gap:8px;align-items:start}.recipe-section{margin:0;min-width:0}.ingredients-panel{padding:8px 7px}.ingredients-panel ul{padding-left:13px}.ingredients-panel li{margin-bottom:4px}.directions-panel{padding:8px 10px}.directions-panel ol{padding-left:17px}.page-title{max-width:82%}.margin-art{width:72px;height:50px;filter:none}.art-top{right:-5px;top:-8px;transform:none}.dense:not(.layout-full) .page-content{width:111%;transform:scale(.9);transform-origin:top left}.layout-full .recipe-body{grid-template-columns:1fr 3fr}.layout-full .page-content{inset:34% 0 0}.notes{height:48px;margin-top:8px}.empty-print-photo{background:linear-gradient(135deg,#edf2e7,#fff2d9)}

/* Recipe-only screen actions */
.recipe-settings-button{position:fixed;right:max(22px,calc((100vw - 430px)/2 + 22px));bottom:calc(22px + env(safe-area-inset-bottom));width:52px;height:52px;border:0;border-radius:50%;background:var(--green);color:white;font-size:22px;box-shadow:0 10px 28px rgba(25,51,42,.3);z-index:24;cursor:pointer}.settings-dialog{text-align:left;width:min(360px,calc(100vw - 32px));padding:28px 20px 20px}.settings-dialog h2{margin:0 0 18px}.settings-actions{display:grid;gap:8px}.settings-actions>button,.reorder-settings{display:grid;grid-template-columns:34px 1fr;column-gap:8px;text-align:left;border:1px solid var(--line);background:#fffdf8;border-radius:12px;padding:11px;color:var(--ink)}.settings-actions>button>span,.reorder-settings>span{grid-row:1/3;font-size:21px;color:var(--coral);align-self:center}.settings-actions b,.reorder-settings b{font-size:13px}.settings-actions small,.reorder-settings small{font-size:10px;color:var(--muted)}.reorder-settings>div{grid-column:2;display:flex;gap:6px;margin-top:8px}.reorder-settings>div button{border:0;border-radius:7px;background:#e5ebe3;color:var(--green);padding:7px 9px;font-size:10px;font-weight:700}.settings-actions .danger-action{color:#8b4438;border-color:#ebc6be}.settings-actions .danger-action span{color:#ad5143}#cookbookPrint{display:none}

/* Template previews now mirror the real page structures */
.thumb-none{display:flex;flex-direction:column;gap:5px;padding-top:10px}.thumb-none i{display:none}.thumb-none b{height:8px;background:#f0c875}.thumb-none b:nth-of-type(2){width:82%;background:#df8b72}.thumb-none b:nth-of-type(3){width:66%;background:#9abb91}.thumb-quarter i{background:linear-gradient(135deg,#96b88d,#e7c06d)}.thumb-half{grid-template-columns:1fr}.thumb-half i{height:34px;background:linear-gradient(135deg,#e7c06d,#91b5a0)}.thumb-full{grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,1fr)}.thumb-full i{grid-column:1;grid-row:1/5;height:100%;background:linear-gradient(135deg,#7ea678,#e8bd6a)}.thumb-full b{grid-column:2;background:#d9a36e}.thumb-two i{background:linear-gradient(135deg,#91b694,#eac778)}

/* Spacious editorial recipe layouts inspired by modern cookbooks */
.recipe-page{border:3px solid #e3aa56;box-shadow:inset 0 0 0 2px #f5dfae,var(--shadow);padding:6.5%;background:#fffcf5}.page-content{height:auto}.page-title{font-size:clamp(24px,9cqw,40px);max-width:80%;letter-spacing:-.3px}.page-rule{height:3px;margin:7px 0 10px}.recipe-body{grid-template-columns:minmax(0,1fr) minmax(0,2.7fr);gap:10px;align-items:stretch}.recipe-section{font-size:var(--recipe-size,10px);line-height:1.34}.ingredients-panel,.directions-panel{height:100%;border-width:1px;border-radius:5px}.ingredients-panel{padding:10px 8px;background:#fff4d6}.directions-panel{padding:10px 12px;background:#f0f6ed}.recipe-section h3,.notes h3{font-size:.9em;letter-spacing:1.25px}.notes{height:64px;margin-top:10px;border-radius:5px;background:#f2f7f7}.dense:not(.layout-full) .page-content{width:auto;transform:none}.dense .notes{height:54px}.margin-art{width:62px;height:43px;opacity:.75}.layout-none .page-content{height:100%;display:grid;grid-template-rows:auto auto 1fr auto}.layout-none .recipe-body{min-height:0}.layout-none .ingredients-panel,.layout-none .directions-panel{align-self:stretch}.layout-none .notes{height:72px}.layout-quarter .page-photo{height:18%;margin-bottom:4%;border:1px solid #d8a44f;border-radius:3px}.layout-quarter .page-content{height:74%}.layout-half .page-photo{height:44%;margin-bottom:4%;border:1px solid #d8a44f;border-radius:3px}.layout-half .page-content{height:49%}.layout-half .recipe-section{font-size:calc(var(--recipe-size,10px) * .82);padding-top:6px}.layout-half .notes{height:36px;margin-top:6px}.layout-two .two-photos{height:18%;margin-bottom:4%;gap:8px}.layout-two .page-photo{height:100%;border:1px solid #7fa37b;border-radius:3px}.layout-two .page-content{height:74%}

/* Full Page Photo: full-height image at left, clean recipe column at right */
.layout-full{padding:0;border:0;box-shadow:var(--shadow);background:white}.layout-full .page-photo{position:absolute;left:0;top:0;width:45%;height:100%;object-fit:cover;filter:none;border:0;border-radius:0;margin:0}.layout-full .photo-placeholder{display:flex;background:linear-gradient(145deg,#cad9c3,#f0d18b);color:#315b47}.layout-full .page-content{position:absolute;left:45%;right:0;top:0;bottom:0;inset:0 0 0 45%;height:100%;padding:7% 5.5%;background:#fffdf8;color:var(--ink);display:grid;grid-template-rows:auto auto 1fr auto}.layout-full .page-title{color:#264f3d;text-shadow:none;max-width:78%;font-size:clamp(19px,6cqw,32px)}.layout-full .page-rule{background:linear-gradient(90deg,#dc765f 0 33%,#dcae4c 33% 66%,#6e9d70 66%)}.layout-full .recipe-body{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:6px;min-height:0}.layout-full .recipe-section{font-size:calc(var(--recipe-size,10px) * .82);line-height:1.28;padding:7px 6px;align-self:stretch}.layout-full .ingredients-panel{background:#fff5d8}.layout-full .directions-panel{background:#f3f7ef}.layout-full .notes{height:44px;margin-top:6px;background:#f2f7f7}.layout-full .margin-art{width:46px;height:34px}.dense.layout-full .page-content{inset:0 0 0 45%}.dense.layout-full .recipe-section{font-size:calc(var(--recipe-size,10px) * .76)}

.recipe-body{grid-template-columns:minmax(0,1.15fr) minmax(0,2.85fr)}.ingredients-panel{padding:9px 7px;font-size:calc(var(--recipe-size,10px) * .82);line-height:1.22}.ingredients-panel li{margin-bottom:2px}

@media print{body{padding:0;background:white}.topbar,.screen:not(#previewScreen),.preview-heading,.recipe-settings-button,dialog,.toast{display:none!important}#previewScreen{display:block!important;padding:0}.recipe-page-wrap{padding:0}.recipe-page{box-shadow:inset 0 0 0 3px #f5dfae;width:8.5in;height:11in}.app-shell{max-width:none;box-shadow:none}.recipe-section{font-size:calc(var(--recipe-size,10px) * 1.3)}body.printing-book main,body.printing-book .topbar{display:none!important}body.printing-book #cookbookPrint{display:block!important}body.printing-book #cookbookPrint .recipe-page{display:block;page-break-after:always;break-after:page;margin:0}}

/* Cover and selectable logo system */
.selected-logo{display:block;background-repeat:no-repeat}.header-selected-logo{width:112px;height:48px}.dialog-selected-logo{width:220px;height:98px;margin:0 auto}.cover-screen{padding:0;background:linear-gradient(145deg,#fbf8ef,#eef2e9)}.cover-inner{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 24px;cursor:pointer}.cover-selected-logo{width:min(88vw,370px);height:min(39vw,165px)}.cover-name{font:18px 'DM Serif Display';letter-spacing:6px;color:var(--green);margin:24px 0 70px;text-transform:uppercase}.swipe-cue{color:var(--muted);font-size:12px;letter-spacing:1px}.swipe-cue b{display:inline-block;margin-left:7px;color:var(--coral);font-size:18px}.on-cover .topbar{display:none}.on-cover main{min-height:100vh}.logo-picker-heading{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);margin-top:22px;padding-top:18px;text-align:left}.logo-picker-heading strong{font:20px 'DM Serif Display'}.logo-picker-heading span{font-size:10px;color:var(--muted)}.logo-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.logo-option{border:2px solid transparent;background:#f8f7f1;border-radius:10px;padding:6px;cursor:pointer}.logo-option.selected{border-color:var(--green);box-shadow:0 0 0 2px #dbe7db}.logo-option-image{display:block;width:100%;aspect-ratio:2.25}.logo-option small{display:block;color:var(--muted);font-size:8px;margin-top:4px}.upload-logo-button{display:block;border:1px dashed var(--sage);border-radius:10px;padding:11px;color:var(--green);font-size:11px;font-weight:700;cursor:pointer}

/* Cleaner recipe cards and botanical double-line page border */
.category-monogram{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--green);border:1px solid #b9cab3;font:28px 'DM Serif Display'}.recipe-page{border:2px solid #cda85e;box-shadow:inset 0 0 0 5px #fffdf8,inset 0 0 0 6px #688464,var(--shadow)}.recipe-page::before{content:'';position:absolute;inset:9px;border:1px solid rgba(205,168,94,.8);pointer-events:none;z-index:12}.layout-full::before{inset:8px;border-color:rgba(255,255,255,.8)}.notes{box-sizing:border-box;overflow:hidden}.layout-none .notes{height:56px}.layout-quarter .notes,.layout-two .notes{height:48px}.recipe-page .page-content{padding-bottom:2px}

/* Settings, category, sharing, confirmation, and reorder album */
.settings-category{display:grid;grid-template-columns:34px 1fr;column-gap:8px;text-align:left;border:1px solid var(--line);background:#fffdf8;border-radius:12px;padding:11px;color:var(--ink)}.settings-category>span{grid-row:1/4;font-size:21px;color:var(--coral);align-self:center}.settings-category b{font-size:13px}.settings-category small{font-size:10px;color:var(--muted)}.settings-category select{grid-column:2;margin-top:7px;border:1px solid var(--line);border-radius:7px;padding:7px;background:white;color:var(--green);font-size:11px}.confirm-dialog,.share-dialog,.reorder-dialog{width:min(390px,calc(100vw - 28px));text-align:left}.confirm-dialog p,.reorder-dialog>p{font-size:12px}.confirm-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;margin-top:18px}.danger-button{border:0;border-radius:10px;background:#a94d40;color:white;font-weight:700}.share-dialog textarea{width:100%;height:270px;border:1px solid var(--line);border-radius:10px;padding:12px;margin:8px 0 12px;font-size:12px;line-height:1.45;resize:none}.reorder-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:58vh;overflow:auto;margin:14px 0}.reorder-item{background:#fffdf8;border:1px solid var(--line);border-radius:12px;padding:9px;display:grid;grid-template-columns:24px 46px 1fr;gap:7px;align-items:center;box-shadow:0 4px 12px rgba(30,55,44,.06)}.reorder-item.dragging{opacity:.55;border-color:var(--coral)}.drag-handle{font-size:17px;color:var(--muted);touch-action:none;cursor:grab}.reorder-thumb{width:44px;height:44px;border-radius:8px;background:#e6edde;display:grid;place-items:center;color:var(--green);font-weight:700;overflow:hidden}.reorder-thumb img{width:100%;height:100%;object-fit:cover}.reorder-item b{display:block;font-size:10px;line-height:1.15}.reorder-item small{display:block;font-size:8px;color:var(--muted);margin-top:3px}

@page{size:Letter portrait;margin:0}
@media print{html,body{width:8.5in!important;height:11in!important;margin:0!important;padding:0!important;overflow:hidden!important;background:white!important}.app-shell,#previewScreen,.recipe-page-wrap{width:8.5in!important;height:11in!important;min-height:11in!important;margin:0!important;padding:0!important;overflow:hidden!important}.recipe-page{width:8.5in!important;height:11in!important;min-height:11in!important;max-height:11in!important;margin:0!important;box-shadow:inset 0 0 0 5px #fffdf8,inset 0 0 0 6px #688464!important;break-inside:avoid!important;page-break-inside:avoid!important}.recipe-page::before{inset:.18in}.recipe-settings-button{display:none!important}body.printing-book{height:auto!important;overflow:visible!important}body.printing-book .app-shell{height:auto!important;overflow:visible!important}body.printing-book #cookbookPrint{width:8.5in!important;height:auto!important}body.printing-book #cookbookPrint .recipe-page{page-break-after:always!important;break-after:page!important}}

/* Portrait phone: natural cookbook reading order and vertical scrolling */
@media (orientation:portrait) and (max-width:700px){
  body{padding:0}.app-shell{width:100%;max-width:none;min-height:100vh;border-radius:0;box-shadow:none}.screen{padding-left:16px;padding-right:16px}.recipe-page-wrap{overflow:visible;padding:8px 0 80px}.recipe-page{width:100%;height:auto;min-height:0;aspect-ratio:auto;overflow:visible;padding:18px 15px 22px;display:flex;flex-direction:column}.recipe-page::before{inset:7px}.recipe-page .page-photo,.layout-full .page-photo{position:static;width:100%;height:230px;display:flex;object-fit:cover;border:1px solid #c8a45d;border-radius:3px;margin:0 0 14px;order:0}.layout-two .two-photos{height:auto;margin-bottom:14px;order:0}.layout-two .page-photo{height:175px;margin:0}.recipe-page .page-content,.layout-full .page-content,.dense.layout-full .page-content{position:static;inset:auto;width:auto;height:auto;display:contents!important;background:#fffdf8}.page-title,.layout-full .page-title{max-width:100%;font-size:34px;margin:0;order:-2}.page-rule{margin:8px 0 16px;order:-1}.recipe-body,.layout-full .recipe-body{display:flex;flex-direction:column;gap:14px;order:1}.recipe-section,.layout-full .recipe-section,.dense.layout-full .recipe-section{height:auto;align-self:auto;font-size:calc(var(--recipe-size,10px) * 1.32);line-height:1.5;padding:15px 14px}.ingredients-panel,.layout-full .ingredients-panel{font-size:calc(var(--recipe-size,10px) * 1.2);line-height:1.42}.recipe-section li{margin-bottom:7px}.directions-panel ol{padding-left:22px}.notes,.layout-none .notes,.layout-quarter .notes,.layout-two .notes,.layout-full .notes{height:130px;margin-top:14px;padding:14px;order:2}.recipe-settings-button{bottom:18px}.preview-heading{padding-left:2px;padding-right:2px}
}

.category-toggle{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--green);
  font:900 26px/1 system-ui,sans-serif;
  width:32px;
  height:32px;
  margin-right:10px;
  display:inline-grid;
  place-items:center;
  cursor:pointer;
  flex:0 0 auto;
}
.category-toggle:focus-visible{
  outline:2px solid var(--coral);
  outline-offset:2px;
  border-radius:999px;
}
.category-group.collapsed{
  padding-bottom:8px;
}
.category-group.collapsed .category-group-title{
  border-bottom:1px dotted rgba(28,76,55,.18);
  padding-bottom:8px;
}

/* Landscape phone: editorial header/photo with three-column recipe card */
@media (orientation:landscape) and (max-height:700px){
  body{padding:0}.app-shell{width:100%;max-width:none;min-height:100vh;border-radius:0;box-shadow:none}.topbar{height:58px;padding:0 22px}.header-selected-logo{width:150px;height:52px}.screen{min-height:calc(100vh - 58px);padding:14px 22px 40px}.preview-heading{padding:0 0 8px}.preview-heading .step-label{display:none}.preview-heading h1{font-size:25px}.recipe-page-wrap{padding:0 0 70px;overflow:visible}.recipe-page{width:100%;height:auto;min-height:620px;aspect-ratio:auto;overflow:visible;padding:22px 24px}.recipe-page::before{inset:8px}.recipe-page>.page-photo,.layout-full .page-photo{position:absolute;top:22px;right:24px;left:auto;width:50%;height:205px;object-fit:cover;border:1px solid #c9a459;border-radius:3px;filter:none;margin:0}.layout-two .two-photos{position:absolute;top:22px;right:24px;width:50%;height:205px;margin:0;z-index:2}.layout-two .page-photo{position:static;width:100%;height:205px;margin:0}.recipe-page .page-content,.layout-full .page-content,.dense.layout-full .page-content{position:relative;inset:auto;width:100%;height:auto;display:grid;grid-template-columns:minmax(180px,1fr) minmax(320px,2fr) minmax(150px,.82fr);grid-template-rows:205px auto;gap:16px;padding:0;background:#fffdf8;color:var(--ink)}.page-title,.layout-full .page-title{grid-column:1;grid-row:1;align-self:center;max-width:92%;font-size:clamp(34px,4.4vw,58px);line-height:.95;color:var(--green);text-shadow:none}.page-rule{position:absolute;left:0;top:145px;width:110px}.recipe-body,.layout-full .recipe-body{display:contents}.ingredients-panel,.layout-full .ingredients-panel{grid-column:1;grid-row:2;height:auto;font-size:13px;line-height:1.35;padding:16px}.directions-panel,.layout-full .directions-panel{grid-column:2;grid-row:2;height:auto;font-size:14px;line-height:1.48;padding:16px 18px}.notes,.layout-none .notes,.layout-quarter .notes,.layout-two .notes,.layout-full .notes{grid-column:3;grid-row:2;height:auto;min-height:310px;margin:0;padding:16px;background:#f4f7f4}.layout-none .page-content{grid-template-rows:115px auto}.layout-none .page-title{grid-column:1/3}.layout-none .page-rule{top:82px}.layout-none .notes{min-height:310px}.recipe-section h3,.notes h3{font-size:12px}.recipe-settings-button{right:22px;bottom:18px}
}

/* Finished cookbook experience */
.cover-screen{background:#668c73}.cover-inner{background:#668c73}.cover-selected-logo{width:min(88vw,420px);height:min(40vw,190px);mix-blend-mode:multiply;filter:contrast(1.25)}.page-turn-in{transform-origin:left center;animation:pageTurnIn .65s cubic-bezier(.2,.72,.2,1)}@keyframes pageTurnIn{0%{opacity:.2;transform:perspective(1200px) rotateY(-72deg) scale(.96);box-shadow:30px 0 55px rgba(25,50,38,.25)}100%{opacity:1;transform:perspective(1200px) rotateY(0) scale(1)}}
#libraryScreen{background:#fffdf7;box-shadow:inset 14px 0 25px rgba(54,64,46,.05)}#libraryScreen .hero{padding:8px 0 14px;text-align:right}#libraryScreen .hero .eyebrow,#libraryScreen .hero h1,#libraryScreen .hero-copy,#libraryScreen .hero::after{display:none}#libraryScreen .hero .primary-button{padding:10px 14px;box-shadow:none;font-size:12px}.library-section{border:0;padding-top:0}.section-heading{align-items:center;border-bottom:2px solid #d9caa5;padding-bottom:13px}.section-heading>div .eyebrow{margin-bottom:3px}.section-heading>div h2{font-size:34px}.section-heading>#recipeCount{margin-left:auto}.manage-sections-button{border:0;background:none;color:var(--green);font-size:10px;font-weight:700;text-decoration:underline;cursor:pointer;margin-left:12px}.category-group{border-bottom:1px solid #e8e0cd;padding-bottom:17px;margin-bottom:18px}.category-group-title{cursor:pointer;user-select:none}.category-group-title>span{width:48px;height:24px;background:none;border-radius:0}.category-group-title h3{font-size:20px;letter-spacing:1.1px}.index-sprig{width:46px;height:20px;display:block;position:relative}.index-sprig::before{content:'';position:absolute;left:3px;right:3px;top:10px;height:1px;background:#315b47;transform:rotate(-5deg)}.index-sprig b{position:absolute;width:10px;height:5px;border:1px solid #315b47;border-radius:100% 0 100% 0;background:#e8f0e3}.index-sprig b:nth-child(1){left:8px;top:3px;transform:rotate(25deg)}.index-sprig b:nth-child(2){left:22px;top:10px;transform:rotate(-25deg)}.index-sprig b:nth-child(3){left:33px;top:3px;transform:rotate(25deg)}.index-sprig em{position:absolute;width:6px;height:6px;border-radius:50%;background:#b93e36;left:19px;top:5px;box-shadow:7px 2px 0 #b93e36}.category-recipe-grid{display:block}.recipe-card.index-recipe-link{width:100%;display:grid;grid-template-columns:66px 1fr;align-items:center;border-radius:0;box-shadow:none;background:transparent;border-top:1px dotted #d9d0bb;padding:7px 0}.recipe-card.index-recipe-link:first-child{border-top:0}.index-recipe-link .recipe-card-art{height:48px;width:60px;border-radius:5px;overflow:hidden;background:#eef2e7}.index-recipe-link .recipe-card-copy{padding:4px 0}.index-recipe-link .recipe-card-copy h3{font-size:17px;text-decoration:underline;text-decoration-color:#b7c6af;text-underline-offset:3px}.index-recipe-link .recipe-card-copy p{color:var(--coral);font-size:9px;margin-top:4px}.asset-recipe-thumb{display:block;width:100%;height:100%;background-size:180%;background-position:73% 34%;background-repeat:no-repeat}.recipe-sprig-mark{display:grid;place-items:center;width:100%;height:100%}.empty-category{color:#9aa199;font:italic 12px 'DM Serif Display';margin:6px 0 4px 66px}.recipe-grid>.new-card{margin-top:14px}
.asset-photo{background-size:175%;background-position:73% 34%;background-repeat:no-repeat;background-color:#f4efe3}.recipe-section h3::after,.notes h3::after{content:'';display:block;width:52px;height:7px;margin-top:5px;background:radial-gradient(circle at 50% 50%,#b93e36 0 2px,transparent 3px),linear-gradient(170deg,transparent 42%,#6d8a63 43% 52%,transparent 53%)}.reading-mode .preview-heading{display:none}.reading-mode{padding-top:10px}.adding-flow .preview-heading{display:flex}.preview-heading-actions{display:flex;gap:7px}.preview-heading-actions .primary-button{padding:10px 13px;box-shadow:none;font-size:11px}.reading-mode .recipe-page-wrap{padding-top:0}
.category-dialog{text-align:left;width:min(370px,calc(100vw - 28px))}.category-manager-list{display:grid;gap:7px;margin:14px 0}.category-manager-row{display:grid;grid-template-columns:50px 1fr auto;align-items:center;border:1px solid var(--line);border-radius:10px;padding:9px}.category-manager-row b{font-size:11px}.category-manager-row button{border:0;background:#f6e5e1;color:#92493e;border-radius:7px;padding:6px 8px;font-size:9px;font-weight:700}.add-category-label{font-size:10px;color:var(--muted);font-weight:700}.add-category-label input{display:block;width:100%;margin:7px 0 10px;border:1px solid var(--line);border-radius:9px;padding:10px;text-transform:uppercase}

/* Editorial cookbook page — the reading experience mirrors the supplied recipe-card design. */
.recipe-page{width:100%;aspect-ratio:auto;min-height:0;padding:0;border:0;background:#fffefa;box-shadow:0 18px 55px rgba(36,55,43,.13);overflow:hidden;font-family:var(--recipe-font,'DM Serif Display',serif)}
.recipe-page::before{display:none}
.editorial-recipe{padding:28px 30px 18px;color:#183d2c;background:radial-gradient(circle at 15% 10%,#fffdf6 0,#fffefa 47%,#fcfaf2 100%)}
.editorial-hero{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(390px,1.25fr);gap:34px;align-items:stretch;margin-bottom:18px}
.editorial-intro{padding:12px 0 8px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.recipe-breadcrumb{margin:0 0 23px;font:700 10px/1.2 'DM Sans',sans-serif;letter-spacing:1px;color:#52705f}.recipe-breadcrumb span{padding:0 8px;color:#a3ad9f}
.editorial-recipe .page-title{max-width:none;margin:0;font-family:var(--recipe-font,'DM Serif Display',serif);font-size:clamp(42px,5.2vw,72px);font-weight:400;line-height:.96;letter-spacing:-1.3px;color:#17432e}
.botanical-divider{display:flex;align-items:center;width:min(330px,92%);height:26px;margin:12px 0 15px}.botanical-divider::before,.botanical-divider::after{content:'';height:1px;flex:1;background:#648364;transform:rotate(-4deg)}.botanical-divider i{width:8px;height:16px;border:1px solid #648364;border-radius:100% 0 100% 0;margin:0 3px;transform:rotate(35deg);background:#eef3e9}.botanical-divider b{width:8px;height:8px;border-radius:50%;background:#b93f39;box-shadow:9px 1px 0 #b93f39,-9px 1px 0 #b93f39}
.recipe-description{max-width:520px;margin:0;font:italic clamp(13px,1.45vw,19px)/1.55 Georgia,serif;color:#526258}
.editorial-visual{display:flex;flex-direction:column;min-width:0}.recipe-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.recipe-meta>div{display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;min-width:0;padding:10px 8px;border:1px solid #e8e1cf;border-radius:8px;background:rgba(255,255,255,.86)}.meta-icon{grid-row:1/3;align-self:center;font:25px/1 Georgia;color:#315b47}.recipe-meta small{text-transform:uppercase;font:700 8px/1.1 'DM Sans',sans-serif;letter-spacing:.6px;color:#597160}.recipe-meta strong{margin-top:4px;font:400 clamp(10px,1.15vw,15px)/1.1 Georgia,serif;color:#203f30;white-space:nowrap}
.editorial-photo{height:245px;min-height:0;overflow:hidden;position:relative}.editorial-photo.no-photo{height:120px;background:linear-gradient(135deg,#f5f4eb,#eaf0e5);border-radius:4px}.editorial-photo>.page-photo,.editorial-photo>.two-photos{position:static!important;width:100%!important;height:100%!important;margin:0!important;border:0!important;border-radius:0!important;filter:none!important}.editorial-photo>.two-photos{display:grid;grid-template-columns:1fr 1fr;gap:10px}.editorial-photo .page-photo{width:100%;height:100%;object-fit:cover}.editorial-photo .asset-photo{display:block;background-size:160%;background-position:76% 29%;background-repeat:no-repeat;background-color:#f4efe3}.editorial-photo .photo-placeholder{display:flex;align-items:center;justify-content:center;background:#eef2e9;border:1px dashed #849a83!important;color:#315b47}
.editorial-columns{display:grid;grid-template-columns:minmax(210px,.9fr) minmax(400px,1.65fr) minmax(170px,.68fr);border:1px solid #e7e0cf;border-radius:8px;background:rgba(255,255,255,.78);overflow:hidden}
.editorial-panel{min-width:0;padding:20px 22px;background:transparent!important;border:0!important;border-radius:0!important;color:#203a2d;font-size:clamp(11px,1.08vw,15px);line-height:1.4;height:auto!important;margin:0!important}.editorial-panel+.editorial-panel{border-left:1px solid #e5dfce!important}.editorial-panel h3{margin:0;font:400 clamp(24px,2.4vw,34px)/1 'DM Serif Display',Georgia,serif!important;letter-spacing:0!important;text-transform:none!important;color:#214d37!important}.editorial-panel h3::after{display:none!important}.section-sprig{width:98px;height:13px;margin:7px 0 14px;background:radial-gradient(circle at 50% 50%,#ba3e38 0 3px,transparent 3.5px),linear-gradient(171deg,transparent 47%,#6f8d68 48% 52%,transparent 53%)}
.ingredients-panel ul{margin:0;padding-left:18px}.ingredients-panel li{margin:0 0 5px;padding-left:2px}.ingredients-panel li::marker{color:#315b47}.ingredients-panel strong{font-weight:600}.directions-panel ol{list-style:none;counter-reset:steps;margin:0;padding:0}.directions-panel li{counter-increment:steps;display:grid;grid-template-columns:24px 1fr;gap:9px;padding:0 0 10px;margin:0 0 10px;border-bottom:1px solid #ece6d7}.directions-panel li:last-child{border:0;margin-bottom:0}.directions-panel li::before{content:counter(steps);display:grid;place-items:center;width:22px;height:22px;margin-top:1px;border-radius:50%;background:#315b47;color:white;font:700 11px 'DM Sans',sans-serif}.directions-panel li span{display:block}.notes-panel{text-align:center}.notes-panel p{margin:3px auto 14px;max-width:190px;font:italic clamp(12px,1.15vw,16px)/1.5 Georgia,serif;color:#4c5c52}.notes-panel .note-lines{min-height:135px;background:repeating-linear-gradient(transparent,transparent 25px,#e2dfd4 26px)}.notes-asset-image{height:150px;margin-top:13px;background-size:330%;background-position:96% 80%;background-repeat:no-repeat;border-radius:4px}
.baker-tip{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:13px;margin-top:14px;padding:11px 17px;border:1px solid #e4ddc9;border-radius:7px;background:#f8f7ed;color:#315b47}.baker-tip>span{font-size:24px}.baker-tip>strong{padding-right:16px;border-right:1px solid #c9c9b8;font:italic 21px Georgia,serif}.baker-tip p{margin:0;font:italic 12px/1.4 Georgia,serif;color:#4e5c53}

@media (orientation:portrait) and (max-width:700px){
  .recipe-page{display:block;padding:0;overflow:hidden}.editorial-recipe{padding:22px 16px 18px}.editorial-hero{display:flex;flex-direction:column;gap:16px;margin:0 0 16px}.editorial-intro{display:block;padding:0}.recipe-breadcrumb{margin-bottom:14px}.editorial-recipe .page-title{font-size:43px;line-height:1}.botanical-divider{width:230px;margin:10px 0}.recipe-description{font-size:15px;line-height:1.5}.editorial-visual{display:flex;flex-direction:column}.recipe-meta{grid-template-columns:1fr 1fr;order:1;margin:10px 0 0}.recipe-meta>div{padding:9px}.editorial-photo{height:235px;order:0}.editorial-photo.no-photo{display:none}.editorial-columns{display:flex;flex-direction:column;border:0;gap:14px;background:transparent;overflow:visible}.editorial-panel{padding:20px;border:1px solid #e5dfce!important;border-radius:7px!important;background:rgba(255,255,255,.84)!important;font-size:15px;line-height:1.48}.editorial-panel+.editorial-panel{border-left:1px solid #e5dfce!important}.editorial-panel h3{font-size:30px!important}.directions-panel li{grid-template-columns:28px 1fr;gap:9px}.directions-panel li::before{width:25px;height:25px}.notes-panel{text-align:left;min-height:165px}.notes-panel p{margin-left:0}.notes-asset-image{display:none}.baker-tip{grid-template-columns:auto 1fr;gap:8px}.baker-tip>strong{border:0}.baker-tip p{grid-column:1/3}.layout-none .editorial-visual{display:block}.layout-none .recipe-meta{display:grid}
}

@media (orientation:landscape) and (max-height:700px){
  .recipe-page{padding:0;min-height:0;overflow:hidden}.editorial-recipe{padding:22px 24px 15px}.editorial-hero{grid-template-columns:minmax(250px,.9fr) minmax(430px,1.35fr);gap:26px}.editorial-photo{height:220px}.editorial-recipe .page-title{font-size:clamp(42px,5.1vw,62px)}.recipe-breadcrumb{margin-bottom:16px}.recipe-description{font-size:14px;line-height:1.45}.recipe-meta>div{grid-template-columns:27px 1fr;padding:8px 6px}.meta-icon{font-size:21px}.editorial-columns{grid-template-columns:minmax(190px,.92fr) minmax(380px,1.75fr) minmax(145px,.65fr)}.editorial-panel{padding:16px 18px;font-size:12px;line-height:1.35}.editorial-panel h3{font-size:27px!important}.directions-panel li{padding-bottom:7px;margin-bottom:7px}.notes-asset-image{height:120px}.baker-tip{margin-top:12px;padding:9px 14px}
}

@media print{
  .editorial-recipe{height:11in;box-sizing:border-box;padding:.32in}.editorial-hero{grid-template-columns:3.25in 4.15in;gap:.28in;margin-bottom:.15in}.editorial-photo{height:2.15in}.editorial-recipe .page-title{font-size:38pt}.recipe-description{font-size:10.5pt}.recipe-meta>div{padding:6px}.editorial-columns{grid-template-columns:2.05in 3.75in 1.55in}.editorial-panel{padding:.15in;font-size:8.5pt}.editorial-panel h3{font-size:19pt!important}.notes-asset-image{height:1.2in}.baker-tip{margin-top:.12in}.recipe-page{width:8.5in!important;height:11in!important}
}

/* Cover, page-turn, ornaments, and section artwork refinements */
.cover-screen,.cover-inner{background:#123b29!important}.cover-inner{min-height:100svh;padding:28px}.cover-logo-box{width:min(86vw,520px);height:min(57vw,330px);min-height:230px;display:grid;place-items:center;padding:26px 24px;background:#fff;border-radius:4px;box-shadow:0 20px 55px rgba(0,0,0,.22)}.cover-selected-logo{width:100%!important;height:100%!important;mix-blend-mode:normal!important;filter:none!important}
.page-turn-in{transform-origin:left center;animation:pageTurnFromRight .76s cubic-bezier(.16,.72,.22,1)!important;backface-visibility:hidden}@keyframes pageTurnFromRight{0%{opacity:.35;transform:perspective(1400px) rotateY(84deg);box-shadow:-35px 3px 70px rgba(25,50,38,.3)}65%{opacity:1}100%{transform:perspective(1400px) rotateY(0);box-shadow:none}}
.botanical-divider::before,.botanical-divider::after{display:none!important}.botanical-divider{width:min(300px,92%);height:28px;margin:10px 0 15px}.botanical-ornament{display:block;width:100%;height:100%;fill:#eef4ea;stroke:#5d815f;stroke-width:1.4}.botanical-ornament .berries{fill:#b63c36;stroke:none}.section-sprig{width:105px;height:17px;margin:5px 0 13px;background:none!important}.section-sprig .botanical-ornament{width:105px;height:17px}.notes-panel .section-sprig{margin-left:auto;margin-right:auto}
.category-svg{display:block;width:54px;height:42px;fill:#edf3e9;stroke:#285b43;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.category-svg .berry{fill:#c7473e;stroke:#a63d36}.category-group-title>span{width:60px!important;height:48px!important;display:grid;place-items:center}.recipe-sprig-mark .category-svg{width:52px;height:42px}
.category-help{margin:-8px 0 12px;font-size:11px!important;color:var(--muted)}.category-manager-list{gap:9px}.category-manager-row{grid-template-columns:25px 58px 1fr auto!important;gap:6px;padding:8px 9px!important;background:#fffefa;touch-action:none}.category-manager-row.dragging{opacity:.55;border-color:var(--coral);box-shadow:0 8px 22px rgba(35,62,47,.16)}.category-drag{font-size:18px!important;color:#859188;cursor:grab;touch-action:none}.category-art{display:grid;place-items:center}.category-art .category-svg{width:49px;height:38px}.category-manager-row b{font-size:12px!important}.category-manager-row button{grid-column:4!important}

@media (orientation:portrait) and (max-width:700px){.cover-logo-box{width:min(88vw,470px);height:min(62vw,310px);min-height:210px;padding:22px 18px}.botanical-divider{width:250px}.editorial-recipe .page-title{font-size:41px}}

/* Simplified cookbook navigation and single recipe layout */
.settings-text-button{border:0;background:none;color:var(--green);font:700 10px 'DM Sans',sans-serif;letter-spacing:1px;padding:10px 0;cursor:pointer}.section-heading{display:block!important;padding:12px 0 15px!important}.section-heading h1{margin:0;font:36px 'DM Serif Display',serif;color:var(--green)}.section-heading h1 span{font:24px 'DM Sans',sans-serif;color:var(--coral)}
.category-group-title{gap:10px}.index-custom-icon{width:48px;height:40px;display:grid;place-items:center;flex:0 0 48px}.index-custom-icon img{display:block;max-width:44px;max-height:36px;object-fit:contain}.index-custom-icon.empty{visibility:hidden}.category-group-title h3{margin:0}.category-group-title small{margin-left:auto}.recipe-initial{display:grid;place-items:center;width:100%;height:100%;font:28px 'DM Serif Display';color:var(--green)}
.page-next-button{position:fixed;right:max(13px,calc((100vw - 430px)/2 + 13px));top:50%;transform:translateY(-50%);z-index:28;width:44px;height:64px;border:1px solid #d6ddcf;border-radius:24px 0 0 24px;background:rgba(255,255,255,.94);color:var(--green);font:42px/1 Georgia;box-shadow:0 8px 25px rgba(25,50,38,.16);cursor:pointer}.page-next-button.hidden{display:none}
.settings-menu-links{display:grid;gap:8px;margin:16px 0 22px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.settings-menu-links button{border:1px solid var(--line);border-radius:9px;background:#fffefa;padding:12px;text-align:left;color:var(--green);font-weight:700;cursor:pointer}
.add-methods{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.add-method-button{display:grid;place-items:center;min-height:58px;border:1px solid var(--green);border-radius:12px;background:#fff;color:var(--green);font-weight:700;cursor:pointer}.source-photo-preview{display:grid;grid-template-columns:82px 1fr;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:#f7f8f2;margin-bottom:18px}.source-photo-preview img{width:82px;height:82px;object-fit:cover;border-radius:8px}.source-photo-preview span{font-size:11px;color:var(--muted)}.hidden{display:none!important}
.field-label small,.finished-photo-upload small{display:block;margin:4px 0 7px;color:var(--muted);font-size:10px;font-weight:400}.field-label textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px;font:14px 'DM Sans',sans-serif;resize:vertical}.recipe-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.recipe-detail-grid label{font-size:10px;font-weight:700;color:var(--green)}.recipe-detail-grid input{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:9px;padding:10px}.finished-photo-upload{display:block;margin:22px 0;font-size:11px;font-weight:700;color:var(--green)}.finished-photo-upload>span{display:block;margin-top:8px;border:1px dashed var(--sage);border-radius:10px;padding:13px;text-align:center;cursor:pointer}.finished-photo-preview img{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:10px}.editor-type-controls{margin:24px 0}.form-heading>div>span{display:none!important}
.category-manager-row{grid-template-columns:25px 58px 1fr auto!important}.category-art img{max-width:50px;max-height:40px;object-fit:contain}.empty-icon{font-size:8px;color:#9aa29a}.category-upload{grid-column:2/4;border:1px dashed var(--sage);border-radius:7px;padding:7px;text-align:center;color:var(--green);font-size:9px;font-weight:700;cursor:pointer}.category-position{grid-column:4;border:1px solid var(--line);border-radius:7px;background:white;color:var(--green);font-size:9px}

.recipe-page{overflow:visible!important}.editorial-recipe{padding:30px;overflow:visible}.editorial-hero{display:block;margin-bottom:18px}.editorial-intro{display:block;padding:0}.editorial-recipe .page-title{font-size:clamp(40px,7vw,70px);line-height:1.02}.recipe-description{max-width:760px}.editorial-photo{width:100%;height:clamp(220px,42vw,420px);margin:18px 0 24px;border-radius:7px}.editorial-photo>.page-photo{height:100%!important;object-fit:cover!important}.editorial-panel{display:block;width:100%;box-sizing:border-box;margin:0 0 16px!important;padding:22px!important;border:1px solid #e5dfce!important;border-radius:8px!important;background:#fff!important;font-size:var(--recipe-size,14px)!important;line-height:1.55!important;overflow:visible!important}.editorial-panel+.editorial-panel{border-left:1px solid #e5dfce!important}.ingredients-panel ul{columns:2;column-gap:36px}.ingredients-panel li{break-inside:avoid;margin-bottom:8px}.directions-panel li{grid-template-columns:30px minmax(0,1fr);gap:10px;padding-bottom:12px;margin-bottom:12px}.directions-panel li span{min-width:0;overflow-wrap:anywhere}.recipe-meta-bottom{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:4px 0 16px}.recipe-meta-bottom>div{display:grid;grid-template-columns:29px 1fr;min-width:0}.recipe-meta-bottom strong{white-space:normal}.notes-panel{text-align:left}.notes-panel .section-sprig{margin-left:0}.baker-tip{margin-top:0}

.page-turn-in{position:relative;transform-origin:left center;animation:pageRevealFromFold .9s cubic-bezier(.15,.7,.18,1)!important}@keyframes pageRevealFromFold{0%{clip-path:polygon(0 0,72% 0,0 100%,0 100%);transform:perspective(1400px) rotateY(10deg);filter:drop-shadow(22px 10px 18px rgba(20,45,32,.3))}55%{clip-path:polygon(0 0,100% 0,72% 100%,0 100%)}100%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:none;filter:none}}.page-turn-in::after{content:'';position:absolute;z-index:40;top:0;right:0;width:55%;height:55%;pointer-events:none;background:linear-gradient(225deg,#d9d7cd 0,#fffefa 42%,rgba(255,255,255,0) 43%);transform-origin:top right;animation:cornerComingDown .9s ease-out forwards}@keyframes cornerComingDown{0%{transform:scale(1) rotate(0);opacity:1}70%{transform:scale(.25) rotate(-28deg);opacity:.65}100%{transform:scale(0) rotate(-40deg);opacity:0}}

@media (max-width:700px){.editorial-recipe{padding:22px 16px}.editorial-hero{display:block}.editorial-photo{height:235px}.editorial-panel{padding:18px!important;font-size:calc(var(--recipe-size,10px) * 1.35)!important}.ingredients-panel ul{columns:1}.recipe-meta-bottom{grid-template-columns:1fr 1fr}.recipe-meta-bottom>div:last-child{grid-column:1/3}.recipe-detail-grid{grid-template-columns:1fr}.page-next-button{right:0}.section-heading h1{font-size:31px}}

/* Balanced cover and matched page controls */
.cover-logo-box{box-sizing:border-box!important;width:min(76vw,480px)!important;height:auto!important;min-height:0!important;aspect-ratio:1.18/1;padding:30px!important}
.topbar{position:relative;height:116px!important;align-items:flex-start!important;padding:10px 16px!important}.brand{position:absolute;left:50%;top:12px;transform:translateX(-50%)}.back-button{width:52px!important;height:52px!important;margin-top:2px;border-radius:50%!important;background:#e5ece4!important;font-size:25px!important}.top-right-controls{position:absolute;right:16px;top:12px;display:flex;flex-direction:column;align-items:center;gap:5px;z-index:30}.top-right-controls .page-next-button{position:static!important;transform:none!important;width:52px!important;height:52px!important;border-radius:50%!important;border:0!important;background:#e5ece4!important;color:var(--green)!important;box-shadow:none!important;font:25px/1 'DM Sans',sans-serif!important}.settings-gear-button{width:37px!important;height:37px!important;border-radius:50%!important;background:#f4f1e8!important;color:var(--green)!important;font-size:18px!important}.on-cover .topbar{display:none!important}
.top-right-controls .page-next-button:disabled{opacity:.35;cursor:default}
.editorial-recipe{position:relative}.recipe-inline-share{position:absolute;right:30px;top:27px;z-index:5;border:1px solid #bfcbbb;border-radius:999px;background:white;color:var(--green);padding:8px 13px;font:700 10px 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.6px;cursor:pointer}.notes-panel .note-lines{min-height:110px}.notes-panel p{max-width:none;margin:0;font-size:inherit;text-align:left}
@media(max-width:700px){.cover-logo-box{width:min(76vw,390px)!important;padding:24px!important}.topbar{height:108px!important}.recipe-inline-share{right:16px;top:18px}.recipe-breadcrumb{padding-right:75px}}
@media print{.recipe-inline-share{display:none!important}}

/* Final cover, header, index, and forward page-curl refinements */
.cover-inner{box-sizing:border-box!important;padding:14vw!important}.cover-inner>.cover-logo-box{box-sizing:border-box!important;width:min(100%,430px)!important;max-width:430px!important;height:auto!important;aspect-ratio:1.35/1!important;padding:18px!important;overflow:hidden!important;border-radius:8px!important}.cover-selected-logo{max-width:100%!important;max-height:100%!important}
.header-selected-logo{width:190px!important;height:90px!important}.brand{top:7px!important}.topbar{height:120px!important}.recipe-card-art.empty{visibility:hidden;background:transparent}.index-recipe-link:has(.recipe-card-art.empty){grid-template-columns:66px 1fr}
.app-shell{perspective:1500px}.page-curl-forward{display:block!important;position:relative;z-index:50;transform-origin:left center;backface-visibility:hidden;animation:pageCurlForward .64s cubic-bezier(.42,0,.58,1) forwards!important}.page-curl-forward::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0%,rgba(32,45,36,.12) 60%,rgba(255,255,255,.92) 98%);animation:curlHighlight .64s ease-in forwards}@keyframes pageCurlForward{0%{transform:perspective(1500px) rotateY(0);filter:drop-shadow(0 0 0 transparent)}45%{transform:perspective(1500px) rotateY(-48deg) translateX(-1.5%);filter:drop-shadow(28px 8px 26px rgba(20,42,31,.3))}100%{transform:perspective(1500px) rotateY(-104deg) translateX(-5%);opacity:.05;filter:drop-shadow(35px 10px 32px rgba(20,42,31,.35))}}@keyframes curlHighlight{0%{opacity:0;transform:translateX(35%)}45%{opacity:1}100%{opacity:.25;transform:translateX(-20%)}}.page-reveal-under{animation:revealUnder .26s ease-out}@keyframes revealUnder{from{opacity:.65;transform:scale(.985)}to{opacity:1;transform:none}}
.share-symbol{display:inline-block;font-size:16px;line-height:0;transform:translateY(1px)}
@media(max-width:700px){.cover-inner{padding:16vw!important}.cover-inner>.cover-logo-box{width:100%!important;padding:14px!important}.header-selected-logo{width:172px!important;height:82px!important}.topbar{height:112px!important}}

/* Search, favorites, edit mode, branded sharing, and end-of-book */
.topbar{height:160px!important}.header-selected-logo{width:225px!important;height:105px!important}.brand{top:3px!important}.settings-gear-button{width:46px!important;height:46px!important;font-size:22px!important;background:#e8ede5!important}.header-tools{position:absolute;left:50%;bottom:9px;transform:translateX(-50%);display:flex;gap:8px}.header-tools button{border:0;background:transparent;color:var(--green);padding:7px 11px;font:700 10px 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.header-tools button+button{border-left:1px solid #d8d5c9}.header-tools button.active{color:var(--coral)}
.editing-existing .screen-intro p,.editing-existing .add-methods,.editing-existing .source-photo-preview{display:none!important}.editing-existing .screen-intro{padding-bottom:4px}.index-count{text-align:center;margin:30px 0 6px;color:var(--coral);font:700 10px 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:1px}.index-recipe-link .recipe-card-copy p{display:none!important}.index-heart{display:inline-block;margin-top:4px;color:var(--coral);font-size:13px}
.recipe-inline-actions{position:absolute;right:30px;top:27px;z-index:6;display:flex;align-items:center;gap:7px}.recipe-inline-actions .recipe-inline-share{position:static}.recipe-favorite-button{width:34px;height:34px;border:1px solid #bfcbbb;border-radius:50%;background:#fff;color:var(--green);font-size:19px;line-height:1}.recipe-favorite-button.active{color:var(--coral);border-color:#e3aaa0}
.search-dialog{width:min(430px,calc(100vw - 28px));text-align:left}.search-dialog h2{margin-top:3px}.search-dialog>input{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px;font-size:14px}.search-results{display:grid;gap:7px;max-height:55vh;overflow:auto;margin-top:13px}.search-results button{display:grid;grid-template-columns:25px 1fr auto;align-items:center;border:1px solid var(--line);border-radius:10px;background:#fffefa;padding:11px;text-align:left;color:var(--green)}.search-results button span{color:var(--coral)}.search-results button small{color:var(--muted);font-size:8px}.search-results>p{color:var(--muted);font-style:italic}.share-dialog .secondary-button.wide{width:100%;margin-top:9px;padding:12px}.end-screen{min-height:100vh!important;background:#123b29!important;padding:0!important}.on-end .topbar{display:none!important}.on-end main{min-height:100vh;background:#123b29}
.end-back-button{position:absolute;left:22px;top:24px;width:54px;height:54px;border:1px solid rgba(255,255,255,.6);border-radius:50%;background:rgba(255,255,255,.96);color:#123b29;font-size:26px;box-shadow:0 8px 24px rgba(0,0,0,.18);cursor:pointer}
.page-curl-forward{animation-duration:.92s!important;animation-timing-function:cubic-bezier(.32,.02,.18,1)!important}@keyframes pageCurlForward{0%{transform:perspective(1900px) rotateY(0) scaleX(1);border-radius:0;filter:none}28%{transform:perspective(1900px) rotateY(-22deg) scaleX(.985) skewY(-.4deg);border-radius:0 6% 16% 0;filter:drop-shadow(12px 5px 12px rgba(20,42,31,.18))}62%{transform:perspective(1900px) rotateY(-68deg) translateX(-2%) scaleX(.92) skewY(-1deg);border-radius:0 28% 48% 0;filter:drop-shadow(35px 10px 28px rgba(20,42,31,.34))}100%{transform:perspective(1900px) rotateY(-112deg) translateX(-7%) scaleX(.84);border-radius:0 55% 70% 0;opacity:.04;filter:drop-shadow(42px 12px 34px rgba(20,42,31,.4))}}
@media(max-width:700px){.topbar{height:150px!important}.header-selected-logo{width:205px!important;height:98px!important}.header-tools{bottom:7px}.recipe-inline-actions{right:16px;top:18px}.cover-inner{padding:9vw!important}.cover-inner>.cover-logo-box{max-width:540px!important;padding:10px!important}.cover-selected-logo{width:100%!important;height:100%!important}}
@media print{.recipe-inline-actions{display:none!important}}

/* Stable logo frames and OCR feedback */
.cover-inner{padding:0!important}.cover-inner>.cover-logo-box{flex:0 0 auto!important;width:clamp(290px,72vw,540px)!important;height:clamp(220px,54vw,400px)!important;aspect-ratio:auto!important;padding:18px!important;place-self:center!important}.brand{box-sizing:border-box!important;width:260px!important;height:122px!important;display:grid!important;place-items:center!important;padding:8px!important;background:#fff!important;overflow:hidden!important}.header-selected-logo{width:232px!important;height:102px!important;margin:auto!important}.ocr-progress{display:flex;align-items:center;gap:12px;padding:14px;margin:0 0 18px;border:1px solid #c9d8c7;border-radius:12px;background:#f4f7f0;color:var(--green)}.ocr-progress strong,.ocr-progress small{display:block}.ocr-progress small{margin-top:3px;color:var(--muted);font-size:10px;text-transform:capitalize}.ocr-spinner{width:26px;height:26px;border:3px solid #d9e2d5;border-top-color:var(--coral);border-radius:50%;animation:ocrSpin .8s linear infinite}@keyframes ocrSpin{to{transform:rotate(360deg)}}
@media(max-width:700px){.cover-inner>.cover-logo-box{width:72vw!important;height:54vw!important;min-width:280px!important;min-height:210px!important}.brand{width:238px!important;height:114px!important}.header-selected-logo{width:216px!important;height:96px!important}}

/* Recipe settings, explicit settings save, and text-only branding */
.recipe-settings-button{left:max(18px,calc((100vw - 430px)/2 + 18px))!important;right:auto!important;width:60px!important;height:60px!important;font-size:25px!important;display:grid!important;place-items:center!important;z-index:35!important}.save-close-button{left:auto!important;right:16px!important;top:14px!important;width:auto!important;height:auto!important;border:1px solid #c8d3c5!important;border-radius:999px!important;background:#f4f7f0!important;padding:8px 12px!important;color:var(--green)!important;font:700 10px 'DM Sans',sans-serif!important}.selected-logo.no-logo{display:grid!important;place-items:center!important;background-image:none!important;color:var(--green);font-family:'DM Serif Display',Georgia,serif;text-align:center;letter-spacing:2px}.cover-selected-logo.no-logo{font-size:clamp(30px,7vw,58px)}.header-selected-logo.no-logo{font-size:24px}.dialog-selected-logo.no-logo{font-size:26px}.logo-option-image.no-logo{font-size:13px;letter-spacing:1px}

/* Calm navigation and recipe-local controls */
.page-curl-forward,.page-reveal-under,.page-turn-in{animation:none!important;transform:none!important;filter:none!important;clip-path:none!important}.page-curl-forward::after,.page-turn-in::after{display:none!important}
.editorial-recipe .recipe-settings-button{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;margin:0 0 16px 0!important;width:48px!important;height:48px!important;font-size:21px!important;align-self:start!important;box-shadow:0 7px 18px rgba(25,51,42,.18)!important}
.settings-actions #settingsShare>span{font-family:Arial,sans-serif;font-size:25px;line-height:1}

/* Photo choice, clearer header spacing, and unobstructed recipe titles */
.source-photo-preview>div{display:grid;gap:8px}.show-source-photo{display:flex;align-items:center;gap:7px;color:var(--green);font-size:11px;font-weight:700}.show-source-photo input{width:18px;height:18px;accent-color:var(--green)}.remove-source-photo{justify-self:start;border:0;background:transparent;color:#9c4e42;padding:0;font:700 10px 'DM Sans',sans-serif;text-decoration:underline;cursor:pointer}
.recipe-inline-actions{position:static!important;justify-content:flex-end;margin:0 0 14px!important}.editorial-recipe .page-title{max-width:100%!important}
.topbar{height:178px!important}.header-tools{bottom:10px!important}.brand{top:5px!important}
@media(max-width:700px){.topbar{height:174px!important}.header-tools{bottom:10px!important}.editorial-recipe{padding-top:18px!important}.recipe-inline-actions{margin-bottom:12px!important}}
.editing-existing .add-methods{display:grid!important;grid-template-columns:1fr!important}.editing-existing #manualAddButton{display:none!important}.editing-existing .source-photo-preview:not(.hidden){display:grid!important}

/* Cleaner recipe index rhythm */
.recipe-card.index-recipe-link{grid-template-columns:78px minmax(0,1fr)!important;column-gap:14px!important;padding:11px 0!important}.index-recipe-link .recipe-card-art{width:68px!important;height:58px!important}.index-recipe-link .recipe-card-copy{padding:4px 8px 4px 0!important}.asset-recipe-thumb{background-size:cover!important;background-position:center!important}
.editorial-photo .asset-photo{background-size:cover!important;background-position:center!important}

/* Shared-recipe import, cooked-dish editing, and iPhone safe area */
.cooked-photo-edit-button{display:none}.editing-existing #recipeReferenceUpload,.editing-existing #manualAddButton{display:none!important}.editing-existing #cookedPhotoEditButton{display:grid!important}.import-recipe-dialog p:not(.step-label){color:var(--muted);line-height:1.5}.import-recipe-dialog h2{margin-bottom:8px}
@media(max-width:700px){.topbar{box-sizing:border-box!important;height:246px!important;padding-top:max(68px,calc(env(safe-area-inset-top) + 18px))!important}.brand{top:max(68px,calc(env(safe-area-inset-top) + 18px))!important}.back-button{position:absolute!important;top:max(70px,calc(env(safe-area-inset-top) + 20px))!important;left:16px!important}.top-right-controls{top:max(69px,calc(env(safe-area-inset-top) + 19px))!important}.header-tools{bottom:12px!important}}

/* v37: compact safe-area header, dependable dialogs, and removable section icons */
dialog[open]{z-index:1000!important;pointer-events:auto!important;touch-action:manipulation}
dialog::backdrop{background:rgba(18,59,41,.48);pointer-events:auto}
.save-close-button{z-index:1002!important;pointer-events:auto!important;touch-action:manipulation;-webkit-tap-highlight-color:rgba(49,91,71,.14)}
body:has(dialog[open])>.app-shell{pointer-events:none!important}
body:has(dialog[open])>dialog{pointer-events:auto!important}
.category-art{position:relative}
.remove-category-icon{position:absolute!important;z-index:3;top:-8px;right:-8px;grid-column:auto!important;display:grid;place-items:center;width:21px;height:21px;padding:0!important;border:1px solid #fff!important;border-radius:50%!important;background:#a34d43!important;color:#fff!important;font:700 15px/1 Arial,sans-serif!important;box-shadow:0 2px 7px rgba(35,62,47,.22);cursor:pointer}
@media(max-width:700px){
  .topbar{height:216px!important;padding:0 10px!important}
  .brand{top:max(56px,calc(env(safe-area-inset-top) + 10px))!important;width:180px!important;height:94px!important;padding:5px!important}
  .header-selected-logo{width:168px!important;height:82px!important}
  .back-button{top:max(60px,calc(env(safe-area-inset-top) + 14px))!important;left:10px!important;width:44px!important;height:44px!important;font-size:22px!important}
  .top-right-controls{top:max(58px,calc(env(safe-area-inset-top) + 12px))!important;right:10px!important;gap:4px!important}
  .top-right-controls .page-next-button{width:44px!important;height:44px!important;font-size:22px!important}
  .settings-gear-button{width:40px!important;height:40px!important;font-size:19px!important}
  .header-tools{bottom:10px!important}
}

/* v38: solid cover, clean navigation, simplified settings, and touch sorting */
body:has(.app-shell.on-cover),.app-shell.on-cover,.on-cover main,.on-cover .cover-screen,.on-cover .cover-inner{background:#123b29!important}
.app-shell.on-cover{min-height:100svh!important;height:100svh!important;overflow:hidden!important}
.on-cover main,.on-cover .cover-screen,.on-cover .cover-inner{box-sizing:border-box!important;min-height:100svh!important;height:100svh!important;margin:0!important;padding:0!important}
.cover-inner{display:grid!important;place-items:center!important}
.cover-inner>.cover-logo-box{box-sizing:border-box!important;width:min(calc(100vw - 48px),540px)!important;height:min(43svh,360px)!important;min-width:0!important;min-height:240px!important;margin:auto!important;padding:22px!important;overflow:hidden!important;background:#fff!important;border-radius:10px!important}
.cover-selected-logo{width:100%!important;height:100%!important;background-repeat:no-repeat!important}
.selected-logo[style*="gather-graze"]{background-size:contain!important;background-position:center!important}

.header-tools{width:max-content;gap:0!important}
.header-tools button{padding:7px 10px!important}
.back-button,.top-right-controls .page-next-button{border:0!important;border-radius:50%!important;background:#e5ece4!important;color:var(--green)!important;box-shadow:none!important;font:700 22px/1 'DM Sans',sans-serif!important}

#aboutDialog{box-sizing:border-box;width:min(390px,calc(100vw - 24px));max-height:min(88svh,760px);overflow:auto;padding:18px 24px 30px;text-align:left}
#aboutDialog h2{margin:5px 0 16px}
.settings-save-close{position:sticky;z-index:5;top:0;display:block;width:auto;margin:0 0 0 auto;padding:10px 15px!important;border-radius:999px!important;box-shadow:0 7px 18px rgba(49,91,71,.2)!important;touch-action:manipulation}
.main-settings-links{margin:0 0 20px!important;padding:0 0 18px!important;border-top:0!important}
.main-settings-links button{text-align:center!important}
#aboutDialog .cookbook-name-label{margin-top:8px}

.category-manager-row{position:relative!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;touch-action:auto!important;padding:10px!important}
.category-drag-zone{grid-column:1!important;grid-row:1!important;display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px;align-items:center;min-height:48px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.category-drag-zone:active{cursor:grabbing}
.category-drag-zone>b{font-size:12px!important;color:var(--green)}
.remove-category-button{grid-column:2!important;grid-row:1!important;align-self:start!important;display:grid!important;place-items:center!important;width:26px!important;height:26px!important;padding:0!important;border-radius:50%!important;background:#a34d43!important;color:#fff!important;font:700 16px/1 Arial,sans-serif!important}
.category-upload{grid-column:1!important;grid-row:2!important}
.category-position{grid-column:2!important;grid-row:2!important;min-width:88px}
.category-manager-row.dragging{transform:scale(1.015);z-index:4}

#recipeSettingsDialog{padding-top:28px;text-align:left}
#recipeSettingsDialog h2{margin:0 34px 14px 0;font-size:26px}
#recipeSettingsDialog .settings-actions{display:grid;gap:8px}
#recipeSettingsDialog .settings-actions button{display:block;width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fffefa;color:var(--green);font-weight:700;text-align:left}
#recipeSettingsDialog .settings-actions .danger-action{color:#9a443b;background:#fff7f4;border-color:#ead3ce}

@media(max-width:700px){
  .cover-inner>.cover-logo-box{width:calc(100vw - 42px)!important;height:min(39svh,330px)!important;min-height:235px!important;padding:16px!important}
  .topbar{height:224px!important}
  .brand{width:176px!important;height:94px!important}
  .header-selected-logo{width:164px!important;height:82px!important;background-repeat:no-repeat!important}
  .header-tools{bottom:9px!important;width:100%!important;justify-content:center!important;padding:0 5px}
  .header-tools button{padding:7px 7px!important;font-size:8px!important;letter-spacing:.25px!important}
  .back-button,.top-right-controls .page-next-button{width:44px!important;height:44px!important;font-size:22px!important}
}

/* v43: clearer recipe editor, sortable lists, and simplified sharing */
#editScreen>.screen-intro.compact{padding-bottom:2px}
.add-method-button{box-sizing:border-box;text-align:center!important;justify-items:center!important;align-items:center!important;padding:14px 12px!important;line-height:1.25}
.dish-photo-button{margin:22px 0!important;width:100%;min-height:54px;cursor:pointer}
.section-add-button{display:block;margin:12px 0 0 auto;padding:10px 14px!important}
#ingredientEditor .editor-row{grid-template-columns:30px 64px 82px minmax(0,1fr) 30px!important}
.ingredient-drag{display:grid;place-items:center;width:28px;height:38px;border:1px solid var(--line);border-radius:8px;background:#eef2eb;color:var(--green);font-size:18px;font-weight:700;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.ingredient-drag:active{cursor:grabbing}
#ingredientEditor .editor-row.dragging{position:relative;z-index:4;opacity:.72;transform:scale(1.015);padding:4px;border:1px solid var(--coral);border-radius:10px;background:#fffdf8;box-shadow:0 8px 22px rgba(35,62,47,.15)}
.share-notes-option{display:flex;align-items:center;gap:9px;margin:14px 0 4px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f7f8f2;color:var(--green);font-size:12px;font-weight:700;text-align:left}
.share-notes-option input{width:18px;height:18px;accent-color:var(--green)}
.reorder-category{margin:16px 0 22px}.reorder-category h3{margin:0 0 8px;padding-bottom:7px;border-bottom:1px solid #dccfab;color:var(--green);font:20px 'DM Serif Display',serif;letter-spacing:.6px}.reorder-item{grid-template-columns:48px minmax(0,1fr)!important;cursor:grab!important;touch-action:none!important;user-select:none;-webkit-user-select:none}.reorder-item:active{cursor:grabbing!important}.reorder-item.dragging{opacity:.65;transform:scale(1.015);border-color:var(--coral)!important;box-shadow:0 8px 22px rgba(35,62,47,.16)}
@media(max-width:700px){#ingredientEditor .editor-row{grid-template-columns:28px 54px 70px minmax(0,1fr) 26px!important;gap:5px!important}#ingredientEditor .editor-row input{padding:9px 7px!important;font-size:13px}.ingredient-drag{width:26px;height:36px}.section-add-button{width:100%;margin-top:10px}.add-methods{grid-template-columns:1fr 1fr!important}}

/* v44: backups, two-photo placement, and dependable press-and-drag lists */
.drag-grip i{display:block;width:13px;height:20px;background:radial-gradient(circle,#315b47 1.4px,transparent 1.6px) 0 0/6px 6px;opacity:.8}.ingredient-drag{font-size:0!important}.direction-drag{border:0;cursor:grab;touch-action:none}.direction-row.dragging,.editor-row.dragging,.category-manager-row.dragging,.reorder-item.dragging{position:relative;z-index:12;opacity:.78;transform:scale(1.018);border-color:var(--coral)!important;background:#fffdf8!important;box-shadow:0 10px 25px rgba(25,51,42,.22)!important}
.finished-photo-preview{position:relative;display:grid;gap:8px}.remove-finished-photo{justify-self:start;border:0;background:transparent;color:#9c4e42;padding:0;font-weight:700;text-decoration:underline}.photo-placement{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:12px}.photo-placement legend{font-weight:700;color:var(--green)}.photo-placement label{display:flex;gap:8px;margin:8px 0}.photo-placement small{display:block;color:var(--muted);margin-top:8px}.additional-note-photo{display:block;width:min(100%,360px);max-height:240px;object-fit:cover;margin:16px auto 2px;border-radius:10px}
.backup-links{display:grid!important;gap:8px;margin:0 0 20px!important;padding:0 0 18px!important;border-bottom:1px solid var(--line)}.backup-links button{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fffefa;color:var(--green);font-weight:700}.backup-links small{text-align:center;color:var(--muted)}.backup-prompt-dialog p{color:var(--muted);line-height:1.5}
.reorder-list{display:block!important;max-height:58vh;overflow:auto}.reorder-category{display:block!important}.reorder-dropzone{min-height:46px;display:grid;gap:7px}.reorder-item{box-sizing:border-box!important;display:block!important;width:100%!important;min-width:0!important;padding:14px 16px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fffefa!important;color:var(--green)!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;touch-action:none!important;user-select:none}.reorder-item b{display:block;max-width:100%;font-size:15px;line-height:1.25;white-space:normal;overflow-wrap:anywhere}.reorder-thumb,.reorder-item small{display:none!important}

/* v46: consistent save/cancel dialog controls and stronger touch dragging */
.dialog-save-actions{position:sticky;z-index:20;top:0;display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:0 0 8px;padding:2px 0 7px;background:linear-gradient(#fffdf8 75%,rgba(255,253,248,0))}.dialog-save-actions .settings-save-close{position:static!important;margin:0!important}.dialog-cancel-x{display:grid;place-items:center;width:40px;height:40px;border:1px solid #c8d3c5;border-radius:50%;background:#fff;color:var(--green);font:400 25px/1 Arial,sans-serif;cursor:pointer;touch-action:manipulation}.dialog-cancel-x:active{background:#edf2eb}.category-dialog,.reorder-dialog{overscroll-behavior:contain}.category-drag-zone,.reorder-item{touch-action:none!important;-webkit-touch-callout:none!important}.category-manager-row.dragging,.reorder-item.dragging{outline:2px solid var(--coral)!important;outline-offset:2px!important;opacity:.88!important}

/* v47: shared drag grips, edit save controls, and grouped sharing */
.edit-save-actions{display:none;position:sticky;z-index:25;top:0;justify-content:flex-end;align-items:center;gap:8px;margin:-10px 0 8px;padding:8px 0;background:linear-gradient(var(--cream) 75%,transparent)}.editing-existing .edit-save-actions{display:flex}.editing-existing .sticky-action{display:none}.edit-save-actions .primary-button{width:auto;padding:10px 15px;border-radius:999px}.category-drag-zone{grid-template-columns:30px 58px minmax(0,1fr)!important}.category-drag-handle,.reorder-drag-handle,.direction-drag{display:grid;place-items:center;width:28px;height:38px;padding:0;border:1px solid var(--line);border-radius:8px;background:#eef2eb;color:var(--green);cursor:grab;touch-action:none;-webkit-touch-callout:none}.category-drag-handle:active,.reorder-drag-handle:active,.direction-drag:active{cursor:grabbing}.reorder-item{display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;align-items:center;gap:10px!important}.reorder-drag-handle{height:34px}.direction-row{grid-template-columns:28px 28px minmax(0,1fr) 28px!important}.direction-drag{height:34px;margin-top:3px}.share-option-group{margin-top:14px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#faf9f3}.share-option-group h3{margin:0 0 6px;color:var(--green);font:18px 'DM Serif Display',serif}.share-option-group .secondary-button.wide{background:#fff!important}

/* v48: fixed meal order and ingredient-style recipe sorting */
.category-drag-zone{grid-template-columns:58px minmax(0,1fr)!important;cursor:default!important;touch-action:auto!important}.reorder-item{grid-template-columns:32px minmax(0,1fr) minmax(112px,auto)!important}.reorder-category-select{max-width:150px;min-width:0;padding:8px 6px;border:1px solid var(--line);border-radius:8px;background:#f7f7f1;color:var(--green);font-size:10px;font-weight:700}.reorder-drag-handle i,.direction-drag i{display:block;width:13px;height:20px;background:radial-gradient(circle,#315b47 1.4px,transparent 1.6px) 0 0/6px 6px;opacity:.8}@media(max-width:560px){.reorder-item{grid-template-columns:30px minmax(0,1fr)!important}.reorder-category-select{grid-column:2;width:100%;max-width:none}}

/* v49: durable recipe storage, alphabetical category tools, and flexible two-photo cards */
.dialog-sticky-header{position:sticky;z-index:18;top:-18px;margin:-18px -24px 12px;padding:8px 24px 12px;background:#fffdf8;border-bottom:1px solid #eee7d7}.dialog-sticky-header .dialog-save-actions{position:static;margin:0 0 2px;padding:0;background:none}.dialog-sticky-header h2{margin:2px 0 5px}.dialog-sticky-header p{margin:3px 0}.category-dialog,.reorder-dialog{padding-top:18px!important}
.reorder-item{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(116px,150px)!important;gap:10px!important;align-items:center!important;cursor:default!important;touch-action:auto!important;user-select:auto!important}.reorder-category-select{grid-column:auto!important;width:100%!important;max-width:none!important}.reorder-item b{margin:0!important}.reorder-dropzone:empty{min-height:0!important}
.inline-photo-placement,.photo-placement{margin:5px 0 0;padding:9px 11px;border:1px solid var(--line);border-radius:10px}.inline-photo-placement legend,.photo-placement legend{padding:0 4px;color:var(--green);font-size:11px;font-weight:700}.inline-photo-placement label,.photo-placement label{display:flex;align-items:center;gap:7px;margin:6px 0;color:var(--green);font-size:11px}.inline-photo-placement input,.photo-placement input{accent-color:var(--green)}
.recipe-photo-group{display:grid;width:100%;height:100%;gap:10px}.recipe-photo-group.paired{grid-template-columns:1fr 1fr}.recipe-photo-group .page-photo{display:block!important;width:100%!important;height:100%!important;min-width:0!important;object-fit:cover!important;margin:0!important;border:0!important;border-radius:6px!important}.recipe-photo-group .asset-photo{background-size:cover;background-position:center;background-repeat:no-repeat}.editorial-photo>.recipe-photo-group{height:100%}.notes-panel .recipe-photo-group.photo-bottom{height:220px;margin-top:16px}.notes-panel .recipe-photo-group.photo-bottom.paired{height:170px}.notes-panel .recipe-photo-group.photo-bottom .page-photo{max-height:none!important}.baker-tip .note-lines{min-height:28px;grid-column:3;background:repeating-linear-gradient(transparent,transparent 13px,#e2dfd4 14px)}.editorial-recipe>.recipe-settings-button{order:99;margin-top:12px!important}
@media(max-width:560px){.reorder-item{grid-template-columns:1fr!important}.reorder-category-select{grid-column:1!important}.dialog-sticky-header{top:-14px;margin:-14px -18px 10px;padding:6px 18px 10px}.recipe-photo-group.paired{gap:6px}.notes-panel .recipe-photo-group.photo-bottom{height:190px}.notes-panel .recipe-photo-group.photo-bottom.paired{height:145px}}

/* v50: simplified category names and a quieter backup reminder */
.category-group-title{justify-content:flex-start!important;gap:0!important;padding-left:0!important}.category-group-title h3{margin-left:0!important}.category-group-title small{margin-left:auto!important}.category-group-title>.index-custom-icon,.category-group-title>span{display:none!important}.simple-category-row{display:grid!important;grid-template-columns:minmax(0,1fr) 34px!important;align-items:center!important;gap:10px!important;min-height:48px!important;padding:10px 12px!important}.simple-category-row>b{font-size:14px;color:var(--green)}.simple-category-row .remove-category-button{grid-column:2!important;grid-row:1!important;align-self:center!important}.category-manager-list{display:grid;gap:8px}

/* v51: aligned settings, uniform index thumbnails, and one-page PDF fitting */
#aboutDialog .main-settings-links button{text-align:left!important;justify-items:start!important;align-items:start!important}.index-recipe-link .recipe-card-art{box-sizing:border-box!important;width:60px!important;min-width:60px!important;max-width:60px!important;height:48px!important;min-height:48px!important;max-height:48px!important;border-radius:5px!important;overflow:hidden!important}.index-recipe-link .recipe-card-art img,.index-recipe-link .asset-recipe-thumb{display:block!important;width:60px!important;height:48px!important;object-fit:cover!important;background-size:cover!important;background-position:center!important}
.brand-settings-panel{margin:4px 0 18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fffefa}.brand-settings-panel h3{margin:0 0 10px;color:var(--green);font:24px/1.05 'DM Serif Display',Georgia,serif}.brand-settings-panel .cookbook-name-label{margin:8px 0 12px!important}.brand-settings-panel .logo-picker-heading{margin-top:12px;padding-top:12px}
.topbar{background:#123b29!important;border-bottom-color:rgba(255,255,255,.18)!important}.brand{background:#fff!important;border-radius:3px!important;padding:4px 12px!important;box-shadow:0 8px 22px rgba(0,0,0,.12)}.header-tools button{color:#fff!important}.header-tools button+button{border-left-color:rgba(255,255,255,.35)!important}.header-tools button.active{color:#f3d58d!important}.back-button,.top-right-controls .page-next-button,.settings-gear-button{background:rgba(255,255,255,.9)!important}.terms-dialog{width:min(680px,calc(100vw - 28px));max-height:86svh;text-align:left}.terms-copy{max-height:62svh;overflow:auto;padding-right:4px}.terms-copy h3{margin:18px 0 6px;color:var(--green);font:18px/1.15 'DM Serif Display',Georgia,serif}.terms-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.backup-prompt-dialog h2{font-size:30px}

/* v52: grocery list, same-line favorites, and sturdier sorting handles */
.index-title-line{display:flex;align-items:baseline;gap:7px;min-width:0}.index-title-line h3{margin:0!important;min-width:0}.index-title-line .index-heart{display:inline-flex!important;flex:0 0 auto;color:var(--coral);font-size:15px;line-height:1}
.grocery-dialog h2{margin-bottom:8px}.grocery-items{display:grid;gap:8px;margin:12px 0 16px}.grocery-items h3{margin:12px 0 2px;color:var(--green);font:18px 'DM Serif Display',serif}.grocery-row{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#fffefa;color:var(--green);font-weight:700;text-align:left}.grocery-row input{width:19px;height:19px;accent-color:var(--green);margin-top:1px}.grocery-row span{overflow-wrap:anywhere}.grocery-list-row.checked span{text-decoration:line-through;color:var(--muted)}.empty-grocery{margin:6px 0 12px;color:var(--muted);font-style:italic}
.ingredient-drag,.direction-drag{min-width:34px!important;width:34px!important;height:42px!important;background:#e9f0e8!important;border:1px solid #c8d3c5!important}.direction-row{grid-template-columns:34px 28px minmax(0,1fr) 28px!important}.drag-grip i{width:15px!important;height:23px!important;background:radial-gradient(circle,#315b47 1.7px,transparent 1.9px) 0 0/7px 7px!important}.editor-row.dragging,.direction-row.dragging{outline:2px solid var(--coral)!important;outline-offset:2px!important}
@media(max-width:700px){#ingredientEditor .editor-row{grid-template-columns:34px 54px 70px minmax(0,1fr) 26px!important}.direction-row{grid-template-columns:34px 28px minmax(0,1fr) 28px!important}}

/* v53: direct recipe actions and grocery list sharing */
.manual-grocery-add{display:grid;grid-template-columns:1fr auto;gap:8px;margin:8px 0 12px}
.manual-grocery-add input{min-width:0;border:1px solid var(--line);border-radius:10px;background:#fffefa;padding:12px;color:var(--ink);font:700 14px 'DM Sans',sans-serif}
.manual-grocery-add .add-button{white-space:nowrap}
.recipe-bottom-actions{display:flex;flex-wrap:wrap;gap:8px;order:100;margin-top:14px}
.recipe-bottom-actions button{border:1px solid #c8d3c5;border-radius:999px;background:#fffefa;color:var(--green);padding:10px 14px;font:800 11px 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.6px}
.recipe-bottom-actions .danger-action{color:#8b4438;border-color:#e6c2ba}
.editorial-recipe>.recipe-settings-button{display:none!important}
@media(max-width:560px){.manual-grocery-add{grid-template-columns:1fr}.recipe-bottom-actions{display:grid}.recipe-bottom-actions button{width:100%}}

/* remove inactive drag handles from recipe editing */
#ingredientEditor .editor-row{grid-template-columns:54px 74px minmax(0,1fr) 28px!important}
#directionEditor .direction-row{grid-template-columns:28px minmax(0,1fr) 28px!important}
.ingredient-drag,.direction-drag,.drag-grip{display:none!important}
@media(max-width:700px){#ingredientEditor .editor-row{grid-template-columns:50px 62px minmax(0,1fr) 26px!important}#directionEditor .direction-row{grid-template-columns:28px minmax(0,1fr) 26px!important}}

/* v61: larger top navigation labels for phone readability */
.header-tools button{
  font-size:clamp(11px,2.75vw,14px)!important;
  line-height:1.1!important;
  padding:8px 9px!important;
  letter-spacing:.65px!important;
}
@media(max-width:380px){
  .header-tools{gap:5px!important}
  .header-tools button{
    font-size:clamp(10px,2.85vw,12px)!important;
    padding:8px 6px!important;
    letter-spacing:.45px!important;
  }
}

/* v97: collapsible recipe categories */
.category-group-title .category-toggle{
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  color:var(--green)!important;
  font:900 26px/1 system-ui,sans-serif!important;
  width:32px!important;
  height:32px!important;
  margin:0 10px 0 0!important;
  display:inline-grid!important;
  place-items:center!important;
  cursor:pointer!important;
  flex:0 0 auto!important;
}
.category-group-title .category-toggle:focus-visible{
  outline:2px solid var(--coral)!important;
  outline-offset:2px!important;
  border-radius:999px!important;
}
.category-group.collapsed{
  padding-bottom:8px!important;
}
.category-group.collapsed .category-group-title{
  border-bottom:1px dotted rgba(28,76,55,.18)!important;
  padding-bottom:8px!important;
}

/* v106: force perfectly even cookbook arrows and keep them off the logo */
@media(max-width:700px){
  .app-shell:not(.on-cover) .topbar{
    display:grid!important;
    grid-template-columns:62px minmax(0,1fr) 62px!important;
    grid-template-rows:auto auto!important;
    grid-template-areas:"back brand next" "primary primary primary"!important;
    align-items:center!important;
    justify-items:center!important;
    column-gap:14px!important;
    padding-left:max(16px,env(safe-area-inset-left))!important;
    padding-right:max(16px,env(safe-area-inset-right))!important;
    overflow:hidden!important;
  }
  .app-shell:not(.on-cover) .topbar .brand{
    grid-area:brand!important;
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    justify-self:center!important;
    align-self:center!important;
    width:min(49vw,230px)!important;
    max-width:min(49vw,230px)!important;
    min-width:0!important;
    height:82px!important;
    margin:0!important;
    z-index:1!important;
  }
  .app-shell:not(.on-cover) .topbar .back-button,
  .app-shell:not(.on-cover) .topbar .page-next-button{
    position:static!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
    max-width:50px!important;
    max-height:50px!important;
    margin:0!important;
    padding:0!important;
    border-radius:50%!important;
    display:grid!important;
    place-items:center!important;
    font-size:24px!important;
    line-height:1!important;
    box-sizing:border-box!important;
    z-index:4!important;
  }
  .app-shell:not(.on-cover) .topbar .back-button{
    grid-area:back!important;
    justify-self:center!important;
    align-self:center!important;
  }
  .app-shell:not(.on-cover) .topbar .top-right-controls{
    grid-area:next!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    display:grid!important;
    place-items:center!important;
    justify-self:center!important;
    align-self:center!important;
    width:62px!important;
    height:50px!important;
    margin:0!important;
    padding:0!important;
    gap:0!important;
    z-index:4!important;
  }
  .app-shell:not(.on-cover) .topbar .top-right-controls .page-next-button{
    justify-self:center!important;
    align-self:center!important;
  }
  .app-shell:not(.on-cover) .topbar .primary-header-tools{
    grid-area:primary!important;
  }
}
@media(max-width:390px){
  .app-shell:not(.on-cover) .topbar{
    grid-template-columns:54px minmax(0,1fr) 54px!important;
    column-gap:12px!important;
    padding-left:max(12px,env(safe-area-inset-left))!important;
    padding-right:max(12px,env(safe-area-inset-right))!important;
  }
  .app-shell:not(.on-cover) .topbar .brand{
    width:min(47vw,205px)!important;
    max-width:min(47vw,205px)!important;
    height:78px!important;
  }
  .app-shell:not(.on-cover) .topbar .back-button,
  .app-shell:not(.on-cover) .topbar .page-next-button{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    max-width:44px!important;
    max-height:44px!important;
    font-size:22px!important;
  }
  .app-shell:not(.on-cover) .topbar .top-right-controls{
    width:54px!important;
    height:44px!important;
  }
}

/* v105: keep header arrows identical and evenly spaced away from the logo */
@media(max-width:700px){
  .app-shell:not(.on-cover) .topbar{
    grid-template-columns:62px minmax(0,1fr) 62px!important;
    grid-template-areas:"back brand next" "primary primary primary"!important;
    column-gap:16px!important;
    align-items:center!important;
    justify-items:center!important;
    padding-left:max(16px,env(safe-area-inset-left))!important;
    padding-right:max(16px,env(safe-area-inset-right))!important;
  }
  .app-shell:not(.on-cover) .topbar .brand{
    grid-area:brand!important;
    width:min(48vw,218px)!important;
    max-width:min(48vw,218px)!important;
    height:86px!important;
    justify-self:center!important;
    align-self:center!important;
    margin:0 auto!important;
    z-index:1!important;
  }
  .app-shell:not(.on-cover) .topbar .page-back-button,
  .app-shell:not(.on-cover) .topbar .back-button,
  .app-shell:not(.on-cover) .topbar .page-next-button{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    max-width:46px!important;
    max-height:46px!important;
    padding:0!important;
    margin:0!important;
    border-radius:999px!important;
    font-size:23px!important;
    line-height:1!important;
    display:grid!important;
    place-items:center!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    align-self:center!important;
    z-index:6!important;
  }
  .app-shell:not(.on-cover) .topbar .page-back-button,
  .app-shell:not(.on-cover) .topbar .back-button{
    grid-area:back!important;
    justify-self:center!important;
  }
  .app-shell:not(.on-cover) .topbar .top-right-controls{
    grid-area:next!important;
    width:62px!important;
    height:46px!important;
    display:grid!important;
    place-items:center!important;
    justify-self:center!important;
    align-self:center!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    margin:0!important;
  }
  .app-shell:not(.on-cover) .topbar .page-next-button{
    grid-area:auto!important;
    justify-self:center!important;
  }
}
@media(max-width:390px){
  .app-shell:not(.on-cover) .topbar{
    grid-template-columns:56px minmax(0,1fr) 56px!important;
    column-gap:14px!important;
    padding-left:max(12px,env(safe-area-inset-left))!important;
    padding-right:max(12px,env(safe-area-inset-right))!important;
  }
  .app-shell:not(.on-cover) .topbar .brand{
    width:min(46vw,188px)!important;
    max-width:min(46vw,188px)!important;
    height:78px!important;
  }
  .app-shell:not(.on-cover) .topbar .page-back-button,
  .app-shell:not(.on-cover) .topbar .back-button,
  .app-shell:not(.on-cover) .topbar .page-next-button{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    max-width:42px!important;
    max-height:42px!important;
    font-size:21px!important;
  }
  .app-shell:not(.on-cover) .topbar .top-right-controls{
    width:56px!important;
    height:42px!important;
  }
}

/* v62: centered header logo frame and guided update-protection steps */
.brand{
  justify-content:center!important;
  justify-items:center!important;
  align-items:center!important;
  text-align:center!important;
}
.header-selected-logo{
  display:block!important;
  flex:0 0 auto!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.protect-update-steps{
  display:grid;
  gap:12px;
  margin:14px 0 10px;
  text-align:left;
}
.protect-update-step{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fffefa;
  padding:13px;
}
.protect-update-step.active-step{
  border-color:var(--coral);
  box-shadow:0 0 0 2px rgba(220,118,95,.18),0 10px 24px rgba(35,62,47,.08);
  background:#fffdf8;
}
.protect-update-step.active-step h3{
  color:var(--coral);
}
.protect-update-step.active-step .secondary-button{
  border-color:var(--coral)!important;
}
.protect-update-step h3{
  margin:0 0 6px;
  color:var(--green);
  font:800 13px/1.25 'DM Sans',sans-serif;
  letter-spacing:.2px;
}
.protect-update-step p{
  margin:0 0 10px!important;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}
.protect-update-step .secondary-button.wide,
.backup-prompt-dialog .remind-later-button{
  width:100%;
  margin-top:0;
}

/* v65: launch navigation, meal planning, feedback, and social share polish */
.topbar{
  grid-template-rows:auto auto auto!important;
  gap:8px!important;
  padding-bottom:0!important;
  overflow:visible!important;
}
.primary-header-tools{
  order:2!important;
}
.header-actionbar{
  order:3!important;
  margin:0 -18px!important;
  padding:7px max(12px,env(safe-area-inset-left)) 8px max(12px,env(safe-area-inset-right))!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  background:#0f3224!important;
  border-top:1px solid rgba(255,255,255,.14)!important;
}
.header-actionbar button{
  border:0!important;
  background:transparent!important;
  color:#fff!important;
  font:800 clamp(9px,2.25vw,12px)/1.05 'DM Sans',sans-serif!important;
  text-transform:uppercase!important;
  letter-spacing:.35px!important;
  padding:8px 5px!important;
  white-space:nowrap!important;
}
#searchButton,#moreButton{
  min-width:34px!important;
  font-size:20px!important;
  line-height:1!important;
}
.recipe-share-left{
  position:absolute!important;
  left:22px!important;
  top:22px!important;
  z-index:3!important;
}
.recipe-inline-meal-plan{
  border:1px solid #c8d3c5;
  border-radius:999px;
  background:#fffefa;
  color:var(--green);
  padding:10px 16px;
  font:800 11px 'DM Sans',sans-serif;
  text-transform:uppercase;
  letter-spacing:.75px;
}
.meal-plan-list{display:grid;gap:10px;margin-top:10px}
.meal-plan-view-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.meal-plan-view-toggle button,.remove-meal-plan{
  border:1px solid var(--line);border-radius:12px;background:#fffefa;color:var(--green);font-weight:800;padding:10px;
}
.meal-plan-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;background:#fffefa;padding:12px}
.meal-plan-row small,.meal-plan-row em{display:block;color:var(--muted);font-size:12px}
.meal-plan-row button[data-meal-recipe],.meal-calendar-day button{
  display:block;border:0;background:transparent;color:var(--green);font:700 18px/1.15 'DM Serif Display',Georgia,serif;text-align:left;padding:3px 0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;
}
.meal-calendar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:9px}
.meal-calendar-day{border:1px solid var(--line);border-radius:14px;background:#fffefa;padding:10px}
.meal-calendar-day h3{margin:0 0 8px;color:var(--green);font:800 13px 'DM Sans',sans-serif}
.feedback-file-name,.feedback-note{color:var(--muted);font-size:12px;line-height:1.45}
.import-link-note{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.45;text-align:left}
.settings-section-title-button{
  width:100%;text-align:left;border:1px solid var(--line);border-radius:12px;background:#fffefa;color:var(--green);font:800 16px 'DM Sans',sans-serif;padding:12px;
}
@media(max-width:560px){
  .topbar{gap:6px!important}
  .header-actionbar{margin-left:-10px!important;margin-right:-10px!important;gap:2px!important}
  .header-actionbar button{font-size:9px!important;padding:7px 3px!important;letter-spacing:.12px!important}
  #searchButton,#moreButton{min-width:28px!important;font-size:18px!important}
  .recipe-share-left{left:14px!important;top:14px!important}
  .recipe-inline-actions{right:14px!important;top:14px!important;max-width:55%!important;justify-content:flex-end!important}
  .recipe-inline-meal-plan{padding:9px 10px;font-size:9px;letter-spacing:.35px}
}
.topbar{height:auto!important;min-height:0!important}
.editorial-recipe{padding-top:74px!important}
.recipe-inline-actions{position:absolute!important;right:22px!important;top:22px!important;margin:0!important;display:flex!important}
@media(max-width:700px){.topbar{height:auto!important;min-height:0!important}.header-tools{position:static!important}.editorial-recipe{padding-top:72px!important}.recipe-inline-actions{right:14px!important;top:14px!important;margin:0!important}}

/* v67: repair the launch header into two intentional centered menu bars */
.topbar{
  position:sticky!important;
  top:0!important;
  z-index:60!important;
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr) 56px!important;
  grid-template-areas:
    "back brand next"
    "primary primary primary"
    "actions actions actions"!important;
  align-items:center!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  padding:max(10px,env(safe-area-inset-top)) 12px 0!important;
  gap:8px!important;
  overflow:visible!important;
  background:#123b29!important;
  border-bottom:0!important;
  box-shadow:0 6px 18px rgba(12,38,27,.18)!important;
  backdrop-filter:none!important;
}
.topbar .back-button{
  grid-area:back!important;
  position:static!important;
  justify-self:start!important;
  margin:0!important;
  width:44px!important;
  height:44px!important;
  border-radius:50%!important;
  background:#edf3eb!important;
  color:var(--green)!important;
  font-size:22px!important;
  transform:none!important;
}
.topbar .brand{
  grid-area:brand!important;
  position:static!important;
  transform:none!important;
  justify-self:center!important;
  align-self:center!important;
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
  width:min(68vw,270px)!important;
  height:104px!important;
  margin:0 auto!important;
  padding:8px 12px!important;
  background:#fff!important;
  border:0!important;
  border-radius:2px!important;
  overflow:hidden!important;
  box-shadow:0 8px 22px rgba(0,0,0,.14)!important;
}
.topbar .header-selected-logo{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:240px!important;
  max-height:88px!important;
  margin:auto!important;
  background-image:url("assets/gather-script-logo.png");
  background-position:center!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
}
.topbar .top-right-controls{
  grid-area:next!important;
  position:static!important;
  justify-self:end!important;
  align-self:start!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  transform:none!important;
}
.topbar .top-right-controls .page-next-button,
.topbar .settings-gear-button{
  position:static!important;
  transform:none!important;
  border-radius:50%!important;
  background:#edf3eb!important;
  color:var(--green)!important;
  box-shadow:none!important;
}
.topbar .top-right-controls .page-next-button{
  width:44px!important;
  height:44px!important;
  font-size:22px!important;
}
.topbar .settings-gear-button{
  width:38px!important;
  height:38px!important;
  font-size:19px!important;
}
.topbar .primary-header-tools{
  grid-area:primary!important;
  position:static!important;
  transform:none!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  width:100%!important;
  max-width:430px!important;
  justify-self:center!important;
  align-items:center!important;
  gap:0!important;
  margin:0 auto!important;
  padding:0 4px 2px!important;
  background:transparent!important;
}
.topbar .primary-header-tools button{
  min-width:0!important;
  width:100%!important;
  overflow:hidden!important;
  text-align:center!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  border:0!important;
  border-left:1px solid rgba(255,255,255,.26)!important;
  background:transparent!important;
  color:#fff!important;
  padding:8px 4px!important;
  font:800 clamp(9px,2.65vw,13px)/1.05 'DM Sans',sans-serif!important;
  letter-spacing:.35px!important;
  text-transform:uppercase!important;
}
.topbar .primary-header-tools button:first-child{border-left:0!important}
.topbar .primary-header-tools button.active{color:#f4d68e!important}
.topbar .header-actionbar{
  grid-area:actions!important;
  position:static!important;
  display:grid!important;
  grid-template-columns:.62fr .62fr 1.28fr 1fr 1.08fr!important;
  align-items:center!important;
  justify-items:center!important;
  width:calc(100% + 24px)!important;
  max-width:none!important;
  margin:0 -12px!important;
  padding:6px max(8px,env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right))!important;
  gap:0!important;
  background:#082b1d!important;
  border-top:1px solid rgba(255,255,255,.18)!important;
}
.topbar .header-actionbar button{
  width:100%!important;
  min-width:0!important;
  border:0!important;
  border-left:1px solid rgba(255,255,255,.18)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  padding:7px 3px!important;
  font:800 clamp(8px,2.15vw,11px)/1.05 'DM Sans',sans-serif!important;
  letter-spacing:.18px!important;
  text-align:center!important;
  text-transform:uppercase!important;
  white-space:normal!important;
}
.topbar .header-actionbar button:first-child{border-left:0!important}
.topbar #searchButton,
.topbar #moreButton{
  font-size:20px!important;
  line-height:1!important;
  letter-spacing:0!important;
}
.on-cover .topbar{display:none!important}
@media(max-width:380px){
  .topbar{
    grid-template-columns:46px minmax(0,1fr) 46px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .topbar .brand{width:min(70vw,230px)!important;height:88px!important;padding:7px 9px!important}
  .topbar .top-right-controls .page-next-button,
  .topbar .back-button{width:38px!important;height:38px!important;font-size:20px!important}
  .topbar .settings-gear-button{width:32px!important;height:32px!important;font-size:17px!important}
  .topbar .primary-header-tools button{font-size:8.5px!important;letter-spacing:.1px!important;padding:7px 2px!important}
  .topbar .header-actionbar{width:calc(100% + 16px)!important;margin:0 -8px!important}
.topbar .header-actionbar button{font-size:7.4px!important;letter-spacing:0!important;padding-left:1px!important;padding-right:1px!important}
  .topbar #searchButton,.topbar #moreButton{font-size:17px!important}
}

/* v69: never allow the header logo box to render blank */
.topbar .header-selected-logo:not(.no-logo){
  background-image:url("assets/gather-script-logo.png");
}
.topbar .selected-logo.no-logo{
  display:grid!important;
  place-items:center!important;
  color:var(--green)!important;
  font:28px/1 'DM Serif Display',Georgia,serif!important;
  letter-spacing:2px!important;
  text-align:center!important;
}

/* v73 literal final override: this must remain the last layout block */
html,body{background:#082b1d!important;min-height:100%!important}
.app-shell{background:var(--cream)!important;min-height:100svh!important;padding-bottom:calc(64px + env(safe-area-inset-bottom))!important}
.topbar{box-sizing:border-box!important;display:grid!important;grid-template-columns:64px minmax(0,1fr) 64px!important;grid-template-rows:auto auto!important;grid-template-areas:"back brand next" "primary primary primary"!important;align-items:center!important;justify-items:center!important;gap:8px!important;min-height:0!important;height:auto!important;padding:max(16px,calc(env(safe-area-inset-top) + 8px)) 14px 14px!important;background:#082b1d!important;border-bottom:0!important}
.topbar .back-button{grid-area:back!important;position:static!important;transform:none!important}
.topbar .top-right-controls{grid-area:next!important;position:static!important;transform:none!important;justify-self:center!important}
.topbar .top-right-controls .page-next-button{position:static!important;transform:none!important}
.topbar .brand{grid-area:brand!important;position:relative!important;top:auto!important;width:min(58vw,260px)!important;max-width:260px!important;height:104px!important;display:grid!important;place-items:center!important;background:#fff!important;border-radius:3px!important;padding:8px 12px!important;overflow:hidden!important;box-sizing:border-box!important;box-shadow:0 8px 22px rgba(0,0,0,.12)!important}
.topbar .brand::before{content:""!important;position:absolute!important;inset:8px!important;background-image:var(--header-logo-image,url("assets/gather-script-logo.png"))!important;background-size:var(--header-logo-size,contain)!important;background-position:var(--header-logo-position,center)!important;background-repeat:no-repeat!important;z-index:0!important}
.topbar .header-selected-logo,.topbar .header-selected-logo:not(.no-logo){position:relative!important;z-index:1!important;display:block!important;width:100%!important;height:100%!important;min-height:0!important;background-image:url("assets/gather-script-logo.png")!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important}
.topbar .primary-header-tools{grid-area:primary!important;position:static!important;left:auto!important;bottom:auto!important;transform:none!important;width:min(100%,390px)!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:center!important;justify-items:center!important;gap:0!important;margin:0 auto!important;padding:0!important}
.topbar .primary-header-tools button,.topbar .header-actionbar button{text-transform:none!important;letter-spacing:.01em!important;font:800 10.5px/1.08 'DM Sans',Arial,sans-serif!important}
.topbar .primary-header-tools button{width:100%!important;border:0!important;border-left:1px solid rgba(255,255,255,.32)!important;border-radius:0!important;background:transparent!important;color:#fff!important;padding:7px 4px!important;white-space:nowrap!important}
.topbar .primary-header-tools button:first-child{border-left:0!important}
.topbar .header-actionbar{position:fixed!important;left:0!important;right:0!important;bottom:0!important;transform:none!important;z-index:999!important;width:100vw!important;max-width:none!important;min-height:calc(58px + env(safe-area-inset-bottom))!important;display:grid!important;grid-template-columns:.58fr .58fr 1.08fr .95fr 1fr!important;align-items:center!important;justify-items:center!important;gap:0!important;margin:0!important;padding:6px max(8px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right))!important;background:#082b1d!important;border-top:1px solid rgba(255,255,255,.18)!important;border-radius:0!important;box-shadow:none!important}
.topbar .header-actionbar button{box-sizing:border-box!important;display:grid!important;place-items:center!important;width:100%!important;height:44px!important;min-height:44px!important;min-width:0!important;border:0!important;border-left:1px solid rgba(255,255,255,.22)!important;border-radius:0!important;background:transparent!important;color:#fff!important;padding:2px 4px!important;text-align:center!important;white-space:normal!important}
.topbar .header-actionbar button:first-child{border-left:0!important}
.topbar #searchButton,.topbar #moreButton{font-size:34px!important;line-height:1!important;font-weight:900!important}
.on-cover .header-actionbar{display:grid!important}
.editorial-recipe{overflow:hidden!important;padding-top:100px!important}
.editorial-recipe .recipe-share-left{left:18px!important;top:20px!important;width:auto!important;max-width:112px!important;min-width:0!important;padding:8px 10px!important;font-size:9px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important}
.editorial-recipe .recipe-inline-actions{left:140px!important;right:18px!important;top:20px!important;max-width:none!important;display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:7px!important;align-items:center!important}
.editorial-recipe .recipe-favorite-button{width:38px!important;height:38px!important;font-size:20px!important}
.editorial-recipe .recipe-inline-meal-plan{width:100%!important;min-width:0!important;max-width:100%!important;padding:8px 8px!important;font-size:8.8px!important;line-height:1.05!important;letter-spacing:.02em!important;white-space:normal!important;overflow:hidden!important;text-align:center!important}
@media(min-width:700px){.topbar .header-actionbar{left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:430px!important;max-width:430px!important}}
@media(max-width:380px){.topbar{grid-template-columns:54px minmax(0,1fr) 54px!important;padding-left:8px!important;padding-right:8px!important}.topbar .brand{width:min(58vw,230px)!important;height:96px!important}.topbar .primary-header-tools button,.topbar .header-actionbar button{font-size:9px!important}.topbar #searchButton,.topbar #moreButton{font-size:31px!important}.editorial-recipe .recipe-share-left{max-width:98px!important;font-size:8px!important}.editorial-recipe .recipe-inline-actions{left:124px!important;right:12px!important}.editorial-recipe .recipe-inline-meal-plan{font-size:7.8px!important;padding-left:5px!important;padding-right:5px!important}}

/* v75 absolute final override */
.topbar{grid-template-columns:56px minmax(0,1fr) 56px!important;gap:6px!important;padding-left:10px!important;padding-right:10px!important}
.topbar .brand{justify-self:center!important;align-self:center!important;width:clamp(178px,50vw,230px)!important;height:82px!important;padding:0!important;background:#fff url("assets/gather-script-logo.png") center/contain no-repeat!important;overflow:hidden!important}
.topbar .brand::before{display:none!important;content:none!important}
.topbar .header-selected-logo,.topbar .header-selected-logo:not(.no-logo){display:none!important;background-image:none!important}
.topbar .primary-header-tools{width:min(100%,340px)!important}
.topbar .primary-header-tools button{font:800 9px/1.05 'DM Sans',Arial,sans-serif!important;letter-spacing:0!important;padding:6px 3px!important;text-transform:none!important}
.topbar .header-actionbar{min-height:calc(52px + env(safe-area-inset-bottom))!important;padding-top:4px!important;padding-bottom:calc(4px + env(safe-area-inset-bottom))!important}
.topbar .header-actionbar button{height:40px!important;min-height:40px!important;font:800 9px/1.02 'DM Sans',Arial,sans-serif!important;letter-spacing:0!important;padding:1px 3px!important;text-transform:none!important}
.topbar #searchButton,.topbar #moreButton{font-size:32px!important;line-height:1!important}
.editorial-recipe{padding-top:88px!important}
.editorial-recipe .recipe-share-left,.editorial-recipe .recipe-inline-meal-plan{font:800 8.8px/1.05 'DM Sans',Arial,sans-serif!important;letter-spacing:.02em!important;text-transform:uppercase!important}
.editorial-recipe .recipe-share-left{max-width:112px!important;padding:8px 10px!important}
.editorial-recipe .recipe-inline-actions{left:140px!important;right:16px!important;grid-template-columns:38px minmax(0,1fr)!important}
.editorial-recipe .recipe-inline-meal-plan{padding:8px 8px!important;white-space:normal!important}
@media(max-width:380px){.topbar .brand{width:clamp(160px,48vw,205px)!important;height:76px!important}.topbar .primary-header-tools button,.topbar .header-actionbar button{font-size:8px!important}.topbar #searchButton,.topbar #moreButton{font-size:29px!important}.editorial-recipe .recipe-share-left{max-width:96px!important;font-size:7.8px!important}.editorial-recipe .recipe-inline-actions{left:122px!important;right:10px!important}.editorial-recipe .recipe-inline-meal-plan{font-size:7.8px!important}}

/* v75 true final visual correction: centered logo box, compact footer menu, matched recipe action text */
.topbar{
  grid-template-columns:56px minmax(0,1fr) 56px!important;
  gap:6px!important;
  padding-left:10px!important;
  padding-right:10px!important;
}
.topbar .brand{
  justify-self:center!important;
  align-self:center!important;
  width:clamp(178px,50vw,230px)!important;
  height:82px!important;
  padding:0!important;
  background:#fff url("assets/gather-script-logo.png") center/contain no-repeat!important;
  overflow:hidden!important;
}
.topbar .brand::before{display:none!important;content:none!important}
.topbar .header-selected-logo,
.topbar .header-selected-logo:not(.no-logo){
  display:none!important;
  background-image:none!important;
}
.topbar .primary-header-tools{
  width:min(100%,340px)!important;
}
.topbar .primary-header-tools button{
  font:800 9px/1.05 'DM Sans',Arial,sans-serif!important;
  letter-spacing:0!important;
  padding:6px 3px!important;
  text-transform:none!important;
}
.topbar .header-actionbar{
  min-height:calc(52px + env(safe-area-inset-bottom))!important;
  padding-top:4px!important;
  padding-bottom:calc(4px + env(safe-area-inset-bottom))!important;
}
.topbar .header-actionbar button{
  height:40px!important;
  min-height:40px!important;
  font:800 9px/1.02 'DM Sans',Arial,sans-serif!important;
  letter-spacing:0!important;
  padding:1px 3px!important;
  text-transform:none!important;
}
.topbar #searchButton,
.topbar #moreButton{
  font-size:32px!important;
  line-height:1!important;
}
.editorial-recipe{padding-top:88px!important}
.editorial-recipe .recipe-share-left,
.editorial-recipe .recipe-inline-meal-plan{
  font:800 8.8px/1.05 'DM Sans',Arial,sans-serif!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
}
.editorial-recipe .recipe-share-left{
  max-width:112px!important;
  padding:8px 10px!important;
}
.editorial-recipe .recipe-inline-actions{
  left:140px!important;
  right:16px!important;
  grid-template-columns:38px minmax(0,1fr)!important;
}
.editorial-recipe .recipe-inline-meal-plan{
  padding:8px 8px!important;
  white-space:normal!important;
}
@media(max-width:380px){
  .topbar .brand{width:clamp(160px,48vw,205px)!important;height:76px!important}
  .topbar .primary-header-tools button,
  .topbar .header-actionbar button{font-size:8px!important}
  .topbar #searchButton,.topbar #moreButton{font-size:29px!important}
  .editorial-recipe .recipe-share-left{max-width:96px!important;font-size:7.8px!important}
  .editorial-recipe .recipe-inline-actions{left:122px!important;right:10px!important}
  .editorial-recipe .recipe-inline-meal-plan{font-size:7.8px!important}
}

/* v74 visual reset: centered logo, smaller footer text, matched recipe action buttons */
.topbar{
  grid-template-columns:56px minmax(0,1fr) 56px!important;
  gap:6px!important;
  padding-left:10px!important;
  padding-right:10px!important;
}
.topbar .brand{
  justify-self:center!important;
  align-self:center!important;
  width:clamp(176px,50vw,230px)!important;
  height:82px!important;
  padding:0!important;
  background:#fff url("assets/gather-script-logo.png") center/contain no-repeat!important;
  overflow:hidden!important;
}
.topbar .brand::before{
  display:none!important;
  content:none!important;
}
.topbar .header-selected-logo{
  display:none!important;
}
.topbar .primary-header-tools{
  width:min(100%,340px)!important;
}
.topbar .primary-header-tools button{
  font:800 9px/1.05 'DM Sans',Arial,sans-serif!important;
  letter-spacing:0!important;
  padding:6px 3px!important;
  text-transform:none!important;
}
.topbar .header-actionbar{
  min-height:calc(52px + env(safe-area-inset-bottom))!important;
  padding-top:4px!important;
  padding-bottom:calc(4px + env(safe-area-inset-bottom))!important;
}
.topbar .header-actionbar button{
  height:40px!important;
  min-height:40px!important;
  font:800 9px/1.02 'DM Sans',Arial,sans-serif!important;
  letter-spacing:0!important;
  padding:1px 3px!important;
  text-transform:none!important;
}
.topbar #searchButton,
.topbar #moreButton{
  font-size:32px!important;
  line-height:1!important;
}
.editorial-recipe{
  padding-top:88px!important;
}
.editorial-recipe .recipe-share-left,
.editorial-recipe .recipe-inline-meal-plan{
  font:800 8.8px/1.05 'DM Sans',Arial,sans-serif!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
}
.editorial-recipe .recipe-share-left{
  max-width:112px!important;
  padding:8px 10px!important;
}
.editorial-recipe .recipe-inline-actions{
  left:140px!important;
  right:16px!important;
  grid-template-columns:38px minmax(0,1fr)!important;
}
.editorial-recipe .recipe-inline-meal-plan{
  padding:8px 8px!important;
  white-space:normal!important;
}
@media(max-width:380px){
  .topbar .brand{width:clamp(160px,48vw,205px)!important;height:76px!important}
  .topbar .primary-header-tools button,
  .topbar .header-actionbar button{font-size:8px!important}
  .topbar #searchButton,.topbar #moreButton{font-size:29px!important}
  .editorial-recipe .recipe-share-left{max-width:96px!important;font-size:7.8px!important}
  .editorial-recipe .recipe-inline-actions{left:122px!important;right:10px!important}
  .editorial-recipe .recipe-inline-meal-plan{font-size:7.8px!important}
}

/* v73 absolute final layout guard: header logo, top nav, footer nav, and recipe buttons */
html,body{
  background:#082b1d!important;
  min-height:100%!important;
}
.app-shell{
  background:var(--cream)!important;
  min-height:100svh!important;
  padding-bottom:calc(64px + env(safe-area-inset-bottom))!important;
}
.topbar{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr) 64px!important;
  grid-template-rows:auto auto!important;
  grid-template-areas:"back brand next" "primary primary primary"!important;
  align-items:center!important;
  justify-items:center!important;
  gap:8px!important;
  min-height:0!important;
  height:auto!important;
  padding:max(16px,calc(env(safe-area-inset-top) + 8px)) 14px 14px!important;
  background:#082b1d!important;
  border-bottom:0!important;
}
.topbar .back-button{
  grid-area:back!important;
  position:static!important;
  transform:none!important;
}
.topbar .top-right-controls{
  grid-area:next!important;
  position:static!important;
  transform:none!important;
  justify-self:center!important;
}
.topbar .top-right-controls .page-next-button{
  position:static!important;
  transform:none!important;
}
.topbar .brand{
  grid-area:brand!important;
  position:relative!important;
  top:auto!important;
  width:min(58vw,260px)!important;
  max-width:260px!important;
  height:104px!important;
  display:grid!important;
  place-items:center!important;
  background:#fff!important;
  border-radius:3px!important;
  padding:8px 12px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  box-shadow:0 8px 22px rgba(0,0,0,.12)!important;
}
.topbar .brand::before{
  content:""!important;
  position:absolute!important;
  inset:8px!important;
  background-image:var(--header-logo-image,url("assets/gather-script-logo.png"))!important;
  background-size:var(--header-logo-size,contain)!important;
  background-position:var(--header-logo-position,center)!important;
  background-repeat:no-repeat!important;
  z-index:0!important;
}
.topbar .header-selected-logo,
.topbar .header-selected-logo:not(.no-logo){
  position:relative!important;
  z-index:1!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  background-image:url("assets/gather-script-logo.png")!important;
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.topbar .primary-header-tools{
  grid-area:primary!important;
  position:static!important;
  left:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:min(100%,390px)!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:center!important;
  justify-items:center!important;
  gap:0!important;
  margin:0 auto!important;
  padding:0!important;
}
.topbar .primary-header-tools button,
.topbar .header-actionbar button{
  text-transform:none!important;
  letter-spacing:.01em!important;
  font:800 10.5px/1.08 'DM Sans',Arial,sans-serif!important;
}
.topbar .primary-header-tools button{
  width:100%!important;
  border:0!important;
  border-left:1px solid rgba(255,255,255,.32)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  padding:7px 4px!important;
  white-space:nowrap!important;
}
.topbar .primary-header-tools button:first-child{border-left:0!important}
.topbar .header-actionbar{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  transform:none!important;
  z-index:999!important;
  width:100vw!important;
  max-width:none!important;
  min-height:calc(58px + env(safe-area-inset-bottom))!important;
  display:grid!important;
  grid-template-columns:.58fr .58fr 1.08fr .95fr 1fr!important;
  align-items:center!important;
  justify-items:center!important;
  gap:0!important;
  margin:0!important;
  padding:6px max(8px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right))!important;
  background:#082b1d!important;
  border-top:1px solid rgba(255,255,255,.18)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.topbar .header-actionbar button{
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:44px!important;
  min-height:44px!important;
  min-width:0!important;
  border:0!important;
  border-left:1px solid rgba(255,255,255,.22)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  padding:2px 4px!important;
  text-align:center!important;
  white-space:normal!important;
}
.topbar .header-actionbar button:first-child{border-left:0!important}
.topbar #searchButton,
.topbar #moreButton{
  font-size:34px!important;
  line-height:1!important;
  font-weight:900!important;
}
.on-cover .header-actionbar{display:grid!important}
.editorial-recipe{
  overflow:hidden!important;
  padding-top:100px!important;
}
.editorial-recipe .recipe-share-left{
  left:18px!important;
  top:20px!important;
  width:auto!important;
  max-width:112px!important;
  min-width:0!important;
  padding:8px 10px!important;
  font-size:9px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.editorial-recipe .recipe-inline-actions{
  left:140px!important;
  right:18px!important;
  top:20px!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:7px!important;
  align-items:center!important;
}
.editorial-recipe .recipe-favorite-button{
  width:38px!important;
  height:38px!important;
  font-size:20px!important;
}
.editorial-recipe .recipe-inline-meal-plan{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  padding:8px 8px!important;
  font-size:8.8px!important;
  line-height:1.05!important;
  letter-spacing:.02em!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-align:center!important;
}
@media(min-width:700px){
  .topbar .header-actionbar{
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    width:430px!important;
    max-width:430px!important;
  }
}
@media(max-width:380px){
  .topbar{
    grid-template-columns:54px minmax(0,1fr) 54px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .topbar .brand{width:min(58vw,230px)!important;height:96px!important}
  .topbar .primary-header-tools button,
  .topbar .header-actionbar button{font-size:9px!important}
  .topbar #searchButton,.topbar #moreButton{font-size:31px!important}
  .editorial-recipe .recipe-share-left{max-width:98px!important;font-size:8px!important}
  .editorial-recipe .recipe-inline-actions{left:124px!important;right:12px!important}
  .editorial-recipe .recipe-inline-meal-plan{font-size:7.8px!important;padding-left:5px!important;padding-right:5px!important}
}

/* v70: recipe share sizing, larger bottom icons, and usable Meal Plan views */
.editorial-recipe .recipe-share-left,
.editorial-recipe .recipe-inline-share{
  width:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  padding:9px 15px!important;
  white-space:nowrap!important;
}
.topbar #searchButton,
.topbar #moreButton{
  font-size:24px!important;
  font-weight:900!important;
}
@media(max-width:380px){
  .topbar #searchButton,
  .topbar #moreButton{font-size:21px!important}
}
.meal-plan-dialog h2{
  margin-top:0!important;
}
.meal-plan-list{
  display:block!important;
  margin-top:12px!important;
}
.meal-plan-list-view{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}
.meal-plan-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 40px!important;
  width:100%!important;
}
.meal-plan-row button[data-meal-recipe]{
  width:auto!important;
  max-width:100%!important;
}
.meal-calendar-nav{
  display:grid!important;
  grid-template-columns:42px 1fr 42px!important;
  align-items:center!important;
  gap:8px!important;
  margin:8px 0 10px!important;
}
.meal-calendar-nav strong{
  text-align:center!important;
  color:var(--green)!important;
  font:800 15px 'DM Sans',sans-serif!important;
}
.meal-calendar-nav button{
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:#fffefa!important;
  color:var(--green)!important;
  font:900 18px/1 'DM Sans',sans-serif!important;
  padding:9px!important;
}
.meal-calendar-weekdays,
.meal-calendar-grid{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:4px!important;
}
.meal-calendar-weekdays span{
  color:var(--muted)!important;
  font:800 9px 'DM Sans',sans-serif!important;
  text-align:center!important;
  text-transform:uppercase!important;
}
.meal-calendar-cell{
  min-height:70px!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:#fffefa!important;
  padding:5px!important;
  transition:background .15s ease,border-color .15s ease!important;
}
.meal-calendar-cell.empty{
  background:transparent!important;
  border-color:transparent!important;
}
.meal-calendar-cell.drag-over{
  background:#eef5ed!important;
  border-color:var(--green)!important;
}
.meal-calendar-cell h3{
  margin:0 0 4px!important;
  color:var(--green)!important;
  font:800 11px 'DM Sans',sans-serif!important;
}
.meal-calendar-item{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 18px!important;
  align-items:start!important;
  gap:2px!important;
  margin:3px 0!important;
  padding:3px!important;
  border-radius:7px!important;
  background:#f4f7f0!important;
}
.meal-calendar-item button[data-meal-recipe]{
  font:700 10px/1.15 'DM Sans',sans-serif!important;
  text-decoration:none!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.meal-calendar-item .remove-meal-plan{
  width:18px!important;
  height:18px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#a45d52!important;
  font:900 15px/1 'DM Sans',sans-serif!important;
}

/* v71: final iPhone header/footer correction */
html,body{
  min-height:100%!important;
  background:#082b1d!important;
}
.app-shell{
  background:var(--cream)!important;
  min-height:100svh!important;
  padding-bottom:calc(72px + env(safe-area-inset-bottom))!important;
}
.topbar{
  background:#082b1d!important;
}
.brand{
  background:#fff!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
.topbar .header-selected-logo,
.topbar .header-selected-logo:not(.no-logo){
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:70px!important;
  background-image:url("assets/gather-script-logo.png")!important;
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.topbar .primary-header-tools button,
.topbar .header-actionbar button{
  text-transform:none!important;
  letter-spacing:.08px!important;
}
.topbar .primary-header-tools button{
  font-size:clamp(10px,2.45vw,13px)!important;
  line-height:1.05!important;
  padding:7px 6px!important;
}
.topbar .header-actionbar{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  transform:none!important;
  width:100vw!important;
  max-width:none!important;
  min-height:calc(70px + env(safe-area-inset-bottom))!important;
  padding:8px max(10px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-right))!important;
  display:grid!important;
  grid-template-columns:.55fr .55fr 1.14fr 1fr 1.02fr!important;
  align-items:center!important;
  justify-items:center!important;
  background:#082b1d!important;
  border-top:1px solid rgba(255,255,255,.18)!important;
  border-radius:0!important;
  box-shadow:none!important;
  z-index:999!important;
}
.topbar .header-actionbar button{
  display:grid!important;
  place-items:center!important;
  align-self:stretch!important;
  width:100%!important;
  min-height:48px!important;
  color:#fff!important;
  font-size:clamp(9px,2.25vw,11px)!important;
  line-height:1.02!important;
  padding:3px 5px!important;
  white-space:normal!important;
  text-align:center!important;
}
.topbar #searchButton,
.topbar #moreButton{
  font-size:34px!important;
  line-height:1!important;
}
.on-cover .header-actionbar{
  display:grid!important;
}
@media(min-width:700px){
  .topbar .header-actionbar{
    left:50%!important;
    transform:translateX(-50%)!important;
    max-width:430px!important;
    width:430px!important;
  }
}
@media(max-width:380px){
  .topbar .primary-header-tools button{font-size:9.5px!important;padding-left:4px!important;padding-right:4px!important}
  .topbar .header-actionbar button{font-size:8.5px!important;padding-left:2px!important;padding-right:2px!important}
  .topbar #searchButton,.topbar #moreButton{font-size:30px!important}
}

/* v72: logo hard fallback, title-case menu sizing, and recipe action spacing */
.brand{
  position:relative!important;
}
.brand::before{
  content:""!important;
  position:absolute!important;
  inset:8px!important;
  background-image:var(--header-logo-image,url("assets/gather-script-logo.png"))!important;
  background-size:var(--header-logo-size,contain)!important;
  background-position:var(--header-logo-position,center)!important;
  background-repeat:no-repeat!important;
  z-index:0!important;
  pointer-events:none!important;
}
.brand .header-selected-logo{
  position:relative!important;
  z-index:1!important;
  opacity:1!important;
}
.topbar .primary-header-tools button,
.topbar .header-actionbar button{
  text-transform:none!important;
  font-size:12px!important;
  line-height:1.05!important;
  letter-spacing:.02em!important;
  font-weight:800!important;
}
.topbar .primary-header-tools{
  gap:0!important;
  width:min(100%,390px)!important;
}
.topbar .primary-header-tools button{
  padding:7px 8px!important;
}
.topbar .header-actionbar button{
  padding:4px 6px!important;
  white-space:normal!important;
}
.topbar #searchButton,
.topbar #moreButton{
  font-size:42px!important;
  line-height:.9!important;
}
.editorial-recipe .recipe-share-left{
  left:18px!important;
  top:22px!important;
  max-width:145px!important;
  padding:9px 13px!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}
.editorial-recipe .recipe-inline-actions{
  right:18px!important;
  top:22px!important;
  max-width:calc(100% - 190px)!important;
  justify-content:flex-end!important;
}
.editorial-recipe .recipe-favorite-button{
  flex:0 0 auto!important;
  width:44px!important;
  height:44px!important;
}
.editorial-recipe .recipe-inline-meal-plan{
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:100%!important;
  padding:10px 14px!important;
  white-space:nowrap!important;
}
@media(max-width:430px){
  .brand::before{inset:6px!important}
  .topbar .primary-header-tools button,
  .topbar .header-actionbar button{font-size:10.5px!important;letter-spacing:0!important}
  .topbar #searchButton,.topbar #moreButton{font-size:38px!important}
  .editorial-recipe{padding-top:112px!important}
  .editorial-recipe .recipe-share-left{
    top:18px!important;
    left:16px!important;
    max-width:122px!important;
    font-size:9px!important;
    padding:8px 11px!important;
  }
  .editorial-recipe .recipe-inline-actions{
    top:18px!important;
    right:16px!important;
    max-width:calc(100% - 155px)!important;
  }
  .editorial-recipe .recipe-favorite-button{
    width:38px!important;
    height:38px!important;
    font-size:20px!important;
  }
  .editorial-recipe .recipe-inline-meal-plan{
    font-size:9px!important;
    padding:9px 10px!important;
  }
}
@media(max-width:380px){
  .topbar .primary-header-tools button,
  .topbar .header-actionbar button{font-size:9.5px!important}
  .topbar #searchButton,.topbar #moreButton{font-size:35px!important}
}

/* v68: the action bar belongs at the bottom of the phone screen */
body{padding-bottom:calc(54px + env(safe-area-inset-bottom))!important}
.app-shell{padding-bottom:calc(54px + env(safe-area-inset-bottom))!important}
.topbar{
  grid-template-areas:
    "back brand next"
    "primary primary primary"!important;
  padding-bottom:6px!important;
}
.topbar .header-actionbar{
  grid-area:auto!important;
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:90!important;
  display:grid!important;
  grid-template-columns:.62fr .62fr 1.28fr 1fr 1.08fr!important;
  align-items:center!important;
  justify-items:center!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:7px max(8px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right))!important;
  gap:0!important;
  background:#082b1d!important;
  border-top:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 -8px 24px rgba(9,34,24,.22)!important;
}
.topbar .header-actionbar button{
  width:100%!important;
  min-width:0!important;
  border:0!important;
  border-left:1px solid rgba(255,255,255,.2)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  padding:8px 3px!important;
  font:800 clamp(8px,2.2vw,11px)/1.05 'DM Sans',sans-serif!important;
  letter-spacing:.18px!important;
  text-align:center!important;
  text-transform:uppercase!important;
  white-space:normal!important;
}
.topbar .header-actionbar button:first-child{border-left:0!important}
.topbar #searchButton,.topbar #moreButton{
  font-size:20px!important;
  line-height:1!important;
}
.on-cover .header-actionbar{display:none!important}
@media(min-width:700px){
  .topbar .header-actionbar{
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    max-width:430px!important;
  }
}
@media(max-width:380px){
  body,.app-shell{padding-bottom:calc(50px + env(safe-area-inset-bottom))!important}
  .topbar .header-actionbar button{font-size:7.4px!important;letter-spacing:0!important;padding-left:1px!important;padding-right:1px!important}
  .topbar #searchButton,.topbar #moreButton{font-size:17px!important}
}

/* v69 final override: keep the header logo visible even if an old saved logo choice is stale */
.topbar .header-selected-logo:not(.no-logo){
  background-image:url("assets/gather-script-logo.png");
  background-position:center!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
}
.topbar .selected-logo.no-logo{
  display:grid!important;
  place-items:center!important;
  color:var(--green)!important;
  font:28px/1 'DM Serif Display',Georgia,serif!important;
  letter-spacing:2px!important;
  text-align:center!important;
}

/* v75 final override: header logo, footer nav, and recipe buttons */
html,body{background:#082b1d!important;min-height:100%!important}
.app-shell{background:var(--cream)!important;min-height:100svh!important;padding-bottom:calc(56px + env(safe-area-inset-bottom))!important}
.topbar{box-sizing:border-box!important;display:grid!important;grid-template-columns:56px minmax(0,1fr) 56px!important;grid-template-rows:auto auto!important;grid-template-areas:"back brand next" "primary primary primary"!important;align-items:center!important;justify-items:center!important;gap:6px!important;min-height:0!important;height:auto!important;padding:max(14px,calc(env(safe-area-inset-top) + 8px)) 10px 12px!important;background:#082b1d!important;border-bottom:0!important}
.topbar .back-button{grid-area:back!important;position:static!important;transform:none!important}
.topbar .top-right-controls{grid-area:next!important;position:static!important;transform:none!important;justify-self:center!important}
.topbar .top-right-controls .page-next-button{position:static!important;transform:none!important}
.topbar .brand{grid-area:brand!important;position:relative!important;top:auto!important;justify-self:center!important;align-self:center!important;width:clamp(178px,50vw,230px)!important;height:82px!important;display:block!important;background:#fff url("assets/gather-script-logo.png") center/contain no-repeat!important;border-radius:3px!important;padding:0!important;overflow:hidden!important;box-sizing:border-box!important;box-shadow:0 8px 22px rgba(0,0,0,.12)!important}
.topbar .brand::before{display:none!important;content:none!important}
.topbar .header-selected-logo,.topbar .header-selected-logo:not(.no-logo){display:none!important;background-image:none!important}
.topbar .primary-header-tools{grid-area:primary!important;position:static!important;left:auto!important;bottom:auto!important;transform:none!important;width:min(100%,340px)!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:center!important;justify-items:center!important;gap:0!important;margin:0 auto!important;padding:0!important}
.topbar .primary-header-tools button{width:100%!important;border:0!important;border-left:1px solid rgba(255,255,255,.32)!important;border-radius:0!important;background:transparent!important;color:#fff!important;padding:6px 3px!important;white-space:nowrap!important;text-transform:none!important;letter-spacing:0!important;font:800 9px/1.05 'DM Sans',Arial,sans-serif!important}
.topbar .primary-header-tools button:first-child{border-left:0!important}
.topbar .header-actionbar{position:fixed!important;left:0!important;right:0!important;bottom:0!important;transform:none!important;z-index:999!important;width:100vw!important;max-width:none!important;min-height:calc(52px + env(safe-area-inset-bottom))!important;display:grid!important;grid-template-columns:.58fr .58fr 1.08fr .95fr 1fr!important;align-items:center!important;justify-items:center!important;gap:0!important;margin:0!important;padding:4px max(8px,env(safe-area-inset-left)) calc(4px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right))!important;background:#082b1d!important;border-top:1px solid rgba(255,255,255,.18)!important;border-radius:0!important;box-shadow:none!important}
.topbar .header-actionbar button{box-sizing:border-box!important;display:grid!important;place-items:center!important;width:100%!important;height:40px!important;min-height:40px!important;min-width:0!important;border:0!important;border-left:1px solid rgba(255,255,255,.22)!important;border-radius:0!important;background:transparent!important;color:#fff!important;padding:1px 3px!important;text-align:center!important;white-space:normal!important;text-transform:none!important;letter-spacing:0!important;font:800 9px/1.02 'DM Sans',Arial,sans-serif!important}
.topbar .header-actionbar button:first-child{border-left:0!important}
.topbar #searchButton,.topbar #moreButton{font-size:32px!important;line-height:1!important;font-weight:900!important}
.on-cover .header-actionbar{display:grid!important}
.editorial-recipe{overflow:hidden!important;padding-top:88px!important}
.editorial-recipe .recipe-share-left{left:18px!important;top:20px!important;width:auto!important;max-width:112px!important;min-width:0!important;padding:8px 10px!important;font:800 8.8px/1.05 'DM Sans',Arial,sans-serif!important;letter-spacing:.02em!important;text-transform:uppercase!important;white-space:nowrap!important;overflow:hidden!important}
.editorial-recipe .recipe-inline-actions{left:140px!important;right:16px!important;top:20px!important;max-width:none!important;display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:7px!important;align-items:center!important}
.editorial-recipe .recipe-favorite-button{width:38px!important;height:38px!important;font-size:20px!important}
.editorial-recipe .recipe-inline-meal-plan{width:100%!important;min-width:0!important;max-width:100%!important;padding:8px 8px!important;font:800 8.8px/1.05 'DM Sans',Arial,sans-serif!important;line-height:1.05!important;letter-spacing:.02em!important;text-transform:uppercase!important;white-space:normal!important;overflow:hidden!important;text-align:center!important}
@media(min-width:700px){.topbar .header-actionbar{left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:430px!important;max-width:430px!important}}
@media(max-width:380px){.topbar{grid-template-columns:54px minmax(0,1fr) 54px!important;padding-left:8px!important;padding-right:8px!important}.topbar .brand{width:clamp(160px,48vw,205px)!important;height:76px!important}.topbar .primary-header-tools button,.topbar .header-actionbar button{font-size:8px!important}.topbar #searchButton,.topbar #moreButton{font-size:29px!important}.editorial-recipe .recipe-share-left{max-width:96px!important;font-size:7.8px!important}.editorial-recipe .recipe-inline-actions{left:122px!important;right:10px!important}.editorial-recipe .recipe-inline-meal-plan{font-size:7.8px!important}}

/* v76 absolute-center header fix */
.topbar{
  position:relative!important;
  display:block!important;
  min-height:190px!important;
  padding:max(14px,calc(env(safe-area-inset-top) + 8px)) 10px 12px!important;
  background:#082b1d!important;
}
.topbar .brand{
  position:absolute!important;
  left:50%!important;
  top:max(14px,calc(env(safe-area-inset-top) + 8px))!important;
  transform:translateX(-50%)!important;
  width:clamp(178px,50vw,230px)!important;
  height:82px!important;
  margin:0!important;
  padding:0!important;
  background:#fff url("assets/gather-script-logo.png") center/contain no-repeat!important;
  border-radius:3px!important;
  overflow:hidden!important;
  z-index:2!important;
}
.topbar .brand::before,
.topbar .header-selected-logo,
.topbar .header-selected-logo:not(.no-logo){
  display:none!important;
  content:none!important;
  background-image:none!important;
}
.topbar .back-button{
  position:absolute!important;
  left:14px!important;
  top:calc(max(14px,calc(env(safe-area-inset-top) + 8px)) + 26px)!important;
  transform:none!important;
  z-index:3!important;
}
.topbar .top-right-controls{
  position:absolute!important;
  right:14px!important;
  top:calc(max(14px,calc(env(safe-area-inset-top) + 8px)) + 26px)!important;
  transform:none!important;
  z-index:3!important;
}
.topbar .top-right-controls .page-next-button{
  position:static!important;
  transform:none!important;
}
.topbar .primary-header-tools{
  position:absolute!important;
  left:50%!important;
  top:calc(max(14px,calc(env(safe-area-inset-top) + 8px)) + 100px)!important;
  transform:translateX(-50%)!important;
  width:min(100%,340px)!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  z-index:2!important;
}
.topbar .primary-header-tools button{
  font:800 9px/1.05 'DM Sans',Arial,sans-serif!important;
  letter-spacing:0!important;
  text-transform:none!important;
  padding:6px 3px!important;
}
.topbar .header-actionbar button{
  font:800 9px/1.02 'DM Sans',Arial,sans-serif!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.topbar #searchButton,
.topbar #moreButton{
  font-size:32px!important;
}
.editorial-recipe .recipe-share-left,
.editorial-recipe .recipe-inline-meal-plan{
  font:800 8.8px/1.05 'DM Sans',Arial,sans-serif!important;
}
@media(max-width:380px){
  .topbar{min-height:178px!important}
  .topbar .brand{width:clamp(160px,50vw,205px)!important;height:76px!important}
  .topbar .primary-header-tools{top:calc(max(14px,calc(env(safe-area-inset-top) + 8px)) + 94px)!important}
  .topbar .primary-header-tools button,
  .topbar .header-actionbar button{font-size:8px!important}
  .topbar #searchButton,.topbar #moreButton{font-size:29px!important}
}

/* v77 polish: fixed footer, clean settings labels, search behavior, recipe actions, and compact meal calendar */
html,body{
  overflow-x:hidden!important;
}
.app-shell{
  padding-bottom:calc(60px + env(safe-area-inset-bottom))!important;
}
main{
  padding-bottom:calc(72px + env(safe-area-inset-bottom))!important;
}
.topbar .header-actionbar{
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:auto!important;
  bottom:0!important;
  z-index:5000!important;
  min-height:calc(58px + env(safe-area-inset-bottom))!important;
  display:grid!important;
  align-items:center!important;
  justify-items:center!important;
  padding:5px max(8px,env(safe-area-inset-left)) calc(5px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right))!important;
  border-radius:0!important;
}
.topbar .header-actionbar button{
  height:44px!important;
  min-height:44px!important;
  display:grid!important;
  place-items:center!important;
  font:800 9px/1.08 'DM Sans',Arial,sans-serif!important;
  text-transform:none!important;
  letter-spacing:0!important;
  white-space:normal!important;
}
.topbar #searchButton,
.topbar #moreButton{
  font-size:32px!important;
  line-height:1!important;
}
.settings-section-block h3{
  text-transform:none!important;
}
#groceryListDialog .grocery-list-title-label{
  font-size:14px!important;
  margin-bottom:4px!important;
}
#groceryListDialog>h2{
  display:none!important;
}
.editorial-recipe .recipe-share-left,
.editorial-recipe .recipe-inline-actions{
  top:24px!important;
}
.editorial-recipe .recipe-share-left{
  left:20px!important;
  height:40px!important;
  max-width:112px!important;
  padding:8px 13px!important;
  font:800 8.8px/1.05 'DM Sans',Arial,sans-serif!important;
}
.editorial-recipe .recipe-inline-actions{
  left:146px!important;
  right:20px!important;
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:center!important;
}
.editorial-recipe .recipe-favorite-button{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:24px!important;
  font-weight:400!important;
  line-height:1!important;
  transform:none!important;
  padding:0!important;
}
.editorial-recipe .recipe-favorite-button.active{
  font-size:24px!important;
}
.editorial-recipe .recipe-inline-meal-plan{
  height:40px!important;
  display:grid!important;
  place-items:center!important;
  padding:8px 10px!important;
  font:800 8.8px/1.05 'DM Sans',Arial,sans-serif!important;
}
.meal-plan-dialog .step-label{
  display:none!important;
}
#mealPlanDialog .field-label{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
}
.meal-calendar-nav{
  grid-template-columns:36px 1fr 36px!important;
  margin:10px 0 8px!important;
}
.meal-calendar-nav button{
  min-width:0!important;
  height:32px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--green)!important;
  font:900 24px/1 'DM Sans',Arial,sans-serif!important;
}
.meal-calendar-nav strong{
  font:800 15px/1.1 'DM Sans',Arial,sans-serif!important;
}
.meal-calendar-weekdays,
.meal-calendar-grid,
.meal-picker-grid{
  grid-template-columns:repeat(7,1fr)!important;
  gap:4px!important;
}
.meal-calendar-weekdays span{
  font:800 8px/1 'DM Sans',Arial,sans-serif!important;
}
.meal-calendar-cell{
  aspect-ratio:1/1!important;
  min-height:0!important;
  width:100%!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--green)!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
  font:800 12px/1 'DM Sans',Arial,sans-serif!important;
}
.meal-picker-grid span.empty{
  display:block!important;
}
.meal-picker-grid button{
  aspect-ratio:1/1!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--green)!important;
  display:grid!important;
  place-items:center!important;
  font:800 12px/1 'DM Sans',Arial,sans-serif!important;
}
.meal-picker-grid button.selected{
  background:#1f6fe5!important;
  color:#fff!important;
}
.meal-calendar-cell.empty{
  visibility:hidden!important;
}
.meal-calendar-cell.selected{
  background:#1f6fe5!important;
  color:#fff!important;
}
.meal-calendar-cell.has-meals:not(.selected)::after{
  content:""!important;
  position:absolute!important;
  bottom:3px!important;
  width:4px!important;
  height:4px!important;
  border-radius:50%!important;
  background:var(--coral)!important;
}
.meal-calendar-cell em{
  position:absolute!important;
  right:-2px!important;
  top:-2px!important;
  min-width:13px!important;
  height:13px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  background:var(--coral)!important;
  color:#fff!important;
  font:800 8px/1 'DM Sans',Arial,sans-serif!important;
}
.selected-meal-day{
  margin-top:12px!important;
  border-top:1px solid var(--line)!important;
  padding-top:10px!important;
}
.selected-meal-day h3{
  margin:0 0 8px!important;
  color:var(--green)!important;
  font:800 13px/1.15 'DM Sans',Arial,sans-serif!important;
}
.selected-meal-day p{
  color:var(--muted)!important;
  font-style:italic!important;
}
.selected-meal-day .meal-calendar-item{
  grid-template-columns:minmax(0,1fr) 28px!important;
  align-items:center!important;
  border:1px solid var(--line)!important;
  background:#fffefa!important;
  border-radius:12px!important;
  padding:8px!important;
}
.selected-meal-day .meal-calendar-item button[data-meal-recipe]{
  font:800 13px/1.15 'DM Sans',Arial,sans-serif!important;
}
.selected-meal-day .remove-meal-plan{
  width:28px!important;
  height:28px!important;
}
@media(max-width:380px){
  .topbar .header-actionbar button{font-size:8px!important}
  .topbar #searchButton,.topbar #moreButton{font-size:30px!important}
  .editorial-recipe .recipe-share-left{left:14px!important;max-width:96px!important;font-size:7.8px!important}
  .editorial-recipe .recipe-inline-actions{left:120px!important;right:14px!important;grid-template-columns:38px minmax(0,1fr)!important}
  .editorial-recipe .recipe-favorite-button{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;font-size:23px!important}
  .editorial-recipe .recipe-inline-meal-plan{font-size:7.8px!important}
}

/* v78 final fixes: 3 add choices, true compact meal picker grid, and stable rounded favorite heart */
.add-methods{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
.add-method-button{
  min-height:54px!important;
  padding:10px 8px!important;
  text-align:center!important;
  line-height:1.15!important;
}
.import-shared-method{
  grid-column:1/-1!important;
  min-height:48px!important;
  border-color:var(--green)!important;
  background:#f7f8f2!important;
}
.shared-import-panel{
  display:grid!important;
  gap:10px!important;
  margin:10px 0 20px!important;
  padding:14px!important;
  border:2px solid var(--green)!important;
  border-radius:16px!important;
  background:#fffdf8!important;
  box-shadow:0 8px 22px rgba(18,59,41,.08)!important;
}
.shared-import-panel strong{
  display:block!important;
  color:var(--green)!important;
  font:800 16px 'DM Sans',sans-serif!important;
}
.shared-import-panel p{
  margin:4px 0 0!important;
  color:var(--muted)!important;
  font:600 12px/1.45 'DM Sans',sans-serif!important;
}
.shared-import-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:center!important;
}
.shared-import-row input{
  min-width:0!important;
  padding:12px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  font:600 14px 'DM Sans',sans-serif!important;
}
.shared-import-row button{
  width:auto!important;
  white-space:nowrap!important;
}
.editing-existing .shared-import-panel{
  display:none!important;
}
.editing-existing .add-methods{
  grid-template-columns:1fr!important;
}
.editing-existing #recipeFileUpload,
.editing-existing #recipeReferenceUpload,
.editing-existing #manualAddButton{
  display:none!important;
}
.meal-plan-picker-calendar{
  width:100%!important;
  max-width:280px!important;
  margin:8px auto 14px!important;
}
#mealPlanPickerCalendar .meal-calendar-nav{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) 34px!important;
  align-items:center!important;
  gap:8px!important;
}
#mealPlanPickerCalendar .meal-calendar-weekdays,
#mealPlanPickerCalendar .meal-picker-grid{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:5px!important;
  width:100%!important;
}
#mealPlanPickerCalendar .meal-calendar-weekdays span{
  text-align:center!important;
  text-transform:uppercase!important;
}
#mealPlanPickerCalendar .meal-picker-grid span.empty{
  display:block!important;
  aspect-ratio:1/1!important;
}
#mealPlanPickerCalendar .meal-picker-grid button{
  min-width:0!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  border-radius:999px!important;
  padding:0!important;
}
.editorial-recipe .recipe-favorite-button,
.editorial-recipe .recipe-favorite-button.active{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  font-size:0!important;
  transform:none!important;
}
.recipe-favorite-button .heart-svg{
  width:22px!important;
  height:22px!important;
  display:block!important;
  stroke:currentColor!important;
  stroke-width:2.2!important;
  fill:transparent!important;
}
.recipe-favorite-button.active .heart-svg{
  fill:currentColor!important;
}
@media(max-width:430px){
  .add-methods{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .add-method-button{font-size:11px!important}
  .shared-import-row{grid-template-columns:1fr!important}
  .shared-import-row button{width:100%!important}
  .meal-plan-picker-calendar{max-width:250px!important}
}

/* v79 shell layout: fixed top cookbook menu + fixed bottom utility menu; only page content scrolls */
:root{
  --gather-topbar-height:252px;
  --gather-footer-height:62px;
}
html,
body{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
  background:#082b1d!important;
}
.app-shell{
  height:100svh!important;
  min-height:100svh!important;
  max-height:100svh!important;
  overflow:hidden!important;
  padding:0!important;
  background:var(--cream)!important;
}
.topbar,
.app-shell.on-cover .topbar{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:5000!important;
  height:var(--gather-topbar-height)!important;
  min-height:var(--gather-topbar-height)!important;
  max-height:var(--gather-topbar-height)!important;
  display:grid!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
main{
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:var(--gather-topbar-height)!important;
  bottom:calc(var(--gather-footer-height) + env(safe-area-inset-bottom))!important;
  height:auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  background:var(--cream)!important;
  z-index:1!important;
}
.screen{
  min-height:100%!important;
  padding-bottom:28px!important;
}
.topbar .header-actionbar{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:5500!important;
  height:calc(var(--gather-footer-height) + env(safe-area-inset-bottom))!important;
  min-height:calc(var(--gather-footer-height) + env(safe-area-inset-bottom))!important;
  padding:6px max(8px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right))!important;
  display:grid!important;
  grid-template-columns:.62fr .62fr 1.12fr .95fr .95fr!important;
  align-items:center!important;
  justify-items:center!important;
  background:#082b1d!important;
  border-radius:0!important;
}
.topbar .header-actionbar button{
  height:42px!important;
  min-height:42px!important;
  display:grid!important;
  place-items:center!important;
  text-align:center!important;
  white-space:normal!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font:800 9.5px/1.05 'DM Sans',Arial,sans-serif!important;
  padding:0 4px!important;
}
.topbar #searchButton,
.topbar #moreButton{
  font-size:25px!important;
  line-height:1!important;
}
.topbar #quickSaveBackup,
.topbar #addRecipeButton,
.topbar #quickDownloadCookbook{
  line-height:1.05!important;
}
#searchDialog[open]{
  position:fixed!important;
  left:50%!important;
  top:50%!important;
  bottom:auto!important;
  right:auto!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
  width:min(360px,calc(100vw - 34px))!important;
  max-height:min(72svh,560px)!important;
  overflow:auto!important;
  z-index:7000!important;
}
body:has(#searchDialog[open])>.app-shell{
  pointer-events:auto!important;
}
#searchDialog{
  pointer-events:auto!important;
}
@media(min-width:700px){
  .app-shell{max-width:430px!important;margin:0 auto!important}
  .topbar{left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:430px!important}
  .topbar .header-actionbar{left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:430px!important}
  main{left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:430px!important}
}
@media(max-width:430px){
  :root{
    --gather-topbar-height:246px;
    --gather-footer-height:60px;
  }
  .topbar .header-actionbar button{
    font-size:8.5px!important;
  }
  .topbar #searchButton,
  .topbar #moreButton{
    font-size:24px!important;
  }
}
@media(max-width:360px){
  :root{--gather-topbar-height:238px}
  .topbar .header-actionbar button{font-size:7.6px!important}
  .topbar #searchButton,
  .topbar #moreButton{font-size:22px!important}
}

/* v80 emergency cover fix: the fixed menus only belong inside the cookbook, not on the cover */
body:has(.app-shell.on-cover),
.app-shell.on-cover{
  background:#123b29!important;
  height:100svh!important;
  min-height:100svh!important;
  max-height:100svh!important;
  overflow:hidden!important;
}
.app-shell.on-cover .topbar,
.app-shell.on-cover .header-actionbar,
.app-shell.on-cover .primary-header-tools,
.app-shell.on-cover .back-button,
.app-shell.on-cover .top-right-controls{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.app-shell.on-cover main{
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  height:100svh!important;
  min-height:100svh!important;
  max-height:100svh!important;
  overflow:hidden!important;
  transform:none!important;
  background:#123b29!important;
}
.app-shell.on-cover .cover-screen,
.app-shell.on-cover .cover-inner{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100svh!important;
  min-height:100svh!important;
  max-height:100svh!important;
  padding:0!important;
  margin:0!important;
  background:#123b29!important;
  overflow:hidden!important;
}
.app-shell.on-cover .cover-logo-box{
  width:min(78vw,520px)!important;
  height:auto!important;
  aspect-ratio:1.42/1!important;
  min-height:0!important;
  max-height:36svh!important;
  padding:20px!important;
  margin:0 auto!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 18px 46px rgba(0,0,0,.22)!important;
}
.app-shell.on-cover .cover-selected-logo{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  background-position:center!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  mix-blend-mode:normal!important;
  filter:none!important;
}
@media(min-width:700px){
  .app-shell.on-cover main{
    left:50%!important;
    right:auto!important;
    width:430px!important;
    transform:translateX(-50%)!important;
  }
}

/* v81 layout repair: one clean fixed header + fixed footer; only the cookbook content scrolls */
:root{
  --gather-green:#082b1d;
  --gather-topbar-height:calc(178px + env(safe-area-inset-top));
  --gather-footer-height:calc(62px + env(safe-area-inset-bottom));
}
html,
body{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  overflow:hidden!important;
  background:var(--gather-green)!important;
}
.app-shell:not(.on-cover){
  position:relative!important;
  height:100svh!important;
  min-height:100svh!important;
  max-height:100svh!important;
  overflow:hidden!important;
  padding:0!important;
  background:var(--cream)!important;
}
.app-shell:not(.on-cover) .topbar{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:5000!important;
  width:100%!important;
  height:var(--gather-topbar-height)!important;
  min-height:var(--gather-topbar-height)!important;
  max-height:var(--gather-topbar-height)!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) 58px!important;
  grid-template-rows:calc(110px + env(safe-area-inset-top)) 44px!important;
  grid-template-areas:"back brand next" "primary primary primary"!important;
  align-items:center!important;
  justify-items:center!important;
  gap:8px!important;
  padding:calc(14px + env(safe-area-inset-top)) 14px 12px!important;
  overflow:visible!important;
  background:var(--gather-green)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:none!important;
}
.app-shell:not(.on-cover) .topbar .back-button{
  grid-area:back!important;
  position:static!important;
  transform:none!important;
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  z-index:2!important;
}
.app-shell:not(.on-cover) .topbar .top-right-controls{
  grid-area:next!important;
  position:static!important;
  transform:none!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  z-index:2!important;
}
.app-shell:not(.on-cover) .topbar .top-right-controls .page-next-button{
  position:static!important;
  transform:none!important;
  width:42px!important;
  height:42px!important;
  margin:0!important;
}
.app-shell:not(.on-cover) .topbar .settings-gear-button{
  display:none!important;
}
.app-shell:not(.on-cover) .topbar .brand{
  grid-area:brand!important;
  position:relative!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
  justify-self:center!important;
  align-self:center!important;
  width:min(64vw,260px)!important;
  height:96px!important;
  margin:0 auto!important;
  padding:8px 12px!important;
  box-sizing:border-box!important;
  border-radius:4px!important;
  background:#fff!important;
  box-shadow:0 10px 24px rgba(0,0,0,.14)!important;
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
  z-index:1!important;
}
.app-shell:not(.on-cover) .topbar .brand::before{
  content:""!important;
  position:absolute!important;
  inset:8px 12px!important;
  background-image:url("assets/gather-script-logo.png")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:contain!important;
  z-index:0!important;
}
.app-shell:not(.on-cover) .topbar .header-selected-logo,
.app-shell:not(.on-cover) .topbar .header-selected-logo:not(.no-logo){
  display:none!important;
}
.app-shell:not(.on-cover) .topbar .primary-header-tools{
  grid-area:primary!important;
  position:static!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  width:min(100%,390px)!important;
  max-width:390px!important;
  height:42px!important;
  align-items:center!important;
  justify-items:center!important;
  margin:0 auto!important;
  padding:0!important;
  gap:0!important;
  z-index:3!important;
}
.app-shell:not(.on-cover) .topbar .primary-header-tools button{
  width:100%!important;
  height:34px!important;
  min-height:34px!important;
  border:0!important;
  border-left:1px solid rgba(255,255,255,.34)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  padding:0 4px!important;
  text-align:center!important;
  white-space:nowrap!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font:800 11px/1.05 'DM Sans',Arial,sans-serif!important;
}
.app-shell:not(.on-cover) .topbar .primary-header-tools button:first-child{
  border-left:0!important;
}
.app-shell:not(.on-cover) main{
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:var(--gather-topbar-height)!important;
  bottom:var(--gather-footer-height)!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  padding:0!important;
  margin:0!important;
  background:var(--cream)!important;
  z-index:1!important;
  transform:none!important;
}
.app-shell:not(.on-cover) .screen{
  min-height:100%!important;
  padding-bottom:28px!important;
}
.app-shell:not(.on-cover) .topbar .header-actionbar{
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:auto!important;
  bottom:0!important;
  transform:none!important;
  z-index:5500!important;
  width:100%!important;
  max-width:none!important;
  height:var(--gather-footer-height)!important;
  min-height:var(--gather-footer-height)!important;
  display:grid!important;
  grid-template-columns:.62fr .62fr 1.14fr .96fr 1fr!important;
  align-items:center!important;
  justify-items:center!important;
  gap:0!important;
  margin:0!important;
  padding:6px max(8px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right))!important;
  box-sizing:border-box!important;
  background:var(--gather-green)!important;
  border:0!important;
  border-top:1px solid rgba(255,255,255,.18)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.app-shell:not(.on-cover) .topbar .header-actionbar button{
  box-sizing:border-box!important;
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  min-width:0!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-left:1px solid rgba(255,255,255,.24)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  padding:1px 4px!important;
  text-align:center!important;
  white-space:normal!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font:800 9px/1.05 'DM Sans',Arial,sans-serif!important;
}
.app-shell:not(.on-cover) .topbar .header-actionbar button:first-child{
  border-left:0!important;
}
.app-shell:not(.on-cover) .topbar #searchButton,
.app-shell:not(.on-cover) .topbar #moreButton{
  font-size:24px!important;
  line-height:1!important;
  font-weight:900!important;
}
.app-shell:not(.on-cover) .topbar #quickDownloadCookbook,
.app-shell:not(.on-cover) .topbar #quickSaveBackup,
.app-shell:not(.on-cover) .topbar #addRecipeButton{
  line-height:1.05!important;
}
.app-shell:not(.on-cover) .editorial-recipe{
  overflow:hidden!important;
  padding-top:84px!important;
}
.app-shell:not(.on-cover) .editorial-recipe .recipe-share-left{
  left:18px!important;
  top:20px!important;
  width:auto!important;
  max-width:118px!important;
  min-width:0!important;
  height:40px!important;
  padding:8px 12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  font:800 8.8px/1.05 'DM Sans',Arial,sans-serif!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.app-shell:not(.on-cover) .editorial-recipe .recipe-inline-actions{
  left:146px!important;
  right:18px!important;
  top:20px!important;
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:center!important;
  max-width:none!important;
}
.app-shell:not(.on-cover) .editorial-recipe .recipe-favorite-button,
.app-shell:not(.on-cover) .editorial-recipe .recipe-favorite-button.active{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  font-size:0!important;
  transform:none!important;
  padding:0!important;
  border-radius:999px!important;
}
.app-shell:not(.on-cover) .recipe-favorite-button .heart-svg{
  width:22px!important;
  height:22px!important;
}
.app-shell:not(.on-cover) .editorial-recipe .recipe-inline-meal-plan{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:40px!important;
  display:grid!important;
  place-items:center!important;
  padding:8px 8px!important;
  font:800 8.8px/1.05 'DM Sans',Arial,sans-serif!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-align:center!important;
}
#searchDialog[open]{
  position:fixed!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
  width:min(360px,calc(100vw - 34px))!important;
  max-height:min(72svh,560px)!important;
  overflow:auto!important;
  z-index:7000!important;
}
.app-shell.on-cover .header-actionbar{
  display:none!important;
}
@media(min-width:700px){
  .app-shell:not(.on-cover){
    width:430px!important;
    max-width:430px!important;
    margin:0 auto!important;
  }
  .app-shell:not(.on-cover) .topbar,
  .app-shell:not(.on-cover) main,
  .app-shell:not(.on-cover) .topbar .header-actionbar{
    left:50%!important;
    right:auto!important;
    width:430px!important;
    transform:translateX(-50%)!important;
  }
}
@media(max-width:380px){
  :root{
    --gather-topbar-height:calc(168px + env(safe-area-inset-top));
    --gather-footer-height:calc(58px + env(safe-area-inset-bottom));
  }
  .app-shell:not(.on-cover) .topbar{
    grid-template-columns:48px minmax(0,1fr) 48px!important;
    grid-template-rows:calc(102px + env(safe-area-inset-top)) 38px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .app-shell:not(.on-cover) .topbar .brand{
    width:min(60vw,214px)!important;
    height:82px!important;
  }
  .app-shell:not(.on-cover) .topbar .back-button,
  .app-shell:not(.on-cover) .topbar .top-right-controls .page-next-button{
    width:36px!important;
    height:36px!important;
  }
  .app-shell:not(.on-cover) .topbar .primary-header-tools button,
  .app-shell:not(.on-cover) .topbar .header-actionbar button{
    font-size:8px!important;
  }
  .app-shell:not(.on-cover) .topbar #searchButton,
  .app-shell:not(.on-cover) .topbar #moreButton{
    font-size:22px!important;
  }
  .app-shell:not(.on-cover) .editorial-recipe .recipe-share-left{
    left:14px!important;
    max-width:100px!important;
    font-size:7.8px!important;
  }
  .app-shell:not(.on-cover) .editorial-recipe .recipe-inline-actions{
    left:124px!important;
    right:14px!important;
    grid-template-columns:38px minmax(0,1fr)!important;
  }
  .app-shell:not(.on-cover) .editorial-recipe .recipe-favorite-button,
  .app-shell:not(.on-cover) .editorial-recipe .recipe-favorite-button.active{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
  }
  .app-shell:not(.on-cover) .editorial-recipe .recipe-inline-meal-plan{
    font-size:7.8px!important;
  }
}

/* v82 structural fix: utility buttons are now a real footer, not part of the header */
.app-shell:not(.on-cover) .footer-actionbar{
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:auto!important;
  bottom:0!important;
  transform:none!important;
  z-index:6500!important;
  width:100%!important;
  max-width:none!important;
  height:var(--gather-footer-height)!important;
  min-height:var(--gather-footer-height)!important;
  display:grid!important;
  grid-template-columns:.62fr .62fr 1.14fr .96fr 1fr!important;
  align-items:center!important;
  justify-items:center!important;
  gap:0!important;
  margin:0!important;
  padding:6px max(8px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right))!important;
  box-sizing:border-box!important;
  background:var(--gather-green)!important;
  border:0!important;
  border-top:1px solid rgba(255,255,255,.18)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.app-shell:not(.on-cover) .footer-actionbar button{
  box-sizing:border-box!important;
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  min-width:0!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-left:1px solid rgba(255,255,255,.24)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  padding:1px 4px!important;
  text-align:center!important;
  white-space:normal!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font:800 9px/1.05 'DM Sans',Arial,sans-serif!important;
}
.app-shell:not(.on-cover) .footer-actionbar button:first-child{
  border-left:0!important;
}
.app-shell:not(.on-cover) .footer-actionbar #searchButton,
.app-shell:not(.on-cover) .footer-actionbar #moreButton{
  font-size:24px!important;
  line-height:1!important;
  font-weight:900!important;
}
.app-shell:not(.on-cover) .topbar .brand{
  background:#fff!important;
}
.app-shell:not(.on-cover) .topbar .brand::before{
  display:block!important;
  content:""!important;
  position:absolute!important;
  inset:8px 12px!important;
  background:url("assets/gather-script-logo.png") center/contain no-repeat!important;
  z-index:5!important;
}
.app-shell:not(.on-cover) .topbar .header-selected-logo,
.app-shell:not(.on-cover) .topbar .header-selected-logo:not(.no-logo),
.app-shell:not(.on-cover) .topbar .selected-logo.no-logo{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}
.app-shell.on-cover .footer-actionbar{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
@media(min-width:700px){
  .app-shell:not(.on-cover) .footer-actionbar{
    left:50%!important;
    right:auto!important;
    width:430px!important;
    transform:translateX(-50%)!important;
  }
}
@media(max-width:380px){
  .app-shell:not(.on-cover) .footer-actionbar button{
    font-size:8px!important;
  }
  .app-shell:not(.on-cover) .footer-actionbar #searchButton,
  .app-shell:not(.on-cover) .footer-actionbar #moreButton{
    font-size:22px!important;
  }
}

/* v83 final shell guard: keep the cookbook header, scrolling page, and footer in three separate layers */
.app-shell:not(.on-cover){
  --gather-topbar-height:calc(190px + env(safe-area-inset-top))!important;
  --gather-footer-height:calc(70px + env(safe-area-inset-bottom))!important;
  min-height:100svh!important;
  height:100svh!important;
  overflow:hidden!important;
  background:var(--gather-green)!important;
}
.app-shell:not(.on-cover) .topbar{
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:0!important;
  bottom:auto!important;
  width:100%!important;
  height:var(--gather-topbar-height)!important;
  min-height:var(--gather-topbar-height)!important;
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) 58px!important;
  grid-template-rows:calc(126px + env(safe-area-inset-top)) 42px!important;
  grid-template-areas:"back brand next" ". primary ."!important;
  align-items:center!important;
  justify-items:center!important;
  gap:8px 8px!important;
  padding:calc(env(safe-area-inset-top) + 12px) 14px 12px!important;
  box-sizing:border-box!important;
  background:var(--gather-green)!important;
  border:0!important;
  border-radius:0!important;
  z-index:6000!important;
  overflow:hidden!important;
}
.app-shell:not(.on-cover) .topbar .back-button{
  grid-area:back!important;
  justify-self:center!important;
  align-self:center!important;
  position:static!important;
  transform:none!important;
}
.app-shell:not(.on-cover) .topbar .top-right-controls{
  grid-area:next!important;
  position:static!important;
  transform:none!important;
  width:58px!important;
  height:58px!important;
  display:grid!important;
  place-items:center!important;
}
.app-shell:not(.on-cover) .topbar .top-right-controls .page-next-button{
  position:static!important;
  transform:none!important;
}
.app-shell:not(.on-cover) .topbar .brand{
  grid-area:brand!important;
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:min(62vw,300px)!important;
  height:106px!important;
  max-width:300px!important;
  margin:0 auto!important;
  padding:10px 16px!important;
  box-sizing:border-box!important;
  display:block!important;
  background:#fff!important;
  border-radius:4px!important;
  overflow:hidden!important;
  box-shadow:0 10px 24px rgba(0,0,0,.12)!important;
}
.app-shell:not(.on-cover) .topbar .brand::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:10px 16px!important;
  background-image:var(--header-logo-image,url("assets/gather-script-logo.png"))!important;
  background-position:var(--header-logo-position,center)!important;
  background-size:var(--header-logo-size,contain)!important;
  background-repeat:no-repeat!important;
  z-index:10!important;
}
.app-shell:not(.on-cover) .topbar .header-selected-logo,
.app-shell:not(.on-cover) .topbar .selected-logo,
.app-shell:not(.on-cover) .topbar .header-selected-logo:not(.no-logo){
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}
.app-shell:not(.on-cover) .topbar .primary-header-tools{
  grid-area:primary!important;
  position:static!important;
  transform:none!important;
  width:min(100%,390px)!important;
  height:40px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:center!important;
  justify-items:center!important;
  gap:0!important;
  padding:0!important;
  overflow:visible!important;
  z-index:20!important;
}
.app-shell:not(.on-cover) .topbar .primary-header-tools button{
  width:100%!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-left:1px solid rgba(255,255,255,.32)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  text-transform:none!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  font:800 10px/1.05 'DM Sans',Arial,sans-serif!important;
}
.app-shell:not(.on-cover) .topbar .primary-header-tools button:first-child{
  border-left:0!important;
}
.app-shell:not(.on-cover) main{
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:var(--gather-topbar-height)!important;
  bottom:var(--gather-footer-height)!important;
  width:100%!important;
  height:auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  background:var(--cream)!important;
  z-index:1!important;
}
.app-shell:not(.on-cover) .footer-actionbar{
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:auto!important;
  bottom:0!important;
  width:100%!important;
  height:var(--gather-footer-height)!important;
  min-height:var(--gather-footer-height)!important;
  display:grid!important;
  grid-template-columns:.62fr .62fr 1.16fr 1fr 1fr!important;
  align-items:center!important;
  justify-items:center!important;
  gap:0!important;
  padding:6px max(8px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right))!important;
  box-sizing:border-box!important;
  background:var(--gather-green)!important;
  border:0!important;
  border-top:1px solid rgba(255,255,255,.18)!important;
  border-radius:0!important;
  z-index:6500!important;
  transform:none!important;
}
.app-shell:not(.on-cover) .footer-actionbar button{
  width:100%!important;
  height:42px!important;
  min-width:0!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-left:1px solid rgba(255,255,255,.24)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  padding:0 3px!important;
  text-align:center!important;
  white-space:normal!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font:800 9px/1.05 'DM Sans',Arial,sans-serif!important;
}
.app-shell:not(.on-cover) .footer-actionbar button:first-child{
  border-left:0!important;
}
.app-shell:not(.on-cover) .footer-actionbar #searchButton,
.app-shell:not(.on-cover) .footer-actionbar #moreButton{
  font-size:22px!important;
  line-height:1!important;
}
.app-shell.on-cover .footer-actionbar,
.app-shell.on-cover .primary-header-tools{
  display:none!important;
}
@media(min-width:700px){
  .app-shell:not(.on-cover){
    width:430px!important;
    max-width:430px!important;
    margin:0 auto!important;
  }
  .app-shell:not(.on-cover) .topbar,
  .app-shell:not(.on-cover) main,
  .app-shell:not(.on-cover) .footer-actionbar{
    left:50%!important;
    right:auto!important;
    width:430px!important;
    transform:translateX(-50%)!important;
  }
}
@media(max-width:380px){
  .app-shell:not(.on-cover){
    --gather-topbar-height:calc(168px + env(safe-area-inset-top))!important;
    --gather-footer-height:calc(62px + env(safe-area-inset-bottom))!important;
  }
  .app-shell:not(.on-cover) .topbar{
    grid-template-columns:46px minmax(0,1fr) 46px!important;
    grid-template-rows:calc(104px + env(safe-area-inset-top)) 36px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .app-shell:not(.on-cover) .topbar .brand{
    width:min(58vw,210px)!important;
    height:76px!important;
    padding:8px 12px!important;
  }
  .app-shell:not(.on-cover) .topbar .brand::before{
    inset:8px 12px!important;
  }
  .app-shell:not(.on-cover) .topbar .primary-header-tools button,
  .app-shell:not(.on-cover) .footer-actionbar button{
    font-size:8px!important;
  }
  .app-shell:not(.on-cover) .footer-actionbar #searchButton,
  .app-shell:not(.on-cover) .footer-actionbar #moreButton{
    font-size:20px!important;
  }
}

/* v84 polish: dynamic header branding, tidy logo picker, and mirrored page arrows */
.logo-option-image.no-logo{
  display:grid!important;
  place-items:center!important;
  background-image:none!important;
  color:var(--green)!important;
  font:800 13px/1 'DM Sans',Arial,sans-serif!important;
  letter-spacing:.04em!important;
  text-transform:none!important;
}
.app-shell:not(.on-cover) .topbar .brand::before{
  background-image:var(--header-logo-image,url("assets/gather-script-logo.png"))!important;
  background-position:var(--header-logo-position,center)!important;
  background-size:var(--header-logo-size,contain)!important;
  background-repeat:no-repeat!important;
}
.app-shell:not(.on-cover) .topbar .back-button,
.app-shell:not(.on-cover) .topbar .top-right-controls .page-next-button{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  margin:0!important;
  justify-self:center!important;
  align-self:center!important;
}
.app-shell:not(.on-cover) .topbar .top-right-controls{
  justify-self:center!important;
  align-self:center!important;
}

/* v85 end-page arrow and cover logo fixes */
.app-shell.on-end .end-back-button{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.app-shell.on-end .topbar .back-button{
  visibility:visible!important;
}
.app-shell.on-cover .cover-selected-logo{
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}

/* v87: Our Family Recipes branding option + green meal-plan calendar selection */
.meal-picker-grid button.selected,
#mealPlanPickerCalendar .meal-picker-grid button.selected,
.meal-calendar-cell.selected{
  background:#2f6b4f!important;
  border-color:#2f6b4f!important;
  color:#fff!important;
}
.meal-calendar-cell.has-meals:not(.selected)::after,
.meal-calendar-cell em{
  background:#cfe6d2!important;
  color:#123b29!important;
  border:1px solid rgba(18,59,41,.22)!important;
}
.meal-calendar-cell.selected em{
  background:#e9f4ea!important;
  color:#123b29!important;
}
.logo-option[data-logo="family-recipes"] .logo-option-image{
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}

/* v88: Our Family Recipes brand theme + refined meal-plan indicators */
.app-shell.family-recipes-brand:not(.on-cover) .topbar,
.app-shell.family-recipes-brand:not(.on-cover) .footer-actionbar{
  background:#f4ead8!important;
  color:#123b29!important;
  border-color:rgba(91,61,38,.18)!important;
}
.app-shell.family-recipes-brand:not(.on-cover) .topbar::before,
.app-shell.family-recipes-brand:not(.on-cover) .topbar::after,
.app-shell.family-recipes-brand:not(.on-cover) .footer-actionbar::before,
.app-shell.family-recipes-brand:not(.on-cover) .footer-actionbar::after{
  background:#f4ead8!important;
}
.app-shell.family-recipes-brand:not(.on-cover) .primary-header-tools button,
.app-shell.family-recipes-brand:not(.on-cover) .footer-actionbar button{
  color:#123b29!important;
}
.app-shell.family-recipes-brand:not(.on-cover) .primary-header-tools button+button,
.app-shell.family-recipes-brand:not(.on-cover) .footer-actionbar button+button{
  border-left-color:rgba(18,59,41,.24)!important;
}
.app-shell.family-recipes-brand:not(.on-cover) .topbar .back-button,
.app-shell.family-recipes-brand:not(.on-cover) .topbar .page-next-button{
  background:#fffaf1!important;
  color:#123b29!important;
}
.app-shell.family-recipes-brand:not(.on-cover) .topbar .brand{
  background:#fffaf1!important;
  border:1px solid rgba(91,61,38,.12)!important;
}
.app-shell.family-recipes-brand:not(.on-cover) .topbar .header-selected-logo,
.app-shell.family-recipes-brand:not(.on-cover) .topbar .selected-logo{
  background-size:contain!important;
  background-position:center!important;
}
.app-shell.family-recipes-brand .cover-logo-box{
  background:#fffaf1!important;
  border-color:rgba(91,61,38,.18)!important;
}
.app-shell.family-recipes-brand .cover-selected-logo{
  background-size:contain!important;
  background-position:center!important;
}

.meal-calendar-cell.has-meals:not(.selected)::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:4px!important;
  width:5px!important;
  height:5px!important;
  transform:translateX(-50%)!important;
  border-radius:50%!important;
  background:#123b29!important;
  border:0!important;
}
.meal-calendar-cell em{
  background:#f4ead8!important;
  color:#123b29!important;
  border:1px solid rgba(18,59,41,.18)!important;
  display:grid!important;
  place-items:center!important;
  text-align:center!important;
  line-height:1!important;
}
.meal-calendar-cell.selected,
.meal-picker-grid button.selected,
#mealPlanPickerCalendar .meal-picker-grid button.selected{
  background:#2f6b4f!important;
  border-color:#2f6b4f!important;
  color:#fff!important;
}
.meal-calendar-cell.selected em{
  background:#f4ead8!important;
  color:#123b29!important;
}

/* v89: larger top menu type + centered meal-count badge */
.app-shell:not(.on-cover) .topbar .primary-header-tools button{
  font-size:12px!important;
  line-height:1.1!important;
}
.app-shell.family-recipes-brand:not(.on-cover) .topbar .primary-header-tools button{
  color:#123b29!important;
}
.meal-calendar-cell em{
  width:18px!important;
  min-width:18px!important;
  height:18px!important;
  padding:0!important;
  border-radius:999px!important;
  background:#f4ead8!important;
  color:#123b29!important;
  border:1px solid #111!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  font:800 9px/1 'DM Sans',Arial,sans-serif!important;
}
@media(max-width:380px){
  .app-shell:not(.on-cover) .topbar .primary-header-tools button{
    font-size:10.5px!important;
  }
}

/* v90: roomier top menu + fuller Our Family Recipes branding */
.app-shell:not(.on-cover){
  --gather-topbar-height:calc(196px + env(safe-area-inset-top))!important;
}
.app-shell:not(.on-cover) .topbar{
  grid-template-columns:54px minmax(0,1fr) 54px!important;
  gap:8px 4px!important;
  padding-left:8px!important;
  padding-right:8px!important;
}
.app-shell:not(.on-cover) .topbar .brand{
  width:min(68vw,318px)!important;
  max-width:318px!important;
  height:110px!important;
  padding:0!important;
}
.app-shell:not(.on-cover) .topbar .brand::before{
  inset:0!important;
  background-size:contain!important;
}
.app-shell:not(.on-cover) .topbar .primary-header-tools{
  width:min(100%,420px)!important;
  max-width:420px!important;
  height:44px!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
}
.app-shell:not(.on-cover) .topbar .primary-header-tools button{
  height:38px!important;
  padding:0 5px!important;
  overflow:visible!important;
  font-size:12.5px!important;
  line-height:1.08!important;
}
.app-shell:not(.on-cover) .topbar .primary-header-tools button+button{
  border-left:1px solid rgba(255,255,255,.32)!important;
}
.app-shell.family-recipes-brand:not(.on-cover){
  --gather-topbar-height:calc(196px + env(safe-area-inset-top))!important;
}
.app-shell.family-recipes-brand:not(.on-cover) .topbar .brand{
  background:#fff!important;
  border:0!important;
}
.app-shell.family-recipes-brand:not(.on-cover) .topbar .brand::before{
  inset:0!important;
  background-size:cover!important;
}
.app-shell.family-recipes-brand:not(.on-cover) .topbar .primary-header-tools button{
  color:#123b29!important;
}
.app-shell.family-recipes-brand:not(.on-cover) .topbar .primary-header-tools button+button{
  border-left-color:rgba(18,59,41,.24)!important;
}
.app-shell.family-recipes-brand.on-cover,
.app-shell.family-recipes-brand.on-cover main,
.app-shell.family-recipes-brand.on-cover .cover-screen,
.app-shell.family-recipes-brand.on-cover .cover-inner{
  background:
    radial-gradient(circle at 18% 18%,rgba(160,91,43,.13) 0 1.4px,transparent 1.7px),
    radial-gradient(circle at 78% 30%,rgba(160,91,43,.10) 0 1.2px,transparent 1.5px),
    radial-gradient(circle at 36% 74%,rgba(100,70,44,.08) 0 1px,transparent 1.4px),
    linear-gradient(135deg,#fffaf0 0%,#f4ead8 48%,#fff8ee 100%)!important;
  background-size:120px 120px,160px 160px,140px 140px,100% 100%!important;
}
.app-shell.family-recipes-brand.on-cover .cover-logo-box{
  width:min(88vw,430px)!important;
  height:auto!important;
  aspect-ratio:1.42/1!important;
  padding:0!important;
  background:#fff!important;
  border-radius:8px!important;
  overflow:hidden!important;
  box-shadow:0 12px 30px rgba(91,61,38,.12)!important;
}
.app-shell.family-recipes-brand.on-cover .cover-selected-logo{
  background-size:cover!important;
  background-position:center!important;
}
.logo-option[data-logo="family-recipes"] .logo-option-image,
.logo-option[data-logo="family-recipes-badge"] .logo-option-image{
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
@media(max-width:380px){
  .app-shell:not(.on-cover){
    --gather-topbar-height:calc(188px + env(safe-area-inset-top))!important;
  }
  .app-shell:not(.on-cover) .topbar .brand{
    width:min(66vw,285px)!important;
    height:100px!important;
  }
  .app-shell:not(.on-cover) .topbar .primary-header-tools button{
    font-size:11px!important;
    padding:0 3px!important;
  }
}

/* v91: protect logo fit + give the top menu real breathing room */
.app-shell:not(.on-cover) .topbar{
  grid-template-areas:
    "back brand next"
    "primary primary primary"!important;
}
.app-shell:not(.on-cover) .topbar .primary-header-tools{
  grid-area:primary!important;
  justify-self:center!important;
  width:min(88vw,430px)!important;
  max-width:430px!important;
  padding:0 10px!important;
  box-sizing:border-box!important;
}
.app-shell:not(.on-cover) .topbar .primary-header-tools button{
  min-width:0!important;
  padding:0 10px!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-align:center!important;
}
.app-shell.family-recipes-badge-brand.on-cover .cover-logo-box,
.app-shell.family-recipes-badge-brand:not(.on-cover) .topbar .brand{
  background:#fffaf1!important;
  overflow:hidden!important;
}
.app-shell.family-recipes-badge-brand.on-cover .cover-logo-box{
  padding:12px!important;
}
.app-shell.family-recipes-badge-brand.on-cover .cover-selected-logo,
.app-shell.family-recipes-badge-brand:not(.on-cover) .topbar .brand::before{
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.app-shell.family-recipes-badge-brand:not(.on-cover) .topbar .brand::before{
  inset:8px!important;
}
.app-shell.family-recipes-botanical-brand.on-cover .cover-selected-logo,
.app-shell.family-recipes-botanical-brand:not(.on-cover) .topbar .brand::before{
  background-position:center!important;
}
@media(max-width:380px){
  .app-shell:not(.on-cover) .topbar .primary-header-tools{
    width:min(90vw,400px)!important;
    padding:0 6px!important;
  }
  .app-shell:not(.on-cover) .topbar .primary-header-tools button{
    font-size:10.75px!important;
    padding:0 6px!important;
  }
}

/* v91 final mobile polish: keep brand art contained and menu labels separated */
.topbar .primary-header-tools{
  width:min(92vw,430px)!important;
  max-width:430px!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  column-gap:0!important;
}
.topbar .primary-header-tools button{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  padding-left:10px!important;
  padding-right:10px!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.app-shell.family-recipes-badge-brand .cover-logo-box,
.app-shell.family-recipes-badge-brand .topbar .brand{
  background:#fffaf1!important;
  overflow:hidden!important;
}
.app-shell.family-recipes-badge-brand .cover-logo-box{
  padding:14px!important;
}
.app-shell.family-recipes-badge-brand .cover-selected-logo,
.app-shell.family-recipes-badge-brand .topbar .brand::before,
.app-shell.family-recipes-badge-brand .topbar .header-selected-logo{
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.app-shell.family-recipes-badge-brand .topbar .brand::before{
  inset:8px!important;
}
@media(max-width:430px){
  .topbar .primary-header-tools{
    width:calc(100vw - 34px)!important;
    max-width:none!important;
  }
  .topbar .primary-header-tools button{
    font-size:11px!important;
    letter-spacing:0!important;
    padding-left:7px!important;
    padding-right:7px!important;
  }
}

/* v95: keep the page arrows evenly spaced and outside the header logo */
.app-shell:not(.on-cover) .topbar{
  grid-template-columns:64px minmax(0,1fr) 64px!important;
  column-gap:16px!important;
  padding-left:max(20px,env(safe-area-inset-left))!important;
  padding-right:max(20px,env(safe-area-inset-right))!important;
}
.app-shell:not(.on-cover) .topbar .back-button,
.app-shell:not(.on-cover) .topbar .page-next-button{
  position:static!important;
  transform:none!important;
  grid-row:1!important;
  z-index:6!important;
  justify-self:center!important;
  align-self:center!important;
  margin:0!important;
}
.app-shell:not(.on-cover) .topbar .back-button{
  grid-area:back!important;
}
.app-shell:not(.on-cover) .topbar .page-next-button{
  grid-area:next!important;
}
.app-shell:not(.on-cover) .topbar .top-right-controls{
  display:contents!important;
}
.app-shell:not(.on-cover) .topbar .brand{
  grid-area:brand!important;
  justify-self:center!important;
  align-self:center!important;
  width:min(56vw,300px)!important;
  max-width:min(56vw,300px)!important;
  margin:0 auto!important;
  z-index:1!important;
}
@media(max-width:430px){
  .app-shell:not(.on-cover) .topbar{
    grid-template-columns:58px minmax(0,1fr) 58px!important;
    column-gap:12px!important;
    padding-left:max(14px,env(safe-area-inset-left))!important;
    padding-right:max(14px,env(safe-area-inset-right))!important;
  }
  .app-shell:not(.on-cover) .topbar .brand{
    width:min(54vw,270px)!important;
    max-width:min(54vw,270px)!important;
  }
}

/* v96: final phone header safe-zone so arrows cannot overlap the centered logo */
@media(max-width:700px){
  .app-shell:not(.on-cover) .topbar{
    grid-template-columns:54px minmax(0,1fr) 54px!important;
    grid-template-areas:"back brand next" "primary primary primary"!important;
    column-gap:18px!important;
    padding-left:max(18px,env(safe-area-inset-left))!important;
    padding-right:max(18px,env(safe-area-inset-right))!important;
  }
  .app-shell:not(.on-cover) .topbar .brand{
    grid-area:brand!important;
    width:min(46vw,190px)!important;
    max-width:min(46vw,190px)!important;
    height:82px!important;
    justify-self:center!important;
    align-self:center!important;
    margin:0 auto!important;
  }
  .app-shell:not(.on-cover) .topbar .back-button{
    grid-area:back!important;
    justify-self:start!important;
  }
  .app-shell:not(.on-cover) .topbar .top-right-controls{
    grid-area:next!important;
    display:grid!important;
    justify-self:end!important;
    align-self:center!important;
    position:static!important;
    transform:none!important;
  }
  .app-shell:not(.on-cover) .topbar .page-next-button{
    position:static!important;
    transform:none!important;
    justify-self:end!important;
  }
}

/* v97: collapsible recipe categories, final cascade */
.category-group-title .category-toggle{
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  color:var(--green)!important;
  font:900 26px/1 system-ui,sans-serif!important;
  width:32px!important;
  height:32px!important;
  margin:0 10px 0 0!important;
  display:inline-grid!important;
  place-items:center!important;
  cursor:pointer!important;
  flex:0 0 auto!important;
}
.category-group-title .category-toggle:focus-visible{
  outline:2px solid var(--coral)!important;
  outline-offset:2px!important;
  border-radius:999px!important;
}
.category-group.collapsed{
  padding-bottom:8px!important;
}
.category-group.collapsed .category-group-title{
  border-bottom:1px dotted rgba(28,76,55,.18)!important;
  padding-bottom:8px!important;
}
