.tabs{grid-template-columns:repeat(6,minmax(0,1fr))}.tabs a{font-size:9px!important;letter-spacing:0!important}.tabs [data-probe=tab-plan] span{white-space:normal;text-align:center;max-width:54px;line-height:1.1}.plan-persistent{display:none!important;align-items:center;min-height:44px;box-sizing:border-box;position:fixed;top:52px;right:16px;z-index:12;background:var(--lantern,#d52c1e);color:#fff;padding:12px 16px;text-decoration:none;font:700 12px/1.2 var(--text,sans-serif);text-transform:uppercase}.reader-guide{max-width:760px;margin:96px auto 100px;padding:24px;color:#efe8d5;background:#100d0a;font:400 18px/1.75 var(--text,sans-serif)}.reader-guide h1,.reader-guide h2,.reader-guide h3{color:#fff3da;line-height:1.2}.reader-guide h1{font-size:36px}.reader-guide a{color:#f3c457;text-decoration:underline}.reader-guide p{margin:1em 0}.reader-guide h2{margin-top:2em}.reader-guide [data-guide-back]{display:inline-block;margin-bottom:20px}.reader-guide :focus-visible{outline:2px solid #f3c457;outline-offset:4px}html[data-guide-open] #hub-shell{display:none!important}html[data-guide-open] #guide{display:block!important}.reader-guide[hidden]{display:none}.no-image-row{border-top:1px solid var(--rule);background:var(--ink);padding:0}.saved-feedback{color:var(--gold)}
@media(min-width:768px){.tabs{grid-template-columns:repeat(6,minmax(94px,120px))}.tabs a{font-size:11px!important}.plan-persistent{top:78px;right:40px}.tabs [data-probe=tab-plan] span{max-width:none}}
.photo[data-image-kind=none],.thumb[data-image-kind=none]{background:var(--ink,#100d0a)}.photo[data-image-kind=none] .plate,.thumb[data-image-kind=none] .plate,.photo[data-photo-credit] .plate,.thumb[data-photo-credit] .plate{display:none}.row:has(>.thumb[data-image-kind=none]){grid-template-columns:32px minmax(0,1fr)}.thumb[data-image-kind=none]{display:none}.card:has(.photo[data-image-kind=none]) .photo{min-height:0;height:auto;padding:38px 16px 16px}.card:has(.photo[data-image-kind=none]) .photo .c{position:relative;inset:auto}.card:has(.photo[data-image-kind=none]) .scrim{display:none}.no-image-plan{background:var(--ink,#100d0a);min-height:230px}.no-image-plan .plate,.no-image-plan .scrim--over{display:none}.row .when,.row .h3,.stub b{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}

.thumb[data-photo-credit],.date-event-photo[data-photo-credit],.map-event-photo[data-photo-credit]{position:relative}.no-image-row .h3{font-size:20px}.plan-persistent:focus-visible{outline:3px solid #f3c457;outline-offset:3px}

[data-plan-night]>summary{cursor:pointer;min-height:48px;display:flex;align-items:center;gap:16px;list-style:none;padding:12px var(--night-action-clearance,0px) 12px 0;border-top:1px solid var(--rule)}[data-plan-night]>summary::after{content:'+';margin-left:auto;font-size:24px}[data-plan-night][open]>summary::after{content:'−'}[data-plan-night]>summary h2{margin:0}[data-plan-night]>summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.reader-skip{position:fixed;top:-100px;left:16px;z-index:1000;background:#efe8d5;color:#100d0a;padding:14px}.reader-skip:focus{top:12px}/* Saved counts reserve their full box before auto-save or storage updates. */
.tabs a{position:relative}.tabs [data-plan-count]{position:absolute;right:0;top:9px;display:block;box-sizing:border-box;flex:0 0 20px;width:20px;min-width:20px;height:14px;padding:2px;border-radius:7px;font:600 10px/10px var(--text);font-variant-numeric:tabular-nums;text-align:center;color:#fff;background:transparent}
.tabs [data-plan-count]:not(:empty){background:var(--lantern)}
@media(max-width:767px){.tabs [data-probe=tab-my-run]{position:relative}.tabs [data-plan-count]{position:absolute;right:0;top:9px;font-size:9px}}

.plan-picture{background:#100d0a;color:#efe8d5;border:1px solid #f3c457;max-width:min(92vw,760px);max-height:90vh;padding:20px}.plan-picture::backdrop{background:#000b}.plan-picture img{display:block;width:100%;height:auto;margin:16px 0}.plan-picture .btn{min-height:44px}

html[data-dates-open] #hub-shell{display:none!important}#date-browser[hidden]{display:none}#date-browser article{padding:18px 0;border-top:1px solid var(--rule)}#date-browser summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;min-height:48px;gap:12px}#date-browser summary h2{font-size:22px;margin:0}#date-browser summary span{font-size:14px}

.date-event-photo{height:240px;background-size:cover;background-position:50% 45%;margin-top:16px}

.map-event-photo{display:block;width:100%;height:100px;background-size:cover;background-position:center;margin-bottom:6px}

[data-photo-article]{position:absolute;inset:0;z-index:4;display:block}[data-photo-article]:focus-visible{outline:3px solid #f3c457;outline-offset:-4px}
.session-status{display:inline-block;min-height:20px;font:600 10px/20px var(--text,sans-serif);text-transform:uppercase;letter-spacing:.05em}#earlier-today{border-top:1px solid var(--rule);padding:20px 0}#earlier-today>summary{min-height:44px;cursor:pointer}#earlier-today article{padding:16px 0;border-top:1px solid var(--rule)}#earlier-today p{font-size:14px}

.col .card,.rows>li{position:relative}.session-status{position:static;margin-left:10px;padding:0;color:#f3c457;pointer-events:none;vertical-align:middle}
.reader-editorial{padding:32px 0;margin:32px 0 32px;border-top:1px solid var(--rule);max-width:900px}.reader-editorial h2{font:800 28px/1.1 var(--display,sans-serif);text-transform:uppercase}.reader-editorial ol{list-style:none;padding:0}.reader-editorial li{border-top:1px solid var(--rule);padding:16px 0}.reader-editorial a{color:var(--paper,#efe8d5);font-size:18px}.reader-editorial time{display:block;margin-top:6px;font-size:12px;color:var(--gold,#f3c457)}.reader-arrival{padding:16px;border:1px solid var(--gold);font-size:14px}
.reader-refresh{position:fixed;left:16px;right:16px;bottom:85px;z-index:50;background:#efe8d5;color:#100d0a;border:1px solid #100d0a;padding:16px;font:600 14px/1.4 var(--text,sans-serif)}.reader-refresh .btn{color:#100d0a;border:1px solid #100d0a;margin-left:12px;min-height:44px}

body:has(#hub-shell[data-path-view="planner"])>#tabbar-mount,#hub-shell[data-path-view="planner"]~#tabbar-mount{display:grid!important}#hub-shell[data-path-view="planner"] #app .act{bottom:64px!important}#hub-shell[data-path-view="planner"] #app{padding-bottom:160px}

.photo>[data-photo-article]{pointer-events:auto}.haunt-map-event-title,.haunt-map-event-venue,.haunt-map-event-time{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;min-width:0}.haunt-map-event-action{min-width:0;width:100%;grid-template-columns:24px minmax(0,1fr)!important}.haunt-map-event-time{grid-column:2}.haunt-map-event-copy{min-width:0}
@media(max-width:767px){body:has(#hub-shell[data-path-view="planner"]) #tabbar-mount{position:fixed;left:0;right:0;bottom:0;top:auto;height:64px;z-index:11}}
.pick-reason{font:400 12px/1.4 var(--text);max-width:34em;margin:10px 0;color:var(--bone-2,#d5cbb8)}.pick-reason strong{color:var(--gold,#f3c457);font-weight:700}.reader-essentials{margin:28px var(--g,16px) 110px;padding:20px 0;border-top:1px solid var(--rule);color:var(--bone,#efe8d5);font:400 14px/1.6 var(--text)}.reader-essentials h2{font:700 24px/1.2 var(--head,var(--text))}.reader-essentials .acts{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.reader-essentials .btn,.reader-essentials summary{min-height:44px}.reader-essentials input{max-width:100%;font-size:16px}
.reader-map-area{display:block;margin:12px 0;font:600 14px/1.5 var(--text)}.reader-map-area select{display:block;min-height:44px;max-width:100%;width:100%;background:#100d0a;color:#efe8d5;border:1px solid #756b5a;font:inherit;padding:8px}

.pick-reason .hc-pick-stamp{display:inline-block;vertical-align:middle;width:90px;height:24px;transform:rotate(-3deg)}.pick-reason .hc-pick-stamp svg{width:90px;height:24px}.publication-freshness{display:inline-block;padding:4px 8px;font:700 11px/1.4 var(--text);background:var(--gold,#f3c457);color:#100d0a}.remembered-crew{display:inline-block;color:#f3c457;min-height:44px;padding:12px 0}.remembered-crew[data-crew=family]{color:#c9dc87}.reader-archive{padding:24px 0;border-bottom:1px solid var(--rule)}.reader-map-date{display:block;font:600 14px/1.5 var(--text);margin:12px 0}.reader-map-date input{display:block;min-height:44px;background:#100d0a;color:#efe8d5;border:1px solid #756b5a;padding:8px;font:inherit}

#details .x,.reader-guide [data-guide-back],button[data-dates-back]{min-width:44px;min-height:44px}
.pick-reason .hc-pick-stamp{--canvas-deep:var(--bone,#efe8d5);--stroke-pick-border:1}
.stub .r b:not(.s){font-size:20px}

/* Venue facts remain fully readable when dates and titles wrap. */
body .haunt-map-page .haunt-map-event-action{height:auto!important;overflow:visible!important;min-height:68px}
.reader-map-tools{padding:16px 0;border-top:1px solid var(--rule);font:400 14px/1.5 var(--text)}.reader-map-tools button{min-height:44px;padding:12px 16px}.reader-map-tools p{margin:12px 0}
.haunt-map-view-control button{min-height:44px!important}
@media(min-width:1024px){body:has(#hub-shell[data-path-view="map"]) .plan-persistent{right:88px}}
@media(max-width:1023px){.haunt-map-zoom,.haunt-map-page[data-view=sentosa] .haunt-map-zoom{top:130px}.haunt-map-page[data-view=sentosa] .haunt-map-view-control{top:130px}}
#hub-shell[data-path-view="planner"] .item h3{display:block;-webkit-line-clamp:unset;overflow:visible;line-height:1.15;overflow-wrap:anywhere}

@media(min-width:1024px){#hub-shell>.reader-essentials{grid-column:2}}
/* Preserve readable controls in the narrow CSS viewport produced by page zoom. */
@media(max-width:319px){.tabs{grid-template-columns:repeat(3,minmax(0,1fr));height:auto!important;min-height:96px}.tabs a{min-height:48px;white-space:normal;text-align:center}.tabs a span{white-space:normal}.reader-guide{padding:16px;overflow-wrap:anywhere}.reader-guide h1{font-size:30px}.copy>.kick{white-space:normal}.crew .h3{overflow-wrap:anywhere}.acts .btn{height:auto;min-height:48px;padding:10px;white-space:normal;overflow-wrap:anywhere}.plan-persistent{right:8px;padding:12px 8px}#hub-shell[data-path-view="planner"] #app .act{bottom:96px!important}body:has(#hub-shell[data-path-view="planner"]) #tabbar-mount{height:auto;min-height:96px}}
@media(max-width:319px){.row{grid-template-columns:24px minmax(0,1fr);gap:8px}.row>div{min-width:0}.row>.thumb{grid-column:2;width:100%;height:100px}.row .kick{overflow-wrap:anywhere}}
/* Long map event names determine their row height; venue text follows the title. */
body .haunt-map-page .haunt-map-event-copy{grid-template-rows:auto auto;overflow:visible}

.poster .copy{--session-top:-24px;--session-right:0px}

/* Shared essentials must survive each view's scoped reset and fixed footer. */
#hub-shell[data-path-view] .reader-essentials{margin:28px var(--g,16px) 180px;padding:20px 0;color:var(--bone,#efe8d5);font:400 14px/1.6 var(--text,var(--sans,sans-serif))}
#hub-shell[data-path-view] .reader-essentials h2{margin:0 0 16px;font:800 24px/1.2 var(--head,var(--cond,sans-serif))}
#hub-shell[data-path-view] .reader-essentials .acts{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
#hub-shell[data-path-view] .reader-essentials .btn{display:inline-flex;flex:0 0 auto;width:auto;max-width:100%;align-items:center;justify-content:center;min-height:44px;height:auto;padding:10px 14px;border:1px solid var(--rule,#5b5144);background:var(--ink-2,#14100e);color:var(--bone,#efe8d5);font:600 12px/1.4 var(--text,var(--sans,sans-serif));text-decoration:none;white-space:normal}
#hub-shell[data-path-view] .reader-essentials summary{min-height:44px;padding:12px 0;cursor:pointer}
#hub-shell[data-path-view] .reader-essentials p{margin:12px 0}

/* Keep the persistent planner entry clear of all four step labels. */
@media(max-width:767px){#hub-shell[data-path-view="planner"] .wrap{padding-top:44px}}

/* The saved-night marker shares the top band with the persistent planner entry. */
@media(min-width:768px){#hub-shell[data-path-view="my_run"] [data-run-saved]>details:first-child{--night-action-clearance:144px}}

/* Keep generated-card actions in flow so full titles never run beneath targets. */
#hub-shell[data-path-view="planner"] .item .ia{position:relative;right:auto;top:auto;align-self:flex-end;flex-wrap:wrap;padding:8px 8px 0}

/* Saved-plan actions keep their full labels and wrap between complete targets. */
#hub-shell [data-run-actions]{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}
#hub-shell [data-run-actions]>.btn{flex:0 0 auto;max-width:100%;white-space:normal;overflow-wrap:anywhere;height:auto;min-height:48px}

#hub-shell [data-run-actions]>.btn.p{flex:1 1 160px}

/* Separate, unsequenced options: held hours, never an arrival ticket. */
#app [data-also-open-list]{margin:24px 0;padding:20px 0;border-top:1px solid var(--line,rgba(255,255,255,.18))}
#app [data-also-open-list] ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:12px}
#app [data-also-open]{padding:16px;border:1px solid var(--line,rgba(255,255,255,.18));border-radius:12px;min-width:0;overflow-wrap:anywhere}
#app [data-also-open] h4{font:600 18px/1.3 var(--sans,Arial,sans-serif);margin:0 0 8px}
#app [data-also-open] p{margin:6px 0;line-height:1.5}
#app [data-also-open] button{min-height:44px;margin-top:8px}

/* A minute update may replace a label, never its occupied slot. */
.session-status{width:9ch;height:20px;box-sizing:border-box;white-space:nowrap;font-variant-numeric:tabular-nums;text-align:center}

/* Ended archive owns a stable grid cell before later columns are parsed. */
@media(min-width:1024px){.reader-archive{grid-column:1;grid-row:2;align-self:start;z-index:7;padding:24px var(--g)}}

#app [data-also-open].own-photo-option{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:16px}#app [data-also-open] .ph{display:block;position:static;inset:auto;width:100%;height:140px;min-width:0;overflow:hidden;border-radius:8px}#app [data-also-open] .option-copy{min-width:0}#app article.item>a.ph{display:block}#app [data-plan-night]>summary span{white-space:nowrap;font-variant-numeric:tabular-nums}@media(max-width:600px){#app [data-also-open].own-photo-option{grid-template-columns:minmax(0,100px) minmax(0,1fr);gap:12px}#app [data-also-open] .ph{height:120px}}

/* Collection photographs are atmosphere, not event imagery. */
.crew .ph[data-image-kind=collection]{background-image:var(--img);background-size:cover;background-position:var(--pos,center)}
.poster .photo[data-image-kind=collection]{background-image:linear-gradient(#100d0a55,#100d0a77),var(--img);background-size:cover;background-position:center}
.pick-reason{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.pick-reason .hc-pick-stamp{flex:0 0 24px}.pick-reason>span:last-child{min-width:0}
.no-image-plan{min-height:0}.card:has(.photo[data-image-kind=none]){align-self:start}
.mapfig picture,.mapfig img{display:block;width:100%;height:auto;object-fit:contain}.mapfig{overflow:visible}
.poster .photo .plate{display:none}.tabs a{min-width:0;justify-content:center}

.sentosa .mapfig img{object-fit:contain}

.poster .photo[data-image-kind=collection] .gl,.poster .photo[data-image-kind=collection] .bats,.poster .photo[data-image-kind=collection] .mark{display:none}
@media(min-width:1024px){.sec.sentosa{display:grid!important;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:24px}.sentosa>header{grid-column:1/-1}.sentosa .mapfig{margin:0;max-width:320px}.sentosa .mapfig img{width:100%;max-height:416px;object-fit:contain}.sentosa .side{min-width:0}.haunt-home .mapfig{max-width:320px}.mapfig picture{width:max-content;max-width:100%;margin-inline:auto}.mapfig img{width:auto;max-width:100%;max-height:416px;object-fit:contain}}

.card:has(.compact-event){align-self:start}.compact-event{position:relative;padding:20px 16px 16px;background:var(--ink);height:auto;min-height:0}.compact-event>.c{position:static;inset:auto}.compact-event>:not(.c){display:none!important}.poster .photo[data-image-kind=collection] .ph{background-image:var(--img);background-size:cover;background-position:center}

.card .photo[data-image-kind]{background-image:var(--img);background-size:cover;background-position:center}
/* 28: one bounded atmospheric layer, active only while a reader can see it. */
#hub-shell .photo .gl{display:none!important}
@media(prefers-reduced-motion:no-preference){
 html[data-fx=on] #hub-shell .poster .slide.on .fog{animation:hubAtmosphere 28s ease-in-out infinite alternate;opacity:.09;pointer-events:none}
 #hub-shell .poster .slide.on .copy{animation:hubPickIn 160ms ease-out both}
}
@keyframes hubAtmosphere{from{transform:translateX(0)}to{transform:translateX(-4%)}}
@keyframes hubPickIn{from{opacity:.7;transform:translateY(3px)}to{opacity:1;transform:none}}
html[data-media-paused] #hub-shell .photo *,#hub-shell .photo[data-media-offscreen] *{animation-play-state:paused!important}
html[data-fx=off] #hub-shell .photo .fog{animation:none!important;opacity:0!important}
@media(prefers-reduced-motion:reduce){#hub-shell .photo *,#hub-shell .copy{animation:none!important;transition:none!important}}
/* 29: useful composition remains in place through delay, failure and recovery. */
#hub-shell .crew .ph[data-media-state]{position:absolute;inset:0}
#hub-shell [data-media-message]{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;box-sizing:border-box;text-align:center;font:500 15px/1.5 var(--text);color:#f2ede2;background:radial-gradient(ellipse at 70% 20%,#3b2524,#171714 70%);pointer-events:none}
#hub-shell [data-media-message] button{pointer-events:auto;min-height:44px;padding:10px 16px;cursor:pointer}
#hub-shell [data-media-state=ready]>[data-media-message]{display:none}
#hub-shell [data-media-state=loading]>.ph,#hub-shell [data-media-state=error]>.ph{opacity:0}
#hub-shell .crew [data-media-message]{padding:16px;font-size:14px}

#hub-shell .poster .photo>[data-media-message]{inset:290px 20px auto;z-index:6;padding:12px;gap:8px;font-size:14px;background:#171714;border:1px solid #4a4236}
@media(max-width:767px){#hub-shell .poster .photo>[data-media-message]{top:240px}}

#hub-shell .crew .ph{position:absolute!important;inset:0}

/* C1: full next-session labels stay inside the lead copy. */
#hub-shell .copy>.kick{white-space:normal;overflow:visible}
#hub-shell .copy>.kick .session-status{display:block;width:100%;max-width:100%;margin-left:0;text-align:left;white-space:normal;height:auto;min-height:20px}

#hub-shell .session-status{width:auto;max-width:100%;white-space:normal;height:auto}

/* C2: a compact portrait map and the departure information share the first screen. */
@media(min-width:1024px){
#hub-shell[data-path-view=getting_home]{grid-template-columns:minmax(300px,36%) minmax(0,1fr)!important;gap:24px}
#hub-shell[data-path-view=getting_home]>.lead .mapfig{width:auto;max-width:100%;margin:20px auto 0;padding:0 16px 12px;box-sizing:border-box}
#hub-shell[data-path-view=getting_home] .mapfig picture{width:100%;display:block}
#hub-shell[data-path-view=getting_home] .mapfig img{width:auto;height:340px;max-height:340px;max-width:100%;margin:auto;object-fit:contain}
#hub-shell[data-path-view=getting_home] .areas>.area .stub{grid-template-columns:minmax(0,1fr)!important}
#hub-shell[data-path-view=getting_home] .areas>.area .stub .r{border-left:0;border-top:1px solid var(--rule);padding:16px 0 0;margin-top:16px;text-align:left;max-width:none;width:auto}
}
/* C2: a failed photograph remains an intentional panel, with an honest state and retry. */
#hub-shell [data-media-message] strong{font-family:var(--head,var(--text));font-size:clamp(18px,2vw,28px);line-height:1.2;max-width:24ch}
#hub-shell [data-media-message] small{max-width:30ch;font-size:13px;line-height:1.5}
#hub-shell .poster .photo>[data-media-message]{inset:210px 24px auto;min-height:150px;padding:20px;background:linear-gradient(135deg,#302923,#171714);border:1px solid #71614b}
@media(max-width:767px){#hub-shell .poster .photo>[data-media-message]{inset:260px 16px auto;min-height:64px;padding:8px;flex-direction:row;gap:12px}#hub-shell .poster [data-media-message] strong{display:none}#hub-shell .poster [data-media-message] small{font-size:12px;line-height:1.3;max-width:24ch}#hub-shell .poster [data-media-message] button{flex-shrink:0;padding:8px}}

/* C2: ticket visibility is authoritative even when composition CSS sets display. */
#hub-shell .stub .r[hidden]{display:none!important}

/* C3: recovery controls are siblings of collection links, never nested links. */
#hub-shell .crew [data-crew-media]{position:relative;min-width:0}
#hub-shell .crew [data-crew-media]>[data-media-retry]{position:absolute;z-index:6;left:16px;top:50%;min-height:44px;padding:10px 16px;cursor:pointer}
#hub-shell .crew [data-crew-media]>[data-media-retry]:focus-visible{outline:3px solid var(--bone);outline-offset:3px}
#hub-shell[data-path-view=getting_home] .lead{position:static!important;top:auto!important;height:auto!important;min-height:0!important;align-self:start}
#hub-shell[data-path-view=getting_home] .areas{grid-template-columns:minmax(0,1fr)!important;min-width:0}
#hub-shell[data-path-view=getting_home] .areas>.area{width:auto;max-width:none;min-width:0}

/* C4: compact transport is an actual two-column composition. */
@media(min-width:1024px){#hub-shell[data-path-view="tonight"] .col>section.sec.sentosa:not([data-at]){display:grid!important;grid-template-columns:minmax(220px,320px) minmax(0,1fr)!important;gap:24px!important;align-items:start}#hub-shell .sec.sentosa>header{grid-column:1/-1}#hub-shell .sec.sentosa>.mapfig{grid-column:1;margin:0;max-width:320px}#hub-shell .sec.sentosa>.side{grid-column:2;grid-row:2;min-width:0;margin-top:0!important}}
#hub-shell .mapfig[data-transport-media]{position:relative}
#hub-shell [data-transport-message]{display:block;padding:12px;color:var(--bone);background:var(--ink-2,#14100e)}
#hub-shell [data-transport-retry]{min-height:44px;padding:10px 16px;}

#hub-shell [data-transport-message][hidden]{display:none}

/* C5: the kit ghost button, with an opaque kit surface for photographs. */
#hub-shell button.btn[data-media-retry],#hub-shell button.btn[data-transport-retry]{background:var(--ink-2,#14100e);color:var(--bone,#efe8d5);border:1px solid var(--bone,#efe8d5);height:auto;min-height:48px;padding:12px 18px;white-space:normal}
@media(min-width:1024px){
#hub-shell[data-path-view=getting_home]>.reader-editorial{grid-column:1/-1;width:auto;max-width:none;margin:24px var(--g,24px);min-width:0}
#hub-shell[data-path-view=getting_home]>.reader-editorial ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
#hub-shell[data-path-view=getting_home]>.reader-editorial li{min-width:0}
}

/* Hero recovery is above the copy, without raising the photograph itself. */
#hub-shell .poster .photo{isolation:auto}
#hub-shell .poster .photo>[data-media-message]{z-index:8}

/* C6: one failure composition; image space and captions remain reserved. */
#hub-shell .crew [data-crew-message]{position:absolute;inset:0 0 100px;z-index:7;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:4px;background:#171714;pointer-events:none}
#hub-shell .crew [data-crew-message] small{font-size:13px;line-height:18px}
#hub-shell .crew [data-crew-message] button{pointer-events:auto;margin:0;min-height:48px}
#hub-shell .crew [data-crew-state=ready]>[data-crew-message]{display:none}
#hub-shell .crew [data-crew-state] .c{box-sizing:border-box;min-height:100px;padding-top:12px;padding-bottom:12px}
#hub-shell .mapfig[data-transport-media] picture{position:relative;display:block}
#hub-shell .mapfig [data-transport-message]{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;box-sizing:border-box;padding:24px;text-align:center;background:#171714;color:var(--bone,#efe8d5);font:500 15px/1.5 var(--text)}
#hub-shell .mapfig [data-transport-message][hidden]{display:none}
#hub-shell [data-path-view=planner] [data-plan-share]{background:none;border:0}
@media(max-width:767px){#hub-shell [data-plan-share]{display:none}}

#hub-shell .crew [data-crew-message]{padding:4px!important;min-height:0!important;gap:4px!important;box-sizing:border-box}
#hub-shell .crew [data-crew-message] small{margin:0!important;flex-shrink:0}
#hub-shell .crew [data-crew-message] button{height:48px!important;min-height:48px!important;flex-shrink:0;padding:8px 16px!important;font-size:14px;line-height:20px}

#hub-shell .crew [data-crew-message]{justify-content:flex-start;padding-top:8px!important}
#hub-shell .mapfig [data-transport-message]{bottom:64px}
#hub-shell .crew [data-crew-message]{display:none!important}
#hub-shell .crew [data-crew-state=error]>[data-crew-message]{display:grid!important;grid-template-rows:18px 48px;align-content:start!important;justify-items:center;padding:4px!important;gap:4px!important}
#hub-shell .mapfig [data-transport-message]{justify-content:flex-start!important;padding:16px!important;gap:12px!important}
#hub-shell .mapfig [data-transport-message] button{margin:0!important;flex-shrink:0}

/* Failure content occupies its own reserved picture panel; credit stays below it. */
#hub-shell .mapfig[data-transport-state=error] picture,#hub-shell .mapfig[data-transport-state=loading] picture{width:100%;min-height:180px}
#hub-shell .mapfig [data-transport-message]{bottom:0}

[data-ticket-note]{font-family:var(--font-body, sans-serif);font-size:14px;line-height:1.5;text-transform:none;letter-spacing:normal;margin:12px 0;overflow-wrap:anywhere}
#guide,#date-browser{grid-column:1/-1;width:min(100%,760px);box-sizing:border-box;justify-self:center}
html[data-guide-open] #tabbar-mount,html[data-guide-open] #tabbar-mount .tabs{background:#100d0a}
html[data-guide-open] body>a[data-probe="tab-guide"],html[data-dates-open] body>a[data-probe="tab-guide"],html[data-guide-open] .plan-persistent,html[data-dates-open] .plan-persistent{display:none}
@media(max-width:767px){#guide,#date-browser{padding-left:20px;padding-right:20px}}
/* D4-PERF-09: scroll-margin = the 96px top margin, so a browser fragment scroll to #guide/#dates lands at 0 */
.reader-guide{scroll-margin-top:96px}
