:root{--character-offset:132px}
#app.character-active{padding-top:var(--character-offset)}
.character-active .d-rail{top:var(--character-offset);height:calc(100svh - var(--character-offset))}
.character-active .d-topline [data-clock]{display:none}
.character-hud{position:fixed;inset:0 0 auto;z-index:700;padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));color:#ebe8d9;background:#102027;border-bottom:1px solid #8faaa64a;box-shadow:0 8px 30px #0003;isolation:isolate}
.ch-top{height:47px;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1600px;margin:auto}
.ch-game-name{font:500 24px Cormorant,Georgia,serif;letter-spacing:.025em;color:#c9c7af}
.ch-game-name b{color:#c5dbbe;font-weight:500}
.ch-timer{display:flex;align-items:center;gap:13px;white-space:nowrap}
.ch-timer>span{font-size:10px;color:#aabbb4}
.ch-timer time{font:500 19px/1.2 Manrope,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.06em;color:#e1e6cf}
.ch-status{display:grid;grid-template-columns:1fr 1fr 1.6fr 1.6fr 1fr;max-width:1600px;margin:auto;border-top:1px solid #8faaa626;padding:8px 0;gap:8px}
.ch-cell{min-width:0;min-height:64px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #adc2ad29;border-radius:10px;background:#ffffff04;color:#e1e5d6}
button.ch-cell{cursor:pointer;transition:background .25s,border-color .25s}
button.ch-cell:hover{background:#bdd1b511;border-color:#bfd3ab77}
button.ch-cell:focus-visible{outline:2px solid #d5e5ba;outline-offset:2px}
.ch-icon,.ch-bag>.icon{width:31px;height:31px;flex-shrink:0}
.ch-stat{position:relative;gap:9px;padding-bottom:13px}
.ch-stat strong{font-size:24px;font-weight:600;font-variant-numeric:tabular-nums}
.ch-stat>span{position:absolute;bottom:6px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:.04em;color:#bdc9c2}
.ch-health>.ch-icon{color:#ce887d}.ch-sanity>.ch-icon{color:#9db4d5}
.ch-hand-art{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center}
.ch-hand.left .ch-icon{transform:scaleX(-1)}
.ch-hand-art img{display:block;width:100%;height:100%;object-fit:contain;border-radius:6px}
.ch-caption{font-size:11px;min-width:0;text-align:left}
.ch-caption small,.ch-bag small{display:block;font-size:9px;line-height:1.3;color:#aabbb2;margin-top:4px;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-bag>span{font-size:11px;text-align:left}
.ch-inventory{color:#e0e4d8}.ch-inventory h2{color:#eee7ce}.character-modal{max-width:700px;background:#14242a;border-color:#94b29a55}
.ch-bag-help{font-size:13px;color:#adbfB4;line-height:1.6;margin-top:12px}
.ch-items{margin-top:22px;display:grid;gap:12px}.ch-item{display:grid;grid-template-columns:84px minmax(0,1fr);gap:17px;align-items:center;padding:17px;border:1px solid #bed0b329;border-radius:12px;background:#d5dec305}
.ch-item>img{width:84px;height:84px;object-fit:contain;border-radius:8px}
.ch-item h3{font:500 24px/1.15 Cormorant,Georgia,serif;color:#ece6d3;margin:0 0 8px}
.ch-item p{font-size:10px;color:#aabfb2;margin:0 0 12px}
.ch-item-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ch-item-actions .btn{font-size:10px;min-height:38px;padding:8px 13px;color:#e2e4ce;border-color:#c5cead55;background:#3b51483b}
.ch-item-actions .text-link{font-size:10px;color:#bfceac;padding:8px 0}.ch-empty-hand{margin-top:18px}.ch-empty{font-size:14px;line-height:1.7}
/* All location photographs retain their full frame, with story and choices below. */
.aw-page{max-width:1180px}.aw-primary{display:block;min-height:0}.aw-photo{height:min(70vw,680px);min-height:240px}.aw-photo>img{object-fit:contain;height:100%;width:100%;min-height:0}
.aw-copy{padding:32px clamp(22px,4vw,52px) 36px}.aw-text{max-width:960px}.aw-thumbnails{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.aw-thumb{max-width:340px;aspect-ratio:4/3}.aw-thumb strong{font-size:13px;line-height:1.25}.aw-thumb>span{padding-top:40px}.aw-new{position:absolute;top:9px;right:9px;font-size:8px;padding:5px 7px;border-radius:5px;background:#172c2ce8;color:#dcebd0;font-style:normal}
.aw-heading h1{font-size:clamp(2rem,4vw,3.3rem)}
/* Readable intro: text fades, without blur, perspective or per-letter distortion. */
.intro.leaving{filter:none;transition:opacity .45s}
.v-makers{animation:ch-makers 5.2s linear both;filter:none}
.v-maker,.v-maker img,.v-makers-caption,.v-makers-present{filter:none!important;transform:none!important;text-shadow:none}
.v-makers-caption{font-size:12px;line-height:1.7;color:#eff0dc;letter-spacing:.08em}
.v-makers-present{font-size:25px;color:#e0e4cf}
.v-game-title{animation:ch-title .65s 5s ease both;filter:none;perspective:none}
.v-game-title h1{display:block;text-align:center;font-size:clamp(42px,7.2vw,96px);line-height:1.06;max-width:88vw;color:#eee6ce;letter-spacing:.01em}
.v-game-title h1>span{display:block;animation:none;transform:none;filter:none}
.v-game-title h1>span:last-child{font-size:1.1em}.v-game-title h1 b{font-weight:500;color:#d9e4ba}
.v-title-sub,.v-title-kicker,.v-game-title p{animation:none;filter:none;opacity:1}
.v-title-sub span{font-size:11px;letter-spacing:.12em}.v-title-sub i{animation:none!important}.v-title-kicker{font-size:11px;color:#d7dfc7}
.v-overture-track>i{animation-duration:11s}.brand strong{font-size:19px;letter-spacing:.03em;line-height:1.12}.brand small{font-size:10px;letter-spacing:.17em}
@keyframes ch-makers{0%{opacity:0}8%,89%{opacity:1}100%{opacity:0}}
@keyframes ch-title{from{opacity:0}to{opacity:1}}
@media(max-width:900px){.ch-caption small{max-width:95px}.ch-cell{gap:7px}.ch-game-name{font-size:22px}}
@media(max-width:800px){.aw-photo{height:auto;min-height:0;aspect-ratio:4/3}.aw-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr))}.aw-thumb{max-width:none}.ch-status{grid-template-columns:1fr 1fr 1.3fr 1.3fr 1fr;gap:5px}.ch-cell{min-height:65px}.ch-hand,.ch-bag{flex-direction:column;gap:2px;padding:4px 3px}.ch-hand-art{width:28px;height:28px}.ch-icon,.ch-bag>.icon{width:27px;height:27px}.ch-caption,.ch-bag>span{text-align:center;font-size:9px;line-height:1.15}.ch-caption small{max-width:105px;font-size:8px;margin-top:3px}.ch-bag small{display:none}.ch-timer{gap:8px}.ch-timer time{font-size:17px}.ch-stat strong{font-size:22px}.ch-stat{gap:4px}.character-hud{padding-inline:max(9px,env(safe-area-inset-right))}.character-active .d-topline{height:54px;padding-top:0}.ch-item{grid-template-columns:58px minmax(0,1fr);gap:12px;padding:12px}.ch-item>img{width:58px;height:66px}.ch-item h3{font-size:23px}.v-makers-caption{font-size:11px}.v-makers-present{font-size:24px}.v-game-title h1{font-size:clamp(40px,10vw,72px)}.v-title-sub{width:260px}.v-title-sub span{font-size:10px;letter-spacing:.1em}}
@media(max-width:390px){.ch-game-name{font-size:19px}.ch-timer{display:grid;gap:2px;text-align:right}.ch-timer>span{font-size:8px}.ch-top{height:45px}.ch-cell{border-radius:8px}.ch-stat>.ch-icon{width:23px;height:23px}.ch-caption{font-size:8px}.ch-caption small{max-width:66px}.aw-text{font-size:calc(1.4rem * var(--font-scale,1))}}
.reduce-motion .v-makers{animation:none;display:none}.reduce-motion .v-game-title{animation:none;opacity:1}.reduce-motion button.ch-cell{transition:none}
@media(prefers-reduced-motion:reduce){button.ch-cell{transition:none}.v-makers{display:none}.v-game-title{animation:none;opacity:1}}

@media(max-width:760px){.character-active .d-rail{height:0;top:auto}}
.v-maker,.v-maker-divider{animation:none!important;filter:none;opacity:1}
.v-maker-dosug img{filter:invert(1) sepia(.15)!important}
