.journey{position:fixed;inset:0;z-index:90;pointer-events:none;color:#eee6d3}
.journey[hidden],.journey [hidden]{display:none!important}
.province-passage-canvas[hidden]{display:none!important}
.journey-scroll{position:absolute;inset:0;z-index:2;background:radial-gradient(ellipse at 45% 40%,#f6efdd,#d8d2bd);color:#345852;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:auto}
.journey-scroll h1{font:30px/1.8 KaiTi,serif;letter-spacing:.2em;margin:18px}.journey-scroll>small{letter-spacing:.5em;font:14px serif;color:#907243}
.journey-caption{position:absolute;z-index:3;top:32px;left:50%;transform:translateX(-50%);padding:12px 24px;background:#152e32c9;white-space:nowrap}
.journey-actions{position:absolute;z-index:4;bottom:24px;right:24px;display:flex;gap:12px;pointer-events:auto}
.journey button,.journey a{padding:12px 18px;border:1px solid #aaa38f;background:#eee8d8;color:#345852;font:inherit;cursor:pointer}
.journey a{display:inline-block;text-decoration:none}
.journey button:active{transform:scale(.97)}.journey button:focus-visible,.journey a:focus-visible{outline:2px solid #a9773a;outline-offset:4px}
.journey-passage{position:absolute;inset:0;z-index:1;color:#294f50;background:linear-gradient(90deg,transparent 55%,#ece4cf36);pointer-events:none;font-family:KaiTi,'Microsoft YaHei',serif}
.journey-passage header{position:absolute;right:5%;top:15%;width:min(310px,30vw);padding:22px 0 22px 25px;border-left:1px solid #ad8856;background:linear-gradient(90deg,#eee6d3d9,#eee6d300)}
.journey-passage header small{font-size:13px;letter-spacing:.2em;color:#896a3c}.journey-passage h1{font-size:34px;font-weight:400;letter-spacing:.12em;margin:20px 0}.journey-passage header p{font-size:23px;letter-spacing:.15em;color:#99593c;margin:18px 0}.journey-passage header>span{font-size:11px;color:#53655c}
.journey-passage footer{position:absolute;left:6%;bottom:8%;width:min(470px,45vw);padding:18px 24px;background:linear-gradient(90deg,#f0e8d5f2,#f0e8d5a6);border-left:2px solid #ad8856}.journey-passage footer small{font-size:16px;letter-spacing:.2em;color:#8e6036}.journey-passage footer p{font-size:17px;line-height:1.9;margin:12px 0 16px;min-height:3.8em}
.journey-distance{height:2px;background:#b6b39b80;overflow:hidden}.journey-distance i{display:block;width:100%;height:100%;background:#9a703c;transform:scaleX(0);transform-origin:left}
.journey-vessel-label{position:absolute;transform:translate(-50%,-100%) translateY(-18px);background:#294e4c;color:#fff0cb;padding:6px 10px;box-shadow:0 2px 6px #233c3a25;font:15px/1.5 KaiTi,serif;white-space:nowrap}.journey-vessel-label::after{content:'';position:absolute;top:100%;left:calc(50% - 4px);border:4px solid transparent;border-top-color:#294e4c}.journey-vessel-label span{margin-left:8px;font-size:11px;color:#e3c288}
.journey-load-status{position:absolute;z-index:3;bottom:26px;left:32px;max-width:50vw;color:#335650;pointer-events:auto;font:12px/1.7 'Microsoft YaHei',sans-serif}.journey-loading{margin:0}.journey-load-status:has([data-retry]:not([hidden])){padding:20px;background:#f1e9d6;max-width:430px;border-top:1px solid #af8f5f}.journey-load-status button{margin-top:12px}
.journey[data-phase="crossing"]>.journey-caption{background:transparent;color:#365953;padding:0;top:24px;font:13px serif;letter-spacing:.15em}
.on-province-passage :is(.liaocheng-overlay,.temple-overlay,.tz-overlay,#taian-fair-layer){visibility:hidden!important;pointer-events:none!important}
.on-province-passage #map-labels{visibility:visible!important}.on-province-passage .footer-hint{visibility:hidden!important}
@media(max-width:700px){.journey-passage header{top:10%;right:3%;width:38vw;padding:14px}.journey-passage h1{font-size:24px}.journey-passage header p{font-size:17px}.journey-passage footer{left:3%;bottom:15%;width:70vw;padding:12px 18px}.journey-passage footer p{font-size:14px}.journey-actions{right:12px;bottom:14px;gap:8px}.journey button,.journey a{padding:10px 12px}.journey-caption{max-width:85vw;white-space:normal;text-align:center}}
.journey-pause{pointer-events:auto;background:#eee8d8;color:#345852;padding:30px}
.journey-pause::backdrop{background:#10252b99}
.on-journey .topbar,.on-journey .map-tools,.on-journey .city-card,.on-journey .voyage-panel,.on-journey .liaocheng-back,.on-journey .liaocheng-hint,.on-journey .berth-board,.on-journey .walk-exit,.on-journey .walk-pause{visibility:hidden!important}
.berth-board{position:absolute;top:18px;right:18px;z-index:8;padding:12px 18px;background:#eee8d8;color:#345852;border:1px solid #9c9987;cursor:pointer}
.liaocheng-stage .walk-hud{color:#eee8d8}
.liaocheng-stage .walk-toast{color:#254944}
.walk-hud.is-seated .walk-pad,.walk-hud.is-seated .walk-cross{display:none}
.liaocheng-overlay:has(.berth-walking) .liaocheng-hint,.liaocheng-overlay:has(.berth-walking) .berth-board{display:none}
.on-journey .temple-back,.on-journey .temple-hint,.on-journey .tz-back,.on-journey .tz-hint,.on-journey .taian-fair-close,.on-journey .taian-fair-hint{visibility:hidden!important}
:is(.temple-overlay,.tz-overlay,#taian-fair-layer):has(.berth-walking) :is(.berth-board,.temple-hint,.tz-hint,.taian-fair-hint){display:none}
#taian-fair-layer.berth-walking :is(.berth-board,.taian-fair-hint){display:none}
.brick-handoff{position:fixed;inset:auto 24px 24px auto;max-width:min(420px,90vw);padding:26px;color:#345852;background:#eee8d8f2;border:1px solid #b6a78b;font-family:KaiTi,serif}
.brick-handoff::backdrop{background:#142f3218}
.brick-handoff h2{font-size:23px;line-height:1.6}.brick-handoff p{line-height:1.8}
.brick-handoff button{padding:10px 14px;margin:4px;color:#345852;background:#f8f2e4;border:1px solid #a99f88;cursor:pointer}
.brick-handoff button:disabled{opacity:.45;cursor:wait}
.journey-chapter{position:absolute;top:18%;left:50%;transform:translateX(-50%);text-align:center;text-shadow:0 2px 6px #173735;pointer-events:none}.journey-chapter small{letter-spacing:.3em}.journey-chapter h2{font:52px/1.4 KaiTi,serif;letter-spacing:.3em;margin:18px 0}.journey-chapter p{font:20px KaiTi,serif;letter-spacing:.15em}.journey-camera-veil{position:absolute;inset:0;background:#e8e0cc;opacity:0;pointer-events:none}.on-journey .walk-toast{visibility:hidden!important}
