:root{color-scheme:dark;font-family:"Songti SC","Noto Serif CJK SC","Source Han Serif SC","SimSun",serif;color:#fff5e9;background:#719aaa;--pad:clamp(24px,4.4vw,74px)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #ffe1b4;outline-offset:6px}button{border:0;background:none}svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.landscape{position:relative;width:100%;height:100%;min-height:320px;height:100svh;isolation:isolate}#world{position:absolute;inset:0;width:100%;height:100%;display:block;background:#91bcca;touch-action:pan-y}.reading-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(32,55,72,.13),transparent 36%,transparent 57%,rgba(18,35,48,.28));z-index:1}
.masthead{position:absolute;z-index:2;left:var(--pad);right:var(--pad);top:max(30px,env(safe-area-inset-top));display:flex;justify-content:space-between;align-items:flex-start}.brand{display:flex;align-items:center;gap:22px}.brand h1{font-weight:400;font-size:clamp(26px,2.5vw,42px);letter-spacing:.13em;margin:0;text-shadow:0 2px 18px #345d7840}.sun-mark{height:clamp(46px,4vw,68px);aspect-ratio:1;border:1px solid #fff5e9b0;border-radius:50%;display:grid;place-items:center}.sun-mark i{width:19px;aspect-ratio:1;border-radius:50%;background:#ffdda7;box-shadow:0 0 30px #ffdbac38}.tools{display:flex;gap:clamp(22px,2.6vw,42px)}.tool{display:flex;align-items:center;flex-direction:column;gap:10px;min-width:68px;padding:0;font-size:14px;letter-spacing:.13em;text-shadow:0 1px 10px #22486588}.tool-ring{width:clamp(48px,3.8vw,64px);aspect-ratio:1;border-radius:50%;border:1px solid #fff5e9a8;display:grid;place-items:center;background:#456a8208;transition:background .2s,transform .2s}.tool:hover .tool-ring{background:#fff5e91c;transform:translateY(-2px)}.tool svg{width:29px;height:29px}.sound-waves{display:none}#sound[aria-pressed=true] .sound-waves{display:block}#sound[aria-pressed=true] .sound-off{display:none}
.poetry{position:absolute;z-index:2;top:23%;right:8%;text-align:center;pointer-events:none}.poetry p{margin:0;font-size:clamp(24px,3.1vw,54px);font-weight:400;line-height:1.65;letter-spacing:.12em;text-shadow:0 2px 25px #2c547d65}.poem-line{display:block;width:74px;height:1px;background:#fff6e27a;margin:24px auto 0}
.departure{position:absolute;z-index:2;bottom:max(86px,11.5%);left:calc(var(--pad) + 10px);text-align:center}.tap-link{display:flex;align-items:center;justify-content:center;gap:20px;min-width:300px;padding:21px 29px;border:1px solid #ffefdbbc;box-shadow:inset 0 0 0 3px #ffffff07,0 7px 28px #152f4518;background:linear-gradient(110deg,#294d48e8,#35585ee8);border-radius:60px;font-size:clamp(23px,2.1vw,36px);letter-spacing:.04em;transition:transform .2s,background .2s}.tap-link:hover{transform:translateY(-3px);background:#315c52}.tap-link>svg{width:32px;height:32px;stroke-width:2}.tap-link .out-arrow{width:19px;height:24px;opacity:.75}.departure p{font-size:clamp(14px,1.35vw,22px);letter-spacing:.13em;margin:17px 0 0;opacity:.9;text-shadow:0 1px 8px #112d55a0}
.seasons{position:absolute;z-index:2;right:calc(var(--pad) + 6px);bottom:max(60px,7%);width:41%;max-width:720px}.seasons input{display:block;width:100%;height:44px;appearance:none;-webkit-appearance:none;cursor:pointer;outline-offset:0;background:transparent;margin:0;--progress:66.67%}.seasons input::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,#ffdfa8 var(--progress),#e2e5eea0 var(--progress))}.seasons input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:24px;height:24px;border:3px solid #fff4dc;border-radius:50%;margin-top:-11px;background:#ffcf92;box-shadow:0 0 20px #ffcf9260}.seasons input::-moz-range-track{height:2px;background:#d5dfec}.seasons input::-moz-range-thumb{width:19px;height:19px;border:3px solid #fff4dc;border-radius:50%;background:#ffcf92}.season-labels{display:flex;justify-content:space-between;margin:0 -20px}.season-labels button{font-size:21px;min-width:44px;min-height:44px;opacity:.72;transition:opacity .2s;text-shadow:0 1px 8px #243a5c}.season-labels button[aria-pressed=true]{opacity:1;color:#ffe0b1}.scene-note{position:absolute;z-index:3;top:122px;right:var(--pad);font-size:14px;letter-spacing:.13em;opacity:0;transition:opacity .3s;pointer-events:none;text-shadow:0 1px 12px #23435c}.scene-note.visible{opacity:1}.colophon{position:absolute;z-index:2;bottom:max(19px,env(safe-area-inset-bottom));left:var(--pad);right:var(--pad);font-size:12px;opacity:.6;letter-spacing:.14em;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:700px){:root{--pad:24px}.masthead{top:max(24px,env(safe-area-inset-top))}.brand{gap:11px}.brand h1{font-size:25px;letter-spacing:.06em}.sun-mark{width:41px;height:41px}.sun-mark i{width:14px}.tools{gap:13px}.tool{min-width:46px;font-size:11px;gap:7px;letter-spacing:0}.tool-ring{width:44px;height:44px}.tool svg{width:24px;height:24px}.poetry{top:23%;right:8%;left:8%;text-align:right}.poetry p{font-size:clamp(25px,6.7vw,34px);line-height:1.75;letter-spacing:.10em}.poem-line{margin:20px 12px 0 auto;width:55px}.departure{left:var(--pad);right:var(--pad);bottom:145px}.tap-link{min-width:0;width:100%;max-width:355px;margin:auto;padding:17px 24px;font-size:25px;gap:15px}.departure p{font-size:14px;margin-top:12px}.seasons{width:auto;left:calc(var(--pad) + 15px);right:calc(var(--pad) + 15px);bottom:max(40px,env(safe-area-inset-bottom))}.season-labels button{font-size:18px}.colophon{bottom:15px;text-align:center;font-size:10px}.scene-note{top:99px;right:var(--pad);font-size:12px}}
@media(max-width:359px){.brand h1{font-size:21px}.brand{gap:8px}.sun-mark{width:34px;height:34px}.tools{gap:9px}.tool-ring{width:40px;height:40px}.poetry{top:24%}.departure{bottom:131px}.tap-link{font-size:23px}}
@media(max-height:570px) and (min-width:701px){.masthead{top:20px}.sun-mark{height:45px}.tool-ring{width:44px}.brand h1{font-size:28px}.poetry{top:23%}.poetry p{font-size:30px}.departure{bottom:55px}.tap-link{padding:13px 23px;font-size:24px;min-width:260px}.seasons{bottom:36px}.colophon{bottom:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}

/* Filing number stays visible and clickable below the landscape controls. */
.colophon{text-align:center;opacity:.85;letter-spacing:.06em;line-height:18px}.colophon>span{position:absolute;left:0;opacity:.7}.icp-record{pointer-events:auto;text-shadow:0 1px 5px #112d55}.icp-record:hover{text-decoration:underline}
@media(max-width:700px){.colophon{bottom:max(6px,env(safe-area-inset-bottom));line-height:16px}.colophon>span{position:static;display:block;font-size:10px}.icp-record{font-size:12px}.seasons{bottom:calc(44px + env(safe-area-inset-bottom))}}

/* Portrait composition keeps the traveler clear of the bottom controls. */
@media(max-width:700px){
 .landscape{background:#2d4658}
 #world{height:calc(100% - 132px);mask-image:linear-gradient(to bottom,#000 calc(100% - 44px),transparent);-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 44px),transparent)}
 .reading-shade{background:linear-gradient(180deg,#20374812,transparent 35%,transparent 60%,#18304724)}
 .masthead{top:max(22px,env(safe-area-inset-top))}
 .brand h1{font-size:24px;letter-spacing:.06em}.brand{gap:10px}.sun-mark{width:38px;height:38px}
 .tools{gap:12px}.tool-ring{width:40px;height:40px}.tool{min-width:44px;font-size:10px;gap:6px}.tool svg{width:22px;height:22px}
 .poetry{top:18%;left:28px;right:28px;text-align:left}.poetry p{font-size:clamp(24px,6.7vw,30px);line-height:1.8;letter-spacing:.06em}.poem-line{margin:17px 0 0;width:48px}
 .departure{bottom:calc(107px + env(safe-area-inset-bottom));left:26px;right:26px}
 .tap-link{max-width:330px;font-size:22px;padding:13px 20px;gap:14px;border-color:#fff0d7a0;background:linear-gradient(110deg,#294d48e8,#35585ee8)}
 .tap-link>svg{width:26px;height:26px}.tap-link .out-arrow{width:16px;height:20px}
 .departure p{font-size:12px;margin:8px 0 0;letter-spacing:.1em}
 .seasons{left:43px;right:43px;bottom:calc(33px + env(safe-area-inset-bottom))}
 .seasons input{height:27px}.season-labels{margin:0 -17px}.season-labels button{font-size:15px;min-height:30px;min-width:44px}
 .colophon{bottom:max(6px,env(safe-area-inset-bottom));line-height:18px}.colophon>span{display:none}.icp-record{font-size:12px}
 .scene-note{top:86px;font-size:11px}
}
@media(max-width:359px){.brand h1{font-size:21px}.brand{gap:8px}.sun-mark{width:34px;height:34px}.tools{gap:8px}.tool-ring{width:36px;height:36px}.poetry{top:18%;left:25px;right:25px}.tap-link{font-size:21px}}
