/* A moonlit expedition: indigo stages, cyan frames, a continuous illustrated night sky. */
:root{--bg:#061b3b;--panel:#082541;--line:#42718966;--muted:#a9bfd2;--text:#f4faff;--green:#61e7df;--cyan:#6ae9ee;--pink:#ff7773;--radius:4px;--orbit-turn:0deg}
body{background-color:#061b3b;background-image:radial-gradient(ellipse at 8% 18%,#28638d45,transparent 40%),radial-gradient(ellipse at 90% 65%,#12625a38,transparent 45%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='210' height='210'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.075' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23749dae' opacity='.10' filter='url(%23n)' d='M0 0h210v210H0z'/%3E%3C/svg%3E");background-attachment:fixed;transition:background-color .6s}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 85% 5%,#00c0c321,transparent 55%);z-index:-1}
.topbar{background:#03152eea;border-bottom:1px solid #49d7e64d;color:#f5faff;backdrop-filter:blur(12px)}
.topbar .brand{letter-spacing:.18em;font-weight:500}.topbar .moon-logo{color:#6de9e9}.topbar .text-button,.topbar #clock{color:#c0d3e3}.topbar .account-link{color:#94f6ef}.topbar .private{color:#9dc5d9;font-size:9px}
.sidebar{background:#03162a24;border-color:var(--line)}.sidebar nav a.active{background:#00c0c318;color:var(--cyan);border-left:2px solid var(--cyan);border-radius:0}.sidebar nav a{border-radius:0}.sidebar-foot{line-height:2}
.page-heading{position:relative;padding:25px 0 20px;align-items:end;margin-bottom:22px}.page-heading>div{min-width:0}.page-heading .eyebrow,.section-heading .eyebrow{font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(35px,5.4vw,74px);font-weight:900;line-height:1.05;letter-spacing:.005em;background:linear-gradient(#f5faff 56%,#ff7773 57%);color:transparent;background-clip:text;-webkit-background-clip:text;margin:0 0 10px;overflow-wrap:anywhere}
.page-heading h1{font-size:24px;letter-spacing:.07em}.page-heading:after{content:"";position:absolute;width:120px;height:120px;top:0;right:12px;border:1px solid #46c6d433;border-radius:50%;transform:rotate(var(--orbit-turn)) scaleY(.45);pointer-events:none;z-index:-1}.small-link{color:var(--cyan)}
.expedition-hero{background:transparent;border:0;border-radius:0;min-height:530px;grid-template-columns:1.05fr 1fr;overflow:visible;margin-top:6px}.expedition-hero .hero-copy{padding:40px 10px 35px 0;background:none}.hero-label{color:#9bceeb;border:0;font-size:11px;letter-spacing:.1em;margin:0 0 26px}.expedition-hero h1{font-family:GuideJP,sans-serif;font-weight:900;font-size:clamp(28px,3.3vw,48px);line-height:1.65;letter-spacing:.015em}.expedition-hero h1 span{color:#ff7773}.expedition-hero .hero-lead{font-size:14px;color:#d2e3f0;line-height:2;margin:20px 0 25px}.expedition-date{font-family:Georgia,serif;font-size:32px!important;color:#f6fbff!important;letter-spacing:.06em;line-height:1.4!important}.expedition-date span{color:#84c2d1}.expedition-date small{font:9px GuideJP,sans-serif;letter-spacing:.18em;display:block;margin-top:8px;color:#b7d0e4}.hero-actions{display:grid;gap:10px;max-width:330px;margin-top:25px}.hero-actions a{border-radius:3px;min-height:48px;padding:13px 18px;font-size:13px;display:flex;justify-content:space-between;font-weight:700}.hero-link{background:#ff7773;color:#141f30}.hero-map{border:1px solid #47dce2;color:#a7faff;background:#021729b3}.hero-image{margin:24px 0 35px 24px;border:1px solid #4dd6e86b;border-radius:48% 48% 3px 3px;box-shadow:0 0 45px #00c0c310;overflow:hidden}.hero-image:after{background:linear-gradient(0deg,#051b3bd9,transparent 35%)}.hero-image img{object-position:52% 48%}.hero-sticker{border:1px solid #6de5e7;background:#041b36db;color:#b6ffff;box-shadow:none;border-radius:50%;font-size:14px;right:18px;bottom:20px}
.overview-strip{grid-template-columns:1fr 2fr;border-top:1px solid #51b2c84d;border-bottom:1px solid #51b2c84d;padding:22px 0;margin:0 0 48px}.overview-strip>a strong{color:#f3faff}.overview-strip .tiny{color:#87dce5}.overview-strip strong{font-size:24px}.overview-strip small{color:#adc6dc}
.recommend{margin:0 -20px 50px;padding:40px 32px;border:0;border-radius:3px;position:relative;overflow:hidden;box-shadow:0 14px 45px #00102325}.recommend:after{content:"";width:160px;height:160px;position:absolute;right:-70px;top:-70px;border:1px solid #a8bdcd;border-radius:50%;pointer-events:none}.recommend .section-heading{display:block;margin-bottom:28px}.recommend .section-heading h2{font-size:20px;line-height:1.7}.recommend .spark{display:none}.recommend .section-heading .eyebrow{font-size:clamp(45px,6vw,85px);white-space:nowrap}.recommend .primary{background:#172332;color:white;border-radius:30px}.recommend .area-label select{background:#082541;color:var(--text);border-color:#56839b;font-size:14px}.recommend .location-note{color:var(--muted)}.recommend .rec-card{background:#082541ed;color:var(--text);border:1px solid #47748e;border-radius:2px}.recommend .rec-num{color:var(--cyan)}.recommend .rec-card>span:last-child{color:var(--cyan)}.recommend .rec-card strong{font-size:13px}.recommend .map-entry{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0;padding:14px 0;font-size:14px}
.screen-section{padding:8px 0 32px}.section-heading h2{font-size:20px}.screen-section .section-heading .eyebrow{font-size:clamp(35px,4vw,58px)}
.ticket{background:linear-gradient(110deg,#0631487d,#05192bbf),repeating-linear-gradient(0deg,transparent 0 4px,#58dbe306 4px 5px);border:1px solid #39cbd3;border-top:2px solid #5ae7e5;border-radius:2px;box-shadow:inset 0 0 22px #16c6cf0a,0 0 12px #00b3c10b;padding:23px}.ticket:before,.ticket:after{content:"";position:absolute;pointer-events:none;width:18px;height:18px;border-color:#6efaff;transform:rotate(45deg)}.ticket:before{top:-10px;left:-10px;border-right:3px solid #6efaff}.ticket:after{bottom:-10px;right:-10px;border-left:3px solid #6efaff}.ticket:nth-child(2){border-color:#90bfff}.ticket:nth-child(3){border-color:#c2aaff}.ticket-format{color:#8cf6ef}.ticket:nth-child(2) .ticket-format{color:#9acaff}.ticket:nth-child(3) .ticket-format{color:#d0baff}.ticket h3{font-size:15px}.ticket-time{font-family:Georgia,serif;font-weight:400;font-size:32px;color:#fff}.ticket-time small{font-family:GuideJP,sans-serif;color:#c0d3e2}.ticket-bottom strong{font-size:22px;letter-spacing:.04em;color:#fff}.ticket .confirmed{color:#b3ffff;background:#126e7540;border-color:#63c7c86b}.ticket .muted,.ticket-date{color:#b0cadc}.ticket-divider{border-color:#51879a8c}.admission-summary{color:#a7f4f0}.admission-details{border-color:#51879a8c}.admission-details summary{color:#bafaff;border:1px solid #51879a8c;padding:12px;margin-top:12px}.admission-details p{color:#e0eef6}.admission-details a{color:#9af8ff}
.quick-grid{padding:30px;margin:0 -20px 35px;border-radius:3px}.quick-grid>a{background:transparent;border-radius:0;border-color:var(--line)}.quick-grid>a>span{color:var(--cyan)}.quick-grid h3{color:var(--text)}
.guide-box,.chat-panel,.qr-panel{background:#06213add;border:1px solid #3f748e;border-radius:3px}.guide-box h3{color:#b4f8f5}.guide-box p{color:#e2edf7}.guide-subtitle{color:#b5d3e8}.data-notice{background:#89cfdc0b;color:#b9d9eb;border:1px solid #56869c77;border-radius:2px}.guide-content table th{background:#0e344b}.guide-art .speech{color:var(--text);background:#082541;border:1px solid var(--line)}.guide-art .speech:before{border-bottom-color:#082541}.chat-panel textarea,.chat-panel select,.message{background:#06192f;color:#e6f2fa}.message.user{background:#114255}.chat-panel .primary,.qr-panel .primary{background:#66e4e1;color:#092033}.qr-panel select{background:#08263e;color:#eafaff}.item-controls button{border-radius:3px;min-height:44px}.progress-help{font-size:12px}.progress-archive{border-radius:3px}.current-label{color:var(--cyan)}
.mobile-nav{background:#02182df7;border-top:1px solid #4cc7d172;color:#c6dbea}.mobile-nav a{color:#bed0e1}.mobile-nav a.active{color:#75f5ee}.mobile-nav span{font-size:10px}.site-footer{border-color:var(--line);line-height:2}.primary{border-radius:3px}.login-page{background-color:#061b3b;background-image:radial-gradient(ellipse at 20% 10%,#2f687c50,transparent 70%)}.login-card{background:#08263edb;border:1px solid #4bbbc78c;border-radius:3px}.login-card input{background:#02192c}.login-card .primary{background:#ff7773;color:#152138}.login-card .moon-logo{color:#75eded}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1)}.reveal.revealed{opacity:1;transform:none}
@media(min-width:1101px){.expedition-hero .hero-image{min-height:440px}}
@media(max-width:760px){main{padding-top:20px}.page-heading{padding:18px 0 12px;gap:8px;flex-wrap:wrap}.page-heading .eyebrow{font-size:46px}.page-heading h1{font-size:20px}.page-heading .small-link{margin:0}.topbar{padding:0 18px;gap:10px}.topbar .brand{font-size:17px}.topbar .moon-logo{font-size:34px}.brand-sub{font-size:7px}.top-meta{gap:4px}.topbar .account-link{font-size:10px}.topbar .text-button{font-size:10px;padding:8px 4px}.expedition-hero{display:block;min-height:0;margin-top:0}.expedition-hero .hero-copy{padding:15px 0 22px}.hero-label{font-size:10px;margin-bottom:16px;white-space:normal}.expedition-hero h1{font-size:clamp(27px,7.7vw,35px);line-height:1.65}.expedition-hero .hero-lead{font-size:13px;margin:16px 0 18px;line-height:1.9}.expedition-date{font-size:28px!important}.expedition-date small{font-size:8px}.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:none;margin-top:20px}.hero-actions a{padding:12px 10px;gap:6px;font-size:11px;justify-content:center;min-height:48px}.hero-image{height:220px;min-height:0;margin:0 0 22px;border-radius:50% 50% 2px 2px}.hero-image img{object-position:50% 40%}.hero-sticker{font-size:12px;bottom:10px;right:12px;padding:10px 16px}.overview-strip{grid-template-columns:1fr 1.5fr;padding:15px 0;margin-bottom:30px;gap:0}.overview-strip>div{padding:0 10px 0 0}.overview-strip>a{grid-column:auto;border:0;padding:0 0 0 12px}.overview-strip strong,.overview-strip>a strong{font-size:20px}.overview-strip small{font-size:10px;display:block}.overview-strip .tiny{font-size:8px}.recommend{margin:0 -18px 32px;padding:32px 18px}.recommend .section-heading .eyebrow{font-size:clamp(42px,12.7vw,55px)}.recommend .section-heading h2{font-size:18px}.recommend .section-heading{margin-bottom:20px}.recommend .area-label{flex-basis:100%}.recommend .area-label select{font-size:16px}.recommend .rec-grid{gap:10px}.recommend .rec-card{padding:15px}.screen-section{padding-bottom:24px}.screen-section .section-heading{align-items:start;flex-wrap:wrap}.screen-section .section-heading .eyebrow{font-size:37px}.screen-section h2{font-size:18px}.ticket{padding:20px}.ticket h3{font-size:16px}.ticket-time{font-size:34px}.ticket-time small{font-size:16px}.quick-grid{padding:25px 18px;margin:0 -18px 28px}.quick-grid>a{padding:16px}.guide-art{display:none}.guide-layout{display:block}.guide-content p{font-size:14px}.timeline-detail{border-radius:3px}.item-controls button{padding:10px 9px}.login-card h1{font-size:25px}.page-heading:after{width:95px;height:95px;right:0}.site-footer{font-size:10px}.library-card h2{font-size:15px}.rec-card strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}.page-heading:after{transform:scaleY(.45)}}

@media(max-width:760px){.timeline-detail p{font-size:13px}.expedition-hero .hero-lead{font-size:14px}.recommend .rec-card strong{font-size:14px}.location-note{font-size:12px}.badge{font-size:11px}.progress-help{font-size:12px}.recommend>small{font-size:11px}.current-label{font-size:12px}}
body{transition:none}.page-heading{isolation:isolate}

.detail-progress{margin-bottom:18px}.detail-progress.is-current{outline:none;background:transparent}.detail-progress>.current-label{display:none}.detail-progress .item-controls{padding:6px 0}

/* One illustrated night background across every authenticated route. */
html{background:#061b3b;color-scheme:dark}
body:not(.login-page){background-image:none;isolation:isolate}
body:not(.login-page):before{z-index:-1;background:linear-gradient(180deg,#04162ee6,#04162edb 55%,#04162ef2),url('/assets/cover.webp') center 40%/cover no-repeat}
.expedition-surface{background:#06213aeb;color:var(--text);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.recommend .primary{background:#61e7df;color:#082541}.recommend:after{border-color:var(--line)}
.timeline-detail,.library-card,.rec-card,.source-links a,.progress-archive{background:#082541ed}
.parking-map-focus{display:block;width:100%;margin:12px 0;color:var(--cyan);min-height:48px}
.parking-marker span{background:#164b91;border-radius:50%;width:34px;height:34px;font-size:16px}
.leaflet-container{background:#102c40}.leaflet-popup-content-wrapper,.leaflet-popup-tip,.leaflet-tooltip{background:#082541;color:#f4faff;border-color:#56839b}
.leaflet-popup-content a{color:#85f4f4}.leaflet-container a.leaflet-popup-close-button{color:#d9efff}
.leaflet-bar a,.leaflet-bar a:hover{background:#082541;color:#f4faff;border-color:#56839b}
.leaflet-container .leaflet-control-attribution{background:#082541ed;color:#d9efff}.leaflet-control-attribution a{color:#85f4f4}

.ticket-tabs{display:flex;gap:8px;margin:18px 0;flex-wrap:wrap}.ticket-tabs a{border:1px solid var(--line);padding:12px 18px;border-radius:4px;min-height:48px}.ticket-tabs a[aria-current="page"]{background:var(--cyan);color:#061b3b;font-weight:700}.single-ticket{grid-template-columns:minmax(0,640px)}
.action-record{border-top:1px solid var(--line);padding:12px 0;margin-bottom:15px}.action-record p{color:var(--cyan);font-weight:700}.action-record .item-controls{flex-wrap:wrap}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#load-status:not(:empty){padding:16px;border:1px solid var(--pink);margin-bottom:20px}

/* A small readability increase for handheld screens. */
@media(max-width:760px){
 body{font-size:14px}
 .guide-content p,.expedition-hero .hero-lead{font-size:15px}
 .timeline-detail p,.message p,.admission-summary,.admission-details summary,.admission-details p,.admission-details a{font-size:14px}
 .guide-content table,.guide-timeline{font-size:13px}
 .data-notice{font-size:13px!important}
 .item-controls button,.progress-state,.place-chips button,.chat-panel form>label,.area-label{font-size:13px}
 .small,small,.location-note,.progress-help,.current-label{font-size:13px}
 .recommend>small,.badge,.hero-actions a,.chat-suggestions button,.privacy-copy{font-size:12px}
 .recommend .rec-card strong,.rec-card strong{font-size:15px}
 .library-card h2{font-size:16px}.library-card span,.small-link,.mobile-nav span{font-size:11px}
 .bot-intro p{font-size:12px}.chat-panel textarea,.login-card input{font-size:16px}
 .ticket-bottom>span,.timeline-time span,.overview-strip small{font-size:11px}
}

/* Keep supporting copy legible and the end of each page above the fixed menu. */
@media(max-width:760px){
 :root{--mobile-nav-height:calc(72px + env(safe-area-inset-bottom,0px))}
 html{scroll-padding-bottom:calc(var(--mobile-nav-height) + 24px)}
 body:not(.login-page) main{padding-bottom:calc(var(--mobile-nav-height) + 24px)}
 .site-footer{font-size:13px;line-height:1.9;color:#c0d3e3;padding-bottom:12px}
 .next-note,.quick-grid small,.quick-grid p,.ticket-date,.privacy-copy,.source-links a,.message a,.login-card small{font-size:13px}
 .day-tabs button{min-width:0;padding-inline:10px}
 .hero-label,.overview-strip .tiny,.rec-card .tiny,.library-card small,.expedition-date small,.message small,.day-tabs button{font-size:12px}
 .ticket-bottom>span,.timeline-time span,.overview-strip small,.library-card span,.small-link,.mobile-nav span{font-size:12px}
}

/* The guide puts the question and the next action ahead of decorative headings. */
body[data-route="bot"] .page-heading{margin-bottom:18px;align-items:center;gap:12px}
body[data-route="bot"] .page-heading .eyebrow{font-size:16px;letter-spacing:.12em;margin-bottom:6px;white-space:normal}
body[data-route="bot"] .page-heading h1{font-size:26px}
#clear-chat{font-size:12px;padding:8px 12px;min-height:44px;flex-shrink:0}
.chat-summary{color:var(--muted);font-size:14px;margin:0 0 12px}
.chat-suggestions{margin:12px 0;gap:8px}.chat-suggestions button{min-height:44px;font-size:13px}
.messages:empty{display:none}.messages{margin:16px 0}
.message small{font-size:12px}.message p{font-size:15px}.message.user{margin-left:16px}
.chat-panel form .primary{margin-top:10px;min-height:48px;font-size:15px}
.chat-context,.chat-privacy{margin-top:14px;border-top:1px solid var(--line);padding-top:8px}
.chat-context summary,.chat-privacy summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:13px}
.chat-context label{display:block;margin:10px 0 6px;font-size:13px}.chat-context select{width:100%;font-size:16px}
.chat-context .share-label{font-size:13px}.chat-privacy .privacy-copy{font-size:13px;line-height:1.8}
.chat-shortcuts,.guide-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.chat-shortcuts a,.guide-actions a,.message .chat-action{display:inline-flex;align-items:center;min-height:44px;border:1px solid #51879a8c;border-radius:4px;padding:9px 12px;font-size:13px;color:var(--cyan);margin:4px 4px 4px 0}
#retry-chat{width:100%;margin-top:10px;min-height:48px}.chat-error{border-color:var(--pink)}.chat-working{color:var(--cyan)}
@media(max-width:760px){
 body[data-route="bot"] .page-heading h1{font-size:22px}body[data-route="bot"] .page-heading{flex-wrap:wrap}
 body[data-route="bot"] .chat-panel{padding:14px}.chat-panel .chat-suggestions{display:grid;grid-template-columns:1fr 1fr}
 .chat-suggestions button{padding:8px 6px;line-height:1.5}.chat-summary{font-size:13px}
 .chat-panel textarea{min-height:78px}.message{padding:13px}.chat-shortcuts a{flex:1 1 40%;justify-content:center}
}

.meal-plan summary{padding:14px;border:1px solid var(--line);cursor:pointer;color:var(--cyan);min-height:48px}
@media(max-width:760px){body[data-route="meals"] .page-heading .eyebrow,body[data-route="himeji-evening"] .page-heading .eyebrow{font-size:24px;white-space:normal}body[data-route="meals"] .page-heading,body[data-route="himeji-evening"] .page-heading{margin-bottom:18px}}

body[data-route="map"] .page-heading{margin-bottom:14px}body[data-route="map"] .page-heading .eyebrow{font-size:16px;letter-spacing:.12em;margin-bottom:6px}body[data-route="map"] .page-heading h1{font-size:25px}.actual-parking span{font-family:GuideJP,sans-serif}.gps-controls button{flex:1 1 auto}body[data-route="map"] .place-chips{margin-top:16px}

/* One operating view for the trip: next action, map, then the upcoming steps. */
:root{--journey-accent:#79eee8;--journey-glow:#38bdca16}
body[data-chapter="finale"]{--journey-accent:#d9b7ff;--journey-glow:#bc7be01b}
body[data-chapter="return"],body[data-chapter="after"]{--journey-accent:#eed09b;--journey-glow:#d6a35913}
.journey-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 14px}.journey-heading .eyebrow{font-size:12px;letter-spacing:.12em;color:var(--journey-accent);margin:0 0 3px}.journey-heading p{margin:0;font-size:14px}.journey-heading nav{display:flex;gap:5px}.journey-heading button{padding:9px 12px;min-height:44px;font-size:13px}
.journey-now{position:relative;padding:18px 20px;background:linear-gradient(110deg,var(--journey-glow),#082541ec 65%);border:1px solid var(--journey-accent);border-left:3px solid var(--journey-accent);margin-bottom:18px;overflow:hidden;box-shadow:0 0 24px var(--journey-glow)}
.journey-now:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 20%,#d4f5ff0b 48%,transparent 70%);transform:translateX(100%);animation:journey-light 1.6s ease-out 1}
@keyframes journey-light{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.journey-now h1{font-size:24px;line-height:1.5;letter-spacing:.02em;margin:6px 0}.journey-now p{font-size:14px;margin:0 0 12px;color:#c6dbea}.journey-now-top{display:flex;align-items:center;gap:12px;justify-content:space-between;color:var(--journey-accent);font-size:14px}.journey-now-top strong{font:24px Georgia,serif;white-space:nowrap}.journey-now-top small{font:13px GuideJP,sans-serif;margin-left:4px}.journey-actions{display:flex;gap:8px;flex-wrap:wrap}.journey-actions>*{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;font-size:14px}.journey-actions .primary{background:var(--journey-accent);color:#082541}.journey-actions button{background:#06213a;border-color:var(--line)}
.journey-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.journey-map,.journey-plan{min-width:0;scroll-margin-top:85px}#journey-now{scroll-margin-top:85px}.journey-map{position:sticky;top:18px}
#map-stage{background:#06213aed;padding:12px;border:1px solid var(--line);border-radius:4px}.map-stage-title{display:flex;gap:10px;align-items:center;justify-content:space-between}.map-stage-title h2{font-size:17px}.map-stage-title button{padding:9px 12px;min-height:44px;font-size:13px;color:var(--cyan)}
#map-stage .gps-controls{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:6px;margin:8px 0}#map-stage .gps-controls button{padding:8px 5px;font-size:12px;min-width:0;min-height:44px;line-height:1.5}#map-stage .location-note{font-size:12px;min-height:0;margin:6px 0}#map-stage #place-map{height:320px;border-radius:3px}#map-stage #compass-status,#map-stage #map-status{font-size:12px;line-height:1.6;margin:6px 0 0}#map-stage #compass-status{max-height:3.2em;overflow:auto}
.map-below{margin-top:10px}.map-below>button{width:100%;min-height:44px;color:var(--cyan);margin-bottom:8px}.map-below details>summary,.map-privacy summary{min-height:44px;padding:10px;cursor:pointer;font-size:13px}.map-privacy p{font-size:13px;color:var(--muted);padding:8px 10px;line-height:1.8}.map-below .map-reference-controls{margin:0 0 10px}#map-plan .area-event-link{display:block;padding:12px;border-bottom:1px solid var(--line);font-size:14px}.journey-related{display:grid;gap:8px;margin-top:10px}.journey-related .rec-card{padding:12px}.journey-related .rec-card strong{font-size:14px}
.journey-section-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.journey-section-title h2{font-size:19px}.journey-section-title span{font-size:12px;color:var(--muted)}.journey-plan .day-tabs{display:flex;gap:6px;margin:8px 0 16px}.journey-plan .day-tabs button{flex:1;min-height:48px;padding:7px 8px;font-size:16px;display:flex;align-items:center;justify-content:center;gap:8px}.journey-plan .day-tabs small{font-size:11px}
.journey-event{border:1px solid var(--line);background:#082541e8;margin-bottom:10px;padding:14px}.journey-event.is-current{outline:1px solid var(--journey-accent);background:#0a2b45}.journey-event .current-label{display:block;margin-bottom:8px;color:var(--journey-accent);font-size:12px}.journey-event-main{display:grid;grid-template-columns:60px minmax(0,1fr);gap:12px}.journey-time{color:var(--journey-accent);font-size:17px;font-variant-numeric:tabular-nums}.journey-time small{display:block;font-size:11px;color:var(--muted)}.journey-event h3{font-size:16px;line-height:1.6}.journey-event p{font-size:13px;color:var(--muted);margin:5px 0}.journey-detail{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--cyan)}.journey-event-tools{border-top:1px solid var(--line);margin-top:6px}.journey-event-tools>summary{min-height:44px;padding:10px 0;font-size:13px;cursor:pointer}.journey-event-tools .item-controls{margin:0;padding:4px 0;flex-wrap:wrap}.journey-event-tools p{white-space:pre-line}.journey-more{border:1px solid var(--line);margin:12px 0;background:#061b35d9}.journey-more>summary{padding:14px;font-size:14px;min-height:48px;cursor:pointer}.journey-more>p{padding:0 14px}.journey-more .journey-event{margin:0 10px 10px}.journey-support{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}.journey-support a{flex:1;min-width:140px;padding:13px;text-align:center;border:1px solid var(--line);font-size:14px}
.map-fullscreen{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#061b35;color:var(--text);overscroll-behavior:contain}.map-fullscreen::backdrop{background:#03152e}.map-fullscreen #map-stage{height:100%;border:0;border-radius:0;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:grid;grid-template-rows:auto auto auto minmax(120px,1fr) auto auto;overflow:auto}.map-fullscreen #map-stage #place-map{height:100%;min-height:120px}.map-fullscreen #map-status{font-size:12px}.map-fullscreen #map-expand{border-color:var(--cyan);color:var(--cyan)}
@media(max-width:1000px){.journey-grid{grid-template-columns:1fr;gap:22px}.journey-map{position:static}}
@media(max-width:760px){
 body[data-route="home"] main{padding-top:12px}.journey-heading{gap:8px;flex-wrap:wrap;margin-bottom:10px}.journey-heading>div{flex:1}.journey-heading .eyebrow{font-size:10px}.journey-heading p{font-size:12px}.journey-heading button{padding:8px 9px;font-size:12px}.journey-now{padding:13px 14px;margin-bottom:14px}.journey-now h1{font-size:19px}.journey-now-top{font-size:12px}.journey-now-top strong{font-size:22px}.journey-now p{font-size:12px;margin-bottom:9px}.journey-actions{gap:6px}.journey-actions>*{flex:1;font-size:12px;padding:8px 6px}.plan-hint{display:none}#map-stage{padding:9px}#map-stage #place-map{height:240px}.map-stage-title h2{font-size:16px}.map-stage-title button{font-size:12px;padding:8px}.journey-section-title{align-items:start}.journey-section-title span{font-size:11px;max-width:110px;text-align:right}.journey-plan .day-tabs button{font-size:14px;gap:5px}.journey-plan .day-tabs small{font-size:10px}.mobile-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-nav span{font-size:12px}
 .map-fullscreen #map-stage #place-map{height:100%}
}
@media(prefers-reduced-motion:reduce){.journey-now:before{animation:none;display:none}.journey-now{transition:none}}
