/* Geographic exploration: porcelain, rose, ink and a restrained metallic accent. */
/* Official map reader: all decoration belongs to the frame, never the map image. */
.official-map-reader { height:auto!important; min-height:575px; padding:18px; background:linear-gradient(145deg,#fffafd,#f8f2f7); color:#251d25; }
.official-map-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
.official-map-toolbar>div { display:grid; gap:5px; }
.official-map-toolbar span { font:500 14px/1.5 "Songti SC",Georgia,serif; color:#795065; }
.official-map-toolbar small { font:10px/1.5 Inter,"Microsoft YaHei",sans-serif; color:#857383; }
.official-map-toolbar button,.official-map-dialog button { min-height:40px; border:1px solid #e6cdd7; border-radius:9px; background:#fff; color:#a52538; padding:8px 12px; font:12px/1.4 Inter,"Microsoft YaHei",sans-serif; cursor:pointer; }
.official-map-sheet { margin:0; padding:8px; background:#fff; border:1px solid #ede3e9; border-radius:10px; }
.official-map-sheet>img { display:block; width:100%; height:auto; max-width:100%; object-fit:contain; border:0; border-radius:0; filter:none; }
.official-map-sheet figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; padding:10px 4px 3px; font:9px/1.6 Inter,"Microsoft YaHei",sans-serif; color:#857383; }
.official-map-sheet a,.official-map-provenance a { color:#a52538; text-underline-offset:3px; }
.official-map-reader .official-map-status { margin:16px 0 9px; font:11px/1.6 Inter,"Microsoft YaHei",sans-serif; color:#795065; }
.official-map-cities { display:flex; position:relative; flex-wrap:wrap; gap:7px; max-height:138px; overflow:auto; scrollbar-width:thin; scrollbar-color:#d5b7c6 transparent; padding:2px 3px 8px; }
.official-map-cities button { flex:0 0 auto; min-height:36px; padding:7px 12px; background:#fff; color:#795d70; border:1px solid #eadce5; border-radius:18px; font:11px/1.5 Inter,"Microsoft YaHei",sans-serif; cursor:pointer; }
.official-map-cities button[hidden] { display:none!important; }
.official-map-cities button:hover,.official-map-cities button[aria-pressed="true"] { background:#fff0f4; color:#b92738; border-color:#dba5b7; }
.official-map-cities button.is-located { box-shadow:0 0 0 3px #f4dde2; }
.official-map-reader button:focus-visible,.official-map-reader a:focus-visible,.official-map-dialog :focus-visible { outline:2px solid #ce3445; outline-offset:3px; }
.official-map-connections { margin-top:14px; border-top:1px solid #eadce5; padding-top:12px; }
.official-map-connections[hidden] { display:none; }
.official-map-connections>span { display:block; font-size:10px; color:#997784; margin-bottom:8px; }
.official-map-connections>div { display:flex; flex-wrap:wrap; gap:7px; max-height:112px; overflow:auto; }
.official-map-connection { display:inline-flex; gap:4px; align-items:center; background:#fff; border:1px solid #eadce5; border-radius:8px; padding:3px 7px; }
.official-map-connection button { border:0; background:none; color:#a52538; font:11px/1.5 Inter,"Microsoft YaHei",sans-serif; padding:5px 2px; cursor:pointer; }
.official-map-connection i { color:#bb8fa4; font-style:normal; }
.official-map-connection.is-active { background:#fff0f4; border-color:#dba5b7; }
.official-map-provenance { font:10px/1.8 Inter,"Microsoft YaHei",sans-serif; color:#857383; border-top:1px solid #eadce5; margin-top:14px; padding-top:10px; }
.official-map-provenance summary { cursor:pointer; color:#997784; }
.official-map-provenance p { font-size:10px; margin:8px 0; }
.official-map-dialog { position:fixed; inset:0; box-sizing:border-box; width:min(1500px,calc(100% - 16px)); max-width:calc(100% - 16px); height:94dvh; max-height:94dvh; margin:auto; padding:0; color:#251d25; background:#fbf7fa; border:1px solid #e6cdd7; border-radius:16px; box-shadow:0 24px 100px #251d2544; }
.official-map-dialog[open] { display:flex; flex-direction:column; }
.official-map-dialog::backdrop { background:#251d25aa; backdrop-filter:blur(8px); }
.official-map-dialog header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:14px 18px; background:#fff; border-bottom:1px solid #eadce5; }
.official-map-dialog header>div:first-child { display:grid; gap:5px; }
.official-map-dialog strong { font:17px/1.4 "Songti SC",Georgia,serif; color:#795065; }
.official-map-dialog header span { font:10px/1.4 Inter,"Microsoft YaHei",sans-serif; color:#857383; }
.official-map-dialog-tools { display:flex; align-items:center; gap:8px; }
.official-map-dialog output { min-width:40px; text-align:center; font:11px/1.5 Inter,sans-serif; }
.official-map-dialog button:disabled { opacity:.4; cursor:default; }
.official-map-pan { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:12px; background:#f1eaf0; }
.official-map-pan>div { margin:0 auto; }
.official-map-pan img { display:block; width:100%; max-width:none; height:auto; object-fit:contain; border:0; border-radius:0; filter:none; user-select:none; }
.official-map-dialog footer { padding:10px 18px; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font:10px/1.6 Inter,"Microsoft YaHei",sans-serif; color:#857383; }
.official-map-dialog footer a { color:#a52538; }
@media(max-width:600px){.official-map-reader{min-height:0;padding:12px}.official-map-toolbar{gap:9px}.official-map-toolbar span{font-size:13px}.official-map-toolbar button{font-size:10px;padding:7px 9px}.official-map-dialog{height:96dvh;max-height:96dvh}.official-map-dialog header{padding:10px}.official-map-dialog-tools{gap:5px}.official-map-dialog button{padding:7px 10px}.official-map-dialog footer{font-size:9px}.official-map-cities{max-height:168px}}
.atlas-wayfinding-v2 { background:#fcfbfc!important; }
.explore-page .atlas-v2-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:70px; margin-bottom:42px; }
.explore-page .atlas-v2-heading h2 { color:#251d25; font-size:clamp(46px,6vw,90px); line-height:1.03; letter-spacing:-.06em; margin:0; }
.explore-page .atlas-v2-heading h2 em { color:#b92738; }
.explore-page .atlas-v2-heading>p { max-width:340px; font:14px/1.85 Inter,"Microsoft YaHei",sans-serif; color:#736772; margin:0 0 7px; }
.travel-atlas-v2,.rail-planner-v2 { --map-ink:#251d25; --map-muted:#786d79; --map-red:#ce3445; --map-line:#ece3e9; color:var(--map-ink); font-family:Inter,"Microsoft YaHei",sans-serif; }
.travel-atlas-v2 { border:1px solid #e9dfe6; border-radius:18px; background:#fff; box-shadow:0 20px 70px #6b35400a; overflow:hidden; }
.travel-atlas-v2 button,.travel-atlas-v2 input,.travel-atlas-v2 select,.rail-planner-v2 input,.rail-planner-v2 select,.rail-planner-v2 button { font-family:inherit; }
.travel-atlas-v2 button { cursor:pointer; }
.travel-atlas-v2 button:focus-visible,.travel-atlas-v2 a:focus-visible,.travel-atlas-v2 input:focus-visible,.travel-atlas-v2 select:focus-visible,.rail-planner-v2 button:focus-visible { outline:2px solid #ce3445; outline-offset:4px; }
.atlas-v2-loading { min-height:450px; display:grid; place-content:center; text-align:center; background:linear-gradient(145deg,#fff,#fff2f5); }
.atlas-v2-loading>span { font:11px/1.5 Inter,sans-serif; letter-spacing:.2em; color:#b92738; }
.atlas-v2-loading p { font:26px/1.5 Georgia,serif; color:#251d25; }
.atlas-v2-fallback { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
.atlas-v2-fallback a { font-size:12px; color:#b92738; }
.atlas-v2-bar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:23px 28px; border-bottom:1px solid var(--map-line); }
.atlas-v2-title { display:flex; align-items:center; gap:13px; }
.atlas-v2-title>i { display:grid; place-items:center; width:38px; height:38px; border:1px solid #ead0d9; border-radius:50%; font:25px/1 Georgia,serif; color:#b92738; }
.atlas-v2-title strong { display:block; font-size:15px; font-weight:500; }
.atlas-v2-title span { display:block; font-size:10px; margin-top:5px; color:var(--map-muted); letter-spacing:.035em; }
.atlas-v2-bar-links { display:flex; gap:24px; align-items:center; }
.atlas-v2-bar-links button { background:none; border:0; font-size:11px; color:#786d79; padding:10px 0; min-height:40px; }
.atlas-v2-bar-links button[aria-pressed="true"] { color:#b92738; }
.atlas-v2-bar-links button b { font-size:10px; font-weight:400; padding:3px 5px; border-radius:5px; background:#fff0f3; color:#b92738; margin-left:5px; }
.atlas-v2-bar-links a { color:#b92738; font-size:11px; }
.atlas-v2-tools { display:grid; grid-template-columns:minmax(200px,1.7fr) 1fr 1.1fr auto; gap:16px; align-items:center; padding:20px 28px; background:#fff; }
.atlas-v2-search { display:flex; gap:10px; align-items:center; background:#faf8fa; border:1px solid #e9e1e7; border-radius:9px; padding:0 14px; min-height:49px; }
.atlas-v2-search>span { font-size:26px; line-height:1; color:#9e8997; }
.atlas-v2-search input { width:100%; min-width:0; background:none; border:0; padding:10px 0; outline:none; font-size:12px; color:#251d25; }
.atlas-v2-search input::placeholder { color:#9a8b98; }
.atlas-v2-filter { display:block; border-left:1px solid var(--map-line); padding-left:17px; }
.atlas-v2-filter>span,.atlas-v2-province-control>span { display:block; font-size:9px; color:#998c97; margin-bottom:4px; text-transform:uppercase; letter-spacing:.09em; }
.atlas-v2-filter select { width:100%; border:0; background:none; color:#483b49; font-size:12px; min-height:27px; padding:0 18px 0 0; }
.atlas-v2-clear { border:0; background:none; font-size:11px; color:#997784; padding:10px 0; }
.atlas-v2-workspace { display:grid; grid-template-columns:minmax(0,1fr) 340px; border-top:1px solid var(--map-line); border-bottom:1px solid var(--map-line); }
.atlas-v2-map-wrap { min-width:0; position:relative; background:#f8f3f8; }
.travel-atlas-v2 .atlas-fate-invitation {
 position:absolute; top:24px; left:24px; z-index:1000;
 display:flex; align-items:center; gap:16px; width:min(358px,calc(100% - 108px)); min-height:104px;
 box-sizing:border-box; padding:16px 20px; border:1px solid #d9d2c3; border-radius:18px;
 background:linear-gradient(115deg,#fffdf7,#fffefa); color:#ce3e2c; text-decoration:none;
 box-shadow:0 7px 24px #45543e12; cursor:pointer;
 transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.travel-atlas-v2 .atlas-fate-emblem { display:block; flex:0 0 72px; width:72px; height:72px; max-width:none; filter:drop-shadow(0 3px 10px #b99d4833); transition:transform .4s ease; }
.travel-atlas-v2 .atlas-fate-copy { display:grid; gap:7px; min-width:0; }
.travel-atlas-v2 .atlas-fate-kicker { font:400 9px/1.5 Inter,"Microsoft YaHei",sans-serif; letter-spacing:.18em; color:#8e8371; }
.travel-atlas-v2 .atlas-fate-action { display:flex; align-items:center; gap:9px; font:500 22px/1.25 var(--font-editorial,Georgia),"Noto Serif SC",serif; color:#ce3e2c; }
.travel-atlas-v2 .atlas-fate-arrow { font:400 25px/1 Georgia,serif; transition:transform .24s ease; }
.travel-atlas-v2 .atlas-fate-invitation:hover { transform:translateY(-3px); border-color:#c5ad75; box-shadow:0 12px 28px #45543e20; }
.travel-atlas-v2 .atlas-fate-invitation:hover .atlas-fate-emblem { transform:rotate(8deg); }
.travel-atlas-v2 .atlas-fate-invitation:hover .atlas-fate-arrow { transform:translateX(4px); }
.travel-atlas-v2 .atlas-fate-invitation:focus-visible { outline:3px solid #a44131; outline-offset:4px; }
/* Route controls share the corner only when there is a live route to show. */
.travel-atlas-v2 .geo-mission-controls { margin-top:144px!important; }
.travel-atlas-v2 .geo-mission-controls:not(:has(button:not([hidden]),select:not([hidden]),span:not(:empty))) { display:none; }
@media(max-width:1100px) {
 .travel-atlas-v2 .atlas-fate-invitation { top:18px; left:18px; gap:12px; width:min(314px,calc(100% - 94px)); min-height:86px; padding:13px 15px; border-radius:15px; }
 .travel-atlas-v2 .atlas-fate-emblem { flex-basis:56px; width:56px; height:56px; }
 .travel-atlas-v2 .atlas-fate-kicker { font-size:8px; letter-spacing:.14em; }
 .travel-atlas-v2 .atlas-fate-action { font-size:19px; gap:7px; }
 .travel-atlas-v2 .geo-mission-controls { margin-top:120px!important; }
}
@media(max-width:760px) {
 .travel-atlas-v2 .atlas-fate-invitation { top:14px; left:12px; width:min(314px,calc(100% - 80px)); min-height:80px; padding:12px; gap:11px; }
 .travel-atlas-v2 .atlas-fate-emblem { flex-basis:52px; width:52px; height:52px; }
 .travel-atlas-v2 .atlas-fate-kicker { font-size:7px; }
 .travel-atlas-v2 .atlas-fate-action { font-size:18px; }
 .travel-atlas-v2 .atlas-fate-arrow { font-size:21px; }
 .travel-atlas-v2 .geo-mission-controls { margin-top:142px!important; }
}
@media(prefers-reduced-motion:reduce) {
 .travel-atlas-v2 .atlas-fate-invitation,.travel-atlas-v2 .atlas-fate-emblem,.travel-atlas-v2 .atlas-fate-arrow { transition:none; }
 .travel-atlas-v2 .atlas-fate-invitation:hover,.travel-atlas-v2 .atlas-fate-invitation:hover .atlas-fate-emblem,.travel-atlas-v2 .atlas-fate-invitation:hover .atlas-fate-arrow { transform:none; }
}
.atlas-v2-map { height:575px; width:100%; }
.atlas-v2-map-caption { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 20px; border-top:1px solid #eee4ed; color:#8c7e8c; font-size:9px; background:#fcf9fc; }
.atlas-v2-map-caption button { border:0; background:none; color:#956471; font-size:10px; padding:6px 0; }
.atlas-v2-preview { margin:0; border-left:1px solid #eadfe6; background:#fff; min-width:0; }
.atlas-v2-place-photo { height:218px; position:relative; overflow:hidden; }
.atlas-v2-place-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.atlas-v2-place-photo:after { content:""; position:absolute; inset:60% 0 0; background:linear-gradient(transparent,#251d2566); pointer-events:none; }
.atlas-v2-place-photo>span { position:absolute; left:24px; bottom:14px; z-index:1; color:#fff; font-size:9px; letter-spacing:.05em; }
.atlas-v2-place-letter { height:200px; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:15px; overflow:hidden; background:linear-gradient(140deg,#fff8fa,#f1eaf1); }
.atlas-v2-place-letter>span { font:36px/1.3 "Songti SC",Georgia,serif; letter-spacing:.15em; color:#9c6c80; }
.atlas-v2-place-letter>small { font-size:9px; color:#9a8697; }
.atlas-v2-place-letter svg { position:absolute; inset:0; width:100%; height:100%; fill:none; stroke:#b995a4; stroke-width:.6; opacity:.12; pointer-events:none; }
.atlas-v2-place-body { padding:25px 25px 22px; }
.atlas-v2-place-topline { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.atlas-v2-eyebrow { font:500 9px/1.5 Inter,"Microsoft YaHei",sans-serif; letter-spacing:.13em; text-transform:uppercase; color:#ac7182; }
.atlas-v2-place-topline button { border:0; background:none; color:#ce3445; font-size:25px; line-height:1; padding:0 2px; }
.explore-page .atlas-v2-place-body h3 { margin:14px 0 15px; font:400 34px/1.18 Inter,"Microsoft YaHei",sans-serif; letter-spacing:-.045em; color:#251d25; display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.explore-page .atlas-v2-place-body h3 em { font:400 14px/1.4 "Songti SC",Georgia,serif; letter-spacing:.06em; color:#9d8494; }
.atlas-v2-place-body>p { min-height:65px; font-size:12px; line-height:1.9; color:#756776; margin:0; }
.atlas-v2-highlights { border-top:1px solid #eee4eb; margin-top:20px; padding-top:17px; }
.atlas-v2-highlights>span { font-size:9px; color:#a58c9d; }
.atlas-v2-highlights>p { color:#695769; font-size:11px; line-height:1.8; margin:7px 0 0; }
.atlas-v2-place-actions { display:flex; flex-direction:column; margin-top:20px; gap:8px; }
.atlas-v2-place-actions>a { display:flex; align-items:center; justify-content:space-between; background:#ce3445; color:#fff; min-height:42px; border-radius:7px; padding:10px 14px; font-size:11px; }
.atlas-v2-place-actions>button { background:none; color:#a76b7a; border:0; font-size:10px; min-height:32px; }
.atlas-v2-index-header { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:28px 28px 16px; }
.atlas-v2-index-header p { margin:5px 0 0; font-size:17px; color:#473648; }
.atlas-v2-province-control { min-width:170px; }
.atlas-v2-province-control select { width:100%; border:1px solid #e7dce4; background:#fff; border-radius:6px; color:#68536a; padding:7px 25px 7px 10px; font-size:11px; }
.atlas-v2-results { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 20px; max-height:236px; overflow:auto; padding:0 28px 20px; overscroll-behavior:contain; scrollbar-color:#d7bfc9 transparent; scrollbar-width:thin; }
.atlas-v2-results>button { display:flex; align-items:center; gap:10px; min-height:61px; border:0; border-bottom:1px solid #f0e8ee; background:none; color:#635164; text-align:left; padding:10px 0; }
.atlas-v2-results>button>span:last-child { margin-left:auto; color:#c4a0ad; font-size:15px; }
.atlas-v2-results>button strong { display:block; font-weight:400; font-size:12px; }
.atlas-v2-results>button small { display:block; color:#a390a1; font-size:8px; margin-top:5px; line-height:1.4; }
.atlas-v2-list-dot { width:5px; height:5px; border-radius:50%; background:#cab2c0; flex-shrink:0; }
.atlas-v2-results>button[aria-pressed="true"] strong,.atlas-v2-results>button:hover strong { color:#ce3445; }
.atlas-v2-results>button[aria-pressed="true"] .atlas-v2-list-dot { background:#ce3445; box-shadow:0 0 0 4px #ce344511; }
.atlas-v2-empty { grid-column:1/-1; padding:25px; text-align:center; background:#fcf7fa; border-radius:8px; color:#685668; font-size:13px; }
.atlas-v2-empty p { font-size:12px; }
.atlas-v2-empty button { color:#b92738; border:0; background:none; padding:10px; }
.atlas-v2-journeys { padding:25px 28px; border-top:1px solid #eadfe6; background:#fff8fa; }
.atlas-v2-journey-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:17px; }
.atlas-v2-journey-heading>p { font:18px/1.4 Georgia,serif; color:#98707f; margin:0; }
.atlas-v2-journey-options { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.atlas-v2-journey-options>button { padding:15px; background:#fff; border:1px solid #eee0e6; border-radius:8px; text-align:left; color:#665167; }
.atlas-v2-journey-options>button[aria-pressed="true"],.atlas-v2-journey-options>button:hover { border-color:#cd788b; background:#fff3f6; }
.atlas-v2-journey-options small { display:block; font-size:8px; color:#bf98a6; margin-bottom:11px; }
.atlas-v2-journey-options strong { display:block; font-weight:400; font-size:12px; line-height:1.5; min-height:36px; }
.atlas-v2-journey-options span { display:block; font-size:9px; color:#a27485; margin-top:10px; }
.atlas-v2-journey-note { color:#957b8b; font-size:10px; line-height:1.75; margin:17px 0 0; }

/* Shared geographic renderer. No remote tiles; every boundary comes from real data. */
.geographic-map { background:radial-gradient(ellipse at 62% 33%,#fff9fc,#f1edf6 70%)!important; font-family:Inter,"Microsoft YaHei",sans-serif!important; isolation:isolate; z-index:0; }
.geographic-map .leaflet-pane { z-index:400; }
.geographic-map .leaflet-overlay-pane { z-index:400; }
.geographic-map .leaflet-marker-pane { z-index:600; }
.geographic-map .leaflet-tooltip-pane { z-index:650; }
.geographic-map .leaflet-control-container { position:absolute; inset:0; z-index:800; pointer-events:none; }
.geographic-map .leaflet-control { pointer-events:auto; }
.geographic-map .leaflet-interactive.geo-province { transition:fill .2s,stroke .2s; }
.geographic-map .geo-city-marker { background:none; border:0; cursor:pointer; }
.geographic-map .geo-city-marker[hidden] { display:none!important; }
.geo-pin-dot { display:block; position:absolute; left:10px; top:10px; width:6px; height:6px; border-radius:50%; background:#a28d9e; border:1.5px solid #fff; box-shadow:0 0 0 .6px #a28d9e; }
.geo-city-marker.is-major .geo-pin-dot { width:7px; height:7px; left:9.5px; top:9.5px; background:#8d7388; }
.geo-pin-halo { display:none; position:absolute; left:2px; top:2px; width:22px; height:22px; border:1px solid #ce344540; border-radius:50%; }
.geo-city-marker.is-selected .geo-pin-dot { width:9px; height:9px; left:8.5px; top:8.5px; background:#ce3445; border:2px solid #fff; box-shadow:0 0 0 1px #ce3445,0 0 12px #ce34454d; }
.geo-city-marker.is-selected .geo-pin-halo { display:block; }
.geo-pin-label { position:absolute; left:23px; top:5px; white-space:nowrap; color:#796578; font-size:9px; line-height:1.5; text-shadow:0 1px #fff,1px 0 #fff,-1px 0 #fff,0 -1px #fff; opacity:0; pointer-events:none; }
.geo-city-marker.show-label .geo-pin-label,.geo-city-marker:hover .geo-pin-label,.geo-city-marker:focus .geo-pin-label { opacity:1; }
.geo-city-marker.is-selected .geo-pin-label { color:#b92738; font-weight:600; }
.geo-city-marker:focus-visible { outline:2px solid #ce3445; outline-offset:2px; border-radius:50%; }
.geo-controls { display:flex; flex-direction:column; border:1px solid #e2d7e0; background:#ffffffed; border-radius:9px; box-shadow:0 5px 20px #784c640b; overflow:hidden; margin:16px!important; }
.geo-controls button { width:36px; height:36px; border:0; border-bottom:1px solid #f0e8ef; background:transparent; color:#8f657a; cursor:pointer; font:20px/1 Inter,sans-serif; padding:0; }
.geo-controls button:last-child { border:0; font-size:23px; }
.geo-controls button:hover { background:#fff0f4; color:#ce3445; }
.geographic-map .leaflet-control-attribution { background:#faf6fbe6; color:#9c8796; font-size:8px; padding:3px 8px; }
.geographic-map .leaflet-control-attribution a { color:#956f85; }
.geographic-map .leaflet-control-scale-line { border-color:#aa94a2; color:#947b8e; background:#ffffff88; font-size:8px; box-shadow:none; }
.geo-province-tip { background:#ffffffef!important; border:1px solid #e8d3df!important; box-shadow:0 4px 16px #5e28421a!important; border-radius:5px!important; color:#8c546c!important; font-size:10px!important; padding:6px 9px!important; }
.geo-route-flow { animation:geo-route-flow 1.8s linear infinite; }
/* Keep small functional text clear against the very light map palette. */
.geo-pin-label { color:#6d596b; }
.atlas-v2-place-body>p { color:#675467; }
.atlas-v2-results>button small { color:#887087; }
.atlas-v2-journey-note { color:#876576; }
@keyframes geo-route-flow { to { stroke-dashoffset:-36; } }
@media(prefers-reduced-motion:reduce){.geo-route-flow { animation:none; }.geographic-map .leaflet-interactive.geo-province { transition:none; }}
@media(max-width:1050px){
 .atlas-v2-workspace { grid-template-columns:minmax(0,1fr) 290px; }.atlas-v2-map{height:590px;}.atlas-v2-place-body{padding:22px;}.atlas-v2-place-photo{height:190px;}.atlas-v2-tools{grid-template-columns:minmax(190px,1.5fr) 1fr 1fr auto;gap:10px;padding:17px 20px;}.atlas-v2-filter{padding-left:12px;}.atlas-v2-filter select{font-size:10px;}.atlas-v2-results{grid-template-columns:repeat(3,minmax(0,1fr));}.atlas-v2-journey-options strong{font-size:11px;}.atlas-v2-journey-options>button{padding:12px;}
}
@media(max-width:760px){
 .explore-page .atlas-v2-heading { display:block; margin-bottom:30px; }.explore-page .atlas-v2-heading>p{font-size:13px;max-width:none;margin-top:22px;}.explore-page .atlas-v2-heading h2{font-size:50px;}.travel-atlas-v2{border-radius:12px;}.atlas-v2-bar{padding:18px;gap:12px;}.atlas-v2-title>i{width:30px;height:30px;font-size:22px;}.atlas-v2-title{gap:9px;}.atlas-v2-title strong{font-size:13px;}.atlas-v2-title span{font-size:8px;}.atlas-v2-bar-links{gap:8px;}.atlas-v2-bar-links>a{display:none;}.atlas-v2-bar-links button{font-size:9px;}.atlas-v2-tools{grid-template-columns:1fr 1fr auto;padding:15px;gap:14px 10px;}.atlas-v2-search{grid-column:1/-1;min-height:44px;}.atlas-v2-search input{font-size:12px;}.atlas-v2-filter{border:0;padding-left:0;}.atlas-v2-filter>span{font-size:8px;}.atlas-v2-filter select{font-size:11px;min-height:30px;}.atlas-v2-clear{font-size:10px;}.atlas-v2-workspace{display:block;}.atlas-v2-map{height:415px;}.atlas-v2-map-caption{padding:9px 13px;font-size:8px;}.atlas-v2-map-caption button{font-size:9px;}.atlas-v2-preview{border-left:0;border-top:1px solid #eadfe6;display:grid;grid-template-columns:115px minmax(0,1fr);}.atlas-v2-place-photo,.atlas-v2-place-letter{height:100%;min-height:305px;}.atlas-v2-place-photo>span{display:none;}.atlas-v2-place-letter>span{font-size:25px;writing-mode:vertical-rl;}.atlas-v2-place-letter>small{font-size:7px;writing-mode:vertical-rl;}.atlas-v2-place-body{padding:18px 17px;}.explore-page .atlas-v2-place-body h3{font-size:25px;margin:10px 0 12px;gap:8px;}.explore-page .atlas-v2-place-body h3 em{font-size:11px;}.atlas-v2-place-body>p{font-size:11px;line-height:1.75;min-height:0;}.atlas-v2-eyebrow{font-size:8px;}.atlas-v2-highlights{padding-top:11px;margin-top:12px;}.atlas-v2-highlights>p{font-size:10px;}.atlas-v2-highlights>span{font-size:8px;}.atlas-v2-place-actions{margin-top:13px;gap:3px;}.atlas-v2-place-actions>a{font-size:10px;min-height:39px;padding:8px 10px;}.atlas-v2-place-actions>button{font-size:9px;}.atlas-v2-index-header{padding:22px 17px 12px;gap:15px;}.atlas-v2-index-header p{font-size:14px;}.atlas-v2-province-control{min-width:115px;width:125px;}.atlas-v2-province-control>span{font-size:7px;}.atlas-v2-province-control select{font-size:10px;}.atlas-v2-results{grid-template-columns:1fr 1fr;gap:0 15px;padding:0 17px 16px;max-height:230px;}.atlas-v2-results>button{min-height:62px;gap:8px;}.atlas-v2-results>button strong{font-size:11px;}.atlas-v2-results>button small{font-size:7px;}.atlas-v2-journeys{padding:20px 17px;}.atlas-v2-journey-heading{display:block;margin-bottom:15px;}.atlas-v2-journey-heading>p{font-size:18px;margin-top:8px;}.atlas-v2-journey-options{grid-template-columns:repeat(5,140px);overflow:auto;padding-bottom:7px;scroll-snap-type:x mandatory;}.atlas-v2-journey-options>button{scroll-snap-align:start;}.atlas-v2-journey-options strong{font-size:12px;}.atlas-v2-journey-note{font-size:9px;}.geo-controls{margin:12px!important;}.geo-controls button{width:34px;height:34px;}.geo-pin-label{font-size:8px;}
}
.geo-mission-controls{display:flex;flex-direction:column;gap:5px;max-width:230px;margin:12px!important;padding:8px 10px;border:1px solid #b7b8ad;border-radius:7px;background:#fcfaf5ed;box-shadow:0 2px 12px #53677318;color:#435b55;font:11px/1.5 Figtree,Arial,sans-serif}.geo-mission-controls .geo-map-button,.geo-route-day{padding:5px 8px;border:1px solid #b6c5c9;border-radius:4px;color:#435b55;background:#fdfdf9;font:inherit;cursor:pointer}.geo-route-status{color:#705858;font-size:10px}.geo-street-status:empty,.geo-route-status:empty{display:none}.geo-route-day[hidden],[data-street-toggle][hidden]{display:none}
.geo-live-place{display:flex;align-items:center;gap:6px;white-space:nowrap;pointer-events:auto}.geo-live-place span{display:grid;place-items:center;width:27px;height:27px;border:2px solid #f3d298;border-radius:50%;background:#8d242b;color:#fff1d0;box-shadow:0 2px 13px #27101599}.geo-live-place strong{padding:5px 8px;border:1px solid #c5a76c;border-radius:4px;background:#17332eea;color:#f3d298;font:600 11px Figtree,Arial,sans-serif;max-width:125px;overflow:hidden;text-overflow:ellipsis}
.geographic-map .leaflet-popup-content,.geographic-map .leaflet-popup-content strong{color:#203e35}.geographic-map .leaflet-popup-content small{color:#4b625a}.geographic-map .leaflet-popup-content p{margin:8px 0;font-size:12px}
