:root{--paper:#faf6ef;--surface:#fff;--cream:#fff7ed;--ink:#32261d;--quiet:#877b70;--soft:#a79a8f;--accent:#dc6a36;--accent2:#bb4a25;--line:#eee5db;--green:#55745a;--shadow:0 11px 27px rgba(71,44,22,.065);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--paper);-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;border:0;background:transparent;color:inherit;touch-action:manipulation}button:disabled{opacity:.34;cursor:default}button:focus-visible,input:focus-visible,[role=button]:focus-visible{outline:3px solid #f3a57c;outline-offset:2px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.044em}h1{font-weight:790;line-height:1.11}h2{line-height:1.18}p{line-height:1.5}svg{flex:none}.svgicon{vertical-align:middle}[hidden]{display:none!important}
.app-shell{max-width:660px;margin:0 auto;min-height:100dvh;background:var(--paper);padding-bottom:calc(88px + env(safe-area-inset-bottom))}
.topbar{position:sticky;z-index:10;top:0;height:calc(73px + env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;padding:calc(12px + env(safe-area-inset-top)) 18px 12px;background:rgba(250,246,239,.96);border-bottom:1px solid rgba(231,220,207,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.brand{display:flex;gap:10px;align-items:center;min-width:0}.brand-seal{background:var(--accent);color:white;border-radius:15px;width:46px;height:46px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #d66a382b}.brand-copy strong{font-size:17px;letter-spacing:-.034em;display:block;font-weight:820;white-space:nowrap}.brand-copy span{font-size:11px;color:var(--accent2);font-weight:680;letter-spacing:.045em;display:block;margin-top:3px}.head-action{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;color:var(--accent2);background:#fff;border:1px solid var(--line)}
.main{padding:7px 17px 28px}.overline{font-size:10px;letter-spacing:.11em;color:var(--accent2);font-weight:820}.welcome{padding:25px 2px 21px}.welcome h1{font-size:37px;margin:9px 0 10px}.welcome h1 i{font-family:Georgia,"Times New Roman",serif;color:var(--accent2);font-weight:500}.welcome p{color:var(--quiet);font-size:14px;max-width:360px}.hero{position:relative;overflow:hidden;border-radius:25px;min-height:330px;isolation:isolate;background:#6d4834;box-shadow:var(--shadow);cursor:pointer}.hero img{position:absolute;inset:0;height:100%;object-position:center;transition:transform .2s}.hero:active img{transform:scale(1.025)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 23%,rgba(15,14,12,.12) 38%,rgba(17,15,13,.85) 100%);z-index:0;pointer-events:none}.hero-overlay{position:absolute;z-index:1;bottom:0;left:0;right:0;color:white;padding:23px}.hero-label{display:inline-flex;align-items:center;border-radius:100px;padding:7px 12px;background:#ef8b55;color:#fff;font-size:11px;font-weight:850;letter-spacing:.04em}.hero-overlay h2{font-size:29px;margin:12px 0 9px;max-width:400px}.hero-overlay p{color:#fffefbe9;display:flex;align-items:center;gap:5px;font-size:13px;font-weight:590}.hero-overlay p span{padding:0 4px}.hero-cta{display:inline-flex;gap:10px;align-items:center;border-radius:13px;background:white;color:var(--accent2);font-size:13px;font-weight:790;padding:11px 14px;margin-top:17px}
.block-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:27px 1px 14px}.block-title h2{font-size:22px;font-weight:800}.block-title small{display:block;margin-top:4px;font-size:12px;color:var(--quiet)}.block-title button{color:var(--accent2);font-size:12px;font-weight:810;white-space:nowrap;padding:7px 0}
.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.category-tile{display:flex;text-align:left;align-items:center;gap:9px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:17px 10px;min-width:0;box-shadow:0 4px 12px rgba(80,47,26,.035)}.category-tile>span{font-size:24px}.category-tile div{flex:1;min-width:0}.category-tile strong{font-size:13px;white-space:nowrap;display:block;letter-spacing:-.03em}.category-tile small{font-size:10px;color:var(--quiet);white-space:nowrap}.category-tile svg{color:var(--accent2);width:15px}
.recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.recipe-card{min-width:0;overflow:hidden;background:#fff;border:1px solid rgba(237,227,216,.8);border-radius:20px;box-shadow:var(--shadow);cursor:pointer}.card-image{position:relative;aspect-ratio:1.10;overflow:hidden;background:#f0e2d1}.card-image img{height:100%;transition:transform .25s}.recipe-card:active img{transform:scale(1.03)}.card-heart{width:35px;height:35px;display:grid;place-items:center;position:absolute;right:9px;top:9px;border-radius:13px;background:#fffefaec;color:var(--accent2);box-shadow:0 2px 8px #50301b20;font-size:22px;line-height:1}.card-heart.selected{background:var(--accent);color:white}.card-content{padding:12px 11px 14px}.card-cat{font-size:9px;color:var(--accent2);font-weight:810;letter-spacing:.06em;text-transform:uppercase}.card-content h3{font-size:15px;font-weight:770;line-height:1.27;min-height:38px;margin:6px 0 12px}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:3px;color:var(--quiet);font-size:11px;font-weight:650}.card-bottom span{display:flex;align-items:center;gap:2px;white-space:nowrap}
.v02-note{text-align:center;font-size:11px;color:var(--soft);margin:28px 0 3px}.loader,.empty{text-align:center;color:var(--quiet);padding:80px 20px}.empty>span{font-size:47px;display:block;margin-bottom:15px}.empty h3{font-size:19px;color:var(--ink);margin-bottom:8px}.empty p{font-size:13px;max-width:270px;margin:0 auto 15px}
.page-heading{padding:29px 2px 20px}.page-heading h1{font-size:34px;margin:10px 0}.page-heading p{font-size:14px;color:var(--quiet)}.search{background:#fff;border:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:17px;box-shadow:0 5px 12px rgba(70,40,20,.025);color:#a09286}.search input{flex:1;min-width:0;border:0;outline:0;color:var(--ink);font-size:15px;background:transparent}.search input::placeholder{color:#a59d96}
.chips{display:flex;overflow-x:auto;gap:8px;scrollbar-width:none;margin:17px -17px 8px;padding:0 17px 5px}.chips::-webkit-scrollbar{display:none}.chip{white-space:nowrap;border:1px solid var(--line);border-radius:14px;background:#fff;color:#7c7168;font-size:12px;font-weight:710;padding:11px 14px}.chip.active{background:var(--accent);border-color:var(--accent);color:white}.quick-filters{display:flex;gap:8px;flex-wrap:wrap;margin:9px 0 21px}.quick-filters button{background:#f4ece2;border-radius:100px;color:#796b5f;font-size:12px;font-weight:720;padding:8px 12px}.quick-filters button.active{background:#e9d1c0;color:#964520}.resultline{display:flex;justify-content:space-between;align-items:center;margin:14px 2px 13px}.resultline b{font-size:20px;letter-spacing:-.04em}.resultline small{color:var(--quiet);font-size:12px}
.bottom-nav{position:fixed;z-index:11;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:660px;display:grid;grid-template-columns:repeat(4,1fr);background:#fffcf7fa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid #e9dfd5;padding:6px 9px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -5px 24px rgba(70,48,31,.04)}.navitem{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;font-size:10px;font-weight:700;min-height:53px;color:#988a7b;border-radius:14px}.navitem.active{background:#fff0e2;color:var(--accent2)}.nav-icon-wrap{position:relative;display:grid;place-items:center}.shopping-badge{position:absolute;right:-7px;top:-7px;border:1px solid white;border-radius:999px;background:var(--accent);color:#fff;font-size:9px;min-width:16px;height:16px;display:grid;place-items:center}
.shopping-actions{display:flex;gap:10px;margin-bottom:16px}.shopping-actions button{border:1px solid var(--line);border-radius:14px;padding:11px 12px;background:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;gap:6px}.shopping-actions button:first-child{color:var(--accent2)}.shop-list{display:grid;gap:9px}.shop-row{display:flex;align-items:center;gap:11px;background:#fff;padding:12px;border-radius:14px;border:1px solid var(--line)}.shop-check{height:25px;width:25px;border:1.5px solid #dfbdaa;border-radius:9px;display:grid;place-items:center;color:white;flex:none}.shop-row.done .shop-check{background:var(--green);border-color:var(--green)}.shop-text{flex:1;min-width:0}.shop-text b{font-size:13px;font-weight:650;display:block;line-height:1.35}.shop-text small{font-size:11px;color:var(--soft)}.shop-row.done .shop-text b{text-decoration:line-through;color:#a5a099}.shop-remove{font-size:25px;color:#b7a9a0;padding:2px 7px}
.detail-layer,.cook-layer{position:fixed;inset:0;z-index:24;background:var(--paper);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.detail-shell,.cook-shell{max-width:660px;margin:0 auto;min-height:100dvh}.detail-topbar{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:10px;justify-content:space-between;background:#faf6eff5;border-bottom:1px solid var(--line);height:calc(66px + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) 16px 10px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.detail-back,.detail-fav{width:42px;height:42px;background:#fff;border:1px solid var(--line);border-radius:13px;display:grid;place-items:center;flex:none}.detail-fav{font-size:24px;color:var(--accent2)}.detail-fav.selected{color:#fff;background:var(--accent);border-color:var(--accent)}.detail-brand{text-align:center;line-height:1.1;min-width:0}.detail-brand strong{font-size:17px;letter-spacing:-.045em;display:block;white-space:nowrap}.detail-brand span{display:block;color:var(--accent2);font-size:11px;margin-top:4px;letter-spacing:.06em;font-weight:700}
.detail-image{height:260px;position:relative;overflow:hidden;background:#e5d0b8}.detail-image img{height:100%}.image-label{position:absolute;left:18px;bottom:18px;color:#4f3d2e;background:#fffef5ed;border-radius:100px;padding:8px 13px;font-size:12px;font-weight:780;backdrop-filter:blur(10px)}.detail-content{background:var(--paper);padding:23px 18px calc(60px + env(safe-area-inset-bottom))}.recipe-heading h1{font-size:30px;margin:8px 0 12px}.recipe-heading .overline span{color:#b7afa5}.recipe-heading p{font-size:14px;color:var(--quiet);line-height:1.58}
.recipe-info{display:grid;grid-template-columns:.95fr .9fr 1.35fr;margin:20px 0 23px;background:#fff;border:1px solid var(--line);border-radius:19px;padding:17px 5px}.recipe-info>div{display:flex;align-items:center;flex-direction:column;text-align:center;gap:6px;padding:0 6px;border-right:1px solid var(--line);min-width:0}.recipe-info>div:last-child{border-right:0}.recipe-info svg,.recipe-info .info-symbol{color:var(--accent2);font-size:18px;height:19px;display:flex;align-items:center}.recipe-info b{font-size:14px;font-weight:820;line-height:1.15}.recipe-info span:not(.info-symbol){font-size:11px;color:var(--soft);line-height:1.2}
.nutrition{background:#fff;border:1px solid var(--line);border-radius:21px;padding:20px 14px 15px;box-shadow:0 3px 16px #5f402010}.nutrition-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:0 4px 17px;gap:8px}.nutrition-heading h2{font-size:22px;margin-top:6px}.nutrition-heading>small{font-size:11px;color:var(--quiet);white-space:nowrap}.macros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.macro{border-radius:14px;background:#fff6ed;padding:14px 5px 12px;text-align:center;min-width:0}.macro.protein{background:#eaf2e9}.macro.fat{background:#fff2e1}.macro.carbs{background:#f4edf5}.macro small{display:block;font-size:10px;color:#927a69;font-weight:760;margin-bottom:8px}.macro.protein small{color:#547858}.macro.fat small{color:#a17440}.macro.carbs small{color:#866189}.macro strong{display:block;line-height:1;font-size:24px;font-weight:830;letter-spacing:-.04em}.macro span{display:block;font-size:10px;color:var(--quiet);margin-top:7px}.nutrition-foot{font-size:10px;color:var(--soft);margin:12px 3px 0}.taglist{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 10px}.taglist span{background:#f2eae0;border-radius:50px;color:#83746a;font-size:11px;padding:7px 10px}
.recipe-section{margin-top:32px}.section-name{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:15px}.section-name h2{font-size:27px;margin-top:5px}.section-name>small,.ing-progress{font-size:12px;color:var(--quiet)}.portion-bar{display:flex;justify-content:space-between;gap:10px;align-items:center;border-radius:18px;border:1px solid var(--line);background:#fff;padding:13px 16px;margin-bottom:11px}.portion-bar small{display:block;color:var(--quiet);font-size:12px}.portion-bar strong{display:block;font-size:15px;margin-top:3px}.stepper{display:flex;align-items:center;gap:13px}.stepper button{width:35px;height:35px;border-radius:12px;display:grid;place-items:center;background:#fff2e9;color:var(--accent2)}.stepper span{font-size:17px;font-weight:850;min-width:16px;text-align:center}.ingredient-hint{font-size:11px;color:var(--quiet);margin:0 3px 12px}.ingredients{display:grid;gap:8px}.ingredient{display:flex;width:100%;text-align:left;gap:12px;align-items:center;padding:14px 13px;background:#fff;border-radius:14px;border:1px solid var(--line);font-size:13.5px;line-height:1.42;color:#51473d}.ing-check{width:23px;height:23px;flex:none;border:1.5px solid #dfccbb;border-radius:8px;display:grid;place-items:center;color:white}.ingredient.done .ing-check{background:var(--green);border-color:var(--green)}.ingredient.done>span:last-child{color:#b5aca3;text-decoration:line-through}.ingredient-actions{display:flex;gap:10px;margin-top:13px}.ingredient-actions button{display:flex;gap:7px;align-items:center;justify-content:center;flex:1;background:#fff;border:1px solid #e9ded3;border-radius:13px;color:var(--accent2);font-size:12px;font-weight:750;padding:13px 7px}
.start-cook{width:100%;display:flex;align-items:center;gap:13px;text-align:left;background:var(--accent);color:#fff;border-radius:19px;padding:16px;box-shadow:0 9px 20px #d46b3631;margin-bottom:20px}.start-cook>span:first-child{border-radius:12px;background:#ffffff27;padding:10px;display:grid;place-items:center}.start-cook div{flex:1}.start-cook strong{display:block;font-size:17px}.start-cook small{display:block;font-size:11px;opacity:.85;margin-top:4px}.go-arrow{font-size:22px}.steps{display:grid;gap:10px}.step-card{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px 15px}.step-number{font-family:Georgia,"Times New Roman",serif;font-size:24px;color:var(--accent2);line-height:1;min-width:31px}.step-card p{font-size:14px;line-height:1.65;color:#554b42}.chef-tip{margin-top:15px;display:flex;gap:12px;padding:17px;background:#f0f1e6;border:1px solid #e0e5d2;border-radius:18px}.chef-tip>span{color:var(--green);font-size:24px}.chef-tip strong{font-size:14px;color:#475b3d}.chef-tip p{margin-top:5px;font-size:13px;line-height:1.55;color:#67715b}
.rating-box{margin:28px 0 25px;padding:20px 18px;background:#fff;border-radius:19px;border:1px solid var(--line)}.rating-box h2{font-size:23px;margin:7px 0 13px}.star-row{display:flex;gap:3px}.star-row button{font-size:33px;color:#d8d3ce;padding:0 4px}.star-row button.on{color:#eea936}.rating-box p{font-size:11px;color:var(--quiet);margin-top:8px}
.cook-layer{z-index:30}.cook-shell{display:flex;flex-direction:column;height:100dvh;min-height:0}.cook-head{display:flex;gap:12px;align-items:center;padding:calc(14px + env(safe-area-inset-top)) 17px 16px;border-bottom:1px solid var(--line);background:var(--paper)}.cook-head>button{border-radius:13px;background:white;width:41px;height:41px;display:grid;place-items:center}.cook-head>div{flex:1;min-width:0}.cook-head b{font-size:16px;display:block}.cook-head small{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--quiet);font-size:11px;margin-top:3px}.cook-head>span{font-size:13px;color:var(--accent2);font-weight:820}.cook-progress{height:5px;background:#f2dfce}.cook-progress span{display:block;height:100%;background:var(--accent);transition:width .2s}.cook-body{overflow-y:auto;flex:1;padding:34px 22px}.cook-icon{font-size:27px;width:59px;height:59px;border-radius:21px;background:#fff1e4;color:var(--accent2);display:grid;place-items:center;margin-bottom:26px}.cook-body h2{font-size:26px;line-height:1.43;margin:14px 0 26px;font-weight:680;letter-spacing:-.035em}.timer-hint{display:flex;align-items:center;gap:10px;background:#f0ebdf;color:#7e6049;border-radius:15px;font-size:13px;font-weight:740;padding:13px 15px}.timer-box{margin-top:28px;background:#fff;border-radius:19px;border:1px solid var(--line);padding:20px;text-align:center}.timer-box>strong{display:block;font-size:44px;letter-spacing:.01em;font-variant-numeric:tabular-nums;margin:7px 0 16px}.timer-actions{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:7px}.timer-actions button{padding:12px 4px;border-radius:12px;background:#f5eee7;font-size:12px;font-weight:740}.timer-actions .timer-primary{background:var(--accent);color:#fff}.cook-footer{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;background:#fffbf5;border-top:1px solid var(--line);padding:13px 17px calc(15px + env(safe-area-inset-bottom))}.cook-footer button{background:#f0e5d9;border-radius:14px;font-weight:820;font-size:14px;padding:16px}.cook-footer .cook-next{background:var(--accent);color:#fff}
.modal-layer{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center}.modal-shade{position:absolute;inset:0;background:#291e1680}.install-sheet{position:relative;background:var(--paper);border-radius:26px 26px 0 0;width:100%;max-width:660px;padding:13px 25px calc(24px + env(safe-area-inset-bottom))}.sheet-handle{width:44px;height:5px;background:#e3d9cf;border-radius:5px;margin:0 auto 18px}.modal-emoji{display:inline-flex;font-size:32px;border-radius:16px;background:#fff0de;padding:15px;margin-bottom:13px}.install-sheet h2{font-size:25px;margin-bottom:9px}.install-sheet p,.install-sheet li{font-size:14px;color:var(--quiet);line-height:1.55}.install-sheet ol{padding-left:21px;margin:13px 0}.install-sheet li{margin:9px 0}.action-btn{border-radius:14px;background:var(--accent);color:#fff;font-weight:790;padding:13px 16px;font-size:13px}.fullwidth{width:100%;padding:16px;margin-top:5px}.toast{position:fixed;z-index:90;left:50%;bottom:calc(95px + env(safe-area-inset-bottom));transform:translate(-50%,15px);background:#372c23;color:#fff;padding:12px 16px;border-radius:13px;box-shadow:0 6px 24px #2b1d1470;opacity:0;pointer-events:none;font-size:13px;transition:opacity .16s,transform .16s;white-space:nowrap;max-width:95vw;overflow:hidden;text-overflow:ellipsis}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:570px){.main{padding-left:25px;padding-right:25px}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{min-height:385px}.hero-overlay h2{font-size:33px}.chips{margin-left:-25px;margin-right:-25px;padding-left:25px;padding-right:25px}.detail-image{height:370px}.detail-content{padding-left:28px;padding-right:28px}.welcome h1{font-size:43px}}@media(max-width:350px){.brand-copy strong{font-size:15px}.brand-seal{width:42px;height:42px}.main{padding-left:12px;padding-right:12px}.detail-content{padding-left:12px;padding-right:12px}.recipe-info b{font-size:12px}.macro strong{font-size:20px}.ingredient-actions button{font-size:11px}.card-bottom{font-size:9px}.card-content h3{font-size:14px}}

.price-note{display:inline-block;margin-top:12px;padding:8px 11px;border-radius:11px;background:#f2e9dd;color:#80614c;font-size:11px;font-weight:710}

/* Brand v0.3: editorial, restrained identity for iPhone */
.topbar{height:calc(76px + env(safe-area-inset-top));padding:calc(12px + env(safe-area-inset-top)) 17px 12px;background:rgba(250,246,239,.97)}
.brand{gap:12px;min-width:0;flex:1}
.brand-mark{position:relative;flex:none;width:46px;height:46px;border-radius:15px;background:#824b39;color:#fffaf1;display:grid;place-items:center;box-shadow:0 3px 9px rgba(68,41,26,.1)}
.brand-mark::before{content:"";position:absolute;inset:5px;border:1px solid rgba(255,248,233,.42);border-radius:11px;pointer-events:none}
.brand-mark span{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:17px;letter-spacing:-.12em;padding-right:2px;line-height:1}
.brand-copy{min-width:0}
.brand-copy strong{display:block;font-family:"Avenir Next","Helvetica Neue",-apple-system,BlinkMacSystemFont,sans-serif;font-size:18px;line-height:1.16;font-weight:700;letter-spacing:-.054em;color:#30251e;white-space:nowrap}
.brand-copy span{display:block;margin-top:5px;font-family:"Avenir Next","Helvetica Neue",-apple-system,sans-serif;font-size:11.5px;line-height:1.15;font-weight:500;letter-spacing:.018em;color:#9b705a;text-transform:none}
.head-action{width:43px;height:43px;flex:none;border-radius:14px;color:#8d523b;border-color:#ede4da;box-shadow:0 2px 7px rgba(80,54,34,.035)}
.detail-topbar{gap:9px}
.detail-brand{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-width:0;text-align:left;line-height:1.1}
.detail-brand-mark{flex:none;position:relative;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#824b39;color:#fffaf1;font-family:Georgia,"Times New Roman",serif;font-size:13px;font-weight:700;letter-spacing:-.11em;padding-right:2px}
.detail-brand-mark::before{content:"";position:absolute;inset:4px;border:1px solid rgba(255,248,233,.35);border-radius:7px}
.detail-brand-copy{min-width:0}
.detail-brand-copy strong{font-family:"Avenir Next","Helvetica Neue",-apple-system,sans-serif;display:block;font-size:14px;line-height:1.15;font-weight:700;letter-spacing:-.045em;white-space:nowrap;color:#30251e}
.detail-brand-copy span{font-family:"Avenir Next","Helvetica Neue",-apple-system,sans-serif;display:block;margin-top:3px;font-size:9.5px;letter-spacing:.018em;font-weight:500;white-space:nowrap;color:#9b705a;text-transform:none}
@media(max-width:370px){.brand{gap:9px}.brand-mark{width:42px;height:42px;border-radius:14px}.brand-copy strong{font-size:16px}.brand-copy span{font-size:10.5px}.detail-brand{gap:6px}.detail-brand-mark{width:31px;height:31px}.detail-brand-copy strong{font-size:12.5px}.detail-brand-copy span{font-size:8.7px}}

/* Refined wordmark type: light editorial serif, not the previous heavy UI font */
.brand-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:20px;font-weight:400;letter-spacing:-.047em;line-height:1.12}
.detail-brand-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:15.5px;font-weight:400;letter-spacing:-.04em;line-height:1.12}
@media(max-width:370px){.brand-copy strong{font-size:17px}.detail-brand-copy strong{font-size:13.5px}}

/* v0.5 — functional redesign inspired by the supplied screen references */
:root{--reference-green:#315c49;--reference-muted:#6e6b65;--reference-surface:#fdfbf7}
body,.app-shell,.detail-layer,.cook-layer{background:var(--reference-surface)}
.topbar{background:rgba(253,251,247,.97);height:calc(67px + env(safe-area-inset-top));padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:8px}
.brand-mark{width:39px;height:39px;border-radius:13px}
.brand-mark span{font-size:15px}
.brand-copy strong{font-size:18px}
.brand-copy span{font-size:10px;margin-top:2px}
.head-action{width:39px;height:39px}
.main{padding:14px 18px 32px}
.home-intro{padding:10px 0 17px}
.home-intro>span{color:#777069;font-size:14px;font-weight:520;display:block;margin-bottom:8px}
.home-intro h1{font-size:33px;line-height:1.08;font-weight:810;letter-spacing:-.048em}
.search.home-search{margin:4px 0 15px;border:1px solid #e5e0d8;border-radius:17px;box-shadow:none;padding:14px 15px}
.home-categories{display:flex;overflow-x:auto;scrollbar-width:none;gap:8px;padding:0 0 19px;margin-right:-18px}
.home-categories::-webkit-scrollbar{display:none}
.home-categories button{white-space:nowrap;border-radius:24px;background:#efece5;padding:11px 15px;color:#3a352f;font-size:13px;font-weight:680}
.home-categories button.selected,.home-categories button:active{background:var(--reference-green);color:white}
.feature-card{overflow:hidden;border:1px solid #e7e0d7;border-radius:23px;background:#fff;box-shadow:none;cursor:pointer}
.feature-image{position:relative;height:220px;background:#e5d2b5}
.feature-image img{height:100%;object-fit:cover}
.feature-image>span{position:absolute;top:13px;left:13px;padding:8px 12px;background:#262522;color:#fff;font-size:11px;font-weight:800;letter-spacing:.028em;border-radius:18px}
.feature-body{padding:17px 17px 19px}
.feature-body h2{font-size:23px;line-height:1.18;font-weight:790;margin-bottom:12px}
.feature-body p{font-size:12px;font-weight:660;color:#6e6b65}
.reference-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:29px 0 16px}
.reference-heading h2{font-size:22px;line-height:1.2;letter-spacing:-.047em}
.reference-heading button,.reference-heading>span{font-size:12px;color:var(--reference-green);font-weight:750;white-space:nowrap}
.daily-menu.preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.menu-meal{min-width:0}
.menu-image{height:90px;border-radius:17px;overflow:hidden;background:#e5d1b7;cursor:pointer}
.menu-image img{width:100%;height:100%;object-fit:cover}
.menu-meal small{font-size:11px;font-weight:550;color:#82796e;display:block;margin:9px 0 5px}
.menu-meal>b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:12px;line-height:1.35;font-weight:735;cursor:pointer}
.block-title{margin:28px 1px 13px}
.block-title h2{font-size:21px}
.block-title button{color:var(--reference-green)}
.recipe-grid{gap:18px 11px}
.recipe-card{border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible}
.card-image{border-radius:18px;aspect-ratio:.97;overflow:hidden}
.card-time{position:absolute;left:9px;bottom:9px;z-index:2;display:flex;align-items:center;gap:4px;border-radius:14px;background:#fff;color:#34312b;font-size:10px;font-weight:800;padding:7px 9px;white-space:nowrap}
.card-heart{width:30px;height:30px;border-radius:50%;font-size:20px}
.card-content{padding:9px 1px 3px}
.card-cat{display:none}
.card-content h3{font-size:14px;min-height:0;line-height:1.34;font-weight:755;margin:0 0 7px}
.card-bottom{color:#7c746a;font-size:11px}
.card-bottom span:first-child{display:none}
.demo-notice{font-size:11px;text-align:center;color:#99938a;padding:22px 0 0}
.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr));background:#fff;box-shadow:0 -2px 18px #5d55430d;padding:6px 4px calc(7px + env(safe-area-inset-bottom))}
.navitem{gap:5px;padding:4px 0;min-height:54px;font-size:9px;letter-spacing:-.015em;color:#79766e;border-radius:9px}
.navitem svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.navitem.active{background:transparent;color:var(--reference-green)}
.ref-catalog-heading{display:flex;align-items:center;gap:13px;margin:21px 0 22px}
.ref-catalog-heading h1{font-size:30px;line-height:1.14;font-weight:820}
.ref-catalog-heading p{font-size:13px;margin-top:6px;color:#79756e}
.ref-catalog-heading .overline{display:block;margin-bottom:7px;color:var(--reference-green)}
.round-back{width:41px;height:41px;border:1px solid #ded9d1;border-radius:50%;background:white;display:grid;place-items:center;flex:none}
.catalog-search{margin-bottom:16px}
.chips{margin-top:7px;margin-bottom:5px;padding-bottom:11px}
.chip{border-radius:22px;border-color:#dcd7cf;background:transparent;padding:10px 13px;color:#36312a;font-weight:660}
.chip.active{background:#272723;border-color:#272723;color:white}
.filter-line{margin:9px 0 17px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.filter-line>span{font-size:12px;color:#777168}
.filter-line>button{display:flex;align-items:center;gap:6px;color:var(--reference-green);font-size:13px;font-weight:760}
.filter-drawer{display:flex;flex-wrap:wrap;gap:8px;margin:-2px 0 17px;padding:12px;border:1px solid #e9e3da;background:#fff;border-radius:15px}
.filter-drawer button{border:1px solid #e5ded4;border-radius:20px;padding:9px 12px;background:#faf7f2;font-size:12px}
.filter-drawer button.active{background:var(--reference-green);color:#fff;border-color:var(--reference-green)}
.resultline{margin:12px 2px 17px}
.resultline b{font-size:17px}
.resultline small{font-size:11px}

/* A recipe is a white sheet pulled over a full-bleed food photograph */
.detail-layer{background:#fff}
.detail-shell{background:var(--reference-surface);padding-bottom:0;min-height:100dvh}
.detail-image{height:315px;position:relative;background:#e3ceb0}
.detail-image>img{height:100%;object-fit:cover}
.detail-floating-actions{position:absolute;z-index:2;top:calc(16px + env(safe-area-inset-top));left:17px;right:17px;display:flex;justify-content:space-between;align-items:center}
.detail-back,.detail-fav{height:43px;width:43px;border-radius:50%;display:grid;place-items:center;background:#fff;border:0;box-shadow:0 4px 18px #3525151c}
.detail-fav{font-size:24px;color:#d65f3b}
.detail-fav.selected{background:#fff;color:#d65f3b}
.detail-content{position:relative;z-index:1;margin-top:-27px;border-radius:29px 29px 0 0;background:var(--reference-surface);padding:24px 19px calc(142px + env(safe-area-inset-bottom))}
.recipe-heading .overline{color:var(--reference-green);font-size:11px}
.recipe-heading h1{font-size:29px;line-height:1.14;margin:12px 0 10px}
.recipe-heading>p{font-size:13px;line-height:1.5;color:#77726b}
.price-note{font-size:10px;padding:7px 9px;background:#f0e9df;color:#7e6d5f;border-radius:8px}
.recipe-info{margin:16px 0 17px;background:transparent;box-shadow:none;border:0;border-radius:0;grid-template-columns:repeat(3,max-content);justify-content:start;gap:18px;padding:0}
.recipe-info>div{border:0;display:flex;align-items:center;flex-direction:row;gap:4px;padding:0}
.recipe-info>div svg,.recipe-info>div .info-symbol{display:none}
.recipe-info b{font-size:12px;color:#5b554d;font-weight:700;white-space:nowrap}
.recipe-info>div span:not(.info-symbol){display:none}
.nutrition{background:#fff;border:1px solid #e6e0d7;border-radius:18px;box-shadow:none;padding:16px 12px;margin-top:18px}
.nutrition-heading{margin:0 2px 12px}
.nutrition-heading .overline{display:none}
.nutrition-heading h2{font-size:16px;font-weight:760}
.nutrition-heading small{font-size:10px}
.macros{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.macro,.macro.protein,.macro.fat,.macro.carbs{background:transparent;border-right:1px solid #eee8df;border-radius:0;padding:8px 2px 3px}
.macro:last-child{border-right:0}
.macro strong{font-size:22px}
.macro small{font-size:10px;margin-bottom:6px;color:#79746c}
.macro span{font-size:10px;color:#817971}
.nutrition-foot{font-size:10px;margin:9px 4px 0}
.taglist{gap:6px;margin-top:14px}
.taglist span{font-size:10px}
.recipe-section{margin-top:27px}
.section-name{align-items:center;margin-bottom:11px}
.section-name h2{font-size:23px}
.inline-portions{display:flex;align-items:center;gap:7px;background:#f0ece5;padding:4px;border-radius:22px;white-space:nowrap}
.inline-portions button{height:29px;width:29px;border-radius:50%;background:#fff;display:grid;place-items:center;color:#242421}
.inline-portions span{font-size:11px;font-weight:760;color:#2d2c28}
.ing-progress{font-size:10px;color:#99918a;margin-bottom:8px}
.ingredient-hint{font-size:11px;color:#999089;margin:0 0 9px}
.ingredients{display:block}
.ingredient{display:flex;align-items:center;gap:9px;border:0;border-radius:0;border-bottom:1px solid #eae6df;padding:16px 0;background:transparent;font-size:13px;color:#282622;line-height:1.4}
.ing-check{width:17px;height:17px;border-radius:5px;border:1px solid #cfc9bf;flex:none}
.ing-name{flex:1;min-width:0;text-align:left}
.ing-amount{color:#77736b;font-weight:700;text-align:right;max-width:43%;overflow-wrap:anywhere}
.ingredient.done .ing-name,.ingredient.done .ing-amount{text-decoration:line-through;color:#b3ada5}
.ingredient-actions{margin-top:14px}
.ingredient-actions button{border-color:#e9e4dc;font-size:12px;color:var(--reference-green)}
.start-cook{display:none}
.detail-action-bar{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:660px;background:#fff;padding:12px 17px calc(13px + env(safe-area-inset-bottom));display:grid;grid-template-columns:55px 1fr;gap:11px;border-top:1px solid #e8e3db;box-shadow:0 -5px 18px #493a2808}
.detail-cart{height:53px;border:1px solid #e0d9d0;border-radius:16px;background:#fff;display:grid;place-items:center;color:#292720}
.detail-primary{border-radius:16px;background:var(--reference-green);color:#fff;font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:14px}
.detail-primary span{font-size:21px;font-weight:500}
.step-card{background:#fff;border-color:#ece8df}

/* Real weekly menu selection */
.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:19px}
.week-strip button{border:1px solid #e9e3db;border-radius:14px;background:#fff;display:flex;flex-direction:column;gap:4px;align-items:center;padding:11px 0}
.week-strip button small{font-size:11px;color:#8b8378}
.week-strip button strong{font-size:16px}
.week-strip button.selected{background:var(--reference-green);border-color:var(--reference-green);color:#fff}
.week-strip button.selected small{color:#e4eee7}
.week-meals{display:grid;gap:12px}
.week-meal{display:flex;gap:15px;align-items:center;background:#fff;border:1px solid #eee7df;border-radius:17px;padding:12px}
.week-meal-photo{width:112px;height:105px;flex:none;border-radius:13px;overflow:hidden;background:#e7d5bb}
.week-meal-photo img{height:100%;object-fit:cover}
.week-meal>div:last-child{flex:1;min-width:0}
.week-meal span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--reference-green);font-weight:820}
.week-meal b{display:block;font-size:15px;line-height:1.25;margin:5px 0;cursor:pointer}
.week-meal small{font-size:11px;color:#8d8478;display:block}
.week-meal button{color:var(--reference-green);font-size:11px;font-weight:750;margin-top:10px}
.menu-buy{width:100%;margin:18px 0 8px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:16px;background:var(--reference-green);color:#fff;font-weight:790;padding:17px}
.menu-explain{font-size:11px;color:#8d857a;padding:4px 3px 18px}
.profile-head{text-align:center;padding:34px 0 22px}
.profile-avatar{height:63px;width:63px;display:grid;place-items:center;border-radius:21px;background:#824b39;color:white;font:700 22px Georgia,serif;margin:0 auto 16px}
.profile-head h1{font-size:31px;margin:7px 0}
.profile-head p{font-size:13px;color:#8b8075}
.profile-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:8px 0 23px}
.profile-metrics button{background:#fff;border:1px solid #eee7df;border-radius:15px;padding:19px 6px}
.profile-metrics strong{display:block;font-size:23px}
.profile-metrics span{display:block;font-size:10px;color:#867e74;margin-top:4px}
.profile-actions{background:#fff;border:1px solid #eee8df;border-radius:19px;padding:0 14px}
.profile-actions button{display:flex;gap:12px;align-items:center;width:100%;min-height:59px;border-bottom:1px solid #f0eae3;font-size:14px}
.profile-actions button:last-child{border-bottom:0}
.profile-actions button svg{color:var(--reference-green)}
.profile-actions button span{flex:1;text-align:left}
.profile-notice{background:#f1f0e9;padding:18px;border-radius:17px;margin:23px 0}
.profile-notice b{font-size:13px}
.profile-notice p{font-size:12px;color:#79746c;margin-top:6px}
@media(min-width:570px){.feature-image{height:290px}.daily-menu.preview .menu-image{height:125px}.detail-image{height:380px}}
@media(max-width:370px){.main{padding-left:13px;padding-right:13px}.home-intro h1{font-size:29px}.feature-image{height:195px}.feature-body h2{font-size:21px}.detail-content{padding-left:14px;padding-right:14px}.inline-portions{gap:3px}.inline-portions span{font-size:10px}.week-meal-photo{width:94px}.recipe-info{gap:10px}}

/* v0.6 small-screen and fixed-nav tap targets */
html{scroll-padding-bottom:calc(120px + env(safe-area-inset-bottom))}
.menu-buy{scroll-margin-bottom:calc(130px + env(safe-area-inset-bottom))}
@media(max-width:350px){.navitem{font-size:8.2px}.navitem svg{width:20px;height:20px}.week-strip{gap:3px}.week-strip button{border-radius:11px}.week-meal b{font-size:13px}}

/* v0.7: brand wordmark follows user's reference; old monogram removed. */
.topbar{gap:10px;padding-left:16px;padding-right:16px}
.brand-wordmark{display:flex;align-items:baseline;flex:1;min-width:0;white-space:nowrap;color:#191919;line-height:1}
.brand-wordmark-text{display:inline-block;font-family:"Arial Rounded MT Bold","Arial Black",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-weight:900;font-size:clamp(17px,5.25vw,22px);letter-spacing:-.075em;line-height:1.12;white-space:nowrap;text-rendering:optimizeLegibility}
.brand-wordmark-dot{display:inline-block;align-self:flex-end;flex:none;width:5.5px;height:5.5px;margin-left:3px;margin-bottom:3px;background:#ca4b2c;border-radius:0}
.profile-wordmark{display:flex;align-items:baseline;justify-content:center;color:#191919;margin-bottom:20px;white-space:nowrap}
.profile-wordmark .brand-wordmark-text{font-size:clamp(22px,6.5vw,29px)}
.profile-wordmark .brand-wordmark-dot{width:7px;height:7px;margin-bottom:4px}
@media(max-width:350px){.topbar{gap:6px;padding-left:12px;padding-right:12px}.brand-wordmark-text{font-size:16px}.head-action{width:36px;height:36px}}


/* v0.8 — Montserrat variable, matching the user-supplied geometric bold recipe UI.
 * Files are bundled locally so Russian text works offline. Brand wordmark unchanged. */
/* cyrillic */
@font-face {
  font-family: 'SNBK Montserrat';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(./assets/fonts/montserrat-cyrillic-v31.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin */
@font-face {
  font-family: 'SNBK Montserrat';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(./assets/fonts/montserrat-latin-v31.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root,body,button,input,textarea,select{
  font-family:'SNBK Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
h1,h2,h3,
.home-intro h1,.feature-body h2,.reference-heading h2,
.block-title h2,.ref-catalog-heading h1,.card-content h3,
.recipe-heading h1,.section-name h2,.nutrition-heading h2,
.resultline b,.week-meal b,.profile-head h1,.page-heading h1,
.cook-body h2,.cook-head b{
  font-family:'SNBK Montserrat',-apple-system,BlinkMacSystemFont,sans-serif;
  font-weight:800;
  letter-spacing:-.052em;
}
.recipe-heading h1,.home-intro h1{font-weight:820;line-height:1.16}
.feature-body h2,.reference-heading h2,.ref-catalog-heading h1{font-weight:800;line-height:1.19}
.card-content h3,.week-meal b,.menu-meal>b{font-weight:720;letter-spacing:-.035em}
.navitem,.feature-body p,.recipe-info b,.ingredient,.search input,
.filter-line,.filter-drawer,.chip,.home-categories button{
  font-family:'SNBK Montserrat',-apple-system,BlinkMacSystemFont,sans-serif;
}
.navitem{font-weight:620}
.menu-meal small,.feature-body p,.ref-catalog-heading p,.recipe-heading p{font-weight:500}
.brand-wordmark-text,.profile-wordmark .brand-wordmark-text{font-family:'Arial Rounded MT Bold','Arial Black',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif}
@media(max-width:350px){
  .home-intro h1{font-size:28px}
  .ref-catalog-heading h1{font-size:26px}
  .recipe-heading h1{font-size:27px}
  .feature-body h2{font-size:20px}
  .reference-heading h2{font-size:19px}
}

/* Final type calibration: keep strong but airy, as in the supplied sample. */
.home-intro h1,.feature-body h2,.reference-heading h2,
.ref-catalog-heading h1,.recipe-heading h1,.block-title h2,.section-name h2,
.nutrition-heading h2,.page-heading h1,.profile-head h1{
  font-weight:760;letter-spacing:-.043em
}
.card-content h3,.week-meal b,.menu-meal>b{font-weight:700;letter-spacing:-.028em}
.recipe-heading h1,.home-intro h1{line-height:1.17}

/* Authenticated full-catalog experience — v11 */
.full-catalog-callout{margin:0 0 16px;background:#f0f0e7;border-radius:16px;padding:17px;display:flex;gap:12px;align-items:center;border:1px solid #e0e5d8}
.full-catalog-callout>div{flex:1;min-width:0}
.full-catalog-callout strong{display:block;font-size:14px;font-weight:780}
.full-catalog-callout p{font-size:11px;color:#6d7369;margin-top:5px;line-height:1.45}
.full-catalog-callout button,.profile-access button{background:#315c49;border-radius:12px;color:white;padding:11px 12px;font-weight:740;white-space:nowrap;font-size:12px}
.profile-access{border:1px solid #e5e6dc;border-radius:16px;background:#f2f2e9;padding:17px;display:flex;gap:11px;align-items:center;margin-bottom:20px;justify-content:space-between;flex-wrap:wrap}
.profile-access b{font-size:14px}
.profile-access p{flex:1;font-size:12px;color:#737971;min-width:130px}
.profile-access.connected{background:#ecf5ed}
.profile-access.connected button{background:#fff;color:#395b47;border:1px solid #dbe5dc}
.show-more{display:block;margin:18px auto 8px;border:1px solid #c6d3cb;background:white;color:#315c49;padding:13px 21px;font-size:12px;border-radius:14px;font-weight:800;text-align:center}
.ios-pair-overlay,.ios-report-layer{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center}
.ios-pair-shade{position:absolute;inset:0;background:#181a1a93}
.ios-pair-dialog,.ios-report-dialog{position:relative;width:100%;max-width:600px;background:#fdfbf7;border-radius:26px 26px 0 0;padding:27px 22px calc(32px + env(safe-area-inset-bottom));color:#262922;box-shadow:0 -15px 35px #0002}
.ios-pair-dialog h2,.ios-report-dialog h2{font-size:23px;letter-spacing:-.04em;font-weight:800;margin:0 0 10px}
.ios-pair-dialog p,.ios-report-dialog p{color:#666b61;font-size:12px;line-height:1.6;margin-bottom:16px}
.pair-x{position:absolute;right:14px;top:13px;font-size:26px;color:#8a887f;padding:6px}
.pair-graphic{display:grid;place-items:center;width:52px;height:52px;font-size:25px;background:#e4ede5;border-radius:17px;margin-bottom:14px}
.pair-number{letter-spacing:4px;border-radius:14px;background:#fff;border:1px dashed #9fbbab;text-align:center;font-weight:800;font-size:29px;padding:12px 7px;color:#2b5841;font-variant-numeric:tabular-nums}
.pair-messenger{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}
.pair-messenger a{display:block;background:#315c49;border-radius:13px;color:white;font-size:13px;font-weight:800;text-decoration:none;text-align:center;padding:14px 10px}
.pair-messenger a+ a{background:#f2eee5;color:#315c49}
.pair-wait{text-align:center;font-size:12px;color:#7c7d75;margin-top:15px;line-height:1.5}
.pair-retry{display:block;font-weight:740;color:#315c49;text-align:center;margin:13px auto 0;padding:9px 12px;font-size:13px}
.ios-error-report{background:#fff;border:1px solid #e5e2d9;color:#315c49;border-radius:14px;padding:14px 16px;display:block;margin:0 0 25px;width:100%;font-size:13px;font-weight:760}
.ios-report-dialog textarea{resize:vertical;width:100%;box-sizing:border-box;border:1px solid #dadcd1;border-radius:14px;background:white;padding:13px;color:#242621;font:inherit;font-size:14px}
.ios-report-send{display:block;background:#315c49;color:white;font-size:14px;font-weight:800;border-radius:14px;width:100%;padding:14px;margin-top:11px}
@media(max-width:355px){.full-catalog-callout{display:block}.full-catalog-callout button{margin-top:12px;width:100%}}

/* v13: real bot-style filters and shared recipe ratings */
.pv-adv-group{width:100%;min-width:0;padding-top:12px;border-top:1px solid #e9e5db}
.pv-adv-group h3{font-size:12px;font-weight:770;margin:0 0 9px;letter-spacing:-.02em}
.pv-adv-group>div{display:flex;flex-wrap:wrap;gap:7px}
.filter-drawer .pv-adv-group button{padding:8px 10px;background:#fff;border:1px solid #deddd6;font-size:11px;line-height:1.3;border-radius:13px;color:#4b4f47;max-width:100%;overflow-wrap:break-word;text-align:left}
.filter-drawer .pv-adv-group button.on{background:#315c49;border-color:#315c49;color:white}
.pv-adv-group small{font-size:9px;color:#989c94;margin-left:4px}
.filter-drawer .pv-adv-group button.on small{color:#d6e6da}
.filter-drawer .pv-adv-reset{width:100%;padding:13px;border:1px solid #e0e4db;border-radius:11px;font-weight:710;color:#315c49;font-size:11px;text-align:center;margin-top:9px}
#pvAdvancedFilters{width:100%;display:grid;gap:13px;min-width:0}
.server-stars{display:flex;gap:5px;align-items:center;margin-top:7px;line-height:1}
.server-stars>span{font-size:14px;color:#dda343;letter-spacing:-2px}
.server-stars small{font-size:10px;color:#8a867d}

/* v0.15 — Persistent light/dark theme: controls and profile settings */
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex:none}
.header-actions>.head-action{flex:none;display:grid;place-items:center}
.theme-toggle{transition:background-color .2s,border-color .2s,color .2s}
.theme-toggle:active{transform:scale(.96)}
.theme-settings{display:grid;gap:13px;background:var(--surface);border:1px solid var(--line);padding:18px;border-radius:19px;margin-bottom:15px}
.theme-settings-text strong{display:block;font-size:14px;font-weight:780}
.theme-settings-text small{display:block;font-size:11px;color:var(--quiet);margin-top:5px}
.theme-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.theme-choices button{min-height:48px;font-size:13px;font-weight:740;background:#f3efe8;border:1px solid #e6ded2;border-radius:13px;color:#5d554b;padding:10px 5px}
.theme-choices button.selected{background:#315c49;color:white;border-color:#315c49}
@media(max-width:350px){
 .topbar{padding-left:10px;padding-right:10px;gap:4px}
 .header-actions{gap:5px}
 .header-actions .head-action{width:34px;height:34px;border-radius:11px}
 .brand-wordmark-text{font-size:15px}
 .brand-wordmark-dot{width:5px;height:5px;margin-left:2px}
}
html[data-theme="dark"]{
 color-scheme:dark;
 --paper:#13191d;
 --surface:#202b2f;
 --cream:#273337;
 --ink:#f2f2ed;
 --quiet:#b6bdbb;
 --soft:#9aa9a9;
 --line:#39484d;
 --accent:#cc7956;
 --accent2:#e6a483;
 --green:#81b79b;
 --reference-green:#8fc4a8;
 --reference-muted:#b4bebc;
 --reference-surface:#141b20;
 --shadow:0 12px 28px rgba(0,0,0,.24);
 background:#141b20;color:#f2f2ed
}
html[data-theme="dark"] body,
html[data-theme="dark"] .app-shell,
html[data-theme="dark"] .detail-layer,
html[data-theme="dark"] .cook-layer,
html[data-theme="dark"] .detail-shell,
html[data-theme="dark"] .detail-content{background:var(--reference-surface);color:var(--ink)}
html[data-theme="dark"] .topbar{background:rgba(20,27,32,.96);border-bottom-color:#35434a}
html[data-theme="dark"] .brand-wordmark,
html[data-theme="dark"] .profile-wordmark{color:#f7f7f2}
html[data-theme="dark"] .brand-wordmark-dot{background:#e0805e}
html[data-theme="dark"] .head-action{background:#253136;color:#f2bb94;border-color:#445158}
html[data-theme="dark"] .theme-toggle{color:#f2c76d}
html[data-theme="dark"] .home-intro>span,
html[data-theme="dark"] .home-intro p,
html[data-theme="dark"] .page-heading p,
html[data-theme="dark"] .ref-catalog-heading p,
html[data-theme="dark"] .recipe-heading>p,
html[data-theme="dark"] .feature-body p,
html[data-theme="dark"] .profile-head p{color:#aeb9b7}
html[data-theme="dark"] .feature-card{background:#202b2f;border-color:#39464a}
html[data-theme="dark"] .feature-image>span{background:#111819;color:#f7f7f3}
html[data-theme="dark"] .home-categories button{background:#283236;color:#e1e5e1}
html[data-theme="dark"] .home-categories button.selected,
html[data-theme="dark"] .home-categories button:active{background:#346650;color:#fff}
html[data-theme="dark"] .search,
html[data-theme="dark"] .category-tile,
html[data-theme="dark"] .chip,
html[data-theme="dark"] .recipe-card,
html[data-theme="dark"] .filter-drawer,
html[data-theme="dark"] .round-back{background:#222d31;color:#f2f2ed;border-color:#405055}
html[data-theme="dark"] .search input{color:#f1f5f2;caret-color:#bedec9}
html[data-theme="dark"] .search input::placeholder{color:#9aa8ab}
html[data-theme="dark"] .chip.active{background:#335c49;border-color:#56836d;color:#fff}
html[data-theme="dark"] .filter-line>span,
html[data-theme="dark"] .resultline small,
html[data-theme="dark"] .menu-explain,
html[data-theme="dark"] .menu-meal small,
html[data-theme="dark"] .menu-meal>b,
html[data-theme="dark"] .week-meal small{color:#aeb8b7}
html[data-theme="dark"] .menu-meal>b{color:#f2f2ed}
html[data-theme="dark"] .filter-drawer button{background:#29353a;border-color:#46565c;color:#e3e8e6}
html[data-theme="dark"] .filter-drawer button.active{background:#335c49;border-color:#48765e;color:white}
html[data-theme="dark"] .filter-drawer .pv-adv-group button{background:#2a363b;border-color:#43545a;color:#e7ece8}
html[data-theme="dark"] .filter-drawer .pv-adv-group button.on{background:#356b50;border-color:#4b8264;color:#fff}
html[data-theme="dark"] .pv-adv-group{border-color:#39484e}
html[data-theme="dark"] .pv-adv-group small{color:#b5c4c0}
html[data-theme="dark"] .filter-drawer .pv-adv-reset{background:#263538;border-color:#435b52;color:#c0dfca}
html[data-theme="dark"] .card-bottom,
html[data-theme="dark"] .card-time{color:#e4e7e2}
html[data-theme="dark"] .card-time,
html[data-theme="dark"] .card-heart{background:#2a3435;color:#e2ae90}
html[data-theme="dark"] .card-heart.selected{background:#a04b39;color:white}
html[data-theme="dark"] .bottom-nav{background:rgba(28,37,42,.97);border-top-color:#364449;box-shadow:0 -5px 23px #0004}
html[data-theme="dark"] .navitem{color:#b6c2bd}
html[data-theme="dark"] .navitem.active{color:#a2d8b9;background:transparent}
html[data-theme="dark"] .profile-metrics button,
html[data-theme="dark"] .profile-actions,
html[data-theme="dark"] .week-strip button,
html[data-theme="dark"] .week-meal,
html[data-theme="dark"] .shop-row,
html[data-theme="dark"] .shopping-actions button,
html[data-theme="dark"] .show-more{background:#222e32;border-color:#3e5153;color:#f1f4ef}
html[data-theme="dark"] .week-strip button.selected{background:#315c49;border-color:#47765c;color:#fff}
html[data-theme="dark"] .week-strip button small,
html[data-theme="dark"] .profile-metrics span,
html[data-theme="dark"] .shop-text small,
html[data-theme="dark"] .shop-row.done .shop-text b{color:#aab7b3}
html[data-theme="dark"] .profile-actions button{border-bottom-color:#39494a}
html[data-theme="dark"] .profile-notice,
html[data-theme="dark"] .full-catalog-callout,
html[data-theme="dark"] .profile-access{background:#26372f;border-color:#44604f;color:#eff6ed}
html[data-theme="dark"] .profile-notice p,
html[data-theme="dark"] .full-catalog-callout p,
html[data-theme="dark"] .profile-access p{color:#c3d0c6}
html[data-theme="dark"] .full-catalog-callout button,
html[data-theme="dark"] .profile-access button{background:#356c50;color:#fff}
html[data-theme="dark"] .profile-access.connected{background:#264137}
html[data-theme="dark"] .profile-access.connected button{background:#25322e;color:#c2e7cd;border-color:#50745f}
html[data-theme="dark"] .theme-settings{background:#222e32;border-color:#445155}
html[data-theme="dark"] .theme-choices button{background:#2b393d;border-color:#495b5c;color:#e4e9e5}
html[data-theme="dark"] .theme-choices button.selected{background:#346c50;border-color:#6b9980;color:#fff}
html[data-theme="dark"] .detail-content{background:#141b20}
html[data-theme="dark"] .detail-image{background:#333b3c}
html[data-theme="dark"] .detail-back,
html[data-theme="dark"] .detail-fav{background:#263338;border:1px solid #44565a;color:#f2c0a4}
html[data-theme="dark"] .price-note,
html[data-theme="dark"] .taglist span{background:#293439;color:#c1caca}
html[data-theme="dark"] .recipe-info b,
html[data-theme="dark"] .step-card p{color:#dce1df}
html[data-theme="dark"] .nutrition,
html[data-theme="dark"] .portion-bar,
html[data-theme="dark"] .ingredient,
html[data-theme="dark"] .ingredient-actions button,
html[data-theme="dark"] .step-card,
html[data-theme="dark"] .rating-box,
html[data-theme="dark"] .timer-box{background:#222c30;border-color:#3e4c51;color:#f0f3ef}
html[data-theme="dark"] .macro,
html[data-theme="dark"] .macro.protein,
html[data-theme="dark"] .macro.fat,
html[data-theme="dark"] .macro.carbs{background:transparent;border-color:#415057}
html[data-theme="dark"] .macro small,
html[data-theme="dark"] .macro.protein small,
html[data-theme="dark"] .macro.fat small,
html[data-theme="dark"] .macro.carbs small,
html[data-theme="dark"] .macro span{color:#b6c4bf}
html[data-theme="dark"] .ing-name,
html[data-theme="dark"] .ing-amount{color:#e9ece8}
html[data-theme="dark"] .ingredient.done .ing-name,
html[data-theme="dark"] .ingredient.done .ing-amount{color:#82948d}
html[data-theme="dark"] .ingredient-hint,
html[data-theme="dark"] .nutrition-foot{color:#aab9b2}
html[data-theme="dark"] .ing-check,
html[data-theme="dark"] .shop-check{border-color:#718579}
html[data-theme="dark"] .stepper button{background:#33463e;color:#cbe6d0}
html[data-theme="dark"] .chef-tip,
html[data-theme="dark"] .timer-hint{background:#29372e;border-color:#48644c;color:#c8dbc8}
html[data-theme="dark"] .chef-tip strong{color:#c0e3c1}
html[data-theme="dark"] .chef-tip p{color:#b2c7b2}
html[data-theme="dark"] .cook-head,
html[data-theme="dark"] .cook-footer{background:#1b2529;border-color:#39494c}
html[data-theme="dark"] .cook-head>button{background:#2a383b;color:#eff0e9}
html[data-theme="dark"] .cook-progress{background:#334140}
html[data-theme="dark"] .timer-actions button{background:#334144;color:#eff3f0}
html[data-theme="dark"] .timer-actions .timer-primary{background:#366c50;color:white}
html[data-theme="dark"] .cook-footer button{background:#34413f;color:#f1f4ee}
html[data-theme="dark"] .cook-footer .cook-next{background:#346b50;color:#fff}
html[data-theme="dark"] .install-sheet{background:#202a2e;color:#f0f3ef}
html[data-theme="dark"] .install-sheet p,
html[data-theme="dark"] .install-sheet li{color:#c1ccc9}
html[data-theme="dark"] .sheet-handle{background:#647278}
html[data-theme="dark"] .ios-pair-dialog,
html[data-theme="dark"] .ios-report-dialog{background:#202b2f;color:#f1f5ed}
html[data-theme="dark"] .ios-pair-dialog p,
html[data-theme="dark"] .ios-report-dialog p,
html[data-theme="dark"] .pair-wait{color:#bdcac3}
html[data-theme="dark"] .pair-number{background:#2c3c35;color:#c5e5d0;border-color:#6c8e75}
html[data-theme="dark"] .pair-messenger a+ a{background:#354139;color:#d5ead9}
html[data-theme="dark"] .pair-retry,
html[data-theme="dark"] .pair-x{color:#d8e9dc}
html[data-theme="dark"] .ios-report-dialog textarea{background:#151e22;border-color:#435357;color:#eff4ec}
html[data-theme="dark"] .ios-error-report{background:#24342e;color:#c4dfca;border-color:#436052}
html[data-theme="dark"] .toast{background:#e1eadf;color:#17251b}
/* Keep the horizontal recipe-category rail within the physical viewport on 320px iPhones. */
@media(max-width:370px){.home-categories{margin-right:-13px}}

/* Theme refinements: retain the transparent recipe grid and make the fixed recipe action bar dark. */
html[data-theme="dark"] .recipe-card{background:transparent;border-color:transparent}
html[data-theme="dark"] .detail-action-bar{background:#1c272b;border-top:1px solid #415257;box-shadow:0 -5px 25px #0003}
html[data-theme="dark"] .detail-cart{background:#29383a;border:1px solid #4d6062;color:#e9efe9}
html[data-theme="dark"] .detail-primary{background:#356b50;color:#fff}
html[data-theme="dark"] .rating-box .star-row button{color:#7e898b}
html[data-theme="dark"] .rating-box .star-row button.on{color:#f0b84d}

/* v16: unified iPhone and Android setup and simplified profile heading */
.profile-head{padding-top:12px}
.install-device-choices{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0}
.install-device-choices button{border:1px solid var(--border,#dedbd5);border-radius:12px;padding:12px;font-weight:780;font-size:14px;background:transparent;color:inherit}
.install-device-choices button.selected{background:#315c49;border-color:#315c49;color:#fff}
.install-detailed-guide{display:block;text-align:center;margin:15px auto;color:#315c49;font-size:13px;font-weight:760;text-decoration:underline;text-underline-offset:3px}
.install-sheet ol[hidden]{display:none!important}
html[data-theme="dark"] .install-device-choices button.selected{background:#357258;border-color:#357258;color:white}
html[data-theme="dark"] .install-detailed-guide{color:#b4ddc6}

/* PWA v18: one visual system for nutrition + ingredients. */
.ingredients-section{
  background:#fff;
  border:1px solid #e6e0d7;
  border-radius:19px;
  padding:17px 14px 13px;
  margin-top:20px;
  box-shadow:0 4px 17px rgba(76,55,30,.045);
}
.ingredients-section .section-name{margin:0 0 13px;align-items:center;gap:9px;flex-wrap:wrap}
.ingredients-section .section-name h2{font-size:19px;font-weight:800;line-height:1.2;margin:0}
.ingredients-section .inline-portions{flex:none;border-radius:100px;border:1px solid #e4ded6;background:#faf8f4;padding:4px;gap:9px;display:flex;align-items:center}
.ingredients-section .inline-portions button{border:0;width:32px;height:32px;border-radius:50%;background:white;color:#2b2e2b;display:grid;place-items:center;box-shadow:0 2px 8px #49351812}
.ingredients-section .inline-portions button:disabled{opacity:.36}
.ingredients-section .inline-portions span{font-size:11px;color:#4d493f;font-weight:800;min-width:43px;text-align:center}
.ingredients-section .ing-progress{display:flex;align-items:center;justify-content:space-between;margin:1px 0 7px;color:#687368;font-size:11.5px;font-weight:750}
.ingredients-section .ingredient-hint{margin:0 0 10px;color:#8e8a83;font-size:11px;line-height:1.5}
.ingredients-section .ingredients{border-radius:13px;overflow:hidden;background:#fdfbf7;border:1px solid #eee8df;display:block}
.ingredients-section .ingredient{display:flex;align-items:center;min-height:54px;border:0;border-radius:0;border-bottom:1px solid #e9e4dc;background:transparent;padding:12px 11px;gap:11px;width:100%;font-size:12.5px;line-height:1.45;text-align:left}
.ingredients-section .ingredient:last-child{border-bottom:0}
.ingredients-section .ingredient:focus-visible{outline:2px solid #4b806b;outline-offset:-2px}
.ingredients-section .ing-check{width:22px;height:22px;min-width:22px;border-radius:7px;border:1.5px solid #a4b3a9;background:#fff;display:grid;place-items:center}
.ingredients-section .ingredient.done .ing-check{background:#386c53;border-color:#386c53;color:white}
.ingredients-section .ing-name{flex:1 1 0;min-width:0;color:#313831;font-size:12.5px;font-weight:590}
.ingredients-section .ing-amount{flex:0 1 auto;max-width:39%;text-align:right;color:#445249;font-size:12.5px;font-weight:820;overflow-wrap:anywhere}
.ingredients-section .ingredient.done .ing-name,.ingredients-section .ingredient.done .ing-amount{color:#9aafa2;text-decoration:line-through}
.ingredients-section .ingredient-actions{margin-top:13px;display:flex;gap:10px}
.ingredients-section .ingredient-actions button{background:#f5f9f5;color:#35664f;border:1px solid #dbe6db;border-radius:11px;min-height:41px;font-weight:780}
html[data-theme="dark"] .ingredients-section{background:#222c30;border-color:#3e4c51;box-shadow:none}
html[data-theme="dark"] .ingredients-section .inline-portions{background:#2b383d;border-color:#46565a}
html[data-theme="dark"] .ingredients-section .inline-portions button{background:#e8e8e3;color:#1b2324}
html[data-theme="dark"] .ingredients-section .inline-portions span{color:#edf1eb}
html[data-theme="dark"] .ingredients-section .ing-progress{color:#b7d2c3}
html[data-theme="dark"] .ingredients-section .ingredient-hint{color:#a4b3b0}
html[data-theme="dark"] .ingredients-section .ingredients{background:#253237;border-color:#445358}
html[data-theme="dark"] .ingredients-section .ingredient{background:transparent;border-color:#45545a;color:#f0f3ef}
html[data-theme="dark"] .ingredients-section .ing-check{border-color:#778e86;background:#253237}
html[data-theme="dark"] .ingredients-section .ingredient.done .ing-check{background:#4a8468;border-color:#4a8468}
html[data-theme="dark"] .ingredients-section .ing-name{color:#e5ebe7}
html[data-theme="dark"] .ingredients-section .ing-amount{color:#f0f5eb}
html[data-theme="dark"] .ingredients-section .ingredient.done .ing-name,
html[data-theme="dark"] .ingredients-section .ingredient.done .ing-amount{color:#859d92}
html[data-theme="dark"] .ingredients-section .ingredient-actions button{background:#2b423b;border-color:#4c695c;color:#cae9d8}
/* Five daily positions: intentionally no sideways carousel. */
.daily-menu.preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.daily-menu.preview .menu-meal{min-width:0}
.daily-menu.preview .menu-image{height:118px}
.daily-menu.preview .menu-meal:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:116px 1fr;grid-template-rows:auto 1fr;gap:0 12px;align-items:center}
.daily-menu.preview .menu-meal:last-child:nth-child(odd) .menu-image{grid-row:1/3;height:85px}
.daily-menu.preview .menu-meal:last-child:nth-child(odd) small{align-self:end;margin-bottom:3px}
.daily-menu.preview .menu-meal:last-child:nth-child(odd) b{align-self:start}
@media(max-width:350px){.daily-menu.preview .menu-image{height:99px}}
/* Catalog v18: same quick categories and bottom-sheet directory as Telegram. */
.pv-category-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:5px 0 15px}
.pv-category-shortcut{width:100%;min-width:0;min-height:45px;padding:9px 4px;border-radius:14px;
  background:#fff;border:1px solid #e3e0d8;color:#343b33;font-size:11.5px;line-height:1.2;font-weight:750;text-align:center;
  box-shadow:0 4px 13px rgba(39,52,41,.04)}
.pv-category-shortcut.active:not(.pv-all-categories){background:#35674e;border-color:#35674e;color:#fff}
.pv-all-categories{background:#eef5ee;border-color:#bdcfbe;color:#315b44;font-weight:800}
.pv-all-categories.active{outline:2px solid #447458;outline-offset:-3px}
.pv-category-shortcut:focus-visible,.pv-category-tile:focus-visible,.pv-category-close:focus-visible{outline:3px solid #5b9174;outline-offset:2px}
.pv-selected-category{display:flex;align-items:center;gap:10px;margin:-4px 0 14px;color:#697a6f;font-size:11px}
.pv-selected-category button{padding:8px 11px;border-radius:18px;border:1px solid #cfddcf;background:#f1f7f1;color:#35624b;font-size:11.5px;font-weight:750}
.pv-category-modal{position:fixed;inset:0;z-index:1200;display:flex;align-items:flex-end;justify-content:center;isolation:isolate}
.pv-category-modal[hidden]{display:none!important}
body.pv-category-open{overflow:hidden;overscroll-behavior:contain}
.pv-category-overlay{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;background:rgba(13,21,16,.62)}
.pv-category-sheet{position:relative;width:100%;max-width:675px;height:auto;max-height:82dvh;
  background:#fdfbf7;color:#252c26;border:1px solid #dce4da;border-bottom:0;
  border-radius:27px 27px 0 0;padding:18px 15px max(15px,env(safe-area-inset-bottom));
  display:flex;flex-direction:column;overflow:hidden;box-shadow:0 -15px 45px rgba(0,0,0,.24)}
.pv-category-sheet header{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:15px;flex:0 0 auto}
.pv-category-sheet h2{font-size:23px;letter-spacing:-.04em;margin:6px 0 0;line-height:1.1;font-weight:850}
.pv-category-sheet .overline{font-size:9px;letter-spacing:.16em;color:#64826d;font-weight:780}
.pv-category-close{width:39px;height:39px;border-radius:12px;background:#eef3eb;color:#2b4734;border:1px solid #d6e1d3;font-size:25px;line-height:1}
.pv-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;overflow-y:auto;overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;padding:0 1px 12px;min-height:0}
.pv-category-tile{display:flex;align-items:center;gap:9px;border:1px solid #e0e5dd;border-radius:15px;padding:10px;
 min-height:72px;background:#fff;color:#28332b;text-align:left;min-width:0}
.pv-category-tile.selected{border-color:#5e9374;background:#eef6ee}
.pv-category-emoji{width:35px;height:35px;min-width:35px;border-radius:12px;display:grid;place-items:center;background:#eef3eb;font-size:19px}
.pv-category-tile>span:last-child{min-width:0}
.pv-category-tile b{font-size:11.5px;font-weight:800;line-height:1.3;display:block;overflow-wrap:anywhere}
.pv-category-tile small{color:#81918a;font-size:9.5px;display:block;margin-top:5px}
html[data-theme="dark"] .pv-category-shortcut{background:#263439;border-color:#405358;color:#e6efe9}
html[data-theme="dark"] .pv-category-shortcut.active:not(.pv-all-categories){background:#377653;border-color:#649b75;color:white}
html[data-theme="dark"] .pv-all-categories{background:#30483e;border-color:#587d67;color:#d3ecd8}
html[data-theme="dark"] .pv-selected-category{color:#bbcfc2}
html[data-theme="dark"] .pv-selected-category button{background:#2b483b;border-color:#547e66;color:#e6f2e7}
html[data-theme="dark"] .pv-category-sheet{background:#1e292d;color:#f4f6f0;border-color:#3f5356}
html[data-theme="dark"] .pv-category-sheet .overline{color:#accbb7}
html[data-theme="dark"] .pv-category-close{background:#304145;color:#e3efe8;border-color:#526565}
html[data-theme="dark"] .pv-category-tile{background:#29393d;color:#e7f0e9;border-color:#4a5d60}
html[data-theme="dark"] .pv-category-tile.selected{border-color:#72ad86;background:#345347}
html[data-theme="dark"] .pv-category-emoji{background:#344d43}
html[data-theme="dark"] .pv-category-tile small{color:#b4c9be}
@media(min-width:640px){.pv-category-modal{align-items:center;padding:20px}.pv-category-sheet{border-radius:25px;border-bottom:1px solid #dce4da}.pv-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:355px){.pv-category-shortcuts{gap:6px}.pv-category-shortcut{font-size:10px;padding:8px 3px}.pv-category-tile{gap:6px;padding:8px 6px}.pv-category-emoji{width:29px;height:29px;min-width:29px;font-size:16px}.pv-category-tile b{font-size:10px}}

/* v19: composite recipes — dough, filling, sauce, cream, glaze.
   All subingredients remain independent checklist buttons with stable keys. */
.ingredients-section .ingredients.is-grouped{
  display:grid;
  gap:15px;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  overflow:visible;
}
.ingredients-section .ingredient-group{
  min-width:0;
  background:#fffefa;
  border:1px solid #e6e0d7;
  border-radius:17px;
  padding:11px 10px 4px;
  box-shadow:0 3px 13px rgba(62,49,30,.045);
}
.ingredients-section .ingredient-group-title{
  font-size:14px;
  font-weight:850;
  line-height:1.3;
  letter-spacing:-.02em;
  margin:0 1px 11px;
  padding:0 4px 9px;
  color:#47775c;
  border-bottom:1px solid #e9e7de;
}
.ingredients-section .ingredient-group-list{
  display:block;
  overflow:hidden;
  border-radius:10px;
  background:#fdfbf7;
}
.ingredients-section .ingredient-group-list>.ingredient{
  padding:12px 8px;
  min-height:51px;
  border-bottom:1px solid #e9e4dc;
}
.ingredients-section .ingredient-group-list>.ingredient:last-child{
  border-bottom:0;
}
.ingredients-section .ingredient-group-list .ing-name{overflow-wrap:anywhere}
.ingredients-section .ingredient-group-list .ing-amount{
  flex:0 1 auto;
  width:auto;
  max-width:43%;
  overflow-wrap:break-word;
  line-height:1.35;
}
html[data-theme="dark"] .ingredients-section .ingredient-group{
  background:#263237;
  border-color:#445358;
  box-shadow:none;
}
html[data-theme="dark"] .ingredients-section .ingredient-group-title{
  color:#a9d5bc;
  border-color:#415257;
}
html[data-theme="dark"] .ingredients-section .ingredient-group-list{
  background:#253237;
}
html[data-theme="dark"] .ingredients-section .ingredient-group-list>.ingredient{
  background:transparent;
  border-color:#45545a;
}
@media(max-width:355px){
  .ingredients-section .ingredient-group{padding:9px 7px 4px}
  .ingredients-section .ingredient-group-list>.ingredient{padding:10px 6px}
}
/* Multi-touch zoom is disabled for the app surface, single-finger scroll remains normal. */
html,body,.app-shell,.detail-layer,.cook-layer{touch-action:pan-x pan-y}
