.city-fortress,.city-lost{height:auto;min-height:100svh;padding-bottom:1px;background:#162e32}
.city-fortress .chapter-world,.city-lost .chapter-world{position:relative;inset:auto;padding:185px 16px 24px;background-position:center 46%}
.world-fortress{background-image:url('assets/fortress.webp')}.world-lost-chambers{background-image:url('assets/lost-chambers.webp')}.world-lost-treasure{background-image:url('assets/lost-treasure.webp')}
.city-fortress .chapter-shade,.city-lost .chapter-shade{background:linear-gradient(#0d242dde,#26434620 40%,#142d3270 80%,#162e32)}
.city-fortress .chapter-task,.city-lost .chapter-task{position:relative;inset:auto;margin:0 14px 14px;background:linear-gradient(135deg,#2c4147f5,#152c30f5)}
.city-fortress .chapter-heading h1,.city-lost .chapter-heading h1{font-size:27px}.end-scene{position:relative;z-index:4;min-height:220px}
.fortress-doors{display:flex;gap:8px;margin-bottom:18px}.fortress-doors>span{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:100px;padding:14px 6px;color:#e9cf9e;border:1px solid #bba373;border-radius:35px 35px 5px 5px;background:linear-gradient(135deg,#886846dd,#302d24ee);text-align:center}.fortress-doors svg{height:26px;width:26px}.fortress-doors strong{font-size:10px}.fortress-doors small{font-size:9px}.fortress-doors .current{border-color:#fff0ba}.fortress-doors .opened{color:#f7f4bc;background:linear-gradient(#728968e8,#324737ed);box-shadow:0 0 18px #fffbd63c}
.end-banner{padding:20px 16px;background:#15333be8;border:1px solid #dcbd7980;border-radius:12px;color:#fce8bc;text-align:center;line-height:1.7;font-size:13px;margin:14px 0}.end-banner strong{display:block;font:500 24px var(--serif)}.end-banner>span{font-size:11px}.end-frieze{display:flex;justify-content:center;gap:6px;margin:15px 0;flex-wrap:wrap}.end-frieze>span{display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 7px;color:#fff0b9;background:#876c43e8;border:1px solid #d1b17c;border-radius:7px;min-width:40px}.end-frieze svg{height:25px;width:25px}.end-frieze small{font-size:8px}.missing-symbol{font-size:24px}.end-banner .missing-symbol{display:none}
.end-answers{position:relative;inset:auto;gap:8px;margin-top:16px}.end-answers .world-answer{min-height:140px;padding:14px 8px;font-size:11px;line-height:1.5;border-radius:12px;background:linear-gradient(145deg,#ead3a7,#b09564)}.end-answers svg{height:30px;width:30px}.end-answers .world-answer.activated{background:linear-gradient(#b5d1a6,#6d916a)}
.end-clock{border:1px solid #c9ad73;border-radius:9px;background:#173039f2;color:#fce7b8;padding:12px}.end-clock>div:first-child{display:flex;align-items:baseline;gap:9px}.end-clock strong{font-size:25px;font-variant-numeric:tabular-nums}.end-clock span,.end-clock p{font-size:10px}.end-clock p{margin:8px 0 0}.end-time-track{height:4px;background:#ffffff1f;margin-top:8px;border-radius:4px;overflow:hidden}.end-time-track i{display:block;height:100%;background:#e6c886}.end-clock.urgent{border-color:#eb876f}.end-clock.urgent .end-time-track i{background:#eb876f}
.end-cultural-image{margin:8px 0}.end-cultural-image img{width:100%;height:160px;object-fit:cover;object-position:center 65%;border-radius:9px}.end-cultural-image figcaption{font-size:9px;color:#f2e3c1;background:#17303bcf;padding:6px;text-align:center}.end-expression{background:#15333bf2;padding:13px;border:1px solid #ccb585;border-radius:9px;text-align:center}.end-expression>span{display:block;font-size:27px;color:#fff0c9;margin-top:10px}.end-expression>small{color:#e6d5b0;font-size:12px}
.recovery-controls,.recall-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0}.recovery-controls button,.recall-controls button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:16px 8px;border:1px solid #d2b982;border-radius:10px;background:linear-gradient(#c3a679,#7e6748);color:#fff6df;font-size:12px}.recovery-controls svg,.recall-controls svg{width:33px;height:33px}.joined-map{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:15px 6px;border:1px solid #e5c58b;border-radius:8px;background:#af9265e5;margin-bottom:15px}.joined-map>span{text-align:center;color:#fff6d4;border-right:1px dashed #e8d8b0}.joined-map svg{height:26px;width:26px}.joined-map small{display:block;font-size:10px;margin-top:6px}.joined-map>span:last-child{border:0}.memory-sequence{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;background:#15313be8;padding:18px 8px;border:1px solid #d8bf86;border-radius:12px}.memory-sequence>span{text-align:center;background:#c0a274;padding:10px 7px;border-radius:6px;color:#fff5d6}.memory-sequence svg{width:34px;height:34px}.memory-sequence small{display:block;font-size:8px;margin-top:7px}
.lost-artifacts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lost-artifacts button{padding:10px;border:1px solid #cbb080;border-radius:9px;background:linear-gradient(#dac59e,#967e57);color:#fff9e4}.lost-artifacts img{width:100%;height:135px;object-fit:contain;background:#eee9dc;border-radius:6px}.lost-artifacts strong{display:block;font-size:11px;margin-top:9px}.artifact-note{font-size:9px;color:#e5d4ae;background:#18343adb;padding:8px;border-radius:6px;text-align:center}.ultimate-seal{border:1px solid #e0c78e;padding:15px;color:#fae6b8;text-align:center;letter-spacing:3px;font-size:11px;background:#162c33e5}
.end-relic{min-height:250px;display:grid;place-items:center}.end-take{display:flex;flex-direction:column;align-items:center;gap:12px;border:1px solid #e5c58b;border-radius:50%;width:210px;height:210px;justify-content:center;color:#fff0b1;background:radial-gradient(#c9a35775,#16323755);box-shadow:0 0 50px #fedb7133}.end-take svg{width:85px;height:85px}.end-take span{font:500 22px var(--serif)}.end-take small{font-size:11px}.treasure-relic{min-height:360px}
.fortress-complete{background:linear-gradient(#1b3138a0,#142b31fa),url('assets/fortress.webp') center/cover}.lost-complete{background:linear-gradient(#142a3280,#132b30f8),url('assets/lost-treasure.webp') center/cover}.master-explorer-title{padding:13px 10px;margin:15px auto;border:1px solid #ebcc8c;border-radius:10px;color:#fff0b4;font:500 27px var(--serif)}.whole-expedition{display:grid;gap:8px;margin-top:20px}.whole-expedition>div{display:flex;justify-content:space-between;gap:12px;text-align:left;padding:10px;border-bottom:1px solid #e9d19b30;font-size:12px}.whole-expedition b{color:#fbe8b7}
@media(max-width:350px){.city-fortress .chapter-heading h1,.city-lost .chapter-heading h1{font-size:23px}.end-answers .world-answer{padding-inline:5px;font-size:10px}.fortress-doors strong{font-size:9px}.joined-map svg{width:21px;height:21px}.lost-artifacts img{height:112px}}

.expert-answers{display:grid;grid-template-columns:1fr}.expert-answers .world-answer{min-height:76px;flex-direction:row;text-align:left;justify-content:flex-start;font-size:13px;padding:15px}.expert-answers svg{width:27px;height:27px;flex-shrink:0}

.preview-mode .topbar{position:relative;inset:auto;transform:none;margin:0 auto;height:62px}
.preview-bar{max-width:460px;margin:0 auto;padding:10px 12px 12px;background:#17363e;color:#f4ddb0;border-block:1px solid #cfb47b55}
.preview-bar[hidden]{display:none}.preview-bar p{margin:0 0 9px;font-size:11px;text-align:center}
.preview-bar>div,.preview-choices{display:flex;gap:7px;flex-wrap:wrap}
.preview-bar a,.preview-choices a{flex:1;text-align:center;text-decoration:none;color:#f5e4c5;border:1px solid #cbb08080;border-radius:7px;padding:11px 8px;font-size:12px;line-height:1.3;min-height:40px;display:grid;place-items:center}
.preview-bar a[aria-current],.preview-choices a[aria-current]{background:#debd80;color:#17343b;border-color:#debd80}
.preview-bar .preview-exit{flex-basis:100%;min-height:32px;padding:5px;border:0;font-size:10px}
.preview-return{display:block;text-align:center;margin-top:18px;color:#f3d497;font-size:12px}
.preview-mode .chapter-heading{top:15px}.preview-mode .chapter-stats{top:74px}
.preview-mode .chapter-world{padding-top:123px}.preview-mode .chapter-root{min-height:calc(100svh - 185px)}
.preview-mode .chapter-complete{margin-top:0}

.city-lost .memory-sequence{display:grid;grid-template-columns:repeat(var(--memory-size),minmax(0,1fr));gap:4px;padding:12px 6px}
.city-lost .memory-sequence>span{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:10px 2px}
.city-lost .memory-sequence b{font-size:12px}.city-lost .memory-sequence small{margin:0;font-size:8px}
.city-lost .memory-sequence svg{width:clamp(20px,6vw,34px);height:34px}
.memory-answer{padding:14px 8px;border:1px solid #d8bf86;border-radius:12px;background:#15313be8;color:#fff0c9}
#memory-progress{margin:0 0 12px;text-align:center;font-size:13px;line-height:1.6}
.memory-slots{display:grid;grid-template-columns:repeat(var(--memory-size),minmax(0,1fr));gap:4px}
.memory-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:78px;border:1px dashed #e1c59099;border-radius:7px;background:#263e46;color:#dccca8}
.memory-slot b{font-size:11px}.memory-slot svg{width:25px;height:25px}.memory-slot small{font-size:8px;line-height:1.3}
.memory-slot-empty{display:grid;place-items:center;height:25px;font-size:22px}
.memory-slot-filled{border-style:solid;border-color:#bed8a9;background:#496b53;color:#fff4d6}
.recall-controls button{position:relative;min-height:90px;touch-action:manipulation}
.recall-controls button.memory-choice-placed{border-color:#bed8a9;background:#496b53;opacity:1;color:#fff4d6;cursor:default}
.recall-controls button.memory-choice-placed:after{content:'✓';position:absolute;top:7px;right:9px;font-size:15px;color:#e7f5cf}
/* Fortress entrance */
.city-fortress:has(.fe-entry-scene){position:relative;height:100svh;min-height:577px;padding:0;overflow:hidden}
.city-fortress:has(.fe-entry-scene) .chapter-world{position:absolute;inset:0;padding:0;min-height:0;background:none}
.city-fortress:has(.fe-entry-scene) :is(.chapter-shade,.chapter-motes,.chapter-heading>div,#mission-reminder,.fortress-doors,.end-banner){display:none}
.city-fortress:has(.fe-entry-scene) .chapter-task{position:absolute;left:14px;right:14px;bottom:max(14px,env(safe-area-inset-bottom));margin:0;z-index:8;padding:12px 14px}
.city-fortress:has(.fe-entry-scene) .task-heading #listen{display:none}
.fe-entry-scene{position:absolute;inset:0;z-index:1;pointer-events:none}
.fe-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.fe-open{opacity:0;transition:opacity 1.1s ease-in-out}
.is-open .fe-open{opacity:1}
.fe-objects{position:absolute;left:8%;right:8%;top:62%;height:11%;z-index:4;display:flex;align-items:flex-end;justify-content:space-around;gap:7%}
.fe-object{position:relative;flex:1;height:100%;border:0;padding:0;background:none;cursor:pointer;filter:drop-shadow(0 7px 4px #2a1a0ccc);transition:opacity .45s,filter .2s}
.fe-object img{width:100%;height:100%;object-fit:contain;object-position:bottom;pointer-events:none}
.fe-key{height:95%}.fe-shield{height:100%}.fe-lantern{height:105%}
.fe-object:hover:not(:disabled){filter:drop-shadow(0 7px 4px #2a1a0ccc) brightness(1.12)}
.fe-object.fe-picked{opacity:0}
.fe-object.fe-fade{opacity:0;transition-delay:.35s}
.fe-wrong{animation:de-reject .35s}
@media (prefers-reduced-motion:reduce){.fe-open,.fe-object{transition:none}.fe-wrong{animation:none}}
/* Fortress question scenery and supplied stone answer plates */
.city-fortress.stage-1 .chapter-world{background-image:url('assets/ptr/fortress-q4.webp')}
.city-fortress.stage-2 .chapter-world{background-image:url('assets/ptr/fortress-q2.webp')}
.city-fortress.stage-3 .chapter-world{background-image:url('assets/ptr/fortress-q3.webp')}
.city-fortress.stage-4 .chapter-world{background-image:url('assets/ptr/fortress-q4.webp')}
.city-fortress:is(.stage-1,.stage-2,.stage-3,.stage-4) .chapter-world{background-size:cover;background-position:center;background-repeat:no-repeat}
.city-fortress .end-answers .world-answer{border:0;border-radius:0;background:url('assets/ptr/fortress-plate-0.png') center/100% 100% no-repeat;background-color:transparent;box-shadow:none;color:#3a2614;text-shadow:0 1px 0 #f4e4c4;font-weight:700;filter:drop-shadow(0 6px 8px #1f140a80)}
.city-fortress .end-answers .world-answer:nth-child(2){background-image:url('assets/ptr/fortress-plate-1.png')}
.city-fortress .end-answers .world-answer:nth-child(3){background-image:url('assets/ptr/fortress-plate-2.png')}
.city-fortress .end-answers .world-answer:nth-child(4){background-image:url('assets/ptr/fortress-plate-3.png')}
.city-fortress .end-answers .world-answer svg{color:#5a3a18}
.city-fortress .chapter-task .primary{border:0;border-radius:4px;background:url('assets/ptr/fortress-plate-0.png') center/100% 100% no-repeat;background-color:transparent;color:#3a2614;text-shadow:0 1px 0 #f4e4c4;font-weight:700;box-shadow:none;filter:drop-shadow(0 4px 6px #1f140a80)}
.city-fortress.question-scenic .world-answers .engraved-answer{height:112px;min-height:112px;background:url('assets/ptr/fortress-plate-0.png') center/100% 100% no-repeat;filter:drop-shadow(0 6px 8px #1f140a80)}
.city-fortress.question-scenic .world-answers .engraved-answer:nth-child(2){background-image:url('assets/ptr/fortress-plate-1.png')}
.city-fortress.question-scenic .world-answers .engraved-answer:nth-child(3){background-image:url('assets/ptr/fortress-plate-2.png')}
.city-fortress.question-scenic .world-answers .engraved-answer:nth-child(4){background-image:url('assets/ptr/fortress-plate-3.png')}
.city-fortress.question-scenic .engraved-answer .answer-object{display:none}
.city-fortress.question-scenic .engraved-answer>span{left:10%;right:10%;top:14%;height:72%;color:#3a2614;text-shadow:0 1px 0 #f4e4c4}
/* Fortress final stage: supplied guardian chamber, chest opening and bronze relic */
.city-fortress:has(.fr-scene){position:relative;height:100svh;min-height:577px;padding:0;overflow:hidden}
.city-fortress:has(.fr-scene) .chapter-world{position:absolute;inset:0;padding:0;min-height:0;background:none}
.city-fortress:has(.fr-scene) :is(.chapter-shade,.chapter-motes,#mission-reminder,.fortress-doors,.end-banner){display:none}
.city-fortress:has(.fr-scene) .chapter-task{position:absolute;left:14px;right:14px;bottom:max(14px,env(safe-area-inset-bottom));margin:0;z-index:8;padding:12px 14px}
.fr-scene{position:absolute;inset:0}
.fr-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:opacity .6s}
.fr-open{opacity:0}
.fr-scene.opened .fr-open{opacity:1}
.fr-scene.opened .fr-closed{opacity:0}
.fr-scene.opening:not(.opened) .fr-closed{animation:dsrShake .5s}
.fr-chest{position:absolute;left:21%;width:58%;top:49%;height:24%;background:none;border:0;cursor:pointer;z-index:3}
.fr-glow{position:absolute;left:50%;top:50%;width:48%;aspect-ratio:1;transform:translate(-50%,-50%) scale(.3);border-radius:50%;background:radial-gradient(#ffd98acc,#ffb34a33 45%,transparent 70%);opacity:0;transition:.9s;pointer-events:none;z-index:2}
.fr-scene.opened .fr-glow{opacity:1;transform:translate(-50%,-58%) scale(1)}
.fr-relic{position:absolute;left:50%;top:54%;width:21%;background:none;border:0;padding:0;transform:translate(-50%,-10%) scale(.4);opacity:0;visibility:hidden;pointer-events:none;transition:transform 1.4s cubic-bezier(.2,.8,.2,1),opacity .8s;z-index:4;cursor:pointer;filter:drop-shadow(0 0 18px #ffc66a)}
.fr-relic img{width:100%;display:block}
.fr-scene.opened .fr-relic{opacity:1;visibility:visible;transform:translate(-50%,-130%) scale(1)}
.fr-scene.opened .fr-relic:not(:disabled){pointer-events:auto}
.fr-relic:not(:disabled){animation:frFloat 2.4s 1.4s ease-in-out infinite}
@keyframes frFloat{50%{filter:drop-shadow(0 0 30px #ffd27a)}}
@media (prefers-reduced-motion:reduce){.fr-bg,.fr-relic{transition:none}.fr-relic{animation:none}}
/* Lost Temple treasure (lost-relic.mjs) reuses .fr-scene */
.city-lost:has(.fr-scene){position:relative;height:100svh;min-height:577px;padding:0;overflow:hidden}
.city-lost:has(.fr-scene) .chapter-world{position:absolute;inset:0;padding:0;min-height:0;background:none}
.city-lost:has(.fr-scene) :is(.chapter-shade,.chapter-motes,#mission-reminder,.end-banner){display:none}
.city-lost:has(.fr-scene) .chapter-task{position:absolute;left:14px;right:14px;bottom:max(14px,env(safe-area-inset-bottom));margin:0;z-index:8;padding:12px 14px}
.lr-out{opacity:0;transition:opacity 1.2s .9s}
.lr-scene.opened .lr-out{opacity:1}
.lr-chest{left:26%;width:48%;top:38%;height:22%}
.lr-relic{top:41%;width:16%}
.lr-scene.opened .lr-relic{transform:translate(-50%,-50%) scale(1);transition-delay:1.6s}
/* Lost Temple entrance (lost-entry.mjs) */
.city-lost:has(.le-entry-scene){position:relative;height:100svh;min-height:577px;padding:0;overflow:hidden}
.city-lost:has(.le-entry-scene) .chapter-world{position:absolute;inset:0;padding:0;min-height:0;background:none}
.city-lost:has(.le-entry-scene) :is(.chapter-shade,.chapter-motes,.chapter-heading>div,#mission-reminder,.end-banner,.chapter-task){display:none}
.le-entry-scene{position:absolute;inset:0;z-index:1;pointer-events:none}
.le-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.le-open{opacity:0;transition:opacity 1.1s ease-in-out}
.is-open .le-open{opacity:1}
.le-objects{position:absolute;left:6%;right:6%;top:70%;height:13%;z-index:4;display:flex;align-items:flex-end;justify-content:space-between;gap:6%}
.le-object{position:relative;flex:1;height:100%;border:0;padding:0;background:none;cursor:pointer;filter:drop-shadow(0 8px 5px #1a120bcc);transition:opacity .45s,filter .2s}
.le-object img{width:100%;height:100%;object-fit:contain;object-position:bottom;pointer-events:none}
.le-seal{height:62%}.le-papyrus{height:58%}.le-warrior{height:118%}
.le-object:hover:not(:disabled){filter:drop-shadow(0 8px 5px #1a120bcc) brightness(1.12)}
.le-object.le-picked{opacity:0}
.le-fade{opacity:0;transition:opacity .45s .35s}
.le-wrong{animation:de-reject .35s}
.le-caption{position:absolute;left:14px;right:14px;bottom:max(14px,env(safe-area-inset-bottom));z-index:8;padding:12px 14px;border-radius:14px;background:var(--toolbar-background);border:1px solid var(--toolbar-border);color:var(--toolbar-text);text-align:center;font-size:.92rem;line-height:1.4}
.le-caption strong{color:var(--toolbar-text)}
@media (prefers-reduced-motion:reduce){.le-open,.le-object{transition:none}.le-wrong{animation:none}}
/* Lost Temple chambers: supplied scenery per stage and stone answer plates */
.city-lost.stage-0{background-image:url('assets/ptr/lost-q0.webp')}
.city-lost.stage-1{background-image:url('assets/ptr/lost-q1.webp')}
.city-lost.stage-2{background-image:url('assets/ptr/lost-q2.webp')}
.city-lost.stage-3{background-image:url('assets/ptr/lost-q3.webp')}
.city-lost.stage-4{background-image:url('assets/ptr/lost-q4.webp')}
.city-lost:is(.stage-0,.stage-1,.stage-2,.stage-3,.stage-4){background-color:#162e32;background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:local}
.city-lost:is(.stage-0,.stage-1,.stage-2,.stage-3,.stage-4) .chapter-world{background:none}
.city-lost:is(.stage-0,.stage-1,.stage-2,.stage-3,.stage-4) .chapter-shade{background:linear-gradient(#0d242dc0,#26434610 40%,#142d3240)}
.city-lost .end-answers .world-answer{border:0;border-radius:0;background:url('assets/ptr/lost-plate-0.png') center/100% 100% no-repeat;background-color:transparent;box-shadow:none;color:#3a2614;text-shadow:0 1px 0 #f4e4c4;font-weight:700;filter:drop-shadow(0 6px 8px #1f140a80)}
.city-lost .end-answers .world-answer:nth-child(3n+2){background-image:url('assets/ptr/lost-plate-1.png')}
.city-lost .end-answers .world-answer:nth-child(3n){background-image:url('assets/ptr/lost-plate-2.png')}
.city-lost .end-answers .world-answer svg{color:#5a3a18}
.city-lost .chapter-task .primary{border:0;border-radius:4px;background:url('assets/ptr/lost-plate-0.png') center/100% 100% no-repeat;background-color:transparent;color:#3a2614;text-shadow:0 1px 0 #f4e4c4;font-weight:700;box-shadow:none;filter:drop-shadow(0 4px 6px #1f140a80)}
.city-lost.question-scenic .world-answers .engraved-answer{height:112px;min-height:112px;background:url('assets/ptr/lost-plate-0.png') center/100% 100% no-repeat;filter:drop-shadow(0 6px 8px #1f140a80)}
.city-lost.question-scenic .world-answers .engraved-answer:nth-child(3n+2){background-image:url('assets/ptr/lost-plate-1.png')}
.city-lost.question-scenic .world-answers .engraved-answer:nth-child(3n){background-image:url('assets/ptr/lost-plate-2.png')}
.city-lost.question-scenic .engraved-answer .answer-object{display:none}
.city-lost.question-scenic .engraved-answer>span{left:12%;right:12%;top:16%;height:68%;color:#3a2614;text-shadow:0 1px 0 #f4e4c4}
/* Fortress controls retain their stone framing, without a translucent scene veil. */
.city-fortress :is(.chapter-shade,.chapter-motes){display:none}
.city-fortress :is(.chapter-task,.end-banner,.end-clock,.end-expression){background:var(--temple-panel-solid);backdrop-filter:none}
.city-fortress .fortress-doors>span{background:var(--temple-stone-solid);border-radius:8px}
.city-fortress .fortress-doors>.opened{background:var(--temple-stone-awake)}
.fortress-category-object{width:42px;height:42px;object-fit:contain;filter:drop-shadow(var(--carthage-answer-shadow))}
.city-fortress:not(:has(.fe-entry-scene,.fr-scene)){background-size:cover;background-position:center;min-height:100svh}
.city-fortress.stage-1{background-image:url('assets/ptr/fortress-q4.webp')}
.city-fortress.stage-2{background-image:url('assets/ptr/fortress-q2.webp')}
.city-fortress.stage-3{background-image:url('assets/ptr/fortress-q3.webp')}
.city-fortress.stage-4{background-image:url('assets/ptr/fortress-q4.webp')}
.city-fortress:not(:has(.fe-entry-scene,.fr-scene)) .chapter-world{background:none}
.city-fortress.question-scenic .chapter-world,.playing .city-fortress.question-scenic .chapter-world.world-unlocked{padding:174px 14px 12px;min-height:0}
.city-fortress.question-scenic .end-scene{min-height:0}
.city-fortress.question-scenic .world-answers{grid-template-columns:repeat(3,minmax(0,1fr));margin:12px 14px}
.city-fortress.question-scenic .world-answers .world-answer:last-child:nth-child(odd){grid-column:auto;width:100%}
.city-fortress.question-scenic .world-answers .engraved-answer{height:auto;min-height:90px;aspect-ratio:2/1}
/* Temple Perdu memory: green panel, frameless icons, centred slots */
.city-lost .memory-answer,.city-lost .memory-sequence{background:var(--toolbar-background);border-color:#d8bf86}
.city-lost .memory-observe{background:color-mix(in srgb,var(--temple-panel-solid) 95%,transparent);border-color:#d1b06b90;box-shadow:0 6px 16px #0004;padding:14px;max-width:340px;margin:0 auto}
.city-lost .memory-observe strong{font-size:38px;line-height:1;color:#ffe9ad;text-shadow:0 2px 6px #000c}
.city-lost .memory-observe span{font-size:12px;letter-spacing:.04em;text-shadow:0 1px 4px #000c}
.city-lost .memory-observe .end-time-track{height:6px;margin-top:10px}
.city-lost .memory-observe.urgent strong{color:#ffb59a}
.city-lost .memory-sequence>span,.city-lost .memory-slot,.city-lost .memory-slot-filled{background:transparent;border:0;box-shadow:none}
.city-lost .memory-slots{display:flex;justify-content:center;align-items:center;gap:clamp(6px,3vw,24px);width:100%}
.city-lost .memory-slot{flex:0 1 64px}
.city-lost #memory-progress{text-align:center}
.city-lost .recall-controls button{background:color-mix(in srgb,var(--temple-panel-solid) 95%,transparent);border:1px solid #d1b06b90;border-radius:10px;color:#fff6df;box-shadow:0 6px 16px #0004;text-shadow:0 1px 4px #000c}
.city-lost .recall-controls svg{filter:drop-shadow(0 2px 4px #000a)}
.city-lost .recall-controls button.memory-choice-placed{background:color-mix(in srgb,#496b53 95%,transparent);opacity:1;border-color:#bed8a9}
.lr-scene .lr-out{display:none}
.city-lost:has(.lr-scene) .chapter-task{bottom:calc(20svh + max(14px,env(safe-area-inset-bottom)))}
.city-lost:has(.lr-scene) .gesture-instruction{display:none}
/* Final reward: welcome stone and coins emerging from the photographed chest. */
.lost-complete #final-stats{background:var(--welcome-action-stone) center/100% 100% no-repeat;background-color:transparent;color:var(--carthage-answer-lettering);text-shadow:0 1px 1px var(--carthage-answer-depth);border:0;border-radius:6px;box-shadow:var(--carthage-answer-shadow);min-height:54px;font-weight:700}
.lost-complete>.completion-coins{position:absolute;inset:0;width:100%;height:100%;max-width:none;pointer-events:none;z-index:0}
.lost-complete>:not(.completion-coins){position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.completion-coins{display:none}}
