/* A quiet illustrated backdrop and unmistakable, compact story badges. */
#viewport{display:block;padding:96px 0 88px}#map{margin:0 auto}#map>img{filter:saturate(.68) brightness(.79)}#map .trail{opacity:.26}#map .landmark{width:var(--badge-width,76px)!important;height:var(--badge-height,70px)!important;min-width:44px;min-height:44px;padding:4px 4px 5px;border:2px solid #f4e7c3;border-radius:12px;background:#f2e7cc;box-shadow:0 3px 0 #173e3599,0 7px 15px #0b211e88;color:#284d42;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;isolation:isolate;transition:box-shadow .2s,border-color .2s;z-index:2}#map .landmark[hidden]{display:none}#map .landmark:first-child:after{display:none}#map .landmark:before,#map .landmark:after{content:none}#map .landmark:hover,#map .landmark:focus-visible{outline:3px solid #fff0b1;outline-offset:4px;box-shadow:0 3px 0 #173e3599,0 0 0 7px #123c3499;filter:none}#map .scene-icon{height:29px;width:34px;display:flex;align-items:center;justify-content:center;overflow:hidden}#map .scene-icon svg,#map .scene-icon img{position:static!important;width:100%!important;height:100%!important;object-fit:contain!important;transform:none!important;filter:none!important;clip-path:none!important;opacity:1!important}#map .scene-label{font:700 10px/1.08 system-ui;max-width:100%;min-height:22px;display:flex;align-items:center;text-align:center;letter-spacing:0;color:#26493f;text-shadow:none}#map .scene-number{position:absolute;top:3px;left:4px;font:800 9px system-ui;color:#527262;background:#f3e9d0;min-width:16px;line-height:16px;border-radius:5px}#map .scene-status{display:none}#map .memory-complete{background:#d9e3ce;border-color:#c1d2b3;box-shadow:0 3px 0 #173e3588,0 4px 9px #071a1855;opacity:.92}#map .memory-complete .scene-number{background:#406d59;color:#fff6d9}#map .memory-next{background:#ffe6a1;border-color:#ffeabd;box-shadow:0 0 0 4px #d79d4966,0 4px 0 #70522d,0 9px 20px #071d1caa;z-index:4;animation:scene-beacon 2.6s ease-in-out infinite}#map .memory-next .scene-status{display:block;position:absolute;top:-15px;left:50%;transform:translateX(-50%);border:1px solid #ffedba;background:#ffdc83;color:#3c472b;border-radius:7px;padding:2px 8px;font:900 9px/1.1 system-ui;letter-spacing:.08em;white-space:nowrap}#map .scene-leader{position:absolute;left:50%;top:50%;height:2px;background:#f3e6b9bb;transform-origin:0 50%;z-index:-1;pointer-events:none}#map .scene-leader[hidden]{display:none}.map-section-nav .next-map,.map-section-nav .next-direction{box-shadow:inset 0 0 0 2px #f4ce78;color:#ffe8a1;background:#45614b}.map-section-nav .next-map:after{content:' NEXT';font-weight:900;font-size:8px}.map-section-nav .next-direction{animation:nav-beacon 2.6s ease-in-out infinite}#map-guide{position:absolute;top:62px;left:50%;transform:translateX(-50%);z-index:4;display:flex;align-items:center;gap:10px;padding:4px 5px 4px 13px;background:#173e35f5;border:1px solid #9dad7d;border-radius:13px;box-shadow:0 5px 15px #06251c88;max-width:calc(100% - 18px)}.guide-count{font:600 12px system-ui;color:#dce4c7;white-space:nowrap}.guide-next{min-height:32px;padding:7px 12px;border:0;border-radius:9px;background:#efcf86;color:#244a3c;font:700 12px/1.1 system-ui;text-align:left}.all-complete .guide-next{background:#c9d7b3}.hint{font-size:12px;padding:11px 15px;max-width:calc(100% - 210px)}@keyframes scene-beacon{0%,100%{box-shadow:0 0 0 4px #d79d4966,0 4px 0 #70522d,0 9px 20px #071d1caa}50%{box-shadow:0 0 0 7px #ffe4a080,0 4px 0 #70522d,0 9px 25px #071d1caa}}@keyframes nav-beacon{50%{box-shadow:inset 0 0 0 2px #ffe8ad,0 0 9px #f4ce7866}}@media(max-width:650px){#map-guide{top:53px;gap:6px;padding:4px 4px 4px 9px}.guide-count{font-size:10px}.guide-next{font-size:11px;padding:7px 9px}.hint{display:none}#viewport{padding-top:92px}#map .scene-label{font-size:10px}}@media(prefers-reduced-motion:reduce){#map .memory-next,.map-section-nav .next-direction{animation:none}}
.hint{display:none}.map-testing{position:absolute;bottom:20px;left:20px;z-index:5;max-width:270px;color:#e9e1bf;font:12px/1.4 system-ui;background:#173e35f5;border:1px solid #99ae84;border-radius:12px;box-shadow:0 5px 18px #06251c88}.map-testing summary{cursor:pointer;min-height:44px;padding:12px 15px;user-select:none;font-weight:600}.map-testing[open]{padding-bottom:10px}.map-testing button{display:block;margin:6px 10px;min-height:44px;width:calc(100% - 20px);border:1px solid #9daa80;border-radius:8px;padding:8px 10px;background:#e8d8ab;color:#294c3f;font:600 12px system-ui}.map-testing button:disabled{opacity:.4;cursor:default}.testing-status{max-width:250px;margin:10px 13px 3px;font-size:11px;color:#d5dfc7}.map-testing .test-reset{background:#435d48;color:#ffedc5}.map-testing .test-undo{background:#334d41;color:#e8e7bf}#map-reset .map-reset-confirm{background:#a66242;color:#fff3cf;border:0;border-radius:9px;padding:12px 16px;font:600 14px system-ui}#map-reset .map-reset-cancel{background:#dfd4a4;color:#294b3d;border:0;border-radius:9px;padding:12px 16px;font:600 14px system-ui}#map-reset .reset-actions{display:flex;gap:9px;flex-wrap:wrap}@media(max-width:650px){.map-testing{left:14px;bottom:18px;max-width:250px}.map-testing summary{font-size:11px;padding:12px}}

@media(max-width:650px){.map-testing[open]{bottom:82px;max-height:max(70px,calc(100svh - 260px));overflow:auto;overscroll-behavior:contain}}
#map .landmark.memory-future{background:#e8e3d7;border-color:#77786f;color:#5d625c;box-shadow:0 2px 4px #182a2440}
#map .landmark.memory-future .scene-icon{opacity:.5;filter:grayscale(1)}
#map .landmark.memory-future .scene-status{background:#61695f;color:#fff;font-size:8px;letter-spacing:.3px}
.scene-access-notice{max-width:min(380px,calc(100vw - 40px));border:3px solid #735d40;border-radius:18px;background:#fff5df;color:#263c34;padding:24px;box-shadow:0 12px 50px #0006}
.scene-access-notice h1{font-size:24px;margin-top:0}.scene-access-notice p{line-height:1.5}.scene-access-notice button{min-height:44px;padding:8px 20px;border-radius:10px;background:#263c34;color:white;border:0;font:inherit}
#map .memory-concealed .scene-label{filter:blur(2px);opacity:.65;letter-spacing:1px;user-select:none}
