:root{--ink:#293d30;--green:#314f3b;--cream:#f7f5ef;--line:#dddcd2;--muted:#777d73;--orange:#b36d44}[hidden]{display:none!important}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button{border:1px solid var(--line);border-radius:9px;padding:10px 16px;background:white;color:var(--ink)}button:hover{filter:brightness(.96)}.primary{background:var(--green);color:white;border-color:var(--green)}.shell{max-width:1600px;margin:auto;display:grid;grid-template-columns:250px 1fr;min-height:100vh}aside{padding:44px 28px;border-right:1px solid var(--line);position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{font-family:Georgia,serif;font-size:25px;line-height:1.12;text-decoration:none}.brand em{font-weight:normal}.brand-icon{float:left;font-size:46px;margin-right:12px}.small-label,.breadcrumb{font-size:10px;letter-spacing:2px;color:var(--muted)}.small-label{margin:30px 0 22px}nav{display:grid;gap:10px}nav a{padding:12px 10px;display:flex;gap:12px;text-decoration:none;border-radius:8px;color:#697164;font-size:13px}nav a.active{background:#e5eadd;color:var(--green);font-weight:600}nav b{margin-left:auto;font-size:10px;background:#d0dbc6;padding:0 5px;border-radius:4px}.aside-bottom{margin-top:auto}.aside-bottom p{font-family:Georgia,serif;font-style:italic;color:#828773;font-size:21px;line-height:1.5}.aside-bottom a{font-size:11px;text-decoration:none}main{padding:28px 48px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}h1,h2,h3{font-family:Georgia,serif;font-weight:normal;line-height:1.15}h1{font-size:47px;letter-spacing:-1.4px;margin:12px 0 15px}h2{font-size:27px}h3{font-size:23px;margin:10px 0}.muted{color:var(--muted)}.intro{max-width:550px;margin-bottom:30px}.hero{display:grid;grid-template-columns:1.3fr 1fr;background:#e8ecdf;border-radius:16px;overflow:hidden;min-height:250px;margin-bottom:32px}.hero-copy{padding:32px}.hero-copy h2{font-size:32px;margin:10px 0}.hero-art{background:#d7dec9;display:grid;place-items:center;position:relative;overflow:hidden}.plate{width:185px;height:185px;background:#f7f5e9;border-radius:50%;box-shadow:0 10px 25px #68704a33,inset 0 0 0 15px #eeeedc;display:grid;place-items:center;font-size:94px;transform:rotate(-12deg)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.9px;color:#63734e}.toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}input,select,textarea{border:1px solid var(--line);background:#fffef9;padding:11px 13px;border-radius:8px;color:var(--ink);max-width:100%}input[type=search]{flex:1;min-width:200px}input:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid #7e996c;outline-offset:2px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.count{font-size:12px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:#fffef9;border:1px solid var(--line);border-radius:13px;overflow:hidden;text-align:left;padding:0;display:block;color:inherit;width:100%}.card-art{height:150px;display:grid;place-items:center;background:#e9e5d7;font-size:65px}.card-art img{width:100%;height:100%;object-fit:cover}.card-body{padding:20px}.card h3{font-size:21px}.tag{font-size:10px;letter-spacing:.5px;text-transform:uppercase;display:inline-block;color:#7f6746;background:#f2e9d8;border-radius:4px;padding:3px 7px}.meta{font-size:12px;color:var(--muted);margin-top:14px}.empty{padding:45px 22px;text-align:center;border:1px dashed #c6caba;border-radius:12px;background:#fffdf6}.empty h3{font-size:26px}.empty p{max-width:430px;margin:12px auto 22px}.empty-icon{font-size:40px}.review-row{background:#fffef9;border:1px solid var(--line);border-radius:10px;padding:18px 20px;display:flex;align-items:center;gap:16px;margin:10px 0}.review-row h3{font-size:20px;margin:0 0 6px}.review-row .actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.review-row .avatar{border-radius:50%;background:#e7ebde;width:42px;height:42px;display:grid;place-items:center;flex-shrink:0}.small{font-size:12px}.notice{border-left:3px solid #ad8052;background:#f2eadc;padding:14px 18px;margin:22px 0;color:#776044;font-size:13px}footer{border-top:1px solid var(--line);margin-top:55px;padding:20px 0;color:#94978a;font-size:11px}footer span{float:right;font-family:Georgia,serif}dialog{border:0;border-radius:16px;padding:30px;max-width:760px;width:calc(100% - 28px);max-height:90vh;overflow:auto;background:var(--cream);color:var(--ink)}dialog::backdrop{background:#142a2399;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-top h2{margin:0}.close{padding:7px 12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}label{display:grid;gap:6px;font-size:12px;font-weight:600}label.full{grid-column:1/-1}textarea{resize:vertical;min-height:110px}.detail-columns{display:grid;grid-template-columns:1fr 1.4fr;gap:30px;margin-top:28px}.ingredient{display:flex;gap:9px;margin:12px 0;align-items:start;font-size:14px;font-weight:normal}.ingredient:has(input:checked){text-decoration:line-through;opacity:.5}ol{padding-left:22px}li{padding-left:7px;margin-bottom:17px}.detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.note{background:#ebeede;padding:15px;border-radius:8px;margin:12px 0}.attachments{display:flex;gap:12px;flex-wrap:wrap}.attachment{display:block}.attachment img{width:110px;height:110px;object-fit:cover;border-radius:8px}.cook-step{font-family:Georgia,serif;font-size:30px;line-height:1.5;padding:35px 0;min-height:200px}.error{color:#a0342a}.fridge-box{padding:22px;background:#e8ecdf;border-radius:12px}.fridge-box input{width:100%;margin:10px 0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:12px 22px;border-radius:10px;display:none;z-index:10}.text-link{background:none;border:0;padding:0;text-decoration:underline}.detail-hero{height:180px;width:100%;object-fit:cover;border-radius:10px} @media(max-width:1100px){main{padding:25px}.grid{grid-template-columns:repeat(2,1fr)}.shell{grid-template-columns:210px 1fr}aside{padding:35px 20px}}@media(max-width:700px){.shell{display:block}aside{position:static;height:auto;padding:18px 20px;border:0}.brand{font-size:20px}.brand br{display:none}.brand-icon{font-size:30px}.small-label,.aside-bottom{display:none}nav{display:flex;overflow:auto;margin-top:20px;gap:5px}nav a{white-space:nowrap;padding:8px;font-size:11px;gap:5px}nav b{display:none}main{padding:10px 20px}header{margin-bottom:25px}.breadcrumb{font-size:9px}h1{font-size:37px}.hero{grid-template-columns:1.5fr 1fr;min-height:210px}.hero-copy{padding:22px}.hero-copy h2{font-size:25px}.plate{height:120px;width:120px;font-size:62px}.grid{gap:12px}.card-body{padding:14px}.card h3{font-size:19px}.card-art{height:120px}.review-row{flex-wrap:wrap}.review-row .actions{width:100%;margin-left:58px}.detail-columns,.form-grid{grid-template-columns:1fr}label.full{grid-column:auto}dialog{padding:22px}.toolbar select{flex:1}.section-heading h2{font-size:24px}footer span{display:none}}

@media(max-width:700px){nav{display:grid;grid-template-columns:1fr 1fr;overflow:visible}nav a{font-size:12px}.brand em:before{content:" "}}

.form-grid>.full{grid-column:1/-1}.media-picker{background:#e8ecdf;border:1px dashed #a9b79b;border-radius:12px;padding:18px}.media-picker h3{margin-top:0}.media-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px}.media-inputs input{font-size:11px;width:100%;padding:10px 6px}.media-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.media-preview{background:#fffef9;border:1px solid var(--line);padding:8px;border-radius:9px;min-width:0}.media-preview img,.pdf-preview{width:100%;height:100px;object-fit:cover;border-radius:5px}.pdf-preview{display:grid;place-items:center;background:#eee9df;font:24px Georgia,serif}.file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cover-choice{display:flex;align-items:center;gap:5px;font-size:11px;margin:6px 0}.cover-choice input{margin:0}.remove-media{padding:3px 8px;font-size:11px;margin-top:6px}.source-panel{background:#ecefe3;border:1px solid #d7dec9;padding:18px;border-radius:12px;margin:20px 0}.source-panel summary{cursor:pointer;font-size:13px;font-weight:600}.source-panel details{padding:10px 0;border-top:1px solid #d1d8c7}.source-text{font-size:13px;white-space:pre-wrap}.source-panel .notice{margin:10px 0}.source-panel li{margin-bottom:5px}.attachment-item{max-width:150px}.attachment-item button{font-size:11px;padding:5px 9px;margin-top:8px}@media(max-width:700px){.media-inputs{grid-template-columns:1fr}.media-previews{grid-template-columns:1fr 1fr}}

.tech-term{font:inherit;color:#42684a;border:0;border-bottom:1px dotted #42684a;background:none;padding:0 1px;border-radius:0;text-align:left;display:inline;cursor:help;line-height:inherit}.tech-term:hover,.tech-term:focus-visible{background:#dce8cf;filter:none;outline:2px solid #92aa7a;outline-offset:2px}.tech-popover{position:fixed;z-index:1000;background:#fffdf5;border:1px solid #bac9aa;box-shadow:0 12px 35px #223a2a40;border-radius:12px;padding:19px 20px;color:var(--ink);font:13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;max-height:calc(100vh - 24px);overflow:auto}.tech-popover h3{font-size:24px;margin:7px 25px 10px 0}.tech-popover .eyebrow{font-size:9px}.tech-popover ol{padding-left:18px;margin:12px 0}.tech-popover li{margin:0 0 7px;padding-left:0}.tech-popover a{display:block;font-size:11px;margin-top:12px;text-decoration:underline}.tech-popover .tech-close{position:absolute;right:9px;top:9px;border:0;background:transparent;padding:3px 7px}.book-tech-link{color:var(--muted)}.more-button{display:block;margin:25px auto}.book-source{background:#ede8db;padding:20px;border-radius:12px;margin:20px 0}.book-source pre,.source-page-text{font:13px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}.source-page-text{background:#fffef9;padding:20px;border:1px solid var(--line);border-radius:10px;max-height:65vh;overflow:auto}.learn-search{width:100%}.technique-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.technique-card{background:#fffef9;border:1px solid var(--line);border-radius:10px;padding:18px}.technique-card h3{font-size:22px}.technique-card p{font-size:13px}.technique-card>a{font-size:12px}.book-chapters{display:flex;flex-wrap:wrap;gap:8px}.chapter-button{font-size:12px}.book-tab-bar{display:flex;gap:8px;margin-bottom:20px}.book-tab-bar .active{background:var(--green);color:white}.source-hit{background:#fffef9;border:1px solid var(--line);border-radius:10px;padding:15px;margin:10px 0}.source-hit p{font-size:12px;color:var(--muted)}.draft-ocr{white-space:pre-wrap;font-size:13px}.book-source ul{margin-bottom:12px}.book-source .small a{margin-right:12px}.source-mode-badge{font-size:11px;color:#946737}.book-quick-actions{display:flex;gap:8px;flex-wrap:wrap}.book-page-nav{display:flex;gap:10px;align-items:center;margin:12px 0}.book-page-nav input{width:80px}@media(max-width:700px){.technique-grid{grid-template-columns:1fr}.tech-popover{font-size:13px}.cook-step .tech-term{font-size:inherit}.book-tab-bar{flex-wrap:wrap}}

.needs-panel{margin:22px 0;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#fffdf8}
.needs-panel h2{margin:0 0 10px;font-size:20px}
.needs-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.needs-list li{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:8px 10px;border-radius:10px;background:var(--cream)}
.needs-list li em{font-style:normal;font-size:12px;color:var(--muted)}
.need-owned{border-left:3px solid var(--green)}
.need-missing{border-left:3px solid var(--orange)}
.dont-have-hint,.disclosure{margin:12px 0 0}
.disclosure{padding:10px 12px;border-radius:10px;background:#f3efe6;color:var(--muted)}
.kitchen-form{display:grid;gap:22px;margin-top:18px}
.kitchen-group h3{margin:0 0 10px;font-size:18px}
.kitchen-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.sponsor-admin{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}
.sponsor-admin code{font-size:12px;background:#efebe3;padding:2px 6px;border-radius:6px}
@media(max-width:720px){.needs-list li{flex-direction:column;gap:2px}}

.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.15}
.brand-logo{width:54px;height:54px;border-radius:50%;object-fit:cover;box-shadow:0 2px 8px rgba(41,61,48,.18);background:#314f3b;flex:0 0 auto}
.brand-text{font-size:26px;font-weight:700;letter-spacing:.02em}
.brand-text,.brand{color:var(--ink)}
.import-url-box{margin:0 0 18px;padding:14px 16px;border:1px dashed var(--line);border-radius:12px;background:#fffdf8}
.import-url-box h3{margin:0 0 6px;font-size:16px}
.import-url-row{display:flex;gap:8px;flex-wrap:wrap}
.import-url-row input{flex:1;min-width:180px}
.recipe-card-view .detail-hero{max-height:280px;object-fit:cover;width:100%;border-radius:14px}
.source-watch{display:inline-flex;align-items:center;gap:6px;margin-top:8px}

.header-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto}
header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.units-toggle{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff;padding:2px}
.units-toggle button{border:0;border-radius:999px;padding:7px 12px;background:transparent;color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.02em}
.units-toggle button.active{background:var(--green);color:#fff}
.units-toggle button:hover{filter:none;color:var(--ink)}
.units-toggle button.active:hover{color:#fff}
.units-chip{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 10px}
.units-hint{margin:0 0 10px;color:var(--muted);font-size:12px}
.ingredient span[title],.converted-line[title]{cursor:help}
@media(max-width:720px){.header-tools{width:100%;justify-content:space-between}}

.yield-estimated{color:var(--ink)}
.yield-estimated::after{content:'';}
.meta .yield-estimated,.muted .yield-estimated{font-style:normal}

.recipe-headnote{margin:12px 0 4px;padding:12px 14px;border-left:3px solid var(--green);background:#fffdf8;border-radius:0 12px 12px 0;font-style:italic;color:var(--ink)}
.book-source .tag{margin-bottom:6px}
.book-source .notice{display:none}

.tech-popover a.tech-video-link{display:inline-block;margin-top:10px;margin-right:10px;font-weight:600;color:var(--green)}
.tech-popover a{display:inline-block;margin-top:8px;margin-right:10px}

.need-preferred{display:inline-block;margin-left:8px;font-size:10px;letter-spacing:.4px;text-transform:uppercase;background:#e5eadd;color:var(--green);border-radius:4px;padding:2px 6px;vertical-align:middle}
.needs-list li.is-preferred{background:#f3f6ee}
.need-main{display:grid;gap:2px;min-width:0}
.need-name{font-weight:600}
.need-alt{font-size:12px;color:var(--muted)}
.kitchen-group + .kitchen-group{margin-top:4px}

.card{position:relative;cursor:pointer}
.card:focus-visible{outline:2px solid #7e996c;outline-offset:2px}
.card-fav{position:absolute;top:10px;right:10px;z-index:2;width:40px;height:40px;padding:0;border-radius:999px;border:1px solid var(--line);background:#fffef9cc;backdrop-filter:blur(4px);font-size:20px;line-height:1;display:grid;place-items:center;color:#9a6b4a}
.card-fav.is-fav{color:#b0362c;border-color:#e2b6b0;background:#fff5f3}
.card-fav:hover{filter:brightness(.97)}
button.danger,.danger{background:#a0342a;color:#fff;border-color:#a0342a}
button.danger:hover{filter:brightness(1.05)}
.admin-list{display:grid;gap:10px;margin-top:12px}
.admin-row{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;background:#fffef9;border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.admin-main{min-width:0;flex:1}
.admin-main h3{margin:0 0 6px;font-size:20px}
.admin-source{overflow-wrap:anywhere;margin-top:6px}
.admin-actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}
@media(max-width:700px){.admin-row{flex-direction:column}.admin-actions{width:100%}}

.ai-settings-box{margin:18px 0 28px;padding:18px 18px 14px;border:1px solid var(--line);border-radius:12px;background:#fffef9}
.ai-settings-box h2{margin:0 0 8px;font-size:24px}
.ai-settings-grid{margin:12px 0 0}
.detail-hero{height:auto;max-height:360px;width:100%;object-fit:cover;border-radius:14px}
.step-with-photo{display:grid;gap:8px}
.step-photo{display:block;width:100%;max-height:230px;object-fit:cover;border-radius:10px;margin-top:8px}
.cook-step .step-photo{max-height:380px;margin:0 0 18px}

.inferred-detail{display:block;padding:5px 8px;margin:5px 0;background:#fff4d6;color:#624c1e;border-radius:6px;font-size:12px}.inferred-detail.amount-unspecified,.inferred-detail.is-approximate{background:transparent;color:inherit;opacity:.78;padding:0;margin:2px 0 0}.photo-review-actions{display:flex;gap:8px;flex-wrap:wrap}

.card-share{position:absolute;top:10px;right:56px;z-index:2;width:40px;height:40px;padding:0;border-radius:999px;border:1px solid var(--line);background:#fffef9cc;backdrop-filter:blur(4px);color:#9a6b4a;display:grid;place-items:center}
.card-share:hover{filter:brightness(.97)}
.share-wrap{position:relative}
.share-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:6;min-width:250px;background:#fffef9;border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 12px 32px #0000001f;display:flex;flex-direction:column;gap:2px}
.share-menu button,.share-menu a{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:8px;padding:10px 12px;color:inherit;text-decoration:none;font:inherit;cursor:pointer}
.share-menu button:hover,.share-menu a:hover{background:#ebeede;filter:none}
.share-draft-note{margin:6px 10px 8px}
.share-page{margin:0;background:var(--cream,#fff6e8);color:var(--ink,#243528);min-height:100vh}
.share-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;background:var(--header-bg,var(--green,#2f4c38));border-bottom:3px solid var(--accent-2,#e3a512)}
.share-top .brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.share-top .brand-logo{width:42px;height:42px;border-radius:10px;object-fit:cover}
.share-main{max-width:880px;margin:0 auto;padding:28px 22px 70px}
.share-ings{padding-left:1.1em}
.share-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}

/* Display-only servings scaler, available to every recipe viewer. */
.servings-control{display:flex;align-items:center;gap:4px;flex-wrap:wrap;color:var(--green);max-width:100%}
.servings-control label{margin-right:5px;font-size:12px;font-weight:600}
.servings-control button{min-width:40px;min-height:40px;padding:7px 10px;border-radius:999px;color:var(--green)}
.servings-control input{width:60px;min-height:40px;text-align:center;padding:7px 3px;border-radius:9px;border-color:#bac9aa}
.servings-control button:disabled{opacity:.4;cursor:default}
.servings-control .servings-reset{font-size:12px}
.servings-note{line-height:1.5;margin:0 0 12px}
.cook-ingredients{background:#ebeede;border-radius:10px;padding:12px 16px;margin-top:16px}
.cook-ingredients summary{cursor:pointer;color:var(--green);font-weight:600;min-height:40px;display:list-item}
@media(max-width:700px){.servings-control{width:100%}.servings-control label{flex-basis:100%}}

/* General nutrition estimates, part of the public recipe detail. */
.nutrition-card{margin:26px 0;padding:20px;border:1px solid #bac9aa;border-radius:14px;background:#f3f6ee;color:var(--ink)}
.nutrition-heading{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap}
.nutrition-heading h2{margin:0;color:var(--green)}
.nutrition-serving{margin:10px 0 18px;line-height:1.5}
.nutrition-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}
.nutrition-grid>div{padding:12px;background:#fffef9;border-radius:10px}
.nutrition-grid dt{font-size:12px;color:var(--muted);line-height:1.4}
.nutrition-grid dd{font-size:18px;font-weight:600;color:var(--green);margin:5px 0 0;overflow-wrap:anywhere}
.nutrition-card p{line-height:1.6}
.nutrition-card p:last-child{margin-bottom:0}
.nutrition-incomplete{color:#624c1e}
@media(max-width:600px){.nutrition-card{padding:16px}.nutrition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Title plate on recipe-box photos so names stay readable. */
.card-art{position:relative}
.card-title{position:absolute;left:8px;right:8px;bottom:8px;z-index:1;margin:0;padding:7px 10px;border-radius:8px;background:#fffef9;color:var(--ink);font-size:17px;font-weight:700;line-height:1.25;border:1px solid rgba(41,61,48,.14);box-shadow:0 2px 10px rgba(41,61,48,.22);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
@media(max-width:700px){.card-title{font-size:15px;padding:6px 9px}}

.analysis-notices{background:#fff8e8;border:1px solid #d7c8aa;border-radius:14px;padding:16px;margin:0 0 20px}.analysis-notices summary{font-weight:700;cursor:pointer}.analysis-job{display:flex;gap:12px;align-items:center;justify-content:space-between;border-top:1px solid #e5d9c2;margin-top:10px}.analysis-job p{flex:1}.analysis-job button{flex-shrink:0}#dialog-analysis-notices{margin-top:20px}@media(max-width:600px){.analysis-job{display:block}.analysis-job button{margin-bottom:12px}}

.book-import-summary{background:#fffaf0;border:1px solid #d7c8aa;border-radius:14px;padding:20px;margin:16px 0}.book-import-summary h3{overflow-wrap:anywhere}.book-import-summary .actions{display:flex;gap:12px;flex-wrap:wrap}#book-file{max-width:100%;margin:12px 0}

/* baQon kitchen reader — forest green, copper, and a quiet cream canvas. */
dialog.recipe-reader,dialog.kitchen-cook{max-width:1180px;padding:32px 40px;max-height:94vh;max-height:94dvh;overscroll-behavior:contain}
.recipe-reader .recipe-title{font-size:clamp(32px,4.5vw,54px);line-height:1.12;letter-spacing:-1.2px;max-width:950px;margin:22px 0 10px;overflow-wrap:anywhere}
.recipe-byline{margin:0 0 16px}.recipe-meta{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:14px;margin:0 0 22px}.recipe-meta>span{padding:5px 0}.recipe-meta strong{font-weight:650}
.recipe-reader .detail-hero{display:block;height:clamp(240px,35vw,420px);max-height:420px;object-fit:cover;border-radius:18px;margin-bottom:24px}
.recipe-reader .dialog-top,.kitchen-cook .dialog-top{min-height:44px}.dialog-top .close{min-height:44px;min-width:44px}
.recipe-reader .detail-columns{grid-template-columns:minmax(300px,.86fr) minmax(0,1.35fr);gap:32px;margin:24px 0 32px;align-items:start}
.recipe-reader .detail-columns>section{min-width:0;max-height:68vh;max-height:68dvh;overflow-y:auto;scrollbar-gutter:stable;scroll-padding-top:12px;padding:24px;border:1px solid var(--line);border-radius:16px;overscroll-behavior-y:auto}
.recipe-reader .reader-ingredients{background:#efeee5}.recipe-reader .reader-directions{background:#fffef9}
.recipe-reader .detail-columns h2{font-size:30px;margin:0 0 18px}.recipe-reader .units-chip{gap:16px}.recipe-reader .servings-control{width:100%}
.recipe-reader .ingredient,.kitchen-cook .ingredient{font-size:17px;line-height:1.65;padding:12px 0;margin:0;border-bottom:1px solid #293d3014;gap:12px}
.ingredient input[type=checkbox]{width:22px;height:22px;min-width:22px;margin:4px 0 0;accent-color:var(--green);cursor:pointer}.ingredient:has(input:checked){opacity:.62}.ingredient:has(input:checked) input{opacity:1}
.recipe-steps{list-style:none;counter-reset:none;margin:0;padding:0}.recipe-steps>li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;font-size:18px;line-height:1.85;padding:0 0 26px;margin:0 0 24px;border-bottom:1px solid var(--line)}
.step-number{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--green);color:white;font-size:15px;font-weight:700;margin-top:4px}.step-help-hint{margin:0 0 24px}
.ingredient-mention{display:inline;padding:0 1px;margin:0;background:transparent;border:0;border-radius:2px;border-bottom:1px solid #9b5f3d;color:#8c4e2c;font:inherit;line-height:inherit;text-align:inherit;cursor:pointer;text-decoration:none}
.ingredient-mention:hover,.ingredient-mention[aria-expanded=true]{background:#ead9c5;filter:none}.temperature-mention{color:var(--green);border-color:var(--green)}
.cooking-help{position:fixed;z-index:1010;background:#fffef9;border:1px solid #b99877;border-radius:14px;box-shadow:0 12px 40px #142a2333;padding:22px;color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;max-height:calc(100dvh - 24px);overflow:auto}
.cooking-help p{margin:14px 0}.cooking-help .eyebrow{display:block;padding-right:32px;color:#805132}.cooking-help small{font-size:12px;color:var(--muted)}.cooking-help-close{position:absolute;right:6px;top:6px;min-height:40px;min-width:40px;padding:6px;border:0;background:transparent}
.recipe-jump{display:none}
.grid .card-art{height:220px;overflow:hidden}.grid .card-art img{transition:transform .25s ease}.grid .card:hover .card-art img{transform:scale(1.025)}.grid .card-title{left:12px;right:12px;bottom:12px;padding:10px 12px;background:#fffef9f5;font-size:20px;line-height:1.25;box-shadow:0 3px 14px #142a2340}.grid .card-body{padding:16px 18px}.grid .card{border-radius:17px;box-shadow:0 3px 12px #293d3008}
.kitchen-cook{background:#fbfaf5}.kitchen-cook .cook-title{font-size:25px;margin:20px 0 18px}.cook-progress{display:flex;gap:22px;align-items:center;margin:0 0 24px;font-weight:650;color:var(--green)}.cook-progress progress{flex:1;max-width:420px;height:8px;accent-color:var(--green)}
.kitchen-cook .cook-step{font-family:Georgia,serif;font-size:clamp(28px,3.6vw,42px);line-height:1.7;padding:28px 0;min-height:230px;max-width:940px;margin:auto;overflow-wrap:anywhere}.kitchen-cook .step-photo{max-height:440px;object-fit:contain;background:#efeee5}
.cook-navigation{display:flex;justify-content:space-between;gap:16px;position:sticky;bottom:-32px;z-index:3;background:#fbfaf5f5;padding:16px 0;border-top:1px solid var(--line);backdrop-filter:blur(6px)}.cook-navigation button{min-height:58px;font-size:18px;padding:14px 24px}.cook-navigation button:disabled{opacity:.4}.kitchen-cook .cook-ingredients{margin-top:22px}.back-recipe{margin:20px 0 0}
@media(max-width:800px){
 dialog.recipe-reader,dialog.kitchen-cook{width:calc(100% - 16px);padding:18px;max-height:96vh;max-height:96dvh;border-radius:16px}
 .recipe-reader .detail-columns{grid-template-columns:1fr;gap:26px;margin-top:20px}.recipe-reader .detail-columns>section{max-height:none;overflow:visible;scrollbar-gutter:auto;padding:20px 18px;scroll-margin-top:84px}
 .recipe-reader .recipe-title{font-size:34px;letter-spacing:-.6px}.recipe-reader .detail-hero{height:260px;max-height:45vh;border-radius:12px}.recipe-meta{gap:6px 20px;font-size:13px}
 .recipe-jump{display:flex;position:sticky;top:-18px;z-index:5;padding:12px 0;gap:6px;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 6px 12px #293d300a}
 .recipe-jump button{flex:1;min-height:46px;border-radius:999px;font-size:15px;font-weight:650}.recipe-jump .active{background:var(--green);color:white;border-color:var(--green)}
 .recipe-steps>li{font-size:18px;grid-template-columns:30px minmax(0,1fr);gap:12px}.step-number{width:30px;height:30px}.recipe-reader .ingredient{font-size:16px}
 .grid .card-art{height:190px}.grid .card-title{left:8px;right:8px;bottom:8px;font-size:17px;padding:8px 10px}.grid .card-body{padding:12px}.card-share,.card-fav{top:8px}
 .cook-navigation{bottom:-18px;gap:10px}.cook-navigation button{font-size:16px;padding:12px 16px;min-height:56px}.kitchen-cook .cook-step{font-size:30px;line-height:1.65}.kitchen-cook .cook-title{font-size:23px}
}
@media(prefers-reduced-motion:reduce){.grid .card-art img{transition:none}}

/* baQon home — quiet cream, forest-green chrome, copper details. */
:root{--copper:#b77a55;--muted:#657063;--line:#dce0d5}
.shell{grid-template-columns:236px minmax(0,1fr)}
.shell>aside{background:#233e30;color:#f8f5eb;border-right:0;padding:32px 20px 22px;overflow-y:auto;scrollbar-width:thin}
.shell>aside .brand{color:#fff8eb;gap:12px;padding:0 8px}.brand-q{color:#d39a71}.shell>aside .brand-logo{width:48px;height:48px;box-shadow:0 0 0 1px #d39a7140}
.shell>aside .brand-text{color:#fff8eb;font-size:31px;letter-spacing:-1px}.shell>aside .small-label{color:#c0cbbd;font-size:9px;letter-spacing:1.4px;margin:22px 8px}
.shell>aside nav{gap:5px}.shell>aside nav a{min-height:44px;border:1px solid transparent;border-radius:12px;color:#d3ddd0;font-size:13px;padding:10px 12px;transition:background .15s ease}
.shell>aside nav a:hover{background:#ffffff0c;color:white}.shell>aside nav a.active{background:#ffffff13;border-color:#d39a714a;color:#fff7e9;box-shadow:inset 3px 0 var(--copper)}
.shell>aside nav b{background:#d39a7126;color:#f6d6bb}.shell>aside .aside-bottom{padding:22px 8px 0}.shell>aside .aside-bottom p{color:#becbbc;font-size:19px}.shell>aside .aside-bottom a{color:#d3ddd0}
.shell>main{min-width:0;padding:0 38px 24px}
.app-header{position:sticky;top:0;z-index:20;margin:0 -38px 34px;padding:18px 38px;min-height:88px;flex-wrap:nowrap;background:#2b4839f5;color:#fff9ef;border-bottom:2px solid #b77a5570;box-shadow:0 5px 20px #233e300c;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.header-identity{min-width:0;display:grid;gap:2px}.app-header .breadcrumb{color:#c4d1c2;font-size:9px;letter-spacing:1.8px}.header-title{font-size:19px;line-height:1.4;font-weight:650;letter-spacing:-.3px;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-header .header-tools{flex-wrap:nowrap;width:auto;gap:12px}.app-header .primary{background:#f7f2e7;color:#284333;border-color:#f7f2e7;border-radius:999px;white-space:nowrap;font-size:13px;font-weight:650;min-height:44px;padding:10px 18px}
.app-header .units-toggle{background:#ffffff0a;border-color:#ffffff38;padding:3px}.app-header .units-toggle button{color:#e0e8dd;min-height:36px;padding:6px 10px;font-size:12px}.app-header .units-toggle button.active{background:#e5ecdf;color:#233e30}.app-header .units-toggle button:hover{color:#fff}.app-header .units-toggle button.active:hover{color:#233e30}
#view>h1{font-size:clamp(32px,4vw,48px);letter-spacing:-1.4px;margin:12px 0;max-width:850px}#view>.eyebrow{color:#8b5737;letter-spacing:1.7px}#view>.intro{font-size:15px;line-height:1.7;max-width:610px;margin:0 0 26px}
.inspiration-ribbon{display:flex;align-items:center;gap:16px;margin:0 0 30px;padding:18px 20px;border:1px solid #d8dfcf;background:linear-gradient(110deg,#edf1e6,#f4f3eb);border-radius:18px;text-decoration:none}
.inspiration-ribbon strong{display:block;font-size:15px;font-weight:650;line-height:1.4}.inspiration-ribbon .small{display:block;color:#657063;margin-top:3px}.ribbon-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:14px;background:#fffaf0;color:#985b37;font-size:28px}.ribbon-arrow{margin-left:auto;color:#8b5737;font-size:23px}.inspiration-ribbon:hover{border-color:#b7c4ab}
.collection-view .section-heading{align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-bottom:16px}.collection-view .section-heading h2{font-family:inherit;font-weight:650;font-size:23px;letter-spacing:-.6px;margin:0}.collection-view .count{font-size:12px}
.toolbar{border:1px solid var(--line);padding:14px;background:#fffdf8;border-radius:18px;gap:10px}.collection-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 14px;box-shadow:0 3px 16px #293d3005}
.collection-toolbar #search{grid-column:1/-1;min-width:0;width:100%;min-height:52px;font-size:16px;background:#f1f3ec;border-color:transparent;border-radius:12px;padding:13px 16px}
.collection-toolbar select{width:100%;min-width:0;font-size:13px;min-height:44px;border-radius:10px;padding:10px;background:#fffdf8}.collection-toolbar #clear-filters{grid-column:1/-1;justify-self:start;border:0;background:transparent;padding:4px 2px;color:#8b5737;font-size:13px;text-decoration:underline;min-height:36px}
.category-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 12px;margin:0 0 14px;scrollbar-width:thin;scrollbar-color:#b6c1ae transparent;-webkit-overflow-scrolling:touch}.category-chips button{white-space:nowrap;border-radius:999px;min-height:44px;padding:9px 17px;background:transparent;font-size:13px;font-weight:550;border-color:#d4daca}.category-chips button.active{background:var(--green);border-color:var(--green);color:white;box-shadow:0 3px 8px #233e3015}
.grid{gap:22px}.grid .card{border:1px solid #d8ddcf;border-radius:20px;background:#fffef9;box-shadow:0 4px 18px #233e3007;transition:box-shadow .2s ease,border-color .2s ease}.grid .card:hover{border-color:#aab99e;box-shadow:0 8px 24px #233e3014;filter:none}
.grid .card-art{height:245px;background:linear-gradient(135deg,#dbe4d1,#eee6d5)}.grid .card-title{font-family:inherit;font-size:19px;letter-spacing:-.4px;font-weight:700;background:#fffef9;color:#233e30;border:1px solid #b8c3ac;box-shadow:0 3px 14px #142a2330;line-height:1.35;border-radius:12px;padding:12px;left:12px;right:12px;bottom:12px;-webkit-line-clamp:unset;display:block;overflow-wrap:anywhere;max-height:calc(100% - 64px);overflow:auto}
.grid .card-body{padding:16px 18px 18px}.grid .tag{border-radius:6px;background:#edf0e6;color:#536747;font-size:10px;letter-spacing:.5px;padding:4px 8px}.grid .card-body>.small{margin-top:8px}.grid .meta{border-top:1px solid #e7eadf;margin-top:12px;padding-top:10px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.card-share,.card-fav{width:44px;height:44px;top:12px;background:#fffef9f5;color:#855333;border-color:#ffffffb3;box-shadow:0 2px 8px #233e3014}.card-fav{right:12px}.card-share{right:64px}
@media(min-width:1400px){.grid .card-art{height:270px}}
@media(min-width:701px) and (max-width:1150px){.shell{grid-template-columns:210px minmax(0,1fr)}.shell>main{padding:0 24px 24px}.app-header{margin-left:-24px;margin-right:-24px;padding:16px 24px}.app-header .breadcrumb{letter-spacing:1px;font-size:8px}.app-header .header-tools{gap:8px}.collection-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .shell{display:block}.shell>aside{position:static;height:auto;padding:16px 16px 0;overflow:visible;background:#233e30}.shell>aside .brand{padding:0;gap:10px}.shell>aside .brand-logo{height:40px;width:40px}.shell>aside .brand-text{font-size:29px}.shell>aside .small-label,.shell>aside .aside-bottom{display:none}
 .shell>aside nav{display:flex;overflow-x:auto;gap:7px;margin:14px -16px 0;padding:0 16px 12px;scrollbar-width:thin;scrollbar-color:#6e8168 transparent}.shell>aside nav a{flex-shrink:0;min-height:44px;padding:9px 13px;font-size:12px;border-radius:999px;gap:7px;background:#ffffff05}.shell>aside nav a.active{box-shadow:inset 0 -2px var(--copper)}
 .shell>main{padding:0 16px 24px}.app-header{margin:0 -16px 26px;padding:12px 16px;min-height:72px;gap:8px}.app-header .breadcrumb{display:none}.header-title{font-size:16px}.app-header .header-tools{gap:8px;margin-left:auto;width:auto}.app-header .primary{font-size:12px;padding:9px 12px;min-height:44px}.app-header .units-toggle button{padding:6px 8px;min-height:34px;font-size:11px}
 #view>h1{font-size:36px;letter-spacing:-1px}#view>.eyebrow{font-size:9px;letter-spacing:1.3px}#view>.intro{font-size:14px;margin-bottom:22px}.inspiration-ribbon{padding:14px;gap:12px;margin-bottom:26px;border-radius:16px}.inspiration-ribbon strong{font-size:13px}.inspiration-ribbon .small{font-size:11px}.ribbon-icon{width:36px;height:40px;flex-basis:36px}.ribbon-arrow{font-size:20px}.collection-view .section-heading h2{font-size:22px}
 .toolbar{padding:10px;border-radius:16px}.collection-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.collection-toolbar select{font-size:12px;padding:10px 8px}.category-chips{margin-right:-16px;padding-right:16px;gap:7px}.category-chips button{font-size:12px;padding:9px 14px}
 .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid .card{border-radius:16px}.grid .card-art{height:220px}.grid .card-title{font-size:15px;line-height:1.35;letter-spacing:-.2px;padding:9px 10px;left:7px;right:7px;bottom:8px;border-radius:9px}.grid .card-body{padding:12px}.grid .tag{font-size:9px}.grid .meta{font-size:11px}.card-share,.card-fav{top:8px}.card-fav{right:7px}.card-share{right:55px}
}
@media(max-width:370px){.app-header{padding:10px 12px}.app-header .header-tools{gap:5px}.app-header .primary{padding:9px;font-size:11px}.header-title{font-size:14px}.grid{grid-template-columns:minmax(0,1fr)}.grid .card-art{height:265px}.grid .card-title{font-size:19px}}
@media(prefers-reduced-motion:reduce){.grid .card,.shell>aside nav a{transition:none}}

/* Non-blocking Safari Home Screen tip */
.install-tip{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0 22px;padding:14px 16px;border:1px solid #b36d44;border-left:4px solid #b36d44;border-radius:12px;background:#2f4c38;color:#fffaf2}.install-tip p{margin:0;font-size:13px}.install-tip strong{font-size:14px}.install-tip button{flex-shrink:0;background:transparent;color:#fffaf2;border:1px solid #c89371;border-radius:8px;padding:8px 10px}.install-tip button:focus-visible{outline:2px solid #fffaf2;outline-offset:3px}@media(display-mode:standalone){.install-tip{display:none!important}}

/* Pantry scan: quiet, touch-friendly green and copper panels. */
.pantry-panel{background:#fffdf8;border:1px solid #ded8cb;border-top:3px solid #a96e48;border-radius:18px;padding:clamp(18px,3vw,30px);margin:24px 0;max-width:1000px}.pantry-panel h2{margin-top:0}.pantry-capture{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.pantry-pick{display:flex;align-items:center;justify-content:center;position:relative;min-height:54px;background:#2f4c38;color:#fff;border-radius:12px;padding:12px;font-weight:600;text-align:center;cursor:pointer;overflow:hidden}.pantry-pick:focus-within{outline:3px solid #bb815a;outline-offset:3px}.pantry-pick input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.pantry-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.pantry-checklist label{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid #ded8cb;border-radius:12px;background:#f8f6ef;cursor:pointer}.pantry-checklist input[type=checkbox]{width:22px;height:22px;min-width:22px;margin:2px 0;accent-color:#2f4c38}.pantry-checklist small{display:block;font-weight:400;font-size:.82rem;line-height:1.5}.pantry-add-row{display:flex;gap:10px;align-items:center;margin:8px 0 20px}.pantry-add-row input{min-width:0;flex:1}.pantry-add-row{flex-wrap:wrap}.pantry-panel textarea{display:block;width:100%;min-height:120px;resize:vertical;box-sizing:border-box;border:1px solid #ded8cb;border-radius:12px;padding:12px 14px;font:inherit;background:#fff;margin:8px 0 12px}.pantry-panel textarea:focus{outline:3px solid #bb815a;outline-offset:2px}.pantry-scope{margin:16px 0 10px}.pantry-scope-choice button{min-height:48px;font-weight:700}.pantry-ideas{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-bottom:28px}.pantry-ideas article{background:#f4f0e7;border:1px solid #d8ccbd;border-radius:15px;padding:20px}.pantry-ideas h3{margin:12px 0}.pantry-match{font-size:.85rem;line-height:1.6;border-top:1px solid #ded8cb;padding-top:12px}.pantry-job{display:flex;gap:16px;justify-content:space-between;align-items:center;border-bottom:1px solid #ded8cb;padding:12px 0}.pantry-job p{max-width:700px}.pantry-job button{flex-shrink:0}.pantry-history{margin-top:34px}.pantry-panel .error:empty{display:none}@media(max-width:600px){.pantry-checklist{grid-template-columns:1fr}.pantry-job{display:block}.pantry-capture{gap:10px}.pantry-pick{font-size:.9rem}.pantry-panel .primary{min-height:48px}.pantry-add-row button{min-height:48px}}

/* Source collection filters; independent of cuisine and meal category. */
.source-chips{margin-bottom:4px}.grid .source-badge{background:#e6ede5;color:#314f3b}
@media(min-width:1151px){.collection-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Public, text-labelled heat indicators; color is supplementary only. */
.spice-badge{display:inline-flex;align-items:center;gap:.2em;margin:.2em .2em .2em 0;white-space:nowrap;font-size:.72rem;border:1px solid currentColor}
.spice-mild{background:#edf5e8;color:#355329}.spice-medium{background:#fff2d6;color:#815408}.spice-hot{background:#ffe4d7;color:#8c3417}.spice-extra_hot{background:#ffe0e4;color:#8a1730}.spice-unrated{background:#f1f0eb;color:#686455}
.recipe-meta .spice-badge{font-size:.8rem}.recipe-license{line-height:1.5;margin:.5rem 0 1rem}

/* Regional street-food previews and licensed cover attribution. */
.street-food-preview{margin:.5rem 0;font-size:.9rem;line-height:1.4;color:#39453a}
.photo-credit{font-size:.72rem;line-height:1.35;margin:.4rem 0;overflow-wrap:anywhere}
.photo-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* Four useful entry points replace the homepage marketing hero. */
.collection-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 30px;overflow:visible}
.collection-shortcuts .collection-shortcut{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-height:158px;padding:22px 18px;text-decoration:none;text-align:left;white-space:normal;border:1px solid #cbd4c2;border-radius:18px;background:#edf1e5;color:#2f4c38;box-shadow:0 3px 12px #233e3008}
.collection-shortcut .shortcut-icon{font-size:28px;line-height:1.2}.collection-shortcut strong{font-size:17px;line-height:1.3}.collection-shortcut small{font-size:12px;color:#65715d;font-weight:400}.collection-shortcuts .shortcut-favorites{background:#f5e8e2;border-color:#e2cabd;color:#914d3b}.collection-shortcuts .shortcut-recent{background:#e6eeeb}.collection-shortcuts .shortcut-viral{background:#f4ebd9;border-color:#e1d1b0;color:#84572f}.collection-shortcuts .selected{outline:2px solid #69815a;outline-offset:2px}.collection-shortcuts .collection-shortcut:hover{transform:translateY(-2px);filter:brightness(.98)}
.card-fav[aria-busy=true],#favorite[aria-busy=true]{opacity:.65;cursor:wait}
@media(min-width:1151px){.collection-toolbar:has(#street-country){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:850px){.collection-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.collection-shortcuts .collection-shortcut{min-height:132px;padding:18px 15px}}
@media(max-width:400px){.collection-shortcut strong{font-size:15px}.collection-shortcut small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.collection-shortcuts .collection-shortcut:hover{transform:none}}

/* Baqon: forest green, warm cream, golden copper and bacon-toned highlights. */
:root{--cream:#faf5eb;--copper:#b66f48;--copper-light:#e8b98c;--warm-highlight:#f6e5c9}
body{background:radial-gradient(ellipse at 85% 0,#f4e4c866,transparent 48%),var(--cream)}
.shell>aside{background:linear-gradient(155deg,#284b38 0%,#1f392d 75%);border-right-color:#b77a554d}
.app-header{background:linear-gradient(110deg,#294b38f7,#355b44f7);border-bottom-color:#c68b5a;box-shadow:0 5px 20px #81512c12}
.primary{background:linear-gradient(135deg,#355f43,#294b37);border-color:#b77a5570;box-shadow:0 3px 9px #5b3a231b}
.app-header .primary{background:linear-gradient(135deg,#a35f3d,#85492f);border-color:#e6b78b;color:#fff8ec;box-shadow:0 3px 10px #122b2540}
.collection-shortcuts .collection-shortcut{border-width:1px;box-shadow:0 6px 18px #76512b10;transition:transform .15s ease,box-shadow .15s ease}
.collection-shortcuts .shortcut-icon{display:grid;place-items:center;width:43px;height:43px;margin-bottom:7px;border-radius:13px;font-size:26px;background:#fff9edb3;border:1px solid #d7b58d88;box-shadow:0 2px 6px #7b492311}
.collection-shortcuts .shortcut-favorites{background:linear-gradient(140deg,#f2d9cc,#fff0de);border-color:#d5a58b;color:#793f2c}
.collection-shortcuts .shortcut-favorites .shortcut-icon{color:#9b493a;background:#fff2e8}
.collection-shortcuts .shortcut-discover{background:linear-gradient(135deg,#2e533e,#426a4d);border-color:#668465;color:#fff5e3}
.collection-shortcuts .shortcut-discover small{color:#f3e5c8}.collection-shortcuts .shortcut-discover .shortcut-icon{background:#fff4df1c;color:#f7d296;border-color:#e6c29466}
.collection-shortcuts .shortcut-recent{background:linear-gradient(140deg,#efdbac,#fff4da);border-color:#d5b67e;color:#674326}
.collection-shortcuts .shortcut-recent .shortcut-icon{color:#965b2f;background:#fff9e9}
.collection-shortcuts .shortcut-viral{background:linear-gradient(135deg,#793f30,#a65c42);border-color:#bf8865;color:#fff7e8}
.collection-shortcuts .shortcut-viral small{color:#fff0d9}.collection-shortcuts .shortcut-viral .shortcut-icon{background:#fff7eb20;border-color:#f0bf9866;color:#ffe0ac}
.collection-shortcuts .shortcut-favorites small,.collection-shortcuts .shortcut-recent small{color:#73553d}
.collection-shortcuts .selected{outline-color:#b47248;box-shadow:0 7px 22px #93563221}
.collection-shortcuts .collection-shortcut:hover{box-shadow:0 9px 23px #76512b21}
.category-chips button.active{background:linear-gradient(135deg,#365d42,#2a4736);border-color:#9a7953;box-shadow:0 3px 9px #7b50251a}
.grid .tag:not(.spice-badge):not(.source-badge){background:#f3e5ce;color:#76502e;border:1px solid #dfc9a988}
.grid .card:hover{border-color:#b98a5b;box-shadow:0 8px 24px #8c542017}.card-fav.is-fav{color:#a34432;border-color:#d89c85;background:#fff0e6}
@media(prefers-reduced-motion:reduce){.collection-shortcuts .collection-shortcut{transition:none}}

/* Compact, dismissible owner-only recipe notices and explicit draft review. */
.recipe-notice-panel{display:flex;align-items:flex-start;gap:12px;margin:0 0 18px;border:1px solid #dfc8a5;border-radius:13px;padding:10px 13px;background:#fff8eb;max-width:100%}
.recipe-notice-panel .analysis-notices{flex:1;min-width:0;margin:0;border:0;background:transparent;padding:0}.recipe-notice-panel summary{font-size:13px;font-weight:650;cursor:pointer;padding:5px 0;color:#76502e}
.analysis-notice-list{max-height:250px;overflow:auto;margin-top:8px}.recipe-notice-panel .recipe-job-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid #e9dac4}.recipe-job-notice>div:first-child{min-width:0;display:grid;gap:4px}.notice-recipe-title{font-size:14px;line-height:1.4;overflow-wrap:anywhere}#analysis-notices{position:relative;z-index:25;pointer-events:auto}
#analysis-notices .notice-job-actions{position:relative;z-index:26}
#analysis-notices .notice-job-actions button,#analysis-notices .notice-job-actions a{position:relative;z-index:27;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px}
.import-badge{pointer-events:auto}
.import-badge[data-state="failed"] .import-badge-icon::before{animation:none}
.notice-job-actions{display:flex;flex-wrap:wrap;gap:7px;flex-shrink:0}.notice-job-actions button,.notice-dismiss-all{min-height:38px;padding:7px 10px;font-size:12px}.notice-dismiss-all{border:0;background:transparent;text-decoration:underline;color:#855333;flex-shrink:0}
.draft-review-controls{display:flex;flex-wrap:wrap;gap:9px;position:sticky;top:-30px;z-index:8;background:#faf5ebf5;border-block:1px solid #dfc8a5;padding:13px 0;margin:16px 0;backdrop-filter:blur(6px)}.draft-review-controls button{min-height:44px}.draft-review-controls button:disabled{opacity:.65;cursor:not-allowed}.draft-review-content{font-size:16px;line-height:1.6}.draft-review-content li{margin-bottom:10px}.draft-review-content h2{margin:25px 0 15px}
@media(max-width:600px){.recipe-notice-panel{display:block;padding:9px 12px}.notice-dismiss-all{padding:3px 0;min-height:32px}.recipe-notice-panel .recipe-job-notice{align-items:flex-start;flex-direction:column;gap:8px}.notice-job-actions{width:100%}.notice-job-actions button{min-height:42px}.draft-review-controls{top:-22px;gap:7px}.draft-review-controls button{font-size:13px;padding:9px 11px}}

.recipe-origin{color:#2f4c38;font-size:1rem;margin:.5rem 0;padding:.55rem .75rem;background:#f2efe5;border-radius:8px}.recipe-origin span{font-size:1.2em}

.book-shelf{display:flex;align-items:center;gap:12px;margin:12px 0;flex-wrap:wrap}.plan-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:20px 0}.plan-controls label{display:flex;align-items:center;gap:8px}.plan-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.plan-day{text-align:left;min-height:100px;padding:12px 9px;overflow-wrap:anywhere}.plan-day small{display:block;margin-top:8px;font-size:.78rem}.plan-day.active{background:#2f4c38;color:#fff}.plan-selected,.plan-buy{margin:26px 0;padding:20px;background:#faf7f0;border:1px solid #ddd5c5;border-radius:12px}.plan-meal{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #ddd5c5}.plan-meal h3{margin:7px 0}.plan-meal h3 button{border:0;padding:0;text-align:left;background:transparent;color:#2f4c38;font:inherit}.plan-shopping{padding:0;list-style:none}.plan-shopping li{padding:10px 0;border-bottom:1px solid #e3ddcf}.plan-shopping label{display:flex;gap:12px;align-items:flex-start}.plan-shopping input{width:20px;min-width:20px;height:20px;margin-top:3px}.plan-shopping small{display:block;font-size:.76rem}.plan-shopping input:checked+span{text-decoration:line-through;opacity:.55}@media(max-width:700px){.plan-week{grid-template-columns:repeat(7,minmax(116px,1fr));overflow-x:auto;padding-bottom:10px}.plan-controls{gap:8px}.plan-controls label{order:-1;width:100%}.plan-selected,.plan-buy{padding:14px}.plan-meal{align-items:flex-start}}

.account-button{font-size:.8rem;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:600px){.header-tools{flex-wrap:wrap;justify-content:flex-end;gap:6px}.account-button{max-width:165px;font-size:.72rem;padding:7px 9px}}

/* Visible category browse tiles; source shelves retain their existing layout. */
.category-chips.meal-category-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;overflow:visible;margin:0 0 18px;padding:0;min-width:0}
.meal-category-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:76px;padding:9px 4px;border-radius:16px;background:#fffdf8;border:1px solid #d4daca;color:var(--green);white-space:normal;font-size:12px;line-height:1.2}
.meal-category-grid .category-icon{display:grid;place-items:center;font-size:25px;line-height:1.15}
.meal-category-grid button.active{background:linear-gradient(135deg,#365d42,#2a4736);border-color:#9a7953;color:#fff;box-shadow:0 3px 9px #7b50251a}
.meal-category-grid button:focus-visible{outline:3px solid #ac784d;outline-offset:2px}
@media(max-width:700px){.category-chips.meal-category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-right:0;padding-right:0}.meal-category-grid button{padding:8px 3px;font-size:11px}}
@media(max-width:340px){.category-chips.meal-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Primary recipe ownership choice: always visible, thumb-friendly, no sideways scrolling. */
.primary-shelves{margin:0 0 22px}.shelf-segments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px;border:1px solid #cbb8a5;border-radius:18px;background:#eee8dd}.shelf-segments button{min-height:82px;min-width:0;padding:13px 10px;border-radius:12px;border:2px solid transparent;background:#fffdf7;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:3px}.shelf-segments button strong{font-size:23px;line-height:1.2}.shelf-segments button span{font-size:12px;line-height:1.4}.shelf-segments button.active{background:var(--green);color:#fffdf7;border-color:var(--orange);box-shadow:0 2px 7px #293d3022}.shelf-segments button:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.shelf-explainer{font-size:12px;line-height:1.5;color:var(--muted);margin:10px 3px 0}.source-chips{flex-wrap:wrap;overflow:visible}.book-shelf{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 20px;font-weight:600}.book-shelf select{max-width:100%;min-height:48px;background:#fffdf7}.primary-shelves + .collection-shortcuts{margin-top:0}@media(max-width:700px){.shelf-segments button strong{font-size:21px}.shelf-segments button{min-height:84px}.book-shelf{display:grid;gap:6px}.book-shelf select{width:100%;min-width:0}.shelf-explainer{font-size:12px}}

/* Slow recipe slideshows, real covers when available; labels never disappear. */
.recipe-slideshow{position:relative;padding-top:0}.recipe-slideshow .collection-shortcut{padding:10px;gap:8px;justify-content:flex-start;min-width:0;overflow:hidden}.recipe-slideshow .shortcut-collection-label{font-size:15px;line-height:1.3;padding:2px 4px;min-height:22px}.recipe-slideshow .shortcut-preview{position:relative;display:block;min-width:0;width:100%;height:150px;padding:0;border:0;border-radius:11px;overflow:hidden;background:#d9dfcf;color:white;text-align:left;opacity:1;transition:opacity .42s ease}.recipe-slideshow .shortcut-preview.is-fading{opacity:0}.shortcut-slide{position:relative;display:block;width:100%;height:100%;background:linear-gradient(135deg,#385b43,#9b7b50)}.shortcut-slide img{width:100%;height:100%;object-fit:cover;display:block}.shortcut-slide:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#15251be8)}.shortcut-dish-title{position:absolute;z-index:1;left:11px;right:11px;bottom:11px;font-size:16px;font-weight:650;line-height:1.3;color:#fffdf3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.shortcut-dish-icon{display:grid;place-items:center;height:100%;font-size:48px}.shortcut-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;padding:12px;text-align:center;background:#ede4d9;color:#793f2c;font-size:13px}.shortcut-placeholder>span:first-child{font-size:30px}.recipe-slideshow .shortcut-browse{padding:3px 4px;border:0;background:transparent;color:inherit;font-size:13px;min-height:44px;text-decoration:none;white-space:normal;display:block}.shortcut-motion{position:absolute;right:0;top:0;padding:2px 8px;font-size:13px;min-height:44px;background:#fffdf7}.recipe-slideshow .collection-shortcut:hover{transform:none}.recipe-slideshow .shortcut-preview:focus-visible,.recipe-slideshow .shortcut-browse:focus-visible{outline:3px solid #d09962;outline-offset:2px}@media(max-width:850px){.recipe-slideshow .collection-shortcut{padding:9px}.recipe-slideshow .shortcut-preview{height:135px}.recipe-slideshow .shortcut-collection-label{font-size:13px}.shortcut-dish-title{font-size:14px}}@media(prefers-reduced-motion:reduce){.recipe-slideshow .shortcut-preview{transition:none}}

/* Header search occupies the open logo-right slot on phones. */
.brand-search-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.header-search-wrap{min-width:0;flex:1 1 160px}.header-search-field{display:flex;align-items:center;background:#fffaf0;border:1px solid #cb976c;border-radius:12px;min-height:46px;overflow:hidden}.header-search-field input[type=search]{min-width:0;width:100%;flex:1;padding:11px 10px;border:0;background:transparent;border-radius:0;font-size:16px;color:#293d30}.header-search-field button{flex:none;padding:7px;border:0;border-radius:0;background:transparent;color:#674326;min-width:34px;min-height:42px}.header-search-filters{position:fixed;z-index:55;top:125px;left:250px;width:min(580px,calc(100vw - 280px));max-height:calc(100dvh - 150px);overflow-y:auto;padding:18px;background:#fffdf5;color:#293d30;border:1px solid #c18a62;border-radius:16px;box-shadow:0 12px 45px #102b2550}.search-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.search-filter-heading button{padding:5px 12px}.search-filter-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.search-filter-fields label{min-width:0}.search-filter-fields select{width:100%;min-width:0;min-height:46px;font-size:16px}.search-filter-wide{grid-column:1/-1}.search-shelf-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.search-shelf-choice button[aria-pressed=true]{background:var(--green);border-color:var(--orange);color:white}.search-filter-actions{display:flex;justify-content:space-between;gap:8px;margin-top:16px}.search-filter-actions button{min-height:44px}.search-filter-heading strong{font-size:17px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){.brand-search-row{flex-wrap:nowrap;gap:10px}.shell>aside .brand-search-row .brand{gap:7px;flex:0 0 auto}.shell>aside .brand-search-row .brand-text{font-size:27px}.shell>aside .brand-search-row .brand-logo{height:36px;width:36px}.header-search-wrap{flex:1 1 0;width:0}.header-search-field input[type=search]{font-size:16px;padding:11px 8px}.header-search-filters{top:73px;left:12px;right:12px;width:auto;max-height:calc(100dvh - 90px);padding:15px}.header-search-field button{min-width:28px;padding:4px}.brand-search-row{position:relative;z-index:56}}@media(max-width:350px){.brand-search-row{flex-wrap:wrap}.header-search-wrap{flex:1 1 130px;width:auto}.shell>aside .brand-search-row .brand-text{font-size:23px}.shell>aside .brand-search-row .brand-logo{width:30px;height:30px}}

.card-origin-flag{position:absolute;z-index:3;top:9px;left:9px;display:grid;place-items:center;min-width:43px;min-height:43px;padding:4px;border:1px solid #c88c5d99;border-radius:12px;background:#fffaf0f0;font-size:26px;line-height:1;box-shadow:0 2px 8px #17362922}.card-origin-flag:focus-visible{outline:3px solid #b36d44;outline-offset:2px}.country-filter-note{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0 16px;font-size:13px}.country-filter-note button{font-size:12px;padding:5px 9px}

/* A little more daylight and contrast, still forest / copper / cream. */
:root{--cream:#f3f5f2;--ink:#233a2c;--muted:#5e695f;--line:#cfd7cf}body{background:#f0f3ef}.shell>main{background:linear-gradient(180deg,#f8faf7 0,#f0f3ef 600px)}.grid .card{background:#ffffff;border-color:#c9d2c8;box-shadow:0 5px 15px #213d2c12}.grid .card-body{background:#fff;color:#233a2c}.grid .card:nth-child(3n+2) .card-body{background:#f8faf8}.grid .card:nth-child(3n) .card-body{background:#fffdf7}.grid .card-title{color:#fffdf4;text-shadow:0 2px 6px #15271bcc}.grid .card-body .muted,.grid .card-body .meta{color:#566458}.toolbar,.collection-toolbar{background:#fff;border-color:#cbd5cb;box-shadow:0 3px 12px #233e3009}.meal-category-grid button:not(.active){background:#fffdf7;border-color:#c4cfc2;color:#294632}.section-heading h2{color:#203b2b}.count{color:#526254}.shelf-segments{background:#e6ece4;border-color:#bac8b6}.shelf-explainer{color:#526052}.book-shelf select{background:#fff;border-color:#bccab9}.country-filter-note{background:#fff;border:1px solid #cdd7ca;border-radius:10px;padding:9px 12px}.app-header{box-shadow:0 5px 18px #18322324}.search-filter-fields select{background:#fff;border-color:#bdcbb8}.header-search-filters{background:#fffdf7}

.startup-status{padding:20px 0;min-height:360px}.startup-status h1{font-size:34px}.startup-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:24px 0}.startup-shortcuts span{display:grid;place-items:center;min-height:110px;padding:12px;border:1px solid #bfcdb9;border-radius:14px;background:#fdfefb;color:#294b38;font-size:14px;font-weight:600}.startup-shortcuts span:nth-child(2){background:#e5eddf}.startup-shortcuts span:nth-child(3){background:#fff3da}.startup-shortcuts span:nth-child(4){background:#f2e3d8}.startup-status>a{display:inline-block;margin:14px}@media(max-width:700px){.startup-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}

.author-link{display:inline;padding:0;border:0;border-radius:2px;background:transparent;color:#365d42;font:inherit;text-decoration:underline;text-decoration-color:#b57c5366;text-underline-offset:3px}.author-link:hover{color:#8c4e30}.detail-hero-wrap{position:relative}.detail-hero-wrap .detail-hero{display:block}.detail-hero-wrap.no-hero-photo{height:58px;background:transparent}.detail-share-circle{position:absolute;top:10px;right:10px;width:46px;height:46px;min-width:46px;min-height:46px;border-radius:50%;background:#fffaf3f5;color:#294b38;border:1px solid #c38b61;box-shadow:0 3px 12px #17382535;display:grid;place-items:center;z-index:3}.detail-hero-wrap .detail-share-circle{right:10px;left:auto;top:10px}.detail-hero-wrap .detail-fav-circle{right:64px;left:auto;top:10px}#detail-share-top,#share-recipe{min-height:44px;font-weight:700;background:#fffef9;border:1px solid #c38b61;color:#294b38}.dialog-top-tools{display:flex;align-items:center;gap:8px;margin-left:auto}

/* Thumb-friendly private checklist and full-meal companions. */
.ingredient-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid #293d3014}.ingredient-row .ingredient{flex:1;min-width:0;border-bottom:0}.ingredient-shop{flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid #b8c9b5;background:#edf4e8;color:#24482e;font-size:23px;border-radius:12px}.ingredient-shopping-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 18px}.ingredient-shopping-actions button{font-size:13px;min-height:44px;padding:9px 12px}.shopping-toolbar{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.shopping-toolbar>span{flex-basis:100%}.shopping-checklist{list-style:none;padding:0;max-width:850px}.shopping-checklist li{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #cbd6c7;border-radius:12px;padding:12px;margin:10px 0}.shopping-checklist label{display:flex;align-items:flex-start;gap:13px;flex:1;font-size:18px;cursor:pointer}.shopping-checklist input{width:25px;height:25px;flex:0 0 25px;margin:4px 0;accent-color:#314f3b}.shopping-checklist small{display:block;font-size:12px;color:#5d6d5e}.shopping-checklist .is-checked label>span{text-decoration:line-through;color:#788477}.shopping-remove{min-width:44px;min-height:44px;padding:8px}.meal-pairs{padding:20px 0;border-top:1px solid #cbd6c7;margin-top:22px}.meal-pairs h2{font-size:25px;max-width:600px}.meal-pair-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.meal-pair-grid button{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:0;overflow:hidden;background:#fffdf7;min-height:90px}.meal-pair-grid img{width:100%;height:110px;object-fit:cover}.meal-pair-grid span{padding:12px}.meal-pair-grid strong{font-size:15px;display:block;line-height:1.3}.meal-pair-grid small{display:block;color:#61725c;font-size:12px;margin-top:5px}@media(max-width:550px){.meal-pair-grid{grid-template-columns:1fr}.meal-pair-grid button{flex-direction:row;align-items:center}.meal-pair-grid img{width:90px;height:90px;flex:0 0 90px}.shopping-toolbar button{font-size:13px;padding:9px 12px;min-height:44px}}

/* Dedicated header search; browse filters are not rendered in this mode. */
.header-search-results h1{font-size:32px;margin:0}.search-mode-note{padding:12px 15px;background:#fff8e9;border:1px solid #d7c1a5;border-radius:12px;color:#334f3b}.search-results-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}.search-results-actions button{min-height:44px;font-size:13px}.header-search-results .section-heading{align-items:center}

/* Persistent logo and search bar on phones */
@media (max-width: 700px) {
  :root {
    --baqon-sticky-topbar: calc(66px + env(safe-area-inset-top, 0px));
  }
  .brand-search-row {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 60;
    flex-wrap: nowrap;
    gap: 10px;
    box-sizing: border-box;
    padding: calc(10px + env(safe-area-inset-top, 0px)) 16px 10px;
    background: linear-gradient(155deg, #284b38 0%, #1f392d 75%);
    box-shadow: 0 6px 18px #10251c40;
  }
  .shell > aside {
    padding-top: var(--baqon-sticky-topbar);
  }
  .app-header {
    top: var(--baqon-sticky-topbar);
    z-index: 40;
  }
  .header-search-filters {
    top: var(--baqon-sticky-topbar);
    z-index: 61;
    max-height: calc(100dvh - var(--baqon-sticky-topbar) - 16px);
  }
}
@media (max-width: 350px) {
  .brand-search-row {
    flex-wrap: nowrap;
  }
}

/* Visitor-owned AI credentials: mobile-friendly, visible beside paid features. */
.my-ai-callout{border:1px solid #b8c7bb;border-radius:12px;padding:16px;margin:16px 0;background:#f5f8f3}.my-ai-callout h3{margin:0 0 8px}.my-ai-open,.my-ai-actions a{display:inline-flex;align-items:center;min-height:48px;padding:8px 12px}.my-ai-actions{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.my-ai-settings button,.my-ai-settings select,.my-ai-settings input{min-height:48px}.my-ai-settings label{display:block;margin:16px 0}.my-ai-settings input,.my-ai-settings select{width:100%}

/* My Books library: large tappable covers and independent book filters. */
.my-books-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;margin:24px 0}.my-book-card{border:1px solid #c9d1c4;background:#fcfbf6;border-radius:14px;overflow:hidden;box-shadow:0 3px 12px #17382512}.my-book-open{display:block;min-height:240px;padding:24px;text-decoration:none;color:inherit;border-left:12px solid #536e4c}.my-book-open:hover{background:#eef2e7}.my-book-icon{display:block;font-size:46px;color:#536e4c}.my-book-card button{min-height:48px;margin:12px 20px}.my-books-back,.my-books-import{display:inline-flex;align-items:center;min-height:48px;padding:8px 12px}.my-book-filters{align-items:end;flex-wrap:wrap;margin:24px 0}.my-book-filters label{display:flex;flex-direction:column;gap:6px;min-width:140px}.my-book-filters input,.my-book-filters select{min-height:48px}.my-book-filters button{min-height:48px}#rename-book-form input{width:100%;min-height:48px}#rename-book-form button{min-height:48px}

/* Written web search import, mobile-first. */
.web-import-button{min-height:44px;white-space:normal;line-height:1.25;padding:10px 14px}
.header-search-wrap>.web-import-button{width:100%;margin-top:6px;font-size:13px}
.web-import-empty p{margin:0 0 10px}
.web-recipe-results article{border-bottom:1px solid #d8d3c5;padding:12px 0 18px;margin-bottom:10px}
.web-recipe-results h3{margin:0 0 5px}
.web-recipe-results button{min-height:44px}
.source-rating{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:8px 0;font-size:12px;color:#2f4c38}
.source-stars{position:relative;display:inline-block;white-space:nowrap;font-size:17px;line-height:1.2;color:#d8d3c5;letter-spacing:1px}
.source-stars-fill{position:absolute;left:0;top:0;overflow:hidden;color:#a45d38}

.header-search-wrap>.find-new-recipe{background:#a45d38;border-color:#a45d38;color:#fff;box-shadow:0 2px 8px #a45d3822}

@media(max-width:700px){:root.web-search-action-visible{--baqon-sticky-topbar:calc(166px + env(safe-area-inset-top,0px))}.web-search-action-visible .brand-search-row{align-items:flex-start}.web-search-action-visible .brand-search-row .brand{margin-top:5px}}

/* Browser search is a distinct sibling of one-tap draft import. */
.web-search-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.web-search-actions>button{min-height:44px;padding:10px 14px}
.web-search-button{min-height:44px;border:1px solid #b36d44;background:#fffaf3;color:#874725;font-weight:600;line-height:1.25;padding:10px 14px;white-space:normal}
.header-search-wrap>.web-search-button{display:block;width:100%;margin-top:6px;font-size:13px}

/* Clear, friendly notices: forest green = done, copper = working / needs a look, red = problem. */
#toast.app-notice{position:fixed;left:50%;top:auto;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(560px,calc(100vw - 24px));align-items:center;gap:12px;padding:14px 12px 14px 16px;border-radius:16px;background:#fffaf0;color:#24382c;border:2px solid #314f3b;box-shadow:0 14px 40px #10251c55;z-index:1000;font-size:16px;line-height:1.35}
.app-notice-icon,.import-notice-icon{flex:0 0 36px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:18px;line-height:1;background:#314f3b;color:#fff}
.app-notice-text{flex:1;min-width:0;display:grid;gap:3px;overflow-wrap:anywhere}.app-notice-text strong{font-size:16px}.app-notice-text span{font-size:15px;color:#4c5b4f}
.app-notice-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.app-notice-action{min-height:44px;background:#314f3b;border-color:#314f3b;color:#fff;font-weight:700;padding:9px 14px}
.app-notice-close{min-width:44px;min-height:44px;padding:0;background:transparent;border:0;font-size:18px;color:#4c5b4f}
#toast.is-working,#toast.is-attention{border-color:#b36d44}#toast.is-attention{background:#fff3e6}
#toast.is-working .app-notice-icon,#toast.is-attention .app-notice-icon{background:#b36d44}
#toast.is-error{border-color:#a0342a;background:#fff1ee}#toast.is-error .app-notice-icon{background:#a0342a}
@media(max-width:700px){#toast.app-notice{top:calc(var(--baqon-sticky-topbar,66px) + 8px);bottom:auto;flex-wrap:wrap}#toast .app-notice-text{flex:1 1 calc(100% - 60px)}#toast .app-notice-actions{margin-left:auto}}
.import-notice-panel{margin:0 0 22px;padding:16px;border-radius:18px;background:#fffaf0;border:1px solid #d9b08f;box-shadow:0 6px 22px #17382514}
.import-notice-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin-bottom:6px}.import-notice-heading h2{margin:0;font-size:25px}.import-notice-heading span{font-size:15px;font-weight:700;color:#874725}
.import-notice{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:14px;background:#fff;border:1px solid #dcd6c8;border-left:6px solid #314f3b;margin:10px 0}
.import-notice-panel>.import-notice:only-child{margin:0}
.import-notice.is-working,.import-notice.is-attention{border-left-color:#b36d44}.import-notice.is-attention{background:#fff6ec}.import-notice.is-error{border-left-color:#a0342a;background:#fff1ee}
.import-notice.is-working .import-notice-icon,.import-notice.is-attention .import-notice-icon{background:#b36d44}.import-notice.is-error .import-notice-icon{background:#a0342a}
.import-notice-body{flex:1;min-width:0;display:grid;gap:4px}
.import-notice-status{font-size:13px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#314f3b}
.is-working .import-notice-status,.is-attention .import-notice-status{color:#874725}.is-error .import-notice-status{color:#a0342a}
.import-notice .notice-recipe-title{font-family:Georgia,serif;font-size:20px;font-weight:normal;line-height:1.25;overflow-wrap:anywhere}
.import-notice-detail{font-size:15px;line-height:1.45;color:#4c5b4f}
.import-notice .notice-job-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;width:auto}
.import-notice .notice-job-actions button,.notice-link-button{min-height:44px;padding:9px 16px;font-size:15px}
.notice-link-button{display:inline-flex;align-items:center;border-radius:9px;background:#314f3b;color:#fff;text-decoration:none;font-weight:700}
.import-notice-more summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700;color:#874725}
.import-notice-panel .notice-dismiss-all{min-height:44px;padding:8px 4px;font-size:14px}
.is-working .import-notice-icon{animation:baqonNoticePulse 1.6s ease-in-out infinite}
@keyframes baqonNoticePulse{50%{opacity:.55}}
@media(prefers-reduced-motion:reduce){.is-working .import-notice-icon{animation:none}}
.book-import-state{padding:10px 12px;border-radius:12px;border-left:5px solid #314f3b;background:#f1f5ee;font-size:15px}.book-import-state.is-working,.book-import-state.is-attention{border-left-color:#b36d44;background:#fff3e6}
#book-upload-status{font-size:16px;font-weight:700;color:#874725}

/* Cook Mode: one big step, thumb-reach controls, timers that can run together. */
dialog#modal.kitchen-cook{padding:0;background:#fbfaf5}
.cook-shell{display:flex;flex-direction:column;min-height:100%;padding:16px 24px 0}
.cook-top{display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:4;background:#fbfaf5f2;padding:6px 0 10px;backdrop-filter:blur(6px)}
.cook-exit,.cook-drawer-btn{min-height:48px;padding:10px 14px;font-weight:700;font-size:15px}
.cook-drawer-btn{border-color:#b36d44;color:#874725;background:#fffaf3}
.cook-top-title{flex:1;min-width:0;display:grid;text-align:center}
.cook-recipe-name{font-size:14px;color:#4c5b4f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cook-count{font-size:18px;font-weight:800;color:#314f3b}
.kitchen-cook .cook-progress{display:flex;gap:4px;margin:4px 0 14px}
.kitchen-cook .cook-progress span{flex:1;height:7px;border-radius:4px;background:#dcd6c8}
.kitchen-cook .cook-progress span.done{background:#7e996c}.kitchen-cook .cook-progress span.now{background:#b36d44}
.cook-stage{flex:1;touch-action:pan-y}
.cook-step-label{margin:6px 0 0;font-size:13px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:#874725}
.kitchen-cook .cook-step{font-size:clamp(26px,3.4vw,40px);line-height:1.55;padding:10px 0 18px;min-height:0;max-width:940px;margin:0}
.cook-timer-starts{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.cook-timer-start{min-height:52px;padding:12px 18px;font-size:17px;font-weight:700;border:2px solid #b36d44;background:#fff3e6;color:#874725;border-radius:14px}
.cook-timer-start:disabled{opacity:1;background:#eef3ea;border-color:#7e996c;color:#314f3b}
.cook-step-ingredients{background:#eef3ea;border-radius:14px;padding:12px 16px;margin:0 0 14px}
.cook-step-ingredients h3{margin:0 0 6px;font-size:15px;font-family:inherit;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#314f3b}
.cook-step-ingredients ul{margin:0;padding-left:20px;font-size:18px;line-height:1.5}.cook-step-ingredients li{margin:4px 0;padding:0}
.cook-drawer{background:#fff;border:1px solid #dcd6c8;border-radius:16px;padding:14px 16px;margin:0 0 14px}
.cook-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.cook-drawer-head h2{margin:0}.cook-drawer-head button{min-height:48px}
.kitchen-cook .cook-navigation{position:sticky;bottom:0;margin:0 -24px;padding:12px 24px calc(12px + env(safe-area-inset-bottom,0px));gap:12px}
.kitchen-cook .cook-navigation button{flex:1;min-height:64px;font-size:20px;font-weight:800;border-radius:16px}
.cook-wake{text-align:center;margin:8px 0 12px}
.cook-timer-dock{display:flex;flex-wrap:wrap;gap:8px}
.cook-timer-dock.is-inline{margin:0 0 10px}
.cook-timer-dock.is-floating{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:990;justify-content:center}
.cook-timer{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 14px;border-radius:999px;background:#314f3b;color:#fff;box-shadow:0 6px 18px #10251c40}
.cook-timer.is-paused{background:#6d7a6f}.cook-timer.is-done{background:#a0342a;animation:baqonNoticePulse 1s ease-in-out infinite}
.cook-timer-clock{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}.cook-timer-label{font-size:13px;opacity:.9}
.cook-timer button{min-width:44px;min-height:44px;padding:0;border-radius:50%;border:0;background:#ffffff26;color:#fff;font-size:15px}
@media(prefers-reduced-motion:reduce){.cook-timer.is-done{animation:none}}
@media(max-width:700px){dialog#modal.kitchen-cook{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;padding:0}.cook-shell{padding:calc(8px + env(safe-area-inset-top,0px)) 16px 0}.kitchen-cook .cook-navigation{margin:0 -16px;padding-left:16px;padding-right:16px}.kitchen-cook .cook-step{font-size:clamp(25px,7vw,32px)}.cook-exit,.cook-drawer-btn{padding:10px 12px}}
/* In-app recipe viewer and web results. */
.web-viewer-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;padding:10px 12px;margin:0 0 18px;background:#fffaf0;border:1px solid #d9b08f;border-radius:16px;box-shadow:0 6px 18px #17382518}
@media(max-width:700px){.web-viewer-bar{top:calc(var(--baqon-sticky-topbar,66px) + 6px)}}
.web-viewer-back{min-width:48px;min-height:48px;padding:0;font-size:22px;border-radius:12px}
.web-viewer-site{flex:1;min-width:0;display:grid;line-height:1.25}.web-viewer-site span{font-size:12px;color:#4c5b4f}.web-viewer-site a{font-weight:700;color:#874725;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.web-viewer-import{min-height:52px;padding:12px 18px;font-size:17px;font-weight:800;border-radius:14px;white-space:nowrap}
.web-page-recipe,.web-page-text{max-width:760px;font-size:18px;line-height:1.6}.web-page-recipe li,.web-page-text li{margin:6px 0}
.web-page-note{background:#eef3ea;border-radius:12px;padding:10px 14px;font-size:15px}
.web-secondary-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.notice-link-button.is-quiet{background:#fffaf3;color:#874725;border:1px solid #b36d44}
.web-search-form{display:flex;gap:8px;margin:12px 0 18px}.web-search-form input{flex:1;min-height:48px;font-size:16px}.web-search-form button{min-height:48px}
.web-result{background:#fff;border:1px solid #dcd6c8;border-radius:14px;padding:14px 16px;margin:0 0 12px}.web-result h3{margin:0 0 4px;font-size:21px}.web-result-site{margin:0;color:#874725;font-weight:700;font-size:14px}
.web-result .notice-job-actions button,.web-result .notice-link-button{min-height:44px}
/* Save from anywhere help page. */
.save-card{background:#fff;border:1px solid #dcd6c8;border-radius:16px;padding:16px 18px;margin:0 0 16px;max-width:760px}.save-card h2{margin:0 0 8px;font-size:23px}
.save-card .import-url-row{display:flex;flex-wrap:wrap;gap:8px}.save-card .import-url-row input{flex:1 1 220px;min-height:48px;font-size:16px}.save-card .import-url-row button,#anywhere-paste{min-height:48px}
#anywhere-paste{margin-top:10px}
.save-steps li{margin:8px 0;padding-left:4px;font-size:16px}
.copy-row{display:flex;align-items:center;gap:8px;margin:8px 0;padding:8px 10px;background:#f6f2e8;border-radius:10px}.copy-row code{flex:1;min-width:0;overflow-wrap:anywhere;font-size:13px}.copy-row button{min-height:44px;flex-shrink:0}
.bookmarklet-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border-radius:10px;background:#b36d44;color:#fff;font-weight:800;text-decoration:none;cursor:grab}

/* ===== nav1: app-style navigation and polish (phone tab bar, desktop sidebar + header search). ===== */
:root{--radius-card:18px;--shadow-soft:0 4px 18px #233e300d;--shadow-lift:0 10px 28px #233e301a;--tabbar-h:64px}
body{overflow-x:clip}
.i{width:22px;height:22px;flex:none;display:inline-block;vertical-align:middle}
#view.view-enter{animation:baqonViewIn .22s ease both}
@keyframes baqonViewIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* Sidebar */
.shell>aside nav.side-nav{gap:2px}
.shell>aside nav.side-nav a{align-items:center;gap:12px;font-size:14px}
.shell>aside nav.side-nav a .i{width:20px;height:20px;opacity:.9}
.shell>aside .nav-group{margin:16px 12px 6px;font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#9fb29d}
/* Section sub-tabs (Recipes · My Books · Favorites · Drafts, Plan · Shopping, …) */
.view-subnav:empty{display:none}
.sub-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 0 4px;margin:0 0 18px}
.sub-tabs::-webkit-scrollbar{display:none}
.sub-tabs a{flex:none;display:inline-flex;align-items:center;min-height:40px;padding:8px 16px;border-radius:999px;border:1px solid #d6cfbf;background:#fffdf7;color:#3d5444;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s ease,color .15s ease}
.sub-tabs a:hover{border-color:#b98a5b}
.sub-tabs a.is-current{background:#2f5641;border-color:#2f5641;color:#fff8ec}
/* Home */
.home-hero{margin:8px 0 18px}.home-hero h1{font-size:clamp(30px,4vw,44px);letter-spacing:-1.2px;margin:2px 0 4px}.home-hero .eyebrow{color:#8b5737;letter-spacing:1.4px;text-transform:uppercase;font-size:12px;font-weight:700;margin:0}.home-hero p{margin:0}
.home-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.home-action{display:flex;align-items:center;gap:10px;min-height:60px;padding:12px 16px;border-radius:16px;border:1px solid #ddd4c2;background:#fffdf7;color:#2f4a39;font-weight:700;font-size:15px;text-decoration:none;box-shadow:var(--shadow-soft);text-align:left;transition:transform .15s ease,box-shadow .15s ease}
.home-action:hover{box-shadow:var(--shadow-lift);transform:translateY(-1px)}
.home-action .i{color:#a45d38;width:24px;height:24px}
.home-action.is-primary{background:linear-gradient(135deg,#a35f3d,#85492f);border-color:#85492f;color:#fff8ec}.home-action.is-primary .i{color:#fff8ec}
.home-drafts{display:flex;align-items:center;gap:12px;padding:14px 16px;margin:0 0 22px;border-radius:16px;background:#f6e5c9;border:1px solid #e3c49a;color:#5b3a20;text-decoration:none}.home-drafts span:nth-child(2){flex:1}.home-drafts .i{color:#a45d38}
.home-row{margin:0 0 26px}
.home-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 10px}.home-row-head h2{margin:0;font-size:22px;letter-spacing:-.4px}.home-row-head a{font-weight:700;color:#8b5737;text-decoration:none;font-size:14px;padding:8px 0}
.grid.home-scroller{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(230px,260px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;gap:14px;padding:4px 2px 10px;scrollbar-width:thin}
.grid.home-scroller>.card{scroll-snap-align:start}
.grid.home-scroller .card-art{height:180px}
.home-chips{display:flex;flex-wrap:wrap;gap:8px}.home-chips button{min-height:44px;border-radius:999px;padding:8px 14px;background:#fffdf7;border:1px solid #d6cfbf;font-weight:600;color:#2f4a39}.home-chips button span{color:#8b8f84;font-weight:500;margin-left:4px}
/* More */
.more-group{background:#fffdf7;border:1px solid #e0d8c7;border-radius:var(--radius-card);box-shadow:var(--shadow-soft);margin:0 0 18px;overflow:hidden;max-width:760px}
.more-group h2{margin:0;padding:14px 18px 6px;font-size:12px;letter-spacing:1.3px;text-transform:uppercase;color:#8b5737}
.more-row{display:flex;align-items:center;gap:14px;width:100%;min-height:62px;padding:10px 18px;border:0;border-top:1px solid #eee7d8;border-radius:0;background:transparent;color:#293d30;text-decoration:none;text-align:left;font:inherit}
.more-group h2+.more-row{border-top:0}
.more-row>.i{width:38px;height:38px;padding:8px;border-radius:12px;background:#eef3ea;color:#2f5641;box-sizing:border-box}
.more-row>span:not(.more-chevron){flex:1;min-width:0;display:grid}.more-row strong{font-size:16px}.more-row small{color:#6b7468;font-size:13px;line-height:1.35}
.more-chevron{font-size:24px;color:#b5ad9b}
a.more-row:hover,button.more-row:hover{background:#f7f2e7}
.more-units .units-toggle{flex:none}
/* Add sheet */
dialog#modal.add-sheet{max-width:640px;padding:22px 22px 26px}
.add-sheet-link{margin:6px 0 16px}.add-sheet-link label{display:block;font-weight:800;font-size:17px;margin:0 0 4px}.add-sheet-link .import-url-row{display:flex;gap:8px;flex-wrap:wrap}.add-sheet-link input{flex:1 1 220px;min-height:50px;font-size:16px}.add-sheet-link button{min-height:50px}
.add-sheet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:6px}
.add-choice{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;min-height:72px;padding:12px 14px;border-radius:16px;border:1px solid #e0d8c7;background:#fffdf7;color:#293d30;text-decoration:none;text-align:left;font:inherit}
.add-choice .i{grid-row:span 2;width:40px;height:40px;padding:9px;border-radius:12px;background:#f6e5c9;color:#a45d38;box-sizing:border-box}
.add-choice strong{font-size:15px}.add-choice span{font-size:13px;color:#6b7468;line-height:1.3}
.add-choice:hover{border-color:#b98a5b;box-shadow:var(--shadow-soft)}
/* Recipe header: photo, title, chips, one action row */
.recipe-reader .detail-hero-wrap{margin:6px 0 16px}
.recipe-reader .recipe-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.recipe-reader .recipe-meta>*{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:999px;background:#f3eadb;color:#4b3a29;font-size:14px;margin:0}
.recipe-reader .recipe-meta>*:empty{display:none}
.recipe-quick-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:16px 0 6px;max-width:620px}
.recipe-quick-actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:64px;padding:8px 4px;border-radius:16px;border:1px solid #ddd4c2;background:#fffdf7;color:#2f4a39;font-size:13px;font-weight:700}
.recipe-quick-actions button .i{width:24px;height:24px}
.recipe-quick-actions button.is-primary{background:#2f5641;border-color:#2f5641;color:#fff8ec}
.recipe-quick-actions button.is-fav{color:#a34432;border-color:#d89c85;background:#fff0e6}
.recipe-quick-actions button:hover{box-shadow:var(--shadow-soft)}
.recipe-reader .detail-actions>#cook,.recipe-reader .detail-actions>#plan-recipe,.recipe-reader .detail-actions>#favorite,.recipe-reader #detail-share-top,.recipe-reader .detail-share-circle,.recipe-reader .detail-fav-circle{display:none!important}
/* Tab bar and More button only exist on phones */
.tabbar,.more-button{display:none}
@media(min-width:701px){
 .header-search-slot{flex:1 1 auto;min-width:0;max-width:560px;margin:0 auto}
 .header-search-slot{max-width:680px}
 .app-header .header-search-wrap{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;width:100%}
 .app-header .header-search-field{flex:1 1 180px;min-width:150px}
 .app-header .header-search-wrap>button{flex:none;width:auto;margin:0;min-height:44px;padding:8px 12px;font-size:13px;white-space:nowrap}
 .header-search-filters{top:calc(var(--desk-header-h,88px) + 6px);left:calc(236px + 38px);width:min(600px,calc(100vw - 320px))}
 .app-header #account-button{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media(min-width:701px) and (max-width:1150px){
 .header-search-filters{left:calc(210px + 24px)}
 .app-header .units-toggle,.app-header .breadcrumb,.app-header #account-button,.app-header .header-identity{display:none}
 .header-search-slot{margin:0}
 .home-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .shell>aside{padding:var(--baqon-sticky-topbar) 0 0;background:none}
 .shell>aside nav.side-nav,.shell>aside .small-label,.shell>aside .aside-bottom{display:none}
 .shell>main>.app-header{display:none}
 .shell>main{padding:0 16px calc(var(--tabbar-h) + 28px + env(safe-area-inset-bottom,0px))}
 .brand-search-row{padding-left:calc(14px + env(safe-area-inset-left,0px));padding-right:calc(10px + env(safe-area-inset-right,0px))}
 .brand-search-row>.more-button{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;flex:0 0 46px;width:46px;height:46px;min-height:0;padding:0;overflow:hidden;line-height:1.1;border-radius:12px;color:#f3ead9;text-decoration:none;font-size:10px;font-weight:700}
 .brand-search-row>.more-button .i{width:24px;height:24px;flex:none}
 .brand-search-row>.more-button.is-current{background:#ffffff1a;color:#fff}
 .view-subnav{position:sticky;top:var(--baqon-sticky-topbar);z-index:35;margin:0 -16px;padding:10px 16px 0;background:linear-gradient(#faf5eb 80%,#faf5eb00)}
 .sub-tabs{margin:0 0 10px}
 .view-subnav:empty+#view{padding-top:12px}
 .tabbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:50;padding:6px max(6px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(6px,env(safe-area-inset-left,0px));background:#fffdf7f2;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid #e0d8c7;box-shadow:0 -6px 20px #233e300f}
 .tabbar>a,.tabbar>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;padding:4px 2px;border:0;border-radius:14px;background:transparent;color:#6b7468;font-size:11px;font-weight:700;text-decoration:none;-webkit-tap-highlight-color:transparent}
 .tabbar .i{width:25px;height:25px}
 .tabbar>a.is-current{color:#2f5641}
 .tabbar>a.is-current .i{stroke-width:2.3}
 .tabbar>a.is-current::after{content:"";width:18px;height:3px;border-radius:2px;background:#b66f48;margin-top:1px}
 .tab-add{color:#85492f!important}
 .tab-add-circle{display:grid;place-items:center;width:50px;height:50px;margin-top:-22px;border-radius:50%;background:linear-gradient(135deg,#b66f48,#85492f);color:#fff8ec;box-shadow:0 6px 16px #85492f55;border:3px solid #fffdf7}
 .tab-add-circle .i{width:26px;height:26px;stroke-width:2.4}
 .tab-add.is-current .tab-add-circle{box-shadow:0 0 0 3px #e8b98c,0 6px 16px #85492f55}
 .cook-timer-dock.is-floating{bottom:calc(var(--tabbar-h) + 14px + env(safe-area-inset-bottom,0px))}
 .home-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .home-action{min-height:64px;font-size:14px;padding:12px}
 .grid.home-scroller{grid-auto-columns:72%;margin:0 -16px;padding:4px 16px 10px;scroll-padding-left:16px}
 .grid.home-scroller .card-art{height:190px}
 .home-row-head h2{font-size:20px}
 .more-group{margin-left:-4px;margin-right:-4px}
 dialog#modal.add-sheet{width:100%;max-width:100%;margin:auto 0 0;border-radius:22px 22px 0 0;padding:18px 16px calc(20px + env(safe-area-inset-bottom,0px));max-height:90dvh;animation:baqonSheetUp .25s ease both}
 .add-sheet-grid{grid-template-columns:minmax(0,1fr)}
 .recipe-quick-actions{gap:6px}
 .recipe-quick-actions button{min-height:60px;font-size:12px;border-radius:14px}
}
@media(max-width:380px){
 .shell>aside .brand-search-row .brand-text{display:none}
 .home-action{font-size:13px}
}
@keyframes baqonSheetUp{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){#view.view-enter,dialog#modal.add-sheet{animation:none}.home-action,.sub-tabs a{transition:none}}
/* nav1: photo-card titles were cream-on-cream; dark ink on the cream plate is readable everywhere. */
.grid .card-title{color:#233e30;text-shadow:none}
/* search1: ranked search, suggestions dropdown, grouped results */
.header-search-wrap{position:relative}
.search-suggest{position:absolute;left:0;right:0;z-index:80;margin-top:4px;background:#fff;border:1px solid #cfd7cf;border-radius:14px;box-shadow:0 12px 32px #1f2d2433;max-height:min(70vh,560px);overflow:auto;overscroll-behavior:contain;padding:6px 0;text-align:left}
.search-suggest[hidden]{display:none}
.suggest-heading{display:flex;justify-content:space-between;align-items:center;padding:8px 14px 4px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5e695f}
.suggest-clear{background:none;border:0;color:#2f6b47;font-size:13px;font-weight:600;padding:6px 4px;min-height:32px;cursor:pointer;text-transform:none;letter-spacing:0}
.suggest-option{display:flex;align-items:center;gap:12px;min-height:52px;padding:6px 14px;cursor:pointer;color:#233a2c}
.suggest-option:hover,.suggest-option[aria-selected="true"]{background:#eef4ee}
.suggest-thumb{flex:none;width:44px;height:44px;border-radius:10px;object-fit:cover;background:#f0f3ef}
.suggest-icon{display:flex;align-items:center;justify-content:center;font-size:22px}
.suggest-text{display:flex;flex-direction:column;min-width:0}
.suggest-title{font-size:15px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.suggest-sub{font-size:12.5px;color:#5e695f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.suggest-all-row{border-top:1px solid #e3e9e3;margin-top:4px}
.suggest-all{font-weight:700;color:#2f6b47}
.search-suggest mark,.header-search-results mark{background:#ffe9a8;color:inherit;border-radius:3px;padding:0 1px}
.search-group{margin:18px 0 8px}
.search-group-title{font-size:20px;margin:0 0 10px;display:flex;align-items:baseline;gap:8px}
.search-group-title .count{font-size:14px;font-weight:500;color:#5e695f}
.search-group-uses{border-top:1px solid #dfe6df;padding-top:14px}
.search-make-missing{border-left:4px solid #a45d38;background:#fff8ef;margin:12px 0}
.search-make-missing p{margin:0 0 6px}
.search-dym{margin:8px 0;font-size:16px}
.link-button{background:none;border:0;padding:4px 2px;min-height:36px;color:#2f6b47;font-weight:700;text-decoration:underline;cursor:pointer;font-size:inherit}
.search-intent,.search-partial{margin:6px 0}
@media (max-width:700px){.search-suggest{position:fixed;left:8px;right:8px;max-height:calc(100vh - 160px);max-height:calc(100dvh - 160px)}.header-search-results h1{font-size:26px}}
@media (min-width:701px){.app-header .search-suggest{top:calc(100% + 2px);right:auto;width:min(560px,100%)}}

/* steps1: ingredient links sit inside the sentence; each step lists what it needs */
.step-with-photo{display:grid;gap:10px}
.step-text{display:block;min-width:0;overflow-wrap:anywhere}
.recipe-steps .step-body{min-width:0}
.recipe-steps .ingredient-mention,.cook-step .ingredient-mention,.step-text .ingredient-mention,.step-text .temperature-mention{display:inline;width:auto;min-width:0;min-height:0;padding:0 1px;margin:0;border:0;border-radius:3px;background:none;color:#7d4526;font:inherit;line-height:inherit;text-align:inherit;white-space:normal;vertical-align:baseline;box-shadow:none;text-decoration:underline dotted #b07a55;text-decoration-thickness:1.5px;text-underline-offset:4px;-webkit-text-decoration:underline dotted #b07a55}
.step-text .temperature-mention{color:#2f5f45;text-decoration-color:#6f9a7c}
.recipe-steps .ingredient-mention:hover,.recipe-steps .ingredient-mention[aria-expanded=true],.cook-step .ingredient-mention[aria-expanded=true]{background:#f3e5d6;text-decoration-style:solid}
.step-title{display:block;font-weight:700;font-size:1.02em;line-height:1.35;margin:0 0 4px;color:#233a2c}
.step-needs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 6px;margin:2px 0 8px;line-height:1.3}
.step-needs-label{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5e695f;margin-right:2px}
.step-need-list{display:contents;list-style:none;margin:0;padding:0}
.need-chip{display:inline-flex;align-items:center;max-width:100%;margin:0;padding:4px 10px;border:1px solid #e2d6c4;border-radius:999px;background:#fbf6ee;color:#4a3a2c;font-size:14.5px;line-height:1.3;overflow-wrap:anywhere}
.need-chip span{min-width:0}
.step-tech-chips{display:contents}
.tech-chip.tech-term{display:inline-flex;align-items:center;min-height:30px;padding:3px 10px;border:1px dashed #9bb59f;border-radius:999px;background:#f2f7f1;color:#2f5f45;font-size:13.5px;line-height:1.2;text-decoration:none}
.cook-step .step-title{font-size:1.05em}
@media (max-width:700px){.need-chip{font-size:14px;padding:4px 9px}.recipe-steps>li{line-height:1.7}}
.step-text .ingredient-mention{cursor:pointer;-webkit-tap-highlight-color:#f3e5d6}.step-text .ingredient-mention:focus-visible{outline:2px solid #7e996c;outline-offset:1px}

/* steps1: web results get Read in Baqon (full width) + Preview and Import side by side */
.web-result-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.web-result-actions .web-read{grid-column:1/-1;justify-content:center;text-align:center}
.web-result-actions>a,.web-result-actions>button{min-height:46px;display:flex;align-items:center;justify-content:center;text-align:center;margin:0;width:100%;font-size:15px;padding:8px 10px}
.web-preview-note{margin:8px 0 0}
.web-preview-view{display:flex;flex-direction:column;min-height:calc(100dvh - 150px)}
.web-frame{display:block;width:100%;height:calc(100dvh - 210px);min-height:420px;border:1px solid var(--line);border-radius:12px;background:#fff}
.web-frame-note{margin:6px 0 8px}
@media (min-width:701px){.web-result-actions{grid-template-columns:auto auto auto;justify-content:start}.web-result-actions .web-read{grid-column:auto}}

/* steps1: Import + Search web side by side, compact, wherever they pair up */
.header-web-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.header-web-actions:not(:has(button:not([hidden]))){display:none}
.header-web-actions>button{width:100%;min-height:38px;height:38px;margin:0;padding:4px 10px;font-size:14px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:10px;display:flex;align-items:center;justify-content:center}
.header-web-actions>button[hidden]{display:none}
.header-web-actions>button:only-child{grid-column:1/-1}
.web-search-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:8px}
.web-search-actions>button,.web-search-actions>a{min-height:40px;padding:6px 10px;margin:0;font-size:14px;line-height:1.2;display:flex;align-items:center;justify-content:center;text-align:center}
/* steps1: import badge — a small round button by the tab bar, never a panel over the page */
.import-badge{position:fixed;z-index:60;right:max(14px,env(safe-area-inset-right,0px));bottom:calc(80px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:8px;height:48px;min-width:48px;max-width:calc(100vw - 28px);padding:0 6px;border-radius:999px;border:1px solid #cfd8cc;background:#fffdf7;color:#233a2c;box-shadow:0 6px 18px #1f2d2433;font-size:14px;font-weight:600;line-height:1;cursor:pointer;transition:max-width .25s ease,padding .25s ease}
.import-badge-icon{position:relative;flex:none;width:34px;height:34px;border-radius:50%;background:#edf4e8;display:grid;place-items:center}
.import-badge-icon::before{content:'';width:16px;height:16px;border-radius:50%;background:#314f3b;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 3v11m0 0 4-4m-4 4-4-4M5 19h14" stroke="black" stroke-width="2.6" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 3v11m0 0 4-4m-4 4-4-4M5 19h14" stroke="black" stroke-width="2.6" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat}
.import-badge-label{display:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:8px}
.import-badge.is-open .import-badge-label{display:block}
.import-badge-count:empty{display:none}
.import-badge-count{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#a45d38;color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;border:2px solid #fffdf7}
.import-badge.is-open .import-badge-count{position:static;border:0}
.import-badge[data-state=working] .import-badge-icon{background:none}
.import-badge[data-state=working] .import-badge-icon::before{width:26px;height:26px;-webkit-mask:none;mask:none;background:none;border:3px solid #d7e2d4;border-top-color:#314f3b;animation:import-spin .9s linear infinite}
.import-badge[data-state=ready]{border-color:#8fb394}
.import-badge[data-state=ready] .import-badge-icon{background:#314f3b}
.import-badge[data-state=ready] .import-badge-icon::before{background:#fff;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m5 12.5 4.5 4.5L19 7.5" stroke="black" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m5 12.5 4.5 4.5L19 7.5" stroke="black" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat}
.import-badge[data-state=ready] .import-badge-icon::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid #4f8a5d;animation:import-pulse 1.8s ease-out infinite}
.import-badge.has-problem .import-badge-icon::after{content:'';position:absolute;top:-2px;right:-2px;width:12px;height:12px;border-radius:50%;background:#c0392b;border:2px solid #fffdf7;animation:none;inset:auto -2px auto auto}
.import-badge[data-state=failed]{border-color:#e3b3a8}
.import-badge[data-state=failed] .import-badge-label{color:#8f2f22}
@keyframes import-spin{to{transform:rotate(360deg)}}
@keyframes import-pulse{0%{transform:scale(.85);opacity:.9}70%{transform:scale(1.35);opacity:0}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.import-badge[data-state=ready] .import-badge-icon::after{animation:none;opacity:1;transform:none}.import-badge[data-state=working] .import-badge-icon::before{animation-duration:2.4s}}
body.has-import-badge main{padding-bottom:calc(150px + env(safe-area-inset-bottom,0px))}
@media (min-width:701px){.import-badge{bottom:24px;right:24px}body.has-import-badge main{padding-bottom:90px}}
.import-sheet{display:grid;gap:10px;margin:12px 0}
.draft-review-controls #review-publish{flex:1 1 100%;min-height:50px;font-size:17px;font-weight:700}
.need-chip{font-size:13.5px;padding:3px 9px}
@media (max-width:700px){.need-chip{font-size:13px;padding:3px 8px}.step-needs{gap:5px}}
.header-web-actions>button{font-size:13.5px;padding:4px 6px}
/* art1: drawn dish art and the neutral tile for recipes with no photo */
.card-art img.dish-art,.dish-art{width:100%;height:100%;object-fit:cover;display:block;background:#ece7da}
.detail-hero-wrap.no-hero-photo{height:auto;background:transparent}
.detail-hero.detail-hero-art{display:block;width:100%;height:180px;object-fit:cover;border-radius:12px}
.detail-hero.detail-hero-art.is-tile{height:96px}
.shortcut-dish-art{width:100%;height:100%;object-fit:cover;display:block}
.photo-credit{margin:6px 0 0;overflow-wrap:anywhere}

/* gloss1: dotted underline on obscure ingredients; the card reuses the cooking-help popover */
.gloss-term{text-decoration:underline dotted 2px;text-decoration-color:#b5651d;text-underline-offset:3px;cursor:help;padding:10px 1px;margin:-10px -1px;border-radius:6px;-webkit-tap-highlight-color:#b5651d33}
.gloss-term:focus-visible{outline:2px solid #b5651d;outline-offset:2px}
.cooking-help .gloss-card{margin-top:6px}
.cooking-help .gloss-card+.gloss-card,.cooking-help small+.gloss-card{border-top:1px solid #e3ddd2;padding-top:10px;margin-top:10px}
.gloss-card h3{margin:2px 0 4px;font-size:1.1rem}
.gloss-card h4{margin:12px 0 2px;font-size:.95rem}
.gloss-card p{margin:4px 0;line-height:1.45}
.gloss-card .gloss-more{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.gloss-card .gloss-src{display:block;margin-top:6px;color:#6b6b6b}
.gloss-card .gloss-src a{display:inline-block;padding:6px 0}

.gloss-card .gloss-title-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.gloss-card .gloss-origin-flag{font-size:1.25em;line-height:1;display:inline-block}
.gloss-card .gloss-origin{margin:0 0 8px;color:#2f4c38;font-size:.95rem}
.gloss-card.gloss-technique h4{margin:10px 0 2px}
.gloss-card.gloss-technique ol{margin:4px 0 8px;padding-left:1.25rem}
.gloss-card.gloss-technique ol li{margin:0 0 4px;line-height:1.45}

.cooking-help.gloss-help{max-height:min(70vh,520px);overflow:auto}

/* ===== Baqon Diner Pop (day) + Night mode · 20261109-pop1 =====
   Day: forest-green brand + tomato/mustard accents.
   Night: same brand accents on dark surfaces (~#141a17).
   Theme via html[data-theme=auto|day|night]; Auto follows prefers-color-scheme.
   Failed import badge uses deep crimson + ! (not tomato). */
:root{
  --palette-name:"Diner Pop";
  --ink:#243528;
  --green:#314f3b;
  --cream:#fff6e8;
  --line:#e2d5bf;
  --muted:#5f6a60;
  --orange:#c23a2b;
  --copper:#c23a2b;
  --copper-light:#f0a090;
  --warm-highlight:#ffe08a;
  --accent:#c23a2b;
  --accent-2:#e3a512;
  --accent-ink:#fff8ec;
  --header-bg:#2a4634;
  --header-fg:#fff8ec;
  --panel:#fffdf7;
  --panel-2:#fffaf0;
  --danger:#6e1410;
  --danger-ink:#fff5f2;
  --shadow-soft:0 4px 18px #314f3b14;
  --shadow-lift:0 10px 28px #c23a2b22;
  color-scheme:light;
}
body{
  background:
    radial-gradient(ellipse at 90% -10%,#ffe08a44,transparent 42%),
    radial-gradient(ellipse at 0% 100%,#c23a2b12,transparent 40%),
    var(--cream);
  color:var(--ink);
}
.primary,button.primary,.book-tab-bar .active,.shelf-segments button.active,.search-shelf-choice button[aria-pressed=true]{
  background:linear-gradient(135deg,#d14536,#c23a2b);
  border-color:#9e2e22;
  color:var(--accent-ink);
  box-shadow:0 3px 10px #c23a2b33;
}
.app-header{
  background:#2a4634f5;
  color:var(--header-fg);
  border-bottom:3px solid var(--accent-2);
}
.app-header .primary{
  background:linear-gradient(135deg,#e3a512,#d0920a);
  border-color:#b87c08;
  color:#2a2410;
  box-shadow:0 3px 10px #122b2540;
}
.header-search-field{border-color:var(--accent-2);background:var(--panel-2)}
.header-search-field input[type=search]{color:var(--ink)}
.home-action.is-primary{
  background:linear-gradient(135deg,#d14536,#c23a2b);
  border-color:#9e2e22;
  color:var(--accent-ink);
}
.home-action.is-primary .i{color:var(--accent-ink)}
.home-action .i{color:var(--accent)}
.tabbar>a.is-current{color:var(--green)}
.tabbar>a.is-current::after{background:var(--accent)}
@media(max-width:700px){
  .tab-add{color:#9e2e22!important}
  .tab-add-circle{
    background:linear-gradient(135deg,#d14536,#c23a2b);
    color:#fff8ec;
    box-shadow:0 6px 16px #c23a2b55;
    border-color:#fffdf7;
  }
  .tab-add.is-current .tab-add-circle{box-shadow:0 0 0 3px #ffe08a,0 6px 16px #c23a2b55}
}
.meal-category-grid button.active,.category-chips button.active{
  background:var(--green);
  border-color:var(--green);
  color:#fff;
  box-shadow:inset 0 -3px 0 var(--accent-2);
}
.web-result-site{color:var(--accent)}
.web-result-actions .web-import,button.web-import,.web-import-button.primary{
  background:linear-gradient(135deg,#d14536,#c23a2b);
  border-color:#9e2e22;
  color:#fff8ec;
}
.web-result-actions .web-preview{
  border-color:var(--accent-2);
  color:#7a5a08;
  background:#fff4cc;
}
.eyebrow,#view>.eyebrow{color:var(--accent)}
.inspiration-ribbon{background:linear-gradient(110deg,#fff0d4,#ffe8e0);border-color:#f0c9a0}
.ribbon-icon{color:var(--accent);background:#fff8ec}
.install-tip{background:#314f3b;border-color:var(--accent-2);border-left-color:var(--accent)}
.card-fav,.card-share{color:var(--accent)}
.grid .card:hover{border-color:#e3a512aa}
.recipe-jump button.active,.sub-tabs a.active{
  background:var(--green);color:#fff8ec;box-shadow:inset 0 -3px 0 var(--accent-2);
}
/* Glossary / You'll need */
.gloss-term,.tech-term{color:#9e2e22;border-bottom:1px dotted #c23a2b}
.gloss-term:hover,.gloss-term:focus-visible,.tech-term:hover,.tech-term:focus-visible{background:#ffe8e0;outline-color:#e3a512}

.mention-amount{font-weight:500;color:#5e695f;font-size:.9em;white-space:nowrap}
.cook-step .cook-line{display:block;margin:0 0 .4em;line-height:1.45}
.cook-step .cook-line:last-child{margin-bottom:0}

.need-chip,.step-needs .need-chip{
  background:#fff4cc;border:1px solid #e3a512;color:#5a4208;border-radius:999px;padding:4px 10px;font-size:13px
}
.step-needs-label{color:var(--muted)}
.tech-chip.tech-term{background:#fff4cc;border-color:#e3a512;color:#5a4208}
/* Import badge — tomato ready pulse; FAILED = deep crimson + ! (not tomato) */
.import-badge{background:var(--panel);border-color:var(--line);color:var(--ink)}
.import-badge-count{background:var(--accent);border-color:var(--panel)}
.import-badge[data-state=working] .import-badge-icon::before{border-color:#e8dcc8;border-top-color:var(--green)}
.import-badge[data-state=ready]{border-color:#e3a512}
.import-badge[data-state=ready] .import-badge-icon{background:var(--green)}
.import-badge[data-state=ready] .import-badge-icon::after{border-color:#e3a512}
.import-badge.has-problem .import-badge-icon::after,
.import-badge[data-state=failed] .import-badge-icon::after{
  content:"";position:absolute;top:-3px;right:-3px;width:16px;height:16px;border-radius:50%;
  background:var(--danger);border:2px solid var(--panel);animation:none;inset:auto -3px auto auto;
  -webkit-mask:none;mask:none;
  box-shadow:inset 0 0 0 1px #3a0906;
}
.import-badge[data-state=failed]{
  border-color:#8a2a22;background:#fff8f6;
}
.import-badge[data-state=failed] .import-badge-label{color:var(--danger);font-weight:700}
.import-badge[data-state=failed] .import-badge-icon{
  background:var(--danger);color:var(--danger-ink);
}
.import-badge[data-state=failed] .import-badge-icon::before{
  width:18px;height:18px;border-radius:0;background:var(--danger-ink);
  border:0;animation:none;
  -webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M11 6h2v9h-2zm0 11h2v2h-2z"/><circle cx="12" cy="12" r="10" fill="none" stroke="black" stroke-width="2"/></svg>') center/contain no-repeat;
  mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M11 6h2v9h-2zm0 11h2v2h-2z"/><circle cx="12" cy="12" r="10" fill="none" stroke="black" stroke-width="2"/></svg>') center/contain no-repeat;
}
/* Shopping / plan / pantry accents */
.shopping-item input[type=checkbox],.pantry-checklist input[type=checkbox]{accent-color:var(--green)}
.plan-day.active,.plan-controls button.primary{border-color:var(--accent-2)}
/* Theme toggle UI */
.more-theme{align-items:flex-start}
.theme-toggle{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:#efe6d6;border:1px solid var(--line);flex:none}
.theme-toggle button{
  min-height:36px;padding:6px 12px;border:0;border-radius:999px;background:transparent;
  color:var(--ink);font-size:13px;font-weight:650
}
.theme-toggle button[aria-pressed=true]{
  background:var(--green);color:#fff8ec;box-shadow:inset 0 -2px 0 var(--accent-2)
}
.theme-toggle button:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}

/* ---- Night (manual) ---- */

@media(max-width:700px){
  
}

.tech-chip.tech-term{
  background:#3a3020;border-color:#e3a512;color:#ffe08a
}

/* subtle optional violet wash — not a second brand */

/* ---- Auto: follow system dark ---- */

/* Night: keep tomato CTAs (don't let panel overrides flatten them) */

html[data-theme="auto"] .home-action.is-primary{
  background:linear-gradient(135deg,#d14536,#c23a2b)!important;
  border-color:#9e2e22!important;
  color:#fff8ec!important;
}

html[data-theme="auto"] .home-action.is-primary .i{color:#fff8ec!important}

html[data-theme="auto"] .primary,
html[data-theme="auto"] button.primary,
html[data-theme="auto"] .web-result-actions .web-import,
html[data-theme="auto"] button.web-import{
  background:linear-gradient(135deg,#d14536,#c23a2b)!important;
  border-color:#9e2e22!important;
  color:#fff8ec!important;
}

html[data-theme="auto"] .app-header .primary{
  background:linear-gradient(135deg,#e3a512,#d0920a)!important;
  border-color:#b87c08!important;
  color:#2a2410!important;
}
@media(max-width:700px){
  
  html[data-theme="auto"] .tab-add-circle{
    background:linear-gradient(135deg,#d14536,#c23a2b)!important;
    color:#fff8ec!important;
  }
}
/* Failed badge: cream/dark panel + deep crimson icon with ! — not tomato fill */
.import-badge[data-state=failed]{
  background:#fff8f6!important;
  border:2px solid #6e1410!important;
  color:#6e1410!important;
}
.import-badge[data-state=failed] .import-badge-icon{
  background:#6e1410!important;
}
.import-badge[data-state=failed] .import-badge-count{
  background:#6e1410!important;
  color:#fff5f2!important;
  border-color:#fff8f6!important;
}

html[data-theme="auto"] .import-badge[data-state=failed]{
  background:#2a1614!important;
  border-color:#8b1a12!important;
  color:#f0cfc8!important;
}

/* ===== Night readability fix · 20261109-pop1b =====
   Beat hardcoded day greys (#566458 / #39453a / author-link)
   so card blurbs + author credits pass WCAG AA on dark cards. */

/* ===== Night: every card body dark · 20261109-pop1c =====
   Day nth-child cream/white card-body rules (.grid .card:nth-child(3n…))
   outrank the earlier night .card-body rule. Force all variants dark. */

/* keep readable text on those bodies */

/* groups1: ingredient groups as small collapsible headers (forest green by day, Diner Pop mustard at night) */
.ing-groups{--group-ink:var(--green,#314f3b);--group-rule:var(--accent-2,#e3a512);--group-chip:#314f3b14}

.ing-group{margin-top:14px}
.ing-group-loose+.ing-group,.ing-groups>.ing-group:first-child{margin-top:6px}
.ing-group-head{display:flex;align-items:center;gap:8px;border-bottom:2px solid var(--group-rule);padding-bottom:2px}
.ing-group-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 2px;background:none;border:0;box-shadow:none;color:var(--group-ink);font:inherit;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;text-align:left;cursor:pointer}
.ing-group-toggle:hover,.ing-group-toggle:focus-visible{background:var(--group-chip);border-radius:8px}
.ing-group-name{overflow:hidden;text-overflow:ellipsis}
.ing-group-caret{display:inline-block;width:16px;transition:transform .15s ease;font-size:15px;line-height:1}
.ing-group.is-collapsed .ing-group-caret{transform:rotate(-90deg)}
.ing-group-count{flex:0 0 auto;min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:var(--group-chip);color:var(--group-ink);font-size:12px;letter-spacing:0;display:inline-grid;place-items:center}
.ing-group-shop{flex:0 0 auto;min-height:36px;padding:6px 10px;font-size:12px;font-weight:700;border-radius:10px;background:transparent;border:1px solid var(--group-rule);color:var(--group-ink)}
.ing-group-body[hidden]{display:none}
.need-chip .need-group{display:inline-block;margin-left:6px;font-size:11px;font-weight:700;color:var(--green,#314f3b);opacity:.85}

@media (prefers-reduced-motion:reduce){.ing-group-caret{transition:none}}

/* groups1b: the group header stays a plain label in every theme (night buttons otherwise get a filled box) */
.ing-groups .ing-group-toggle{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--group-ink)!important}
.ing-groups .ing-group-toggle:hover,.ing-groups .ing-group-toggle:focus-visible{background:var(--group-chip)!important}
.ing-groups .ing-group-shop{background:transparent!important;color:var(--group-ink)!important;border:1px solid var(--group-rule)!important;box-shadow:none!important}
.cook-step-ingredients .need-group{margin-left:8px;font-size:12px;font-weight:700;color:var(--green,#314f3b)}

/* groups1b: lines above the first group sit in the same card rhythm, set off by a soft rule instead of floating loose */
.ing-group-loose{padding:2px 0 6px;margin-bottom:4px;border-bottom:1px dashed var(--line,#e2d5bf)}
.ing-group-loose .ingredient-row:last-child{border-bottom:0}

/* steps2: one chip per group a step builds, plain 'from step N' references, technique chips after the step text */
.need-group-chip{padding:0!important;border-color:var(--accent-2,#e3a512)!important}
.need-group-btn{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:3px 10px;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer;border-radius:999px}
.need-group-btn:focus-visible{outline:2px solid var(--accent-2,#e3a512);outline-offset:2px}
.need-group-meta{font-size:11.5px;font-weight:700;padding:0 6px;border-radius:9px;background:#314f3b14;color:var(--green,#314f3b)}
.need-group-btn::after{content:'▸';font-size:11px;opacity:.7}
.need-group-btn[aria-expanded="true"]::after{content:'▾'}
.need-chip.need-ref{background:transparent;border-style:dashed;color:var(--muted,#5f6a60);font-size:13px}
.need-chip.need-ref small{font-size:11.5px}
.step-body>.step-tech-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}
.cook-step-ingredients .step-needs{margin-top:10px}
.cook-step-ingredients>.step-tech-chips,.cook-stage>.step-tech-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.ingredient-mention.group-mention{font-weight:600}

.need-chip.need-ref small{margin-left:5px}
/* steps2b: cook-mode You'll need row and technique chips clear the sticky Back/Next bar, day and night */
.kitchen-cook .cook-stage{padding-bottom:28px}
.kitchen-cook .cook-step-ingredients,.kitchen-cook .cook-stage>.step-tech-chips{scroll-margin-bottom:120px;position:relative;z-index:1}
.cook-step-ingredients .step-need-list{display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:6px 0 0;font-size:inherit;line-height:1.3}
.cook-step-ingredients .step-needs{margin-top:0}
.cook-step-ingredients .step-needs-label{display:block;font-size:13px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#314f3b}

/* books1: book view paging controls */
.book-more{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:16px 0 8px}
.book-more .more-button{margin:0}
.book-more .book-show-all{background:transparent}
.search-grouped{margin:6px 0}
/* books1: the last row (Show more / Show all) must scroll clear of the bottom tab bar on phones */
@media (max-width:700px){.shell>main{padding-bottom:calc(var(--tabbar-h,74px) + 72px + env(safe-area-inset-bottom,0px))}.book-more{margin-bottom:12px}}
/* books1: 'Show more recipes/results' buttons share the class of the phone header's More link, which is display:none
   everywhere else (see ".tabbar,.more-button"), so paging was invisible. Only <button>s are restored; the header <a> is untouched. */
button.more-button{display:block;margin:18px auto 6px;padding:12px 24px;min-height:48px;border:1px solid var(--line,#dddcd2);border-radius:14px;background:#fff;color:var(--green,#314f3b);font:inherit;font-weight:800;cursor:pointer}
button.more-button:focus-visible{outline:3px solid var(--orange,#b36d44);outline-offset:2px}
.book-more button.more-button{display:inline-flex;align-items:center;justify-content:center;margin:0}

/* importdel1: Delete (danger) buttons, Clear all failed, delete confirmation */
.notice-danger,.import-notice .notice-job-actions button.notice-danger,.draft-review-controls button.notice-danger{background:var(--danger,#c0392b);border:1px solid var(--danger,#c0392b);color:var(--danger-ink,#fff);font-weight:800;min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.notice-danger:disabled{opacity:.6}
.import-sheet-footer{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-top:6px}
.import-sheet-footer .notice-danger{padding:9px 16px}
.import-notice .notice-job-actions button,.import-sheet-footer button{touch-action:manipulation}
.import-delete-warning{font-size:18px;margin:4px 0}
.import-delete-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.import-delete-actions button{min-height:48px;padding:10px 20px;font-size:16px;touch-action:manipulation}

.import-sheet{max-height:min(54vh,430px)}

/* ===== home1 · 20261109-home1: Home middle, honest credits, Print, Make a cookbook =====
   Header and tab bar untouched. Colours come from the Diner Pop variables so day, night and auto all follow. */
.author-credit{color:var(--muted);font-weight:600}
.my-books-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.my-books-make{background:transparent!important;color:var(--accent,#c23a2b)!important;border:1px solid currentColor!important}

/* Home hero + featured card */
.home-hero{margin:14px 0 12px}
.home-hero h1{font-size:clamp(28px,7.4vw,40px);margin:0 0 2px;line-height:1.05}
.home-feature{position:relative;display:block;border-radius:22px;overflow:hidden;aspect-ratio:4/3.15;margin:0 0 14px;background:#2a4634;box-shadow:var(--shadow-lift);color:#fff8ec}
.home-feature-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.home-feature-art{object-fit:contain;padding:14% 20% 34%;background:#efe5cd}
.home-feature-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0b130e00 32%,#0b130eb8 68%,#0b130ef2 100%)}
.home-feature-body{position:absolute;left:16px;right:16px;bottom:14px}
.home-feature-eyebrow{margin:0 0 3px;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;font-weight:800;color:#ffe08a}
.home-feature-title{margin:0 0 4px;font-size:25px;line-height:1.1;color:#fff8ec;letter-spacing:-.4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 2px 8px #0008}
.home-feature-meta{margin:0 0 10px;font-size:13px;color:#f4e9d3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-feature-actions{display:flex;gap:8px}
.home-feature-actions button{min-height:44px;border-radius:14px;padding:0 18px;font-weight:700}
.home-feature .home-shuffle{background:#ffffff26!important;border:1px solid #ffffff66!important;color:#fff8ec!important;backdrop-filter:blur(4px)}

/* Quick actions: four compact tiles */
.home-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 16px}
.home-action{flex-direction:column;justify-content:center;gap:5px;min-height:70px;padding:10px 4px;font-size:13px;text-align:center}
.home-action .i{width:24px;height:24px}

/* Rows of big photo cards */
.home-row{margin:0 0 22px;content-visibility:auto;contain-intrinsic-size:auto 300px}
.home-scroller{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:4px 16px 12px;margin:0 -16px;scroll-padding-left:16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.home-scroller::-webkit-scrollbar{display:none}
.hcard{position:relative;display:block;flex:0 0 auto;width:158px;aspect-ratio:3/4;padding:0;border:0;border-radius:18px;overflow:hidden;background:var(--panel-2,#fffaf0);box-shadow:var(--shadow-soft);scroll-snap-align:start;text-align:left;color:#fff8ec}
.hcard-art{position:absolute;inset:0;display:block;background:var(--panel-2,#fffaf0)}
.hcard-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hcard-art img.hcard-dish{object-fit:contain;padding:16% 18% 40%}
.hcard-shade{position:absolute;left:0;right:0;bottom:0;height:66%;background:linear-gradient(180deg,#0b130e00,#0b130ee6)}
.hcard-text{position:absolute;left:10px;right:10px;bottom:10px;display:flex;flex-direction:column;gap:3px}
.hcard-title{font:700 15px/1.18 Georgia,serif;color:#fff8ec;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 6px #0009}
.hcard-meta{font-size:11px;line-height:1.25;color:#f1e6d0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hcard-meta b{color:#ffe08a;font-weight:800}
@media (min-width:700px){.hcard{width:190px}.home-scroller{margin:0;padding-left:2px;padding-right:2px}}

/* Category tiles */
.cat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cat-tile{display:flex;align-items:center;gap:10px;min-height:58px;padding:6px 12px 6px 6px;border-radius:16px;border:1px solid var(--line);background:var(--panel,#fffdf7);color:var(--ink);text-align:left;box-shadow:var(--shadow-soft)}
.cat-thumb{flex:0 0 46px;width:46px;height:46px;border-radius:12px;overflow:hidden;background:var(--panel-2,#fffaf0);display:grid;place-items:center;color:var(--accent)}
.cat-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cat-name{flex:1;min-width:0;font-weight:700;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cat-count{font-size:12px;color:var(--muted)}

/* This week strip */
.home-week-strip{display:flex;gap:8px;overflow-x:auto;margin:0 -16px;padding:2px 16px 8px;scrollbar-width:none}
.home-week-strip::-webkit-scrollbar{display:none}
.week-day{flex:0 0 78px;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:98px;padding:8px 6px;border-radius:16px;border:1px solid var(--line);background:var(--panel,#fffdf7);color:var(--ink)}
.week-day.is-today{border-color:var(--accent,#c23a2b);box-shadow:inset 0 0 0 1px var(--accent,#c23a2b)}
.week-day.is-empty{opacity:.7}
.week-dow{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.week-num{font:700 22px/1.1 Georgia,serif}
.week-meal{font-size:11px;line-height:1.2;text-align:center;max-height:2.4em;overflow:hidden}
.week-meal i{font-style:normal;color:var(--accent);font-weight:800}

/* Make a cookbook */
.cb-card{background:var(--panel,#fffdf7);border:1px solid var(--line);border-radius:18px;padding:14px 16px 16px;margin:0 0 14px;box-shadow:var(--shadow-soft)}
.cb-card h2{font-size:19px;margin:0 0 10px}
.cb-fields{display:grid;gap:10px}
.cb-fields input,.cb-card select,.cb-card input[type=search]{width:100%;min-height:46px;font-size:16px}
.cb-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 12px}
.cb-seg button{min-height:46px;padding:6px;border-radius:12px;font-weight:700;font-size:14px}
.cb-seg button span{font-weight:600;opacity:.75;margin-left:2px}
.cb-seg button[aria-pressed=true]{background:var(--green)!important;border-color:var(--green)!important;color:#fff8ec!important}
.cb-results{display:grid;gap:6px;max-height:260px;overflow:auto;margin:8px 0}
.cb-pick{display:flex;flex-direction:row;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2,#fffaf0);font-weight:400}
.cb-pick input{width:22px;height:22px;flex:0 0 22px}
.cb-pick span{display:grid;min-width:0}.cb-pick strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cb-pick small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cb-sub{font-size:15px;margin:12px 0 4px}
.cb-cover-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.cb-thumb{aspect-ratio:1;padding:0;border-radius:12px;overflow:hidden;border:2px solid var(--line);background:var(--panel-2,#fffaf0);display:grid;place-items:center;font-size:12px;font-weight:700}
.cb-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cb-thumb[aria-pressed=true]{border-color:var(--accent,#c23a2b);box-shadow:0 0 0 2px var(--accent,#c23a2b)}
.cb-upload{margin-top:10px}.cb-upload input{font-size:14px}
.cb-actions{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}
.cb-actions button{min-height:48px;padding:10px 18px;font-weight:700;border-radius:14px}
.cb-actions button:disabled{opacity:.5}
.cb-preview{margin:18px 0}
.cb-preview-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.cb-preview-head h2{margin:0;font-size:20px}
.bk-sheet{display:grid;gap:14px;margin-top:10px}
.bk-sheet .bk-page{background:#fff;color:#222;border:1px solid #d8d0bd;border-radius:6px;padding:20px 18px;box-shadow:0 4px 18px #0000001f;font:13px/1.4 Georgia,serif;overflow:hidden}
.bk-sheet .bk-page h1{font-size:30px;line-height:1.05;margin:0 0 6px;color:#1d2b21}
.bk-sheet .bk-page h2{font-size:21px;margin:2px 0 6px;color:#1d2b21}
.bk-sheet .bk-page h3{font-size:12px;letter-spacing:1px;text-transform:uppercase;margin:10px 0 4px;color:#555}
.bk-cover{text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center}
.bk-cover-photo{width:100%;max-height:300px;object-fit:cover;border-radius:6px}
.bk-cover-art{font-size:72px;color:#c23a2b}
.bk-sub{font-size:16px;font-style:italic;margin:0}.bk-count,.bk-made{margin:2px 0;font-size:12px;color:#666}
.bk-toc-sec ul,.bk-credit-list,.bk-lic{list-style:none;padding:0;margin:0}
.bk-toc-sec li{display:flex;align-items:baseline;gap:4px;padding:1px 0}
.bk-toc-title{min-width:0}.bk-toc-dots{flex:1;border-bottom:1px dotted #999;transform:translateY(-3px);min-width:12px}.bk-toc-no{font-variant-numeric:tabular-nums;color:#555}
.bk-toc-note{font-size:11px;color:#777;margin-top:12px}
.bk-eyebrow{margin:0;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:#777}
.bk-meta-row{display:flex;gap:10px;align-items:center;margin:4px 0 8px}.bk-photo{width:64px;height:64px;object-fit:cover;border-radius:6px}
.bk-cols{display:grid;gap:8px}
.bk-credit-list li{padding:2px 0;font-size:12px}.bk-n{display:inline-block;min-width:1.6em;color:#888}
.pr-ing ul{list-style:none;margin:0 0 6px;padding:0}.pr-ing li{padding:1px 0 1px 12px;text-indent:-12px;margin:0}.pr-ing li::before{content:"• ";}
.pr-ing h4{margin:8px 0 2px;font-size:11px;text-transform:uppercase;letter-spacing:.6px}
.pr-steps{padding-left:1.3em;margin:0}.pr-steps li{margin:0 0 6px;padding-left:4px}
.pr-meta{margin:2px 0;font-size:12px}.pr-credit{font-size:11px;color:#555;border-top:1px solid #ccc;margin-top:10px;padding-top:5px}

/* Print: only #print-root prints. No chips, nav, buttons or ads. */
#print-root{display:none}
@media print{
 @page{margin:.55in}
 html,body{background:#fff!important;color:#000!important;color-scheme:light!important}
 body>*:not(#print-root){display:none!important}
 #print-root{display:block!important;color:#000;font:10.5pt/1.38 Georgia,"Times New Roman",serif}
 #print-root *{box-shadow:none!important;text-shadow:none!important}
 #print-root img{max-width:100%}
 #print-root.print-single .pr-head{display:flex;flex-direction:row-reverse;gap:14px;align-items:flex-start;border-bottom:2px solid #000;padding-bottom:8px;margin-bottom:10px}
 #print-root.print-single .pr-head>div{flex:1;min-width:0}
 #print-root .pr-photo{width:1.45in;height:1.45in;object-fit:cover;border-radius:6px;flex:0 0 auto}
 #print-root .pr-eyebrow{margin:0;font-size:8pt;letter-spacing:1px;text-transform:uppercase;color:#555}
 #print-root.print-single h1{font-size:22pt;line-height:1.1;margin:2px 0 4px;letter-spacing:0}
 #print-root.print-single h2{font-size:13pt;margin:12px 0 5px;border-bottom:1px solid #999;padding-bottom:2px;break-after:avoid}
 #print-root .pr-meta{margin:1px 0;font-size:10pt}
 #print-root .pr-units{color:#555;font-size:9pt}
 #print-root .pr-desc{font-style:italic;margin:6px 0}
 #print-root .pr-ing ul{margin:0 0 4px}
 #print-root .pr-ing li{break-inside:avoid;padding-left:12px;text-indent:-12px}
 #print-root .pr-ing h4{font-size:9.5pt;margin:6px 0 2px;break-after:avoid}
 #print-root .pr-two{column-count:2;column-gap:.3in}
 #print-root .pr-steps{padding-left:1.35em}
 #print-root .pr-steps li{margin:0 0 5px;break-inside:avoid;padding-left:3px}
 #print-root .pr-credit{font-size:8.5pt;color:#333;border-top:1px solid #aaa;margin-top:10px;padding-top:5px;word-break:break-word}
 #print-root .pr-foot{font-size:8pt;color:#666;margin:6px 0 0;word-break:break-all}
 /* cookbook */
 #print-root .bk-page{break-after:page;page-break-after:always}
 #print-root .bk-page:last-child{break-after:auto;page-break-after:auto}
 #print-root .bk-cover{min-height:8.6in;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.25in}
 #print-root .bk-cover-photo{width:5.8in;height:4.6in;object-fit:cover;border-radius:8px}
 #print-root .bk-cover-art{font-size:110pt;color:#c23a2b}
 #print-root .bk-cover h1{font-size:38pt;line-height:1.05;margin:0}
 #print-root .bk-sub{font-size:16pt;font-style:italic;margin:6px 0 0}
 #print-root .bk-count,#print-root .bk-made{font-size:10pt;color:#555;margin:4px 0}
 #print-root .bk-toc h2,#print-root .bk-credits h2{font-size:22pt;margin:0 0 8px;border-bottom:2px solid #000}
 #print-root .bk-toc h3,#print-root .bk-credits h3{font-size:10pt;letter-spacing:1px;text-transform:uppercase;margin:12px 0 3px;break-after:avoid}
 #print-root .bk-toc{column-count:2;column-gap:.35in}
 #print-root .bk-toc h2{column-span:all}
 #print-root .bk-toc-sec{break-inside:avoid-column}
 #print-root .bk-toc ul,#print-root .bk-credit-list,#print-root .bk-lic{list-style:none;padding:0;margin:0}
 #print-root .bk-toc li{display:flex;align-items:baseline;gap:4px;font-size:10pt;padding:1px 0}
 #print-root .bk-toc-dots{flex:1;border-bottom:1px dotted #777;transform:translateY(-3px)}
 #print-root .bk-toc-note{column-span:all;font-size:8.5pt;color:#555}
 #print-root .bk-eyebrow{margin:0;font-size:8.5pt;letter-spacing:1.4px;text-transform:uppercase;color:#555}
 #print-root .bk-recipe h2{font-size:22pt;margin:2px 0 6px;line-height:1.1}
 #print-root .bk-meta-row{display:flex;gap:.15in;align-items:center;margin:0 0 8px}
 #print-root .bk-photo{width:1.15in;height:1.15in;object-fit:cover;border-radius:6px}
 #print-root .bk-cols{display:grid;grid-template-columns:2.3in 1fr;gap:.3in;align-items:start}
 #print-root .bk-recipe h3{font-size:10pt;letter-spacing:1px;text-transform:uppercase;margin:4px 0 4px;border-bottom:1px solid #999}
 #print-root .bk-credits li{font-size:9.5pt;padding:1px 0;break-inside:avoid}
 #print-root .bk-n{display:inline-block;min-width:1.8em;color:#777}
}

/* home1: Print sits in the recipe action row next to Share (six small tiles); the top-bar copy is only for non-reader dialogs */
.recipe-quick-actions{grid-template-columns:repeat(6,minmax(0,1fr));max-width:680px}
.recipe-quick-actions button{font-size:12px;padding:8px 2px}
@media (max-width:420px){.recipe-quick-actions{gap:5px}.recipe-quick-actions button{font-size:11px;min-height:58px;border-radius:12px}.recipe-quick-actions button .i{width:22px;height:22px}}
.recipe-reader #detail-print-top{display:none!important}
/* home1: print always on white paper with black text, whatever theme the screen uses (Night headings were white-on-white) */
@media print{
 @page{margin:.5in}
 html,body,html[data-theme="auto"] body{background:#fff!important;background-image:none!important}
 body::before,body::after{display:none!important}
 #print-root,#print-root *{color:#000!important;background:transparent!important;border-color:#999}
 #print-root{font-size:10pt;line-height:1.32}
 #print-root .pr-eyebrow,#print-root .pr-units,#print-root .pr-foot,#print-root .pr-credit,#print-root .bk-eyebrow,#print-root .bk-count,#print-root .bk-made,#print-root .bk-n,#print-root .bk-toc-note,#print-root .bk-toc-no{color:#444!important}
 #print-root .bk-cover-art{color:#c23a2b!important}
 #print-root.print-single h2{margin:9px 0 4px}
 #print-root .pr-steps li{margin:0 0 4px}
 #print-root .pr-foot{margin:4px 0 0;font-size:7.5pt}
 #print-root .bk-recipe .pr-two{column-count:1}
 #print-root .pr-ing li{break-inside:avoid}
}
.cb-upload input[type=file]{max-width:100%;width:100%}

/* ===== wild1 · tidy recipe-box count, always-reachable recipe close bar ===== */
.section-heading .count{white-space:normal;line-height:1.35;text-align:right;min-width:0}
/* Recipe sheet: the top bar (category, Share, Print, X) stays pinned while the recipe scrolls. */
dialog#modal.recipe-reader{padding-top:0;overscroll-behavior:contain}
dialog#modal.recipe-reader .dialog-top{position:sticky;top:0;z-index:30;background:inherit;margin:0 -40px 12px;padding:14px 40px 10px;border-bottom:1px solid var(--line);min-height:44px}
dialog#modal.recipe-reader .dialog-top .close{min-height:44px;min-width:44px;flex:0 0 auto;font-size:20px;line-height:1;touch-action:manipulation}
html.modal-open,html.modal-open body{overflow:hidden;overscroll-behavior:none}
@media(max-width:800px){
 /* Full-height sheet on phones: sized by the dynamic viewport so the X is on screen with the Safari URL bar collapsed or expanded. */
 dialog#modal.recipe-reader{width:100%;max-width:100%;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;margin:0;border-radius:0;padding:0 18px calc(18px + env(safe-area-inset-bottom,0px))}
 dialog#modal.recipe-reader .dialog-top{margin:0 -18px 10px;padding:calc(8px + env(safe-area-inset-top,0px)) calc(18px + env(safe-area-inset-right,0px)) 8px calc(18px + env(safe-area-inset-left,0px));gap:8px}
 dialog#modal.recipe-reader .dialog-top .tag{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 dialog#modal.recipe-reader .dialog-top-tools{gap:6px;flex:0 0 auto}
 dialog#modal.recipe-reader .dialog-top-tools button:not(.close){min-height:44px;padding:0 12px}
}

/* ===== display2 · night polish + admin-only import notes ===== */

.import-notes{margin:10px 0;border:1px dashed var(--line);border-radius:10px;padding:6px 10px;font-size:13px}
.import-notes summary{cursor:pointer;font-weight:700;min-height:32px;display:flex;align-items:center}
.import-notes dt{font-weight:700;margin-top:6px}.import-notes dd{margin:2px 0 0;overflow-wrap:anywhere}

/* ===== display3 · My Books cards + other light-surface leaks in Night / auto-dark (incl. iOS sticky :hover) ===== */

/* display3: the separate Share + Print button row duplicated the icon row; the buttons stay in the DOM (the icon row clicks them) */
.recipe-reader .detail-actions>.share-wrap>#share-recipe,.recipe-reader .detail-actions>#print-recipe{display:none!important}
.recipe-reader .detail-actions>.share-wrap{flex:0 0 100%;height:0;margin:0}
.recipe-reader .detail-actions>.share-wrap:has(>.share-menu[hidden]){display:none}

/* display3b: recipe-sheet panels that stayed cream in Night */

/* display3c: the sticky sub-tab strip painted a cream gradient behind the pills in Night */

/* visibility1: Private / Public choice, pills and the owner row. Lock = Private, globe = Public. */
.vis-field{margin:14px 0}.vis-label{display:block;font-weight:700;margin-bottom:6px}
.vis-choice{display:inline-flex;border:2px solid #536e4c;border-radius:999px;overflow:hidden;background:#fffdf7;max-width:100%}
.vis-choice button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;min-width:132px;padding:8px 20px;border:0;border-radius:0;background:transparent;color:#2f4a2c;font-weight:700;margin:0}
.vis-choice button+button{border-left:2px solid #536e4c}
.vis-choice button.is-on{background:#536e4c;color:#fff}
.vis-choice button:focus-visible,.vis-flip:focus-visible{outline:3px solid #b36d44;outline-offset:2px}
.vis-icon{flex:none;vertical-align:-3px}
.vis-pill{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:3px 12px;border-radius:999px;font-size:14px;font-weight:700;line-height:1.2;border:1.5px solid transparent}
.vis-pill.is-private{background:#efe7d4;color:#5a4521;border-color:#c9b384}
.vis-pill.is-public{background:#dcebd4;color:#1f4a22;border-color:#8fb585}
.my-book-card .my-book-vis{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:0 20px;margin-top:12px}
.my-book-card .my-book-vis button,.my-book-vis.is-page .vis-flip,.my-book-vis.is-summary .vis-flip{min-height:44px;margin:0;padding:6px 14px}
.my-book-vis.is-page,.my-book-vis.is-summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:10px 0}
.owner-visibility{margin:12px 0;border:1px solid var(--line);border-radius:12px;padding:6px 14px;background:#fffdf8}
.owner-visibility-toggle{cursor:pointer;min-height:44px;width:100%;display:flex;align-items:center;gap:10px;font-weight:700;font:inherit;font-weight:700;text-align:left;background:transparent;border:0;color:inherit;padding:6px 0;touch-action:manipulation}
.owner-visibility .vis-choice button{min-width:120px;touch-action:manipulation}
.owner-visibility-body{padding:4px 0 8px}
.vis-confirm-inline{margin:10px 0 4px}
.vis-confirm-line{font-size:17px;font-weight:600;margin:6px 0 16px}
.vis-confirm-actions{display:flex;gap:12px;flex-wrap:wrap}.vis-confirm-actions button{min-height:48px;padding:8px 20px}
@media(max-width:480px){.vis-choice{display:flex;width:100%}.vis-choice button{flex:1;min-width:0}}

/* ===== failnotice2 · 20261110-failnotice2: tidy help-card and draft-review buttons, badge clear of Recipe box tiles =====
   Phone: one full-width primary, outline secondary, quiet danger Delete with confirm (confirm modal stays filled).
   44px tap targets, even gap, stack on narrow screens so they do not wrap. Compact card. Diner Pop + Night. */
.import-notice .notice-job-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
  width:100%;
}
.import-notice .notice-job-actions button,
.draft-review-controls button{
  min-height:44px;
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:10px 16px;
  font-size:15px;
  font-weight:700;
  border-radius:10px;
  white-space:nowrap;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.import-notice .notice-job-actions .notice-action-primary,
.import-notice .notice-job-actions button.primary{
  flex:1 1 100%;
  width:100%;
}
.notice-action-secondary,
.import-notice .notice-job-actions button.notice-action-secondary,
.draft-review-controls button.notice-action-secondary{
  background:transparent;
  border:2px solid var(--green,#314f3b);
  color:var(--green,#314f3b);
  box-shadow:none;
  font-weight:700;
}
.notice-action-quiet,
.import-notice .notice-job-actions button.notice-action-quiet,
.draft-review-controls button.notice-action-quiet{
  background:transparent;
  border:2px solid transparent;
  color:#855333;
  box-shadow:none;
  font-weight:650;
  text-decoration:underline;
  text-underline-offset:3px;
}
.notice-action-delete,
.import-notice .notice-job-actions button.notice-action-delete,
.draft-review-controls button.notice-action-delete{
  background:transparent !important;
  border:2px solid transparent !important;
  color:var(--danger,#6e1410) !important;
  box-shadow:none !important;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
.draft-review-controls{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:stretch;
}
.draft-review-controls .notice-action-primary,
.draft-review-controls #review-publish{
  flex:1 1 100%;
  width:100%;
}
.draft-review-controls .notice-action-secondary{
  flex:1 1 calc(50% - 8px);
}
.draft-review-controls .notice-action-quiet,
.draft-review-controls .notice-action-delete{
  flex:1 1 calc(50% - 8px);
}
@media (max-width:700px){
  .import-notice-panel{margin:0 0 14px;padding:12px}
  .import-notice{padding:12px;gap:10px}
  .import-notice .notice-job-actions{
    flex-direction:column;
    flex-wrap:nowrap;
    align-items:stretch;
    gap:8px;
  }
  .import-notice .notice-job-actions button{
    width:100%;
    flex:0 0 auto;
  }
  .draft-review-controls{gap:8px}
  .draft-review-controls .notice-action-secondary,
  .draft-review-controls .notice-action-quiet,
  .draft-review-controls .notice-action-delete{
    flex:1 1 100%;
    width:100%;
  }
  /* Keep the import badge in the corner. Extra main padding lifts the last recipe cards so the badge cannot cover them. Do not add margin under Mine/Everything — that opened a gap above the slideshow. */
  body.has-import-badge .shell>main{
    padding-bottom:calc(var(--tabbar-h,74px) + 120px + env(safe-area-inset-bottom,0px));
  }
  .import-badge{
    max-width:min(220px,calc(100vw - 28px));
  }
  .import-badge.is-open .import-badge-label{
    max-width:148px;
  }
}

/* reviewbtn1 · 20261110-cooknext1: Review & publish opens that book's private drafts; nothing is published automatically. */

/* reviewbtn2 · 20261110-cooknext1: hide ready cards on Drafts; highlight the drafts list; Publish all clean; Cleaning & household. */
.drafts-just-opened{
  outline:3px solid var(--red,#9a2b22);
  outline-offset:6px;
  border-radius:12px;
  animation:drafts-reveal 2.4s ease;
}
@keyframes drafts-reveal{
  0%{outline-color:var(--red,#9a2b22)}
  100%{outline-color:transparent}
}
.drafts-book-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 14px;
  margin:0 0 16px;
}
.drafts-book-toolbar .primary{
  min-height:44px;
}
.drafts-book-toolbar .primary:disabled{
  opacity:.55;
  cursor:not-allowed;
}

html[data-theme="auto"] .drafts-just-opened{
  outline-color:#e3a512;
}

/* cooknext1 · 20261110-cooknext1: Up next preview in Cook Mode; hide ready cards for incomplete-only leftovers. */
.cook-up-next{
  margin: 8px 0 16px;
  padding: 0;
  border: 1.5px solid #d7c9b3;
  border-radius: 16px;
  background: #f6f1e8;
  max-width: 940px;
  scroll-margin-bottom: 140px;
}
.cook-up-next.is-last{
  padding: 14px 16px;
  background: transparent;
  border-style: dashed;
}
.cook-up-next-toggle{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  width: 100%;
  margin: 0;
  padding: 14px 16px 12px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  min-height: 48px;
  border-radius: 16px;
  cursor: pointer;
}
.cook-up-next-kicker{
  margin: 0;
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #874725;
}
.cook-up-next-short,
.cook-up-next-note{
  margin: 0;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.35;
  color: #2a241c;
  overflow-wrap: anywhere;
}
.cook-up-next-hint{
  font-size: 14px;
  font-weight: 650;
  color: #6a5a48;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cook-head-start{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
}
.cook-head-start-flag{
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1.5px solid #d4a017;
  background: #fff6d8;
  color: #6a4a00;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.2;
}
.cook-up-next-needs{
  padding: 0 16px 12px;
}
.cook-up-next-needs .step-needs-label{font-size: 12px}
.cook-up-next-needs .need-chip{font-size: 16px; min-height: 36px; padding: 6px 12px}
.cook-up-next-full{
  padding: 0 16px 14px;
  border-top: 1px solid #e3d7c6;
}
.cook-up-next-full .step-text{
  font-family: Georgia, serif;
  font-size: 20px;
  line-height: 1.5;
  margin: 12px 0 10px;
  overflow-wrap: anywhere;
}
.cook-up-next-then{
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed #d7c9b3;
}
.cook-up-next-then .cook-up-next-short{font-size: 17px; color: #3c3328}
.cook-up-next.is-open .cook-up-next-toggle .cook-up-next-short{display: none}
.cook-up-next.is-open .cook-up-next-hint{margin-top: 2px}
@media (max-width: 700px){
  .cook-up-next-short, .cook-up-next-note{font-size: 19px; line-height: 1.45}
  .cook-up-next-full .step-text{font-size: 20px}
  .cook-up-next-toggle{padding: 16px}
  .cook-head-start-flag{font-size: 16px; min-height: 36px}
}

html[data-theme="auto"] .cook-up-next{
  background: #24302a;
  border-color: #3d4b43;
  color: #e8ebe6;
}

html[data-theme="auto"] .cook-up-next.is-last{
  background: transparent;
  border-color: #3d4b43;
}

html[data-theme="auto"] .cook-up-next-kicker{color: #e3a512}

html[data-theme="auto"] .cook-up-next-short,
html[data-theme="auto"] .cook-up-next-note,
html[data-theme="auto"] .cook-up-next-full .step-text{color: #f3f6f2}

html[data-theme="auto"] .cook-up-next-hint{color: #c9d2c8}

html[data-theme="auto"] .cook-head-start-flag{
  background: #3a2f12;
  border-color: #e3a512;
  color: #ffe7a0;
}

html[data-theme="auto"] .cook-up-next-full,
html[data-theme="auto"] .cook-up-next-then{border-color: #3d4b43}
@media (prefers-color-scheme: light){
  html[data-theme="auto"] .cook-up-next{
    background: #f6f1e8;
    border-color: #d7c9b3;
    color: inherit;
  }
  html[data-theme="auto"] .cook-up-next.is-last{background: transparent}
  html[data-theme="auto"] .cook-up-next-kicker{color: #874725}
  html[data-theme="auto"] .cook-up-next-short,
  html[data-theme="auto"] .cook-up-next-note,
  html[data-theme="auto"] .cook-up-next-full .step-text{color: #2a241c}
  html[data-theme="auto"] .cook-up-next-hint{color: #6a5a48}
  html[data-theme="auto"] .cook-head-start-flag{
    background: #fff6d8;
    border-color: #d4a017;
    color: #6a4a00;
  }
  html[data-theme="auto"] .cook-up-next-full,
  html[data-theme="auto"] .cook-up-next-then{border-color: #e3d7c6}
}

/* ===== audit1 · 20261110-audit1: iOS shortcut taps + premium Night mode (cook first). Day mode is unchanged. ===== */

/* Photo frame wrapper is invisible in Day; Night uses the blur layer. */
.step-photo-blur{display:none}
.step-photo-frame{position:relative;display:block;width:100%;background:transparent}

/* Whole shortcut tile: label and Browse are real 44px+ controls; preview sits between them. */
.recipe-slideshow .collection-shortcut{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  gap:2px;
  overflow:visible;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
  touch-action:manipulation;
}
.recipe-slideshow .shortcut-browse{
  display:flex;
  flex-direction:row;
  align-items:center;
  width:100%;
  min-height:44px;
  margin:0;
  padding:4px 4px;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
  touch-action:manipulation;
}
.shortcut-browse-label{
  display:flex;
  align-items:center;
  min-height:44px;
  padding:2px 4px;
  font-size:13px;
  font-weight:700;
  line-height:1.3;
  color:inherit;
}
.recipe-slideshow .shortcut-preview{
  position:relative;
  z-index:1;
  width:100%;
  flex:0 0 135px;
  height:135px;
  margin:0;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
  touch-action:manipulation;
}
/* slides1 · 20261110-slides1: Pause slideshow is keyboard-only (visible on focus). No reserved gap, no floating pill. */
.shortcut-motion{
  position:absolute;
  right:0;
  top:0;
  z-index:3;
  width:1px;
  height:1px;
  min-height:0;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  clip-path:inset(50%);
  border:0;
  white-space:nowrap;
  background:transparent;
  color:transparent;
  pointer-events:none;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
  touch-action:manipulation;
}
.shortcut-motion:focus,
.shortcut-motion:focus-visible{
  pointer-events:auto;
  width:auto;
  height:auto;
  min-height:44px;
  margin:0;
  padding:2px 8px;
  overflow:visible;
  clip:auto;
  clip-path:none;
  background:#fffdf7;
  color:#233a2c;
  border:1px solid #cbb8a5;
  border-radius:999px;
  font-size:13px;
}

/* iOS: tapping toolbar/home/chips should navigate, not select text. */
button,
a.home-action,
a.more-row,
a.cat-tile,
a.shortcut-browse,
.home-row-head a,
.home-chips button,
.source-chips button,
.category-chips button,
.shelf-segments button,
.meal-category-grid button,
.tabbar a,
.tabbar button,
.hcard,
.week-day,
.shortcut-preview,
.recipe-quick-actions button,
.theme-toggle button{
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
  touch-action:manipulation;
}

/* --- Premium Night: charcoal/deep-green surfaces, one mustard accent, glass chrome. --- */

/* Cook Mode: no cream slabs. Glass header/footer, ghost Back, mustard Next. */

/* Step photos: dark frame + blurred backdrop, never a cream letterbox. Edge-to-edge on phones. */

@media(min-width:701px){
  
}

/* Inline ingredient / glossary links: readable warm gold, subtle solid underline. */

/* One mustard accent for primary actions; tomato stays on danger only. */

/* Recipe detail, sheets, and owner chrome: dark glass, no cream slabs. */

/* Auto theme follows the same Night look only when the system is dark. */

/* Print stays white paper even in Night — do not override @media print here. */

/* audit1b: leftover cream chrome in Night (toasts, shortcut placeholders, Add tab label). */

/* ===== foryou1 · 20261110-foryou1: For you row, Surprise me, Not for me. Day + Night. ===== */
.home-foryou{margin:0 0 18px}
.home-foryou .home-row-head{align-items:center;gap:10px}
.foryou-surprise{
  min-height:44px;
  padding:8px 16px;
  border-radius:999px;
  font-size:14px;
  font-weight:700;
  border:1px solid #cbb8a5;
  background:#fffdf7;
  color:#2f4a39;
  touch-action:manipulation;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
.foryou-tile{
  position:relative;
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  width:158px;
}
.foryou-why{
  display:block;
  font-size:12px;
  font-weight:650;
  line-height:1.3;
  color:#fff8ec;
  margin-top:4px;
  text-shadow:0 1px 6px #0009;
}
.foryou-reject{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  margin-top:6px;
  padding:8px 10px;
  border-radius:12px;
  font-size:13px;
  font-weight:700;
  background:transparent;
  border:1px solid var(--line,#d6cfbf);
  color:var(--ink,#293d30);
  touch-action:manipulation;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}

/* usage1 · 20261110-usage1 · Admin Usage & pricing, phone-first, Day + Night */
.usage-box{margin:18px 0 28px}
.usage-box h2{margin:0 0 8px;font-size:1.35rem;line-height:1.25}
.usage-box h3{margin:20px 0 8px;font-size:1.05rem;font-weight:650}
.usage-box p{max-width:40rem}
.usage-estimate-note{margin:12px 0;padding:10px 12px;border-radius:10px;background:#fff4d6;color:#4a3a12;border:1px solid #e6d39a;font-size:14px;line-height:1.45}
.usage-totals{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:520px){.usage-totals{grid-template-columns:repeat(3,minmax(0,1fr))}}
.usage-stat{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;min-height:76px}
.usage-stat strong{font-size:1.25rem;line-height:1.2;font-variant-numeric:tabular-nums}
.usage-label{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#6b6458)}
.usage-sub{font-size:13px;color:var(--muted,#6b6458);line-height:1.35}
.usage-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -2px}
.usage-table{width:100%;border-collapse:collapse;font-size:14px;min-width:280px}
.usage-table th,.usage-table td{padding:10px 8px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;font-variant-numeric:tabular-nums}
.usage-table th{font-size:12px;letter-spacing:.03em;text-transform:uppercase;color:var(--muted,#6b6458);font-weight:650}
.usage-calc{display:grid;grid-template-columns:1fr;gap:12px;margin:8px 0 12px}
@media(min-width:560px){.usage-calc{grid-template-columns:1fr 1fr}}
.usage-calc label{display:flex;flex-direction:column;gap:6px;font-size:14px;position:relative}
.usage-calc input{min-height:44px;height:44px;border:1px solid var(--line);border-radius:10px;padding:0 12px;font-size:16px;width:100%;box-sizing:border-box;background:#fff;color:inherit}
.usage-suffix{position:absolute;right:12px;bottom:12px;font-size:13px;color:var(--muted,#6b6458);pointer-events:none}
.usage-margin{margin-top:4px}
.usage-calls td{font-size:13px}
@media(max-width:430px){
  .usage-calls th:nth-child(3),.usage-calls td:nth-child(3),
  .usage-calls th:nth-child(4),.usage-calls td:nth-child(4){display:none}
}

/* quiz1 · 20261110-share1: 44px attribution targets on phones, plus the onboarding quiz. */
@media (max-width: 700px){
  html .photo-credit a,
  html[data-theme="day"] .photo-credit a,
  html[data-theme="auto"] .photo-credit a,
  html .recipe-license a,
  html[data-theme="auto"] .recipe-license a,
  html .author-link,
  html button.author-link,
  html[data-theme="auto"] .author-link,
  html[data-theme="auto"] button.author-link,
  html .book-source a,
  html[data-theme="auto"] .book-source a,
  html .source-panel a,
  html[data-theme="auto"] .source-panel a,
  html a.text-link,
  html[data-theme="auto"] a.text-link{
    display:inline-flex !important;
    align-items:center !important;
    min-height:44px !important;
    min-width:44px !important;
    padding:10px 8px !important;
    margin:-6px 0 !important;
    box-sizing:border-box !important;
    border-radius:8px !important;
    line-height:1.2 !important;
  }
}

.baqon-quiz{
  position:fixed;
  inset:0;
  z-index:80;
  background:rgba(25,32,28,.45);
  display:flex;
  align-items:stretch;
  justify-content:center;
  padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);
}
.quiz-sheet{
  width:100%;
  max-width:430px;
  margin:0 auto;
  background:#f7f5ef;
  color:#293d30;
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:18px 20px calc(20px + env(safe-area-inset-bottom));
  box-sizing:border-box;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.quiz-progress{
  display:flex;
  gap:8px;
  justify-content:center;
  align-items:center;
  min-height:44px;
}
.quiz-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#d3d0c6;
  display:inline-block;
}
.quiz-dot.is-on{background:#314f3b;width:18px;border-radius:8px}
.quiz-dot.is-done{background:#8aa083}
.quiz-kicker{
  margin:4px 0 0;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#777d73;
}
.quiz-sheet h2{
  font-family:Georgia,serif;
  font-weight:normal;
  font-size:1.85rem;
  line-height:1.2;
  margin:8px 0 8px;
  color:#293d30;
}
.quiz-blurb{margin:0 0 18px;color:#4a554c;font-size:15px;line-height:1.45}
.quiz-body{flex:1}
.quiz-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.quiz-chips-lg{gap:12px}
.quiz-chip{
  min-height:44px;
  min-width:44px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid #d5d2c8;
  background:#fff;
  color:#293d30;
  font-size:15px;
  line-height:1.2;
}
.quiz-chips-lg .quiz-chip{padding:12px 18px;font-size:16px;flex:1 1 calc(50% - 12px)}
.quiz-chip.is-on{
  background:#314f3b;
  color:#f7f5ef;
  border-color:#314f3b;
}
.quiz-avoid-note{
  margin:0 0 16px;
  padding:12px 14px;
  border-radius:12px;
  background:#f4efe3;
  border:1px solid #e4ddcc;
  color:#4a3f2c;
  font-size:14px;
  line-height:1.45;
}
.quiz-avoid-note p{margin:0}
.quiz-actions{
  display:flex;
  gap:12px;
  margin-top:22px;
  align-items:center;
}
.quiz-skip{
  min-height:44px;
  min-width:44px;
  padding:10px 16px;
  background:transparent;
  border:0;
  text-decoration:underline;
  text-underline-offset:3px;
  color:#365d42;
  font-size:16px;
}
.quiz-next{
  flex:1;
  min-height:48px;
  border-radius:999px;
  font-size:16px;
  font-weight:650;
}
body.quiz-open{overflow:hidden}
body.quiz-open .tabbar{display:none}

/* share1 landing · 20261110-share1: marketing share page for new visitors.
   Diner Pop day + night, 44px tap targets, no copied brand UI. */
.share-top .brand{min-height:44px}
.share-top .brand-text{font-weight:800;letter-spacing:.02em}
.share-main h1{font-size:clamp(28px,7vw,42px);line-height:1.1;margin:8px 0 6px;color:var(--ink)}
.share-hero{width:100%;border-radius:18px;margin:16px 0;box-shadow:var(--shadow-soft);background:var(--panel-2)}
.share-cta{
  margin:22px 0;
  padding:22px 18px 20px;
  background:var(--panel,#fffdf7);
  border:1px solid var(--line,#e2d5bf);
  border-radius:22px;
  box-shadow:var(--shadow-lift);
  border-top:6px solid var(--accent);
}
.share-cta h2{margin:0 0 8px;font-size:clamp(22px,6vw,28px);line-height:1.15;color:var(--green,#314f3b)}
.share-cta > p{margin:0 0 14px;color:var(--muted,#5f6a60)}
.share-cta-perks{margin:0 0 18px;padding:0;list-style:none}
.share-cta-perks li{
  position:relative;
  padding:8px 0 8px 28px;
  font-weight:600;
}
.share-cta-perks li::before{
  content:"";
  position:absolute;
  left:0;top:14px;
  width:14px;height:14px;
  border-radius:50%;
  background:var(--accent-2,#e3a512);
  box-shadow:inset 0 0 0 3px var(--panel), 0 0 0 2px var(--accent-2,#e3a512);
}
.share-cta-primary,
.share-cta-view,
.share-actions .primary,
.share-actions a,
.share-actions button,
.share-copy,
.share-store{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:44px;
  box-sizing:border-box;
  margin:0 0 10px;
  padding:12px 16px;
  font:inherit;
  font-size:16px;
  font-weight:800;
  text-decoration:none;
  border-radius:12px;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.share-cta-primary{margin-bottom:10px}
.share-cta-view{
  background:transparent;
  color:var(--green,#314f3b);
  border:2px solid var(--green,#314f3b);
  box-shadow:none;
}
.share-cta-view:hover,.share-cta-view:focus-visible{
  background:#314f3b14;
  outline:2px solid var(--accent-2,#e3a512);
  outline-offset:2px;
}
.share-stores{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.share-store{
  margin:0;
  background:var(--green,#314f3b);
  color:var(--header-fg,#fff8ec);
  border:1px solid var(--green,#314f3b);
}
.share-steps.is-tease li.share-step-rest{display:none}
.share-steps-more{margin:12px 0 0}
.share-ingredients h2,.share-directions h2{margin-top:8px}
.share-ings{padding-left:1.2em}
.share-ings li,.share-steps li{margin:0 0 8px;padding-left:.2em}
.share-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.share-actions > *{flex:1 1 140px;margin:0}
@media(min-width:640px){
  .share-cta-primary,.share-cta-view{width:auto;display:inline-flex;min-width:min(100%,280px);margin-right:10px}
  .share-stores{flex-direction:row;flex-wrap:wrap}
  .share-store{width:auto;min-width:160px}
}

/* ===== reviewui1 · 20261110-review2: draft review previews the published recipe page ===== */
dialog#modal.recipe-reader.is-draft-review[open]{
  display:flex;
  flex-direction:column;
  padding-bottom:0;
}
@media (max-width:700px){
  dialog#modal.recipe-reader.is-draft-review[open]{
    padding:0 18px 0;
    height:100dvh;
    max-height:100dvh;
  }
}
dialog#modal.recipe-reader.is-draft-review .dialog-top{
  position:relative;
  top:auto;
  flex:0 0 auto;
  z-index:40;
}
.draft-review-kicker{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  min-width:0;
  flex:1 1 auto;
}
.draft-review-privacy{
  margin:0;
  font-size:13px;
  font-weight:600;
  color:var(--muted,#777d73);
  line-height:1.35;
}
.draft-review-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.draft-review-checklist{
  margin:4px 0 16px;
  padding:14px 16px 16px;
  border:1px solid var(--line,#dddcd2);
  border-radius:16px;
  background:var(--panel,#fffdf7);
  color:var(--ink,#293d30);
  box-shadow:0 4px 16px #17382514;
}
.draft-review-checklist h2{
  margin:0 0 10px;
  font-size:22px;
  letter-spacing:-.3px;
}
.draft-check-subhead{
  margin:12px 0 6px;
  font-size:13px;
  font-weight:700;
  color:var(--muted,#777d73);
}
.draft-check-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:6px;
}
.draft-check-list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-height:28px;
  font-size:14px;
  line-height:1.4;
}
.draft-check-icon{
  flex:0 0 22px;
  width:22px;
  height:22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:800;
  margin-top:1px;
}
.is-ready .draft-check-icon{
  background:#2f6f45;
  color:#fff8ec;
}
.is-warning .draft-check-icon{
  background:#e3a512;
  color:#1a1408;
}
.draft-review-bar{
  flex:0 0 auto;
  z-index:40;
  margin:0 -18px 0;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));
  background:var(--panel,#fffdf7);
  color:var(--ink,#293d30);
  border-top:1px solid var(--line,#dfc8a5);
  box-shadow:0 -8px 24px #17382514;
}
@media (min-width:701px){
  .draft-review-bar{margin:0 -40px 0;padding:12px 40px 14px}
}
.draft-review-bar-inner{
  display:flex;
  align-items:stretch;
  gap:8px;
}
.draft-review-bar #review-publish{
  flex:1 1 auto;
  min-height:50px;
  font-size:17px;
  font-weight:700;
}
.draft-review-bar #review-edit,
.draft-review-bar #review-more,
.draft-review-delete-actions button{
  min-height:44px;
  min-width:44px;
  padding:0 16px;
  font-weight:700;
}
.draft-review-bar #review-edit,
.draft-review-bar #review-more{
  background:var(--panel-2,#fffaf0);
  border:2px solid var(--green,#314f3b);
  color:var(--green,#314f3b);
}
.draft-review-more{position:relative;flex:0 0 auto}
.draft-review-more-menu{
  position:absolute;
  right:0;
  bottom:calc(100% + 8px);
  min-width:196px;
  padding:6px;
  border:1px solid var(--line,#dddcd2);
  border-radius:14px;
  background:var(--panel,#fffdf7);
  box-shadow:0 10px 28px #17382522;
  display:grid;
  gap:4px;
  z-index:50;
}
.draft-review-more-menu button{
  min-height:44px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:0 14px;
  background:transparent;
  border:0;
  text-align:left;
  font-weight:700;
  color:var(--ink,#293d30);
  border-radius:10px;
}
.draft-review-more-menu button.notice-action-delete{
  background:transparent !important;
  border:0 !important;
  color:var(--danger,#6e1410) !important;
  text-decoration:none !important;
  font-weight:800;
}
.draft-review-delete-confirm{
  margin-top:10px;
  padding:12px 4px 0;
  border-top:1px solid var(--line,#dddcd2);
}
.draft-review-delete-confirm p{margin:0 0 10px;font-size:14px}
.draft-review-delete-actions{display:flex;gap:8px;justify-content:flex-end}
.draft-review-delete-actions .notice-danger,
#review-delete-yes{
  background:var(--danger,#a0342a);
  border:1px solid var(--danger,#a0342a);
  color:var(--danger-ink,#fff);
  font-weight:800;
}

/* Hide draft-only owner chrome so the preview matches the published recipe page. */
dialog#modal.is-draft-review .detail-actions>#save-draft,
dialog#modal.is-draft-review .detail-actions>#publish-recipe,
dialog#modal.is-draft-review .detail-actions>#edit-draft,
dialog#modal.is-draft-review .detail-actions>#fill-details,
dialog#modal.is-draft-review .detail-actions>#read-photo,
dialog#modal.is-draft-review .detail-actions>#analyze-video,
dialog#modal.is-draft-review .detail-actions>.tag,
dialog#modal.is-draft-review .detail-actions>.notice{
  display:none !important;
}

/* ===== lighter1 · 20261110-lighter: calmer Day surfaces, Baqon's own identity =====
   Warm off-white page, white softly-shadowed cards, thin dividers, a light header
   and tab bar. Forest green and copper stay as accents only — not large slabs.
   Night (and Auto when the system is dark) is left to the existing Night rules. */

html[data-theme="day"],
html[data-theme="auto"]{
  --cream:#f6f3ec;
  --panel:#ffffff;
  --panel-2:#fffdf9;
  --line:#e6e0d4;
  --header-bg:#f6f3ece8;
  --header-fg:#233a2c;
  --copper:#b77a55;
  --copper-light:#e8b98c;
  --orange:#b77a55;
  --accent:#b77a55;
  --accent-2:#b77a55;
  --shadow-soft:0 4px 18px rgba(35,45,36,.07);
  --shadow-lift:0 12px 28px rgba(35,45,36,.09);
}

html[data-theme="day"] body,
html[data-theme="auto"] body{
  background:
    radial-gradient(ellipse at 88% -8%,rgba(198,139,90,.08),transparent 44%),
    var(--cream,#f6f3ec);
  color:var(--ink,#233a2c);
}

/* Header: light surface, thin divider, dark type. No heavy forest-green bar. */
html[data-theme="day"] .app-header,
html[data-theme="auto"] .app-header,
html[data-theme="day"] .share-top,
html[data-theme="auto"] .share-top,
html[data-theme="day"] .brand-search-row,
html[data-theme="auto"] .brand-search-row{
  background:rgba(246,243,236,.92)!important;
  color:var(--ink,#233a2c)!important;
  border-bottom:1px solid var(--line,#e6e0d4)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.6),0 8px 18px rgba(35,45,36,.04)!important;
  backdrop-filter:blur(16px) saturate(1.05);
  -webkit-backdrop-filter:blur(16px) saturate(1.05);
}
html[data-theme="day"] .app-header .breadcrumb,
html[data-theme="auto"] .app-header .breadcrumb{color:var(--muted,#657063)!important}
html[data-theme="day"] .app-header .header-title,
html[data-theme="auto"] .app-header .header-title,
html[data-theme="day"] .share-top,
html[data-theme="auto"] .share-top,
html[data-theme="day"] .brand-search-row .brand-text,
html[data-theme="auto"] .brand-search-row .brand-text,
html[data-theme="day"] .brand-search-row .more-button,
html[data-theme="auto"] .brand-search-row .more-button{
  color:var(--ink,#233a2c)!important;
}
html[data-theme="day"] .brand-search-row>.more-button.is-current,
html[data-theme="auto"] .brand-search-row>.more-button.is-current{
  background:rgba(49,79,59,.08)!important;
  color:var(--green,#314f3b)!important;
}
html[data-theme="day"] .app-header .units-toggle,
html[data-theme="auto"] .app-header .units-toggle{
  background:#fff;
  border:1px solid var(--line,#e6e0d4);
}
html[data-theme="day"] .app-header .units-toggle button,
html[data-theme="auto"] .app-header .units-toggle button{color:var(--ink,#233a2c)}
html[data-theme="day"] .app-header .units-toggle button.active,
html[data-theme="auto"] .app-header .units-toggle button.active{
  background:var(--green,#314f3b);
  color:#fff8ec;
}
html[data-theme="day"] .header-search-field,
html[data-theme="auto"] .header-search-field{
  background:#fff;
  border:1px solid var(--line,#e6e0d4);
}
html[data-theme="day"] .app-header .primary,
html[data-theme="auto"] .app-header .primary{
  background:var(--green,#314f3b);
  border-color:var(--green,#314f3b);
  color:#fff8ec;
  box-shadow:none;
}

/* Primary buttons in Day: forest green instead of tomato slabs. Copper is the accent. */
html[data-theme="day"] .primary,
html[data-theme="day"] button.primary,
html[data-theme="auto"] .primary,
html[data-theme="auto"] button.primary,
html[data-theme="day"] .web-result-actions .web-import,
html[data-theme="day"] button.web-import,
html[data-theme="day"] .web-import-button.primary,
html[data-theme="auto"] .web-result-actions .web-import,
html[data-theme="auto"] button.web-import,
html[data-theme="auto"] .web-import-button.primary{
  background:var(--green,#314f3b);
  border-color:var(--green,#314f3b);
  color:#fff8ec;
  box-shadow:0 2px 8px rgba(49,79,59,.18);
}
html[data-theme="day"] .home-action.is-primary,
html[data-theme="auto"] .home-action.is-primary{
  background:#fff;
  border:1px solid var(--line,#e6e0d4);
  color:var(--ink,#233a2c);
  box-shadow:var(--shadow-soft);
}
html[data-theme="day"] .home-action.is-primary .i,
html[data-theme="auto"] .home-action.is-primary .i{color:var(--green,#314f3b)}

/* Light, slightly floating tab bar. Add stays copper, not a tomato orb. */
html[data-theme="day"] .tabbar,
html[data-theme="auto"] .tabbar{
  background:rgba(255,253,249,.94)!important;
  border-top:1px solid var(--line,#e6e0d4)!important;
  box-shadow:0 -8px 24px rgba(35,45,36,.06);
  color:#5e695f;
  backdrop-filter:blur(16px) saturate(1.05);
  -webkit-backdrop-filter:blur(16px) saturate(1.05);
}
html[data-theme="day"] .tabbar>a,
html[data-theme="day"] .tabbar>button,
html[data-theme="auto"] .tabbar>a,
html[data-theme="auto"] .tabbar>button{color:#5e695f;background:transparent}
html[data-theme="day"] .tabbar>a.is-current,
html[data-theme="auto"] .tabbar>a.is-current{color:var(--green,#314f3b)}
html[data-theme="day"] .tabbar>a.is-current::after,
html[data-theme="auto"] .tabbar>a.is-current::after{background:var(--copper,#b77a55)}
html[data-theme="day"] .tab-add,
html[data-theme="auto"] .tab-add{color:var(--copper,#b77a55)!important}
html[data-theme="day"] .tab-add-circle,
html[data-theme="auto"] .tab-add-circle{
  background:var(--copper,#b77a55)!important;
  color:#fff8ec!important;
  border:3px solid #fffdf9!important;
  box-shadow:0 6px 16px rgba(183,122,85,.28)!important;
}

/* White cards, soft shadow, generous radius. No tinted slabs. */
html[data-theme="day"] .grid .card,
html[data-theme="auto"] .grid .card,
html[data-theme="day"] .hcard,
html[data-theme="auto"] .hcard,
html[data-theme="day"] .home-action,
html[data-theme="auto"] .home-action,
html[data-theme="day"] .cat-tile,
html[data-theme="auto"] .cat-tile,
html[data-theme="day"] .cb-card,
html[data-theme="auto"] .cb-card,
html[data-theme="day"] .collection-shortcuts .collection-shortcut,
html[data-theme="auto"] .collection-shortcuts .collection-shortcut,
html[data-theme="day"] .startup-shortcuts span,
html[data-theme="auto"] .startup-shortcuts span,
html[data-theme="day"] .toolbar,
html[data-theme="auto"] .toolbar{
  background:#fff;
  border:1px solid var(--line,#e6e0d4);
  box-shadow:var(--shadow-soft);
  color:var(--ink,#233a2c);
}
html[data-theme="day"] .grid .card,
html[data-theme="auto"] .grid .card{border-radius:20px;overflow:hidden}
html[data-theme="day"] .home-action,
html[data-theme="auto"] .home-action,
html[data-theme="day"] .cat-tile,
html[data-theme="auto"] .cat-tile{border-radius:18px}
html[data-theme="day"] .collection-shortcuts .collection-shortcut,
html[data-theme="auto"] .collection-shortcuts .collection-shortcut{border-radius:18px}

/* Larger photos on recipe cards and home rows. */
html[data-theme="day"] .grid .card-art,
html[data-theme="auto"] .grid .card-art{height:260px}
@media (max-width:700px){
  html[data-theme="day"] .grid .card-art,
  html[data-theme="auto"] .grid .card-art{height:230px}
  html[data-theme="day"] .grid.home-scroller .card-art,
  html[data-theme="auto"] .grid.home-scroller .card-art{height:220px}
}
html[data-theme="day"] .recipe-reader .detail-hero,
html[data-theme="auto"] .recipe-reader .detail-hero{
  height:clamp(280px,42vw,460px);
  max-height:46vh;
  border-radius:20px;
}

/* Thin dividers instead of heavy color blocks. */
html[data-theme="day"] .recipe-reader .reader-ingredients,
html[data-theme="auto"] .recipe-reader .reader-ingredients,
html[data-theme="day"] .recipe-reader .reader-directions,
html[data-theme="auto"] .recipe-reader .reader-directions,
html[data-theme="day"] .detail-columns>section,
html[data-theme="auto"] .detail-columns>section{
  background:#fff;
  border:1px solid var(--line,#e6e0d4);
  color:var(--ink,#233a2c);
}
html[data-theme="day"] .install-tip,
html[data-theme="auto"] .install-tip{
  background:#fff;
  border:1px solid var(--line,#e6e0d4);
  border-left:3px solid var(--green,#314f3b);
  color:var(--ink,#233a2c);
}
html[data-theme="day"] .inspiration-ribbon,
html[data-theme="auto"] .inspiration-ribbon{
  background:#fff;
  border:1px solid var(--line,#e6e0d4);
}
html[data-theme="day"] .shelf-segments,
html[data-theme="auto"] .shelf-segments{
  background:#fff;
  border:1px solid var(--line,#e6e0d4);
}

/* Softer pill chips: pale fill, thin border, no mustard slabs. */
html[data-theme="day"] .need-chip,
html[data-theme="day"] .step-needs .need-chip,
html[data-theme="day"] .tech-chip.tech-term,
html[data-theme="auto"] .need-chip,
html[data-theme="auto"] .step-needs .need-chip,
html[data-theme="auto"] .tech-chip.tech-term,
html[data-theme="day"] .recipe-meta>*,
html[data-theme="auto"] .recipe-meta>*{
  background:#f6f3ec;
  border:1px solid var(--line,#e6e0d4);
  color:var(--ink,#233a2c);
  box-shadow:none;
}
html[data-theme="day"] .category-chips button,
html[data-theme="auto"] .category-chips button,
html[data-theme="day"] .meal-category-grid button,
html[data-theme="auto"] .meal-category-grid button{
  background:#fff;
  border:1px solid var(--line,#e6e0d4);
  color:var(--ink,#233a2c);
  box-shadow:none;
}
html[data-theme="day"] .category-chips button.active,
html[data-theme="day"] .meal-category-grid button.active,
html[data-theme="auto"] .category-chips button.active,
html[data-theme="auto"] .meal-category-grid button.active,
html[data-theme="day"] .recipe-jump button.active,
html[data-theme="auto"] .recipe-jump button.active,
html[data-theme="day"] .sub-tabs a.active,
html[data-theme="auto"] .sub-tabs a.active{
  background:var(--green,#314f3b);
  border-color:var(--green,#314f3b);
  color:#fff8ec;
  box-shadow:none;
}
html[data-theme="day"] .book-tab-bar .active,
html[data-theme="day"] .shelf-segments button.active,
html[data-theme="day"] .search-shelf-choice button[aria-pressed=true],
html[data-theme="auto"] .book-tab-bar .active,
html[data-theme="auto"] .shelf-segments button.active,
html[data-theme="auto"] .search-shelf-choice button[aria-pressed=true]{
  background:var(--green,#314f3b);
  border-color:var(--green,#314f3b);
  color:#fff8ec;
  box-shadow:none;
}

/* Home feature keeps a photo, but the chrome around it stays calm and light. */
html[data-theme="day"] .home-feature,
html[data-theme="auto"] .home-feature{
  box-shadow:var(--shadow-soft);
  border-radius:22px;
}

/* Share page follows the same light header + warm page. */
html[data-theme="day"] .share-page,
html[data-theme="auto"] .share-page{background:var(--cream,#f6f3ec);color:var(--ink,#233a2c)}

/* Auto + system dark must keep Night. These day rules are wrapped so they do not apply. */

/* polish1 · 20261110-day1 — Day-only quiz chips + typography polish */
html[data-theme="day"],
html[data-theme-resolved="day"],
html{
  color-scheme: light;
}

.quiz-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid var(--line, #e6dfd2);
  background:#fff;
  color:var(--ink, #243026);
  font:600 14.5px/1.25 ui-sans-serif,system-ui,sans-serif;
  letter-spacing:.01em;
  box-shadow:0 1px 2px rgba(35,45,36,.04);
  -webkit-tap-highlight-color:transparent;
}
.quiz-chip:focus-visible{
  outline:2px solid var(--green, #314f3b);
  outline-offset:2px;
}
.quiz-chip.is-on,
button.quiz-chip.is-on,
html[data-theme="day"] .quiz-chip.is-on,
html[data-theme="day"] button.quiz-chip.is-on,
html[data-theme-resolved="day"] .quiz-chip.is-on,
html[data-theme-resolved="day"] button.quiz-chip.is-on{
  background:var(--green, #314f3b) !important;
  color:#fff !important;
  border-color:var(--green, #314f3b) !important;
  box-shadow:0 1px 3px rgba(49,79,59,.28);
}
.quiz-chip-check{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:rgba(255,255,255,.2);
  font-size:12px;
  font-weight:800;
  line-height:1;
}
.quiz-chip-label{display:inline-block}
.quiz-overlay{
  background:rgba(36,40,34,.45);
}
.quiz-sheet{
  background:#fff;
  border:1px solid var(--line, #e6dfd2);
  border-radius:24px;
  box-shadow:0 18px 50px rgba(35,45,36,.16);
}
.quiz-sheet h2{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--ink, #243026);
}
.quiz-next{
  min-height:44px;
  padding:0 22px;
  border-radius:999px;
}

/* Floating tab bar, refined empty states, calm section rhythm */
@media (max-width:700px){
  html[data-theme="day"] .tabbar,
  .tabbar{
    left:10px;
    right:10px;
    width:auto;
    bottom:calc(8px + env(safe-area-inset-bottom, 0px));
    padding:6px 6px calc(6px + env(safe-area-inset-bottom, 0px));
    border-radius:22px;
    border:1px solid var(--line, #e6dfd2);
    background:rgba(255,255,255,.92);
    box-shadow:0 10px 30px rgba(35,45,36,.14);
    backdrop-filter:saturate(1.2) blur(16px);
    -webkit-backdrop-filter:saturate(1.2) blur(16px);
  }
}
.empty, .empty-state, .muted.empty{
  text-align:center;
  padding:28px 18px;
  color:var(--muted, #6d7468);
}
.section-head, .home-section-head, .rail-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
}
.section-head a, .see-all, a.see-all{
  font-size:13px;
  font-weight:650;
  color:var(--green, #314f3b);
  text-decoration:none;
}

/* Admin quiz toggle */
.quiz-admin-toggle{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:44px;
  font-weight:650;
  cursor:pointer;
}
.quiz-admin-toggle input{
  width:20px;
  height:20px;
  accent-color:var(--green, #314f3b);
}

/* Restore copper Add control — Diner Pop had redefined --copper as tomato */
html[data-theme="day"] .tab-add{
  color:#b77a55 !important;
}
html[data-theme="day"] .tab-add-circle{
  background:#b77a55 !important;
  color:#fff8ec !important;
  border:3px solid #fffdf9 !important;
  box-shadow:0 6px 16px rgba(183,122,85,.28) !important;
}
html[data-theme="day"] .tab-add.is-current .tab-add-circle{
  box-shadow:0 0 0 3px #e8b98c,0 6px 16px rgba(183,122,85,.28) !important;
}

/* search-trim1: compact search + filters sheet */
.search-chrome{margin:0 0 16px}
.search-quick-row{display:flex;align-items:center;gap:8px;min-width:0}
.search-quick-chips{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px 0}
.search-quick-chips::-webkit-scrollbar{display:none}
.search-quick-chip{flex:none;white-space:nowrap;border-radius:999px;min-height:36px;padding:6px 12px;font-size:13px;font-weight:600;background:#fff;border:1px solid #d0d7ce;color:#2a4332}
.search-quick-chip.is-on,.search-quick-chip[aria-pressed=true]{background:#314f3b;border-color:#314f3b;color:#fffdf7}
.search-filters-btn{flex:none;position:relative;min-height:36px;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:650;background:#fff;border:1px solid #c8a07a;color:#5c3d24}
.search-filters-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;border-radius:999px;background:#314f3b;color:#fff;font-size:11px;line-height:1}
.search-filter-pills{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px}
.filter-pill{border-radius:999px;min-height:32px;padding:4px 10px;font-size:12px;font-weight:600;background:#f4f1ea;border:1px solid #d7c7b0;color:#3a2a1c}
.search-filter-backdrop{position:fixed;inset:0;background:rgba(28,36,30,.35);z-index:79}
#header-search-filters.search-filter-sheet,.search-filter-sheet{
  position:fixed;z-index:80;top:auto;left:50%;right:auto;bottom:0;width:min(560px,100%);max-width:100%;
  transform:translateX(-50%);max-height:min(86dvh,740px);overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:14px 16px calc(18px + env(safe-area-inset-bottom,0px));background:#fffdf8;color:#24362a;
  border:1px solid #e0d5c4;border-bottom:0;border-radius:20px 20px 0 0;box-shadow:0 -12px 40px rgba(20,32,24,.18)
}
.search-filter-sheet .search-filter-heading{position:sticky;top:0;background:#fffdf8;padding:4px 0 10px;margin:0 0 6px;z-index:1}
.search-filter-sheet .search-filter-heading strong{font-size:18px}
.filter-section{border-bottom:1px solid #ece6dc;padding:4px 0}
.filter-section>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;font-weight:650;font-size:15px;color:#24362a}
.filter-section>summary::-webkit-details-marker{display:none}
.filter-section>summary::after{content:"+";font-weight:400;color:#7a6a58}
.filter-section[open]>summary::after{content:"–"}
.filter-section-body{padding:0 0 12px}
.filter-regions{margin:8px 0 0;padding:8px 10px;background:#f7f4ee;border-radius:12px}
.filter-regions>summary{min-height:36px;font-size:13px;font-weight:650;cursor:pointer}
.filter-choice-wrap{display:flex;flex-wrap:wrap;gap:6px}
.filter-choice{border-radius:999px;min-height:34px;padding:5px 11px;font-size:13px;background:#fff;border:1px solid #d4daca;color:#2a4332}
.filter-choice.is-on,.filter-choice[aria-pressed=true]{background:#314f3b;border-color:#314f3b;color:#fffdf7}
.filter-text{display:block;margin:0 0 8px;font-size:13px;font-weight:650;color:#526254}
.filter-text input{display:block;width:100%;margin-top:4px;min-height:44px;border-radius:12px;border:1px solid #d4daca;padding:10px 12px;font-size:16px;background:#fff}
.search-filter-sheet .search-filter-actions{position:sticky;bottom:0;display:flex;gap:8px;justify-content:space-between;padding:12px 0 0;margin-top:8px;background:linear-gradient(180deg,rgba(255,253,248,0),#fffdf8 28%);z-index:1}
.search-filter-sheet .search-filter-actions button{min-height:46px;flex:1}
.search-web-footer{margin:22px 0 8px;padding:16px;border:1px dashed #d3c4ad;border-radius:16px;background:#fffaf2;text-align:center}
.search-web-footer p{margin:0 0 10px;color:#4a3a2a;font-size:14px}
.search-web-footer .web-search-actions{display:flex;justify-content:center}
.search-mode-note,.search-results-actions{display:none}
@media(max-width:700px){
  #header-search-filters.search-filter-sheet,.search-filter-sheet{left:0;right:0;width:auto;transform:none;max-height:min(88dvh,760px)}
  .search-quick-chip,.search-filters-btn{min-height:34px;padding:5px 10px;font-size:12px}
}

/* home-trim1: compact home, help strip, user guide */
.help-strip{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:8px 12px;border-radius:12px;background:#f6f3ec;border:1px solid #e4d8c6;color:#4a3a2a}
.help-strip-link{flex:1;min-width:0;font-size:13px;font-weight:650;color:#3d4f42;text-decoration:none}
.help-strip-link:hover{text-decoration:underline}
.help-strip button{flex:none;border:0;background:transparent;color:#6a5a48;min-width:36px;min-height:36px;padding:0;font-size:16px}
.help-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid #d4daca;background:#fff;color:#314f3b;font-weight:800;font-size:16px;text-decoration:none;line-height:1}
.help-button:hover,.help-button:focus-visible{border-color:#314f3b;background:#f3f6f2}
.home-recipe-grid{margin:0 0 8px}
.home-more-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px}
.home-more-link{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:8px 12px;border-radius:12px;background:#fff;border:1px solid #e0d7c8;color:#2a4332;text-decoration:none;font-weight:650;font-size:14px}
.home-more-sheet{z-index:80}
.user-guide{max-width:42rem;padding-bottom:32px}
.user-guide h1{margin:0 0 8px;font-size:clamp(28px,7vw,40px);letter-spacing:-.8px;color:#203b2b}
.guide-lead{margin:0 0 16px;color:#526254;font-size:15px;line-height:1.45}
.guide-section{border-bottom:1px solid #ece6dc}
.guide-section>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;font-weight:700;font-size:16px;color:#24362a;padding:8px 0}
.guide-section>summary::-webkit-details-marker{display:none}
.guide-section>summary::after{content:"+";font-weight:400;color:#7a6a58}
.guide-section[open]>summary::after{content:"–"}
.guide-body{padding:0 0 14px;color:#314136;font-size:15px;line-height:1.5}
.guide-body p,.guide-body ul{margin:0 0 10px}
.guide-body ul{padding-left:1.15em}
.guide-foot{margin:18px 0 0}
.guide-foot a{font-weight:650;color:#314f3b}
@media(max-width:700px){
  .home-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .home-action span{font-size:11px}
}


/* search-adv1: filters polish + unforced advanced search */
#header-search-filters.search-filter-sheet,.search-filter-sheet{
  display:flex;flex-direction:column;overflow:hidden;padding:12px 16px 0;
  max-height:min(88dvh,760px)
}
.search-filter-sheet .search-filter-heading{position:relative;flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 0 10px;margin:0;background:#fffdf8;z-index:2}
.search-filter-sheet .search-filter-heading strong{font-size:18px;line-height:1.2}
.search-filter-sheet #close-search-panel{flex:none;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;font-size:22px;line-height:1;color:#3a2a1c}
.search-filter-body{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 0 8px}
.search-filter-sheet .search-filter-actions{position:relative;flex:none;display:flex;gap:8px;justify-content:space-between;padding:10px 0 calc(12px + env(safe-area-inset-bottom,0px));margin:0;background:#fffdf8;border-top:1px solid #ece6dc;box-shadow:0 -8px 16px rgba(255,253,248,.9);z-index:2}
.search-filter-sheet .search-filter-actions button{min-height:44px;flex:1}
.filter-block{margin:0 0 14px;padding:0;border:0}
.filter-block-title,.filter-subhead{margin:0 0 8px;font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:none;color:#3f5344}
.filter-subhead{margin:10px 0 8px;font-size:12px;font-weight:650;color:#5a6a5c}
.filter-block-body{min-width:0}
.filter-choice-wrap{display:flex;flex-wrap:wrap;gap:8px}
.filter-choice{border-radius:999px;min-height:44px;padding:8px 14px;font-size:14px;line-height:1.2;background:#fff;border:1px solid #d4daca;color:#2a4332;max-width:100%}
.filter-region-group{margin:4px 0 8px}
.filter-more-cuisines,.filter-more-filters{margin:4px 0 12px;padding:0;border:0;background:transparent}
.filter-more-cuisines>summary,.filter-more-filters>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:0 2px;font-weight:700;font-size:14px;color:#314f3b}
.filter-more-cuisines>summary::-webkit-details-marker,.filter-more-filters>summary::-webkit-details-marker{display:none}
.filter-more-cuisines>summary::after,.filter-more-filters>summary::after{content:"Show";font-weight:600;color:#7a6a58;font-size:13px}
.filter-more-cuisines[open]>summary::after,.filter-more-filters[open]>summary::after{content:"Hide"}
.filter-more-body{padding:4px 0 8px}
.search-advanced-link,.advanced-back{display:inline-flex;align-items:center;min-height:44px;padding:0;margin:4px 0 0;border:0;background:transparent;color:#5c6b5e;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.search-advanced-link:hover,.advanced-back:hover{color:#24362a}
.advanced-search{margin:0 0 18px;padding:0}
.advanced-search-toolbar{display:flex;align-items:center;margin:0 0 10px}
.advanced-search-fields{display:flex;flex-direction:column;gap:2px;padding:12px 14px;background:#fff;border:1px solid #e0d5c4;border-radius:16px}
.advanced-search .filter-block{margin:0 0 12px}
.advanced-search .filter-block:last-child{margin-bottom:0}
.search-filters-btn{min-height:44px;padding:8px 14px;font-size:13px}
@media(max-width:700px){
  .search-quick-chip{min-height:40px;padding:6px 12px;font-size:13px}
  .search-filters-btn,.filter-choice{min-height:44px;padding:8px 14px;font-size:13px}
  #header-search-filters.search-filter-sheet,.search-filter-sheet{left:0;right:0;width:auto;transform:none;max-height:min(90dvh,820px)}
  .advanced-search-fields{padding:12px}
}

/* search-adv2: keep filter actions from covering chips; clear the tab bar */
#header-search-filters.search-filter-sheet:not([hidden]),.search-filter-sheet:not([hidden]){
  display:flex !important;flex-direction:column;overflow:hidden !important;
}
#header-search-filters.search-filter-sheet[hidden],.search-filter-sheet[hidden],
#search-filter-backdrop[hidden]{display:none !important}
#header-search-filters.search-filter-sheet .search-filter-actions,
.search-filter-sheet .search-filter-actions{
  position:relative !important;flex:none;background:#fffdf8 !important;background-image:none !important;
  box-shadow:0 -1px 0 #ece6dc;margin:0;padding:10px 0 calc(12px + env(safe-area-inset-bottom,0px));
  z-index:3;
}
#header-search-filters.search-filter-sheet .search-filter-body,
.search-filter-sheet .search-filter-body{padding-bottom:88px;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
.header-search-results{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
.advanced-search .filter-region-group,.advanced-search .filter-block{scroll-margin-top:120px}
.search-quick-row{flex-wrap:wrap;align-items:flex-start}
.search-quick-chips{flex-wrap:wrap;overflow:visible}


/* search-leftovers1: unclipped header, hide shelf in Advanced, filter footer gap */
@media(max-width:700px){
  #header-web-search{display:none !important}
  .header-web-actions{grid-template-columns:1fr}
  .header-web-actions>#header-web-import{grid-column:1/-1;overflow:visible;text-overflow:unset;white-space:nowrap}
}
body:has(.advanced-search) #view-subnav,
html:has(.advanced-search) #view-subnav,
body:has(.advanced-search) .view-subnav,
html:has(.advanced-search) .view-subnav{
  display:none !important;
}
.advanced-search .filter-region-group,.advanced-search .filter-block{scroll-margin-top:calc(var(--baqon-sticky-topbar, 166px) + 8px)}
.detail-opening{padding:24px 20px 40px}.detail-opening h2{margin:0 0 8px;font-size:1.35rem}


/* search-hints1: rotating empty-state search hints */
.header-search-field.has-search-hint{position:relative}
.header-search-field .search-hint{
  position:absolute;left:10px;right:36px;top:0;bottom:0;z-index:1;
  display:flex;align-items:center;margin:0;padding:0;
  font-size:16px;line-height:1.2;color:#6d786f;
  pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  opacity:1;transition:opacity .35s ease;
}
.header-search-field .search-hint.is-fading{opacity:0}
.header-search-field.has-search-hint input[type=search]{position:relative;z-index:2;background:transparent}
@media(max-width:700px){
  .header-search-field .search-hint{left:8px;right:8px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .header-search-field .search-hint{transition:none}
}

/* search-region1: dish × region typeahead */
.suggest-combo .suggest-title{font-weight:700}
.suggest-combo-empty .suggest-sub{color:#7a5340}

/* search-hints2: never let the rotating hint overlap a typed, autofilled, or restored query */
@keyframes baqon-on-autofill{from{opacity:1}to{opacity:1}}
.header-search-field input:-webkit-autofill{animation-name:baqon-on-autofill}
.header-search-field.has-search-hint:has(input:not(:placeholder-shown)) .search-hint,
.header-search-field.has-search-query .search-hint{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
}
