/* Compact mobile navigation and a quiet map legend. */
.settings-top{width:44px;height:44px;border-radius:50%;background:#ebeddbd9;color:#294c45;font-size:22px}.header-actions{align-items:center;gap:6px}.main-dock{width:380px;max-width:calc(100% - 28px);padding:5px;gap:3px}.main-dock button[data-sheet=journey]{display:flex}.main-dock button{flex:1;min-width:0}.main-dock #guided-start{display:flex;background:#eed18b;color:#23453c;border-radius:11px;font-weight:600}body[data-guided=true] #guided-start{display:flex}#ppc-entry-button{display:none!important}
.detail-card{overflow:hidden!important;padding:0!important;display:flex;flex-direction:column}.detail-card[hidden]{display:none}.detail-heading{display:flex;align-items:flex-start;justify-content:space-between;flex:none;padding:17px 20px 14px;border-bottom:1px solid #b9cbbb26;background:#153638}.detail-heading .station-id{min-width:0;flex:1}.detail-heading .station-id b{display:block;font-size:20px;line-height:1.35;overflow-wrap:anywhere}.detail-heading .station-id span{display:block;margin-top:6px;font-size:11px}.detail-heading .close-detail{position:static!important;flex:none;margin:-7px -6px 0 10px;width:44px;height:44px;min-height:44px;font-size:28px}.detail-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:0 20px 18px;-webkit-overflow-scrolling:touch}.detail-content{margin-top:14px}.detail-card .sheet-grip{flex:none;margin:9px auto 0}.detail-scroll #post-meta{font-size:10px;color:#adc0b3}#guide-detail>.guide-date,#guide-detail>a{display:none}
.home-weather{left:auto!important;right:28px;top:98px!important;width:220px;background:#ece8cedf;color:#27473e;border:1px solid #fffbeb8c;box-shadow:0 3px 15px #324b3b13;backdrop-filter:blur(14px)}.home-weather[data-collapsed=true]{right:28px!important;left:auto!important;background:#eee9d6e8}.home-weather #weather-show,.home-weather #weather-collapse,.home-weather #weather-refresh{color:#38584b}.home-weather #weather-brief,.home-weather small,.home-weather p,.home-weather #weather-status,.home-weather #weather-time,.home-weather .weather-reference{color:#536a5b}.home-weather #weather-warnings{color:#795523}.home-weather footer a{color:#345746}.home-weather[data-stale=true] #weather-brief{color:#8c5e23}.weather-top #weather-details-toggle{gap:8px}#weather-temp{font-size:25px}
.map-label.place,.map-label.service,.map-label.shop{display:flex;align-items:center;flex-direction:column;gap:2px;min-height:44px;padding:0 3px;border:0!important;background:none!important;border-radius:0;box-shadow:none!important;color:#fff7dc;max-width:146px;white-space:normal;text-align:center;font-size:11px;line-height:1.25;filter:drop-shadow(0 1px 2px #143c36)}.map-label.place:before,.map-label.service:before,.map-label.shop:before{display:none!important}.landmark-symbol{display:grid;place-items:center;width:29px;height:29px;border-radius:50% 50% 50% 6px;transform:rotate(-45deg);background:#f2e7c7;border:1px solid #fff7de;color:#325549;box-shadow:0 2px 4px #0d29292e}.landmark-symbol svg{width:19px;height:19px;transform:rotate(45deg);fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.landmark-name{display:block;padding:3px 3px 1px;color:#fff9e9;font-weight:600;text-shadow:0 1px 3px #183d31,1px 0 2px #183d31,-1px 0 2px #183d31}.map-label[data-compact=true] .landmark-name{display:none}.map-label.service .landmark-symbol{width:24px;height:24px;background:#cddbbd}.map-label.service .landmark-name{font-size:10px}.map-label:hover .landmark-symbol,.map-label:focus-visible .landmark-symbol{background:#ffe4a4;scale:1.12}.map-label[hidden]{display:none!important}
body[data-sheet-mode=journey] .main-dock{display:none}body[data-sheet-mode=journey] #explorer-sheet{left:50%;right:auto;transform:translateX(-50%);width:360px;max-width:calc(100% - 24px);bottom:calc(30px + env(safe-area-inset-bottom));padding:0 12px 9px;border-radius:16px;background:#1b3938f2;max-height:60dvh}.journey-heading{display:grid;grid-template-columns:minmax(0,1fr) 44px 36px;align-items:center;gap:3px;padding:7px 0 1px;border:0}.journey-heading b{font-size:12px;line-height:1.5}.journey-heading #journey-state{font-size:10px;color:#b7cbbb;margin-top:2px}.journey-heading button{min-height:36px;height:36px;font-size:11px;padding:0;border:0}#journey-exit{font-size:23px}.tour.panel{display:grid!important;grid-template-columns:1.1fr 1fr 58px;gap:7px;padding:5px 0 0;border:0;background:none}.tour #play{grid-column:1;grid-row:1;width:auto;min-height:44px;height:44px;padding:0 8px;font-size:14px;border-radius:9px}.tour #follow-toggle{grid-column:2;grid-row:1;border:1px solid #c5d0b84d;border-radius:9px;font-size:12px;min-height:44px;height:44px}.tour #tour-speed{grid-column:3;grid-row:1;background:#d0d5b518;color:#f0d79a;border-radius:9px;min-height:44px;height:44px;font-size:14px;padding:0}.tour #progress{grid-column:1/-1;grid-row:2;height:21px;margin:0;min-height:21px}.tour-copy,.tour .follow{display:none!important}#follow{display:none}.guided-row{border-top:0;gap:5px;padding:0;margin:0;min-height:28px}#guided-checkpoint{font-size:9px;line-height:1.4}.guided-row button{min-height:32px;padding:0 5px;font-size:10px;border:0}#guided-help{width:32px}.journey-heading button:hover,.guided-row button:hover{background:#e4e6c017}.profile-source{font-size:9px}#journey-pane .profile{margin-top:4px}body[data-sheet-mode=journey] .compass{bottom:255px}
#loading{background:#f1efdf;color:#244a40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;text-align:center}#loading .loading-logo{width:76px;height:76px;margin:0 0 22px}#loading .loading-brand{color:#244a40;font-size:25px;letter-spacing:.12em;font-weight:600}#loading .loading-slogan{font-size:13px;color:#647568;margin:13px 0 29px;letter-spacing:.12em}#loading .loading-path{width:160px;height:42px;fill:none;stroke:#b1b796;stroke-width:1.5}#loading .loading-path .trail{stroke:#647d58;stroke-width:2.6;stroke-dasharray:40 180;animation:trail-load 1.8s linear infinite}#loading #load-message{font-size:10px;color:#7c8c7d;margin:16px 0;max-width:260px;line-height:1.7}#loading.done{opacity:0;pointer-events:none;transition:opacity .5s ease}@keyframes trail-load{to{stroke-dashoffset:-220}}
@media(max-width:700px){header{left:14px;right:14px}.brand b{font-size:16px;letter-spacing:.06em}.settings-top{width:38px;height:40px;font-size:21px}.home-button{height:40px;min-height:40px;padding:0 10px;font-size:12px}.main-dock{width:calc(100% - 28px);bottom:calc(28px + env(safe-area-inset-bottom))}.main-dock button{min-height:53px;font-size:11px;gap:2px}.main-dock button>span{font-size:19px}.home-weather{top:calc(218px + env(safe-area-inset-top))!important;right:16px!important;width:205px;padding:4px 5px 4px 10px}.home-weather[data-collapsed=true]{right:16px!important}.weather-top #weather-details-toggle{min-height:44px}.weather-top b{font-size:11px}.weather-top small{font-size:9px}.detail-card{bottom:calc(98px + env(safe-area-inset-bottom));max-height:54dvh}.detail-heading{padding:12px 17px}.detail-scroll{padding:0 17px 15px}.detail-heading .station-id b{font-size:18px}.detail-heading .station-id span{font-size:10px}.map-label.place{font-size:10px;max-width:112px}.landmark-symbol{width:26px;height:26px}.landmark-symbol svg{width:17px;height:17px}.map-label.service .landmark-symbol{width:23px;height:23px}body[data-sheet-mode=journey] #explorer-sheet{width:344px;padding:0 10px 8px}.journey-heading b{font-size:11px}.journey-heading #journey-state{font-size:9px}#guided-checkpoint{font-size:9px}.guided-resume{bottom:calc(96px + env(safe-area-inset-bottom));width:calc(100% - 36px)}body[data-guided-away=true] .detail-card{bottom:160px;max-height:calc(100dvh - 250px)}body>footer .attribution{font-size:7px}#safety-about{font-size:9px;min-height:25px}.map-hint{display:none}}
@media(prefers-reduced-motion:reduce){#loading .loading-path .trail{animation:none}.map-label *{transition:none}}
