/* SavorShelf 0.7 — calm, content-first presentation. No remote fonts or imagery. */
:root{--bg:#f7f1e8;--paper:#fffdf9;--ink:#1f2e3d;--muted:#665c55;--line:#e4d8cc;--green:#a9432d;--light:#f8e5da;--orange:#915119;--soft:#fff0d8;--danger:#a02623;--focus:#a9432d;--terracotta:#c96a4a;--amber:#d89a2b;--on-primary:#fffdf9;--nav-height:82px;--shadow:0 4px 18px #1f2e3d06;color-scheme:light;font-size:16px}
:root[data-theme=dark]{--bg:#172330;--paper:#203040;--ink:#f7f1e8;--muted:#d0bbb0;--line:#52606d;--green:#edab90;--light:#46362f;--orange:#edbe77;--soft:#443b30;--danger:#ffb5ab;--focus:#edab90;--terracotta:#edab90;--amber:#edbe77;--on-primary:#172330;--shadow:0 4px 18px #0002;color-scheme:dark}
body{background:var(--bg);color:var(--ink)}h1,h2,h3{color:var(--ink);overflow-wrap:anywhere}p,button,label,summary,.badge{overflow-wrap:anywhere}main{outline:none}.shell{max-width:1120px;padding:24px 28px calc(var(--nav-height) + 28px)}.header{margin-bottom:26px;gap:12px;min-height:48px}.brand{font-size:1.3rem;letter-spacing:-.05em;min-width:0}.brand-mark{width:40px;height:40px;min-width:40px;border-radius:12px;overflow:hidden;background:#1f2e3d}.brand-logo{display:block;width:100%;height:100%;object-fit:contain}.header-status{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--muted);text-align:right}.header-status svg{width:16px;height:16px}.header-status span{max-width:100px}.eyebrow{font-size:.65rem;letter-spacing:.15em;color:var(--orange);line-height:1.6;margin:0 0 9px}.small{font-size:.84rem;line-height:1.6}.tiny{font-size:.74rem}.page-title h1,.library-heading h1{font-size:2.15rem;letter-spacing:-.045em;margin:0 0 10px;line-height:1.15}.page-title,.library-heading{margin-bottom:24px}.library-heading .small{margin:0}.btn,.icon-btn,select,input:not([type=checkbox]),summary{min-height:48px}.btn{border-radius:12px;padding:12px 16px;gap:8px;font-size:.86rem;line-height:1.45;background:var(--paper);border-color:var(--line);color:var(--ink)}.btn.primary{background:var(--green);border-color:var(--green);color:var(--paper)}:root[data-theme=dark] .btn.primary{color:#172330}.btn.soft{background:var(--light);border-color:var(--light);color:var(--ink)}.btn.quiet{background:transparent;border-color:transparent}.btn.danger{color:var(--danger)}.btn:hover{filter:none;border-color:var(--muted)}.btn.primary:hover{filter:brightness(.94);border-color:var(--green)}.btn:active{transform:none}.icon-btn{width:48px;height:48px;min-width:48px;border-radius:12px}.btn:focus-visible,.icon-btn:focus-visible,summary:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.badge{background:var(--light);color:var(--ink);font-size:.75rem;line-height:1.5;white-space:normal}.search-row{gap:10px}.search{min-width:0}.search input{min-height:54px;border-radius:14px;padding:14px 12px 14px 42px;font-size:.9rem;line-height:1.4}.search svg{left:14px;top:17px}.add-recipe-button{width:54px;min-width:54px;height:54px;padding:0}.shelf-start{margin-bottom:20px}.quick-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.quick-paths .btn{max-width:none;padding:10px;font-size:.82rem;background:var(--paper)}.quick-paths svg{width:19px;height:19px;display:block}.library-toolbar{display:flex;align-items:flex-start;gap:12px;justify-content:space-between;margin-bottom:14px}.library-filters{flex:1;min-width:0}.library-filters summary{display:flex;align-items:center;gap:8px;font-size:.81rem;font-weight:650;cursor:pointer;list-style:none}.library-filters summary::-webkit-details-marker{display:none}.library-filters summary svg{width:18px;height:18px}.filter-caret{color:var(--muted);margin-left:2px}.library-filters[open]{flex-basis:100%}.library-toolbar:has(.library-filters[open]){flex-wrap:wrap}.filter-row{display:flex;flex-wrap:wrap;overflow:visible;gap:8px;padding:6px 0 10px}.chip{white-space:normal;border-radius:24px;padding:10px 16px;min-height:48px;font-size:.8rem;background:var(--paper);color:var(--ink);border-color:var(--line);max-width:100%}.chip.active{background:var(--green);border-color:var(--green);color:var(--paper)}:root[data-theme=dark] .chip.active{color:#172330}.shelf-controls{display:flex;margin:0;min-width:0;flex:0 1 180px}.shelf-controls select{min-width:0;width:100%;max-width:100%;color:var(--ink);border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:10px 30px 10px 12px;font-size:.8rem}.library-results{margin-bottom:12px;gap:12px}.library-results h2{font-size:1rem}.library-results .small{font-size:.75rem}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card{border-radius:16px;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);min-width:0;overflow:hidden}.card-main{display:grid;grid-template-columns:108px minmax(0,1fr);gap:0;align-items:stretch;min-height:174px;height:100%;position:relative}.card .cover{width:108px;height:100%;min-height:174px;border-radius:0}.recipe-jacket{background:#963e2a;color:#f0d8b7}.recipe-jacket .jacket-emblem{border:1px solid #ffffff38;border-radius:50%;padding:12px}.recipe-jacket .jacket-emblem svg{width:30px;height:30px;stroke-width:1.25}.recipe-jacket:after{width:120px;height:120px;right:-55px;top:-38px;opacity:.16}.recipe-jacket:before{background:linear-gradient(155deg,#ffffff0a,transparent)}.jacket-breakfast{background:#986549;color:#fff1d6}.jacket-desserts{background:#684857;color:#f5dcd0}.jacket-sides{background:#835532;color:#fff0dc}.jacket-sauces{background:#85563d;color:#fff0d7}.jacket-other{background:#34495b;color:#ece4d5}.cover.photo{background:#963e2a}.card-copy{padding:17px 16px 17px 18px;min-width:0;display:flex;flex-direction:column;gap:0}.card-eyebrow{justify-content:flex-start;gap:8px;flex-wrap:wrap;padding-right:32px;min-height:21px}.card .category{color:var(--orange);font-size:.6rem;letter-spacing:.11em;line-height:1.5}.rating-small{font-size:.66rem;color:var(--muted);line-height:1.5}.card h3{font-family:Georgia,serif;font-weight:500;font-size:1.18rem;letter-spacing:-.025em;line-height:1.3;margin:5px 0 8px;overflow-wrap:anywhere}.recipe-description{display:none}.card .meta{margin-top:auto;padding-top:4px;gap:10px;flex-wrap:wrap;font-size:.72rem;line-height:1.5;color:var(--muted)}.card .meta span{min-width:0}.card .meta svg{width:14px;height:14px}.card .variation-count{font-size:.68rem;margin-top:6px;line-height:1.4;color:var(--muted)}.card-fav{width:48px;height:48px;min-width:48px;min-height:48px;top:4px;right:4px;background:transparent;border:0;color:var(--muted);z-index:2}.card-fav svg{width:20px;height:20px}.card-fav.on{color:var(--orange)}.card-fav:hover{background:var(--light)}.empty{background:var(--paper);border:1px dashed var(--line);border-radius:16px;padding:38px 20px}.empty p{font-size:.9rem}.inspiration-footer{display:flex;gap:14px;border:1px solid var(--line);border-radius:16px;padding:20px;margin-top:26px;background:var(--light)}.inspiration-mark{min-width:32px}.inspiration-footer h2{font-family:Georgia,serif;font-size:1.35rem;font-weight:500;margin:0 0 6px}.inspiration-footer .small{margin:0 0 12px}.inspiration-footer .row{justify-content:flex-start}.footer-note{color:var(--muted);font-size:.75rem;text-align:center;margin-top:26px}.bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;max-width:1120px;margin:0 auto;padding:9px 8px calc(9px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);border-radius:0;box-shadow:0 -5px 18px #182e3b06;backdrop-filter:none}.nav-item{min-width:0;min-height:58px;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:0 2px;font-size:.67rem;line-height:1.4;border-radius:12px;color:var(--muted);overflow-wrap:anywhere}.nav-item.active,.nav-item.active:not(.nav-create){color:var(--ink);background:transparent;font-weight:750}.nav-symbol{display:flex;align-items:center;justify-content:center;padding:4px 18px;border-radius:24px;min-height:32px;max-width:100%}.nav-item.active .nav-symbol{background:var(--light)}.nav-item svg{width:23px!important;height:23px!important;background:none;border-radius:0;padding:0;color:inherit}.panel{padding:24px;border-radius:16px;box-shadow:var(--shadow);background:var(--paper);border-color:var(--line)}.panel h2{font-size:1.14rem;line-height:1.4;margin-bottom:16px}.recipe-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 -10px 20px}.recipe-topbar .btn{font-size:.82rem}.recipe-header{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;align-items:center;margin-bottom:24px}.recipe-header-art{min-width:0}.recipe-header .detail-cover{height:200px;border-radius:16px}.recipe-header .jacket-initial,.recipe-header .cover-label,.recipe-header .jacket-rule{display:none}.recipe-header .jacket-emblem svg{width:50px;height:50px}.recipe-header-copy{min-width:0}.recipe-header h1{font-size:2.1rem;line-height:1.18;margin:0 0 12px}.recipe-intro{font-size:.9rem;color:var(--muted);line-height:1.6;margin:0 0 14px}.recipe-facts{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:.8rem}.recipe-facts span{display:flex;align-items:center;gap:6px;min-width:0;overflow-wrap:anywhere}.recipe-facts svg{width:17px;height:17px}.selected-version{display:flex;flex-direction:column;gap:3px;padding:12px 0 0;margin:0;font-size:.86rem;line-height:1.5}.selected-version .small{font-size:.76rem}.selected-version strong{overflow-wrap:anywhere}.detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 20px}.detail-actions .btn,.detail-actions [data-action=cook]{min-height:52px;font-size:.88rem;flex-basis:auto}.recipe-versions{margin-bottom:24px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.recipe-versions>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;gap:12px;cursor:pointer;padding:14px 18px;font-size:.88rem}.recipe-versions>summary::-webkit-details-marker{display:none}.recipe-versions>summary>span:first-child{display:flex;align-items:center;gap:10px}.recipe-versions>summary svg{width:20px;height:20px}.recipe-versions .variant-panel{border:0;box-shadow:none;padding:8px 20px 20px}.recipe-content-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);gap:22px;align-items:start;margin-bottom:22px}.ingredients-panel,.method-panel{min-width:0}.ingredients-panel h2,.method-panel h2{margin:0}.ingredients-panel .section-label{align-items:flex-start;gap:12px}.yield-control{border-radius:12px;background:var(--light);padding:8px 10px;gap:12px;margin:18px 0 8px}.yield-control label{font-size:.84rem;min-width:0}.yield-unit{display:block;font-size:.72rem}.yield-control .gap{gap:2px;flex-shrink:0}.yield-control input{width:58px;min-height:48px;padding:8px 4px;background:var(--paper);color:var(--ink);border-color:var(--line);font-size:1rem}.ingredient{gap:12px;min-height:52px;padding:16px 0;font-size:.91rem;line-height:1.55}.ingredient input{width:22px;height:22px;margin-top:2px;accent-color:var(--green)}.ingredient-text{min-width:0}.amount{font-weight:650}.substitution{display:block;font-size:.79rem;line-height:1.6;color:var(--muted);margin-top:5px;font-weight:400}.step{font-size:.93rem;line-height:1.7;margin:20px 0;gap:14px}.step>div{min-width:0;overflow-wrap:anywhere}.step-number{width:30px;min-width:30px;height:30px;background:var(--light);color:var(--ink);font-size:.8rem}.scaling-note{margin-top:10px}.scaling-note summary{padding:12px 0;font-size:.78rem;color:var(--muted);cursor:pointer}.scaling-note p{font-size:.78rem}.recipe-notes{margin-bottom:20px}.recipe-notes .notes{font-size:.9rem;line-height:1.75}.recipe-notes .row{gap:12px}.rating-panel{display:block;margin-bottom:20px;background:var(--paper)}.rating-panel h2{margin-bottom:6px}.rating-panel>p{margin-bottom:12px}.rating{flex-wrap:wrap;gap:4px;margin:12px 0 20px}.star{min-width:48px;min-height:48px;color:var(--muted);border-radius:10px}.star.selected{color:var(--orange)}.text-btn{min-height:48px;padding:8px;color:var(--muted)}.source-details summary{font-size:.86rem;padding:10px 0;cursor:pointer}.source-details p{max-width:75ch}.recipe-tool-grid{display:grid;gap:10px;margin:20px 0}.field{font-size:.82rem;line-height:1.5}.field input,.field textarea,.field select{font-size:.92rem;border-radius:12px;min-width:0;line-height:1.5;color:var(--ink);background:var(--paper);border-color:var(--line)}.maker-panel{margin-bottom:20px}.maker-panel>.field{margin-bottom:18px}.maker-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.maker-actions>.primary{width:100%;min-height:54px;font-size:.94rem}.maker-panel textarea{min-height:124px}.creator-connection-note{margin:10px 0 0;font-size:.78rem}.alternative-creators{border-top:1px solid var(--line);margin-top:18px;padding-top:5px}.alternative-creators summary{display:flex;align-items:center;cursor:pointer;font-size:.86rem;font-weight:600;list-style:revert}.alternative-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 16px}.creator-explainer{margin:0;font-size:.78rem}.manual-create{margin-bottom:20px;display:flex;gap:20px;justify-content:space-between;align-items:center}.manual-create>div:first-child>svg{display:none}.manual-create h2{margin-bottom:6px}.manual-create p{margin:0}.manual-create .row{justify-content:flex-start}.form-grid{gap:16px}.form-grid>*{min-width:0}.focus-shell{max-width:900px;padding-bottom:40px}.focus-shell .header{margin-bottom:22px}.cook{max-width:740px;margin:0 auto}.cook .eyebrow{line-height:1.7;margin-top:22px!important;font-size:.75rem}.cook h1{font-size:2.1rem}.cook .row{flex-wrap:wrap;gap:12px}.cook-step{font-family:Georgia,serif;font-size:1.65rem;line-height:1.55;margin:30px 0 34px;overflow-wrap:anywhere}.cook-navigation{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:26px}.cook-navigation .btn{height:100%;min-height:52px}.progress{height:6px;margin:16px 0 0;background:var(--light);border-radius:8px;overflow:hidden}.progress span{background:var(--green)}.cook .panel{margin:18px 0}.cook details summary{display:flex;align-items:center;cursor:pointer}.timer-display{font-variant-numeric:tabular-nums;font-size:2.2rem;color:var(--ink)}.timer-row{flex-wrap:wrap;gap:10px}.timer-row input{color:var(--ink);background:var(--paper);border-color:var(--line);border-radius:10px}.timer-row label{max-width:120px}.timer-row .btn{flex:1;min-width:80px}.cook .panel .small{font-size:.78rem}.shopping-progress{margin:-4px 0 22px;display:grid;gap:7px}.shopping-progress progress{width:100%;height:7px;accent-color:var(--green);border:0;border-radius:8px;background:var(--light);appearance:none}.shopping-progress progress::-webkit-progress-bar{background:var(--light);border-radius:8px}.shopping-progress progress::-webkit-progress-value{background:var(--green);border-radius:8px}.shopping-progress .small{font-size:.78rem}.list-item{gap:14px;min-height:60px;font-size:.9rem}.list-item input{flex-shrink:0;margin:0 2px}.item-name{font-size:.94rem}.batch{font-size:.85rem;padding:12px 16px}.batch .icon-btn{width:48px;height:48px}.professional-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.backup-priority{grid-column:1/-1;display:flex;gap:18px;background:var(--light)}.backup-symbol{width:44px;min-width:44px;height:44px;background:var(--paper);border-radius:12px;display:grid;place-items:center}.backup-priority h2{margin-bottom:7px}.professional-settings .btn{margin-top:0;width:auto}.backup-priority .row{justify-content:flex-start;gap:10px}.backup-footnote{font-size:.76rem!important;margin:12px 0 0}.appearance-panel{grid-column:1/-1}.appearance-panel .small{font-size:.8rem;margin:14px 0 0}.settings-section{padding:0;align-self:start}.settings-section summary{display:flex;justify-content:space-between;align-items:center;list-style:none;gap:10px;padding:20px;cursor:pointer}.settings-section summary::-webkit-details-marker{display:none}.settings-section summary strong{display:block;font-size:.97rem;line-height:1.45}.settings-section summary .small{display:block;font-size:.77rem;font-weight:400;margin-top:5px}.settings-section summary svg{width:18px;height:18px;color:var(--muted);transition:transform .15s}.settings-section[open] summary svg{transform:rotate(90deg)}.section-content{padding:0 20px 20px}.settings-actions{display:grid;gap:10px;margin:10px 0 14px}.professional-settings .settings-actions .btn{width:100%}.section-content .small{font-size:.8rem}.professional-settings h2{font-size:1.17rem}.professional-settings p{font-size:.84rem}.settings-section:not([open]) .section-content{display:none}dialog{border:1px solid var(--line);border-radius:20px;padding:24px;background:var(--paper);color:var(--ink);max-height:calc(100dvh - 32px);width:calc(100% - 32px);max-width:600px;overflow:auto;overscroll-behavior:contain}dialog::backdrop{background:#091c2db8}dialog h2{font-size:1.35rem;line-height:1.3;padding-right:0}dialog .btn{margin:5px 0}dialog summary{padding:10px 0;cursor:pointer}dialog input,dialog textarea,dialog select{color:var(--ink);background:var(--paper);border-color:var(--line)}.error,.inline-error{color:var(--danger)}.error{background:var(--soft);border-color:var(--line)}.tip{background:var(--light)}.current-version{background:var(--light);color:var(--ink)}.version-heading{gap:10px;flex-wrap:wrap}.variant-panel .current-version{overflow-wrap:anywhere}.variant-note{color:var(--muted)}.editor-row{grid-template-columns:75px 85px minmax(0,1fr) 48px}.editor-step{grid-template-columns:30px minmax(0,1fr) 48px}.sticky-save{bottom:0;background:var(--bg);padding:16px 0}.editor-row .icon-btn,.editor-step .icon-btn{width:48px;min-width:48px}.ingredient:has(input:checked) .ingredient-text{opacity:.75}.notes,.substitution,.source-note{overflow-wrap:anywhere}.rating .star:hover{background:var(--light)}.added-settings{margin-top:0}.scroll-focus{scroll-margin-bottom:calc(var(--nav-height) + 24px)}:root[data-cooking-text=large] .cook-step{font-size:2.15rem;line-height:1.6}:root[data-theme=dark] .nav-symbol{color:var(--ink)}:root[data-theme=dark] .error{background:#3b2a28}:root[data-theme=dark] .brand-mark{background:#1f2e3d}
@media(max-width:760px){.shell{padding:20px 18px calc(var(--nav-height) + 24px)}.header{margin-bottom:24px}.library-grid{grid-template-columns:1fr}.recipe-header{grid-template-columns:1fr;gap:0}.recipe-header-art{display:none}.recipe-header h1{font-size:2rem}.recipe-content-grid{grid-template-columns:1fr;gap:18px}.recipe-topbar{margin-bottom:16px}.professional-settings{grid-template-columns:1fr}.professional-settings .panel{grid-column:auto}.manual-create{display:block}.manual-create .row{margin-top:16px}.focus-shell{padding-bottom:32px}.card .cover{width:98px;min-height:162px}.card-main{grid-template-columns:98px minmax(0,1fr);min-height:162px}.card-copy{padding:15px 16px}.panel{padding:20px}.settings-section{padding:0}.settings-section summary{padding:19px}.section-content{padding:0 19px 19px}.backup-priority{display:block}.backup-symbol{margin-bottom:14px}.backup-priority .row{display:grid;grid-template-columns:1fr}.backup-priority .btn{width:100%}.recipe-versions .variant-panel{padding:8px 16px 18px}.recipe-versions>summary{padding:14px 16px}.bottom-nav{width:100%}.nav-symbol{padding:4px 16px}.card h3{font-size:1.16rem}.page-title h1,.library-heading h1{font-size:2rem}}
@media(max-width:420px){.shell{padding-left:16px;padding-right:16px}.header-status{font-size:.66rem;gap:4px}.header-status svg{width:14px;height:14px}.brand{font-size:1.23rem}.brand-mark{width:36px;height:36px;min-width:36px}.library-heading{margin-bottom:19px}.library-heading .small{font-size:.79rem}.quick-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.quick-paths .btn{font-size:.79rem;padding:10px 8px}.quick-paths svg{display:block;width:17px;height:17px}.search input{font-size:.85rem}.library-toolbar{gap:10px;margin-bottom:8px}.shelf-controls{flex-basis:155px}.shelf-controls select{font-size:.76rem;padding-left:10px}.library-filters summary{font-size:.77rem}.card-main{grid-template-columns:85px minmax(0,1fr);min-height:158px}.card .cover{width:85px;min-height:158px}.card-copy{padding:14px 13px}.recipe-jacket .jacket-emblem{padding:10px}.recipe-jacket .jacket-emblem svg{width:26px;height:26px}.card h3{font-size:1.11rem}.card .meta{gap:8px;font-size:.7rem}.card .variation-count{font-size:.65rem}.card-fav{right:0;top:0}.card-eyebrow{padding-right:32px;gap:4px}.inspiration-footer{padding:18px 16px;gap:10px}.inspiration-mark{display:none}.inspiration-footer .row{display:grid;grid-template-columns:1fr}.inspiration-footer .btn{width:100%}.nav-item{font-size:.64rem}.nav-symbol{padding:4px 12px}.recipe-topbar{gap:8px}.recipe-topbar .btn{padding:10px 8px;font-size:.77rem}.detail-actions{gap:10px}.detail-actions .btn{font-size:.82rem;padding:12px 10px}.recipe-versions>summary{font-size:.83rem}.recipe-versions>summary>span:first-child{gap:8px}.yield-control{flex-wrap:wrap}.yield-control .gap{margin-left:auto}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.alternative-actions{grid-template-columns:1fr}.panel{padding:18px}.settings-section{padding:0}.ingredients-panel .section-label{flex-wrap:wrap}.recipe-header h1{font-size:1.8rem}.recipe-intro{font-size:.87rem}.recipe-header .recipe-facts{font-size:.77rem}.cook-step{font-size:1.45rem}.cook-navigation{gap:10px}.cook-navigation .btn{font-size:.8rem;padding:12px 9px}.recipe-notes .row{flex-wrap:wrap}.recipe-notes .notes{font-size:.86rem}.star{min-width:44px;min-height:48px;width:44px}.rating{gap:3px}.rating .text-btn{margin-left:0}.method-panel .step{font-size:.9rem}.editor-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 48px}.editor-row input[aria-label*=Ingredient]{grid-column:1/3}.editor-step{grid-template-columns:28px minmax(0,1fr) 48px}dialog{padding:20px 18px;width:calc(100% - 24px);max-height:calc(100dvh - 24px)}:root[data-cooking-text=large] .cook-step{font-size:1.95rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Reserve a complete tap target above every recipe title, including long names. */
.card-eyebrow{min-height:36px}.star{min-width:48px;min-height:48px;width:48px}
/* Scaling can make form/toolbar labels wider: let them wrap, never crop them. */
.library-toolbar .shelf-controls{max-width:100%}.recipe-facts span{max-width:100%}.cook-navigation .btn{min-width:0}
/* The legacy narrow editor used a 30px grid column. Keep the actual 48px
   remove button inside that track, with quantity and unit on one row. */
@media(max-width:600px){
 .editor-row:not(.editor-step){grid-template-columns:minmax(0,1fr) minmax(0,1fr) 48px}
 .editor-row:not(.editor-step)>input[data-qty]{grid-column:1;grid-row:1}
 .editor-row:not(.editor-step)>input[data-unit]{grid-column:2;grid-row:1}
 .editor-row:not(.editor-step)>input[data-name]{grid-column:1/3;grid-row:2}
 .editor-row:not(.editor-step)>.icon-btn{grid-column:3;grid-row:1/3}
}
.sub-editor input{border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--paper);color:var(--ink);font:inherit;min-height:48px}

/* Approved culinary palette; --green is a legacy variable name, not a green color.
   Contrast uses a deeper terracotta for small white-label buttons. */
.brand-word{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.045em;font-weight:600}
.brand-mark{border:1px solid #1f2e3d14;box-shadow:0 2px 6px #1f2e3d0c}
.brand-logo{object-fit:cover}
.btn.primary,.chip.active{color:var(--on-primary)}
:root[data-theme=dark] .btn.primary,:root[data-theme=dark] .chip.active{color:var(--on-primary)}
.nav-item.active .nav-symbol{background:var(--light);color:var(--green)}
:root[data-theme=dark] .nav-item.active .nav-symbol{color:var(--green)}
.eyebrow{color:var(--green)}
input[type=checkbox]{accent-color:var(--green)}
::selection{background:var(--light);color:var(--ink)}
