.recipe-tabs{display:flex;gap:7px;margin:-4px 0 22px;border-bottom:1px solid var(--line)}
.recipe-tabs button{border:0;border-radius:9px 9px 0 0;background:transparent;color:#6c7680;font-size:14px;padding:11px 15px}
.recipe-tabs button[aria-pressed=true]{color:var(--accent-dark);font-weight:700;box-shadow:inset 0 -3px var(--accent)}
.recipe-tabs button:hover{background:var(--tint)}
.browse-list{align-items:start}
.browse-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 4px 18px #49382808}
.browse-card-main{display:flex;align-items:center;gap:12px;width:100%;min-height:96px;padding:12px;text-align:left;border:0;border-radius:0;background:transparent}
.browse-card-main:hover{background:#fffaf6}
.browse-card-photo{display:grid;place-items:center;flex:none;width:76px;height:72px;overflow:hidden;border-radius:11px;background:var(--tint);color:var(--accent-dark);font-size:28px;font-weight:700}
.browse-card-photo img{width:100%;height:100%;object-fit:cover}
.browse-card-copy{flex:1;min-width:0}
.browse-card-copy strong,.browse-card-copy small{display:block}
.browse-card-copy strong{color:#27313f;font-size:15px;line-height:1.3}
.browse-card-copy small{margin-top:6px;font-size:12px;line-height:1.35}
.browse-card-main>span:last-child{font-size:24px;color:#87909a}
.browse-card-actions{display:flex;gap:8px;padding:0 12px 12px}
.browse-card-actions button{flex:1;padding:8px;font-size:13px}
.browse-status,.browse-error{font-size:14px;margin:0 0 16px}
.browse-error{color:#a33d34}
.browse-more{display:block;margin:20px auto 0}
#browse-search{padding-right:5px}
#browse-search button{padding:7px 12px;border-radius:8px;background:var(--tint);color:var(--accent-dark);font-size:13px;font-weight:650}
.recipe-detail .modal-head{margin-bottom:16px}
#editor:has(.recipe-detail){width:min(920px,calc(100% - 24px));max-height:94dvh}
.recipe-detail-photo{display:block;width:100%;height:245px;object-fit:cover;border-radius:14px;margin-bottom:18px}
.recipe-detail-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:15px}
.recipe-detail-meta span,.recipe-status{display:inline-block;padding:6px 10px;border-radius:8px;background:var(--tint);color:var(--accent-dark);font-size:12px;font-weight:650}
.recipe-author,.recipe-description,.recipe-extra{font-size:14px;line-height:1.55;color:#5e6873}
.recipe-description{white-space:pre-wrap}
.recipe-extra{font-size:13px}
.recipe-detail-grid{display:grid;grid-template-columns:minmax(0, .88fr) minmax(0,1.12fr);gap:24px;margin:23px 0}
.recipe-detail-grid h3{font-size:17px;color:#27313f;margin:0 0 12px}
.recipe-ingredient-list,.recipe-step-list{list-style:none;padding:0;margin:0}
.recipe-ingredient-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.recipe-ingredient-list strong{white-space:nowrap;font-size:13px;color:var(--accent-dark)}
.recipe-step-list{display:grid;gap:12px}
.recipe-step-list li{display:flex;align-items:start;gap:12px}
.recipe-step-list li>span{display:grid;place-items:center;flex:none;width:27px;height:27px;border-radius:50%;background:var(--tint);color:var(--accent-dark);font-size:13px;font-weight:700}
.recipe-step-list p{margin:3px 0 0;font-size:14px;line-height:1.5;white-space:pre-wrap}
.recipe-detail-actions{position:sticky;bottom:-27px;z-index:1;margin:28px -27px -27px;padding:15px 27px;background:#fff;border-top:1px solid var(--line)}
.recipe-detail-actions button{padding:9px 12px;font-size:13px}
.publication-preview{display:grid;gap:5px;padding:14px;margin:15px 0;border:1px solid var(--line);border-radius:10px;background:#fffaf6}
.publication-preview span{font-size:13px;color:#68717d}
.publication-consent{display:flex;align-items:start;gap:10px;margin:18px 0;font-size:14px;line-height:1.5}
.publication-consent input{width:18px;height:18px;flex:none;margin-top:2px}
.report-reason{display:grid;gap:8px;font-size:14px;font-weight:650}
.report-reason textarea{min-height:115px;padding:12px;border:1px solid var(--line);border-radius:10px;resize:vertical}
#cooking{width:min(1060px,calc(100% - 20px));max-width:none;height:min(92dvh,900px);max-height:none;padding:0;overflow:hidden;border-radius:20px}
.cooking-shell{display:flex;flex-direction:column;height:100%;min-height:0}
.cooking-header{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:22px 28px 18px;border-bottom:1px solid var(--line)}
.cooking-header h2{margin:6px 0 0;font-size:25px;letter-spacing:-.03em}
.cooking-header button{border:0;padding:0 8px;font-size:30px}
.cooking-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);grid-template-rows:auto minmax(0,1fr) auto;gap:20px 25px;flex:1;min-height:0;overflow:auto;padding:20px 28px 26px}
.cooking-progress{grid-column:1/-1;display:grid;gap:8px;color:#6c7680;font-size:13px;font-weight:650}
.cooking-progress progress{width:100%;height:8px;accent-color:var(--accent)}
.cooking-photo{grid-column:1;grid-row:2;width:100%;height:100%;min-height:180px;max-height:280px;object-fit:cover;border-radius:13px}
.cooking-step{grid-column:1;grid-row:2;align-self:start;min-height:185px;padding:24px;background:#fffaf6;border:1px solid #f0dccb;border-radius:16px}
.cooking-photo+.cooking-step{grid-row:3}
.cooking-step h3{margin:0;font-size:clamp(18px,2vw,24px);line-height:1.45;font-weight:650;white-space:pre-wrap}
.cooking-step>p{white-space:pre-wrap;color:#65707b}
.cooking-timer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px}
.cooking-timer strong{font-size:27px;font-variant-numeric:tabular-nums;color:var(--accent-dark)}
.cooking-timer span{font-size:13px;color:#68717d}
.cooking-timer>div{display:flex;gap:7px;margin-left:auto}
.cooking-timer button{padding:7px 10px;font-size:12px}
.cooking-ingredients{grid-column:2;grid-row:2/4;align-self:stretch;min-height:0;overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
.cooking-ingredients summary{position:sticky;top:0;padding:17px 18px;background:#fff;color:#27313f;font-weight:700;cursor:pointer;border-bottom:1px solid var(--line)}
.cooking-serving-control{display:flex;align-items:center;gap:8px;padding:12px 18px;font-size:13px}
.cooking-serving-control input{width:67px;padding:7px;border:1px solid var(--line);border-radius:8px}
.cooking-serving-control small{margin-left:auto;white-space:nowrap}
.cooking-ingredients ul{list-style:none;padding:0 18px;margin:0}
.cooking-ingredients li{border-top:1px solid var(--line)}
.cooking-ingredients li label{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:13px;line-height:1.35}
.cooking-ingredients li input{flex:none;accent-color:var(--accent)}
.cooking-ingredients li span{flex:1}
.cooking-ingredients li strong{font-size:12px;color:var(--accent-dark);text-align:right}
.cooking-ingredients li:has(input:checked) span{text-decoration:line-through;color:#98a1aa}
.cooking-controls{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;padding-top:8px}
.cooking-controls button{min-width:130px}
.cooking-complete{display:grid;place-content:center;justify-items:center;gap:12px;flex:1;padding:30px;text-align:center}
.cooking-complete>span{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:var(--tint);color:var(--accent-dark);font-size:38px}
.cooking-complete h3{margin:0;font-size:26px}
.cooking-complete p{max-width:380px;margin:0 0 10px;color:#68717d;line-height:1.5}
@media(max-width:760px){
 .recipe-tabs{overflow-x:auto;white-space:nowrap}
 .recipe-detail-grid{grid-template-columns:1fr;gap:24px}
 .recipe-detail-photo{height:185px}
 .recipe-detail-actions{bottom:-21px;margin:25px -21px -21px;padding:13px 21px}
 #cooking{inset:0;width:100%;height:100dvh;max-height:none;border:0;border-radius:0}
 .cooking-header{padding:17px 18px 14px}
 .cooking-header h2{font-size:20px}
 .cooking-body{display:flex;flex-direction:column;gap:16px;padding:16px 18px 22px}
 .cooking-photo{height:165px;min-height:165px;max-height:165px}
 .cooking-step{width:100%;min-height:0;padding:20px}
 .cooking-step h3{font-size:19px}
 .cooking-ingredients{width:100%;min-height:0;max-height:none;overflow:visible}
 .cooking-controls{position:sticky;bottom:-22px;z-index:1;width:calc(100% + 36px);margin:auto -18px -22px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}
 .cooking-controls button{min-width:0;flex:1}
}
