/* All Saints Cathedral design walk: additions on top of the shared /assets/game/bridge.css layout. */
.as-page .bridge-game{background:#3b3428}
.as-page .game-panel{background:linear-gradient(90deg,#2a2219eb,#2a221980 55%,transparent)}
.as-page .game-panel h2{font-size:clamp(34px,4.8vw,62px)}
.as-page .game-touch .game-run{width:auto;min-width:64px;padding:0 14px;font:600 13px system-ui}
.as-page .game-touch .game-run[aria-pressed="true"]{background:#b27c38}
/* Viewfinder: four corner brackets that turn gold when a detail is framed. */
.game-finder{position:absolute;left:50%;top:50%;width:min(240px,46vw);height:min(160px,30vw);transform:translate(-50%,-50%);pointer-events:none;z-index:2}
.game-finder i{position:absolute;width:26px;height:26px;border:3px solid #ffffffb3;transition:border-color .15s}
.game-finder i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0}
.game-finder i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0}
.game-finder i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0}
.game-finder i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0}
.game-finder.ready i{border-color:#ffc55a}
.game-finder span{position:absolute;left:50%;bottom:-30px;transform:translateX(-50%);white-space:nowrap;font:600 12px system-ui;color:#ffd38a;text-shadow:0 1px 3px #000}
.game-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:4}
.game-flash.on{animation:asflash .45s ease-out}
@keyframes asflash{0%{opacity:.85}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.game-flash.on{animation:none}}
.as-page .game-snap{position:absolute;right:22px;bottom:64px;z-index:3;min-width:96px;padding:14px 20px;border-radius:999px;background:#2a2219db;font:700 14px system-ui}
.as-page .game-snap.ready{background:#ffc55a;color:#2c2116;border-color:#ffc55a}
.bridge-game:has(.game-panel:not([hidden])) .game-finder,
.bridge-game:has(.game-panel:not([hidden])) .game-snap,
.exterior-view .game-finder,.exterior-view .game-snap{display:none}
/* The photo journal shown when the walk is paused or complete. */
.game-album{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;max-width:820px;margin:8px 0 14px}
.game-album[hidden]{display:none}
.game-album figure{margin:0;background:#00000040;border-radius:8px;overflow:hidden}
.game-album img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover}
.game-album figcaption{font:600 11px/1.4 system-ui;padding:6px 8px;color:#f3e6d4}
@media (max-height:780px) and (min-width:641px){
 .as-page .game-panel{padding-top:134px}
 .as-page .game-panel h2{font-size:clamp(32px,4vw,48px);margin:6px 0 12px}
 .as-page .bridge-game:has(.game-panel:not([hidden])){min-height:min(620px,86svh)}
}
@media (max-width:640px){
 .as-page .bridge-hud small{font-size:10px}
 .as-page .game-snap{bottom:118px;right:16px}
}