@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;src:url('assets/playfair-display.woff') format('woff')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 900;font-display:swap;src:url('assets/playfair-display-italic.woff') format('woff')}
:root{--bg:#f7f6f2;--paper:#fffefa;--ink:#263b32;--muted:#515a4c;--line:#e4e6db;--green:#2d5841;--orange:#e99455;--serif:'Playfair Display',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px}button,input,textarea,select{font:inherit}button,a,label.photo-upload{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #df9d61;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #8caa7a;outline-offset:2px}button{transition:background .2s,transform .2s,box-shadow .2s}button:active{transform:translateY(1px)}[hidden]{display:none!important}.header{height:92px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 3.4%;background:#faf9f5}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font-family:var(--serif);font-size:36px;font-weight:700}.brand-mark{background:var(--green);color:#fff6e8;border-radius:13px 13px 13px 3px;display:grid;place-items:center;width:43px;height:44px;font-size:36px}.brand-sub{display:block;font-family:var(--sans);font-size:12px;letter-spacing:2px;font-weight:600;margin-top:2px}.header nav{display:flex;gap:36px;height:100%;align-items:center}.nav-link{border:0;background:none;height:100%;font-weight:700;font-size:17px;position:relative;color:#60635c}.nav-link.active{color:var(--green)}.nav-link.active:after{content:'';height:3px;background:var(--green);position:absolute;bottom:0;left:0;right:0;border-radius:4px}.nav-link span{background:#e9ecdf;font-size:14px;padding:2px 6px;border-radius:5px;margin-left:5px}.header-end{display:flex;align-items:center;gap:25px}.local-status{font-size:14px;color:var(--muted)}.local-status i,.table-topline i{display:inline-block;width:6px;height:6px;background:#829674;border-radius:50%;margin-right:6px}.avatar{border:1px solid #dbdfd0;background:#eeeee3;border-radius:50%;width:34px;height:34px;font-family:var(--serif);font-size:22px}main{max-width:1800px;margin:auto;padding:34px 3.4% 0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:29px}.eyebrow{font-size:12px;letter-spacing:1.8px;color:#5c6251;font-weight:800}h1{font-family:var(--serif);font-weight:500;font-size:clamp(29px,3vw,48px);line-height:1.3;margin:10px 0}h1 em{color:#3e4e35;font-weight:500}.page-heading p{font-size:15px;color:var(--muted);margin:10px 0}.button{border:0;border-radius:8px;padding:13px 20px;font-size:15px;font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:17px}.button.primary{background:var(--green);color:#fff}.button.primary:hover{background:#3c6b4c;box-shadow:0 4px 14px #2d584124}.button.pale{background:#eeeee5;border:1px solid #e1e4d5}.button.pale:hover{background:#e5e8d9}.button span{font-size:22px;font-weight:400}.dish-bar{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:17px 22px;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:20px}.small-label{font-size:12px;font-weight:800;letter-spacing:1.4px;color:#5e6353}.dish-name{position:relative;min-width:0;flex:1}.dish-name .small-label{display:block;margin-bottom:6px}.dish-name input{font-family:var(--serif);font-size:28px;border:none;background:transparent;width:min(420px,90%);color:var(--ink)}.title-pencil{color:#696e61}.dish-meta{display:flex;align-items:center;gap:20px;font-size:14px;color:#51574d}.dish-meta input{width:37px;margin-left:7px;background:#f1f2e9;border:0;border-radius:4px;padding:5px;color:var(--ink)}.separator{height:23px;border-left:1px solid var(--line)}.kitchen-grid{display:grid;grid-template-columns:minmax(180px,.83fr) minmax(390px,2.02fr) 95px minmax(245px,1.03fr);gap:22px;align-items:start}h2{font-size:16px;font-weight:800;margin:0}.section-title{display:flex;justify-content:space-between;align-items:center;gap:6px;min-height:28px}.section-title>span{font-size:13px;color:#64675e}.tiny-tag{font-size:11px!important;letter-spacing:1px}.photo-panel{padding-top:3px}.dish-photo{margin-top:14px;border-radius:12px;overflow:hidden;position:relative;background:#e9e8dc;aspect-ratio: .87;display:flex;align-items:center;justify-content:center}.dish-photo>img{width:100%;height:100%;object-fit:cover}.photo-caption{position:absolute;bottom:61px;left:0;right:0;font-size:12px;text-align:center;color:#636954}.photo-upload{position:absolute;bottom:17px;left:13px;right:13px;text-align:center;padding:11px 5px;border:1px solid #fff8;background:#fffdf1da;border-radius:7px;cursor:pointer;font-size:13px;font-weight:700;backdrop-filter:blur(6px)}.photo-note{display:flex;gap:11px;align-items:center;margin:17px 0 23px}.sparkle{font-size:30px;color:#707057}.photo-note p{font-size:13px;line-height:1.9;color:#5c6057;margin:0}.photo-panel textarea{display:block;width:100%;margin-top:9px;resize:vertical;min-height:77px;background:#f0f0e8;border:1px solid #e6e7dc;border-radius:7px;padding:12px;font-size:14px;color:#444b3e;line-height:1.7}.mini-guide{margin-top:25px;border-top:1px solid var(--line);padding-top:18px}.mini-guide>span{font-size:12px;letter-spacing:1px;color:#626958;font-weight:800}.mini-guide p{font-size:14px;line-height:1.8;color:#5a6053}.mini-guide button{border:0;background:none;padding:0;font-size:14px;font-weight:700}.mini-guide button span{margin-left:15px}.ingredient-heading{display:flex;justify-content:space-between;align-items:center}.ingredient-heading .section-title{gap:14px}.text-button{background:none;border:0;color:#46533d;font-size:14px}.ingredient-list{display:flex;gap:10px;margin:14px 0 18px;overflow-x:auto;padding:1px 1px 7px;min-height:115px}.item-card{background:#fffdf7;border:1px solid #e5e7da;border-radius:10px;padding:7px 8px 9px;min-width:83px;flex:1;max-width:120px;position:relative;display:flex;flex-direction:column;align-items:center;gap:1px;user-select:none}.item-card:hover,.tool:hover{border-color:#9cae85;transform:translateY(-3px);box-shadow:0 5px 12px #3f54200b}.item-card.selected,.tool.selected{border-color:var(--green);background:#edf1e2;box-shadow:0 0 0 2px #2d58411a}.item-card img{height:55px;width:62px;object-fit:contain;pointer-events:none}.item-card strong{font-size:13px;font-weight:700}.item-card small{font-size:12px;color:#64675c;margin-top:3px}.item-card.used{opacity:.45}.table{background:#ebece3;border:1px solid #e0e2d5;border-radius:13px;padding:17px;position:relative;transition:.25s}.table-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:12px;font-weight:700;letter-spacing:1px;color:#5a6052}.plain-button{background:none;border:0;font-size:13px;color:#585e51;letter-spacing:0}.plain-button:disabled{opacity:.3;cursor:default}.board{background:linear-gradient(100deg,#d5b786,#e5c99a 30%,#e6c99b 60%,#d3b480);border-radius:14px;min-height:256px;position:relative;box-shadow:0 8px 13px #76603b15,inset 0 0 0 1px #c2a579;overflow:hidden}.board:after{content:'';position:absolute;inset:10px;border:1px solid #b3905c55;border-radius:10px;pointer-events:none}.board-grain{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 34px,#b98f5c12 35px,transparent 36px),repeating-linear-gradient(3deg,transparent 0,transparent 20px,#b0854e0c 21px,transparent 22px)}.board-hole{position:absolute;right:19px;top:21px;width:8px;height:8px;border-radius:50%;background:#ac8d61;box-shadow:inset 1px 2px 3px #83613666}.board-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#5d4b31;gap:10px}.board-symbol{font-size:47px;font-weight:400;opacity:.55}.board-empty strong{font-family:var(--serif);font-size:24px;font-weight:500}.board-empty>span:last-child{font-size:13px;line-height:1.8;color:#65543b}.board-items{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;min-height:256px;padding:38px 20px}.board-item{border:0;background:#fff3;border-radius:15px;padding:9px;position:relative;z-index:1;animation:plop .35s ease-out}.board-item img{height:79px;width:79px;filter:drop-shadow(1px 7px 3px #6b4b3322)}.board-item span{display:block;font-size:13px;color:#725737}.board-item.active{outline:2px solid #795b37;background:#fff5}.board-item.cut img{clip-path:polygon(0 0,30% 0,30% 100%,33% 100%,33% 0,65% 0,65% 100%,69% 100%,69% 0,100% 0,100% 100%,0 100%);transform:rotate(-9deg)}.table-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:17px;font-size:12px;color:#5a5f51;min-height:24px}.trash{border:1px dashed #c5cab7;border-radius:6px;background:#e5e8dc;padding:6px 9px;font-size:14px;color:#585e50;white-space:nowrap}.trash span{font-size:12px}.stove{margin-top:16px;background:#343a32;border-radius:13px;padding:15px 21px 11px;color:#7f8377;box-shadow:0 6px 10px #1a261114}.stove-label{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#5f6757;letter-spacing:1px}.stove-label strong{font-size:12px;font-weight:600}.stove-label span{letter-spacing:0;font-size:12px}.burners{display:flex;gap:20px;justify-content:center;padding:12px 0}.burner{width:130px;height:113px;border:0;background:none;position:relative;display:grid;place-items:center;border-radius:50%}.coil{position:absolute;width:100px;height:100px;border-radius:50%;border:1px solid #68705f;background:repeating-radial-gradient(circle,transparent 0,transparent 11px,#67705d 12px,transparent 13px);opacity:.55}.burner:after{content:'+';font-size:22px;font-weight:400;color:#758069;position:absolute}.burner.on .coil{border-color:#ed9b5e;background:repeating-radial-gradient(circle,#cb6a2710 0,transparent 11px,#e1914e 12px,transparent 13px);box-shadow:0 0 20px #e98d3d22;animation:heat 2s infinite alternate}.burner-content{z-index:1;position:relative}.burner-content img{width:134px;height:110px;filter:drop-shadow(0 5px 4px #0005)}.burner-food{position:absolute;left:35%;top:29%;width:30px;height:30px;border-radius:50%;background:#f2d070;box-shadow:12px 5px #e79b67,-9px 8px #eee5a1}.burner-timer{position:absolute;bottom:-3px;z-index:2;background:#21291f;color:#ddc89c;border-radius:4px;padding:3px 6px;font-size:12px}.burner-timer:empty{display:none}.stove-controls{border-top:1px solid #4b5144;display:flex;align-items:center;gap:9px;padding-top:10px;font-size:11px;letter-spacing:1px}.power-dot{width:4px;height:4px;border-radius:50%;background:#c49461}.knob{width:16px;height:16px;background:linear-gradient(110deg,#66705c,#414b39);border:1px solid #6e7864;border-radius:50%;margin-left:auto;position:relative}.knob+.knob{margin-left:0}.knob:after{content:'';height:5px;width:1px;background:#a8ad9b;position:absolute;top:2px;left:7px}.tools-panel{padding:3px 0}.tools-panel h2{font-size:15px}.tools-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}.tool{background:#f0f0e7;border:1px solid #e3e6d7;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5px 5px 8px;min-height:73px;font-size:12px;user-select:none}.tool img{height:43px;width:59px;object-fit:contain;pointer-events:none}.spice-button{display:flex;flex-direction:column;align-items:center;background:#e9edde;border:1px solid #d8dfc9;border-radius:9px;margin-top:9px;padding:7px;width:100%;font-size:12px;position:relative}.spice-button img{width:43px;height:35px}.spice-button>span:last-child{position:absolute;right:7px;top:5px;font-size:16px}.tool-tip{text-align:center;color:#696d5d;font-family:var(--serif);font-size:16px;font-style:italic;line-height:1.6;margin-top:21px}.recipe-panel{border:1px solid #e5e6db;border-radius:12px;background:#fffdf8;min-height:674px;padding:24px 20px 0;display:flex;flex-direction:column;background-image:linear-gradient(#fffdf8,#fffdf8)}.recipe-heading{display:flex;justify-content:space-between;align-items:center}.recipe-heading .eyebrow{font-size:11px;letter-spacing:1.2px}.recipe-heading h2{font-family:var(--serif);font-size:30px;font-weight:500;margin-top:9px}.record-dot{height:7px;width:7px;background:#9bab85;border-radius:50%;box-shadow:0 0 0 5px #edf0e3}.recipe-sub{font-size:12px;color:#686b5d;padding-bottom:18px;border-bottom:1px dashed #dfe2d1;margin:11px 0 0}.recipe-empty{text-align:center;margin:auto;padding:70px 0;color:#606656}.recipe-empty>span{font-size:60px;color:#c7cfb4}.recipe-empty h3{font-family:var(--serif);font-weight:500;line-height:1.5;font-size:25px;margin:14px 0}.recipe-empty p{font-size:13px;line-height:2;color:#6a6e62}#recipe-steps{list-style:none;counter-reset:steps;padding:0;margin:0}#recipe-steps>li{counter-increment:steps;padding:18px 0 16px 29px;border-bottom:1px dashed #e6e8db;position:relative;animation:slide .3s ease}#recipe-steps>li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:21px;font-family:var(--serif);font-size:17px;color:#67715a}#recipe-steps p{font-size:14px;line-height:1.8;margin:0;overflow-wrap:anywhere}#recipe-steps .step-meta{font-size:12px;letter-spacing:.4px;color:#696e62;display:block;margin-top:8px}#recipe-steps .step-edit{border:0;background:none;font-size:12px;color:#596250;padding:6px 0 0}.add-step{border:1px dashed #d8ddc8;background:transparent;border-radius:7px;padding:11px;font-size:13px;color:#58624c;margin-top:20px}.recipe-footer{border-top:1px solid #e9ebdf;display:flex;align-items:center;justify-content:space-between;padding:16px 0;font-size:12px;color:#686d5c;margin-top:20px}.recipe-footer button{border:0;background:none;color:#46533d;font-size:13px}.page-footer{border-top:1px solid var(--line);margin-top:35px;padding:21px 0;display:flex;justify-content:space-between;color:#696c60;font-size:12px;letter-spacing:.2px}.drop-hover{outline:2px dashed #638150!important;outline-offset:4px;background-color:#dce8cc!important}dialog{width:min(470px,calc(100% - 28px));border:1px solid #e2e6d6;border-radius:18px;background:var(--paper);padding:26px;color:var(--ink);box-shadow:0 25px 90px #1f302433}dialog::backdrop{background:#20362b66;backdrop-filter:blur(5px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-heading h2{font-family:var(--serif);font-size:32px;font-weight:500}.modal-heading button{font-size:30px;border:0;background:none;color:#596251}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.field{display:block;margin:14px 0;font-size:15px;color:#495342}.field input,.field select,.field textarea{display:block;width:100%;border:1px solid #dce2d0;background:#f6f6ed;border-radius:7px;padding:12px;color:var(--ink);margin-top:7px;resize:vertical}.field textarea{min-height:110px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal-copy{line-height:1.9;font-size:16px;color:#505949}.spice-grid,.icon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.spice-choice{border:1px solid #dfe4d2;background:#f6f6ee;border-radius:10px;padding:12px 5px;text-align:center}.spice-choice img{width:60px;height:60px;display:block;margin:0 auto 7px}.spice-choice.selected{background:#e3ebd7;border-color:#6f8e58}.help-list{padding-left:20px;font-size:16px;line-height:2;color:#4e5746}.help-list li{margin-bottom:12px}.library-toolbar{display:flex;justify-content:space-between;align-items:center;margin:30px 0;color:#5e6654}.library-toolbar input{padding:13px 18px;background:#fffdf8;border:1px solid var(--line);border-radius:8px;width:320px;max-width:70%}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;padding-bottom:40px}.recipe-card{border:1px solid var(--line);background:var(--paper);border-radius:15px;overflow:hidden}.recipe-card>img{width:100%;height:215px;object-fit:cover;background:#eeeee0}.recipe-card-body{padding:20px}.recipe-card h2{font-family:var(--serif);font-size:28px;font-weight:500;overflow-wrap:anywhere}.recipe-card p{font-size:14px;color:#626858;margin:13px 0 20px}.recipe-card-buttons{display:flex;gap:9px;align-items:center}.recipe-card-buttons button{flex:1}.recipe-card-buttons .delete-recipe{flex:0;border:0;background:none;color:#6b5e50}.library-empty{grid-column:1/-1;text-align:center;padding:100px 20px;color:#5b6453}.library-empty h2{font-family:var(--serif);font-size:36px;font-weight:500;margin-bottom:15px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#294a37;color:#fffdf0;border-radius:10px;padding:15px 23px;box-shadow:0 5px 30px #18342122;font-size:16px;z-index:10;opacity:0;pointer-events:none;transition:.3s;max-width:90%;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}@keyframes plop{from{opacity:0;transform:scale(.65) rotate(-12deg)}to{opacity:1;transform:scale(1)}}@keyframes slide{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes heat{to{opacity:.9}}@media(min-width:1550px){.kitchen-grid{gap:28px;grid-template-columns:minmax(230px,.9fr) minmax(500px,2.1fr) 110px minmax(285px,1.12fr)}.board,.board-items{min-height:310px}.item-card img{height:64px}.ingredient-list{min-height:125px}.recipe-panel{min-height:742px}.burner{height:130px}.dish-photo{aspect-ratio:.85}}@media(max-width:1200px){.kitchen-grid{grid-template-columns:170px minmax(330px,1fr) 77px 225px;gap:14px}main{padding-left:2%;padding-right:2%}.header{padding:0 2%}.recipe-panel{padding:20px 14px 0}.dish-meta{gap:12px}.item-card{min-width:74px}.dish-photo{aspect-ratio:.73}.photo-caption{font-size:12px}.stove-label span{display:none}.board-empty strong{font-size:22px}.table{padding:13px}.header-end{gap:12px}.local-status{font-size:12px}}@media(max-width:1000px){.kitchen-grid{grid-template-columns:160px minmax(330px,1fr) 83px}.recipe-panel{grid-column:2/4;min-height:330px}.recipe-empty{padding:25px 0}.photo-panel{grid-row:1/3}.page-heading h1{font-size:34px}.dish-meta .separator{display:none}.header nav{gap:20px}.dish-name input{font-size:25px}.dish-bar{padding:15px}.local-status{display:none}.recipe-empty h3 br{display:none}}@media(max-width:700px){.header{height:76px;padding:0 18px}.brand{font-size:29px;gap:8px}.brand-mark{width:35px;height:36px;font-size:30px}.brand-sub{font-size:11px;letter-spacing:1.1px}.header nav{gap:14px}.nav-link{font-size:15px}.header-end{display:none}main{padding:23px 15px 0}.page-heading{align-items:flex-start;margin-bottom:20px}.page-heading h1{font-size:32px;max-width:390px}.page-heading p{font-size:14px;line-height:1.7;max-width:300px}.page-heading>.button{padding:10px;font-size:0;gap:0;margin-top:24px}.page-heading>.button span{font-size:26px}.eyebrow{font-size:11px;letter-spacing:1.1px}.dish-bar{display:block;padding:15px;margin-bottom:20px}.dish-meta{margin-top:17px;justify-content:space-between;gap:8px}.dish-meta .button{padding:10px 12px;font-size:14px}.dish-name input{font-size:29px}.kitchen-grid{grid-template-columns:minmax(0,1fr) 70px;gap:14px 10px}.photo-panel{grid-row:auto;grid-column:1/-1;display:grid;grid-template-columns:110px 1fr;gap:0 16px;padding:0}.photo-panel>.section-title{grid-column:1/-1;margin-bottom:10px}.dish-photo{grid-column:1;grid-row:2/5;width:110px;height:139px;aspect-ratio:auto;margin-top:0}.photo-caption{display:none}.photo-upload{bottom:7px;left:5px;right:5px;font-size:12px;padding:6px 2px}.photo-note{display:none}.photo-panel>.small-label{grid-column:2;align-self:end;font-size:12px}.photo-panel textarea{grid-column:2;min-height:72px;font-size:14px;margin-top:7px}.mini-guide{grid-column:2;border:0;padding:0;margin:9px 0}.mini-guide>span,.mini-guide p{display:none}.mini-guide button{font-size:13px}.workspace{grid-row:2;grid-column:1;min-width:0}.tools-panel{grid-row:2;grid-column:2}.tools-panel h2{font-size:13px}.tool{min-height:65px}.tool img{width:47px;height:37px}.tools-list{gap:7px}.ingredient-heading .section-title{gap:7px}.ingredient-heading .section-title span{font-size:12px}.ingredient-heading h2{font-size:15px}.text-button{font-size:13px;padding:0}.ingredient-list{margin-top:10px;min-height:105px;gap:7px}.item-card{min-width:72px;padding:6px}.item-card img{height:49px;width:52px}.table{padding:11px}.table-topline{font-size:11px;letter-spacing:.6px;margin-bottom:12px}.plain-button{font-size:12px}.board,.board-items{min-height:238px}.board-empty strong{font-size:20px}.board-empty>span:last-child{font-size:12px;padding:0 12px}.board-item img{width:61px;height:61px}.board-items{gap:7px;padding:30px 10px}.table-bottom{font-size:12px;align-items:flex-start}.trash{font-size:13px;padding:4px}.trash span{display:none}.stove{padding:13px 10px 9px}.stove-label{font-size:11px}.stove-label strong{font-size:11px}.burners{gap:2px}.burner{width:110px;height:105px}.coil{width:86px;height:86px}.burner-content img{width:112px;height:95px}.stove-controls{font-size:11px;letter-spacing:.5px;gap:6px}.recipe-panel{grid-column:1/-1;grid-row:3;padding:21px 20px 0;min-height:340px}.recipe-heading .eyebrow{font-size:12px}.recipe-sub{font-size:13px}.recipe-empty p{font-size:14px}#recipe-steps p{font-size:16px}#recipe-steps .step-edit{font-size:14px}.page-footer{margin-top:25px;font-size:11px;gap:14px}.library-grid{grid-template-columns:1fr}.library-toolbar input{font-size:15px}.library-toolbar span{font-size:14px}.button{padding:12px 15px}.tool-tip{font-size:14px}.spice-button img{width:35px}.board-symbol{font-size:38px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Room for larger, readable labels on every screen size. */
.kitchen-grid{grid-template-columns:minmax(180px,.83fr) minmax(390px,2.02fr) 120px minmax(270px,1.13fr)}
.item-card{min-width:100px;max-width:145px;gap:4px;padding:9px 10px 12px}
.item-card strong,.tool span{overflow-wrap:anywhere;line-height:1.4}
.item-card small{line-height:1.4}.ingredient-list{min-height:137px}
.tool{min-height:91px;padding:9px 7px}.tools-list{gap:10px}
.section-title{flex-wrap:wrap;row-gap:5px}.tiny-tag{letter-spacing:.5px}
.table-topline,.table-bottom,.stove-label,.stove-controls{flex-wrap:wrap;row-gap:10px;line-height:1.6}
.table-topline{letter-spacing:.5px}.table-bottom>span{flex:1;min-width:140px}
.stove-label{letter-spacing:.4px}.stove-controls{letter-spacing:.5px}
.recipe-panel{padding-left:20px;padding-right:20px}.recipe-heading .eyebrow{line-height:1.6}
#recipe-steps>li{padding-left:34px}#recipe-steps>li:before{top:19px}
.photo-note{align-items:flex-start}.photo-note p{line-height:1.8}
.photo-panel textarea{min-height:110px}.photo-caption{bottom:79px;line-height:1.5;padding:0 10px}
.photo-upload{line-height:1.5;padding:12px 6px}.dish-meta{flex-wrap:wrap}
.brand-sub{letter-spacing:1px}.page-footer{line-height:1.7}.modal-copy,.help-list{line-height:1.8}
@media(min-width:1550px){.kitchen-grid{grid-template-columns:minmax(230px,.9fr) minmax(500px,2.1fr) 130px minmax(300px,1.12fr)}}
@media(max-width:1200px){.kitchen-grid{grid-template-columns:170px minmax(330px,1fr) 105px 260px;gap:14px}.header nav{gap:20px}.header-end{gap:12px}.dish-bar{flex-wrap:wrap}.dish-name{flex-basis:340px}.tiny-tag{font-size:11px!important}}
@media(max-width:1000px){.kitchen-grid{grid-template-columns:160px minmax(330px,1fr) 105px}.recipe-panel{grid-column:2/4}.header nav{gap:18px}.dish-name{flex-basis:280px}.ingredient-heading{gap:12px}.ingredient-heading .section-title{gap:8px}}
@media(max-width:700px){
 .kitchen-grid{grid-template-columns:minmax(0,1fr) 88px;gap:16px 10px}
 .photo-panel{grid-column:1/-1}.workspace{grid-column:1}.tools-panel{grid-column:2}.recipe-panel{grid-column:1/-1}
 .header{padding:0 12px}.header nav{gap:12px}.brand{gap:7px}.brand-sub{font-size:11px;letter-spacing:0;max-width:125px;line-height:1.3}.brand-mark{flex-shrink:0}
 .nav-link{font-size:14px;padding:0 2px}.nav-link span{font-size:12px;margin-left:2px;padding:2px 4px}
 .page-heading{gap:12px}.page-heading>.button{font-size:13px;white-space:normal;gap:5px;max-width:105px;flex-shrink:0;line-height:1.5}.page-heading>.button span{font-size:23px}
 .dish-name{min-width:0}.dish-meta{gap:12px}.dish-meta .button{font-size:14px}.dish-meta label{font-size:14px}
 .ingredient-heading{flex-wrap:wrap;gap:8px}.ingredient-heading .section-title{width:100%;justify-content:space-between}.ingredient-list{min-height:126px}
 .item-card{min-width:92px}.tool{min-height:84px}.tool img{height:40px}.tools-panel h2{font-size:14px}.tool-tip{font-size:14px}
 .board-empty{padding:20px 8px}.board-empty strong{font-size:20px}.board-empty>span:last-child{font-size:12px;padding:0 4px}
 .table-topline{gap:8px}.table-topline>span{font-size:11px}.plain-button{font-size:12px;padding:6px 0}
 .table-bottom>span{min-width:100px;font-size:12px}.stove-label strong,.stove-controls{font-size:11px}.burner{width:95px}
 .photo-upload{font-size:11px;line-height:1.3;padding:7px 3px}.photo-panel>.small-label{font-size:11px}.photo-panel textarea{font-size:14px;min-height:90px}
 .mini-guide button{font-size:13px}.photo-panel .dish-photo{height:167px}.recipe-heading .eyebrow{font-size:11px}
 .page-footer{font-size:11px;flex-wrap:wrap}.library-toolbar{gap:12px}.library-toolbar input{max-width:75%}
}
@media(max-width:380px){.brand{font-size:25px}.brand-mark{width:30px;height:34px}.brand-sub{max-width:110px;font-size:10px}.header nav{gap:7px}.nav-link{font-size:13px}.header{padding:0 9px}}
/* Categorized ingredient illustration library. */
.ingredient-modal{width:min(700px,calc(100% - 28px));max-height:92dvh;padding:25px 28px}
.ingredient-modal .modal-heading{margin-bottom:14px}.ingredient-modal .field{margin:10px 0}
.ingredient-modal .field input,.ingredient-modal .field select{padding:11px 12px}
.illustration-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 12px}
.illustration-heading h3{font-size:17px;margin:0;font-weight:700}.illustration-heading>span{font-size:13px;color:#555e4b;white-space:nowrap}
.ingredient-categories{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.category-chip{flex:1 1 auto;text-align:center;border:1px solid #dfe4d3;background:#f2f3e9;border-radius:20px;padding:8px 12px;font-size:13px;line-height:1.4}
.category-chip:hover{background:#e5ecd9}.category-chip.selected{background:var(--green);border-color:var(--green);color:#fffdf0}
.illustration-search input{display:block;width:100%;padding:12px 15px;border:1px solid #dce2d0;background:#f6f6ed;border-radius:8px;font-size:15px;color:var(--ink)}
.illustration-results{font-size:12px;color:#545e4b;line-height:1.6;margin:10px 0}
.illustration-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:280px;overflow-y:auto;padding:3px 5px 6px 3px;scrollbar-color:#b7c4a4 #f1f3e8;scrollbar-width:thin}
.illustration-choice{position:relative;border:1px solid #e0e5d4;background:#f7f7ef;border-radius:11px;padding:10px 7px 12px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;min-width:0}
.illustration-choice:hover{background:#edf1e2;border-color:#98ac84;transform:translateY(-2px)}
.illustration-choice.selected{background:#e9efdd;border:2px solid #64844d;padding:9px 6px 11px}
.illustration-choice img{width:76px;height:65px;object-fit:contain;pointer-events:none}.illustration-choice>span{font-size:13px;line-height:1.5;text-align:center;overflow-wrap:anywhere}
.illustration-choice i{display:none;position:absolute;right:7px;top:5px;color:#50733c;font-size:14px;font-style:normal}.illustration-choice.selected i{display:block}
.illustration-selected{display:flex;gap:10px;align-items:center;margin-top:13px;border-top:1px solid #e3e8d8;padding-top:10px;font-size:14px;color:#4f5946}
.illustration-selected img{width:45px;height:37px;object-fit:contain}.illustration-selected strong{color:var(--ink)}
.ingredient-modal .modal-actions{margin-top:15px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.ingredient-modal{padding:19px 16px}.ingredient-modal .modal-heading h2{font-size:27px}.ingredient-modal .field{font-size:14px}.ingredient-modal .field input,.ingredient-modal .field select{font-size:16px}.category-chip{font-size:12px;padding:7px 10px}.illustration-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:260px;gap:8px}.illustration-choice img{width:65px;height:57px}.illustration-choice>span{font-size:12px}.illustration-heading h3{font-size:16px}.illustration-heading>span{font-size:12px}.illustration-selected{font-size:13px}.ingredient-modal .modal-actions .button{font-size:13px;white-space:normal}}
/* Separate controls keep ingredient selection and removal independent. */
.ingredient-entry{position:relative;display:flex;flex:1;min-width:100px;max-width:145px}
.ingredient-entry>.item-card{width:100%;min-width:0;max-width:none;padding-top:25px}
.ingredient-remove{position:absolute;top:4px;right:4px;z-index:1;display:grid;place-items:center;width:27px;height:27px;padding:0;border:1px solid #e1e4d6;border-radius:50%;background:#fffdf5;color:#5a5f53;font-size:23px;line-height:1;touch-action:manipulation}
.ingredient-remove:hover{background:#f8e5dc;border-color:#dcae98;color:#aa5840}
.ingredient-remove:focus-visible{outline:3px solid #df9d61;outline-offset:2px}
@media(max-width:700px){.ingredient-entry{min-width:92px}.ingredient-remove{width:30px;height:30px;font-size:25px}.ingredient-entry>.item-card{padding-top:30px}.ingredient-list{min-height:148px}}
/* Dish photo gallery. */
.photo-gallery{margin:12px 0 18px;min-width:0}.gallery-heading{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:#535b4b;margin-bottom:9px}
.photo-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:3px 3px 8px;scrollbar-width:thin;scrollbar-color:#acba99 #eef0e6}
.photo-thumbnail{flex:0 0 65px;width:65px;height:70px;border:2px solid transparent;border-radius:8px;padding:0;background:#eceee3;overflow:hidden;position:relative}
.photo-thumbnail img{width:100%;height:100%;object-fit:cover;pointer-events:none}.photo-thumbnail.selected{border-color:var(--green);box-shadow:0 0 0 2px #b4c6a6}
.photo-thumbnail span{position:absolute;bottom:0;left:0;right:0;padding:4px 1px;background:#2d5841df;color:#fff;font-size:10px;line-height:1.3}
.photo-actions{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:5px}.photo-actions button{border:1px solid #dce3cf;background:#eef2e5;border-radius:6px;padding:8px;font-size:12px;line-height:1.4}
.photo-actions button:disabled{color:#525b4b;background:transparent;cursor:default}.photo-actions #remove-photo{background:#f7ebe3;border-color:#e8d2c2;color:#694431}
@media(max-width:700px){.photo-gallery{grid-column:1/-1;grid-row:5;margin-bottom:3px}.photo-thumbnail{flex-basis:76px;width:76px;height:78px}.photo-actions{justify-content:flex-start;gap:12px}.photo-actions button{font-size:13px;padding:10px 12px}.gallery-heading{font-size:14px}}
/* Kitchen equipment categories, sizes and oven. */
.tool-category{display:block;width:100%;min-width:0;margin-top:12px;border:1px solid #dce2cf;border-radius:7px;padding:9px 3px;background:#f2f3e9;color:var(--ink);font-size:12px}
.tools-list{max-height:575px;overflow-y:auto;padding:3px 4px 5px;scrollbar-width:thin;scrollbar-color:#aebc9c #eef1e4}
.tool{flex-shrink:0}.tool small{font-size:11px;color:#5a6351;line-height:1.5;margin-top:3px}.tool.selected small{color:#526f3e}
.tool-preview{display:block;width:145px;height:125px;object-fit:contain;margin:0 auto 10px}
.tool-sizes{padding:0;margin:16px 0 0;border:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tool-sizes legend{font-size:14px;color:#505a46;margin-bottom:10px}.tool-size{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #dce3ce;background:#f2f5e9;border-radius:10px;padding:15px 8px;font-size:15px;cursor:pointer}
.tool-size:has(input:checked){border-color:#65824f;background:#e3ecd6;color:#34542b}.tool-size input{accent-color:#3d6347;margin:0}.tool-size input:focus-visible{outline:2px solid #dfa064;outline-offset:3px}
.board-vessel{position:absolute;top:15px;left:18px;right:18px;display:flex;align-items:center;gap:9px;z-index:1;pointer-events:none}.board-vessel img{height:55px;object-fit:contain;filter:drop-shadow(0 3px 2px #76512a22)}.board-vessel span{font-size:12px;color:#715b37;line-height:1.5}
.board.has-vessel .board-items{padding-top:87px}.oven{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:12px;border:1px solid #5e6e5c;border-radius:11px;background:linear-gradient(120deg,#404d3e,#303d30);color:#e6e7ce;padding:17px 18px;text-align:left;line-height:1.6}.oven>span:first-child{font-weight:700;font-size:15px}.oven>span:last-child{font-size:12px;color:#b7c4a8}.oven:hover{background:#455940}
@media(max-width:700px){.tool-category{font-size:11px;margin-top:10px}.tools-list{max-height:610px;padding-left:1px;padding-right:3px}.tool small{font-size:11px}.tool-sizes{gap:6px}.tool-size{flex-direction:column;font-size:14px;padding:13px 4px}.oven{flex-wrap:wrap;padding:13px}.oven>span:last-child{font-size:12px}.board-vessel{left:12px;right:12px;gap:5px}.board-vessel span{font-size:11px}.board-vessel img{max-width:70px}}
/* Recipe steps: drag to reorder with a visible insertion line. */
.recipe-sort-hint{font-size:12px;color:#586250;line-height:1.6;margin:11px 0 0}
#recipe-steps .recipe-step{cursor:grab;padding-right:21px;transition:opacity .15s,background .15s;touch-action:pan-y}
#recipe-steps .recipe-step:active{cursor:grabbing}#recipe-steps .recipe-step:hover{background:#f1f4e96b}
.step-drag-handle{position:absolute;right:0;top:18px;color:#656e5a;font-size:23px;line-height:1;user-select:none}
#recipe-steps .step-dragging{opacity:.4;background:#e9efdf}
#recipe-steps .step-drop-before:after,#recipe-steps .step-drop-after:after{content:'';position:absolute;left:0;right:0;height:3px;background:#547846;border-radius:3px;box-shadow:0 0 0 2px #e7efdd;pointer-events:none}
#recipe-steps .step-drop-before:after{top:-2px}#recipe-steps .step-drop-after:after{bottom:-2px}
#recipe-steps .step-edit{cursor:pointer}.recipe-step:focus-visible{outline:2px solid #ce9d60;outline-offset:3px;border-radius:5px}
/* Independent work zones: ingredients stay with their own container. */
#board-items.board-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;justify-content:stretch;gap:12px;padding:18px;min-height:280px}
#board-items>.work-zone:only-child{grid-column:1/-1}.work-zone{position:relative;z-index:1;min-width:0;border:1px solid #a98c5966;border-radius:11px;background:#f5e5c23d;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.work-zone.active-zone{border:2px solid #5d794d;background:#f9f1d66b;box-shadow:0 0 0 2px #69834e22}
.work-zone-heading{display:flex;align-items:center;gap:5px;padding:8px;border-bottom:1px solid #bfa06b44;min-height:69px}
.zone-select{display:flex;gap:7px;align-items:center;flex:1;min-width:0;text-align:left;border:0;background:transparent;padding:0;font-size:12px;line-height:1.5;font-weight:700;color:#6e5735}
.zone-select img{width:48px;height:45px;object-fit:contain;pointer-events:none}.zone-select>span{min-width:0;overflow-wrap:anywhere}.zone-select small{display:block;font-size:11px;color:#53563b;font-weight:500;margin-top:3px}.zone-board-icon{font-size:31px;color:#67512d}
.zone-remove{align-self:flex-start;flex-shrink:0;border:0;border-radius:50%;width:24px;height:24px;padding:0;background:#e7d6b6;color:#5b492f;font-size:21px;line-height:1}
.zone-items{display:flex;flex-wrap:wrap;justify-content:center;align-content:flex-start;gap:5px;min-height:132px;padding:12px 5px}.zone-items .board-item{padding:5px;max-width:100%;margin:0}.zone-items .board-item img{width:61px;height:61px}.zone-items .board-item span{max-width:100px;overflow-wrap:anywhere;font-size:12px}
.zone-empty{font-size:12px;line-height:1.8;text-align:center;color:#625238;margin:auto 3px;padding:10px 0}
.zone-actions{display:flex;flex-wrap:wrap;gap:6px;padding:0 8px 10px}.zone-actions:empty{display:none}.zone-actions button{flex:1;border:1px solid #a8ae855e;border-radius:6px;padding:7px 5px;background:#e5e7cfc9;color:#63724b;font-size:11px;line-height:1.4}
.work-zone.drop-hover{outline-offset:-4px!important}.board.has-vessel #board-items{padding-top:18px}
@media(max-width:700px){#board-items.board-items{grid-template-columns:1fr;padding:12px;gap:10px}.work-zone-heading{padding:9px}.zone-select{font-size:13px}.zone-items{min-height:105px;justify-content:flex-start;padding:10px}.zone-items .board-item img{width:57px;height:57px}.zone-empty{font-size:12px}.zone-actions button{font-size:12px;padding:9px 6px}}
/* Recipe step removal stays separate from its drag handle. */
#recipe-steps .recipe-step{padding-right:34px}
.step-remove{position:absolute;right:0;top:13px;display:grid;place-items:center;width:28px;height:28px;border:1px solid #e0e4d5;border-radius:50%;background:#f7f7ee;color:#5f6556;padding:0;font-size:24px;line-height:1;cursor:pointer}
.step-remove:hover{color:#aa5840;background:#f8e5dc;border-color:#dcae98}.step-remove:focus-visible{outline:3px solid #df9d61;outline-offset:2px}
.step-drag-handle{top:49px;right:3px;font-size:22px}
/* Expanded, searchable spice collection. */
.spice-modal{width:min(620px,calc(100% - 28px));max-height:92dvh}
.spice-picker-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;max-height:320px;overflow-y:auto;padding:3px 5px 6px 3px;scrollbar-width:thin;scrollbar-color:#b3c2a2 #f1f3e8}
.spice-picker-grid .spice-choice{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:10px 5px;font-size:13px;line-height:1.5}
.spice-picker-grid .spice-choice img{width:65px;height:61px;margin-bottom:3px}.spice-picker-grid .spice-choice span{overflow-wrap:anywhere;text-align:center}
.spice-picker-grid .spice-choice.selected{box-shadow:inset 0 0 0 1px #6f8e58}.spice-current{padding:11px 0 4px;font-size:14px;font-weight:700;color:#405033}
@media(max-width:700px){.spice-modal{padding:20px 16px}.spice-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:290px}.spice-picker-grid .spice-choice{font-size:12px}.spice-modal .field input,.spice-modal .field select{font-size:16px}.spice-modal .modal-heading h2{font-size:28px}}
/* Select and season with several spices in one action. */
.spice-picker-grid .spice-choice{position:relative}.spice-check{position:absolute;top:5px;right:7px;font-size:17px;line-height:1;color:#527240;font-style:normal}
.spice-amounts{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto;padding:4px 3px;scrollbar-width:thin}
.spice-amount-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,160px);align-items:center;gap:12px;font-size:14px;color:#48533e}
.spice-amount-row input{width:100%;min-width:0;border:1px solid #dce3ce;background:#f5f6ed;border-radius:7px;padding:9px 10px;font-size:14px;color:var(--ink)}
#modal-submit:disabled{opacity:.5;cursor:default;box-shadow:none}
@media(max-width:700px){.spice-amount-row{font-size:13px;grid-template-columns:minmax(0,1fr) 130px;gap:8px}.spice-amount-row input{font-size:16px}.spice-picker-grid{max-height:250px}}
/* Quick oven mode selection in one horizontal row. */
.oven-modal{width:min(660px,calc(100% - 28px));max-height:92dvh}
.oven-mode-field{border:0;padding:0;margin:20px 0 0;min-width:0}.oven-mode-field legend{font-size:15px;color:#718066;margin-bottom:11px}
.oven-mode-row{display:flex;gap:8px;overflow-x:auto;padding:3px 3px 10px;scrollbar-width:thin;scrollbar-color:#a7b995 #eef2e4}
.oven-mode-option{position:relative;flex:1 0 101px;min-width:0;display:flex;align-items:center;flex-direction:column;gap:9px;border:1px solid #dce3ce;border-radius:10px;background:#f4f5ec;padding:13px 7px;cursor:pointer;color:#7c8b70;text-align:center}
.oven-mode-option input{position:absolute;top:7px;right:7px;width:13px;height:13px;accent-color:#416a46;margin:0;cursor:pointer}
.oven-mode-option svg{width:35px;height:35px;margin-top:3px;flex-shrink:0}.oven-mode-option span{font-size:13px;line-height:1.5;max-width:105px}
.oven-mode-option:has(input:checked){border-color:#688950;background:#e6eedb;color:#365b35;box-shadow:inset 0 0 0 1px #688950}.oven-mode-option:hover{background:#edf2e3}
.oven-mode-option:has(input:focus-visible){outline:3px solid #dfa165;outline-offset:2px}
@media(max-width:700px){.oven-modal{padding:21px 17px}.oven-mode-option{flex:0 0 108px}.oven-mode-field legend{font-size:14px}}
/* Oven appliance: control panel, glass door and illuminated cooking chamber. */
.oven.oven-appliance{display:block;width:100%;padding:0;margin-top:16px;border:1px solid #596453;border-radius:13px;background:linear-gradient(110deg,#485044,#343d33 60%,#414b3c);overflow:hidden;color:#d8dfca;box-shadow:0 6px 12px #23321a20,inset 0 1px 0 #ffffff16;text-align:left}
.oven.oven-appliance:hover{background:linear-gradient(110deg,#4c5747,#384333 60%,#46533f);box-shadow:0 8px 17px #23321a2b}
.oven-control-panel{display:flex;align-items:center;justify-content:center;gap:24px;min-height:73px;padding:12px 22px;border-bottom:1px solid #272f26;background:linear-gradient(#ffffff08,transparent)}
.oven-dial{position:relative;display:block;flex:0 0 33px;width:33px;height:33px;border:1px solid #87917a;border-radius:50%;background:linear-gradient(120deg,#8c967e,#545e4c 50%,#69745d);box-shadow:0 2px 3px #131d174d,inset 0 1px 1px #fff3}
.oven-dial:after{content:'';position:absolute;top:5px;left:15px;height:10px;width:2px;border-radius:2px;background:#d6d9ba}.oven-dial-right{transform:rotate(35deg)}
.oven-display{display:grid;grid-template-columns:auto auto;justify-content:center;gap:3px 16px;flex:0 1 220px;min-width:0;border:1px solid #55614880;border-radius:6px;padding:7px 11px;background:#222d21;color:#dac795;box-shadow:inset 0 2px 4px #0003;font-weight:500}
#oven-temperature,#oven-duration{font-family:Consolas,monospace;font-size:21px;line-height:1.2;white-space:nowrap}#oven-duration{color:#bec6a3}#oven-mode-display{grid-column:1/-1;text-align:center;font-family:var(--sans);font-size:11px;line-height:1.5;color:#98aa80;overflow-wrap:anywhere}
.oven-door{display:block;padding:12px 18px 0;background:linear-gradient(100deg,#47513f30,#202a2122)}
.oven-handle{position:relative;z-index:2;display:block;height:10px;width:78%;max-width:360px;margin:0 auto -1px;border:1px solid #7a836e;border-radius:5px;background:linear-gradient(#b2b7a2,#6a7560 50%,#859078);box-shadow:0 4px 5px #14200d66}
.oven-window{position:relative;display:block;isolation:isolate;height:169px;margin-top:10px;overflow:hidden;border:7px solid #263025;border-radius:7px;background:radial-gradient(ellipse at 50% 90%,#4e5338,#252d24 75%);box-shadow:inset 0 5px 14px #0d170b80,0 1px 0 #6e775950}
.oven-window:before{content:'';position:absolute;z-index:0;inset:0;opacity:0;background:radial-gradient(ellipse at 50% 15%,#d9a34d55,transparent 70%),linear-gradient(#a8834433,#68533455);transition:opacity .5s}
.oven-heating .oven-window:before{opacity:1}.oven-fan{position:absolute;top:23px;left:calc(50% - 30px);width:60px;height:60px;color:#64705a;opacity:.5;z-index:0}.oven-heating .oven-fan{color:#ada479;opacity:.6}.oven-convection .oven-fan{animation:oven-fan-spin 5s linear infinite}
.oven-rack{position:absolute;left:8%;right:8%;height:18px;border-top:2px solid #84907366;border-bottom:2px solid #78896955;background:repeating-linear-gradient(90deg,transparent 0,transparent 19px,#85937566 20px,#85937566 21px);transform:perspective(80px) rotateX(30deg);z-index:1}.oven-rack-back{bottom:53px;opacity:.5}.oven-rack-front{bottom:18px}
.oven-heater{position:absolute;left:13%;right:13%;height:3px;border-radius:3px;background:#6f755949;z-index:0}.oven-heater-top{top:10px}.oven-heater-bottom{bottom:8px}
.oven-heating:not([data-oven-mode="bottom"]) .oven-heater-top{background:#e1a260;box-shadow:0 0 9px #e4a15199}
.oven-heating:is([data-oven-mode="conventional"],[data-oven-mode="convection"],[data-oven-mode="bottom"]) .oven-heater-bottom{background:#d99b58;box-shadow:0 0 9px #e4a15199}
.oven-dish{position:absolute;z-index:2;bottom:14px;left:50%;transform:translateX(-50%);width:155px;height:104px;filter:drop-shadow(0 6px 4px #09120677)}.oven-dish img{display:block;width:100%;height:100%;object-fit:contain;position:relative;z-index:1;pointer-events:none}
.oven-food{position:absolute;z-index:2;left:40%;top:41%;width:27px;height:15px;border-radius:45%;background:#d7a96c;box-shadow:18px 2px #bd8d59,-15px 4px #dfbd7f;opacity:.85;transform:rotate(2deg)}
.oven-empty-label{position:absolute;top:47%;left:15%;right:15%;text-align:center;font-family:var(--serif);font-size:18px;font-weight:400;line-height:1.6;color:#a8af93;z-index:2}
.oven-glass-shine{position:absolute;z-index:3;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 18%,#ffffff05 19%,#ffffff05 31%,transparent 32%,transparent 67%,#ffffff03 68%,#ffffff03 76%,transparent 77%);border:1px solid #c0c7a60a}
.oven-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px 7px;font-size:12px;line-height:1.6}.oven-bottom>span:first-child{font-weight:700;color:#b7c3a7}.oven-bottom>span:last-child{font-size:11px;color:#91a17e}
#oven-indicator{display:inline-block;width:5px;height:5px;border-radius:50%;background:#81906f;margin:0 7px 2px 0}.oven-heating #oven-indicator{background:#e6ae64;box-shadow:0 0 6px #e4b15b88}
.oven.oven-appliance>.oven-caption{display:block;padding:0 20px 13px;font-size:11px;line-height:1.7;color:#99aa86;font-weight:400}
@keyframes oven-fan-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){.oven-control-panel{gap:12px;padding:12px;min-height:72px}.oven-dial{flex-basis:25px;width:25px;height:25px}.oven-dial:after{left:11px;top:4px;height:8px}.oven-display{padding:7px 8px;gap:3px 8px}#oven-temperature,#oven-duration{font-size:18px}#oven-mode-display{font-size:11px}.oven-door{padding:11px 10px 0}.oven-window{height:145px;border-width:5px}.oven-empty-label{font-size:16px;left:7%;right:7%}.oven-bottom{padding:11px 13px 7px;gap:7px;flex-wrap:wrap}.oven.oven-appliance>.oven-caption{padding:0 13px 12px;font-size:11px}.oven-dish{width:137px;height:94px}.oven-fan{top:13px}}
/* A calm, read-only recipe page, separate from the cooking editor. */
.recipe-detail{max-width:1280px;padding-bottom:20px}.detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px}.detail-back{border:0;background:none;font-size:15px;color:#4f5c44;padding:10px 0}.detail-back:hover{color:var(--green)}.detail-toolbar .button{gap:10px}
.detail-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:start}.detail-gallery{min-width:0}.detail-photo-frame{position:relative;border-radius:18px;overflow:hidden;background:#e8eadb;aspect-ratio:1}.detail-photo-frame>img{display:block;width:100%;height:100%;object-fit:cover}.detail-photo-label{position:absolute;bottom:17px;right:17px;max-width:calc(100% - 34px);background:#fffdf1dc;backdrop-filter:blur(6px);padding:7px 12px;border-radius:20px;font-size:12px;color:#404b35;line-height:1.5}
.detail-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:12px 3px 8px;scrollbar-width:thin}.detail-thumb{flex:0 0 79px;width:79px;height:73px;padding:0;border:2px solid transparent;background:#e6ebdc;border-radius:9px;overflow:hidden}.detail-thumb img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.detail-thumb.selected{border-color:#527448;box-shadow:0 0 0 2px #b9cbaa}
.detail-intro{padding-top:14px;min-width:0}.detail-intro>.eyebrow{font-size:11px;letter-spacing:1.5px}.detail-intro h1{font-size:clamp(30px,3.2vw,48px);line-height:1.25;margin:16px 0 23px;overflow-wrap:anywhere}.detail-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:#515c48;margin-bottom:30px}.detail-meta span{border:1px solid #dee5d3;background:#edf1e4;border-radius:7px;padding:8px 12px}
.detail-ingredients{background:#fffdf7;border:1px solid #e2e6d8;border-radius:13px;padding:25px}.detail-ingredients h2{font-family:var(--serif);font-size:25px;font-weight:500;margin-bottom:16px}.detail-ingredients ul{list-style:none;margin:0;padding:0}.detail-ingredients li{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:12px 0;border-bottom:1px dashed #dfe4d3;font-size:15px;line-height:1.6}.detail-ingredients li:last-child{border-bottom:0;padding-bottom:0}.detail-ingredients li>span{overflow-wrap:anywhere;min-width:0}.detail-ingredients li strong{font-weight:600;color:#5b6251;text-align:right;flex-shrink:0}.detail-no-ingredients{color:#606657}
.detail-body{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(220px,1fr);gap:48px;margin-top:46px;align-items:start}.detail-section-heading>.eyebrow{font-size:11px}.detail-section-heading h2{font-family:var(--serif);font-size:32px;font-weight:500;margin:9px 0 24px}.detail-directions ol{list-style:none;counter-reset:detail-step;margin:0;padding:0}.detail-directions #detail-steps>li{counter-increment:detail-step;display:flex;gap:20px;padding:23px 0;border-top:1px solid #e1e6d6}.detail-directions #detail-steps>li:before{content:counter(detail-step,decimal-leading-zero);font-family:var(--serif);font-size:25px;color:#657258;min-width:33px;line-height:1.6}.detail-directions #detail-steps>li>div{min-width:0}.detail-directions p{margin:0;font-size:16px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.detail-step-time{display:inline-block;border-radius:5px;background:#e9efde;color:#505c43;font-size:12px;padding:5px 9px;margin-top:12px}
.detail-note{border:1px solid #e0e5d2;border-radius:13px;background:#edf1e3;padding:27px;margin-top:36px}.detail-note .eyebrow{font-size:10px}.detail-note h2{font-family:var(--serif);font-size:24px;font-weight:500;margin:12px 0 16px}.detail-note p{margin:0;font-size:15px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:1000px){.detail-hero{gap:28px}.detail-body{gap:28px;grid-template-columns:minmax(0,1fr) 260px}.detail-ingredients{padding:20px}.detail-intro{padding-top:4px}}
@media(max-width:700px){.detail-toolbar{margin-bottom:20px;gap:10px}.detail-toolbar .button{font-size:13px;padding:11px 13px;gap:7px}.detail-back{font-size:14px}.detail-hero{grid-template-columns:1fr;gap:22px}.detail-photo-frame{max-height:480px;aspect-ratio:1.12}.detail-intro h1{font-size:34px;margin:13px 0 18px}.detail-meta{margin-bottom:22px;font-size:13px;gap:8px}.detail-meta span{padding:7px 10px}.detail-ingredients{padding:21px}.detail-ingredients li{font-size:15px;gap:12px}.detail-ingredients li strong{flex-shrink:1;min-width:65px}.detail-body{grid-template-columns:1fr;gap:20px;margin-top:32px}.detail-note{margin-top:0;padding:23px}.detail-directions #detail-steps>li{gap:12px;padding:20px 0}.detail-directions p{font-size:16px}.detail-section-heading h2{font-size:29px}.detail-photo-label{font-size:12px}.detail-thumb{flex-basis:74px;width:74px;height:68px}}
.detail-timing{font-size:13px;line-height:1.8;color:#56614d;margin:-15px 0 25px}.recipe-card-body>p{line-height:1.9}
.spice-action-choice{border:0;padding:0;margin:0 0 18px;display:flex;gap:8px;flex-wrap:wrap}.spice-action-choice label{display:flex;align-items:center;gap:7px;flex:1;min-width:190px;padding:12px 10px;border:1px solid #dce3ce;border-radius:8px;background:#f4f5eb;font-size:13px;line-height:1.5;cursor:pointer}.spice-action-choice input{accent-color:#416a46;margin:0}.spice-action-choice label:has(input:checked){border-color:#78955e;background:#e7eedb;color:#3e6338}
/* Amount and measurement unit for each selected spice. */
.spice-amount-row{grid-template-columns:minmax(0,1fr) minmax(185px,230px)}
.spice-quantity-controls{display:grid;grid-template-columns:minmax(65px,.8fr) minmax(100px,1.2fr);gap:7px;min-width:0}
.spice-quantity-controls select{width:100%;min-width:0;border:1px solid #dce3ce;background:#f5f6ed;border-radius:7px;padding:9px 7px;font-size:14px;color:var(--ink)}
.spice-quantity-controls input:disabled{opacity:.35;background:#e9ecdf}
@media(max-width:700px){.spice-amount-row{grid-template-columns:minmax(0,1fr);gap:5px;padding:8px 0;border-bottom:1px solid #e3e7d8}.spice-quantity-controls{grid-template-columns:1fr 1fr}.spice-quantity-controls select{font-size:16px}.spice-amounts{max-height:260px}}
/* Remove accidental additions directly from a container or mixed composition. */
.work-item-entry{position:relative;min-width:0;padding-top:17px;display:flex;flex-direction:column;align-items:center}
.work-item-remove{position:absolute;top:0;right:0;z-index:3;display:grid;place-items:center;width:25px;height:25px;padding:0;border:1px solid #d4c39e;border-radius:50%;background:#f8edcf;color:#5f4d35;font-size:23px;line-height:1;cursor:pointer}
.work-item-remove:hover,.mixture-part button:hover{background:#f5d8c6;border-color:#c78e72;color:#aa5840}
.work-item-mixture{flex:1 0 100%;padding-top:20px}.mixture-contents{width:100%;display:flex;flex-direction:column;gap:5px;padding-top:6px}
.mixture-part{display:flex;align-items:center;justify-content:space-between;gap:7px;border:1px solid #c8bb925e;border-radius:6px;background:#fff6dd66;padding:4px 5px 4px 8px;font-size:12px;line-height:1.5;color:#776140}
.mixture-part>span{min-width:0;overflow-wrap:anywhere}.mixture-part button{flex-shrink:0;display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:50%;background:#e9d9b4;color:#634e32;font-size:22px;line-height:1;padding:0}
@media(max-width:700px){.work-item-remove{width:28px;height:28px;font-size:25px}.work-item-entry{padding-top:20px}.mixture-part{font-size:13px}.mixture-part button{width:28px;height:28px}}
/* Contextual container operations and resting stages. */
.zone-actions .zone-main-action{flex-basis:100%;background:#dce6c9;border-color:#8ba27599;font-weight:700;color:#45633b;padding:10px}
.zone-rest-badge{margin:0 9px 10px;padding:9px 10px;background:#e6debb;border:1px solid #c6b58166;border-radius:7px;color:#51492f;font-size:12px;line-height:1.6}.zone-rest-badge small{display:block;font-size:11px;color:#60573c;margin-top:2px}
.zone-action-tabs{display:flex;gap:9px;border:0;padding:0;margin:0 0 20px;min-width:0}.zone-action-tabs label{display:flex;align-items:center;gap:7px;flex:1;border:1px solid #dce3ce;background:#f4f5eb;border-radius:8px;padding:12px 10px;font-size:13px;line-height:1.5;cursor:pointer}.zone-action-tabs input{accent-color:#416a46;margin:0}.zone-action-tabs label:has(input:checked){background:#e3ecd6;border-color:#78965f;color:#3f6337}
@media(max-width:700px){.zone-action-tabs{flex-wrap:wrap}.zone-action-tabs label{min-width:150px;font-size:14px}.zone-rest-badge{font-size:13px}}
/* Ingredient-aware shortcut for resting yeast dough. */
.dough-suggestion{border:1px solid #bac9a3;border-radius:12px;background:linear-gradient(120deg,#e9efdc,#f1efdc);padding:19px;margin:0 0 23px}.dough-suggestion .eyebrow{font-size:10px;letter-spacing:1px;color:#515f41}.dough-suggestion h3{font-family:var(--serif);font-size:24px;font-weight:500;line-height:1.4;margin:10px 0}.dough-suggestion p{font-size:14px;color:#505a44;line-height:1.8;margin:0 0 15px}.dough-duration{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:15px}.dough-duration label{font-size:13px;line-height:1.6;color:#49563d}.dough-duration input,.dough-duration select{display:block;width:100%;min-width:0;border:1px solid #cbd7b8;border-radius:7px;background:#fffdf0;padding:10px;margin-top:5px;color:var(--ink);font-size:15px}.dough-suggestion .button{width:100%;white-space:normal;line-height:1.5}.dough-suggestion>small{display:block;font-size:12px;color:#5a634f;line-height:1.7;margin-top:10px}
@media(max-width:700px){.dough-suggestion{padding:16px}.dough-suggestion h3{font-size:23px}.dough-duration input,.dough-duration select{font-size:16px}.dough-suggestion .button{font-size:14px}}
/* Proofing turns the bowl contents into one visible dough ball. */
.zone-items .work-item-dough .board-item{background:transparent;padding:2px 10px 7px}.zone-items .work-item-dough .board-item img{width:123px;height:108px;filter:drop-shadow(0 5px 4px #86653c22)}.zone-items .work-item-dough .board-item span{font-family:var(--serif);font-size:19px;color:#7c623d;max-width:none}.work-item-dough{padding-top:9px}.work-item-dough .work-item-remove{top:4px;right:5px}
/* Rolling-pin hover previews flattening; dropping commits the new shape. */
.zone-items .work-item-dough .board-item img{transition:transform .25s ease}
.zone-items .work-item-dough.roll-ready:hover .board-item img,.zone-items .dough-roll-preview .board-item img{transform:scale(1.12,.48)}
.zone-items .work-item-flat .board-item img{width:145px;height:108px}.zone-items .work-item-flat .board-item span{font-size:17px;max-width:160px}
/* Dough shaping: illustrated choices with portion count and thickness. */
.dough-shape-modal{width:min(650px,calc(100% - 28px));max-height:92dvh}.dough-shape-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:10px 0 18px}.dough-shape-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;border:1px solid #dce2ce;background:#f4f5e9;border-radius:10px;padding:13px 6px 10px;cursor:pointer;color:#4f5946;min-width:0}.dough-shape-option input{position:absolute;right:6px;top:6px;accent-color:#416a46;width:13px;height:13px;margin:0}.dough-shape-option img{width:83px;max-width:100%;height:72px;object-fit:contain;pointer-events:none}.dough-shape-option span{font-size:13px;line-height:1.5;text-align:center}.dough-shape-option:has(input:checked){border-color:#6e8a54;background:#e5edd8;box-shadow:inset 0 0 0 1px #6e8a54;color:#3d5e35}.dough-shape-option:has(input:focus-visible){outline:3px solid #dfa165;outline-offset:2px}
.zone-items .work-item-dough .board-item span{max-width:190px;font-size:16px;line-height:1.6}.zone-actions [data-shape-zone]{background:#efe0bf;border-color:#c3a471;color:#7a643c}
@media(max-width:700px){.dough-shape-modal{padding:20px 16px}.dough-shape-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.dough-shape-option img{height:61px}.dough-shape-option span{font-size:12px}.zone-action-tabs label{min-width:140px}}
/* Optional preheating temperature with its own recipe step. */
.oven-preheat{margin:18px 0 0;padding:15px 17px;border:1px solid #dce3cf;border-radius:9px;background:#f0f3e7}.oven-preheat-toggle{display:flex;align-items:center;gap:9px;font-size:15px;line-height:1.6;cursor:pointer}.oven-preheat-toggle input{accent-color:#416a46;width:17px;height:17px;margin:0;flex-shrink:0}.oven-preheat p{margin:8px 0 0;font-size:12px;line-height:1.7;color:#8a9779}.oven-preheat .field{margin:12px 0 0}.oven-preheat .field input{max-width:180px;background:#fffdf4}
@media(max-width:700px){.oven-preheat{padding:14px}.oven-preheat-toggle{font-size:14px}.oven-preheat .field input{font-size:16px}}
.recipe-undo-bar{display:flex;justify-content:flex-end;margin:12px 0 2px}.recipe-undo-bar button{border:1px solid #d9e1cc;border-radius:7px;background:#edf2e3;color:#3f5231;padding:9px 12px;font-size:13px;line-height:1.5}.recipe-undo-bar button:hover:not(:disabled){background:#e1ebd4;border-color:#99ae83}.recipe-undo-bar button:disabled{opacity:.4;cursor:default}
.dish-name{flex:1 1 520px;min-width:0}.dish-name input{width:calc(100% - 30px);max-width:none}.dish-meta{flex-shrink:0}
@media(max-width:1200px){.dish-name{flex:1 1 100%}.dish-meta{margin-left:auto}}
@media(max-width:700px){.dish-name input{width:calc(100% - 24px);font-size:25px}.dish-meta{margin-left:0}}
.ingredient-edit-preview{display:flex;justify-content:center;margin-bottom:12px}.ingredient-edit-preview img{width:110px;height:90px;object-fit:contain}.ingredient-pick{width:100%;margin-top:12px}.item-card.used{opacity:.7;cursor:pointer}.item-card.used:hover{opacity:1;border-color:#9aae83}
#zone-prepare-fields{padding:1px 0}.zone-action-tabs{flex-wrap:wrap}.zone-action-tabs label{min-width:135px}#prep-target-hint{font-size:13px;line-height:1.8}#prep-cut-field select{background:#edf2e2;border-color:#c2d2ae}
.item-card .ingredient-size-label{font-size:11px;color:#49583c;background:#edf2df;border-radius:4px;padding:2px 6px;margin-top:4px}.ingredient-list{align-items:stretch}.ingredient-entry>.item-card{justify-content:flex-start}
/* Recipe components connect kitchen vessels, ingredients, instructions and book views. */
.recipe-section-controls{margin:16px 0 12px;padding:12px;border:1px solid #dce4d0;border-radius:9px;background:#eff3e5}.recipe-section-controls label{display:block;font-size:12px;color:#545f49;line-height:1.6}.recipe-section-controls select{width:100%;padding:9px 7px;margin-top:5px;border:1px solid #cdd9bc;border-radius:6px;background:#fffdf5;color:var(--ink);font-size:14px}.recipe-section-controls button{width:100%;margin-top:9px;padding:8px 4px;border:0;background:transparent;color:#445735;font-size:13px;text-align:left}
#recipe-steps .recipe-section-title{counter-increment:none;padding:18px 0 10px;border-bottom:1px solid #d8e1ca;font-family:var(--serif);font-size:21px;display:flex;align-items:baseline;justify-content:space-between;gap:10px;color:#3b4d31}#recipe-steps .recipe-section-title:before,#recipe-steps .recipe-section-empty:before{content:none}#recipe-steps .recipe-section-title small{font-family:var(--sans);font-size:11px;color:#636b5c;font-weight:400}#recipe-steps .recipe-section-empty{counter-increment:none;padding:15px 10px;line-height:1.8;font-size:12px;color:#636c5a;border:1px dashed #dce4cf;border-radius:7px;margin:12px 0;background:#f7f8f0}
#recipe-steps .recipe-step:before{content:attr(data-step-number)}.step-editor-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:7px}.step-editor-controls .step-edit{padding:0}.step-editor-controls select{font-size:11px;min-width:0;max-width:100%;border:1px solid #dce4ce;border-radius:5px;background:#f0f4e7;color:#525e46;padding:5px}
.section-drop-hover{outline:2px dashed #729358!important;background:#e8efda!important}
.section-presets{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:17px}.section-presets button{border:1px solid #dce4cf;background:#edf2e4;border-radius:18px;padding:7px 11px;font-size:12px;color:#485639}.section-edit-row{display:flex;align-items:center;gap:6px;margin:8px 0}.section-edit-row input{width:100%;min-width:0;border:1px solid #dae2cc;border-radius:7px;background:#f7f7ee;padding:10px;font-size:15px;color:var(--ink)}.section-edit-row button{flex:0 0 28px;width:28px;height:31px;border:1px solid #dce3cf;background:#eef2e5;border-radius:6px;padding:0;font-size:20px;color:#525e45}.section-edit-row button:disabled{opacity:.3;cursor:default}.section-delete-note{font-size:12px}
.zone-section{padding:8px;border-bottom:1px solid #bea57633}.zone-section label{display:flex;flex-wrap:wrap;align-items:center;gap:5px;font-size:10px;color:#5e533b}.zone-section select{flex:1;min-width:80px;max-width:100%;border:1px solid #c5ba9455;border-radius:5px;background:#fff1d38c;color:#796545;font-size:11px;padding:5px 2px}
.detail-ingredients .detail-ingredient-section{display:block;font-family:var(--serif);font-size:22px;color:#485739;padding-top:20px;border-bottom:1px solid #dce4cf}.detail-directions .detail-step-section{display:block;counter-increment:none;padding:25px 0 10px;border:0;font-family:var(--serif);font-size:27px;color:#48573a}.detail-directions .detail-step-section:before{content:none}.detail-directions .detail-step-item:before{content:attr(data-number)}
@media(max-width:700px){.zone-section label{font-size:11px}.zone-section select{font-size:13px;padding:6px}.step-editor-controls select{font-size:12px}.section-presets button{font-size:13px}.section-edit-row input{font-size:16px}.recipe-section-controls label{font-size:13px}}
.item-card .ingredient-section-label{max-width:100%;font-size:10px;line-height:1.5;color:#566347;overflow-wrap:anywhere;margin-top:3px}.field-help{display:block;margin-top:6px;font-size:11px;line-height:1.7;color:#606856}

.preparation-section-panel{display:grid;gap:12px;padding:20px;margin:16px 0 24px;background:#f0f3e8;border:1px solid #d9dfcd;border-radius:16px}.preparation-section-panel p{margin:0;color:#424d3d;line-height:1.5}.preparation-section-panel small{color:#424d3d;line-height:1.5}

/* Four independent cooking zones, arranged like a real hob. */
.burners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px;justify-items:center;padding:18px 0 28px}.burner{max-width:100%;min-width:0}.burner-timer{max-width:100%;line-height:1.4}.stove-controls{margin-top:10px}

.zone-actions .zone-ready-preparation{background:#2d5841;color:#fff;border-color:#2d5841;white-space:normal;font-weight:700;padding:12px}.preparation-ready-hint{display:block;font-size:14px;color:#2d5841;line-height:1.5;padding:8px 0}

.step-ingredient-quantities{border:1px solid #dce2d1;border-radius:12px;padding:16px;margin:16px 0}.step-ingredient-quantities legend{font-size:15px;color:#414b3b;padding:0 6px}.step-ingredient-quantities .field{margin-bottom:12px}

.burner-cookware-picker{border:0;padding:0;margin:16px 0 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.burner-cookware-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;border:1px solid #dce2d1;border-radius:12px;padding:16px;background:#f7f7ef;cursor:pointer}.burner-cookware-option:has(input:checked){border-color:#64875a;background:#e5edd9;box-shadow:0 0 0 1px #64875a}.burner-cookware-option input{position:absolute;left:10px;top:10px;accent-color:#2d5841}.burner-cookware-option img{height:78px;width:100%;object-fit:contain}.burner-cookware-option span{font-weight:700}

.burner-station{min-width:0;width:100%;display:flex;flex-direction:column;align-items:center;gap:18px}.burner-section-label{display:grid;gap:4px;color:#ced6c5;font-size:12px;width:100%;max-width:190px}.burner-section-label select{min-width:0;width:100%;font-size:14px;background:#454e40;color:#fff9eb;border:1px solid #78846d;border-radius:7px;padding:7px}

/* Keep the complete dish photo visible in cards and galleries. */
.recipe-card>img,.dish-photo>img,.detail-photo-frame>img,.photo-thumbnail img,.detail-thumb img{object-fit:contain;object-position:center}.recipe-card>img{display:block}

/* Cookbook covers fill their cards; full recipe photos remain uncropped. */
.recipe-card>img{object-fit:cover}

.brand{font-size:clamp(22px,2.4vw,34px)}@media(max-width:700px){.brand{font-size:21px;gap:8px}.brand-sub{font-size:9px;letter-spacing:1px}}

.header-chef-knife{display:block;width:clamp(110px,15vw,230px);height:76px;object-fit:contain;flex-shrink:1;margin:0 16px}@media(max-width:1000px){.header-chef-knife{width:105px;margin:0 8px}}@media(max-width:700px){.header-chef-knife{display:none}}

/* Brand and knife share one group; navigation stays centered on the page. */
.header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:20px}
.header-identity{display:flex;align-items:center;gap:8px;min-width:0;justify-self:start}
.header-identity .brand{flex-shrink:0;font-size:clamp(22px,2vw,32px)}
.header-identity .header-chef-knife{display:block;width:clamp(92px,11vw,165px);height:62px;object-fit:contain;margin:0;flex-shrink:1}
.header nav{justify-self:center}
.header-end{justify-self:end}
@media(max-width:1150px){.header-identity .brand-mark{display:none}.header-identity .header-chef-knife{width:92px}.header{column-gap:12px}}
@media(max-width:850px){.header{height:auto;min-height:120px;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:70px 48px;column-gap:10px}.header-identity{grid-column:1;grid-row:1}.header-end{grid-column:2;grid-row:1}.header nav{grid-column:1/-1;grid-row:2;height:48px;justify-self:center}.header-identity .brand{font-size:25px}.header-identity .header-chef-knife{width:110px;height:54px}}
@media(max-width:480px){.header-identity{gap:5px}.header-identity .brand{font-size:22px}.header-identity .header-chef-knife{width:85px}.header-identity .brand-sub{max-width:none;font-size:9px;letter-spacing:.5px}}

.library-backup-actions{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto}.library-backup-actions label{cursor:pointer}.library-toolbar{flex-wrap:wrap;gap:16px}

/* Focus the recipe editor on one component at a time. */
#recipe-steps{max-height:65vh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:8px}
.step-editor-menu{margin-top:8px}.step-editor-menu>summary{cursor:pointer;list-style:none;width:36px;text-align:center;border-radius:7px;background:#eff0e7;font-size:23px;line-height:28px;color:#586b4e}.step-editor-menu>summary::-webkit-details-marker{display:none}.step-editor-menu[open]>.step-editor-controls{display:flex;gap:8px;flex-wrap:wrap;padding:10px 0 2px}.step-editor-menu:not([open])>.step-editor-controls{display:none!important}
.recipe-section-controls label{font-size:14px}.recipe-section-controls select{font-size:16px;min-height:45px}
@media(max-width:700px){#recipe-steps{max-height:60vh}}

.appliance-dialog-intro{display:flex;align-items:center;gap:18px;margin:12px 0 22px}.appliance-dialog-intro img{width:95px;height:100px;object-fit:contain}.appliance-dialog-intro small{display:block;color:#565e4e;line-height:1.5;margin-top:8px}.appliance-processed .board-item{animation:appliance-finish .7s ease-out}.appliance-processed .board-item img{filter:drop-shadow(0 5px 4px #52653e26)}@keyframes appliance-finish{0%{transform:scale(.85) rotate(-3deg)}40%{transform:scale(1.07) rotate(3deg)}70%{transform:rotate(-2deg)}100%{transform:scale(1) rotate(0)}}@media(prefers-reduced-motion:reduce){.appliance-processed .board-item{animation:none}}

.burner-return-button{border:1px solid #9ea98c;border-radius:8px;background:#e9edde;color:#304933;padding:9px 12px;font-size:14px;font-weight:700;max-width:100%;white-space:normal}.burner-return-button:hover{background:#f7faed}

.appliance-ingredients{margin:18px 0 24px;border:1px solid #dce2d1;border-radius:12px;padding:14px;max-height:300px;overflow-y:auto}.appliance-ingredients legend{padding:0 6px;font-size:15px;color:#536d4d}.appliance-ingredient-row{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #e5e8dc}.appliance-ingredient-row:last-child{border-bottom:0}.appliance-ingredient-row>label:first-child{display:flex;align-items:center;gap:9px;flex:1;min-width:0;cursor:pointer}.appliance-ingredient-row img{width:38px;height:38px;object-fit:contain}.appliance-ingredient-row small{display:block;margin-top:4px;color:#596052;font-size:12px}.appliance-ingredient-row input[type=checkbox]{accent-color:#2d5841;flex-shrink:0}.appliance-ingredient-quantity{display:flex;gap:6px;align-items:center;font-size:13px}.appliance-ingredient-quantity input{width:80px;min-width:0;padding:8px;border:1px solid #dce2d1;border-radius:6px;background:#f6f6ee;color:#2d4636}.appliance-ingredient-quantity input:disabled{opacity:.4}@media(max-width:480px){.appliance-ingredient-row{flex-wrap:wrap}.appliance-ingredient-row>label:first-child{flex-basis:100%}.appliance-ingredient-quantity{margin-left:25px}}

/* Adaptive salad kitchen */
.dish-mode-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;padding:14px 16px;background:#f0f1e7;border:1px solid #e1e4d7;border-radius:12px}.dish-mode-bar strong{display:block;font-family:var(--serif);font-size:22px;font-weight:500;margin-top:4px}.dish-mode-bar .button{font-size:13px;padding:10px;white-space:normal}
.salad-workspace{margin-bottom:20px;padding:22px;background:linear-gradient(145deg,#fffefa,#f0f2e7);border:1px solid #dce3d0;border-radius:18px;box-shadow:0 8px 24px #3a4f2410}.salad-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.salad-heading h2{font-family:var(--serif);font-size:30px;font-weight:500;margin:5px 0}.salad-heading .text-button{font-size:12px;max-width:130px}.salad-help{font-size:14px;color:#505849;line-height:1.7;margin:10px 0 24px}.salad-builder{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(170px,1fr);gap:22px;align-items:center}.salad-builder-controls{display:flex;flex-direction:column;gap:10px;min-width:0}.salad-builder-controls>.button{width:100%;font-size:13px;padding:11px;white-space:normal}.salad-cross-section{position:relative;min-width:0;width:100%;max-width:390px;margin:20px auto;padding:0 10px 12px;filter:drop-shadow(0 14px 12px #5263441b)}.salad-form-rim{height:14px;border:2px solid #a8bcb3;border-radius:50%;background:linear-gradient(90deg,#f4faf8bb,#b9cfc455,#fff);position:relative;z-index:2;margin:0 -7px -6px}.salad-stack{border:2px solid #aec4ba;border-top:0;border-radius:0 0 25px 25px;padding:7px 5px 12px;background:linear-gradient(90deg,#fff9,transparent 15%,transparent 85%,#fff8);overflow:hidden;box-shadow:inset 5px 0 8px #fff8}.salad-form-base{height:12px;background:linear-gradient(#d0ddd7,#e4eeea);border:1px solid #b4c7bd;border-radius:0 0 50% 50%;margin:-7px 2px 0}.salad-visual-layer{position:relative;display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:53px;width:100%;border:0;border-top:2px solid #ffffff55;border-bottom:2px solid #283e2720;padding:12px;background:var(--layer-color);text-align:left;color:#273a2c;isolation:isolate;animation:salad-layer-in .3s ease-out}.salad-visual-layer.selected{outline:2px solid #315d42;outline-offset:-3px}.salad-texture{position:absolute;inset:0;z-index:-1;opacity:.22;background-image:radial-gradient(ellipse,#fff 0 2px,transparent 3px),radial-gradient(ellipse,#52612c 0 1px,transparent 3px);background-size:17px 13px,23px 17px;background-position:0 0,8px 6px}.salad-visual-label{font-size:13px;line-height:1.4;overflow-wrap:anywhere;text-shadow:0 1px #fff5}.salad-visual-ingredients{display:flex;flex-shrink:0}.salad-visual-ingredients img{width:25px;height:26px;object-fit:contain;margin-left:-5px;filter:drop-shadow(0 2px 1px #3b4a301c)}.salad-coating{position:absolute;left:0;right:0;top:0;height:7px;background:#fff4d8;box-shadow:0 1px 3px #6f623222}.salad-coating.mesh{height:12px;background:repeating-linear-gradient(35deg,transparent 0 9px,#fff8e4 10px 13px,transparent 14px 20px),repeating-linear-gradient(-35deg,transparent 0 9px,#fff8e4 10px 13px,transparent 14px 20px);box-shadow:none}.salad-form-empty{padding:55px 12px;text-align:center;font-family:var(--serif);font-size:23px;color:#5c6456;background:#eef2e6}.salad-form-empty small{font-family:var(--sans);font-size:13px;line-height:2}.salad-layer-list{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:7px}.salad-layer-row{display:flex;gap:3px;background:#f3f4eb;border:1px solid #e0e5d6;border-radius:9px;padding:4px;align-items:center}.salad-layer-row.active{border-color:#608256;background:#e4ecd7}.salad-layer-row button{background:none;border:0;padding:7px;font-size:15px}.salad-layer-row>button:first-child{display:flex;align-items:center;gap:8px;flex:1;min-width:0;text-align:left;font-size:14px;overflow-wrap:anywhere}.salad-layer-number{width:25px;height:25px;display:grid;place-items:center;background:#fff9;border-radius:50%;flex-shrink:0;font-size:12px}.salad-layer-row small{display:block;color:#5a6152;font-size:11px;margin-top:3px}.salad-current-products{display:flex;flex-wrap:wrap;gap:6px}.salad-current-products>span{padding:5px 8px;background:#eaeddf;border-radius:6px;font-size:12px;line-height:1.5}.salad-current-products button{padding:0 0 0 7px;border:0;background:none;color:#525d49;font-size:17px}.salad-finish{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #dfe5d5;margin-top:24px;padding-top:16px}.salad-finish>span{font-size:12px;color:#5a6151}.salad-finish>.button{font-size:13px;white-space:normal}.salad-bowl{position:relative;min-height:215px;display:grid;place-items:center;border-radius:50% 50% 40% 40%;background:radial-gradient(ellipse at 50% 30%,#e1eaca,#adbd9e);border:7px solid #e6eee8;box-shadow:0 9px 0 #afc1b4,0 20px 25px #4c654129,inset 0 -20px 35px #80937644;overflow:hidden}.salad-bowl-food{padding:22px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;text-align:center;font-family:var(--serif);font-size:21px;color:#4c5745}.salad-bowl-food img{width:55px;height:55px;object-fit:contain;filter:drop-shadow(0 3px 3px #3f4b2430)}.salad-bowl-glass{pointer-events:none;position:absolute;inset:0;background:linear-gradient(115deg,#fff6,transparent 35%,transparent 80%,#fff4);border-radius:inherit}#detail-salad-preview{max-width:430px;margin:20px auto 35px}@keyframes salad-layer-in{from{opacity:.4;transform:translateY(-8px)}to{opacity:1;transform:none}}@media(max-width:1100px){.salad-builder{grid-template-columns:1fr}.salad-cross-section{max-width:300px}.salad-bowl{max-width:300px;width:100%;margin:auto}.salad-workspace{padding:17px}.salad-layer-list{max-height:180px}}@media(prefers-reduced-motion:reduce){.salad-visual-layer{animation:none}}

/* Native top-layer notification stays above modal dialogs. */
#toast{inset:auto auto 25px 50%;margin:0;border:0;z-index:2147483647;width:max-content;max-width:calc(100vw - 32px);max-height:40vh;overflow-y:auto;line-height:1.6;white-space:normal;overflow-wrap:anywhere}#toast::backdrop{background:transparent;pointer-events:none}@media(max-width:700px){#toast{bottom:16px;font-size:15px;padding:13px 17px}}

.aside-prepared{margin-top:24px;border-top:1px solid #dfe4d7;padding-top:19px}.aside-prepared .section-title h2{font-family:var(--serif);font-size:25px;font-weight:500}.prepared-help{font-size:12px;line-height:1.6;color:#5a6252;margin:7px 0 13px}.prepared-items{display:flex;flex-direction:column;gap:10px;min-height:130px;border-radius:12px}.prepared-card{background:#fffdf6;border:1px solid #dce2d2;border-radius:12px;padding:9px;box-shadow:0 4px 12px #42572d08}.prepared-card.selected{border-color:#5b8050;background:#edf2e2}.prepared-pick{border:0;background:none;width:100%;display:flex;align-items:center;gap:8px;padding:0;text-align:left;cursor:grab}.prepared-pick img{width:50px;height:52px;object-fit:contain;filter:drop-shadow(0 4px 3px #5f62421a);pointer-events:none}.prepared-pick strong{display:block;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.prepared-pick small{display:block;margin-top:4px;color:#596050;font-size:12px;line-height:1.5}.prepared-return{border:0;background:#edf0e3;color:#526d46;border-radius:6px;padding:6px 9px;margin-top:8px;font-size:12px}.prepared-empty{display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;border:1px dashed #cdd5bf;border-radius:12px;padding:20px 13px;text-align:center;color:#5b6351;font-size:13px;line-height:1.7;background:#eef0e580}.prepared-empty>span{font-size:31px;color:#68715c}.work-item-park{display:block;margin:5px auto 0;border:1px solid #a9b49255;background:#f7f0dbb0;color:#484931;border-radius:6px;padding:4px 7px;font-size:11px}.work-item-park:hover{background:#fff7e2}@media(max-width:700px){.photo-panel>.aside-prepared{grid-column:1/-1}.prepared-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.prepared-empty{grid-column:1/-1}.aside-prepared{margin-top:16px;padding-top:13px}}

.zone-actions .zone-new-salad-layer{background:#2d5841;color:#fff;border-color:#2d5841;font-weight:700}.zone-actions .zone-new-salad-layer:hover{background:#3c6b4c}

/* Prepared components stay compact when layered into baking dishes. */
.compact-preparation .board-item>span{font-size:13px}.baking-work-zone .zone-items{display:flex;flex-direction:column-reverse;align-items:stretch;gap:7px;padding:12px;border:1px solid #b3bea3;border-radius:12px;background:linear-gradient(100deg,#f1f0e0,#e1e6d5);box-shadow:inset 0 0 0 4px #fff5}.baking-work-zone .work-item-entry{width:100%;max-width:none;padding:7px 28px 7px 8px;background:#fdfbf0cc;border:1px solid #d4ddc7;border-radius:9px;display:flex;flex-wrap:wrap;align-items:center;gap:5px}.baking-work-zone .board-item{display:flex;align-items:center;gap:10px;padding:3px 0;flex:1;text-align:left;background:none;border-radius:6px;min-width:0}.baking-work-zone .board-item img{width:48px;height:48px;flex-shrink:0;clip-path:none;transform:none}.baking-work-zone .board-item>span{font-size:13px;overflow-wrap:anywhere}.baking-layer-order{display:grid;place-items:center;width:22px;height:22px;border:1px solid #b7c2a8;border-radius:50%;color:#46513c;background:#f5f8ee;font-size:11px;flex-shrink:0}.baking-work-zone .work-item-park{font-size:10px;margin:0;padding:4px 6px}.baking-work-zone .mixture-contents{flex-basis:100%}.baking-work-zone .zone-empty{margin:8px;text-align:center}

.library-catalogs{margin:8px 0 26px}.book-root-catalogs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.book-catalog-card{display:flex;align-items:center;gap:12px;text-align:left;padding:18px;border:1px solid #dfe4d6;border-radius:13px;background:#fffdf6;color:#566b4e;font-size:16px}.book-catalog-card.selected{background:#2d5841;color:#fff9eb;border-color:#2d5841;box-shadow:0 5px 15px #2d584119}.book-catalog-symbol{font-size:27px;line-height:1;opacity:.8}.book-catalog-card small{display:block;font-size:12px;opacity:.65;margin-top:5px}.book-subcatalogs{display:flex;gap:7px;flex-wrap:wrap}.book-subcatalog{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:8px 13px;border:1px solid #dde3d1;background:#f1f3e9;border-radius:20px;font-size:13px;flex:1 1 auto}.book-subcatalog.selected{background:#dce7ce;border-color:#89a174;color:#2e5237;font-weight:700}.book-subcatalog small{font-size:11px;color:#5a6352}.recipe-catalog-badges{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}.recipe-catalog-badges:empty{display:none}.recipe-catalog-badges span{padding:3px 7px;background:#edf0e2;border-radius:5px;color:#525a4a;font-size:11px}.recipe-catalog-edit{border:0;background:none;color:#425339;font-size:13px;padding:0;margin:0 0 15px;text-align:left}.recipe-catalog-edit:hover{text-decoration:underline}.book-meal-choices{border:0;padding:0;margin:20px 0 24px;display:flex;gap:10px;flex-wrap:wrap}.book-meal-choices legend{margin-bottom:10px;color:#56604e;font-size:14px}.book-meal-choices label{display:flex;align-items:center;gap:8px;padding:13px 15px;border:1px solid #d7e0ca;border-radius:9px;background:#f3f5ec;flex:1;cursor:pointer}.book-meal-choices input{accent-color:#2d5841}.book-meal-choices label:has(input:checked){background:#e1ebd4;border-color:#7c9b69}@media(max-width:1000px){.book-catalog-card{padding:14px 10px;font-size:14px;gap:8px}.book-catalog-symbol{font-size:21px}}@media(max-width:700px){.book-root-catalogs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.book-catalog-card{padding:12px 9px;font-size:13px}.book-catalog-symbol{font-size:18px}.book-catalog-card small{font-size:10px}.book-subcatalog{font-size:12px;padding:7px 10px}.book-meal-choices{flex-direction:column}}

/* Oven and hob share one row beneath the worktable. */
.workspace{container-type:inline-size}.cooking-appliances{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:12px;align-items:start;margin-top:16px}.cooking-appliances>.stove,.cooking-appliances>.oven.oven-appliance{margin-top:0;min-width:0}.cooking-appliances>.oven{grid-column:1}.cooking-appliances>.stove{grid-column:2;padding:13px 10px 10px}.cooking-appliances .oven-control-panel{padding:10px 8px;gap:7px;min-height:63px}.cooking-appliances .oven-dial{width:23px;height:23px;flex-basis:23px}.cooking-appliances .oven-dial:after{left:10px;top:4px;height:7px}.cooking-appliances .oven-display{padding:6px;gap:3px 6px}.cooking-appliances #oven-temperature,.cooking-appliances #oven-duration{font-size:16px}.cooking-appliances .oven-door{padding:10px 8px 0}.cooking-appliances .oven-window{height:157px;border-width:5px}.cooking-appliances .oven-empty-label{font-size:14px;left:8%;right:8%}.cooking-appliances .oven-dish{width:110px;height:83px}.cooking-appliances .oven-bottom{padding:10px 10px 6px;gap:6px;flex-wrap:wrap}.cooking-appliances .oven.oven-appliance>.oven-caption{padding:0 10px 11px}.cooking-appliances .stove-label{font-size:10px;line-height:1.5}.cooking-appliances .stove-label strong{font-size:10px}.cooking-appliances .stove-label>span{display:none}.cooking-appliances .burners{gap:22px 6px;padding:13px 0 23px}.cooking-appliances .burner{width:100px;height:100px}.cooking-appliances .coil{width:80px;height:80px}.cooking-appliances .burner-content img{max-width:105px;max-height:95px}.cooking-appliances .burner-section-label{font-size:10px}.cooking-appliances .burner-section-label select{padding:5px;font-size:11px}.cooking-appliances .burner-return-button{padding:7px 5px;font-size:11px}.cooking-appliances .stove-controls{font-size:10px;letter-spacing:0}.cooking-appliances:has(>#stove[hidden]):has(>#oven[hidden]){display:none}
@container(max-width:410px){.cooking-appliances{grid-template-columns:minmax(0,1fr)}.cooking-appliances>.oven{grid-column:1;max-width:280px;justify-self:center}.cooking-appliances>.stove{grid-column:1;grid-row:2}}

.photo-panel>.dish-mode-bar{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:15px;margin:0 0 20px;border-radius:12px}.photo-panel>.dish-mode-bar .small-label{font-size:10px;letter-spacing:1px}.photo-panel>.dish-mode-bar strong{font-size:23px;line-height:1.35;overflow-wrap:anywhere}.photo-panel>.dish-mode-bar .button{width:100%;font-size:12px;padding:9px 12px;justify-content:center}@media(max-width:700px){.photo-panel>.dish-mode-bar{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:14px;padding:12px}.photo-panel>.dish-mode-bar .button{width:auto;max-width:140px;flex-shrink:0}.photo-panel>.dish-mode-bar strong{font-size:21px}.photo-panel .dish-photo{grid-row:3/6}}

.book-cuisine-filter{max-width:340px;margin:0 0 18px;gap:7px}.book-cuisine-filter select{width:100%}

.poultry-part-choices{border:0;padding:0;margin:18px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.poultry-part-choices legend{color:#56604e;margin-bottom:8px}.poultry-part-choices .modal-copy{grid-column:1/-1;margin:0 0 6px}.poultry-part-choices label{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid #d7e0ca;border-radius:9px;background:#f3f5ec;cursor:pointer}.poultry-part-choices input{accent-color:#2d5841}.poultry-part-choices label:has(input:checked){background:#e1ebd4;border-color:#7c9b69}@media(max-width:480px){.poultry-part-choices{grid-template-columns:1fr}}

.marinade-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;margin:0 0 18px}.marinade-toggle input{accent-color:#2d5841}

.serving-suggestions{border-top:1px solid #dfe4d6;margin-top:22px;padding-top:18px}.serving-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.serving-heading h3{font-size:19px;margin:0}.serving-heading button{padding:7px 12px;border:1px solid #d7e0ca;border-radius:8px;background:#edf0e2;color:#2d5841}.serving-suggestions p{font-size:14px;line-height:1.6;color:#56604e}.serving-side-chip{display:inline-flex;align-items:center;gap:8px;background:#edf0e2;color:#405d43;border:1px solid #dce4cf;border-radius:18px;padding:7px 11px;margin:0 6px 8px 0;font-size:14px}.serving-side-chip button{border:0;background:transparent;color:#525a4a;font-size:18px;padding:0 2px}.serving-side-options{border:0;padding:0;margin:18px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.serving-side-options label{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #d7e0ca;border-radius:9px;background:#f3f5ec;cursor:pointer}.serving-side-options input{accent-color:#2d5841}.serving-side-options label:has(input:checked){background:#e1ebd4;border-color:#7c9b69}.detail-serving-suggestions{padding:24px 0;border-top:1px solid #dfe4d6;margin-top:25px}.detail-serving-suggestions h2{margin:8px 0 16px}@media(max-width:480px){.serving-side-options{grid-template-columns:1fr}}

.pasta-type-grid{border:0;padding:0;margin:18px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pasta-type-grid legend{color:#56604e;margin-bottom:12px}.pasta-type-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:7px;border:1px solid #dce4cf;background:#f6f5e9;border-radius:12px;padding:13px 7px 5px;text-align:center;cursor:pointer;min-width:0}.pasta-type-card span{font-size:14px;line-height:1.35;padding:0 12px}.pasta-type-card img{width:100%;height:90px;object-fit:contain}.pasta-type-card input{position:absolute;right:7px;top:7px;accent-color:#2d5841}.pasta-type-card:has(input:checked){border-color:#6e925d;background:#e3ecd5;box-shadow:0 0 0 1px #6e925d}@media(max-width:480px){.pasta-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.breading-open{margin:0 0 18px}.breading-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 22px}.breading-stage{padding:14px 10px;background:#f5f2e6;border:1px solid #dfdfc9;border-radius:14px;min-width:0}.breading-stage-heading{display:flex;align-items:center;gap:7px;font-size:17px;font-weight:600;color:#3f5c40}.breading-stage-heading input{accent-color:#2d5841}.breading-stage-picture{display:block;width:100%;height:72px;object-fit:contain;margin:8px 0}.breading-stage .field{font-size:13px;margin:0 0 12px}.breading-stage select,.breading-stage input[type=number]{width:100%;min-width:0;padding:10px 7px;font-size:14px}.breading-stage:has([data-breading-toggle]:not(:checked)){opacity:.5}.breaded-item .board-item{background:radial-gradient(circle at 24% 32%,#f1c45a 0 1px,transparent 1.6px),radial-gradient(circle at 66% 74%,#c58c35 0 1px,transparent 1.7px),#f4e2b7;background-size:9px 11px,13px 12px,auto;border-color:#b18a43;box-shadow:inset 0 0 0 2px #ebc980}.breaded-item .board-item img{filter:sepia(.35) saturate(1.2) drop-shadow(0 2px 2px #b18a4340)}@media(max-width:600px){.breading-stages{grid-template-columns:1fr}.breading-stage{display:grid;grid-template-columns:70px 1fr;column-gap:12px}.breading-stage-heading{grid-column:1/-1}.breading-stage-picture{grid-column:1;grid-row:2/4;align-self:center}.breading-stage .field{grid-column:2}}

dialog.breading-modal{width:min(800px,calc(100vw - 32px));max-width:800px}.breaded-item .board-item span{font-weight:600;color:#705526}

.stuffing-bowl-grid{border:0;padding:0;margin:18px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stuffing-bowl-grid legend{color:#56604e;margin-bottom:12px}.stuffing-bowl-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px;border:1px solid #d7e0ca;border-radius:12px;background:#f3f5ec;text-align:center;cursor:pointer}.stuffing-bowl-card input{position:absolute;top:10px;right:10px;accent-color:#2d5841}.stuffing-bowl-card img{width:80px;height:65px;object-fit:contain}.stuffing-bowl-card strong{font-size:14px;line-height:1.4}.stuffing-bowl-card span{font-size:13px;line-height:1.5;color:#56604e}.stuffing-bowl-card:has(input:checked){background:#e1ebd4;border-color:#7c9b69}@media(max-width:480px){.stuffing-bowl-grid{grid-template-columns:1fr}}

.serving-component-grid{border:0;padding:0;margin:16px 0 22px;display:grid;gap:9px}.serving-component-grid legend{color:#56604e;margin-bottom:10px}.serving-component-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #dce4cf;background:#f6f5ec;border-radius:12px;cursor:pointer}.serving-component-card input{accent-color:#2d5841;flex:none}.serving-component-card img{width:50px;height:48px;object-fit:contain;flex:none}.serving-component-card strong{display:block;font-size:15px;line-height:1.45}.serving-component-card small{display:block;font-size:12px;line-height:1.5;color:#56604e}.serving-component-card:has(input:checked){background:#e1ebd4;border-color:#7c9b69}

.cuisine-picker{position:relative;font-size:15px}.cuisine-picker summary{display:flex;align-items:center;gap:10px;list-style:none;border:1px solid #d7e0ca;border-radius:9px;background:#f6f5ec;color:#3d5844;padding:12px 14px;cursor:pointer}.cuisine-picker summary::-webkit-details-marker{display:none}.cuisine-picker summary:focus-visible{outline:2px solid #709466;outline-offset:3px}.cuisine-flag{display:block;width:26px;height:20px;object-fit:contain;flex:none;border-radius:2px;box-shadow:0 0 0 1px #465e3e16}.cuisine-count{margin-left:auto;min-width:27px;padding:3px 7px;background:#e5ead9;border-radius:12px;text-align:center;font-size:12px;color:#3c4b37;font-variant-numeric:tabular-nums}.cuisine-picker-arrow{font-size:18px;line-height:1}.cuisine-picker-options{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:90;max-height:390px;overflow-y:auto;overscroll-behavior:contain;padding:6px;background:#fffdf6;border:1px solid #d7e0ca;border-radius:11px;box-shadow:0 12px 30px #29462d20}.cuisine-picker-options button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;border-radius:7px;background:transparent;padding:10px;color:#405b43;font-size:14px}.cuisine-picker-options button:hover,.cuisine-picker-options button:focus-visible{background:#f0f3e8;outline:none}.cuisine-picker-options button[aria-pressed=true]{background:#dfe9d2;color:#2d5841;font-weight:600}.book-cuisine-filter{max-width:370px}

.burner-food-label{font-size:13px;line-height:1.4;text-align:center;color:#f4e8c4;background:#242f23;padding:6px 8px;border:1px solid #6e7d5f;border-radius:7px;width:100%;overflow-wrap:anywhere;margin:5px 0 0}.burner-info-button{align-self:center;background:transparent;color:#d9dfbd;border:0;border-bottom:1px dotted #859373;padding:5px 2px;font-size:12px;margin:3px 0 5px}.burner-info-button:hover{color:#fff6da}.burner-info-intro{display:flex;align-items:center;gap:18px}.burner-info-intro>img{width:85px;height:75px;object-fit:contain}.burner-info-intro strong{font-size:18px}.burner-info-intro p{font-size:14px;color:#859378;margin:6px 0}.burner-info-foods{list-style:none;padding:0;margin:18px 0}.burner-info-foods li{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e5e8d8}.burner-info-foods li>img{width:52px;height:48px;object-fit:contain;flex:none}.burner-info-foods strong,.burner-info-foods span,.burner-info-foods small{display:block}.burner-info-foods strong{font-size:16px}.burner-info-foods span{font-size:14px;margin-top:4px;color:#718469}.burner-info-foods small{font-size:12px;line-height:1.6;margin-top:4px;color:#859378}.burner-info-actions{display:flex;flex-wrap:wrap;gap:9px}.burner-info-actions .button{white-space:normal}

.burner-station{gap:8px}.burner-food-label{margin:0}.burner-info-button{margin:0 0 3px}

.recipe-cuisine-picker .cuisine-picker-options{position:static;max-height:260px;margin-top:6px;box-shadow:none}.recipe-cuisine-picker summary>span:not(.cuisine-picker-arrow){flex:1}.recipe-cuisine-picker .cuisine-picker-arrow{margin-left:auto}

/* Reading room */
.knowledge-view{max-width:1450px;padding-bottom:70px}.knowledge-view .page-heading{margin:22px 0 35px}.knowledge-search{display:grid;gap:9px;font-size:14px;color:#515a4b;max-width:430px;margin-bottom:28px}.knowledge-search input{width:100%;padding:14px 17px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}.knowledge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.knowledge-card{overflow:hidden;padding:0;background:var(--paper);border:1px solid var(--line);border-radius:17px;text-align:left;box-shadow:0 8px 25px #2d584105;transition:box-shadow .2s,transform .2s}.knowledge-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #2d584115}.knowledge-card>img{display:block;width:100%;aspect-ratio:12/7;object-fit:contain;background:#eeeee2}.knowledge-card>div{padding:28px 30px}.knowledge-card h2{font-family:var(--serif);font-size:31px;font-weight:500;line-height:1.3;margin:12px 0}.knowledge-card p{line-height:1.8;color:#51584c;font-size:16px;margin:12px 0 25px}.article-read{display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:700;gap:10px}.article-read small{font-weight:400;color:#5a6153}.article-topbar{display:flex;justify-content:space-between;gap:12px;padding:12px 0 30px}.article-heading{max-width:850px;margin:8px auto 48px;text-align:center}.article-heading h1{font-size:clamp(32px,4vw,55px);margin:16px 0}.article-heading>p{font-size:19px;line-height:1.8;color:#525a4b}.article-layout{display:grid;grid-template-columns:240px minmax(0,800px);justify-content:center;gap:50px;align-items:start}.article-toc{position:sticky;top:24px;padding:22px 0}.article-toc>a{display:flex;gap:13px;text-decoration:none;color:#4b5444;font-size:14px;line-height:1.65;padding:13px 0;border-bottom:1px solid var(--line)}.article-toc>a:hover{color:var(--green)}.article-toc>a>span{color:#6b725f;font-variant-numeric:tabular-nums}.article-section{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:30px;margin-bottom:32px;scroll-margin-top:24px}.article-section>img{display:block;width:100%;border-radius:12px;margin-bottom:25px;aspect-ratio:12/7;object-fit:contain;background:#eeeee2}.article-section h2{font-family:var(--serif);font-size:30px;font-weight:500;line-height:1.35;margin:12px 0 20px}.article-section>p{font-size:18px;line-height:1.95;margin:18px 0;color:#425849}.article-tip{background:#f0f2e6;border-left:3px solid #93a67c;border-radius:0 9px 9px 0;padding:17px 21px;margin-top:25px}.article-tip strong{font-size:13px;color:#515c44;letter-spacing:.7px}.article-tip p{font-size:16px;line-height:1.8;margin:8px 0 0}.article-sources{padding:12px 5px 30px}.article-sources h2{font-size:17px;margin-bottom:16px}.article-sources a{display:block;color:#495642;line-height:1.7;font-size:14px;margin:9px 0}.article-editor-section{border:1px solid var(--line);border-radius:12px;padding:18px;margin:20px 0;background:#f8f8ef}.article-editor-section>.eyebrow{display:block;margin-bottom:14px}.article-editor-section img{width:100%;max-height:170px;object-fit:contain;margin:0 0 16px}.article-editor-section textarea{line-height:1.7;resize:vertical}.article-editor-section .text-button{color:#604b3e}
@media(max-width:1000px){.header nav{gap:18px}.article-layout{grid-template-columns:190px minmax(0,1fr);gap:25px}.knowledge-card>div{padding:23px}.knowledge-card h2{font-size:27px}}
@media(max-width:700px){.header{height:auto;min-height:110px;flex-wrap:wrap;justify-content:center;padding-top:12px}.header-identity{width:100%;justify-content:center}.header nav{height:48px;gap:24px;justify-content:center}.header .nav-link{height:48px}.knowledge-grid{grid-template-columns:1fr;gap:20px}.knowledge-view .page-heading{display:block;margin-top:10px}.knowledge-view .page-heading>.button{font-size:15px;padding:12px 16px;margin-top:8px}.knowledge-view .page-heading h1{max-width:none}.article-layout{display:block}.article-toc{position:static;padding:0 0 25px}.article-toc>a{padding:9px 0}.article-heading{margin-bottom:22px}.article-heading>p{font-size:17px}.article-section{padding:19px;margin-bottom:21px}.article-section h2{font-size:27px}.article-section>p{font-size:17px;line-height:1.85}.article-topbar{flex-wrap:wrap}.article-topbar .button{white-space:normal;font-size:13px;padding:11px}.article-tip{padding:14px 16px}}

.knowledge-view .page-heading>.button{max-width:none}.knowledge-card{min-width:0;overflow-wrap:anywhere}.knowledge-view h1{overflow-wrap:anywhere}@media(max-width:700px){.header{display:flex}.header-identity{flex-basis:100%}.header nav{flex-basis:100%}.knowledge-grid{grid-template-columns:minmax(0,1fr)}.knowledge-view .page-heading>.button{white-space:nowrap}}

/* Compact library cards and article illustrations. */
.knowledge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.knowledge-card>img{height:165px;aspect-ratio:auto}
.knowledge-card>div{padding:20px 22px}
.knowledge-card h2{font-size:25px;margin:10px 0}
.knowledge-card p{font-size:15px;line-height:1.7;margin:10px 0 18px}
.article-section>img{width:min(100%,420px);height:220px;aspect-ratio:auto;margin:0 auto 22px}
@media(max-width:1000px){.knowledge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.knowledge-grid{grid-template-columns:minmax(0,1fr);gap:18px}.knowledge-card>img{height:135px}.knowledge-card>div{padding:18px 20px}.knowledge-card h2{font-size:24px}.article-section>img{height:165px;margin-bottom:18px}}

/* Editorial visual identity: warm paper, forest green and citrus accents. */
:root{--bg:#f5f4ee;--paper:#fffefa;--line:#e1e4d7;--green:#28563f;--muted:#7d8978}
body{background:radial-gradient(ellipse at 0 0,#e5eadb70,transparent 45%),var(--bg)}
.header{background:#fcfbf6f5;border-bottom:1px solid #dce2d2;box-shadow:0 4px 24px #284b3610}
.brand-mark{background:linear-gradient(140deg,#466f50,#214d38);box-shadow:0 4px 10px #2b50351c}
.header nav{gap:10px}.nav-link{height:44px!important;padding:0 16px;border-radius:10px;font-size:15px;color:#50584d}.nav-link:hover{background:#e9eddf}.nav-link.active{background:#e6ecdd;color:#28563f}.nav-link.active:after{height:2px;bottom:-24px;left:16px;right:16px}.nav-link span{background:#d5dfc8}
main{padding-top:30px}
.page-heading{position:relative;isolation:isolate;overflow:hidden;min-height:205px;padding:28px 32px;border:1px solid #dfe4d5;border-radius:20px;background:linear-gradient(110deg,#fffefa 25%,#f0f2e7);box-shadow:0 6px 22px #344b2a05;align-items:flex-end;gap:20px}
.page-heading:before{content:'';position:absolute;left:0;top:30px;bottom:30px;width:4px;background:#b3bf94;border-radius:0 3px 3px 0}
.page-heading>div{position:relative;z-index:1;max-width:70%}.page-heading h1{font-size:clamp(29px,2.7vw,44px);margin:12px 0;line-height:1.25}.page-heading p{line-height:1.7;max-width:640px;color:#50594b;margin-bottom:0}.page-heading>.button{position:relative;z-index:2;max-width:none;box-shadow:0 5px 14px #28563f18}.editorial-art{position:absolute;right:10px;top:-48px;width:345px;height:270px;object-fit:contain;z-index:0;pointer-events:none;opacity:.83}.page-heading>.button{flex-shrink:0}
.button{border-radius:10px}.button.primary{background:linear-gradient(135deg,#3c684a,#244c38);box-shadow:0 4px 12px #2d584114}.button.primary:hover{box-shadow:0 7px 17px #2d58412b}.button.pale{background:#f1f2e8;border-color:#dbe2cf}
.book-catalog-card{border-radius:14px;box-shadow:0 3px 12px #304b2d04;transition:border-color .2s,background .2s,box-shadow .2s}.book-catalog-card:hover{border-color:#a5b58d;box-shadow:0 5px 15px #2e4d3310}.book-catalog-card.selected{background:linear-gradient(135deg,#3c674b,#244e3a);box-shadow:0 6px 18px #2d584120}.book-catalog-symbol{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e9eddf}.book-catalog-card.selected .book-catalog-symbol{background:#ffffff13;color:#ecedda}
.library-toolbar{padding:18px 0;border-top:1px solid #dfe4d4;border-bottom:1px solid #dfe4d4;margin:20px 0 24px}.library-toolbar input,.knowledge-search input{background:#fffefa;box-shadow:0 3px 9px #324b2c04}
.recipe-card{border-radius:16px;overflow:hidden;box-shadow:0 5px 20px #2d483207;transition:transform .2s,box-shadow .2s;border-color:#dfe4d5}.recipe-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #2d483214}.recipe-card-body{padding:23px}.recipe-card h2{font-size:29px;line-height:1.3}.recipe-card>img{background:#e9ecdf}.recipe-catalog-badges>span{background:#eff1e6;border-radius:6px;padding:4px 8px}
.knowledge-card{border-radius:15px;box-shadow:0 5px 18px #2d483208}.knowledge-card>img{border-bottom:1px solid #dde3d0}.knowledge-card .eyebrow{color:#575f42}.article-read{padding-top:14px;border-top:1px solid #e5e8db}.article-heading{padding:22px 0;border-bottom:1px solid #dfe4d5}.article-section{box-shadow:0 4px 18px #2d483205}.article-section>.eyebrow{display:inline-block;background:#eef1e3;padding:6px 10px;border-radius:6px}
.dish-bar{box-shadow:0 4px 16px #2d483207;border-radius:14px}.ingredient-list{padding:12px;background:#edf0e58a;border:1px solid #e0e6d5;border-radius:14px}.item-card{border-radius:12px;background:#fffefa;box-shadow:0 3px 9px #2b453009}.item-card:hover{box-shadow:0 6px 15px #2b453018}.tools-panel{background:#eef1e6;border:1px solid #dfe5d2;border-radius:13px;padding:12px 7px}.tool{border-radius:10px}.recipe-panel{border:1px solid #dde3d2;border-radius:16px;box-shadow:0 6px 22px #2e4c2b09}.recipe-heading{padding-bottom:18px;border-bottom:1px solid #e2e6d8}.recipe-heading h2{font-family:var(--serif);font-size:27px;font-weight:500;margin-top:8px}.aside-prepared .section-title{border-bottom:1px solid #e0e5d4;padding-bottom:12px}.prepared-items>div{box-shadow:0 4px 12px #2d483206}.dish-mode-bar{background:linear-gradient(120deg,#e8eddb,#f3f3e9);border-color:#d9e1ca}.dish-photo{border-radius:16px;box-shadow:0 5px 18px #304a2d0d}
#modal{border:1px solid #dce3cf;box-shadow:0 24px 100px #1f392c38}#modal::backdrop{background:#203a2c57;backdrop-filter:blur(5px)}.modal-heading{border-bottom:1px solid #e4e8da;padding-bottom:18px;margin-bottom:22px}
@media(min-width:1550px){.editorial-art{right:40px;width:395px;height:290px}.page-heading>div{max-width:72%}}
@media(max-width:1100px){.editorial-art{right:-35px;width:280px;opacity:.55}.page-heading{padding:25px;min-height:190px}.page-heading>div{max-width:72%}.page-heading h1{font-size:32px}.nav-link{padding:0 12px}}
@media(max-width:850px){.nav-link.active:after{bottom:-3px}}
@media(max-width:700px){main{padding-top:20px}.header nav{gap:5px}.nav-link{font-size:14px;padding:0 13px}.page-heading{display:block;padding:23px 20px;min-height:0;border-radius:15px}.page-heading>div{max-width:100%}.page-heading h1{font-size:29px;padding-right:12px}.page-heading p{font-size:14px}.editorial-art{right:-40px;top:-52px;width:180px;height:150px;opacity:.16}.page-heading>.button{margin-top:20px;font-size:14px;padding:11px 14px}.page-heading>.button span{font-size:20px}.knowledge-view .page-heading{padding:23px 20px}.knowledge-view .page-heading>.button{margin-top:18px}.recipe-card-body{padding:20px}.recipe-card h2{font-size:27px}.tools-panel{padding:10px 4px}.recipe-heading h2{font-size:25px}.library-toolbar{padding:15px 0}.article-heading{padding-top:6px}}
@media(prefers-reduced-motion:reduce){.recipe-card,.knowledge-card,.button,.book-catalog-card{transition:none}.recipe-card:hover,.knowledge-card:hover{transform:none}}


.knowledge-card>.article-photo{object-fit:cover;object-position:center}.article-section>.article-photo{object-fit:contain}

/* Natural photographic still life blended into the heading. */
.page-heading>.editorial-art{right:0;top:8px;width:365px;height:calc(100% - 16px);object-fit:contain;object-position:right center;opacity:.9;mask-image:linear-gradient(to right,transparent,#000 28%);-webkit-mask-image:linear-gradient(to right,transparent,#000 28%)}
@media(min-width:1550px){.page-heading>.editorial-art{width:410px}}
@media(max-width:1100px){.page-heading>.editorial-art{width:280px;opacity:.6}}
@media(max-width:700px){.page-heading>.editorial-art{width:180px;opacity:.15}}

.default-dish-photo .photo-caption{left:12px;right:12px;padding:6px 10px;background:#fffefaeb;color:#43583c;border-radius:7px;backdrop-filter:blur(4px)}

/* Knife and plate brand emblem. */
.header-identity .brand-mark{display:grid;place-items:center;flex:none;width:46px;height:46px;padding:0;background:none;border-radius:13px;box-shadow:0 4px 12px #284f3417;overflow:hidden}.brand-mark>img{display:block;width:100%;height:100%}
@media(max-width:1150px){.header-identity .brand-mark{width:36px;height:36px;border-radius:10px}.header-identity .header-chef-knife{width:75px}}
@media(max-width:480px){.header-identity .brand-mark{width:33px;height:33px}.header-identity .header-chef-knife{width:57px}.header-identity .brand{font-size:20px;gap:7px}}

.header-identity .brand-mark{width:53px;height:53px;border-radius:0;box-shadow:none;overflow:visible}.header-identity .brand{font-style:italic}.header-identity .brand-sub{font-style:normal}@media(max-width:1150px){.header-identity .brand-mark{width:40px;height:40px}}@media(max-width:480px){.header-identity .brand-mark{width:36px;height:36px}}

.dish-meta{flex-wrap:wrap;justify-content:flex-end}.dish-meta #new-button{flex-shrink:0}@media(max-width:700px){.dish-meta #save-button,.dish-meta #new-button{flex:1;white-space:normal}}

.book-root-catalogs{grid-template-columns:repeat(5,minmax(0,1fr)) auto}.library-create-dish{align-self:center;min-height:48px}@media(max-width:1100px){.book-root-catalogs{grid-template-columns:repeat(3,minmax(0,1fr))}.library-create-dish{align-self:stretch}}@media(max-width:600px){.book-root-catalogs{grid-template-columns:repeat(2,minmax(0,1fr))}.library-create-dish{white-space:normal}}

.knowledge-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.knowledge-toolbar .knowledge-search{flex:1;margin-bottom:0}.knowledge-toolbar>.button{flex-shrink:0}@media(max-width:600px){.knowledge-toolbar{flex-wrap:wrap;gap:14px}.knowledge-toolbar .knowledge-search{flex-basis:100%;max-width:none}}

/* Clean contemporary headings above page titles. */
.page-heading .eyebrow{font-family:"Segoe UI Variable","Segoe UI",var(--sans);font-size:13px;font-weight:600;letter-spacing:.65px;line-height:1.6;color:#4c5546}
@media(max-width:700px){.page-heading .eyebrow{font-size:12px;letter-spacing:.45px}}

/* One font family throughout the entire application. */
:root{--sans:'Playfair Display',Georgia,serif;--serif:'Playfair Display',Georgia,serif}
*,*::before,*::after{font-family:'Playfair Display',Georgia,serif!important}

/* Upright display headings across all pages. */
h1,h2,h3,h4,h5,h6,h1 *,h2 *,h3 *,h4 *,h5 *,h6 *, .header-identity .brand{font-style:normal!important}

/* Uniform dark text for highlighted words in page headings. */
h1 em,h1 strong,h2 em,h3 em{color:inherit!important}

/* Larger product previews with the full image kept visible. */
.illustration-choice img{width:96px;max-width:100%;height:82px;object-fit:contain}
.pasta-type-card img{height:106px;object-fit:contain}
@media(max-width:600px){.illustration-choice img{width:82px;height:72px}.pasta-type-card img{height:98px}}

/* Photo cards for poultry cuts and minced meat. */
.poultry-part-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.poultry-part-choices label{position:relative;flex-direction:column;gap:6px;padding:14px 8px 12px;text-align:center;font-size:14px;line-height:1.4}.poultry-part-choices label>input{position:absolute;right:8px;top:8px;margin:0}.poultry-part-choices img{display:block;width:100%;height:88px;object-fit:contain;pointer-events:none}.poultry-part-choices label>span{padding:0 4px}.poultry-part-preview{display:flex;justify-content:center;padding:8px 0 16px}.poultry-part-preview img{width:130px;height:100px;object-fit:contain}.mince-type-choices{border:0;padding:0;margin:16px 0 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mince-type-choices legend{color:#56604e;margin-bottom:10px}.mince-type-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;border:1px solid #d7e0ca;border-radius:11px;background:#f3f5ec;text-align:center;cursor:pointer;font-size:14px}.mince-type-card input{position:absolute;right:8px;top:8px;accent-color:#2d5841}.mince-type-card img{display:block;width:100%;height:88px;object-fit:contain}.mince-type-card:has(input:checked){background:#e1ebd4;border-color:#7c9b69}@media(max-width:480px){.poultry-part-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.poultry-part-choices img{height:80px}}

/* Picture choices for fish cuts and caviar varieties. */
.seafood-variant-choices{border:0;padding:0;margin:16px 0 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-inline-size:0}.seafood-variant-choices legend{color:#56604e;margin-bottom:10px}.seafood-variant-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:15px 10px 12px;border:1px solid #d7e0ca;border-radius:11px;background:#f3f5ec;text-align:center;cursor:pointer;font-size:14px;line-height:1.45}.seafood-variant-card input{position:absolute;right:8px;top:8px;accent-color:#2d5841}.seafood-variant-card img{display:block;width:100%;height:96px;object-fit:contain;pointer-events:none}.seafood-variant-card:has(input:checked){background:#e1ebd4;border-color:#7c9b69}

/* Illustrated vinegar variants, with editable strength retained. */
.vinegar-type-choices{border:0;padding:0;margin:16px 0 24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-inline-size:0}.vinegar-type-choices legend{color:#56604e;margin-bottom:10px}.vinegar-type-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:15px 8px 12px;border:1px solid #d7e0ca;border-radius:11px;background:#f3f5ec;text-align:center;cursor:pointer;font-size:14px;line-height:1.45}.vinegar-type-card input{position:absolute;right:8px;top:8px;accent-color:#2d5841}.vinegar-type-card img{display:block;width:100%;height:96px;object-fit:contain;pointer-events:none}.vinegar-type-card:has(input:checked){background:#e1ebd4;border-color:#7c9b69}@media(max-width:480px){.vinegar-type-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Illustrated cheese varieties in a compact scrollable picker. */
.cheese-type-choices{border:0;padding:0;margin:16px 0 24px;min-inline-size:0}.cheese-type-choices legend{color:#56604e;margin-bottom:8px}.cheese-type-choices>.field-help{margin:0 0 12px}.cheese-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:430px;overflow-y:auto;overscroll-behavior:contain;padding:2px 5px 2px 2px;scrollbar-width:thin;scrollbar-color:#acba93 #eef1e4}.cheese-type-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;padding:15px 8px 12px;border:1px solid #d7e0ca;border-radius:11px;background:#f3f5ec;text-align:center;cursor:pointer;font-size:14px;line-height:1.4;min-width:0}.cheese-type-card input{position:absolute;right:8px;top:8px;accent-color:#2d5841}.cheese-type-card img{display:block;width:100%;height:90px;object-fit:contain;pointer-events:none}.cheese-type-card:has(input:checked){background:#e1ebd4;border-color:#7c9b69}@media(max-width:480px){.cheese-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:390px}}

/* A natural oak work surface with quiet, readable controls. */
.board{background:#dfc49b url('assets/cutting-board-oak.webp') center/cover;border:1px solid #b99a72;border-radius:22px;box-shadow:0 5px 0 #b79870,0 7px 0 #a78a66,0 16px 28px #62482d21,inset 0 1px 2px #fff9}
.board-grain{display:none}
.board:after{inset:9px;border:1px solid #9c794735;border-radius:15px;box-shadow:0 1px 0 #fff5,inset 0 1px 2px #88653910}
#board-items.board-items{padding:20px;gap:14px;min-height:300px}
.board .work-zone{border:1px solid #876b4033;border-radius:13px;background:#fffaf01a}
.board .work-zone.active-zone{border:1px solid #617a50;box-shadow:0 0 0 3px #f9f7e94d,inset 0 1px 0 #fff5;background:#fffaf026}
.board .work-zone-heading{padding:13px 14px;border-bottom:1px solid #8c724026;background:#fff8e929}
.board .zone-select{color:#4d432e;font-size:14px}
.board .zone-select small{color:#72654d}
.board .zone-section{padding:9px 14px;border-color:#8c724020;background:#fff8e91a}
.board .zone-section label{color:#6e624c;font-size:11px;gap:10px}
.board .zone-section select{background:#fffaf0b3;border:1px solid #ad987344;border-radius:7px;color:#514a38;padding:6px 9px}
.board .zone-empty{color:#716149;line-height:1.9;padding:24px 12px;font-size:13px;text-shadow:0 1px #fff7}
.board .zone-items .board-item{background:#fff9ea70;border-radius:12px}
@media(max-width:700px){#board-items.board-items{padding:14px;gap:12px}.board{border-radius:18px}.board .work-zone-heading{padding:11px}.board .zone-section{padding:8px 11px}}

.board [data-work-zone="board"]>.zone-items{min-height:220px;align-content:center}

.board [data-work-zone="board"]>.zone-items{justify-content:center;align-items:center}.board [data-work-zone="board"]>.zone-items>.zone-empty{width:100%;margin:auto;text-align:center;font-size:clamp(20px,2vw,26px);line-height:1.5;padding:24px 12px;color:#67563e}

.zone-actions .zone-bake-action{grid-column:1/-1;background:#2d5841;color:#fff;border-color:#2d5841;font-weight:700;padding:12px}.zone-actions .zone-bake-action:hover{background:#3c6b4c}

.knowledge-sections{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}.dish-history-heading{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 24px}.dish-history-heading h2{font-size:25px;flex:1}.recipe-card-buttons{flex-wrap:wrap}.recipe-card-buttons .recipe-history{flex:0 0 auto;padding-inline:14px}

.article-heading>.article-photo{display:block;width:100%;max-width:520px;height:250px;object-fit:cover;border-radius:14px;margin:24px 0 8px}@media(max-width:700px){.article-heading>.article-photo{height:200px}}

.recipe-card-buttons{display:flex;flex-wrap:nowrap;gap:6px;align-items:stretch}.recipe-card-buttons>.button{min-width:0;font-size:13px;padding:11px 8px;gap:5px}.recipe-card-buttons>[data-open-recipe]{flex:1 1 auto}.recipe-card-buttons>.recipe-history{flex:0 0 auto;padding:11px 9px}.recipe-card-buttons>.delete-recipe{padding:4px;flex:0 0 18px}

.article-section>.article-photo.article-diagram{width:100%;max-width:100%;height:auto;max-height:none;object-fit:contain;border-radius:12px;background:#f7f5eb}

/* Larger, readable ingredient quantities in all quantity dialogs. */
#modal input:is([name="amount"],[name="extra-amount"],[name="transfer-amount"],[name="spice-use-amount"],[name="coating-amount"],[name="salad-dressing-amount"],[name="stage-sauce-amount"],[name^="amount-"],[name^="appliance-add-amount-"],[name^="breading-amount-"]){font-size:26px;font-weight:600;line-height:1.25;min-height:56px;padding:10px 14px;font-variant-numeric:lining-nums tabular-nums}

.knowledge-card{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}.knowledge-card>img{flex-shrink:0;margin:0}.knowledge-card>div{flex:1}

/* Compact editorial opening: text and image share the first screen. */
.knowledge-article{max-width:1320px;margin:0 auto}
.article-topbar{max-width:1320px;margin:0 auto;padding:4px 0 18px}
.article-heading.article-editorial-heading{max-width:none;margin:0 0 28px;padding:28px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;align-items:center;text-align:left;border:1px solid #dfe4d5;border-radius:20px;background:#fffefa;box-shadow:0 8px 26px #263b3207}
.article-editorial-heading .article-heading-copy{min-width:0}
.article-editorial-heading h1{font-size:clamp(30px,3vw,46px);line-height:1.2;margin:13px 0 16px}
.article-heading-copy>p{font-size:17px;line-height:1.75;color:#4b5546;margin:0;max-width:650px}
.article-heading.article-editorial-heading>img{width:100%;max-width:none;height:290px;max-height:none;object-fit:cover;border-radius:13px;margin:0;display:block}
.article-heading.article-editorial-heading>img.article-diagram{object-fit:contain;background:#f7f4e9}
.article-heading.article-editorial-heading:not(:has(>img)){grid-template-columns:1fr}
.article-layout{grid-template-columns:220px minmax(0,1fr);gap:30px;justify-content:stretch}
.article-toc{padding:16px 18px;background:#eef0e6;border:1px solid #dfe4d5;border-radius:13px}
.article-section{margin-bottom:22px}
@media(max-width:800px){.article-heading.article-editorial-heading{padding:20px;gap:20px;grid-template-columns:1fr}.article-heading.article-editorial-heading>img{height:230px}.article-editorial-heading h1{font-size:32px}.article-layout{display:block}.article-toc{margin-bottom:22px}.article-heading-copy>p{font-size:16px}}

.article-heading.article-editorial-heading{padding:20px 24px;gap:26px;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);margin-bottom:22px;border-radius:17px}
.article-heading.article-editorial-heading>img{height:200px;border-radius:11px}
.article-editorial-heading h1{font-size:clamp(27px,2.5vw,38px);margin:10px 0 12px}
.article-heading-copy>p{font-size:16px;line-height:1.65}
@media(max-width:800px){.article-heading.article-editorial-heading{padding:18px;gap:16px;grid-template-columns:1fr}.article-heading.article-editorial-heading>img{height:170px}.article-editorial-heading h1{font-size:28px}}

.article-section>.article-photo.article-diagram{width:auto;max-width:100%;height:auto;max-height:420px;object-fit:contain;margin:0 auto 22px;display:block}
@media(max-width:700px){.article-section>.article-photo.article-diagram{max-height:320px}}

.header>.header-end{display:flex;justify-self:end;min-width:0;width:min(100%,310px);grid-column:3;grid-row:1}
.daily-tip{display:flex;flex-direction:column;gap:5px;width:100%;padding:10px 13px;text-align:left;background:#eef1e6;border:1px solid #dfe5d4;border-radius:11px;line-height:1.45}
.daily-tip:hover{background:#e5ebdb;border-color:#9aae88}
.daily-tip-label{font-size:11px;font-weight:700;letter-spacing:.6px;color:#36583d}
#daily-tip-text{font-size:12px;color:#35452f;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:1100px) and (min-width:701px){.header>.header-end{grid-column:2;grid-row:1;width:270px}}
@media(max-width:700px){.header>.header-end{width:100%;max-width:520px;flex-basis:100%;padding:0 0 10px;margin:auto}.daily-tip{padding:8px 12px;gap:3px}#daily-tip-text{-webkit-line-clamp:2;font-size:12px}}

.daily-tip{cursor:default}.daily-tip:hover{background:#eef1e6;border-color:#dfe5d4}

/* Daily advice is part of the header typography, without a card frame. */
.header>.header-end{width:min(100%,330px)}
.header .daily-tip,.header .daily-tip:hover{position:relative;background:transparent;border:0;border-radius:0;box-shadow:none;padding:2px 0 2px 17px;gap:6px;cursor:default}
.daily-tip:before{content:'';position:absolute;left:0;top:5px;bottom:5px;width:2px;border-radius:2px;background:#a7b596}
.header .daily-tip-label{font-size:10px;line-height:1.3;letter-spacing:1.2px;text-transform:uppercase;color:#58684d;font-weight:600}
.header #daily-tip-text{font-size:13px;line-height:1.55;color:#34432f;font-weight:400;-webkit-line-clamp:3}
@media(max-width:1100px) and (min-width:701px){.header>.header-end{width:285px}}
@media(max-width:700px){.header>.header-end{width:100%;padding:0 6px 13px}.header .daily-tip{padding-left:13px;gap:4px}.header #daily-tip-text{font-size:12px;-webkit-line-clamp:3}}

.cooking-subitems{list-style:none;counter-reset:cooking-addition;margin:10px 0 16px;padding:0;display:flex;flex-direction:column;gap:8px}
.cooking-subitems>li{position:relative;padding:7px 9px 7px 30px;background:#f0f2e8;border-radius:7px;font-size:15px;line-height:1.6;counter-increment:cooking-addition}
.cooking-subitems>li:before{content:counter(cooking-addition) ")";position:absolute;left:9px;top:7px;color:#42583b;font-weight:600}
.recipe-step>p{white-space:pre-line}

.cooking-subitems{counter-reset:cooking-addition;margin:6px 0 10px;gap:3px}
.cooking-subitems>li{display:block;position:relative;counter-increment:cooking-addition;padding:3px 7px 3px 25px;border:0;border-radius:4px;font-size:13px;line-height:1.5;background:#f0f2e866;animation:none}
.cooking-subitems>li:before{content:counter(cooking-addition) ".";position:absolute;left:7px;top:3px;min-width:0;font-size:13px;line-height:1.5;color:#42583b;font-weight:500}

.cooking-subitems>li{padding-right:26px}
.cooking-subitem-remove{position:absolute;right:3px;top:2px;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:transparent;color:#7a826e;font-size:17px;line-height:1;display:grid;place-items:center;cursor:pointer}
.cooking-subitem-remove:hover{background:#e5e8dc;color:#923f31}

.burner-lid-control{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:18px;background:#f0f2e8;border-radius:10px}.burner-lid-control .modal-copy{margin:0}.burner-lid-control .button{flex-shrink:0}

.finish-dish-button{width:100%;justify-content:center;margin-top:22px;min-height:48px}

.header>.header-end{width:min(100%,440px);align-items:center;gap:22px}
.site-recipe-total{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex-shrink:0;min-width:94px;padding:4px 0}
.site-recipe-total strong{font-size:44px;line-height:1;font-weight:500;color:#263b32;font-variant-numeric:tabular-nums;letter-spacing:-1px}
.site-recipe-total span{font-size:11px;line-height:1.4;color:#515a4c;white-space:nowrap}
.header-end .daily-tip{min-width:0;flex:1}
@media(max-width:1100px) and (min-width:701px){.header>.header-end{width:350px;gap:14px}.site-recipe-total strong{font-size:36px}.site-recipe-total{min-width:82px}}
@media(max-width:700px){.header>.header-end{width:100%;gap:18px}.site-recipe-total strong{font-size:36px}.site-recipe-total{min-width:82px}}

#recipe-steps .cooking-batch-note,.detail-directions .cooking-batch-note{font-size:13px;line-height:1.55;margin:8px 0 12px;padding-left:9px;border-left:2px solid #a7b596;color:#34432f}

.rest-dish-button{width:100%;justify-content:center;margin-top:18px;min-height:46px}.rest-dish-button+.finish-dish-button{margin-top:8px}

.restart-dish-button{width:100%;justify-content:center;margin-top:14px;min-height:44px;font-size:14px}

.layer-source-picker fieldset{border:0;padding:0;margin:18px 0}.layer-source-picker legend{font-size:15px;font-weight:600;margin-bottom:10px}.layer-source-row{display:flex;align-items:center;gap:10px;background:#f2f4eb;border-radius:9px;padding:9px;margin-bottom:7px}.layer-source-row>label{display:flex;align-items:center;gap:9px;flex:1;min-width:0;cursor:pointer}.layer-source-row img{width:44px;height:42px;object-fit:contain}.layer-source-row small{display:block;font-size:12px;margin-top:4px;color:#515a4c}.layer-source-row>input{width:85px;font-size:20px;padding:7px;min-width:0}.layer-source-all{font-size:12px;max-width:80px}.layer-source-row:has(input:checked){background:#e3ecd7}

.article-management{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.article-management .article-delete{color:#8b4336;background:transparent;border-color:#dfc9bf}.article-management .article-delete:hover{background:#f4e9e3}@media(max-width:600px){.article-topbar{gap:10px;flex-wrap:wrap}.article-management{gap:7px}}

/* Culinary school and technological card builder */
.school-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0}.school-heading h2{font-size:34px;margin:8px 0}.school-heading p{margin:8px 0;color:#4c574a}.school-lesson{padding:18px 22px;background:#edf1e3;border:1px solid #dce3cf;border-radius:14px;margin-bottom:22px}.school-lesson summary{font-size:19px;font-weight:600;cursor:pointer}.school-lesson p{font-size:15px;line-height:1.7;color:#3c4938}.school-lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.school-lesson h3{font-size:19px}.school-saved{background:#fffefa;border:1px solid #dfe4d5;border-radius:14px;padding:16px 20px;margin-bottom:18px}.school-saved-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.school-saved-heading h3{margin:0 0 12px;font-size:21px}.school-saved-heading h3 span{font-size:14px;background:#edf1e3;padding:3px 8px;border-radius:7px}.school-saved-list{display:flex;gap:9px;flex-wrap:wrap}.school-saved-list>div{display:flex;align-items:center;border:1px solid #dde4d1;border-radius:9px;background:#f4f5ef;max-width:330px}.school-saved-list button{border:0;background:transparent;padding:9px 12px;text-align:left}.school-saved-list small{display:block;margin-top:4px;font-size:12px;color:#52604c}.school-import{display:flex;align-items:end;gap:14px;max-width:800px;margin:22px 0}.school-import .field{flex:1;margin:0}.school-import .button{margin-bottom:0;flex-shrink:0}.school-builder{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start}.school-editor{background:#fffefa;border:1px solid #dce3cf;border-radius:16px;padding:22px;min-width:0}.school-step-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:24px}.school-step-tabs button{padding:10px 5px;font-size:13px;border:1px solid #dce3cf;border-radius:8px;background:#f1f3e9}.school-step-tabs button.active{background:#2d5841;color:#fff}.school-editor .field input,.school-editor .field textarea,.school-import select{font-family:var(--serif);font-size:16px}.school-editor .field{margin-bottom:16px}.school-help{font-size:14px;line-height:1.65;color:#4d5946}.school-table-scroll{overflow-x:auto}.school-edit-table{border-collapse:collapse;width:100%;min-width:520px;font-size:13px;margin-bottom:14px}.school-edit-table th{text-align:left;padding:7px 5px;background:#edf1e3;font-size:12px}.school-edit-table td{padding:7px 4px;border-bottom:1px solid #e1e5d9;vertical-align:top}.school-edit-table td:first-child{width:43%}.school-edit-table input{width:100%;min-width:0;padding:9px 6px;font-size:17px;border:1px solid #d8dfce;border-radius:6px;background:#f9f9f2}.school-edit-table .school-row-note{font-size:12px;margin-top:5px}.school-edit-table td>button{border:0;border-radius:50%;background:#f1eee4;width:25px;height:25px;font-size:19px}.school-total{font-size:14px;line-height:1.6;padding:13px;background:#eef2e4;border-radius:9px;margin:18px 0}.school-editor-actions{display:flex;gap:8px;flex-wrap:wrap}.school-editor-actions .button{padding:11px 15px;font-size:14px}.school-status{background:#edf1e3;border-radius:10px;padding:15px;margin-top:16px;font-size:14px;line-height:1.6}.school-status ul,.school-check-list{padding-left:20px}.school-check-list{font-size:14px;line-height:1.7;color:#754936}.school-preview-wrap{min-width:0}.school-preview-wrap>.eyebrow{display:block;margin:0 0 12px}.school-paper{background:#fffefa;padding:25px;border:1px solid #dee2d5;border-radius:10px;box-shadow:0 6px 20px #263b3209;color:#26362c}.school-paper-kicker{text-transform:uppercase;letter-spacing:1px;font-size:10px;text-align:center;color:#53634a}.school-paper h2{text-align:center;font-size:23px;margin:14px 0 8px}.school-paper .school-paper-title{text-align:center;margin:8px 0 18px;font-size:21px}.school-paper h3{font-size:17px;margin:18px 0 8px}.school-paper p{font-size:13px;line-height:1.65;overflow-wrap:anywhere}.school-paper table{border-collapse:collapse;width:100%;min-width:390px;font-size:10px}.school-paper th,.school-paper td{border:1px solid #d2d9c8;padding:6px;text-align:left;vertical-align:top;overflow-wrap:anywhere}.school-paper th{background:#f0f2e8}.school-paper td small{display:block;font-size:9px;margin-top:5px;color:#58634f}.school-paper footer{font-size:11px;line-height:1.6;border-top:1px solid #dde3d2;padding-top:14px;margin-top:22px;color:#53604b}.school-print-frame{position:fixed;width:1px;height:1px;bottom:0;right:0;border:0;opacity:0;pointer-events:none}
@media(max-width:1100px){.school-builder{grid-template-columns:1fr}.school-preview-wrap{max-width:850px;width:100%}.school-paper{padding:24px}.school-paper table{font-size:12px}}
@media(max-width:650px){.school-heading{align-items:start;flex-direction:column}.school-heading h2{font-size:28px}.school-lesson-grid{grid-template-columns:1fr;gap:0}.school-saved-heading,.school-import{align-items:stretch;flex-direction:column}.school-editor{padding:15px}.school-step-tabs{grid-template-columns:repeat(2,1fr)}.school-paper{padding:15px}.school-editor .field-row{display:block}.school-editor-actions .button{flex:1}.school-lesson{padding:15px}.school-paper table{font-size:10px}}

/* Culinary school: practice and illustrated food safety. */
.school-module-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 32px;padding-bottom:20px;border-bottom:1px solid #dce2d1}.school-module-tabs .button{font-size:16px;padding:11px 18px}.learn-intro{max-width:850px;margin:22px 0 26px}.learn-intro h2{font-size:38px;margin:12px 0}.learn-intro p,.learn-panel p,.learn-regulation p,.learn-storage-map p{font-size:18px;line-height:1.75;color:#354539}.learn-task-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.learn-task-tabs .button{font-size:15px}.learn-panel{background:#fffefa;border:1px solid #dce2d1;border-radius:16px;padding:26px;margin:20px 0;min-width:0}.learn-panel h3,.learn-regulation h3,.learn-storage-map h3{font-size:25px;margin:0 0 14px}.learn-order-list{list-style:none;padding:0;margin:24px 0}.learn-order-list>li{display:flex;align-items:center;gap:16px;background:#f2f4e9;border-radius:10px;padding:12px 16px;margin:9px 0}.learn-order-list p{flex:1;margin:0;font-size:18px}.learn-order-number{font-size:22px;color:#48633e;min-width:26px}.learn-order-list li>div{display:flex;gap:5px}.learn-order-list button{border:1px solid #ccd5bf;border-radius:8px;background:#fffefa;width:38px;height:38px;font-size:24px;color:#274a36}.learn-order-list button:disabled{opacity:.3}.learn-actions{display:flex;gap:10px;flex-wrap:wrap}.learn-feedback{padding:16px 20px;border-radius:10px;margin-top:18px;line-height:1.7;font-size:17px}.learn-feedback p{margin:6px 0;font-size:17px}.learn-feedback.success{background:#eaf2df;color:#29492e}.learn-feedback.needs-work{background:#faf0e3;color:#6c442c}.learn-feedback ul{margin:8px 0;padding-left:20px}.learn-regulation{padding:24px 28px;border-left:4px solid #849b67;background:#ebefdf;border-radius:0 14px 14px 0;margin-bottom:25px}.learn-regulation p{font-size:17px;margin:9px 0}.learn-storage-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:25px 0}.learn-storage-map>div{border:1px solid #d9e1cc;background:#f0f3e7;border-radius:14px;padding:22px}.learn-storage-map span{font-size:11px;letter-spacing:1px;color:#466039}.learn-storage-map h3{font-size:22px;margin-top:12px}.learn-storage-map p{font-size:16px;margin-bottom:0}.learn-safety-lessons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.learn-safety-lesson{margin:0;height:100%;box-sizing:border-box}.learn-safety-lesson:first-child{grid-column:1/-1}.learn-safety-lesson figure{margin:0 0 24px}.learn-safety-lesson img{display:block;width:100%;max-height:290px;object-fit:contain;background:#eeeee4;border-radius:12px}.learn-safety-lesson:first-child figure{float:right;width:46%;margin:0 0 18px 26px}.learn-safety-lesson figcaption{font-size:13px;color:#495942;line-height:1.6;margin-top:9px}.learn-safety-lesson h3{font-size:26px}.learn-safety-lesson p{font-size:17px}.learn-compare{display:grid;gap:12px;margin-top:18px;clear:both}.learn-compare>div{padding:15px 18px;border-radius:10px;background:#eef3e4;border-left:3px solid #7f9b68}.learn-compare>div+div{background:#f8eee2;border-left-color:#ba8861}.learn-compare strong{font-size:16px}.learn-compare p{margin:6px 0 0;font-size:16px}.learn-quiz fieldset{border:1px solid #dce2d1;border-radius:12px;padding:18px;margin:24px 0;min-width:0}.learn-quiz legend{font-size:20px;padding:0 8px;line-height:1.55}.learn-quiz fieldset>button{display:block;width:100%;text-align:left;background:#f5f6ed;border:1px solid #dce2d1;border-radius:9px;padding:13px 16px;font-size:17px;line-height:1.6;color:#304334;margin:9px 0}.learn-quiz button:not(:disabled):hover{background:#e8eddb;border-color:#819c68}.learn-quiz button.answer-correct{background:#e4eed8;border-color:#719353;color:#264a28;opacity:1}.learn-quiz button.answer-wrong{background:#f8e6dc;border-color:#bf8b6e;color:#75452d;opacity:1}.learn-quiz button:disabled{opacity:.7}.learn-term-search{max-width:650px}.learn-term-search input{font-size:21px}.learn-term-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.learn-term{margin:0}.learn-term .eyebrow{font-size:10px}.learn-term h3{margin:12px 0;font-size:26px}.learn-term p{font-size:17px}.learn-term-example{border-top:1px solid #e1e5d7;padding-top:14px}.learn-term-example strong{color:#294e35}.school-module-tabs button:focus-visible,.learn-order-list button:focus-visible,.learn-quiz button:focus-visible{outline:3px solid #8ea970;outline-offset:3px}
@media(max-width:1000px){.learn-term-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learn-safety-lessons{grid-template-columns:1fr}.learn-safety-lesson:first-child{grid-column:auto}.learn-storage-map{grid-template-columns:1fr}.learn-safety-lesson:first-child figure{float:none;width:auto;margin:0 0 22px}.learn-safety-lesson img{max-height:320px}}
@media(max-width:600px){.school-module-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px}.school-module-tabs .button{padding:10px;font-size:14px}.learn-intro h2{font-size:30px}.learn-panel{padding:18px}.learn-regulation{padding:18px}.learn-term-grid{grid-template-columns:1fr}.learn-order-list>li{gap:8px;padding:10px}.learn-order-list p{font-size:16px}.learn-order-list li>div{flex-direction:column}.learn-order-list button{width:32px;height:32px;font-size:20px}.learn-quiz legend{font-size:18px}.learn-quiz fieldset{padding:12px}.learn-safety-lesson h3{font-size:23px}}

.school-module-tabs,.learn-panel,.learn-intro,.learn-regulation,.learn-storage-map{min-width:0;overflow-wrap:anywhere}.school-module-tabs .button,.learn-task-tabs .button,.learn-actions .button{white-space:normal;line-height:1.5;min-width:0}.learn-quiz button{overflow-wrap:anywhere}
@media(max-width:600px){.school-module-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.school-module-tabs .button{overflow-wrap:anywhere}.learn-quiz legend{max-width:100%}.learn-actions .button{flex:1}}

.learn-storage-table{width:100%;min-width:730px;border-collapse:collapse;font-size:16px;line-height:1.7}.learn-storage-table th,.learn-storage-table td{border:1px solid #dce2d1;padding:14px 16px;vertical-align:top;text-align:left}.learn-storage-table thead{background:#edf1e3}.learn-storage-table tbody th{width:17%;background:#f5f6ee;font-weight:600}.learn-storage-table td{width:27.6%}

/* Four primary sections remain readable without crowding the brand. */
@media(min-width:701px) and (max-width:1450px){.header{height:auto;min-height:120px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:76px 48px}.header-identity{grid-column:1;grid-row:1}.header>.header-end{grid-column:2;grid-row:1}.header nav{grid-column:1/-1;grid-row:2;justify-self:center;height:48px}}
@media(max-width:600px){.header nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;height:auto;gap:4px;padding:8px 0}.header .nav-link{min-width:0;white-space:normal;font-size:12px;line-height:1.4;padding:10px 4px;height:100%;text-align:center}.header .nav-link span{font-size:10px;margin-left:2px}}

/* A compact reading shelf within the library. */
.culinary-books-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:34px;align-items:center;margin:28px 0}.culinary-books-intro h2{font-size:36px;margin:12px 0}.culinary-books-intro p{font-size:18px;line-height:1.75;margin:10px 0;color:#354637}.culinary-books-intro aside{padding:22px 26px;border-left:3px solid #8fa578;background:#eef1e5;border-radius:0 14px 14px 0}.culinary-books-intro aside>strong{font-size:22px}.culinary-books-intro aside p{font-size:16px}.culinary-books-intro .text-button{white-space:normal;text-align:left;line-height:1.5}.culinary-books-controls{display:flex;gap:30px;align-items:center;margin:26px 0}.culinary-books-controls .field{flex:1;margin:0;max-width:520px}.culinary-books-controls>p{flex:1;font-size:14px;line-height:1.7;color:#495841}.culinary-books-controls input{font-size:19px}.culinary-book-filters{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0}.culinary-book-filters .button{font-size:13px;white-space:normal;padding:9px 13px;line-height:1.4}.culinary-books-count{font-size:14px;color:#4c5c45;margin:20px 0}.culinary-books-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}.culinary-book{min-width:0;padding:22px;background:#fffefa;border:1px solid #dce3d1;border-radius:15px;box-shadow:0 5px 20px #2d584105}.culinary-book-top{display:flex;gap:18px;align-items:start;min-width:0}.culinary-book-cover{width:105px;flex:0 0 105px;min-height:150px;display:flex;align-items:start;justify-content:center}.culinary-book-cover img{width:100%;height:158px;object-fit:contain;object-position:top;filter:drop-shadow(3px 5px 4px #263b3220)}.culinary-book-heading{min-width:0}.culinary-book-heading>.eyebrow{font-size:9px;letter-spacing:.5px}.culinary-book h3{font-size:22px;line-height:1.35;margin:8px 0;overflow-wrap:anywhere}.culinary-book-author{font-size:13px;line-height:1.6;margin:8px 0;color:#45563e}.culinary-book-level,.culinary-book-start{display:inline-block;font-size:10px;line-height:1.5;padding:4px 7px;border-radius:5px;background:#eef2e4;margin:4px 3px 0 0;color:#385231}.culinary-book-start{background:#e3edda}.culinary-book-about{font-size:16px;line-height:1.8;color:#354637;margin:20px 0}.culinary-book details{border-top:1px solid #e1e6d6;padding-top:14px}.culinary-book summary{font-size:14px;line-height:1.6;cursor:pointer;color:#2c5137}.culinary-book-details h4{font-size:16px;margin:16px 0 5px}.culinary-book-details p{font-size:15px;line-height:1.75;margin:5px 0 12px}.culinary-book-details a{font-size:13px;color:#2d5841;text-underline-offset:3px}.culinary-book-details .culinary-book-edition{font-size:12px;color:#4b5a42}.culinary-book-lettering{width:100%;min-height:155px;padding:12px 9px;background:#315641;color:#fff9e6;border-radius:2px 7px 7px 2px;box-shadow:inset 5px 0 #213f30,3px 5px 7px #263b3220;display:flex;flex-direction:column;justify-content:space-between;gap:10px;overflow-wrap:anywhere}.culinary-book-lettering>span{font-size:8px}.culinary-book-lettering>strong{font-size:15px;line-height:1.3}.culinary-book-lettering>small{font-size:9px;line-height:1.4}.culinary-books-empty{padding:30px;background:#eef1e5;border-radius:14px;text-align:center}
@media(max-width:1200px){.culinary-books-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.culinary-books-intro{grid-template-columns:1fr;gap:18px}.culinary-books-intro h2{font-size:30px}.culinary-books-controls{display:block}.culinary-books-controls>p{margin-top:14px}.culinary-books-grid{grid-template-columns:1fr}.culinary-book{padding:20px}.culinary-book-cover{width:100px;flex-basis:100px}.culinary-book h3{font-size:23px}}

/* People and ideas behind culinary practice. */
.culinary-people-intro{max-width:850px;margin:32px 0}.culinary-people-intro h2{font-size:38px;margin:12px 0}.culinary-people-intro>p{font-size:19px;line-height:1.8;color:#354637}.culinary-people-search{max-width:550px}.culinary-people-search input{font-size:19px}.culinary-people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.culinary-person-card{padding:22px;background:#fffefa;border:1px solid #dde3d1;border-radius:16px;min-width:0}.culinary-person-card-top{display:flex;gap:18px;align-items:start}.culinary-person-thumb{width:112px;flex:0 0 112px}.culinary-person-thumb img{display:block;width:100%;height:145px;object-fit:cover;object-position:50% 20%;border-radius:8px;filter:saturate(.75)}.culinary-person-card-top>div+div{min-width:0}.culinary-person-card .eyebrow{font-size:9px;letter-spacing:.5px}.culinary-person-card h3{font-size:24px;line-height:1.35;margin:9px 0;overflow-wrap:anywhere}.culinary-person-role{font-size:14px;line-height:1.65;color:#42553d}.culinary-person-card small{display:block;font-size:11px;line-height:1.65;color:#4a5c43}.culinary-person-headline{font-size:17px;line-height:1.8;color:#304434;margin:20px 0}.culinary-person-card>.button{font-size:13px;white-space:normal;line-height:1.6;width:100%}.culinary-person-photo-credit{font-size:9px;line-height:1.6;color:#53614b;margin:13px 0 0;overflow-wrap:anywhere}.culinary-person-photo-credit a{color:inherit;text-underline-offset:2px}.culinary-person-monogram{min-height:145px;background:#e6ecdc;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:9px;gap:12px;text-align:center;padding:12px}.culinary-person-monogram>span{font-size:37px}.culinary-person-monogram>small{font-size:11px}.culinary-person-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:24px 0}.culinary-person-toolbar>span{font-size:14px;color:#526249}.culinary-person-detail{max-width:1050px;margin:auto}.culinary-person-detail>header{display:grid;grid-template-columns:220px minmax(0,1fr);gap:35px;align-items:center;padding:30px;background:#fffefa;border:1px solid #dce3d1;border-radius:17px}.culinary-person-detail figure{margin:0;min-width:0}.culinary-person-detail figure>img{width:100%;height:260px;object-fit:cover;object-position:50% 20%;border-radius:10px}.culinary-person-detail h1{font-size:43px;line-height:1.25;margin:13px 0}.culinary-person-original{font-size:15px;margin:8px 0;color:#4b5a45}.culinary-person-detail .culinary-person-role{font-size:16px}.culinary-person-lead{font-size:22px;line-height:1.65;margin:17px 0 0}.culinary-person-body{max-width:820px;margin:30px auto}.culinary-person-body>section{background:#fffefa;border:1px solid #dce3d1;border-radius:14px;padding:27px 30px;margin:20px 0}.culinary-person-body h2{font-size:27px;margin:0 0 16px}.culinary-person-body p,.culinary-person-body li{font-size:19px;line-height:1.9;color:#304435}.culinary-person-body p{margin:8px 0}.culinary-person-body ul{padding-left:24px;margin-bottom:0}.culinary-person-body li{margin-bottom:12px;padding-left:5px}.culinary-person-lesson{padding:23px 28px;background:#edf2e1;border-left:4px solid #859e68;border-radius:0 12px 12px 0;margin:22px 0}.culinary-person-notes{margin:24px 0;padding:20px 24px;border:1px solid #dde3d1;border-radius:12px;background:#f4f4ea}.culinary-person-notes summary{font-size:17px;cursor:pointer}.culinary-person-notes p{font-size:16px;margin:14px 0}.culinary-person-notes a{display:block;color:#355b3c;font-size:13px;margin:8px 0;line-height:1.6;overflow-wrap:anywhere}.culinary-person-body>.button{white-space:normal;line-height:1.6}
@media(max-width:1200px){.culinary-people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.culinary-people-grid{grid-template-columns:1fr}.culinary-people-intro h2{font-size:30px}.culinary-person-detail>header{grid-template-columns:1fr;gap:20px;padding:20px}.culinary-person-detail figure{max-width:230px;margin:0 auto}.culinary-person-detail h1{font-size:33px}.culinary-person-detail .eyebrow{line-height:1.6}.culinary-person-lead{font-size:20px}.culinary-person-body>section{padding:20px}.culinary-person-body p,.culinary-person-body li{font-size:18px}.culinary-person-toolbar{align-items:start;flex-direction:column}.culinary-person-card{padding:18px}.culinary-person-thumb{width:100px;flex-basis:100px}.culinary-person-card h3{font-size:22px}.culinary-person-lesson{padding:20px}}

/* Dated Michelin overview, with historical Russia distinguished from other guides. */
.michelin-heading{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:35px;margin:30px 0}.michelin-heading h2{font-size:38px;margin:13px 0;line-height:1.3}.michelin-heading p{font-size:19px;line-height:1.8;max-width:800px;color:#354637}.michelin-heading-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font:96px Georgia,serif;color:#88403d;padding:18px;background:radial-gradient(circle,#f0e7dc,transparent 70%);text-align:center}.michelin-heading-mark span{font:10px var(--serif);letter-spacing:1px;line-height:1.8;color:#52604a}.michelin-panels{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid #dce3d1;padding-bottom:22px;margin:20px 0 26px}.michelin-panels .button{font-size:16px;white-space:normal;line-height:1.5}.michelin-star-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:25px 0}.michelin-level-card,.michelin-section{border:1px solid #dce3d1;border-radius:15px;padding:26px;background:#fffefa;min-width:0}.michelin-level-card{display:flex;flex-direction:column;align-items:start}.michelin-stars{font-family:Georgia,serif;color:#88403d;font-size:29px;letter-spacing:3px;white-space:nowrap;line-height:1.5}.michelin-level-number{font-size:13px;color:#53624a;margin-top:9px}.michelin-level-card h3{font-size:25px;line-height:1.4;margin:12px 0}.michelin-level-card p,.michelin-section>p{font-size:17px;line-height:1.8;color:#354637;margin:8px 0}.michelin-section{margin:24px 0}.michelin-section>h3,.michelin-world-intro h3{font-size:28px;line-height:1.4;margin:10px 0 20px}.michelin-criteria{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:24px 0}.michelin-criteria li{background:#f0f3e7;padding:17px;border-radius:11px;min-width:0}.michelin-criteria li>span{display:block;font-size:14px;color:#617552;margin-bottom:14px}.michelin-criteria strong{font-size:19px}.michelin-criteria p{font-size:15px;line-height:1.7;margin:8px 0 0}.michelin-awards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.michelin-awards>div{padding:19px;background:#f4f4eb;border-radius:11px}.michelin-award-label{font-size:10px;letter-spacing:1px;color:#52634a}.michelin-awards h4{font-size:21px;line-height:1.5;margin:12px 0}.michelin-awards p{font-size:16px;line-height:1.8;margin:10px 0 0}.michelin-faq details{padding:18px 0;border-bottom:1px solid #e1e6d7}.michelin-faq details:last-child{border-bottom:0}.michelin-faq summary{font-size:20px;line-height:1.5;cursor:pointer}.michelin-faq p{font-size:17px;line-height:1.8;margin:16px 0 0;color:#354637}.michelin-practice{background:#edf2e2;border-left:4px solid #899f71;border-radius:0 13px 13px 0;padding:24px 28px;margin:25px 0}.michelin-practice h3{font-size:25px;margin:12px 0}.michelin-practice p{font-size:18px;line-height:1.85;margin:10px 0}.michelin-sources{padding:18px 0}.michelin-sources summary{font-size:15px;cursor:pointer;color:#42583b}.michelin-sources a{display:block;font-size:14px;line-height:1.7;margin-top:12px;color:#36543a}.michelin-russia-note{padding:27px 30px;border:1px solid #ddcfbd;border-left:4px solid #a07a50;background:#f5f0e4;border-radius:0 14px 14px 0;margin:22px 0}.michelin-russia-note h3{font-size:28px;margin:12px 0}.michelin-russia-note p{font-size:18px;line-height:1.85;margin:12px 0}.michelin-russia-note a,.michelin-section>a{font-size:14px;color:#3b583c;line-height:1.6;overflow-wrap:anywhere}.michelin-russia-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:25px 0}.michelin-russia-stats>div{display:flex;align-items:center;gap:16px;padding:20px;background:#fffefa;border:1px solid #dce3d1;border-radius:13px}.michelin-russia-stats strong{font-size:45px;font-weight:500;line-height:1;color:#7d403a}.michelin-russia-stats span{font-size:14px;line-height:1.7}.michelin-russia-stats small{display:block;font-size:10px;color:#53614a}.michelin-russia-table{width:100%;border-collapse:collapse;min-width:360px}.michelin-russia-table caption{text-align:left;font-size:13px;color:#526349;margin:0 0 14px}.michelin-russia-table th,.michelin-russia-table td{text-align:left;padding:15px 18px;border-bottom:1px solid #e0e5d6;font-size:19px}.michelin-russia-table thead th{font-size:14px;background:#f0f3e7}.michelin-russia-table tbody th{font-weight:500}.michelin-russia-table td>span+span{font-size:13px;color:#526349;margin-left:17px}.michelin-table-note{font-size:14px!important;line-height:1.7!important;color:#516148}.michelin-world-intro{max-width:950px}.michelin-world-intro p{font-size:18px;line-height:1.85}.michelin-world-controls{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.7fr);gap:18px;margin:25px 0}.michelin-world-controls .field{min-width:0;margin:0}.michelin-world-controls input,.michelin-world-controls select{font-size:17px;min-width:0}.michelin-restaurant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}.michelin-restaurant{padding:25px;background:#fffefa;border:1px solid #dce3d1;border-radius:15px;min-width:0}.michelin-restaurant-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.michelin-restaurant-top>span+span{font-size:13px;color:#4b5e43}.michelin-restaurant h3{font-size:27px;line-height:1.4;margin:14px 0;overflow-wrap:anywhere}.michelin-restaurant p{font-size:17px;line-height:1.8;color:#354637}.michelin-restaurant .michelin-restaurant-city{font-size:13px;line-height:1.7;color:#52634a}.michelin-edition{display:flex;flex-direction:column;gap:7px;font-size:12px;line-height:1.65;padding:13px 15px;background:#f0f3e7;border-radius:9px;margin:18px 0}.michelin-edition strong{font-weight:500;font-size:11px;color:#53674a}.michelin-restaurant>a,.michelin-restaurant details a{font-size:13px;color:#31563b;line-height:1.8;overflow-wrap:anywhere}.michelin-restaurant details{border-top:1px solid #e1e6d7;margin-top:15px;padding-top:15px;font-size:12px;line-height:1.8}.michelin-restaurant details summary{cursor:pointer;color:#4e6144}.michelin-restaurant details a{display:block;margin-top:12px}
@media(max-width:1100px){.michelin-criteria{grid-template-columns:repeat(3,minmax(0,1fr))}.michelin-restaurant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.michelin-russia-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.michelin-heading{grid-template-columns:1fr;gap:0}.michelin-heading-mark{display:none}.michelin-heading h2{font-size:30px}.michelin-heading>.eyebrow{line-height:1.6}.michelin-star-levels,.michelin-awards,.michelin-restaurant-grid,.michelin-world-controls{grid-template-columns:1fr}.michelin-criteria{grid-template-columns:repeat(2,minmax(0,1fr))}.michelin-section,.michelin-level-card,.michelin-restaurant{padding:20px}.michelin-panels .button{font-size:14px;flex:1;padding:11px}.michelin-russia-note{padding:20px}.michelin-russia-note h3{font-size:25px}.michelin-russia-note p{font-size:17px}.michelin-russia-stats>div{padding:15px;gap:10px}.michelin-russia-stats strong{font-size:38px}.michelin-russia-table th,.michelin-russia-table td{padding:14px 9px;font-size:16px}.michelin-russia-table td>span+span{display:block;margin-left:0}.michelin-russia-table .michelin-stars{font-size:23px}.michelin-russia-table{min-width:285px}.michelin-faq summary{font-size:18px}.michelin-practice{padding:20px}}

/* Authentic Michelin emblem and documentary award photograph. */
.michelin-stars{display:inline-flex;align-items:center;gap:5px;letter-spacing:normal;vertical-align:middle}.michelin-stars img{display:block;width:26px;height:29px;object-fit:contain}.michelin-heading-mark>img{width:98px;height:108px;object-fit:contain}.michelin-russia-table .michelin-stars img{width:23px;height:25px}.michelin-award-photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center;padding:25px;background:#fffefa;border:1px solid #dce3d1;border-radius:15px;margin:25px 0}.michelin-award-photo figure{margin:0;min-width:0}.michelin-award-photo figure>a{display:block;border-radius:10px;overflow:hidden;background:#eaece4}.michelin-award-photo figure img{display:block;width:100%;height:300px;object-fit:contain}.michelin-award-photo figcaption{font-size:11px;line-height:1.7;color:#52634a;margin-top:10px}.michelin-award-photo h3{font-size:29px;margin:12px 0;line-height:1.4}.michelin-award-photo p{font-size:17px;line-height:1.85;color:#354637;margin:12px 0}.michelin-award-photo small{display:block;font-size:13px;line-height:1.6;color:#52634a;margin:14px 0}.michelin-award-photo div>a{font-size:13px;color:#36543a;line-height:1.7}.michelin-symbol-credit{font-size:11px;line-height:1.7;color:#52634a}.michelin-sources .michelin-symbol-credit a{display:inline;font-size:inherit}
@media(max-width:700px){.michelin-award-photo{grid-template-columns:1fr;gap:18px;padding:18px}.michelin-award-photo figure img{height:auto;max-height:300px}.michelin-award-photo h3{font-size:25px}.michelin-stars img{width:24px;height:26px}}

.michelin-award-photo figure>button{display:block;width:100%;padding:0;border:0;border-radius:10px;overflow:hidden;background:#eaece4;cursor:zoom-in}
#modal:has(.michelin-award-enlarged){width:min(900px,94vw);max-width:900px}
.michelin-award-enlarged{margin:0;text-align:center}.michelin-award-enlarged img{display:block;width:100%;max-height:70vh;object-fit:contain}.michelin-award-enlarged figcaption{font-size:13px;margin-top:10px}

/* Longer project name remains readable in the header. */
.header-identity .brand-name{max-width:340px;line-height:1.2}.header-identity .brand-sub{margin-top:5px}
@media(max-width:600px){.header-identity{min-width:0}.header-identity .brand{flex-shrink:1;min-width:0;font-size:18px}.header-identity .brand-name{max-width:220px}.header-identity .header-chef-knife{display:none}.header-identity .brand-sub{font-size:8px;letter-spacing:0}}

/* Centre the two-line site name beside its mark. */
.header-identity .brand{align-items:center}.header-identity .brand-name{display:block;max-width:340px;line-height:1.12;padding:0;margin:0}
@media(min-width:701px){.header:has(.brand-name){height:auto;min-height:112px;padding-top:14px;padding-bottom:14px}}
@media(max-width:600px){.header-identity .brand-name{max-width:220px}}

.account-bar{display:flex;gap:16px;align-items:center;justify-content:flex-end;padding:10px 3.4%;border-bottom:1px solid var(--line);background:#f0f2e9;font-size:14px}.account-bar .button{padding:8px 15px;font-size:14px;flex-shrink:0}.account-actions{display:grid;gap:10px}.account-actions label{text-align:center;cursor:pointer}.account-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.account-links button{border:0;background:none;text-decoration:underline;font-size:14px;padding:5px}.account-links button:disabled{opacity:.45;cursor:default}.account-help{font-size:16px;line-height:1.7}.account-error{color:#9e302b;font-size:16px;line-height:1.6}.account-email{overflow-wrap:anywhere}@media(max-width:600px){.account-bar{align-items:flex-start;justify-content:space-between;gap:8px;font-size:12px}.account-bar>span{overflow-wrap:anywhere}.account-bar .button{font-size:12px;padding:8px}}
