.recipe-save-status{position:fixed;z-index:30;left:50%;transform:translateX(-50%);bottom:calc(90px + env(safe-area-inset-bottom));width:min(calc(100% - 32px),480px);margin:0;padding:14px 18px;border-radius:12px;background:#294b37;color:#fff;font-size:14px;line-height:1.4;box-shadow:0 4px 20px #10171330;pointer-events:none}
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#24251f;background:#f6f3ec;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}a{color:#274934}h1,h2,p{margin-top:0}[hidden]{display:none!important}
.shell{width:min(100%,1000px);margin:auto;padding:0 20px calc(120px + env(safe-area-inset-bottom))}.topbar{height:56px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dcd9d0}.brand{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:850;letter-spacing:.15em}.mark{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#284936;color:#fff;font-size:20px;letter-spacing:0}.mealie-link{font-size:12px;font-weight:650;text-decoration:none;border-bottom:1px solid #28493660;padding:5px 0}.page-head{padding:18px 0 15px}.eyebrow{display:block;margin:0;font-size:10px;line-height:1.5;font-weight:800;letter-spacing:.16em;color:#7a5a3c}.page-head h1{font:500 clamp(25px,5vw,34px)/1.13 Georgia,"Times New Roman",serif;letter-spacing:-.045em;margin:5px 0 0;color:#202922}
.recipe-tabs{display:flex;gap:8px;overflow-x:auto;margin:0 -20px 18px;padding:0 20px 5px;scrollbar-width:none}.recipe-tabs::-webkit-scrollbar{display:none}.recipe-tabs button{flex:none;max-width:215px;min-height:43px;padding:0 15px;border-radius:99px;background:transparent;color:#555e55;border:1px solid #c8cdc4;font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recipe-tabs button[aria-current=true]{background:#294b37;border-color:#294b37;color:white;box-shadow:0 3px 8px #26442b20}
.cook-card{background:#fffdf9;border:1px solid #e5e2d9;border-radius:20px;overflow:hidden;box-shadow:0 18px 46px #3c3d2612}.step-heading{padding:16px 20px 12px}.step-meta,.instruction-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.status{font-size:11px;color:#756d5d;white-space:nowrap}.status.reviewed{color:#24643c}.step-heading h2{font:500 clamp(25px,5.5vw,33px)/1.1 Georgia,"Times New Roman",serif;letter-spacing:-.04em;margin:6px 0 8px;color:#19271d}.step-progress{display:flex;gap:5px}.step-progress button{height:30px;min-height:30px;flex:1;padding:0;border:0;background:transparent;position:relative}.step-progress button::after{content:"";position:absolute;left:0;right:0;top:12px;height:5px;border-radius:8px;background:#e1e5dd}.step-progress button[aria-current=true]::after{background:#c0734c}.step-progress button.is-past::after{background:#678a70}.step-progress button:focus-visible{outline:3px solid #c0734c;outline-offset:4px}
.video-wrap{position:relative;height:min(40dvh,380px);min-height:250px;background:#111a14;display:grid;place-items:center;overflow:hidden}.video-wrap video{width:100%;height:100%;object-fit:contain}.video-top,.video-bottom{position:absolute;left:13px;right:13px;display:flex;justify-content:space-between;align-items:center;gap:8px;pointer-events:none}.video-top{top:13px}.video-bottom{bottom:13px}.source-badge,.sound,.loop-label,.replay{color:#fff;background:#101713cf;backdrop-filter:blur(8px);border:1px solid #ffffff3a;border-radius:99px;font-size:11px;line-height:1;min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 11px}.source-badge{font-size:9px;font-weight:800;letter-spacing:.11em}.sound,.replay{pointer-events:auto;font-weight:700;min-height:44px}.sound{min-width:76px}.replay{gap:4px}.replay:first-letter{font-size:16px}.empty-video{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:#1d3328;color:#f6f3ec}.empty-symbol{font-size:38px;color:#d4a37f}.empty-video strong{font:500 24px/1.13 Georgia,serif;max-width:280px;margin:13px 0 7px}.empty-video p{font-size:13px;line-height:1.5;color:#d8e1d6;max-width:240px;margin:0}
.instruction{padding:14px 20px 18px}.edit-link{min-height:44px;border:0;background:transparent;padding:8px 0 8px 8px;color:#355b41;font-size:12px;font-weight:800;text-decoration:underline;text-decoration-color:#a4b1a5;text-underline-offset:4px}.step-text{font-size:17px;line-height:1.43;letter-spacing:-.01em;color:#252e27;margin:6px 0 13px}.range-display{font-size:11px;color:#7c817a}.controls{position:fixed;z-index:10;left:0;right:0;bottom:0;display:grid;grid-template-columns:minmax(108px,.8fr) minmax(160px,1.2fr);gap:9px;background:#fffdf9;border-top:1px solid #e9e7df;box-shadow:0 -7px 25px #18241a16;padding:12px max(20px,calc((100vw - 960px)/2)) calc(12px + env(safe-area-inset-bottom))}.controls button,.editor-actions button{min-height:52px;border-radius:12px;font-size:14px;font-weight:800}.primary{background:#294b37;border:1px solid #294b37;color:#fff}.primary:not(:disabled):hover{background:#1e3c2a}.secondary{background:#f2f1ec;border:1px solid #dce0d7;color:#344536}.secondary:not(:disabled):hover{background:#e7ebe2}.controls button:disabled{opacity:.42}.controls button span{margin:0 3px}.recipe-note{padding:22px 4px;color:#68716a;font-size:12px;line-height:1.6}.recipe-note summary{cursor:pointer;font-size:12px;font-weight:700;color:#425b49}.recipe-note p{margin:10px 0 0;max-width:590px}
.editor-backdrop{position:fixed;inset:0;z-index:20;background:#101813a8}.editor{position:fixed;z-index:21;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,540px);max-height:94dvh;overflow-y:auto;overscroll-behavior:contain;background:#fffdf9;color:#233027;border-radius:22px 22px 0 0;box-shadow:0 -18px 60px #10171340;padding:0 20px calc(20px + env(safe-area-inset-bottom))}.sheet-handle{width:35px;height:4px;border-radius:9px;background:#cbd1c8;margin:9px auto 18px}.editor-head{display:flex;justify-content:space-between;align-items:start;gap:16px}.editor h2{font:500 26px/1.1 Georgia,serif;letter-spacing:-.035em;margin:5px 0 14px}.editor-head button{height:44px;width:44px;flex:none;display:grid;place-items:center;border:1px solid #e1e4dc;border-radius:50%;background:#f5f4ee;color:#36483a;font-size:26px;line-height:1}.editor-preview{height:160px;background:#101813;border-radius:13px;overflow:hidden;display:grid;place-items:center}.editor-preview video{width:100%;height:100%;object-fit:contain}.editor-guide{font-size:12px;line-height:1.5;color:#727b71;margin:12px 0 14px}.not-shown{display:flex;gap:12px;align-items:center;padding:12px 14px;border:1px solid #e0e5dc;border-radius:12px;font-size:13px;cursor:pointer}.not-shown input{accent-color:#294b37;width:20px;height:20px;flex:none}.not-shown span{display:flex;flex-direction:column;gap:3px}.not-shown small{font-size:11px;color:#767c72}.range-editor{margin-top:10px}.range-row{padding:14px 0;border-bottom:1px solid #e9eae3}.range-label{display:flex;justify-content:space-between;font-size:13px;font-weight:800}.range-label output{font-variant-numeric:tabular-nums;color:#32563e}.range-row input{width:100%;height:30px;accent-color:#c0734c;margin:6px 0}.range-row button{min-height:44px;border:0;border-radius:8px;background:#edf1eb;color:#294b37;font-size:11px;font-weight:800;padding:0 11px}.editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:17px}.editor-actions button{font-size:12px}.save-message{min-height:18px;margin:10px 0 0;font-size:12px;color:#286039}.editor-open{overflow:hidden}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #c0734c;outline-offset:3px}
@media(min-width:740px){.shell{padding:0 32px 45px}.topbar{height:70px}.page-head{padding:36px 0 21px}.recipe-tabs{margin:0 0 20px;padding:0 0 5px}.cook-card{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(340px,1fr);grid-template-rows:auto 1fr auto}.step-heading{grid-column:2;grid-row:1;padding:27px 29px 20px}.video-wrap{grid-column:1;grid-row:1/4;height:600px;min-height:0}.instruction{grid-column:2;grid-row:2;padding:10px 29px}.controls{grid-column:2;grid-row:3;position:static;padding:20px 29px}.editor{top:50%;bottom:auto;transform:translate(-50%,-50%);border-radius:22px;max-height:92dvh;padding-bottom:22px}}
@media(max-width:370px){.shell{padding-left:14px;padding-right:14px}.recipe-tabs{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.step-heading,.instruction{padding-left:16px;padding-right:16px}.controls{padding-left:16px;padding-right:16px}.step-text{font-size:16px}}
.scrub-control{padding:12px 0 0}.scrub-control input{width:100%;height:30px;margin:5px 0 0;accent-color:#c0734c}
.start-cooking{width:100%;min-height:54px;margin:0 0 14px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-radius:13px;background:#284936;color:#fff;font-size:14px;font-weight:800;box-shadow:0 8px 20px #1d3f2b24}.start-cooking>span:first-of-type{flex:1;text-align:left}.start-cooking:hover{background:#1c3928}
.immersive-open{overflow:hidden}.immersive{position:fixed;inset:0;z-index:15;display:flex;flex-direction:column;background:#080c0a;color:#fff;overflow:hidden}.immersive-head{min-height:64px;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#121a15}.immersive-head div{min-width:0;display:flex;flex-direction:column;gap:3px}.immersive-head span{font-size:10px;font-weight:800;letter-spacing:.08em;color:#b8c9ba;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.immersive-head strong{font:500 19px/1.2 Georgia,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.immersive-head button{width:44px;height:44px;flex:none;border:1px solid #ffffff40;border-radius:50%;background:#ffffff14;color:#fff;font-size:26px}.immersive-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.immersive-stage .video-wrap{width:100%;height:100%;min-height:0;max-height:none;border-radius:0}.immersive-stage .video-wrap video{width:100%;height:100%;object-fit:contain!important}.immersive-stage .video-top{top:14px}.immersive-stage .video-bottom{bottom:14px}.immersive-foot{flex:none;padding:11px 16px calc(12px + env(safe-area-inset-bottom));background:#121a15}.immersive-meta{display:flex;align-items:center;gap:10px;min-height:34px}.immersive-meta span{font-size:10px;font-weight:800;letter-spacing:.08em;color:#cfddcf;margin-right:auto;white-space:nowrap}.immersive-meta button{min-height:38px;padding:0 8px;border:0;background:transparent;color:#e1ece1;font-size:11px;font-weight:750}.immersive-foot p{margin:5px 0 10px;font-size:14px;line-height:1.45;color:#eef4e9}.immersive-controls{display:grid;grid-template-columns:1fr 1.3fr;gap:9px;margin-top:7px}.immersive-controls button{min-height:52px;border-radius:11px;border:1px solid #607263;background:#233428;color:white;font-weight:800}.immersive-controls button:last-child{background:#edf5e9;color:#1d3c28;border-color:#edf5e9}.immersive-controls button:disabled{opacity:.4}
@media(min-width:740px){.start-cooking{width:max-content;min-width:270px}.immersive-stage .video-wrap{max-width:600px}}
.timeline-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 8px;font-size:12px}.timeline-heading strong{font-weight:800}.timeline-heading span{font-size:11px;color:#66776b;font-variant-numeric:tabular-nums}.timeline{padding:7px 0 4px;touch-action:none}.timeline-rail{position:relative;height:68px;border-radius:10px;background:repeating-linear-gradient(90deg,#1b2b21 0,#1b2b21 14px,#243a2b 14px,#243a2b 16px);overflow:visible}.timeline-clip{position:absolute;top:8px;height:52px;min-width:0;padding:0;border:1px solid #ffffff55;border-radius:5px;background:#76967a;color:#102016;font-size:12px;font-weight:850;overflow:hidden}.timeline-clip:nth-child(even){background:#bfaa82}.timeline-clip.selected{background:#e2b184;box-shadow:inset 0 0 0 2px #fff}.timeline-cut{position:absolute;top:-4px;z-index:2;width:28px;height:76px;transform:translateX(-50%);padding:0;border:0;background:transparent;touch-action:none}.timeline-cut::after{content:"";position:absolute;left:10px;top:1px;width:8px;height:70px;border-radius:9px;background:#fff;box-shadow:0 0 0 2px #233a2b,0 2px 8px #0008}.timeline-cut.selected::after{background:#e27d54;box-shadow:0 0 0 2px #fff,0 2px 8px #0009}.clip-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:16px 0}.clip-list-item{min-height:62px;min-width:0;display:grid;grid-template-columns:25px minmax(0,1fr);grid-template-rows:auto auto;column-gap:6px;text-align:left;padding:9px;border:1px solid #dfe5db;border-radius:10px;background:#f5f6f1;color:#294132}.clip-list-item.selected{border-color:#315c40;background:#e9f1e8}.clip-number{grid-row:1/3;display:grid;place-items:center;align-self:start;width:23px;height:23px;border-radius:50%;background:#315c40;color:#fff;font-size:11px;font-weight:800}.clip-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;font-weight:800}.clip-time{font-size:10px;color:#687b6b;font-variant-numeric:tabular-nums}.cut-controls{padding:12px 0 14px;border-top:1px solid #e4e7e0}.cut-controls .range-label{gap:8px}.cut-controls label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cut-controls input{width:100%;height:28px;margin:5px 0;accent-color:#c0734c}.cut-controls button{min-height:40px;padding:0 12px;border:0;border-radius:8px;background:#edf1eb;color:#294b37;font-size:11px;font-weight:800}.timeline-cut:focus-visible,.timeline-clip:focus-visible{outline:3px solid #c0734c;outline-offset:3px}
.video-wrap video{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:contain}
.editor-actions{position:sticky;bottom:0;z-index:3;background:#fffdf9;padding:10px 0 0;box-shadow:0 -8px 16px #fffdf9}.save-message{margin:8px 0 0}
.step-action{width:100%;min-height:44px;border-radius:10px;margin:8px 0;font-weight:700}#add-step-form{padding:14px 0}#add-step-form label{display:block;font-size:13px;font-weight:700;margin:10px 0 6px}#add-step-form input,#add-step-form textarea{width:100%;font:inherit;font-size:16px;border:1px solid #ccd6ca;border-radius:8px;padding:10px;background:#fff;color:#233027}
.editor{height:100dvh;max-height:100dvh;border-radius:0;padding-top:env(safe-area-inset-top)}.editor-preview{position:relative;height:42dvh;min-height:200px;max-height:420px}.editor-preview video{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:contain}
/* Quiet chrome: recipe content carries the hierarchy. */
.brand{font-size:17px;font-weight:650;letter-spacing:-.03em}
.topbar{border-bottom:0;height:64px}.mealie-link{border:0;font-weight:500;color:#72796f}
.recipe-tabs{margin-top:4px;margin-bottom:16px}.recipe-tabs button{font-weight:600;border-radius:12px;box-shadow:none}
.cook-card{box-shadow:none;border-color:#e5e5dc;border-radius:16px}
.step-heading{padding:20px 20px 8px}.step-heading h2{font:600 25px/1.2 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.035em;margin:8px 0 4px}
.eyebrow{letter-spacing:0;font-size:12px;font-weight:500;color:#7b8278}
.start-cooking{box-shadow:none;font-weight:600;min-height:48px;border-radius:12px}.start-cooking>span:last-child{font-size:21px;font-weight:400}
.video-top{justify-content:flex-end}.video-bottom{justify-content:flex-end}
.instruction{padding-top:20px}.step-text{font-size:16px;line-height:1.55;margin:0 0 8px}.edit-link{font-weight:600;text-decoration:none;font-size:13px}.range-display{font-size:12px}
.controls{box-shadow:none}.controls button,.editor-actions button{font-weight:600}
.empty-video strong{font:500 16px/1.4 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0;color:#dce5dc}
.editor-head{position:sticky;top:calc(-1 * env(safe-area-inset-top));z-index:4;background:#fffdf9;padding:16px 0;margin-bottom:12px;align-items:center;border-bottom:1px solid #e7e9e2}
.editor h2{font:600 20px/1.2 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.025em;margin:0 0 4px}
.editor-head button{background:transparent;border:0;color:#657160}.status{font-size:11px}.range-label{font-weight:500}.timeline-heading strong{font-weight:600}
.clip-list-item{background:transparent}.clip-name{font-weight:600;font-size:12px}.clip-time{font-size:11px}.clip-number{font-weight:600;background:#e4eae1;color:#35583e}.clip-list-item.selected .clip-number{background:#315c40;color:white}
.step-action{font-size:13px;font-weight:600;background:transparent}.not-shown{border:0;border-top:1px solid #e7e9e2;border-radius:0;padding:14px 0}.not-shown strong{font-weight:500}
.editor-help{font-size:12px;color:#697568;padding:10px 0}.editor-help summary{cursor:pointer;min-height:36px;display:flex;align-items:center}.editor-help summary::after{content:'+';margin-left:auto;font-size:18px}.editor-help[open] summary::after{content:'−'}.editor-help p{line-height:1.5;margin:4px 0 12px}
.save-message:empty{display:none}.editor-actions{padding:12px 0;box-shadow:0 -6px 0 #fffdf9;border-top:1px solid #e7e9e2}.editor-actions button{font-size:14px}
.recipe-save-status{width:max-content;max-width:calc(100% - 32px);padding:10px 16px;font-size:13px;border-radius:99px;box-shadow:0 3px 14px #10171320}
.immersive-head strong{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:600}.immersive-head span,.immersive-meta span{letter-spacing:0;font-weight:500}
@media(min-width:740px){.recipe-tabs{margin-top:12px}.step-heading{padding:28px 28px 12px}.editor{top:50%;bottom:auto;height:92dvh;max-height:92dvh;border-radius:18px}.editor-head{top:0}.instruction{padding:16px 28px}}
.editor-head-actions{display:flex;align-items:center;gap:8px}.editor-head #discard-draft{width:auto;min-width:44px;font-size:12px;font-weight:500;padding:0 8px}.draft-status{display:inline-block;margin-left:10px;color:#9b653e}
.editor[aria-busy=true] #editor-content{opacity:.65}.editor[aria-busy=true] .editor-actions button{cursor:wait}
/* Keep the frame and Save anchored; only the editing tools scroll. */
.editor{display:flex;flex-direction:column;overflow:hidden;padding-bottom:env(safe-area-inset-bottom)}
.editor-head{position:static;flex:none;margin-bottom:8px;padding:12px 0}
.editor-content{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}
.editor-media{flex:none}.editor-preview{height:clamp(160px,32dvh,300px);min-height:0;max-height:none}
.editor-tools{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 1px 14px;scroll-padding:12px}
.editor>.editor-actions{position:static;flex:none;margin-top:0;padding:12px 0;box-shadow:none}
.editor>.save-message{flex:none;padding:0 2px 8px;line-height:1.4;max-height:80px;overflow:auto}
.clip-list{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;margin:12px 0;scroll-snap-type:x proximity}
.clip-list-item{flex:0 0 164px;min-height:68px;scroll-snap-align:start}.clip-name{white-space:normal;line-height:1.35}.clip-time{align-self:end}
.cut-controls{border:0;padding:8px 0}.timeline-heading{margin-top:12px}.editor-help summary{min-height:44px}
@media(min-width:740px){.editor-preview{height:32dvh;max-height:300px}.editor-head{padding:16px 0}}
@media(max-height:520px){.editor-preview{height:120px}.editor-media .scrub-control{padding-top:4px}.editor-head{padding:6px 0}.editor h2{font-size:17px}.editor>.editor-actions{padding:6px 0}.editor-actions button{min-height:44px}}
/* Recipe provenance: compact, visible amounts; explanations stay behind disclosure. */
.recipe-prep { margin: 16px 0; padding: 18px; background: #fffdf8; border: 1px solid #ded8cc; border-radius: 18px; }
.prep-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.prep-heading h2 { font-size: 20px; }
.recipe-prep button { min-height: 44px; }
.prep-heading button, #cancel-ingredients { background: transparent; border: 1px solid #ded8cc; border-radius: 10px; padding: 8px 12px; color: #286039; font: inherit; cursor: pointer; }
.recipe-prep summary { min-height: 44px; display: list-item; cursor: pointer; padding-top: 10px; }
.ingredient-list { list-style: none; padding: 0; }
.ingredient-list li { display: grid; gap: 4px; padding: 10px 0; border-bottom: 1px solid #e8e2d7; }
.ingredient-list li span:last-child { font-size: 14px; color: #675d4c; }
#ingredient-form label { display: block; margin: 12px 0 6px; }
#ingredient-form input { display: block; box-sizing: border-box; width: 100%; min-height: 44px; font: inherit; padding: 10px; }
.recipe-prep p, .recipe-prep li { overflow-wrap: anywhere; }
.immersive-meta { flex-wrap: wrap; }
.cook-ingredient-dialog { box-sizing: border-box; position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 0; border: 0; background: #f6f3ec; color: #202b24; }
.cook-ingredient-dialog[open] { display: flex; flex-direction: column; }
.cook-ingredient-dialog::backdrop { background: #080c0a; }
.cook-ingredient-dialog header { display: flex; flex: none; align-items: center; justify-content: space-between; gap: 12px; padding: calc(16px + env(safe-area-inset-top)) 20px 14px; border-bottom: 1px solid #ded8cc; }
.cook-ingredient-dialog h2 { margin: 0; font-size: 22px; }
.cook-ingredient-dialog header p { margin: 5px 0 0; font-size: 14px; color: #675d4c; overflow-wrap: anywhere; }
.cook-ingredient-dialog header button { flex: none; width: 44px; height: 44px; border: 1px solid #ded8cc; border-radius: 50%; font-size: 26px; background: transparent; color: inherit; }
.cook-ingredient-content { flex: 1; min-height: 0; overflow-y: auto; padding: 12px 20px calc(20px + env(safe-area-inset-bottom)); }
.cook-ingredient-content > p { font-size: 14px; color: #675d4c; }
.cook-ingredient-content .ingredient-list { max-width: 640px; margin: 0 auto; }
.cook-ingredient-dialog:not([open]) { display: none; }
.add-video-panel { margin: 12px 0; border: 1px solid #ded8cc; border-radius: 12px; padding: 0 14px; }
.add-video-panel summary { min-height: 44px; padding-top: 12px; cursor: pointer; }
#video-url-form { display: grid; gap: 10px; padding-bottom: 14px; }
#video-url-form label { font-size: 14px; }
#video-url-form input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px; padding: 10px; border: 1px solid #ded8cc; border-radius: 10px; font: inherit; background: #fffdf8; }
#video-url-form button { min-height: 44px; border-radius: 10px; }
#download-status { font-size: 14px; overflow-wrap: anywhere; }
.video-library { margin: 20px 0; }
.video-library h2 { font-size: 20px; }
#video-library-list { list-style: none; padding: 0; }
#video-library-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #ded8cc; padding: 12px 0; }
#video-library-list li div { min-width: 0; overflow-wrap: anywhere; }
#video-library-list li p { margin: 4px 0 0; font-size: 14px; color: #675d4c; }
#video-library-list button { flex: none; min-height: 44px; padding: 8px 12px; border: 1px solid #ded8cc; border-radius: 10px; color: #286039; background: transparent; font: inherit; }
.downloaded-video-content { flex: 1; min-height: 0; overflow-y: auto; padding: 12px 20px calc(20px + env(safe-area-inset-bottom)); }
.downloaded-video-content video { display: block; width: 100%; max-height: 65dvh; object-fit: contain; background: #080c0a; }
.downloaded-video-content p { overflow-wrap: anywhere; white-space: pre-wrap; }
.video-draft-note { color: #675d4c; font-size: 14px; }
.generated-draft-status { font-size: 13px; color: #675d4c; margin: 8px 0; }
.step-content-edit summary { min-height: 44px; cursor: pointer; padding-top: 10px; }
.step-content-edit label { display: block; margin: 10px 0 5px; }
.step-content-edit input,.step-content-edit textarea { display: block; box-sizing: border-box; width: 100%; min-height: 44px; font: inherit; padding: 10px; }
#video-library-list li { flex-wrap: wrap; }
#video-library-list li > div { flex: 1 1 100%; }
#video-library-list button.open-generated-recipe { background: #286039; color: #fff; border-color: #286039; }
.step-text,#immersive-instruction { white-space: pre-line; }
.recipe-library{margin:28px 0 32px}.library-heading,.selected-recipe-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.library-heading h1{font-size:24px;margin:0}.library-views{display:flex;gap:6px}.library-views button{padding:10px 12px;font-size:14px;min-height:44px}.library-views [aria-pressed=true]{background:#254d38;color:#fff}.search-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#recipe-search{box-sizing:border-box;width:100%;min-height:48px;border:1px solid #d4d5ca;border-radius:12px;padding:12px;background:#fffdf8;font:inherit;margin-bottom:18px}.recipe-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.recipe-library-card{border:1px solid #d4d5ca;border-radius:16px;background:#fffdf8;overflow:hidden;display:flex;flex-direction:column}.library-open{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;text-align:left;display:flex;flex-direction:column;flex:1;width:100%;color:inherit!important}.library-open img{width:100%;height:140px;object-fit:cover}.library-open strong{padding:12px 12px 6px;font-size:15px;line-height:1.35;overflow-wrap:anywhere}.library-meta{padding:0 12px 12px;font-size:12px;color:#645e52}.archive-recipe{margin:0 10px 10px;padding:8px!important;min-height:44px;font-size:13px}.selected-recipe-heading h2{font-size:21px;margin:0;overflow-wrap:anywhere}.selected-recipe-heading button{flex-shrink:0}.serving-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.serving-fields label{font-size:14px}.serving-fields input{display:block;box-sizing:border-box;width:100%;min-width:0;margin-top:6px;padding:10px;border:1px solid #d4d5ca;border-radius:8px;font:inherit;min-height:44px}.serving-actions{display:flex;gap:8px;flex-wrap:wrap}#serving-basis,#serving-status{font-size:13px;line-height:1.5;color:#655d50}#serving-panel{margin-bottom:16px}#library-status,#library-empty{font-size:14px}#recipes[hidden]{display:none}@media(min-width:760px){.recipe-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.library-open img{height:175px}}@media(max-width:350px){.library-heading{align-items:flex-start;flex-direction:column}.library-open img{height:110px}}
.library-views button,.archive-recipe,.selected-recipe-heading button,.serving-actions button{border:1px solid #c8cdc4;border-radius:10px;background:#fffdf8;color:#294b37;min-height:44px;padding:10px 14px}.library-views [aria-pressed=true]{background:#294b37;color:white;border-color:#294b37}.library-open:focus-visible,.archive-recipe:focus-visible{outline:3px solid #c0734c;outline-offset:-3px}
.scaling-note{font-size:12px;line-height:1.4;color:#776d5e;margin:0 0 10px}.immersive .scaling-note{color:#d1d9ce;margin:0 0 8px}
.recipe-actions{align-self:flex-end;margin:0 8px 6px;position:relative}.recipe-actions summary{list-style:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;font-size:24px;cursor:pointer;border-radius:10px;color:#655e53}.recipe-actions summary::-webkit-details-marker{display:none}.recipe-actions summary:hover{background:#eceee6}.recipe-actions[open] .archive-recipe{position:absolute;right:0;bottom:44px;min-width:120px;margin:0!important;box-shadow:0 4px 18px #20362b20;background:#fffdf8;z-index:2}.recipe-library-card{overflow:visible}.library-open img{border-radius:15px 15px 0 0}
.verification-instruction{font-size:14px;line-height:1.5;margin:12px 0 8px;white-space:pre-line}#verify-step{min-height:44px;border:1px solid #c8cdc4;border-radius:10px;padding:10px 14px;background:#fffdf8;color:#294b37;margin-bottom:12px}#verify-step:disabled{opacity:.65}
.ingredient-check{display:flex;align-items:flex-start;gap:12px;min-height:44px;cursor:pointer;padding:4px 0}.ingredient-check input{flex:none;width:22px;height:22px;margin:2px 0 0;accent-color:#294b37}.ingredient-check div{min-width:0;display:grid;gap:4px;flex:1}.ingredient-check span{display:block}.ingredient-check:has(input:checked){color:#42664c}

.clip-group-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;flex-wrap:wrap}.clip-group-controls span{font-size:12px;color:#35583e}.clip-group-controls button{min-height:44px;font-size:12px}.clip-list-item.shares-selected-clip{border-color:#90a98c;background:#f0f5ed}.clip-list-item.selected{border-color:#315c40;box-shadow:inset 0 0 0 1px #315c40}
