/* The header illustrates local daylight, never forecast conditions. */
.app{--header:88px}
.topbar{--sky-top:#cadfe9;--sky-middle:#dcebed;--sky-low:#f0ebd5;--sky-ink:#193d43;--sky-muted:#415f67;--sky-shield:#dfebed;--horizon:#628c8e;min-height:88px;padding:0;gap:0;color:var(--sky-ink);background:linear-gradient(180deg,var(--sky-top),var(--sky-middle) 65%,var(--sky-low));border-bottom-color:#718e8f35;isolation:isolate}
.topbar .trip-dates{display:none}
.topbar .sky-card{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;flex:1;min-width:0;width:auto;height:100%;min-height:0;margin:0;padding:13px 28px;border:0;border-radius:0;text-align:left;color:inherit;background:transparent;overflow:hidden}
.topbar .sky-card[hidden]{display:none}
.topbar .sky-card:after{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--sky-shield) 0%,color-mix(in srgb,var(--sky-shield) 92%,transparent) 20%,transparent 43%,transparent 59%,color-mix(in srgb,var(--sky-shield) 88%,transparent) 78%,var(--sky-shield) 100%)}
.topbar .sky-card #chapter{position:relative;flex:none;min-width:0;margin:0;max-width:34ch;font-size:18px;font-weight:600;line-height:1.2;overflow-wrap:anywhere;color:inherit}
.topbar .sky-card #chapter>span{display:block;margin:0 0 5px;font-size:10px;font-weight:500;line-height:1.2;letter-spacing:1.2px;color:var(--sky-muted)}
.sky-copy{position:relative;display:block;min-width:0;max-width:310px;text-align:right;line-height:1.3}
.sky-copy strong{display:block;font-size:12px;font-weight:600;white-space:normal}
.sky-copy>span{display:block;font-size:12px;margin-top:3px;font-variant-numeric:tabular-nums}
.sky-copy small{display:block;font-size:10px;color:var(--sky-muted);margin-top:3px}
.topbar>.sky-card:focus-visible{outline:3px solid currentColor;outline-offset:-5px}
.topbar>#menu,.topbar>[data-panel="help"]{position:relative;flex:none;width:44px;height:44px;color:inherit;border-radius:8px;margin-inline:8px}
.topbar>#menu:focus-visible,.topbar>[data-panel="help"]:focus-visible{outline-color:currentColor;outline-offset:1px}
.sky-art{position:absolute;z-index:-2;inset:0;display:block;width:100%;height:100%;overflow:hidden;border-radius:0;background:linear-gradient(180deg,var(--sky-top),var(--sky-middle) 63%,var(--sky-low) 100%);contain:paint;pointer-events:none}
.sky-haze{position:absolute;inset:0;background:radial-gradient(ellipse 240px 115px at var(--sun-x,65%) calc(100% - var(--sun-height,50%)),#fff8daa8 0,#fff6cf4a 32%,transparent 74%)}
.sky-sun{position:absolute;left:var(--sun-x,65%);bottom:var(--sun-height,50%);width:28px;height:28px;transform:translate(-50%,50%);border-radius:50%;background:#fffbe2;box-shadow:0 0 12px 5px #fffbe58c,0 0 38px 16px #ffedb23d,0 0 76px 30px #fff0c324}
.sky-sun[hidden],.sky-moon[hidden]{display:none}
.sky-horizon{position:absolute;inset:auto -1px -1px;height:9%;background:linear-gradient(180deg,transparent,var(--horizon));opacity:.18}
.sky-horizon:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 2px,#e6f2ef0c 2px 3px)}
.sky-stars{position:absolute;inset:0;opacity:0;background-image:radial-gradient(circle at 9% 15%,#fbf7ec 0 .65px,transparent 1px),radial-gradient(circle at 19% 43%,#c9dcff 0 .65px,transparent 1px),radial-gradient(circle at 29% 12%,#fff 0 .9px,transparent 1.25px),radial-gradient(circle at 42% 30%,#f3e6cb 0 .6px,transparent .9px),radial-gradient(circle at 51% 9%,#d7e6ff 0 .6px,transparent 1px),radial-gradient(circle at 62% 22%,#e9f0ff 0 .8px,transparent 1.1px),radial-gradient(circle at 79% 12%,#fff 0 .5px,transparent .9px),radial-gradient(circle at 91% 35%,#cfdbef 0 .7px,transparent 1.1px),radial-gradient(circle at 7% 66%,#cfdbef 0 .6px,transparent .9px),radial-gradient(circle at 33% 56%,#fff 0 .5px,transparent .9px),radial-gradient(circle at 51% 46%,#dfeaff 0 .7px,transparent 1.1px),radial-gradient(circle at 67% 69%,#e9e4d2 0 .5px,transparent .9px),radial-gradient(circle at 84% 59%,#e9f0ff 0 .6px,transparent 1px),radial-gradient(circle at 15% 30%,#fff 0 .4px,transparent .7px),radial-gradient(circle at 39% 74%,#e6eefa 0 .5px,transparent .8px),radial-gradient(circle at 74% 41%,#fff 0 .5px,transparent .8px)}
.sky-moon{position:absolute;left:57%;top:21%;width:21px;height:21px;border-radius:50%;background:radial-gradient(circle at 35% 31%,#eaf0e5 0 14%,#cfdada 55%,#adc5d1 100%);box-shadow:inset var(--moon-shade,0px) 0 1px #102442,0 0 12px #e9f0ff4d,0 0 42px #c2d7ff24}
.topbar[data-sky="night"]{--sky-top:#0b1b32;--sky-middle:#1a314c;--sky-low:#33485a;--sky-ink:#f0f5f5;--sky-muted:#c6d3df;--sky-shield:#162b43;--horizon:#6e8297}
.topbar[data-sky="night"] .sky-haze{background:radial-gradient(ellipse 330px 110px at 58% 100%,#718ba42b,transparent 70%)}
.topbar[data-sky="night"] .sky-stars{opacity:.85}
.topbar[data-sky="night"] .sky-sun{display:none}
.topbar[data-sky="dawn"]{--sky-top:#d7d4e6;--sky-middle:#edd3d8;--sky-low:#ffe1b8;--sky-ink:#44394b;--sky-muted:#635268;--sky-shield:#e6dbe4;--horizon:#837081}
.topbar[data-sky="dawn"] .sky-haze{background:radial-gradient(ellipse 270px 110px at 68% 95%,#fff3c6d9,#ffc78870 38%,transparent 76%)}
.topbar[data-sky="dawn"] .sky-stars{opacity:.16;mask-image:linear-gradient(#000,transparent 58%)}
.topbar[data-sky="sunset"]{--sky-top:#cbbfd6;--sky-middle:#edc4c7;--sky-low:#ffdcaa;--sky-ink:#493635;--sky-muted:#70504b;--sky-shield:#efd4cc;--horizon:#8f6b73}
.topbar[data-sky="sunset"] .sky-haze{background:radial-gradient(ellipse 290px 120px at 34% 95%,#fff0bfd9,#ffa96970 40%,transparent 76%)}
.topbar:is([data-sky="dawn"],[data-sky="sunset"]) .sky-sun{width:30px;height:30px;background:#fff0b8;box-shadow:0 0 12px 6px #ffd590a8,0 0 42px 20px #ffbc5c5c}
.topbar[data-sky="flexible"]{--sky-top:#d4e0e5;--sky-middle:#dfe8e9;--sky-low:#edf0e7;--sky-ink:#2b4950;--sky-muted:#516971;--sky-shield:#dfe8e9}
.topbar[data-sky="flexible"] .sky-sun,.topbar[data-sky="flexible"] .sky-haze{display:none}
.sky-dialog{position:fixed;inset:0;width:min(510px,calc(100vw - 28px));max-height:90dvh;padding:28px;border:0;border-radius:18px;background:#faf8f1;color:#183c35;box-shadow:0 20px 90px #06231d66}.sky-dialog::backdrop{background:#10271da6}.sky-dialog .sky-close{float:right;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e4eadf;font-size:21px}.sky-dialog h2{font:40px/1.1 Newsreader,serif;margin:10px 0}.sky-dialog h3{margin:24px 0 10px}.sky-dialog p{font-size:14px;line-height:1.65}.sky-place,.sky-dialog .sky-source{font-size:12px;color:#587065}.sun-times{display:flex;gap:25px;margin:25px 0;padding:18px 0;border-block:1px solid #d3ddd2}.sun-times span{font-size:12px}.sun-times i{font-size:20px;margin-right:4px}.sun-times b{display:block;margin-top:7px;font-size:18px}

@media(max-width:1100px){
 .topbar .sky-card{gap:18px;padding-inline:20px}
 .topbar .sky-card #chapter{font-size:16px}
 .sky-copy{max-width:250px}
 .sky-copy strong{font-size:11px}
}
@media(max-width:1000px){
 .app{--header:96px}.topbar{min-height:96px}
 .topbar .sky-card{gap:12px;padding:12px 14px 12px 10px}
 .topbar .sky-card #chapter{font-size:15px;line-height:1.2}
 .topbar .sky-card #chapter>span{font-size:9px;letter-spacing:.7px;margin-bottom:5px}
 .sky-copy{width:156px;max-width:156px}
 .sky-copy strong{font-size:10px;line-height:1.3}
 .sky-copy>span{font-size:10px}
 .sky-copy small{font-size:9px;line-height:1.3}
 .topbar[data-sky="flexible"] .sky-phase{display:none}
 .topbar>[data-panel="help"]{display:none}
 .topbar>#menu{margin-inline:4px 0}
 .sky-sun{width:23px;height:23px}
 .sky-moon{width:18px;height:18px}
}
@media(max-width:360px){
 .topbar .sky-card{gap:8px;padding-right:10px}
 .topbar .sky-card #chapter{font-size:14px}
 .sky-copy{width:140px;max-width:140px}
 .sky-copy strong,.sky-copy>span{font-size:9px}
 .sky-copy small{font-size:8px}
}
@media(max-height:560px) and (min-width:600px){
 .app{--header:62px}.topbar{min-height:62px}
 .topbar .sky-card{padding-block:7px;gap:16px}
 .topbar .sky-card #chapter{font-size:15px}
 .topbar .sky-card #chapter>span{font-size:9px;margin-bottom:3px}
 .sky-copy{width:auto;max-width:275px}
 .sky-copy strong{font-size:11px}
 .sky-copy small{display:none}
 .sky-sun{width:22px;height:22px}.sky-moon{width:17px;height:17px}
 .sky-dialog{max-height:calc(100dvh - 20px)}
}

/* One uninterrupted sky, with saturated daylight and no fogging overlay. */
.topbar{position:relative;overflow:hidden;--sky-top:#79b9e3;--sky-middle:#a3d7f0;--sky-low:#daecdf;--sky-ink:#123744;--sky-muted:#2d5363}
.topbar .sky-card:after{display:none}
.topbar>.sky-art{z-index:-1}
.sky-sun{width:36px;height:36px;background:#fffcd6;box-shadow:0 0 10px 4px #fff4a5dd,0 0 30px 11px #fff2a477,0 0 66px 24px #fff8c033}
.sky-haze{background:radial-gradient(ellipse 200px 95px at var(--sun-x,65%) calc(100% - var(--sun-height,50%)),#fff4bc6b,transparent 76%)}
.topbar[data-sky="night"]{--sky-top:#06132b;--sky-middle:#112d53;--sky-low:#254b75;--sky-ink:#f4f7ff;--sky-muted:#d3e0f5}
.topbar[data-sky="night"] .sky-stars{opacity:1}
.topbar[data-sky="dawn"]{--sky-top:#bbacdf;--sky-middle:#e8b1b3;--sky-low:#ffd082;--sky-ink:#342637;--sky-muted:#563647}
.topbar[data-sky="sunset"]{--sky-top:#bbabd8;--sky-middle:#efb08f;--sky-low:#ffc663;--sky-ink:#3e292b;--sky-muted:#573d3b}
.topbar:is([data-sky="dawn"],[data-sky="sunset"]) .sky-sun{width:38px;height:38px;background:#fff4b6;box-shadow:0 0 9px 5px #ffdc77cc,0 0 32px 16px #ffbb5577}
@media(max-width:1000px){.sky-sun{width:30px;height:30px}}

/* The whole journey shares one local sky; media retains its original colors. */
body[data-sky]{
 --page-top:#79b9e3;--page-middle:#a3d7f0;--page-low:#daecdf;
 --page-ink:#163740;--page-muted:#294f5b;--page-line:#244e5c35;
 --page-surface:#d6edf1;--page-active:#eff8f4;--page-time:#7b3a23;
 isolation:isolate;color:var(--page-ink);
 background:linear-gradient(180deg,var(--page-top),var(--page-middle) 55%,var(--page-low));
}
body[data-sky="dawn"]{--page-top:#bbacdf;--page-middle:#e8b1b3;--page-low:#ffd082;--page-ink:#342637;--page-muted:#563647;--page-line:#603b5635;--page-surface:#f0d4d3;--page-active:#fff0dc;--page-time:#743d38}
body[data-sky="sunset"]{--page-top:#bbabd8;--page-middle:#efb08f;--page-low:#ffc663;--page-ink:#3e292b;--page-muted:#573d3b;--page-line:#673d4438;--page-surface:#f2cfb9;--page-active:#fff0d2;--page-time:#75352e}
body[data-sky="night"]{--page-top:#06132b;--page-middle:#112d53;--page-low:#254b75;--page-ink:#f4f7ff;--page-muted:#c8d9ef;--page-line:#b5d1f536;--page-surface:#163252;--page-active:#294e78;--page-time:#ffd19b}
body[data-sky="flexible"]{--page-top:#d4e0e5;--page-middle:#dfe8e9;--page-low:#edf0e7;--page-ink:#2b4950;--page-muted:#415d64;--page-line:#435c6230;--page-surface:#e4ebea;--page-active:#f5f7ee;--page-time:#72432c}
body[data-sky]:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:0;background-image:radial-gradient(circle at 6% 12%,#fff 0 .8px,transparent 1.2px),radial-gradient(circle at 24% 31%,#dae8ff 0 .7px,transparent 1.1px),radial-gradient(circle at 41% 9%,#fff 0 1px,transparent 1.4px),radial-gradient(circle at 58% 37%,#e8f0ff 0 .7px,transparent 1.2px),radial-gradient(circle at 76% 18%,#fff 0 .8px,transparent 1.3px),radial-gradient(circle at 94% 32%,#dce9ff 0 1px,transparent 1.5px),radial-gradient(circle at 13% 61%,#e8f0ff 0 .6px,transparent 1px),radial-gradient(circle at 37% 73%,#fff 0 .7px,transparent 1.2px),radial-gradient(circle at 67% 63%,#e2eaff 0 .8px,transparent 1.3px),radial-gradient(circle at 88% 82%,#fff 0 .6px,transparent 1px);background-size:570px 410px}
body[data-sky="night"]:before{opacity:.85}
body[data-sky] :is(.app,.stage,.stage.is-travel,.topbar,.topbar>.sky-art){background:transparent}
body[data-sky] .topbar{color:var(--page-ink);border-color:var(--page-line)}
body[data-sky] .topbar .sky-horizon{display:none}
body[data-sky] .topbar .sky-stars{opacity:0}
body[data-sky] .sidebar{background:color-mix(in srgb,var(--page-top) 84%,transparent);color:var(--page-ink);border-color:var(--page-line)}
body[data-sky] .scene-footer{background:color-mix(in srgb,var(--page-low) 88%,transparent);border-color:var(--page-line)}
body[data-sky] :is(.nav-heading,.nav-date,.nav-stops a,.nav-stops a small,.sidebar-bottom>span,.brand>i,.progress-label){color:var(--page-muted)}
body[data-sky] .sidebar-bottom{border-color:var(--page-line)}
body[data-sky] .nav-stops a{border-left-color:var(--page-line)}
body[data-sky] .nav-day.current>a{background:color-mix(in srgb,var(--page-surface) 65%,transparent)}
body[data-sky] .nav-stops a.active{background:var(--page-active);color:var(--page-ink);border-left-color:var(--page-time)}
body[data-sky] .scene-footer>button{border-color:var(--page-line)}
body[data-sky] #progress{background:color-mix(in srgb,var(--page-ink) 25%,transparent)}
body[data-sky] .stage.is-event .scene-time{color:var(--page-time)}
body[data-sky] .stage.is-event :is(.scene-description,.scene-note,.kid,.hotel-class,.movie-credit,.movie-status,.map-attribution,.rating small){color:var(--page-muted)}
body[data-sky] .stage.is-event .scene-note{border-color:var(--page-time)}
body[data-sky] .stage.is-event .links :is(a,button){border-color:var(--page-line);background:color-mix(in srgb,var(--page-surface) 45%,transparent)}
body[data-sky] .is-travel>.visual>.map-attribution{color:var(--page-muted)}
/* These controls sit on light surfaces at every hour. */
body[data-sky] :is(.stage.is-event .tag,.stage.is-event .payment,.slide-controls,.movie-controls button,.media-actions button,.media-actions a){color:#193d34}
@media(max-width:1000px){body[data-sky] .sidebar{background:var(--page-top)}}

/* Travel shares the same sky. A reviewed landscape is a quiet texture, never a route substitute. */
body[data-sky] .topbar{border:0;box-shadow:none}
body[data-sky] .is-travel .scene-copy{position:relative;isolation:isolate;background:color-mix(in srgb,var(--page-surface) 30%,transparent);color:var(--page-ink);scrollbar-color:var(--page-muted) transparent}
body[data-sky] .is-travel .scene-copy:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--travel-scenery,none);background-size:cover;background-position:center;opacity:.09;border-radius:inherit}
body[data-sky] .is-travel h1{color:var(--page-ink)}
body[data-sky] .is-travel .scene-time{color:var(--page-time)}
body[data-sky] .is-travel :is(.scene-description,.scene-note,.kid,.practical small,.journey-complexity,.journey-legs em,.journey-legs details,.leg-stops>li,.map-attribution){color:var(--page-muted)}
body[data-sky] .is-travel :is(.practical,.scene-note,.links a,.links button){border-color:var(--page-line)}
body[data-sky] .is-travel :is(.tag,.tag.status){color:var(--page-ink);background:var(--page-surface);border-color:var(--page-line)}
body[data-sky] .is-travel .links :is(a,button):hover{background:var(--page-surface)}
body[data-sky] .is-travel .journey-legs small{color:var(--page-ink)}
body[data-sky] .is-travel .journey-legs>li.active-leg .leg-select{background:color-mix(in srgb,var(--page-active) 70%,transparent)}
body[data-sky] .is-travel .leg-stops>:is(.is-next,.is-arrived){color:var(--page-ink)}
body[data-sky] .is-travel .leg-stops .stop-state{color:var(--page-ink)}
body[data-sky] .is-travel .journey-legs>li>i,body[data-sky] .is-travel .leg-select>i:first-child{background:#142d3b;color:var(--leg-color);border-color:var(--leg-color)}
body[data-sky] .is-travel .journey-legs>li.active-leg .leg-select>i:first-child{background:var(--leg-color);color:#142d3b}
body[data-sky] .is-travel .leg-select>i:last-child{color:var(--page-ink)}

/* Interpolated colors keep the gradient continuous across scene changes. */
@property --page-top{syntax:"<color>";inherits:true;initial-value:#79b9e3}
@property --page-middle{syntax:"<color>";inherits:true;initial-value:#a3d7f0}
@property --page-low{syntax:"<color>";inherits:true;initial-value:#daecdf}
@property --page-ink{syntax:"<color>";inherits:true;initial-value:#163740}
@property --page-muted{syntax:"<color>";inherits:true;initial-value:#294f5b}
@property --page-line{syntax:"<color>";inherits:true;initial-value:#244e5c35}
@property --page-surface{syntax:"<color>";inherits:true;initial-value:#d6edf1}
@property --page-active{syntax:"<color>";inherits:true;initial-value:#eff8f4}
@property --page-time{syntax:"<color>";inherits:true;initial-value:#7b3a23}
body[data-sky]{transition:--page-top 1600ms ease-in-out,--page-middle 1600ms ease-in-out,--page-low 1600ms ease-in-out,--page-ink 1600ms ease-in-out,--page-muted 1600ms ease-in-out,--page-line 1600ms ease-in-out,--page-surface 1600ms ease-in-out,--page-active 1600ms ease-in-out,--page-time 1600ms ease-in-out}
body[data-sky="morning"]{--page-top:#89b5d8;--page-middle:#f0c7ac;--page-low:#ffdfaa;--page-ink:#283e48;--page-muted:#455762;--page-surface:#f5e3cc;--page-active:#fff1d5;--page-time:#754428}
body[data-sky="noon"]{--page-top:#409bda;--page-middle:#80ceef;--page-low:#c4eaf0;--page-ink:#11343f;--page-muted:#284e5e;--page-surface:#cfedf4;--page-active:#effaff;--page-time:#743820}
body[data-sky="afternoon"]{--page-top:#69addb;--page-middle:#9ecee5;--page-low:#e9ddba;--page-ink:#203b43;--page-muted:#38545d;--page-surface:#ddebdc;--page-active:#f5f5df;--page-time:#76412a}
.sky-sun,.sky-moon{transition:bottom 1800ms cubic-bezier(.22,.61,.36,1),left 1800ms ease,opacity 1300ms ease,box-shadow 1500ms ease;will-change:bottom,opacity}
.topbar[data-sky] .sky-sun{display:block}
.sky-sun[data-visible="false"],.sky-moon[data-visible="false"]{opacity:0}
.sky-sun[data-visible="true"],.sky-moon[data-visible="true"]{opacity:1}
body[data-sky]:before{transition:opacity 1700ms ease}
.topbar .sky-copy small,.topbar .sky-card #chapter>span{color:var(--page-muted)}
@media(prefers-reduced-motion:reduce){body[data-sky],body[data-sky]:before,.sky-sun,.sky-moon{transition:none}}

/* Let the sun glow spill past the header without a clipped rectangle. */
body[data-sky] .topbar,body[data-sky] .topbar>.sky-art{overflow:visible;contain:none}
body[data-sky] .sky-haze{display:none}

/* Celestial handoffs follow the horizon vertically, without lateral sliding. */
.sky-moon{top:auto;bottom:var(--moon-height,-40%);transform:translateY(50%)}
.sky-sun,.sky-moon{transition:bottom 1800ms cubic-bezier(.22,.61,.36,1),opacity 1300ms ease,box-shadow 1500ms ease}
@media(prefers-reduced-motion:reduce){.sky-sun,.sky-moon{transition:none}}

/* The time card belongs to the active cover, separate from weather controls. */
.topbar .sky-card{display:flex;justify-content:flex-end;padding-left:20px}
.time-cover{position:relative}
:is(#chapter,.preview-clock).duration-clock{position:absolute;z-index:6;left:12px;top:12px;display:grid;grid-template-columns:auto 1fr 38px;grid-template-rows:auto auto;column-gap:12px;row-gap:8px;width:min(300px,calc(100% - 24px));max-width:calc(100% - 24px);padding:12px 14px;border:1px solid #ffffff8f;border-radius:14px;background:#f8f9f2ed;box-shadow:0 3px 16px #09282018;backdrop-filter:blur(12px);color:#173d34;font-size:13px;line-height:1.2;isolation:isolate}
:is(#chapter,.preview-clock).duration-clock[hidden]{display:none}
:is(#chapter,.preview-clock).duration-clock span{color:inherit;margin:0;font-size:inherit;font-weight:inherit}
:is(#chapter,.preview-clock) .duration-range{grid-column:1/-1;display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
:is(#chapter,.preview-clock) .duration-arrow{opacity:.55}
:is(#chapter,.preview-clock) .duration-dials{grid-row:2;grid-column:1;display:flex;gap:8px;align-items:center;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;border-radius:8px}:is(#chapter,.preview-clock) .duration-dials:hover{background:#173d3410}:is(#chapter,.preview-clock) .duration-dials:focus-visible{outline:2px solid currentColor;outline-offset:3px}
:is(#chapter,.preview-clock) .duration-dials{position:relative;inset:auto;width:auto;height:38px;min-width:76px;overflow:visible;flex:none}
:is(#chapter,.preview-clock) .duration-dials::after{display:none}
:is(#chapter,.preview-clock) .duration-face{position:static;inset:auto;display:flex;flex:none;align-items:center;text-shadow:none}:is(#chapter,.preview-clock) .duration-face[hidden],:is(#chapter,.preview-clock) .duration-dials[hidden]{display:none}
.duration-start .dial-hour,.duration-start .dial-minute{opacity:.55}
.duration-dial{width:34px;height:34px;flex:none;overflow:visible;fill:none;stroke:currentColor;stroke-linecap:round}
.duration-dial .dial-ring{stroke-width:1;opacity:.25}.duration-dial .dial-progress{stroke-width:2.5}.dial-tick{stroke-width:1;opacity:.65}.dial-hour{stroke-width:2.5}.dial-minute{stroke-width:1.5}
:is(#chapter,.preview-clock) .duration-copy{grid-row:2;grid-column:2;display:flex;flex-direction:column;gap:4px;white-space:nowrap;font-variant-numeric:tabular-nums}
.duration-copy strong{font-size:16px;font-weight:600}.duration-copy small{font-size:12px;opacity:.8}

.duration-activity{display:flex;grid-column:3;grid-row:2;position:relative;align-items:center;justify-content:center;width:38px;min-height:38px}.duration-activity>i{font-size:32px}

.scene-movie.provider-time-space{padding-top:calc(var(--time-panel-height,88px) + 24px)}
#visual #map-shell:has(>.duration-clock) .map-top{top:12px;left:auto;right:12px}
#visual #map-shell:has(>.duration-clock) .terrain-controls{top:calc(var(--time-panel-height,88px) + 24px)}
#visual #map-shell:has(>.duration-clock) .maplibregl-ctrl-top-right{top:62px}
#visual #map-shell:has(>.duration-clock) .terrain-distance{top:44px}
@media(max-width:600px){:is(#chapter,.preview-clock).duration-clock{left:9px;top:9px;padding:10px 11px;width:min(292px,calc(100% - 18px));max-width:calc(100% - 18px);gap:7px 10px}:is(#chapter,.preview-clock) .duration-range{font-size:12px;gap:6px}.duration-dial{width:31px;height:31px}.duration-dials{gap:6px}.duration-copy strong{font-size:15px}.duration-copy small{font-size:11px}#visual #map-shell:has(>.duration-clock) .map-top{top:calc(var(--time-panel-height,84px) + 70px);right:52px}#visual #map-shell:has(>.duration-clock) .maplibregl-ctrl-top-right{top:calc(var(--time-panel-height,84px) + 70px)}.topbar .sky-card{padding:8px 14px}.sky-copy{max-width:230px;width:auto}.sky-copy small{font-size:10px}}
@media(max-height:560px) and (min-width:600px){:is(#chapter,.preview-clock).duration-clock{padding:8px 10px;left:9px;top:9px;width:260px;gap:5px 9px}.duration-dial{width:28px;height:28px}:is(#chapter,.preview-clock) .duration-range{font-size:12px}.duration-copy strong{font-size:14px}.duration-copy small{font-size:11px}#visual #map-shell:has(>.duration-clock) .map-top{top:calc(var(--time-panel-height,74px) + 58px)}#visual #map-shell:has(>.duration-clock) .terrain-controls{top:calc(var(--time-panel-height,74px) + 18px)}#visual #map-shell:has(>.duration-clock) .maplibregl-ctrl-top-right{top:calc(var(--time-panel-height,74px) + 100px)}}
@media(prefers-reduced-motion:reduce){:is(#chapter,.preview-clock).duration-clock{backdrop-filter:none}}

.terrain-fallback{position:absolute;z-index:6;left:12px;bottom:88px;max-width:calc(100% - 24px);padding:7px 10px;border-radius:8px;background:#f8f9f2ed;color:#173d34;font-size:12px}.terrain-fallback[hidden]{display:none}
.duration-activity>div{display:flex;align-items:center;justify-content:center}
/* Authored SVG motion can extend beyond 0..24 (e.g. the ticket's torn edges).
   This supplies the library's overflow-visible utility without requiring Tailwind. */
.duration-activity svg{overflow:visible;flex:none}

/* Scene identity occupies the open sky at left; weather stays its own control. */
.app{grid-template-rows:minmax(var(--header),auto) minmax(0,1fr) var(--footer)}
.topbar{overflow:visible;gap:18px;min-width:0}
.topbar #scene-title{flex:1;min-width:0;margin:0;padding:14px 0 14px 28px;font:500 clamp(25px,2.6vw,42px)/1.08 Newsreader,serif;letter-spacing:-.65px;overflow-wrap:anywhere;color:var(--page-ink,var(--sky-ink))}
.topbar .sky-card{flex:0 1 310px;width:auto;height:auto;align-self:stretch;display:flex;justify-content:flex-end;padding:12px 24px 12px 0;overflow:visible}
.topbar .sky-copy{max-width:100%}
#terrain-map .maplibregl-canvas-container.maplibregl-interactive,#terrain-map .maplibregl-canvas{touch-action:pan-y pinch-zoom}
#globe{touch-action:pan-y pinch-zoom;overscroll-behavior:auto}
@media(max-width:1000px){.topbar{gap:8px;flex-wrap:wrap;padding:8px 14px}.topbar #menu{margin:0;align-self:flex-start}.topbar #scene-title{flex-basis:calc(100% - 60px);padding:4px 0;font-size:27px;line-height:1.1;max-width:none}.topbar .sky-card{flex:1 1 100%;padding:0 0 3px 52px;min-height:0;justify-content:flex-start}.topbar .sky-copy{max-width:none;width:auto;text-align:left}.topbar .sky-copy strong{font-size:11px}.topbar .sky-copy>span,.topbar .sky-copy small{display:inline;font-size:10px;margin-right:8px}.topbar .sky-phase{display:inline}}
@media(max-height:560px) and (min-width:600px){.topbar{flex-wrap:nowrap;gap:10px;padding-block:4px}.topbar #scene-title{flex:1;padding:4px 0;font-size:24px}.topbar .sky-card{flex:0 1 245px;padding:4px 0;justify-content:flex-end}.topbar .sky-copy{text-align:right}.topbar .sky-copy small{display:none}}

.globe-controls{position:absolute;z-index:5;right:12px;top:65px;display:flex;flex-direction:column;gap:1px}.globe-controls button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #fff8;background:#f7f7eef2;color:#173d34;border-radius:5px;font-size:20px}.globe-controls button:focus-visible{outline:3px solid #42a9e4;outline-offset:2px}#apple-map:not([data-view="flight-globe"])~.globe-controls{display:none}

/* A moving WebGL map should not require a second blurred compositing pass. */
:is(#chapter,.preview-clock).duration-clock[data-cover="map"]{backdrop-filter:none;background:#f8f9f2}
@media(max-width:600px),(max-height:560px){#visual #map-shell:has(>.duration-clock) .globe-controls{top:calc(var(--time-panel-height,84px) + 18px)}}

/* Moving weather (journey-weather-motion.js) sits above the sky gradients, behind every page. */
.sky-wash>.sky-motion{position:absolute;top:0;bottom:0;right:0;left:var(--sidebar);opacity:0;pointer-events:none;contain:strict}
.sky-wash>.sky-motion>canvas{position:absolute;inset:0;width:100%;height:100%}
@media (max-width:1000px){.sky-wash>.sky-motion{left:0}}
@media (max-height:560px) and (min-width:1001px) and (max-width:1100px){.sky-wash>.sky-motion{left:0}}
