.explore-mode .topbar,.explore-mode #map-tools,.explore-mode #story-tools,.explore-mode #city-card,.explore-mode .footer-hint,.explore-mode .map-legend,.explore-mode .compass{display:none!important}
.explore-mode .liaocheng-back,.explore-mode .tz-back,.explore-mode .temple-back,.explore-mode .taian-fair-close,.explore-mode .berth-board,.explore-mode .liaocheng-hint,.explore-mode .temple-hint,.explore-mode .tz-hint,.explore-mode .taian-fair-hint{display:none!important}
#exploration-ui{position:fixed;inset:0;z-index:80;pointer-events:none;color:#244d52;font-family:"Noto Serif SC","Songti SC","SimSun",serif}
#exploration-ui [hidden]{display:none!important}
#exploration-ui button,#exploration-ui a,#exploration-ui input{pointer-events:auto}
#exploration-ui button{font:inherit;color:inherit;cursor:pointer;border:1px solid #b8aa8d;background:#f4efdfed;padding:12px 20px;transition:background-color 150ms,opacity 150ms,transform 150ms cubic-bezier(.22,1,.36,1)}
#exploration-ui button:active{transform:scale(.98)}
#exploration-ui button:focus-visible{outline:2px solid #aa623e;outline-offset:4px}
#exploration-ui button:disabled{opacity:.45;cursor:default}
.explore-heading{position:absolute;left:3.4vw;top:4vh;max-width:52vw;text-shadow:0 1px 8px #f6f0df}
.explore-heading small,.explore-selection>small,.explore-place>small,.explore-facility>small,.explore-travel>small{letter-spacing:.2em;font-size:12px}
.explore-heading h1{font-size:clamp(24px,2.7vw,42px);font-weight:500;margin:10px 0}
.explore-heading p{font-size:14px;margin:0;line-height:1.8}
.explore-toolbar{position:absolute;right:3vw;top:4vh;display:flex;gap:8px}
#exploration-ui .explore-toolbar button{padding:10px 14px;font-size:13px}
.explore-city-list{position:absolute;left:3.4vw;bottom:6vh;display:flex;gap:1vw;flex-wrap:wrap;max-width:65vw}
#exploration-ui .explore-city-list button{width:106px;padding:18px 10px;text-align:center;font-size:22px;background:#f5f0dfdf;border-top:2px solid #7a8d80;box-shadow:0 5px 20px #29443d0d}
.explore-city-list span,.explore-city-list small{display:block;font-size:11px;letter-spacing:.16em;margin:4px 0}
#exploration-ui .explore-city-list [aria-pressed=true]{background:#244d52;color:#f4e7ca;border-color:#b98b50}
.explore-selection,.explore-place{position:absolute;right:3vw;bottom:6vh;width:310px;box-sizing:border-box;padding:25px 28px;background:linear-gradient(100deg,#f5efdfed,#f5efdfcf);border-top:2px solid #ad8650;box-shadow:0 10px 60px #304b4412;pointer-events:auto}
.explore-selection h2,.explore-place h2{font-size:32px;font-weight:500;margin:10px 0}
.explore-selection p,.explore-place p{font-size:14px;line-height:1.8}
.explore-selection>div{display:flex;gap:9px}
#exploration-ui .explore-selection button,#exploration-ui .explore-place button{padding:10px 12px;font-size:14px}
#exploration-ui [data-action=visit],#exploration-ui [data-action=walk]{background:#244d52;color:#f8f0dd}
#exploration-ui [data-action=continue]{border:0;border-top:1px solid #b8aa8d;margin-top:18px;padding:15px 0 0;width:100%;background:transparent;text-align:left}
.explore-pois{position:absolute;inset:0;pointer-events:none}
#exploration-ui .explore-pois button{position:absolute;transform:translate(-50%,-100%);padding:9px 12px;background:#25494ce8;color:#f4e7ce;border-color:#b89b65;font-size:13px;white-space:nowrap}
.explore-pois button:after{content:"";position:absolute;left:50%;bottom:-13px;height:12px;border-left:1px solid #b89b65}
.explore-objective{position:absolute;top:28%;left:3.4vw;border-left:2px solid #c0a36d;background:linear-gradient(90deg,#183c3ed9,#183c3e55);color:#f1e8cd;padding:16px 22px;max-width:260px}
.explore-objective h2{font-size:22px;font-weight:500;margin:8px 0}
#exploration-ui .explore-objective button{display:block;border:0;background:transparent;color:#e0d5b8;font-size:13px;padding:5px 0}
.explore-facility{position:absolute;left:7vw;bottom:8vh;width:min(460px,70vw);padding:24px 30px;background:linear-gradient(90deg,#173d3feb,#173d3fbd);border-left:2px solid #bd9e68;color:#f1e4c8;pointer-events:auto;max-height:70vh;overflow:auto}
.explore-facility h2{font-size:32px;font-weight:500;margin:10px 0}
.explore-facility p{white-space:pre-line;line-height:1.9;font-size:16px}
.explore-facility nav{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
#exploration-ui .explore-facility button{background:#163a3c66;border-color:#9f906d;color:#f1e4c8;font-size:14px;padding:10px 14px}
.explore-travel{position:absolute;left:4vw;bottom:7vh;width:min(480px,65vw);padding:22px 28px;background:#f2ebd9e8;border-left:2px solid #a78048;pointer-events:auto}
.explore-travel h2{font-size:32px;font-weight:500;margin:12px 0}.explore-travel p{font-size:14px}
.explore-travel progress{display:block;width:100%;height:3px;accent-color:#9c6a35;margin:18px 0}
.explore-notice{position:absolute;left:50%;bottom:5vh;transform:translateX(-50%);padding:12px 24px;background:#23494ae6;color:#f8edd6;text-align:center;max-width:70vw}
#exploration-ui dialog{pointer-events:auto;color:#244d52}
#exploration-ui .explore-curtain{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100%;margin:0;border:0;background:#eee8d9;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box}
.explore-curtain h2{font-size:32px;font-weight:500}.explore-curtain small{letter-spacing:.4em}.explore-curtain p{font-size:15px}
.explore-curtain nav{display:flex;gap:18px;margin-top:20px}
#exploration-ui .explore-pause{width:min(850px,90vw);max-height:88vh;padding:0;border:1px solid #b7a581;background:#eee6d4;box-shadow:0 20px 90px #122c3255;overflow:auto}
.explore-pause::backdrop{background:#152f3599;backdrop-filter:blur(5px)}
.explore-pause[open]{display:grid;grid-template-columns:35% 65%}
.explore-pause .pause-art{display:flex;align-items:center;justify-content:center;font-size:100px;color:#bba87d;background:linear-gradient(170deg,#244d52,#19363c);border-right:1px solid #bd9a64}
.explore-pause-content{padding:36px 40px}.explore-pause-content>small{letter-spacing:.2em}.explore-pause-content h2{font-size:36px;font-weight:500;margin:12px 0}.explore-pause-content p{font-size:14px;line-height:1.8}
.explore-pause nav{display:grid;gap:8px;margin-top:22px}#exploration-ui .explore-pause nav button{text-align:left;background:transparent;border:0;border-bottom:1px solid #b3a48166;padding:11px 0}.explore-pause form label{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.explore-pause form input{accent-color:#24565a;cursor:pointer}.explore-pause form input[type=checkbox]{width:20px;height:20px}.explore-pause form input[type=range]{height:26px;max-width:45%}
#exploration-ui[data-view=walk] .explore-heading{display:none}#exploration-ui[data-view=walk] .explore-toolbar{top:auto;bottom:25px;right:25px}
#exploration-ui.is-playing>:not(dialog),#exploration-ui.is-traveling .explore-heading,#exploration-ui.is-traveling .explore-city-list,#exploration-ui.is-traveling .explore-selection,#exploration-ui.is-traveling .explore-place,#exploration-ui.is-traveling .explore-pois,#exploration-ui.is-traveling .explore-toolbar,#exploration-ui.is-inspecting .explore-toolbar{display:none!important}
.explore-mode .walk-hints{opacity:.6}.explore-mode.explore-passage .map-frame{z-index:1}
@media(hover:hover) and (pointer:fine){#exploration-ui button:hover{background-color:#e7ddc3}#exploration-ui .explore-toolbar button:hover{background-color:#eee5cf}}
@media(max-width:760px){.explore-heading{top:3vh;max-width:90vw}.explore-heading p{font-size:12px}.explore-toolbar{top:auto;bottom:12px;right:12px}.explore-city-list{left:4vw;bottom:32vh;max-width:92vw;gap:6px}#exploration-ui .explore-city-list button{width:62px;font-size:18px;padding:10px 3px}.explore-selection,.explore-place{bottom:8vh;right:4vw;width:280px;padding:18px 22px}.explore-pause[open]{grid-template-columns:1fr}.explore-pause .pause-art{display:none}.explore-pause-content{padding:24px}.explore-pois button{max-width:160px}.explore-objective{padding:12px;max-width:180px}}
@media(prefers-reduced-motion:reduce){#exploration-ui button{transition:none}}
@media(max-width:760px){.explore-city-list{bottom:calc(8vh + 285px)}}

#exploration-ui dialog:not([open]){display:none!important}
.explore-mode .map-frame{inset:0;border:0}
.explore-mode #map-labels{z-index:2}
.explore-passage :is(.liaocheng-overlay,.temple-overlay,.tz-overlay,#taian-fair-layer){visibility:hidden!important;pointer-events:none!important}
.explore-mode .walk-exit{display:none!important}
:is(.explore-inspecting,.explore-traveling,.explore-playing) .walk-hud{visibility:hidden!important}


.explore-token-pad{position:absolute;right:12vw;top:25vh;width:35vw;height:50vh;pointer-events:auto;touch-action:none;cursor:grab;border-bottom:1px solid #bca77788}
.explore-token-pad:active{cursor:grabbing}.explore-token-pad span{position:absolute;bottom:0;left:0;right:0;padding:12px;text-align:center;color:#eee1c5;background:#193d3caa;font-size:13px}
#exploration-ui[data-location=liaocheng][data-view=city] .explore-heading,#exploration-ui[data-location=zaozhuang][data-view=city] .explore-heading,#exploration-ui[data-location=taian][data-view=city] .explore-heading{color:#eee3ca;text-shadow:0 1px 6px #142e32}
/* Match the story controls: bounded targets, readable states, no text-only actions. */
#exploration-ui .explore-objective button{min-height:38px;padding:8px 12px;margin-top:8px;border:1px solid #c4ad7780;background:#173b39ed;color:#f4e7c5;text-align:center}
#exploration-ui [data-action=continue]{min-height:44px;padding:11px 14px;border:1px solid #b8aa8d;background:#f4efdfed}
#exploration-ui .explore-pause nav button{min-height:44px;padding:12px 16px;border:1px solid #b8aa8d;background:#f6efdf;text-align:left}
#exploration-ui .explore-pause [data-action=resume]{background:#244d52;border-color:#244d52;color:#f8f0dd}
#exploration-ui .explore-facility button{min-height:44px;background:#173b39ed;transition:background-color 150ms ease,border-color 150ms ease,transform 100ms ease}
@media(hover:hover) and (pointer:fine){#exploration-ui :is(.explore-objective,.explore-facility) button:hover:not(:disabled),#exploration-ui .explore-pause [data-action=resume]:hover{background:#315750;color:#fff2d0;border-color:#ecdaaa}#exploration-ui .explore-pause nav button:not([data-action=resume]):hover{background:#e7ddc3}}
#exploration-ui :is(.explore-objective,.explore-facility) button:focus-visible{outline-color:#f5dfac}
#exploration-ui :is(.explore-objective,.explore-facility,.explore-pause) button:disabled{opacity:1;background:#59645b;color:#d5d2bd;border-color:#798374;cursor:not-allowed;transform:none}
@media(prefers-reduced-motion:reduce){#exploration-ui .explore-facility button{transition:none}}
