:root{--dr-ink:#2b241d;--dr-muted:#756a5e;--dr-paper:#fdfaf4;--dr-cream:#f7f1e6;--dr-line:#e6dccc;--dr-red:#b8432c;--dr-red-dark:#963824;--dr-green:#5e7045;--dr-white:#fff}
.dinner-rescue-page{background:var(--dr-paper)}
.dr-main{font-family:'DM Sans',Arial,sans-serif;padding:34px 0 78px}
.dr-shell{width:min(1120px,calc(100% - 32px));margin:0 auto}
.dr-hero{max-width:820px;margin:0 auto 28px;text-align:center}
.dr-kicker{margin:0 0 6px;color:var(--dr-red);font-weight:800;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.dr-hero h1{font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(2.25rem,6vw,4.5rem);line-height:1.02;letter-spacing:-.045em;color:var(--dr-ink);margin:0 0 14px}
.dr-hero p{max-width:680px;margin:0 auto;color:#4d443a;font-size:1rem;line-height:1.65}
.dr-no-ai{display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:7px 11px;border:1px solid var(--dr-line);border-radius:999px;background:var(--dr-cream);color:var(--dr-muted);font-size:.76rem;font-weight:700}
.dr-panel{background:var(--dr-white);border:1px solid var(--dr-line);border-radius:16px;box-shadow:0 10px 28px rgba(60,35,15,.07);overflow:hidden}
.dr-builder{padding:24px}
.dr-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 22px}
.dr-progress span{height:5px;border-radius:99px;background:var(--dr-line)}
.dr-progress span.is-filled{background:var(--dr-red)}
.dr-step{padding:22px 0;border-top:1px solid #efe8dd}
.dr-step:first-of-type{border-top:0;padding-top:0}
.dr-step-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.dr-step-head h2{font-family:'Libre Baskerville',Georgia,serif;font-size:1.28rem;line-height:1.25;margin:0;padding:0;border:0;color:var(--dr-ink)}
.dr-step-head span{font-size:.76rem;color:var(--dr-muted)}
.dr-options{display:flex;flex-wrap:wrap;gap:9px}
.dr-option{appearance:none;border:1.5px solid var(--dr-line);background:var(--dr-cream);color:var(--dr-ink);border-radius:999px;padding:9px 14px;font:700 .82rem 'DM Sans',Arial,sans-serif;cursor:pointer;transition:border-color .15s,background .15s,color .15s,transform .15s}
.dr-option:hover{border-color:var(--dr-red);transform:translateY(-1px)}
.dr-option:focus-visible,.dr-run:focus-visible,.dr-reset:focus-visible,.dr-result-card:focus-visible{outline:3px solid rgba(184,67,44,.27);outline-offset:2px}
.dr-option[aria-pressed="true"]{background:var(--dr-ink);border-color:var(--dr-ink);color:#fff}
.dr-option--any{border-style:dashed}
.dr-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px;padding-top:22px;border-top:1px solid #efe8dd}
.dr-run{border:0;border-radius:999px;background:var(--dr-red);color:#fff;padding:12px 22px;font:800 .86rem 'DM Sans',Arial,sans-serif;cursor:pointer}
.dr-run:hover{background:var(--dr-red-dark)}
.dr-reset{border:0;background:transparent;color:var(--dr-muted);font:700 .8rem 'DM Sans',Arial,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.dr-live{margin-left:auto;color:var(--dr-muted);font-size:.8rem}
.dr-results{margin-top:28px}
.dr-results-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}
.dr-results-head h2{font-family:'Libre Baskerville',Georgia,serif;margin:0;padding:0;border:0;font-size:1.75rem;color:var(--dr-ink)}
.dr-results-head p{margin:4px 0 0;color:var(--dr-muted);font-size:.85rem}
.dr-summary{font-size:.78rem;color:var(--dr-muted);text-align:right}
.dr-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.dr-result-shell{position:relative;min-width:0}
.dr-result-card{height:100%;display:flex;flex-direction:column;background:#fff;border:1px solid var(--dr-line);border-radius:13px;overflow:hidden;color:var(--dr-ink);text-decoration:none;transition:transform .16s,box-shadow .16s}
.dr-result-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(60,35,15,.1);text-decoration:none}
.dr-result-image{aspect-ratio:16/10;background:#eee6da center/cover no-repeat}
.dr-result-body{display:flex;flex-direction:column;gap:9px;flex:1;padding:15px 16px 17px}
.dr-result-body h3{font-family:'Libre Baskerville',Georgia,serif;font-size:1.05rem;line-height:1.32;margin:0;color:var(--dr-ink)}
.dr-result-body p{margin:0;color:var(--dr-muted);font-size:.78rem;line-height:1.48;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dr-match-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.dr-match-badge{display:inline-flex;align-items:center;border-radius:999px;background:#f4efe6;border:1px solid #e7ddd0;padding:4px 7px;font-size:.68rem;font-weight:700;color:#5b5146}
.dr-match-badge.is-match{background:#edf2e8;border-color:#cad6bf;color:#435535}
.dr-match-note{font-size:.73rem;font-weight:800;color:var(--dr-red);margin-top:1px}
.dr-result-shell>.rb-heart{top:10px;right:10px}
.dr-recovery{margin:0 0 18px;padding:15px 17px;background:#fff8ee;border:1px solid #ead5b3;border-radius:10px;color:#5b4b38;font-size:.86rem;line-height:1.55}
.dr-recovery strong{display:block;color:var(--dr-ink);margin-bottom:3px}
.dr-recovery button{margin:10px 8px 0 0;border:1px solid var(--dr-line);background:#fff;border-radius:999px;padding:7px 11px;color:var(--dr-ink);font:700 .75rem 'DM Sans',Arial,sans-serif;cursor:pointer}
.dr-empty{padding:30px;text-align:center;background:#fff;border:1px dashed var(--dr-line);border-radius:12px;color:var(--dr-muted)}
.dr-explain{margin-top:34px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.dr-explain article{background:var(--dr-cream);border:1px solid var(--dr-line);border-radius:12px;padding:20px}
.dr-explain h2{font-family:'Libre Baskerville',Georgia,serif;font-size:1.15rem;margin:0 0 8px;padding:0;border:0}
.dr-explain p{margin:0;color:#5c5248;font-size:.84rem;line-height:1.62}
.dr-start-hint{font-size:.78rem;color:var(--dr-muted);margin-top:8px}
@media(max-width:880px){.dr-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dr-explain{grid-template-columns:1fr}}
@media(max-width:640px){.dr-shell{width:min(100% - 20px,1120px)}.dr-main{padding-top:24px}.dr-builder{padding:18px}.dr-step{padding:18px 0}.dr-step-head{display:block}.dr-step-head span{display:block;margin-top:3px}.dr-option{padding:9px 12px}.dr-live{width:100%;margin-left:0}.dr-result-grid{grid-template-columns:1fr}.dr-results-head{display:block}.dr-summary{text-align:left;margin-top:6px}.dr-progress{gap:5px}}
@media(prefers-reduced-motion:reduce){.dr-option,.dr-result-card{transition:none}.dr-option:hover,.dr-result-card:hover{transform:none}}
