
:root{--ink:#243b32;--muted:#68766c;--accent:#315744;--button-ink:#fff;--paper:#f5f3ed;--surface:#fff;--soft:#edf2ec;--line:#dfe5dd;--warm:#f0b276;--hint:#f6edde;--error:#a54630}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.45}button,input,select{font:inherit}button{cursor:pointer;color:inherit;min-height:44px}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--warm);outline-offset:3px}button{transition:background .12s,border-color .12s}h1,h2,h3,p{margin:0}h1{font-size:29px;font-weight:650;letter-spacing:-.7px}h2{font-size:24px;font-weight:650;letter-spacing:-.55px;line-height:1.22}h3{font-size:16px;font-weight:600;line-height:1.3}.page{padding:28px 32px;max-width:1040px}.topline{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:13px}.eyebrow{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-weight:600}.small-note{font-size:12px;color:var(--muted);margin-top:8px}.outer-actions{display:flex;gap:7px}.quiet{border:1px solid var(--line);border-radius:8px;padding:0 12px;background:transparent;color:var(--muted);font-size:12px}.layout{display:grid;grid-template-columns:390px minmax(260px,360px);gap:45px;margin-top:23px;align-items:start}.phone{border:1px solid #cbd5ca;box-shadow:0 10px 28px #243b3210;border-radius:23px;background:var(--surface);overflow:hidden}.statusbar{height:29px;display:flex;justify-content:space-between;align-items:center;padding:0 18px;font-size:11px;font-weight:600}.app-head{height:64px;padding:10px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.logo{height:35px;width:35px;object-fit:cover;border-radius:10px}.brand{font-size:14px;font-weight:650}.brand-sub{font-size:10px;color:var(--muted);margin-top:1px}.head-dots{margin-left:auto;color:var(--muted);font-size:20px}.app{height:665px;overflow:auto;scrollbar-width:thin;display:flex;flex-direction:column;position:relative;padding:16px 17px 0}.app-bottom{height:22px;display:grid;place-items:center;border-top:1px solid var(--line)}.home-line{height:3px;width:45px;border-radius:2px;background:#ccd4cc}.stage{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.stage-label{font-size:11px;color:var(--muted)}.mini-back{border:0;background:transparent;color:var(--accent);font-size:12px;padding:0;min-height:32px}.progress{display:flex;gap:5px;margin:0 0 19px}.progress span{height:3px;flex:1;border-radius:4px;background:var(--line)}.progress span.past{background:var(--accent)}.lead{font-size:12px;color:var(--muted);margin:9px 0 16px;line-height:1.5}.category-list{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:5px;margin-bottom:12px}.category-list button{flex-shrink:0;border:1px solid var(--line);border-radius:8px;padding:0 11px;background:var(--surface);font-size:12px;min-height:38px}.category-list .active{border-color:var(--accent);color:var(--accent);background:var(--soft);font-weight:650}.search{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:8px;padding:0 10px;color:var(--muted);margin-bottom:13px}.search input{font-size:12px;width:100%;background:none;border:0;color:var(--ink);padding:11px 0;outline:none}.available{font-size:11px;color:var(--muted);margin-bottom:9px;display:flex;justify-content:space-between;gap:10px}.recipe-list{display:flex;flex-direction:column;gap:8px}.recipe-option{border:1px solid var(--line);border-radius:10px;background:var(--surface);text-align:left;width:100%;padding:12px 38px 12px 12px;position:relative;min-height:82px}.recipe-option.selected{background:var(--soft);border-color:var(--accent)}.recipe-option strong{font-size:13px;line-height:1.35;display:block;font-weight:600}.recipe-option .ingredients-preview{font-size:11px;color:var(--muted);margin-top:5px;display:block;line-height:1.5}.recipe-option .time{font-size:11px;color:var(--muted);display:block;margin-top:5px}.check-circle{position:absolute;top:13px;right:12px;width:16px;height:16px;border-radius:50%;border:1px solid #bbc8bb;display:grid;place-items:center;font-size:10px}.selected .check-circle{background:var(--accent);border-color:var(--accent);color:var(--button-ink)}.selected-caption{font-size:11px;color:var(--muted);line-height:1.5;margin:12px 0}.selected-caption strong{font-weight:600;color:var(--ink)}.bottom-actions{position:sticky;bottom:0;padding:12px 0 13px;margin-top:auto;background:var(--surface);border-top:1px solid var(--line);z-index:2}.cta{width:100%;border:0;background:var(--accent);color:var(--button-ink);border-radius:9px;padding:12px 15px;min-height:47px;font-size:13px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:10px}.cta.secondary{background:var(--soft);color:var(--accent);border:1px solid var(--line)}.text-action{border:0;background:none;color:var(--muted);width:100%;font-size:12px;min-height:38px;padding:6px;margin-top:3px}.helper{font-size:11px;color:var(--muted);margin-bottom:8px}.empty{padding:25px 4px;color:var(--muted);font-size:12px}.selected-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:11px}.selected-tags button{border:1px solid var(--line);border-radius:7px;color:var(--accent);background:var(--soft);padding:3px 8px;font-size:11px;min-height:31px}.selected-tags .x{padding-left:5px;color:var(--muted)}.count{font-size:11px;font-weight:600;color:var(--accent);background:var(--soft);padding:4px 7px;border-radius:6px;white-space:nowrap}.label-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.link-options{display:flex;gap:15px;align-items:center;margin:0 0 13px;border-bottom:1px solid var(--line)}.link-options button{border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-size:12px;padding:0 0 7px;min-height:37px}.link-options .active{color:var(--accent);font-weight:650;border-bottom-color:var(--accent)}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:7px}.tile{border:1px solid var(--line);border-radius:9px;background:var(--surface);text-align:left;min-height:59px;font-size:12px;padding:11px 30px 11px 11px;position:relative}.tile.selected{border-color:var(--accent);background:var(--soft)}.tick{position:absolute;right:9px;top:11px;width:16px;height:16px;border:1px solid #bdc9bc;border-radius:5px;font-size:11px;display:grid;place-items:center}.tile.selected .tick{background:var(--accent);border-color:var(--accent);color:var(--button-ink)}.dressing-label{font-size:12px;font-weight:600;margin-top:17px;display:block}.dressing{width:100%;padding:10px 9px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;margin:7px 0 13px;font-size:12px;min-height:43px}.other-options{display:flex;gap:14px;margin:14px 0 11px}.other-options button{border:0;background:none;color:var(--accent);padding:0;font-size:12px}.back-constructor{width:100%;text-align:left;border:0;background:none;color:var(--accent);font-size:12px;min-height:35px;padding:0;margin-bottom:11px}.no-salad{background:var(--soft);padding:18px 14px;border-radius:10px;font-size:13px;line-height:1.6}.portions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:9px 0 18px}.portions button{border:1px solid var(--line);border-radius:9px;background:var(--surface);min-height:69px;font-size:21px;font-weight:600}.portions button small{display:block;font-size:10px;font-weight:400;margin-top:4px;color:var(--muted)}.portions .active{border-color:var(--accent);color:var(--accent);background:var(--soft)}.portion-note{border-top:1px solid var(--line);padding-top:12px;font-size:12px;color:var(--muted);line-height:1.55}.dish{padding:14px 0;border-bottom:1px solid var(--line)}.dish-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted);margin-bottom:6px}.edit-link{border:0;background:none;padding:0;min-height:28px;font-size:11px;color:var(--accent)}.dish strong{display:block;font-size:14px;font-weight:600;line-height:1.4}.dish .detail{font-size:11px;color:var(--muted);margin-top:5px}.finish-label{font-size:11px;color:var(--accent);margin-bottom:12px;display:flex;align-items:center;gap:7px}.finish-label .mark{display:grid;place-items:center;width:21px;height:21px;background:var(--soft);border-radius:50%}.utility-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0}.utility-actions button{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:10px 4px;font-size:12px;color:var(--accent)}.disclaimer{font-size:10px;color:var(--muted);line-height:1.5;margin:9px 0}.recipe-detail{border-bottom:1px solid var(--line);padding:12px 0}.recipe-detail summary{list-style:none;cursor:pointer;font-size:14px;font-weight:600;min-height:46px;padding-right:25px;position:relative}.recipe-detail summary::after{content:'+';position:absolute;right:3px;top:2px;font-size:20px;font-weight:400;color:var(--accent)}.recipe-detail[open] summary::after{content:'−'}.recipe-detail summary small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:5px}.recipe-detail h4{font-size:12px;margin:15px 0 9px}.ingredient-lines{padding-left:16px;font-size:12px;color:var(--muted)}.ingredient-lines li{margin:7px 0}.cooking{font-size:12px;padding-left:19px;line-height:1.65}.cooking li{margin-bottom:10px;padding-left:2px}.shopping-list{margin-bottom:15px}.shopping-row{display:flex;align-items:flex-start;gap:9px;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer;font-size:12px;min-height:45px}.shopping-row input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0;margin:1px 0 0;cursor:pointer}.shopping-row .name{flex:1}.shopping-row .amount{font-size:11px;color:var(--muted);white-space:nowrap;margin-top:1px}.shopping-row.done .name{color:var(--muted);text-decoration:line-through}.notice-inline{padding:10px 11px;background:var(--hint);border-radius:8px;font-size:11px;line-height:1.55;color:var(--ink);margin:0 0 16px}.chat-preview{background:var(--soft);padding:12px;border-radius:10px;margin:10px 0 18px}.chat-caption{font-size:11px;color:var(--muted);margin-bottom:9px;display:flex;align-items:center;gap:8px}.chat-caption img{width:27px;height:27px;border-radius:50%}.chat-bubble{background:var(--surface);border:1px solid var(--line);border-radius:10px 10px 10px 2px;padding:13px;font-size:12px;line-height:1.6}.chat-bubble ul{padding-left:16px;margin:10px 0}.chat-tools{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:6px}.chat-tools button{border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--accent);font-size:11px;min-height:38px}.sidebar{padding-top:5px}.sidebar h3{font-size:16px;margin:0 0 13px}.step-list{display:flex;flex-direction:column;gap:0;margin-bottom:27px}.step-button{display:flex;align-items:center;gap:11px;text-align:left;border:0;background:none;padding:5px 0;min-height:43px;color:var(--muted);font-size:13px}.step-button .number{width:25px;height:25px;border:1px solid var(--line);border-radius:50%;font-size:11px;display:grid;place-items:center}.step-button.active{color:var(--ink);font-weight:650}.step-button.active .number{background:var(--accent);border-color:var(--accent);color:var(--button-ink)}.step-button.past .number{background:var(--soft);color:var(--accent);border-color:var(--line)}.draft-title{border-top:1px solid var(--line);padding-top:20px}.draft-slot{padding:12px 0;border-bottom:1px solid var(--line)}.draft-slot small{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.draft-slot p{font-size:13px;font-weight:550;line-height:1.5}.draft-slot .not-selected{font-weight:400;color:var(--muted)}.draft-meta{margin:15px 0;color:var(--muted);font-size:12px;line-height:1.6}.sidebar-footnote{font-size:11px;color:var(--muted);line-height:1.65;margin-top:18px}.saved{font-size:11px;color:var(--muted);margin:13px 0;display:flex;gap:7px;align-items:center}.saved .dot{width:5px;height:5px;background:var(--accent);border-radius:50%}.page-footer{font-size:11px;color:var(--muted);line-height:1.6;max-width:780px;margin-top:19px}.toast{position:fixed;bottom:24px;left:32px;z-index:20;max-width:390px;padding:12px 15px;border-radius:9px;background:var(--ink);color:var(--surface);font-size:12px;box-shadow:0 8px 26px #0002}.reset-dialog{border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--ink);padding:24px;max-width:360px}.reset-dialog::backdrop{background:#14271c66}.reset-dialog p{font-size:13px;color:var(--muted);margin:10px 0 19px}.reset-dialog .buttons{display:flex;gap:8px}.reset-dialog .buttons button{flex:1;padding:9px;border:1px solid var(--line);background:var(--surface);border-radius:8px;font-size:12px}.reset-dialog .buttons button.confirm{background:var(--accent);color:var(--button-ink);border:0}.dark{--ink:#e3ebe2;--muted:#acb8ac;--accent:#b0c9ac;--button-ink:#203526;--paper:#17221b;--surface:#223027;--soft:#2e4133;--line:#405047;--hint:#3d3b2b;--error:#e9957e}.dark .phone{border-color:#435448}.dark .toast{color:#203526}.dark .check-circle,.dark .tick{border-color:#778d7b}.screenshot-mode .outer-actions,.screenshot-mode .sidebar,.screenshot-mode .page-footer,.screenshot-mode .intro-head{display:none}.screenshot-mode .page{padding:0;max-width:390px}.screenshot-mode .layout{display:block;margin:0}.screenshot-mode .phone{border-radius:20px;box-shadow:none}.screenshot-mode .app{height:665px}@media(max-width:760px){.page{padding:22px 18px}.layout{gap:24px;grid-template-columns:minmax(310px,390px) 240px}.sidebar{font-size:12px}.topline{gap:10px}.outer-actions .quiet{padding:0 8px}h1{font-size:25px}}@media(max-width:620px){.page{padding:18px 12px}.layout{display:block;margin-top:18px}.phone{max-width:390px}.sidebar{display:none}.topline{flex-wrap:wrap;margin-bottom:13px}.outer-actions{margin-left:auto}.intro-head h1{font-size:23px}.intro-head .small-note{font-size:11px}.phone .app{height:calc(100dvh - 160px);min-height:540px;max-height:730px}.page-footer{font-size:10px}.toast{left:12px;right:12px;bottom:12px}.screenshot-mode .phone .app{height:665px}}@media(prefers-reduced-motion:reduce){button{transition:none}}
.mini-back,.category-list button,.selected-tags button,.link-options button,.back-constructor,.edit-link,.chat-tools button,.text-action{min-height:44px}.category-list{flex-wrap:wrap;overflow-x:visible}.screenshot-mode .category-list{flex-wrap:wrap}
[data-step="review"] .dish{position:relative}[data-step="review"] .dish-head .edit-link{position:absolute;right:0;top:5px}[data-step="review"] .dish strong{padding-right:57px}

html,body{height:100%;overflow:hidden}.miniapp-shell{width:100%;max-width:620px;height:var(--miniapp-height,100dvh);margin:0 auto;display:flex;flex-direction:column;background:var(--surface);padding-top:var(--safe-top,env(safe-area-inset-top,0px));padding-left:var(--safe-left,0px);padding-right:var(--safe-right,0px)}.app-head{flex:none;min-height:64px}.app{width:100%;height:auto;min-height:0;flex:1;padding:22px 18px 0;overflow:auto;overscroll-behavior:contain;scroll-padding-top:10px;scroll-padding-bottom:180px}.head-actions{display:flex;gap:6px;margin-left:auto}.head-actions button{font-size:11px;padding:0 8px}.bottom-actions{bottom:0;padding-bottom:calc(14px + var(--safe-bottom,env(safe-area-inset-bottom,0px)));background:var(--surface)}.launch-warning,.storage-warning{padding:10px 18px;color:var(--error);background:var(--hint);font-size:12px;flex:none}.launch-warning[hidden],.storage-warning[hidden]{display:none}.toast{pointer-events:none;max-width:calc(100% - 30px);bottom:calc(18px + var(--safe-bottom,0px))}.mini-back,.edit-link{min-height:44px}.recipe-option{min-height:76px}.quiet{background:var(--surface)}@media(max-width:440px){.app{padding-top:18px}h2{font-size:23px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
