.rd-hero{position:relative;overflow:hidden;background:#071b34;color:#fff}
.rd-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,27,52,.97),rgba(7,27,52,.7)),url("../img/stories/caboose-interior.jpg") center/cover}
.rd-hero .wrap{position:relative;padding-top:64px;padding-bottom:74px}
.rd-hero h1{font-size:clamp(2.7rem,10vw,5.4rem);max-width:10ch;margin:.1em 0}
.rd-hero .lede{max-width:58ch;color:#e3edf7;font-size:1.08rem}
.rd-badge{display:inline-flex;align-items:center;gap:.45rem;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:.35rem .75rem;font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.rd-mode{border:2px solid #a15c00;background:#fff4d6;color:#573000;border-radius:14px;padding:16px 18px;margin:20px 0}
.rd-mode strong{display:block;font-size:1.05rem}
.rd-privacy{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}
.rd-privacy>div{background:var(--mc-cream);border:1px solid var(--mc-line);border-radius:12px;padding:14px;font-weight:700}
.rd-privacy span{display:block;color:var(--mc-teal);font-size:1.25rem}
.rd-missions{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.rd-mission{appearance:none;text-align:left;background:var(--mc-cream);color:var(--mc-ink);border:2px solid var(--mc-line);border-radius:18px;padding:20px;cursor:pointer;font:inherit;min-height:148px}
.rd-mission:hover,.rd-mission:focus-visible{border-color:var(--mc-teal);box-shadow:var(--mc-shadow-sm)}
.rd-mission strong{font-family:"Fraunces",Georgia,serif;font-size:1.5rem;display:block;color:var(--mc-navy)}
.rd-mission span{display:block;margin-top:8px;color:var(--mc-muted)}
.rd-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}
.rd-progress{flex:1;min-width:180px}
.rd-progress-track{height:12px;background:var(--mc-line);border-radius:999px;overflow:hidden;margin-top:5px}
.rd-progress-bar{height:100%;background:var(--mc-teal);transition:width .25s}
.rd-card{background:var(--mc-cream);border:1px solid var(--mc-line);border-radius:22px;padding:clamp(20px,5vw,34px);box-shadow:var(--mc-shadow-sm)}
.rd-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:var(--mc-teal);font-weight:800}
.rd-card h2{font-size:clamp(1.8rem,7vw,2.8rem);margin:.25em 0}
.rd-prompt{font-size:1.08rem}
.rd-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.rd-hint{border-left:4px solid var(--mc-gold);background:var(--mc-paper-2);padding:12px 14px;margin:12px 0}
.rd-options{display:grid;gap:10px;margin:16px 0}
.rd-option{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;background:var(--mc-paper-2);color:var(--mc-ink);border:2px solid var(--mc-line);border-radius:12px;padding:13px 14px;min-height:48px;font:inherit;cursor:pointer}
.rd-option[aria-pressed="true"]{border-color:var(--mc-navy);box-shadow:0 0 0 2px var(--mc-gold)}
.rd-option.correct{border-color:#15803d;background:#eaf7ee;color:#12391f}
.rd-option.wrong{border-color:#b91c1c;background:#fbeaea;color:#551313}
.rd-proof{border-top:1px solid var(--mc-line);margin-top:20px;padding-top:20px}
.rd-proof label{font-weight:800;display:block;margin-bottom:6px}
.rd-proof-row{display:flex;gap:8px;align-items:stretch}
.rd-proof input{min-width:0;flex:1 1 260px;min-height:52px;padding:12px 14px;border:2px solid var(--mc-line);border-radius:10px;background:var(--mc-paper-2);color:var(--mc-ink);font:700 1.1rem/1.35 ui-monospace,Consolas,monospace;text-transform:uppercase;letter-spacing:.05em}
.rd-status{min-height:1.5em;margin-top:10px;font-weight:700}
.rd-status.error{color:#a21b1b}.rd-status.ok{color:#166534}
.rd-story{background:#eaf7ee;color:#12391f;border:1px solid #68a67a;border-radius:14px;padding:18px;margin-top:18px}
.rd-story h3{margin-bottom:6px}
.rd-nav{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:20px}
.rd-complete{text-align:center;padding:30px 18px}
.rd-complete h2{font-size:clamp(2rem,8vw,3.2rem)}
.rd-cert{background:#f8efd9;color:#132a46;border:8px double #173e68;padding:clamp(24px,7vw,58px);max-width:850px;margin:24px auto;text-align:center;position:relative}
.rd-cert::before,.rd-cert::after{content:"";position:absolute;left:18px;right:18px;height:2px;background:#bd8622}.rd-cert::before{top:18px}.rd-cert::after{bottom:18px}
.rd-cert-mark{font-weight:900;letter-spacing:.18em;color:#8a5d11}
.rd-cert h2{font-size:clamp(2rem,7vw,3.8rem);margin:.25em 0}
.rd-cert-name{font-family:"Fraunces",Georgia,serif;font-size:clamp(1.8rem,6vw,3rem);border-bottom:2px solid #173e68;min-height:1.4em;margin:20px auto;max-width:14ch}
.rd-cert-note{font-size:.82rem;margin-top:20px}
.rd-name{max-width:430px;margin:20px auto}.rd-name label{display:block;font-weight:800}.rd-name input{width:100%;padding:12px;border:2px solid var(--mc-line);border-radius:10px;font:inherit}
.rd-name input{min-height:52px}
.rd-local{background:var(--mc-paper-2);border:1px solid var(--mc-line);border-radius:14px;padding:18px;margin-top:30px}
.rd-local summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-weight:800}
.rd-offline{border:1px solid var(--mc-line);border-radius:12px;padding:14px;color:var(--mc-muted)}
html[data-contrast="high"] .rd-mission,html[data-contrast="high"] .rd-card,html[data-contrast="high"] .rd-option{border-color:currentColor}
@media(max-width:720px){.rd-privacy{grid-template-columns:1fr 1fr}.rd-missions{grid-template-columns:1fr}.rd-mission{min-height:52px}.rd-proof-row{flex-direction:column}.rd-proof-row .btn{width:100%;justify-content:center}}
@media(max-width:410px){.rd-privacy{grid-template-columns:1fr}.rd-toolbar .btn{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.rd-progress-bar{transition:none}}
@media print{
  body *{visibility:hidden!important}
  #rdCertificate,#rdCertificate *{visibility:visible!important}
  #rdCertificate{position:absolute;inset:0;width:100%;max-width:none;margin:0;break-inside:avoid}
  @page{size:landscape;margin:.35in}
}
