/* Fixed artwork and quiet transitions; the story, rather than the camera, moves. */
.narrative-progress{width:100%;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:0!important;margin-bottom:24px!important}
.narrative-progress button{min-width:0;min-height:52px;padding:10px 12px!important;white-space:normal;font-size:1rem!important;line-height:1.5!important}
.narrative-progress button span{font-size:.85rem!important;display:inline-block;margin-right:8px}
.narrative-judgment,.narrative-film,.narrative-handoff,.narrative-coda{color:#d4d4c8;font-size:1.0625rem;line-height:1.75}
.narrative-judgment{max-width:1050px;margin:0 auto;padding:clamp(20px,3vw,36px);background:#15262de8;border-top:1px solid #baa07188}
.narrative-judgment header>span,.narrative-film-top,.narrative-caption>span{color:#c4ad81;font-size:.875rem;letter-spacing:.04em}
.narrative-judgment h1,.narrative-caption h1{font:500 clamp(1.65rem,3.2vw,2.3rem)/1.5 var(--locale-serif,"Songti SC"),Georgia,serif;color:#e4d4b1;margin:10px 0 14px}
.narrative-judgment h2{font:500 1.5rem/1.6 var(--locale-serif,"Songti SC"),Georgia,serif;color:#e0ccaa;margin:24px 0 10px}
.narrative-judgment h3{font:500 1.2rem/1.6 var(--locale-serif,"Songti SC"),Georgia,serif;margin:0 0 14px;color:#d8c7a7}
.narrative-judgment p,.narrative-caption p{max-width:none;margin:12px 0;font-size:1.0625rem;line-height:1.8}
.narrative-judgment button,.narrative-handoff button,.narrative-film-controls button{font:inherit;line-height:1.6;white-space:normal;cursor:pointer;min-height:46px;touch-action:manipulation}
.narrative-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.narrative-options button{padding:14px 16px;text-align:left;border:1px solid #83968b70;background:#213237;color:#d4d5c7;border-radius:2px}
.narrative-options button[aria-pressed=true]{border-color:#d5b476;background:#4a4333;box-shadow:inset 3px 0 #c3a474;color:#f0dfbc}
.narrative-options button:focus-visible,.narrative-actions button:focus-visible,.narrative-film-controls button:focus-visible{outline:2px solid #e2bf7d;outline-offset:3px}
.narrative-actions{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;padding-top:24px;margin-top:28px;border-top:1px solid #bba47540}
.narrative-actions button{padding:12px 17px}.narrative-actions button:disabled{opacity:.4;cursor:default}
.narrative-contradiction{display:grid;grid-template-columns:1fr auto 1fr;gap:25px;align-items:center;margin:28px 0 32px;padding:22px 0;border-block:1px solid #bba47540}
.narrative-contradiction>div{display:flex;flex-direction:column;gap:8px}.narrative-contradiction span,.narrative-sequence span{font-size:.875rem;color:#aabbba}
.narrative-contradiction strong{font:500 clamp(1.15rem,2.3vw,1.5rem)/1.5 var(--locale-serif,"Songti SC"),Georgia,serif;color:#ddccb0}.narrative-contradiction>b{font:400 2rem Georgia,serif;color:#b48d63}
.narrative-wounds{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}.narrative-wounds>section{min-width:0}.narrative-wounds .narrative-options button:last-child{grid-column:1/-1}
.narrative-knife{display:flex;align-items:center;gap:22px;margin-top:28px;border-top:1px solid #bba47540;padding-top:24px}.narrative-knife .moor-mark{width:60px;height:60px;flex:none;color:#c8ad7d}.narrative-knife p{margin:0 0 16px;color:#bbc4bd}
.narrative-review{padding:24px;border-left:3px solid #bc9b68;background:#233438}.narrative-review.is-blocked{border-color:#b97664}.narrative-review.is-match{border-color:#a8ba91}.narrative-review>span{font-size:.875rem;color:#b6bba9}
.narrative-draft{padding:14px 0;border-bottom:1px solid #bba47540;color:#e0cda8}.narrative-hint{padding:15px 0 0;border-top:1px solid #bba47540;color:#d2c6a6}
.narrative-sequence{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px;padding-bottom:20px;border-bottom:1px solid #bba47540}.narrative-sequence>div{display:flex;flex-direction:column;gap:8px}.narrative-sequence strong{font-weight:500;color:#e0cda8}
.narrative-handoff{display:flex;justify-content:space-between;align-items:center;gap:22px;margin:26px 0 12px;padding:23px 25px;border-top:1px solid #bba47570;background:#14262ce8}.narrative-handoff span{font:500 1.25rem/1.6 var(--locale-serif,"Songti SC"),Georgia,serif;color:#d2c19d}.narrative-handoff p{margin:6px 0 0!important;font-size:1rem!important}.narrative-handoff button{flex-shrink:0;padding:12px 20px}.narrative-handoff.is-ready{border-color:#cbb384}
.narrative-film{background:#101e25ec;border-top:1px solid #bba47570}.narrative-film-top{display:flex;justify-content:space-between;padding:14px 24px;border-bottom:1px solid #bba47535}.narrative-film-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:0}.narrative-film-body>.moor-film-screen{width:100%;aspect-ratio:1/1;min-height:0;height:auto!important;border:0}.narrative-caption{padding:24px 30px;min-width:0}.narrative-caption small{display:block;color:#aebaae;font-size:.875rem;line-height:1.6;border-top:1px solid #bba47540;padding-top:15px;margin-top:20px}.narrative-film-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:17px 24px;border-top:1px solid #bba47540}.narrative-film-controls button{padding:8px 13px}.narrative-film-controls button:disabled{opacity:.35;cursor:default}
.narrative-map{padding:16px;min-width:0}.narrative-map .archive-plan{margin:0;min-height:480px!important}.narrative-map .archive-passage{transition:none!important;animation:none!important}.narrative-map .archive-returned-person{animation:none!important}.narrative-coda{padding:22px 25px;border-left:2px solid #bba47570;margin-top:22px;background:#17272be0}.narrative-coda p{margin:0;font-size:1rem!important}
@media(max-width:760px){
 .narrative-progress button{font-size:.9375rem!important;padding:9px 4px!important;line-height:1.6!important}.narrative-progress button span{display:block;margin:0;font-size:.75rem!important}.narrative-progress{margin-bottom:18px!important}
 .narrative-judgment{padding:22px 16px}.narrative-judgment h1,.narrative-caption h1{font-size:1.75rem}.narrative-judgment p,.narrative-caption p{font-size:1rem}.narrative-wounds{grid-template-columns:1fr;gap:24px}.narrative-contradiction{gap:13px;padding:18px 0}.narrative-contradiction strong{font-size:1.15rem}.narrative-contradiction span{font-size:.875rem}.narrative-options button{font-size:1rem;padding:12px}.narrative-review{padding:19px 15px}.narrative-sequence{grid-template-columns:1fr;gap:12px}.narrative-sequence>div{flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:8px}.narrative-knife{gap:13px}.narrative-knife .moor-mark{width:42px}
 .narrative-actions{flex-direction:column;align-items:stretch;gap:10px}.narrative-handoff{flex-direction:column;align-items:stretch;padding:20px 17px}.narrative-handoff button{align-self:flex-start}.narrative-film-body{grid-template-columns:1fr}.narrative-film-body>.moor-film-screen{aspect-ratio:4/3}.narrative-caption{padding:22px 20px}.narrative-film-top{padding:12px 20px}.narrative-film-controls{padding:14px;gap:8px 12px}.narrative-film-controls button{font-size:.9375rem;padding:9px 10px}.narrative-map{padding:10px}.narrative-map .archive-plan{min-height:410px!important}.narrative-coda{padding:20px 18px}
}
@media(max-width:360px){.narrative-options{grid-template-columns:1fr}.narrative-progress button{font-size:.875rem!important}.narrative-contradiction{gap:9px}}
@media(prefers-reduced-motion:reduce){.narrative-film *{animation:none!important;transition:none!important}}
.narrative-actions .text-link,.narrative-film-controls .text-link,.narrative-review .text-link{background:transparent!important;border-color:transparent!important;color:#c0c9bc!important;box-shadow:none!important;text-decoration:underline;text-underline-offset:5px}

/* A correct submitted explanation receives a clear, case-specific success state. */
.narrative-review.is-match{border-color:#dbb773;background:linear-gradient(120deg,#3b4436,#233438 72%);box-shadow:inset 0 1px #dcc08a25}
.narrative-review-label{display:flex;align-items:center;gap:10px;line-height:1.5}
.narrative-review.is-match>.narrative-review-label{color:#edcf91;font-weight:600;font-size:1rem}
.narrative-review-label svg{width:26px;height:26px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.narrative-review.is-match h2{color:#f0dbab}
.narrative-coda summary{cursor:pointer;min-height:44px;align-content:center;color:#d8c7a7}
.narrative-coda[open] p{margin-top:12px}
