:root{--ink:#17362e;--muted:#65726b;--green:#244b3d;--dark:#142e26;--cream:#f6f4eb;--paper:#fffef8;--gold:#b69b59;--line:#dedfd3;--mint:#e5ede4;--sage:#92a890;--danger:#994933;--warn:#f6ecd5;--shadow:0 14px 45px #192f2610;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b89844;outline-offset:3px}img{display:block;max-width:100%}svg{flex:none;vertical-align:middle}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400}h1{font-size:clamp(2.4rem,4.2vw,4rem);line-height:1.07;letter-spacing:-.035em}h2{font-size:1.85rem;line-height:1.2}h3{font-size:1.02rem;line-height:1.4}p{line-height:1.6}small,.small{font-size:.8rem}.muted{color:var(--muted)}.eyebrow{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:750;color:var(--muted);margin-bottom:.65rem}.eyebrow.gold{color:var(--gold)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:43px;padding:.65rem 1rem;border:1px solid var(--line);background:var(--paper);border-radius:7px;text-decoration:none;font-size:.86rem;font-weight:650;line-height:1.3;white-space:nowrap}.button:hover:not(:disabled){background:#eaf0e8;border-color:#9bad9b}.button.primary{background:var(--green);border-color:var(--green);color:white}.button.primary:hover:not(:disabled){background:#173d2f}.button.gold{background:#d9c591;border-color:#d9c591;color:#24392e}.button.quiet{border-color:transparent;background:transparent}.button.quiet:hover{background:#e6eadd}.button.small{min-height:35px;padding:.4rem .7rem;font-size:.77rem}.button.danger{color:var(--danger)}.icon-button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--paper);display:inline-flex;align-items:center;justify-content:center}.icon-button:hover{background:var(--mint)}.chip{display:inline-flex;align-items:center;gap:.35rem;border-radius:5px;font-size:.68rem;font-weight:700;padding:.3rem .5rem;line-height:1.3;letter-spacing:.02em;background:var(--mint);color:var(--green)}.chip.outline{background:transparent;border:1px solid var(--line);color:var(--muted)}.chip.gold{background:var(--warn);color:#806321}.chip.danger{background:#fae9e2;color:var(--danger)}.chips{display:flex;flex-wrap:wrap;gap:.4rem}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}.brand-mark{font-family:Georgia,serif;background:var(--dark);color:#d5bd7e;width:39px;height:42px;display:inline-flex;align-items:center;justify-content:center;font-size:1.9rem;border:1px solid #506357;border-radius:7px}.brand-name{font-size:.82rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;display:block}.brand-sub{font-size:.77rem;display:block;color:var(--muted);margin-top:.2rem}.app-header{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 2.2rem;background:var(--paper);position:relative;z-index:5}.header-right{display:flex;align-items:center;gap:.75rem}.account-name{font-size:.82rem;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-avatar{width:31px;height:31px;border-radius:50%;background:#e4eadd;color:var(--green);display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700}.local-note{padding:.28rem .55rem;font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid #c9d6c6;border-radius:4px;color:#53704f}.shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:calc(100vh - 76px)}.sidebar{border-right:1px solid var(--line);padding:1.8rem 1.05rem 1rem;display:flex;flex-direction:column;background:#eeefe5}.side-heading{font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:#758174;margin:0 .8rem .7rem}.side-nav{display:grid;gap:.25rem}.side-link{display:flex;align-items:center;gap:.75rem;width:100%;min-height:45px;padding:.65rem .8rem;border:0;border-radius:7px;background:transparent;text-align:left;font-size:.86rem;color:#526257}.side-link:hover{background:#e1e7db}.side-link.active{background:#dce5d7;color:#214532;font-weight:700}.side-link .count{margin-left:auto;font-size:.72rem;background:#f8f9f2;padding:.12rem .42rem;border-radius:4px}.sidebar-note{margin-top:auto;padding:1rem .8rem .5rem;font-size:.76rem;color:var(--muted);line-height:1.5;border-top:1px solid #d5dacf}.sidebar-note strong{display:block;font-size:.8rem;color:var(--ink);margin-bottom:.45rem}.side-project{margin-top:2rem;padding:.85rem;border:1px solid #d3d9cb;border-radius:7px;font-size:.74rem;line-height:1.5;color:var(--muted)}.side-project p{margin:.45rem 0 0}.side-project span{font-weight:700;color:var(--green)}.main{min-width:0;padding:2.2rem 3.1rem 4rem;max-width:1600px;width:100%;margin:0 auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.8rem}.page-heading h1{font-size:2.7rem;margin-bottom:.65rem}.page-heading p{color:var(--muted);font-size:.9rem;margin:0;max-width:39rem}.heading-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.search{position:relative;display:block;flex:1;max-width:430px}.search svg{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:#7d897e}.search input{padding:.75rem .9rem .75rem 2.65rem;background:var(--paper);width:100%;border:1px solid var(--line);border-radius:7px;font-size:.86rem}.segment{display:flex;gap:3px;background:#e9ece1;padding:4px;border:1px solid var(--line);border-radius:7px}.segment button{border:0;background:transparent;border-radius:4px;padding:.47rem .8rem;font-size:.77rem;color:var(--muted);white-space:nowrap}.segment button[aria-pressed=true]{background:var(--paper);color:var(--green);box-shadow:0 1px 3px #213d2520;font-weight:650}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.recipe-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper);text-align:left;padding:0;box-shadow:0 2px 6px #213d2503;transition:transform .15s,box-shadow .15s;width:100%;display:flex;flex-direction:column}.recipe-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#bdc8b7}.card-photo{position:relative;aspect-ratio:1.55;background:#dee4d7;overflow:hidden}.card-photo img{height:100%;width:100%;object-fit:cover;transition:transform .4s}.recipe-card:hover img{transform:scale(1.035)}.card-photo .chip{position:absolute;left:.8rem;bottom:.7rem;background:#fffdf0ed;color:var(--green);backdrop-filter:blur(4px)}.card-fallback{height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 60% 50%,#e8ddbd,#d4dec9);color:#74876e}.card-content{padding:1.05rem 1.15rem 1.1rem;flex:1}.card-content h3{font-family:Georgia,serif;font-size:1.45rem;font-weight:400;letter-spacing:-.015em;margin-bottom:.45rem}.card-content p{color:var(--muted);font-size:.8rem;margin-bottom:.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}.card-meta{display:flex;justify-content:space-between;gap:.5rem;border-top:1px solid #e7e8dc;padding-top:.75rem;font-size:.69rem;color:#7a8578}.empty{min-height:290px;border:1px dashed #c8d0be;border-radius:10px;display:flex;align-items:center;justify-content:center;text-align:center;padding:3rem;background:#f9f9f1}.empty h2{font-size:1.8rem;margin:.9rem 0 .6rem}.empty p{font-size:.88rem;color:var(--muted);max-width:30rem}.empty .button{margin-top:.5rem}.recipe-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.back-link{display:inline-flex;align-items:center;gap:.45rem;border:0;background:none;padding:.3rem 0;font-size:.79rem;color:var(--muted)}.back-link:hover{color:var(--green)}.recipe-tools{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.version-choice{font-size:.74rem;border:1px solid var(--line);border-radius:6px;padding:.5rem;background:var(--paper);color:var(--ink);max-width:160px}.recipe-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr);gap:2.6rem;align-items:center;margin-bottom:1.8rem}.recipe-hero h1{margin:.8rem 0 1rem}.recipe-summary{font-size:.95rem;color:#617065;line-height:1.75;max-width:39rem}.hero-photo{position:relative;aspect-ratio:1.26;border:0;padding:0;border-radius:11px;overflow:hidden;background:#dce3d6;box-shadow:var(--shadow);width:100%;color:var(--ink)}.hero-photo img{height:100%;width:100%;object-fit:cover}.photo-caption{position:absolute;bottom:.6rem;left:.6rem;right:.6rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem;color:white;padding:.55rem .7rem;border-radius:5px;background:#18362bba;font-size:.68rem;text-align:left;backdrop-filter:blur(6px)}.hero-photo:hover .photo-caption{background:#18362be6}.hero-meta{display:flex;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1rem 0;margin-top:1.3rem}.metric{display:flex;align-items:center;gap:.7rem;flex:1;padding:0 .9rem;border-right:1px solid var(--line)}.metric:first-child{padding-left:0}.metric:last-child{border:0}.metric svg{color:#8b9a83}.metric strong{font-size:1.08rem;font-weight:600;display:block;line-height:1.15}.metric small{font-size:.67rem;color:var(--muted);display:block;margin-top:.25rem}.review-notice{display:flex;align-items:flex-start;gap:.65rem;font-size:.76rem;line-height:1.55;color:#776338;background:#f0ead8;border:1px solid #e4dbbe;border-radius:6px;padding:.7rem .9rem;margin:1.2rem 0}.review-notice svg{margin-top:.12rem}.review-notice p{margin:0}.guide-nav{display:flex;gap:2rem;border-bottom:1px solid #cdd5c4;margin:1.7rem 0 1.8rem}.guide-tab{position:relative;display:flex;align-items:center;gap:.65rem;border:0;padding:.8rem .05rem 1rem;background:transparent;font-size:.76rem;letter-spacing:.07em;font-weight:700;color:#7b8678}.guide-tab .tab-number{font-size:.65rem;font-weight:500;color:#a7ad99}.guide-tab[aria-selected=true]{color:var(--green)}.guide-tab[aria-selected=true]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--green)}.guide-tab:hover{color:var(--green)}.section-title{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.section-title h2{margin:0}.section-title p{margin:.35rem 0 0;font-size:.8rem;color:var(--muted)}.section-title .small{color:var(--muted)}.component-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:2rem}.component-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);padding:0;text-align:left;border-radius:8px;overflow:hidden;width:100%}.component-card:hover{border-color:#899e7f;box-shadow:0 4px 12px #172e260d}.component-photo{height:110px;background:#e5e9db;display:flex;align-items:center;justify-content:center;color:#829477}.component-photo img{width:100%;height:100%;object-fit:cover}.component-content{padding:.7rem .8rem}.component-content strong{font-size:.82rem;display:block;line-height:1.4}.component-content small{display:block;font-size:.67rem;color:var(--muted);margin-top:.35rem}.cook-layout{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.3fr);gap:2.3rem;align-items:start}.ingredients-panel{background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden}.ingredients-heading{padding:1.2rem;border-bottom:1px solid var(--line)}.ingredients-heading h2{font-size:1.55rem;margin-bottom:1rem}.portion-control{display:flex;align-items:center;justify-content:space-between;gap:.6rem;font-size:.78rem;color:var(--muted)}.portion-stepper{display:flex;align-items:center;border:1px solid #c9d2c1;border-radius:5px;background:white;overflow:hidden}.portion-stepper button{height:32px;width:30px;border:0;background:#f2f5eb;color:var(--green);font-size:1.15rem}.portion-stepper input{height:32px;width:48px;text-align:center;border:0;appearance:textfield;font-size:.82rem;color:var(--ink)}input::-webkit-inner-spin-button{opacity:1}.ingredient-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.85rem 1.15rem;border-bottom:1px solid #e8eade;font-size:.83rem}.ingredient-row:last-child{border:0}.ingredient-row .ingredient-name{line-height:1.45}.ingredient-row small{display:block;color:var(--muted);font-size:.7rem;line-height:1.5;margin-top:.25rem}.ingredient-amount{white-space:nowrap;font-weight:600;color:var(--green);font-variant-numeric:tabular-nums}.ingredients-footer{padding:1rem 1.15rem;background:#f6f6ed;font-size:.73rem;color:var(--muted);line-height:1.6;border-top:1px solid var(--line)}.ingredients-footer strong{color:var(--green)}.equipment-block{margin-top:1.3rem;font-size:.78rem;color:var(--muted)}.equipment-block strong{display:block;color:var(--ink);margin-bottom:.6rem}.method-list{display:grid;gap:0}.method-step{display:grid;grid-template-columns:36px minmax(0,1fr);gap:.9rem;padding:1.25rem 0;border-bottom:1px solid var(--line)}.method-step:first-child{padding-top:.3rem}.step-number{width:31px;height:31px;border:1px solid #cbd5c0;background:#e8eee0;border-radius:50%;font-family:Georgia,serif;font-size:1.05rem;color:var(--green);display:flex;align-items:center;justify-content:center}.method-step.checked .step-number{background:var(--green);color:white}.step-title-line{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem;margin-bottom:.55rem}.step-title-line h3{margin:0;font-size:.96rem}.step-check{display:flex;align-items:center;gap:.35rem;white-space:nowrap;font-size:.66rem;color:var(--muted);cursor:pointer}.step-check input{accent-color:var(--green);width:16px;height:16px;margin:0}.method-step p{font-size:.86rem;color:#536257;line-height:1.7;margin-bottom:.65rem}.timing{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.timing span{display:inline-flex;align-items:center;gap:.3rem;font-size:.66rem;color:#697865;padding:.25rem .4rem;background:#eaeee1;border-radius:4px}.timing span.waiting{background:#f2ecd9;color:#8b7947}.step-cue{font-size:.76rem;color:#47613e;padding:.65rem .8rem;margin-top:.75rem;background:#edf1e5;border-left:2px solid #a2b28e;border-radius:0 4px 4px 0;line-height:1.6}.step-cue strong{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.service-note{border-top:1px solid var(--line);padding-top:1.4rem;margin-top:1.7rem}.service-note h3{font-family:Georgia,serif;font-size:1.4rem;font-weight:400;margin-bottom:.6rem}.service-note p{font-size:.85rem;color:#5e6e61}.guide-intro{max-width:700px;color:var(--muted);font-size:.92rem;margin-bottom:1.6rem}.knowledge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.knowledge-card{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:1.4rem}.knowledge-card h3{font-family:Georgia,serif;font-size:1.35rem;font-weight:400;margin-bottom:.7rem}.knowledge-card p{font-size:.86rem;color:#5c6d5f;line-height:1.75;margin-bottom:.75rem}.knowledge-card .source{font-size:.7rem;line-height:1.5;color:#87917e;border-top:1px solid #e4e8da;padding-top:.65rem;overflow-wrap:anywhere}.photo-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0 2rem}.reference-photo{padding:0;text-align:left;border:1px solid var(--line);background:var(--paper);border-radius:8px;overflow:hidden}.reference-photo img{aspect-ratio:1.2;object-fit:cover;width:100%}.reference-photo p{padding:.8rem;margin:0;font-size:.76rem;color:var(--muted);line-height:1.5}.trouble-card{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(0,1fr) minmax(0,1.2fr);gap:1.4rem;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:1.3rem;margin-bottom:.8rem}.trouble-card h3{font-family:Georgia,serif;font-size:1.3rem;font-weight:400;margin:0 0 .6rem}.trouble-card p{font-size:.82rem;line-height:1.65;color:#61705f;margin:0}.trouble-card .eyebrow{font-size:.6rem;margin-bottom:.45rem}.trouble-card.stop{border-left:3px solid #b4714f}.editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.3rem;margin-bottom:1.2rem}.editor-header h1{font-size:2.5rem;margin:.35rem 0 .55rem}.editor-header p{font-size:.8rem;color:var(--muted);margin:0}.save-state{display:inline-flex;align-items:center;gap:.3rem;font-size:.73rem;color:#68795f}.save-state.dirty{color:#986f24}.editor-tabs{display:flex;gap:1.2rem;border-bottom:1px solid var(--line);margin:1.3rem 0 1.6rem;overflow:auto}.editor-tabs button{border:0;background:transparent;padding:.8rem .25rem .9rem;color:var(--muted);font-size:.82rem;white-space:nowrap;border-bottom:3px solid transparent}.editor-tabs button[aria-selected=true]{border-color:var(--green);font-weight:700;color:var(--green)}.editor-panel{max-width:1000px}.form-section{margin:0 0 1.3rem;border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:1.4rem}.form-section h2{font-size:1.55rem;margin-bottom:.6rem}.form-section>p{font-size:.81rem;color:var(--muted);margin-bottom:1.2rem}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.2rem}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:.4rem;min-width:0;font-size:.79rem;font-weight:600;color:#435d4b}.field.full{grid-column:1/-1}.field input,.field select,.field textarea,.edit-table input,.edit-table select{border:1px solid #cdd4c3;border-radius:5px;background:#fffef9;color:var(--ink);padding:.65rem .7rem;min-height:41px;font-size:.86rem;width:100%;font-weight:400}.field textarea{resize:vertical;min-height:87px;line-height:1.6}.field small{font-weight:400;color:var(--muted);font-size:.68rem;line-height:1.5}.field input:disabled,.field select:disabled{background:#eef1e7;color:#6a7864}.field input[type=checkbox]{width:17px;min-height:17px;accent-color:var(--green)}.check-field{display:flex;gap:.55rem;align-items:flex-start;font-size:.8rem;color:#54674f;line-height:1.5}.check-field input{width:17px;height:17px;accent-color:var(--green);flex:none;margin-top:.1rem}.field-errors{color:var(--danger);background:#faeee5;padding:.8rem 1rem;border-radius:6px;font-size:.8rem;line-height:1.6;margin-bottom:1rem}.table-scroll{width:100%;overflow:auto}.edit-table{width:100%;border-collapse:collapse;font-size:.8rem}.edit-table th{text-align:left;padding:.65rem .5rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;font-weight:650;color:#6a7d64;border-bottom:1px solid var(--line)}.edit-table td{padding:.7rem .5rem;border-bottom:1px solid #e6e9dc;vertical-align:top}.edit-table td:first-child,.edit-table th:first-child{padding-left:0}.edit-table td:last-child,.edit-table th:last-child{padding-right:0}.edit-table input{min-width:65px;font-size:.82rem;padding:.55rem}.edit-table .name-input{min-width:160px}.edit-table select{min-width:75px}.row-detail{margin-top:.6rem}.row-detail summary{font-size:.7rem;color:#69805f;cursor:pointer;margin-bottom:.5rem}.row-detail .field{margin:.5rem 0}.remove-row{margin-top:.15rem;border:0;background:transparent;color:#a07c68;padding:.4rem;display:inline-flex}.remove-row:hover{color:var(--danger);background:#f7e9e1;border-radius:5px}.add-row{margin-top:1rem;display:inline-flex;gap:.4rem;align-items:center;border:1px dashed #b6c4ad;border-radius:5px;background:transparent;color:#496b3d;padding:.65rem 1rem;font-size:.78rem}.add-row:hover{background:#edf2e5}.component-edit-row{display:grid;grid-template-columns:minmax(180px,1fr) 100px 100px 36px;gap:.6rem;align-items:end;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.component-edit-row .component-purpose{grid-column:1/-1}.step-editor{border:1px solid var(--line);background:var(--paper);border-radius:8px;margin-bottom:1rem;padding:1.2rem}.step-editor-header{display:flex;gap:.7rem;align-items:center;margin-bottom:1rem}.step-editor-header .field{flex:1}.step-editor-header .step-number{flex:none}.step-editor .step-notes{margin-top:1rem}.step-editor details summary{font-size:.79rem;color:var(--green);cursor:pointer;padding:.6rem 0;font-weight:600}.step-editor details[open] summary{margin-bottom:.5rem}.knowledge-edit-card{border-top:1px solid var(--line);padding-top:1.2rem;margin-top:1.2rem}.knowledge-edit-card:first-of-type{border-top:0;padding-top:0;margin-top:0}.item-heading{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;font-weight:700;margin-bottom:.8rem}.editor-footer{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.3rem;border:1px solid var(--line);border-radius:8px;background:#fffef5f5;backdrop-filter:blur(10px);box-shadow:0 -4px 20px #20382507;z-index:3;margin-top:1.5rem}.editor-footer .heading-actions{flex-wrap:nowrap}.hint-box{background:#eaf0e3;border:1px solid #d0dcc5;padding:.85rem 1rem;border-radius:6px;font-size:.78rem;color:#5a7051;line-height:1.6;margin-bottom:1.2rem}.hint-box strong{color:#315632}.hint-box.warning{background:#f8f0db;border-color:#e5d9b3;color:#8a713c}.cost-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--dark);color:#f6f2dc;border-radius:8px;padding:1.2rem;margin-bottom:1.4rem}.cost-summary div{padding:.15rem 1.2rem;border-right:1px solid #49614e}.cost-summary div:last-child{border:0}.cost-summary small{font-size:.7rem;color:#c2cbb5;display:block;margin-bottom:.35rem}.cost-summary strong{font-family:Georgia,serif;font-size:1.7rem;font-weight:400;color:#e6cf92}.mapping-row{border:1px solid var(--line);background:var(--paper);padding:1rem 1.2rem;border-radius:8px;margin-bottom:.75rem}.mapping-top{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.mapping-top h3{margin:0 0 .2rem;font-size:.9rem}.mapping-top p{margin:0;font-size:.75rem;color:var(--muted)}.mapping-top strong{font-size:.95rem;white-space:nowrap}.mapping-selection{display:flex;gap:.7rem;align-items:center}.mapping-selection select{flex:1;min-width:0;border:1px solid #cbd5c2;padding:.7rem;border-radius:5px;background:#fffef9;font-size:.78rem;color:var(--ink)}.product-note{font-size:.69rem;color:var(--muted);line-height:1.5;margin:.6rem 0 0}.unmapped-note{color:#a37431;font-size:.7rem}.versions-list{display:grid;gap:.7rem}.version-row{display:flex;align-items:center;justify-content:space-between;gap:1.3rem;border:1px solid var(--line);padding:1rem 1.15rem;border-radius:7px;background:var(--paper)}.version-row strong{font-size:.88rem;display:block;margin-bottom:.35rem}.version-row small{display:block;color:var(--muted);font-size:.7rem}.version-row .heading-actions{gap:.35rem}.connection-panel{border:1px solid #b9c9ae;background:#edf2e5;padding:1.5rem;border-radius:8px;margin-top:1.5rem}.connection-panel h2{font-size:1.6rem;margin-bottom:.7rem}.connection-panel p{font-size:.84rem;color:#63735b}.connection-panel .button{margin-top:.4rem}.connection-entry{display:flex;align-items:center;gap:.85rem;padding:.85rem 0;border-bottom:1px solid #cfdbc5}.connection-entry:last-child{border:0}.connection-entry .step-number{flex:none}.connection-entry .entry-name{flex:1;min-width:0}.connection-entry strong{display:block;font-size:.83rem}.connection-entry small{font-size:.7rem;color:var(--muted)}.connection-meta{font-size:.69rem;color:#78856e;line-height:1.6;margin-top:1rem;overflow-wrap:anywhere}.modal{padding:0;border:1px solid #cbd4c0;border-radius:12px;box-shadow:0 24px 100px #071c2450;width:min(640px,calc(100% - 2rem));max-height:calc(100vh - 3rem);overflow:auto;background:var(--paper);color:var(--ink)}.modal::backdrop{background:#10251cca;backdrop-filter:blur(4px)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 1.6rem 1rem;gap:1rem}.modal-header h2{margin:0;font-size:1.9rem}.modal-header .eyebrow{font-size:.62rem}.modal-body{padding:0 1.6rem 1.6rem}.modal-body>p{font-size:.85rem;color:var(--muted)}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.4rem;flex-wrap:wrap}.modal.photo-modal{width:min(1100px,calc(100% - 3rem));background:#102b22;color:white;border-color:#445e47}.photo-modal .modal-header{padding:1rem 1.3rem}.photo-modal .modal-header h2{font-size:1.45rem}.photo-modal .icon-button{background:#294739;color:white;border-color:#51694c}.photo-modal .modal-body{padding:0 1.3rem 1.3rem}.photo-modal img{max-height:72vh;margin:auto;object-fit:contain;width:auto;border-radius:5px}.photo-modal p{color:#cbd5c0;font-size:.75rem;margin:1rem 0 0}.component-modal .component-preview-image{width:100%;height:230px;object-fit:cover;border-radius:7px;margin-bottom:1rem}.component-modal .hero-meta{margin-bottom:1rem}.component-modal .metric{padding:0 .6rem}.component-modal .metric strong{font-size:.92rem}.component-modal .metric small{font-size:.61rem}.component-modal h3{margin-top:1rem}.component-modal ol{padding-left:1.4rem;color:var(--muted);font-size:.84rem;line-height:1.7}.confirm-note{font-size:.78rem;line-height:1.6;background:#edf1e5;padding:.85rem;border-radius:6px;color:#5d7253}.busy-status{position:fixed;top:87px;left:50%;transform:translateX(-50%);background:var(--green);color:white;box-shadow:var(--shadow);border-radius:7px;padding:.7rem 1.1rem;font-size:.8rem;z-index:50;display:flex;align-items:center;gap:.7rem}.busy-status[hidden],.toast[hidden]{display:none}.spinner{width:15px;height:15px;border:2px solid #ffffff50;border-top-color:white;border-radius:50%;animation:spin .8s linear infinite}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);background:#1c4636;color:white;box-shadow:0 4px 30px #10261d2b;border-radius:8px;padding:.85rem 1.2rem;font-size:.83rem;max-width:min(90vw,650px);z-index:70;line-height:1.5}.toast.error{background:#853e2d}.opening{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh}.opening .brand-mark{width:60px;height:65px;font-size:3rem;margin-bottom:1.5rem}.opening h1{font-size:2.6rem}.opening p{color:var(--muted);font-size:.9rem}.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.95fr) minmax(400px,1.05fr)}.auth-story{background:var(--dark);color:#f7f3df;padding:3rem 3.5rem;display:flex;flex-direction:column;position:relative;overflow:hidden}.auth-story .brand-name{color:#f1e9cd}.auth-story .brand-sub{color:#adbd9e}.auth-story .brand-mark{border-color:#6e7d5d}.auth-story-copy{margin:auto 0;position:relative;z-index:1;padding:3.5rem 0;max-width:520px}.auth-story h1{font-size:clamp(2.8rem,4.3vw,4.4rem);line-height:1.1;margin-bottom:1.5rem;color:#f4edce}.auth-story h1 em{font-weight:400;color:#cfb97d}.auth-story-copy>p{color:#bac8ac;font-size:1rem;max-width:420px;line-height:1.8}.auth-points{display:flex;gap:1.1rem;margin-top:2rem;flex-wrap:wrap}.auth-points span{display:flex;align-items:center;gap:.4rem;font-size:.7rem;color:#d7dfc4}.auth-story-footer{font-size:.68rem;color:#95a887;line-height:1.6}.auth-art{position:absolute;right:-180px;bottom:-150px;width:520px;height:520px;border:1px solid #6a7f4e30;border-radius:50%;box-shadow:0 0 0 60px #617c4810,0 0 0 120px #617c4808;pointer-events:none}.auth-form-side{padding:3rem 3.5rem;display:flex;align-items:center;justify-content:center;background:#f7f5ed}.auth-box{max-width:420px;width:100%}.auth-box h2{font-size:2.3rem;margin-bottom:.65rem}.auth-box>p{color:var(--muted);font-size:.88rem}.practice-entry{display:grid;gap:.7rem;margin:1.7rem 0}.practice-button{border:1px solid #c7d1bd;border-radius:8px;background:var(--paper);padding:1rem;display:flex;align-items:center;gap:.9rem;text-align:left;box-shadow:0 3px 9px #10261a04}.practice-button:hover{background:#eaf0e2;border-color:#8ba47b}.practice-button .practice-icon{width:42px;height:42px;background:#e7eedd;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--green)}.practice-button strong{display:block;font-size:.88rem;margin-bottom:.25rem}.practice-button small{color:var(--muted);font-size:.72rem}.practice-button>svg{margin-left:auto;color:#718b61}.auth-divider{display:flex;align-items:center;gap:1rem;font-size:.67rem;color:#7b8873;margin:1.6rem 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.auth-switch{display:flex;gap:1.2rem;border-bottom:1px solid var(--line);margin-bottom:1.3rem}.auth-switch button{border:0;border-bottom:2px solid transparent;background:none;padding:.6rem 0;font-size:.8rem;color:var(--muted)}.auth-switch button.active{border-color:var(--green);color:var(--green);font-weight:700}.auth-form{display:grid;gap:1rem}.auth-form .button{width:100%;margin-top:.25rem}.auth-help{font-size:.68rem;color:#7e8977;line-height:1.65;margin-top:1.1rem}.file-input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.usage-panel{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:1.5rem;max-width:720px}.usage-panel h2{font-size:1.7rem}.usage-panel p{font-size:.85rem;color:var(--muted)}.usage-stat{display:flex;gap:1rem;align-items:baseline;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.5rem 0;margin:1.3rem 0}.usage-stat strong{font-family:Georgia,serif;font-size:2.5rem;color:var(--green)}.usage-stat span{color:var(--muted);font-size:.8rem}.hash{font-family:ui-monospace,SFMono-Regular,monospace;font-size:.65rem;overflow-wrap:anywhere;color:#89917d}.inline-link{border:0;background:none;color:var(--green);text-decoration:underline;text-underline-offset:3px;padding:0;font-size:inherit;cursor:pointer}.library-total{font-size:.73rem;color:var(--muted);margin-bottom:.8rem}.component-origin{font-size:.75rem;color:var(--muted);margin:.5rem 0 1rem}.mobile-menu{display:none}.source-details{margin-top:1.5rem;padding:1rem 0;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}.source-details summary{font-weight:600;cursor:pointer;color:#5e7553}.source-details p{margin:.8rem 0 0;font-size:.78rem;white-space:pre-line}.unsaved-label{font-size:.7rem;color:#936d24}.share-link{padding:.75rem;background:#eef2e7;border-radius:5px;font-size:.77rem;overflow-wrap:anywhere;margin-top:1rem}.media-editor-card{display:grid;grid-template-columns:100px 1fr 30px;gap:1rem;padding:1rem 0;border-top:1px solid var(--line);align-items:start}.media-editor-card img{width:100px;height:85px;object-fit:cover;border-radius:5px}.media-editor-card .field-grid{gap:.6rem}.detail-value{font-size:.84rem;color:var(--muted);line-height:1.6;white-space:pre-line}.compact-heading{font-size:1.25rem;margin-top:1.5rem}.inline-empty{padding:1.2rem;border:1px dashed var(--line);border-radius:6px;color:var(--muted);font-size:.8rem;text-align:center}.new-recipe-kind{margin-top:.7rem}.editor-status-message{font-size:.75rem;color:var(--muted);margin:0}.connection-panel .hint-box{background:#f7faef}.select-help{font-size:.67rem;color:var(--muted);padding-top:.3rem}.overflow-wrap{overflow-wrap:anywhere}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1600px){.main{padding:2.5rem 4rem}.recipe-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.recipe-hero{gap:4rem}.hero-photo{max-height:420px}}
@media(max-width:1150px){.shell{grid-template-columns:195px minmax(0,1fr)}.sidebar{padding:1.5rem .7rem}.main{padding:1.8rem 2rem 3rem}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-hero{gap:1.6rem;grid-template-columns:1fr .85fr}.recipe-hero h1{font-size:2.9rem}.metric{padding:0 .55rem;gap:.4rem}.metric svg{width:17px;height:17px}.metric strong{font-size:.95rem}.metric small{font-size:.62rem}.cook-layout{gap:1.4rem;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr)}.component-grid{gap:.55rem}.component-photo{height:90px}.component-content{padding:.6rem}.component-content strong{font-size:.73rem}.app-header{padding:0 1.7rem}.recipe-tools .button{padding:.55rem .7rem;font-size:.75rem}.trouble-card{gap:1rem}.field-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:.55rem 1.5rem;display:block}.side-heading,.sidebar-note,.side-project{display:none}.side-nav{display:flex;gap:.25rem;overflow:auto}.side-link{width:auto;white-space:nowrap;min-height:38px;padding:.45rem .7rem;font-size:.76rem}.side-link .count{font-size:.65rem}.side-link svg{width:17px;height:17px}.main{padding:1.5rem 1.8rem 3rem}.recipe-hero h1{font-size:3rem}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card-content{padding:.9rem}.card-content h3{font-size:1.25rem}.account-name{display:none}.page-heading h1{font-size:2.4rem}.auth-story{padding:2.5rem}.auth-form-side{padding:2.5rem}.auth-layout{grid-template-columns:minmax(300px,.9fr) minmax(330px,1fr)}.auth-story h1{font-size:3rem}}
@media(max-width:700px){.app-header{height:65px;padding:0 1.1rem}.brand-mark{width:32px;height:35px;font-size:1.55rem}.brand-name{font-size:.68rem;letter-spacing:.1em}.brand-sub{font-size:.65rem}.local-note{display:none}.header-right{gap:.35rem}.main{padding:1.2rem 1.1rem 2rem}.sidebar{padding:.45rem .7rem}.side-link{font-size:.71rem;padding:.45rem .55rem;gap:.35rem}.page-heading{align-items:flex-start;flex-direction:column;gap:1rem}.page-heading h1{font-size:2.5rem}.heading-actions{justify-content:flex-start}.library-toolbar{flex-direction:column;align-items:stretch;gap:.75rem}.search{max-width:none}.segment{align-self:flex-start}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.card-content h3{font-size:1.3rem}.card-content p{font-size:.73rem}.card-meta{font-size:.62rem;flex-wrap:wrap}.recipe-topline{align-items:flex-start;flex-direction:column;gap:.75rem}.recipe-tools{width:100%;gap:.35rem}.recipe-tools .button{font-size:.71rem;min-height:36px;padding:.45rem .55rem}.recipe-tools .button svg{width:15px;height:15px}.version-choice{max-width:140px;font-size:.69rem;min-height:36px}.recipe-hero{grid-template-columns:1fr;gap:1.3rem}.recipe-hero h1{font-size:3rem}.recipe-summary{font-size:.89rem}.hero-photo{aspect-ratio:1.65;grid-row:2}.hero-meta{padding:.85rem 0}.metric strong{font-size:1.08rem}.metric small{font-size:.63rem}.metric{gap:.55rem}.metric svg{width:20px;height:20px}.guide-nav{gap:1.3rem;margin-top:1.4rem}.guide-tab{font-size:.7rem;gap:.45rem}.guide-tab .tab-number{font-size:.59rem}.component-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.component-photo{height:125px}.component-content{padding:.75rem}.component-content strong{font-size:.83rem}.cook-layout{grid-template-columns:1fr;gap:2rem}.ingredients-panel{max-width:none}.section-title h2{font-size:1.65rem}.method-step{gap:.7rem}.step-check span{display:none}.knowledge-grid{grid-template-columns:1fr}.photo-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.trouble-card{grid-template-columns:1fr;gap:.9rem;padding:1.2rem}.trouble-card h3{font-size:1.4rem}.editor-header{flex-direction:column;gap:.85rem}.editor-header h1{font-size:2.3rem}.editor-tabs{gap:1rem;margin-top:.8rem}.editor-tabs button{font-size:.76rem}.form-section{padding:1.1rem}.field-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid{gap:.9rem}.field-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.field input,.field textarea,.field select{font-size:16px}.edit-table input,.edit-table select{font-size:16px}.component-edit-row{grid-template-columns:minmax(0,1fr) 75px 36px}.component-edit-row .component-select{grid-column:1/-1}.component-edit-row .component-purpose{grid-column:1/-1}.step-editor{padding:1rem}.editor-footer{padding:.75rem;gap:.6rem;flex-wrap:wrap}.editor-footer .button{font-size:.75rem;padding:.6rem .75rem}.editor-footer .save-state{font-size:.69rem}.cost-summary{padding:1rem .5rem}.cost-summary div{padding:0 .7rem}.cost-summary strong{font-size:1.4rem}.cost-summary small{font-size:.61rem}.mapping-row{padding:.9rem}.mapping-selection{flex-wrap:wrap}.mapping-selection select{width:100%;flex-basis:100%;font-size:16px}.version-row{align-items:flex-start;flex-direction:column;gap:.8rem}.connection-panel{padding:1.1rem}.connection-entry{flex-wrap:wrap}.connection-entry .button{margin-left:2.8rem}.modal{max-height:calc(100dvh - 1rem);width:calc(100% - 1rem)}.modal-header{padding:1.2rem 1.1rem .9rem}.modal-body{padding:0 1.1rem 1.2rem}.modal-header h2{font-size:1.7rem}.modal.photo-modal{width:calc(100% - 1rem)}.photo-modal img{max-height:70dvh}.auth-layout{display:block}.auth-story{padding:1.6rem 1.5rem 1.8rem;min-height:unset}.auth-story-copy{padding:2rem 0 0}.auth-story h1{font-size:2.65rem;margin-bottom:.8rem}.auth-story-copy>p{font-size:.87rem;margin-bottom:.9rem;max-width:500px}.auth-points{margin-top:1rem;gap:.8rem}.auth-points span{font-size:.62rem}.auth-story-footer{display:none}.auth-form-side{padding:2rem 1.5rem}.auth-box{max-width:500px}.auth-box h2{font-size:2rem}.auth-art{width:300px;height:300px}.media-editor-card{grid-template-columns:65px 1fr 25px;gap:.6rem}.media-editor-card img{width:65px;height:65px}.media-editor-card .field-grid{grid-template-columns:1fr}.guide-intro{font-size:.85rem}.busy-status{top:76px}}
@media(max-width:380px){.recipe-grid{grid-template-columns:1fr}.card-photo{aspect-ratio:1.8}.hero-meta .metric{gap:.35rem;padding:0 .4rem}.hero-meta .metric svg{display:none}.guide-nav{gap:1rem}.guide-tab{font-size:.65rem}.guide-tab .tab-number{display:none}.field-grid,.field-grid.three,.field-grid.four{grid-template-columns:1fr}.side-link .count{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.app-header,.sidebar,.recipe-topline,.recipe-tools,.guide-nav,.review-notice,.editor-footer,.busy-status,.toast,.photo-caption,.portion-stepper button,.step-check{display:none!important}.shell,.cook-layout{display:block}.main{padding:0;max-width:none}.recipe-hero{grid-template-columns:1fr 200px;gap:1rem}.recipe-hero h1{font-size:2.6rem}.hero-photo{box-shadow:none;max-height:180px}.component-grid{grid-template-columns:repeat(4,1fr)}.method-step,.knowledge-card,.trouble-card,.ingredient-row{break-inside:avoid}.ingredients-panel{margin-bottom:1.5rem}.knowledge-grid{display:block}.knowledge-card{margin-bottom:1rem}body{background:white;font-size:11pt}.hero-meta{margin-top:1rem}.portion-stepper input{border:0}.guide-content a{text-decoration:none}.review-notice{display:flex!important;color:#5d512e;background:transparent}.step-number{border:1px solid #aaa}.method-step p{color:#333}.source-details{display:block}}

.component-costs{margin:1.5rem 0}.component-cost-line{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:.9rem 0;border-bottom:1px solid var(--line);font-size:.85rem}.component-cost-line>div{flex:1}.component-cost-line small{display:block;margin-top:.3rem;color:var(--muted)}@media(max-width:700px){.component-cost-line{flex-wrap:wrap}.component-cost-line>div{min-width:60%}}

@media(max-width:900px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{min-width:0;max-width:100%;overflow-x:auto}.side-nav{min-width:0}.recipe-tools{flex-wrap:wrap}.recipe-hero>div,.cook-layout>div{min-width:0}}

.saved-version-note{font-size:.74rem;color:var(--muted);margin:-.5rem 0 1.3rem;text-align:right}@media(max-width:700px){.saved-version-note{text-align:left;line-height:1.5}}

/* Recipe build credits and reviewed AI proposals */
.credit-header{display:inline-flex;align-items:center;gap:.4rem;border:1px solid #cfdbc9;background:#f1f5e9;border-radius:20px;font-size:.72rem;font-weight:650;padding:.45rem .7rem;white-space:nowrap;color:var(--green)}.credit-header:hover{background:#e4ecd8}.simulation-banner{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.65rem 1.2rem;background:#f2e7c7;border-bottom:1px solid #daca99;color:#665220;font-size:.8rem;line-height:1.45}.social-signin{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:1rem}.social-button{width:100%;white-space:normal;min-height:45px}.social-unavailable small{display:block;font-size:.66rem;color:var(--muted);text-align:center;line-height:1.45;margin-top:.4rem}.provider-symbol{font-weight:750;font-size:1rem;min-width:16px}.social-button:disabled{opacity:.65}.credits-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1.4rem}.credit-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:1.9rem}.credit-card h2{margin:1rem 0}.credit-card p{font-size:.86rem}.credit-balance{display:flex;align-items:baseline;gap:.85rem;margin:1rem 0 1.3rem}.credit-balance strong{font-size:4rem;font-family:Georgia,serif;font-weight:400;line-height:1}.credit-balance span{color:var(--muted);font-size:.85rem}.credit-breakdown{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);padding:.9rem 0;gap:.75rem;margin-bottom:1.2rem}.credit-breakdown span{font-size:.75rem;color:var(--muted)}.credit-breakdown strong{display:block;color:var(--green);font-size:1.3rem;margin-top:.4rem}.manual-access{display:flex;gap:.45rem;align-items:flex-start;margin:1rem 0 0;color:#46683c}.manual-access svg{margin-top:.15rem}.pack-card{background:#eaf0e2}.pack-price{font-family:Georgia,serif;font-size:3.3rem;margin:1.4rem 0 1rem}.pack-price small{display:block;font:400 .78rem/1.4 Inter,ui-sans-serif,sans-serif;color:var(--muted);margin-top:.5rem}.pack-card>.button{margin:.5rem 0 1rem}.recent-builds{margin-top:2.2rem}.build-row{display:flex;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line)}.build-row>div{flex:1;min-width:0}.build-row strong{font-size:.88rem}.build-row small{display:block;color:var(--muted);font-size:.74rem;margin-top:.35rem}.ai-modal{max-width:900px}.ai-proposal section{margin:1.6rem 0}.ai-proposal h3{font-size:1.2rem;font-family:Georgia,serif;font-weight:400}.proposal-step{display:flex;gap:.9rem;border-top:1px solid var(--line);padding:1rem 0}.proposal-step>div{min-width:0;flex:1}.proposal-step p{font-size:.85rem;margin:.5rem 0;line-height:1.6}.proposal-step strong,.proposal-knowledge strong{font-size:.88rem}.proposal-step .chips{margin:.6rem 0}.proposal-knowledge{padding:1rem 0;border-top:1px solid var(--line)}.proposal-knowledge p{font-size:.84rem;margin:.5rem 0}.proposal-download{margin:1rem 0}.ai-build-footer{display:flex;gap:1rem;align-items:center;padding-top:1.2rem;margin-top:1.2rem;border-top:1px solid var(--line)}.ai-build-footer span{font-size:.74rem;color:var(--muted)}.build-charge{font-size:.78rem;color:var(--muted);margin-top:.8rem}.ai-modal .hint-box{margin-bottom:1rem}.ai-modal .check-field{margin:1rem 0}.ai-modal .modal-body{overflow-wrap:anywhere}@media(max-width:900px){.credits-grid{grid-template-columns:1fr 1fr}.credit-card{padding:1.4rem}}@media(max-width:700px){.credit-header{font-size:.65rem;padding:.35rem .5rem}.credits-grid{grid-template-columns:1fr}.social-signin{grid-template-columns:1fr}.simulation-banner{font-size:.7rem;justify-content:flex-start}.build-row{gap:.55rem;flex-wrap:wrap}.build-row>div{flex-basis:60%}.build-row .button{font-size:.72rem}.ai-build-footer{align-items:flex-start;flex-direction:column;gap:.6rem}.credit-breakdown{gap:.5rem}.credit-breakdown span{font-size:.7rem}}
.owner-access{padding:1rem 0}.owner-access>strong{font:400 1.7rem/1.25 Georgia,serif;color:var(--green)}.owner-access p{color:var(--muted);margin-top:.75rem}
.admin-ai-panel{margin-top:1.6rem;padding:1.8rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.admin-spend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.3rem 0}.admin-spend-grid>div{padding:1rem;background:#f0f3e9;border:1px solid #dbe3d2;border-radius:6px}.admin-spend-grid small,.admin-spend-grid span{display:block;color:var(--muted);font-size:.73rem;line-height:1.5}.admin-spend-grid strong{display:block;font:400 1.9rem/1.3 Georgia,serif;margin:.5rem 0;color:var(--green)}.admin-account-row{display:flex;gap:.8rem;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--line);font-size:.78rem}.admin-account-row>div{flex:1;min-width:0}.admin-account-row small{display:block;color:var(--muted);font-size:.72rem;margin-top:.3rem;overflow-wrap:anywhere}.admin-account-row>.button{font-size:.73rem;min-height:36px}.admin-account-list{margin-bottom:1rem}@media(max-width:700px){.admin-ai-panel{padding:1.1rem}.admin-ai-panel .section-title{flex-wrap:wrap;gap:.8rem}.admin-spend-grid{grid-template-columns:1fr}.admin-account-row{flex-wrap:wrap;gap:.5rem}.admin-account-row>div{flex-basis:70%}.admin-account-row>.button{margin-left:auto}}

.modal.ai-modal{width:min(900px,calc(100vw - 2rem))}

/* Password controls stay beside the field so they do not cover typed text. */
.password-entry{display:flex;align-items:stretch;min-width:0}.password-entry input{flex:1;min-width:0;border-radius:5px 0 0 5px;border-right:0;min-height:44px}.password-toggle{flex:none;min-width:67px;min-height:44px;padding:.6rem .8rem;border:1px solid #cdd4c3;border-radius:0 5px 5px 0;background:#eef3e7;color:var(--green);font-size:.78rem;font-weight:650}.password-toggle:hover{background:#dfe9d7}.password-entry input[aria-invalid=true]{border-color:var(--danger)}.password-entry input[aria-invalid=true]+.password-toggle{border-color:var(--danger)}.password-error{font-size:.8rem;line-height:1.5;color:var(--danger);background:#faeee5;border-left:3px solid var(--danger);padding:.7rem .85rem;margin:0}.password-error[hidden]{display:none}

/* Draft photos keep their versioned references and a clear place in the method. */
.photo-edit-card{display:grid;grid-template-columns:160px minmax(0,1fr);gap:1.2rem;padding:1rem 0;border-top:1px solid var(--line);align-items:start}.photo-edit-preview{border:1px solid var(--line);border-radius:8px;background:#edf1e5;padding:0;overflow:hidden;min-height:120px}.photo-edit-preview img{width:100%;height:150px;object-fit:cover}.photo-edit-fields{min-width:0}.photo-edit-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.8rem}.photo-edit-actions .button{min-height:44px;font-size:.78rem}.photo-empty{padding:1.7rem;text-align:center;border:1px dashed #b5c2a9;border-radius:8px;background:#f5f7ee}.photo-empty>span{display:block;color:#6b805d;margin-bottom:.7rem}.photo-empty p{font-size:.84rem;color:var(--muted)}.photo-version-note{margin:1rem 0 0;line-height:1.6}.recipe-reference-photos{margin-top:1rem}.recipe-reference-photos summary{cursor:pointer;font-size:.83rem;font-weight:650;padding:.8rem 0}.step-photo-editor{margin-top:1rem;border-top:1px solid var(--line);padding-top:1rem}.step-photo-editor .section-title{align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.step-photo-editor h3{margin:0}.step-photo-editor p{font-size:.78rem;color:var(--muted);margin:.35rem 0}.step-photo-editor .photo-edit-card{grid-template-columns:120px minmax(0,1fr)}.step-photo-editor .photo-edit-preview img{height:120px}.step-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem}.step-photo{padding:0;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--paper);text-align:left;min-width:0}.step-photo img{width:100%;height:170px;object-fit:cover}.step-photo>span{display:block;padding:.65rem .8rem;font-size:.78rem;line-height:1.5}.step-photo small{display:block;color:var(--muted);font-size:.68rem}.unassigned-photos{margin-top:1rem;padding:1rem;border:1px solid #e2ce9b;border-radius:7px;background:#f9f1de}.unassigned-photos h3{margin-bottom:.4rem}.unassigned-photos>p{font-size:.8rem;color:#796635}.unassigned-photos .photo-edit-card:last-child{padding-bottom:0}
@media(max-width:700px){.photo-edit-card,.step-photo-editor .photo-edit-card{grid-template-columns:1fr;gap:.8rem}.photo-edit-preview{width:100%;min-height:0}.photo-edit-preview img,.step-photo-editor .photo-edit-preview img{height:190px}.photo-edit-card .field-grid{grid-template-columns:1fr}.photo-edit-actions .button{white-space:normal;flex:1}.step-photo-grid{grid-template-columns:1fr}.step-photo img{height:200px}.step-photo-editor .section-title>.button{min-height:44px}.photo-empty{padding:1.2rem}.photo-empty .button{white-space:normal}}

/* The existing recipe connector is visible from the dish overview. */
.dish-connector{border-color:#b6c7a8;background:#edf2e5}.dish-connector .section-title{margin-bottom:.7rem}.dish-connector h2{max-width:680px}.dish-connector .section-title p:last-child{max-width:720px}.connector-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin:.8rem 0}.connector-actions .button{min-height:44px}.dish-connector>.small{margin:1rem 0 0;line-height:1.6}.connector-empty{font-size:.84rem;color:var(--muted);padding:.8rem 0;margin:0}.linked-recipe-summary{list-style:none;padding:0;margin:.5rem 0 1rem}.linked-recipe-summary li{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:1px solid #d3ddc8;padding:.65rem 0;font-size:.84rem}.linked-recipe-summary span{font-size:.76rem;color:var(--muted);white-space:nowrap}.component-portion-help{grid-column:1/-1;font-size:.76rem;color:var(--muted);line-height:1.6;margin:.1rem 0}.component-portion-help strong{color:var(--green)}#linked-recipes{scroll-margin-top:95px}#linked-recipes>.add-row{min-height:44px;margin-bottom:.6rem}
@media(max-width:700px){.linked-recipe-summary li{align-items:flex-start;flex-direction:column;gap:.25rem}.linked-recipe-summary span{white-space:normal}.connector-actions .button{white-space:normal;flex:1}.dish-connector h2{font-size:1.7rem}.component-portion-help{font-size:.8rem}#linked-recipes{scroll-margin-top:75px}}
