:root{--paper:#f3f0e8;--ink:#293d32;--muted:#697568;--line:#c9d1c0;--serif:'Songti SC','STSong',Georgia,serif;--sans:'PingFang SC','Hiragino Sans GB',sans-serif}*{box-sizing:border-box}body{margin:0;background:#e5e8e0;color:var(--ink);font-family:var(--sans);overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,#stage:focus-visible{outline:3px solid #a67938;outline-offset:4px}button:disabled{opacity:.45;cursor:wait}header{height:82px;position:relative;z-index:4;background:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:18px;align-items:center}.brand strong{font:34px var(--serif);letter-spacing:.1em}.brand>span{border-left:1px solid #b9c4b0;padding-left:18px;font:14px var(--serif)}.brand small{display:block;font:8px var(--sans);letter-spacing:.12em;margin-top:6px}.header-right{display:flex;align-items:center;gap:28px;font-size:12px}.edition{font-size:10px;letter-spacing:.08em;color:var(--muted)}.back{padding:9px 0;border-bottom:1px solid var(--ink)}#experience{position:relative;height:calc(100dvh - 82px);min-height:360px}#stage,#markers,.shade{position:absolute;inset:0}#stage{touch-action:none;outline-offset:-4px!important;cursor:grab}#stage:active{cursor:grabbing}canvas{display:block;width:100%;height:100%}#markers{pointer-events:none;overflow:hidden}.marker{position:absolute;left:0;top:0;transform:translate(-50%,-50%);pointer-events:auto;white-space:nowrap;border:1px solid #e3e8d9;background:#f3f0e8f2;color:var(--ink);padding:9px 13px 9px 9px;border-radius:2px;box-shadow:0 3px 18px #10201520;display:flex;align-items:center;gap:9px;font-size:12px}.marker i{display:block;border-radius:50%;background:#526f43;border:3px solid #dfe7d8;width:15px;height:15px}.marker:hover{background:#fff;border-color:#526f43}.marker[hidden]{display:none}.story{position:absolute;left:36px;top:36px;max-width:305px;padding:23px 25px 18px;background:#f3f0e8ec;border:1px solid #fff8;box-shadow:0 8px 35px #25372e08;pointer-events:auto}.eyebrow{font-size:9px;letter-spacing:.13em;color:var(--muted);margin:0 0 16px;line-height:1.5}h1{font:38px/1.4 var(--serif);margin:0 0 16px}#view-description{font-size:12px;line-height:1.9;margin:0}#story-toggle{margin-top:15px;padding:6px 0;background:none;border:0;border-bottom:1px solid #bac5b3;font-size:10px}.story.collapsed #view-description,.story.collapsed .eyebrow{display:none}.story.collapsed h1{font-size:23px;margin:0}.story.collapsed h1 br{display:none}.story.collapsed{padding:16px 20px}.story.collapsed #story-toggle{margin-top:6px}.view-tools{position:absolute;right:32px;top:36px;display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;max-width:300px}.view-tools button{background:#f3f0e8ed;border:1px solid #c4cebd;padding:10px 13px;font-size:11px;min-height:38px}.view-tools button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.bottom{position:absolute;left:36px;right:36px;bottom:17px;pointer-events:none}.view-status{display:flex;justify-content:space-between;gap:15px;margin-bottom:14px;font-size:11px;color:#263c2f}.view-status>span{padding:7px 11px;background:#f3f0e8e8;border:1px solid #fff7}.controls-hint{color:var(--muted)}.destinations{display:flex;max-width:1000px;margin:auto;background:#f3f0e8f2;padding:7px;box-shadow:0 10px 35px #0a1a1520;border:1px solid #ffffffa0;pointer-events:auto}.destinations button{flex:1;background:none;border:0;padding:13px 8px;white-space:nowrap;font-size:13px;min-height:62px;transition:background .18s,color .18s}.destinations small{display:block;font:10px Georgia,serif;margin-bottom:5px;color:#7d8d71}.destinations button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.destinations button[aria-pressed=true] small{color:#b8c9aa}.destinations button:hover:not([aria-pressed=true]){background:#e0e4d8}.bottom-note{display:flex;justify-content:space-between;margin-top:13px;font-size:9px;color:#4d604f}.shade{background:#e5e8e0;opacity:0;pointer-events:none;z-index:2;transition:opacity .18s}.shade.active{opacity:1;pointer-events:auto}#detail{position:absolute;right:32px;top:96px;width:310px;max-height:calc(100% - 260px);overflow:auto;background:#f3f0e8f5;border:1px solid #fff;padding:28px;box-shadow:0 8px 38px #0a1a1520;z-index:3}#detail[hidden]{display:none}#detail h2{font:27px/1.5 var(--serif);margin:0 0 17px}#detail-description{font-size:13px;line-height:1.9}#detail ul{list-style:none;padding:0;font-size:12px}#detail li{padding:10px 0;border-top:1px solid var(--line)}.detail-note{font-size:10px!important;color:var(--muted);line-height:1.8}#close-detail{position:absolute;right:10px;top:8px;width:32px;height:32px;font-size:24px;background:none;border:0}.loader{position:absolute;inset:0;z-index:6;background:radial-gradient(ellipse at 50% 36%,#f7f5ed,#dce3d7);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;text-align:center;padding:30px}.loader[hidden]{display:none}.load-brand{font:60px var(--serif);letter-spacing:.12em}.loader p{font:21px var(--serif);margin:14px 0 0}.load-track{width:220px;height:2px;background:#bac9ad;overflow:hidden}#load-progress{display:block;height:100%;width:3%;background:#405d36;transition:width .3s}.loader small{color:var(--muted);font-size:11px;max-width:290px;line-height:1.9}.loader a{font-size:12px;border-bottom:1px solid #8ca37a;padding:8px 0;margin-top:25px}#retry{padding:10px 20px;background:#2d4434;color:white;border:0}.no-script{position:fixed;inset:82px 0 0;background:var(--paper);z-index:10;padding:20vh 10vw;text-align:center}.no-script a{display:block;margin-top:20px;text-decoration:underline}body[data-view=overview] .story{max-width:275px}body[data-view]:not([data-view=garden]):not([data-view=overview]) .story{background:#f3f0e8f0}#experience:fullscreen{height:100dvh;background:#e5e8e0}
@media(max-width:1000px){header{padding:0 24px}.story{left:24px;top:24px;max-width:260px;padding:20px}h1{font-size:30px}.view-tools{right:24px;top:24px;max-width:250px}.bottom{left:24px;right:24px}#detail{right:24px;top:115px;width:285px}}
@media(max-width:640px){header{height:68px;padding:0 18px}.brand{gap:11px}.brand strong{font-size:28px}.brand>span{padding-left:11px;font-size:11px}.brand small{display:none}.edition{display:none}.header-right{font-size:10px}#experience{height:calc(100dvh - 68px)}.story{left:16px;top:16px;max-width:205px;padding:15px 17px}.eyebrow{font-size:8px;margin-bottom:9px}h1{font-size:26px;margin-bottom:9px}#view-description{font-size:11px}.story.collapsed{padding:12px 15px}.story.collapsed h1{font-size:21px}.story.collapsed #story-toggle{font-size:9px}.view-tools{right:14px;top:16px;max-width:115px;gap:6px}.view-tools button{font-size:10px;padding:8px 10px;min-height:36px}#fullscreen{display:none}.bottom{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.view-status{font-size:9px;margin-bottom:10px;gap:8px}.controls-hint{display:none}.destinations{overflow-x:auto;scrollbar-width:thin;justify-content:flex-start;padding:5px}.destinations button{flex:0 0 83px;font-size:12px;min-height:55px;padding:8px}.destinations small{font-size:9px}.bottom-note{font-size:8px;margin-top:9px}.bottom-note>span:first-child{display:none}.marker{font-size:10px;padding:8px;gap:5px}.marker i{width:12px;height:12px;border-width:2px}#detail{left:16px;right:16px;top:auto;bottom:132px;width:auto;max-height:42%;padding:20px 24px}#detail h2{font-size:24px;margin-bottom:10px}#detail-description{font-size:12px}.no-script{top:68px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}
@media(min-width:1001px){h1{font-size:30px}.story{max-width:306px}}

.view-tools{max-width:330px}#guide-start{background:#293d32;color:#f3f0e8}#guide{position:absolute;left:50%;bottom:155px;transform:translateX(-50%);width:min(620px,calc(100% - 48px));background:#f3f0e8f5;border:1px solid #fff9;padding:17px 20px 20px;box-shadow:0 12px 40px #11251c25;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:3}#guide[hidden]{display:none}.guide-copy{display:grid;gap:5px}.guide-copy .eyebrow{margin:0;font-size:8px}.guide-copy strong{font:22px var(--serif)}.guide-copy small{color:var(--muted);font-size:10px}.guide-actions{display:flex;gap:6px;flex-shrink:0}.guide-actions button{padding:10px 13px;background:none;border:1px solid var(--line);font-size:12px;min-height:40px}#guide-pause{background:var(--ink);color:var(--paper);border-color:var(--ink)}#guide-progress{position:absolute;bottom:0;left:0;width:100%;height:3px;appearance:none;border:0;background:#cad3c1}#guide-progress::-webkit-progress-bar{background:#cad3c1}#guide-progress::-webkit-progress-value{background:#6a7b4f}#guide-progress::-moz-progress-bar{background:#6a7b4f}body[data-guiding=true] .view-status{visibility:hidden}body[data-lighting=night] .shade{background:#172936}body[data-lighting=night] .bottom-note{color:#e0e6db}body[data-lighting=night] #time-toggle{background:#344b5b;color:#f3f0e8;border-color:#668293}
@media(max-width:640px){.view-tools{max-width:160px;gap:5px}.view-tools button{flex:1 1 70px;padding:8px 6px}.story.collapsed{max-width:175px}#guide{width:calc(100% - 24px);bottom:130px;padding:13px 14px 17px;gap:9px;flex-wrap:wrap}.guide-copy{gap:4px}.guide-copy strong{font-size:19px}.guide-copy .eyebrow{font-size:7px}.guide-actions{gap:5px}.guide-actions button{padding:8px 10px;font-size:11px}.guide-copy small{font-size:9px}body[data-guiding=true] #detail{bottom:245px;max-height:35%}}
@media(max-height:600px) and (min-width:641px){#guide{left:auto;right:24px;top:140px;bottom:auto;transform:none;width:300px;flex-wrap:wrap}.story{max-width:245px}.story h1{font-size:24px}}

/* One quiet control surface, with primary actions separated from view tools. */
.view-tools{display:block;width:328px;max-width:328px;padding:8px;background:#f5f3ecef;border:1px solid #ffffffad;border-radius:16px;box-shadow:0 8px 32px #172b2012;backdrop-filter:blur(16px)}
.tools-primary{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding-bottom:8px;border-bottom:1px solid #cbd3c15c}
.tools-secondary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding-top:6px}
.view-tools button{display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;border-radius:10px;padding:10px 8px;min-height:44px;font-size:12px;white-space:nowrap;transition:background .18s,color .18s,box-shadow .18s}
.view-tools button:before{content:'';display:block;flex:0 0 18px;width:18px;height:18px;background:currentColor;mask:var(--tool-icon) center/contain no-repeat;opacity:.8}
.tools-primary #time-toggle{background:#e7ebe0;color:#304536;border:1px solid #d7dece}
.tools-primary #guide-start{background:#293d32;color:#f6f3eb;box-shadow:0 2px 5px #1d332218}
.tools-secondary button{flex-direction:column;gap:5px;min-height:58px;padding:8px 3px;font-size:10px;color:#64715f}
.tools-secondary button[aria-pressed=true]{background:#dfe8d6;color:#2e4936;border:0}
.view-tools button:hover:not(:disabled){background:#dae3d2;color:#253c2c}
.tools-primary #guide-start:hover{background:#3d5844;color:#fff}
.view-tools button:focus-visible{outline-offset:2px;border-radius:8px}
body[data-lighting=night] .tools-primary #time-toggle{background:#e0e8eb;color:#345564;border-color:#c9d6db}
#time-toggle{--tool-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 13.2A9 9 0 0 1 10.8 3.2a9 9 0 1 0 10 10Z'/%3E%3C/svg%3E")}
body[data-lighting=night] #time-toggle{--tool-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2m0 16v2M2 12h2m16 0h2M5 5l1.5 1.5m11 11L19 19M5 19l1.5-1.5m11-11L19 5'/%3E%3C/svg%3E")}
#guide-start{--tool-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m10 8 6 4-6 4Z'/%3E%3C/svg%3E")}
#overview{--tool-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='m12 3 10 6-10 6L2 9Zm-9 11 9 5 9-5M3 18l9 5 9-5'/%3E%3C/svg%3E")}
#roof-toggle{--tool-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2 10 10-7 10 7M5 13v8h14v-8M9 21v-7h6v7'/%3E%3C/svg%3E")}
#reset-view{--tool-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10a9 9 0 1 1 2 8M3 4v6h6'/%3E%3C/svg%3E")}
#fullscreen{--tool-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3H3v5m13-5h5v5M3 16v5h5m13-5v5h-5'/%3E%3C/svg%3E")}
.story{border-radius:12px}.marker{border-radius:24px}.destinations{border-radius:14px}.destinations button{border-radius:8px}#guide{border-radius:14px;overflow:hidden}.guide-actions button{border-radius:8px}#detail{top:190px;border-radius:14px}.view-status>span{border-radius:6px}
@media(max-width:1000px) and (min-width:641px){.view-tools{width:304px;max-width:304px}}
@media(max-width:640px){.view-tools{width:176px;max-width:176px;padding:6px;border-radius:12px;right:12px}.tools-primary{gap:4px;padding-bottom:6px}.view-tools button{font-size:10px;gap:5px;padding:9px 3px;min-height:42px}.tools-primary button{flex-direction:column}.view-tools button:before{width:17px;height:17px;flex-basis:17px}.tools-secondary{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding-top:5px}.tools-secondary button{font-size:9px;min-height:49px;gap:4px}.tools-secondary #fullscreen{display:none}.story{left:12px;max-width:calc(100% - 208px)}.story.collapsed{max-width:calc(100% - 208px);padding:12px}.story h1{font-size:22px}.story .eyebrow{overflow-wrap:anywhere}#detail{top:auto}.destinations{border-radius:12px}}
@media(max-width:350px){.view-tools{width:162px;max-width:162px}.story,.story.collapsed{max-width:calc(100% - 193px)}}
#health-screen-view{display:block;margin-top:12px;padding:8px 0;background:none;border:0;border-bottom:1px solid var(--line);font-size:11px}#health-screen-view[hidden]{display:none}
body[data-view=digital] .story{padding:16px 20px}body[data-view=digital] .story h1{font-size:23px;margin:0}body[data-view=digital] .story .eyebrow,body[data-view=digital] #view-description,body[data-view=digital] #story-toggle{display:none}
.health-display-dialog svg{width:21px;height:21px;flex:none}.health-display-dialog button{display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:background .18s,border-color .18s}.health-display-dialog button:hover{border-color:#729c8b}.hd-brand{display:flex;align-items:center;gap:16px}.hd-brand-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:18px;background:linear-gradient(140deg,#21494c,#0d2831);color:#a5e6c7;box-shadow:inset 0 0 0 1px #8cb8aa55}.hd-brand-icon svg{width:34px;height:34px}.health-display-dialog .hd-disclaimer{padding:11px 14px;border:1px solid #ced9d0;border-radius:9px;background:#e7ede5}.health-display-dialog .hd-tabs{padding:5px;background:#e2e8df;border-radius:12px}.health-display-dialog .hd-tabs button{flex:1;background:transparent;border-color:transparent}.health-display-dialog .hd-tabs button[aria-pressed=true]{background:#173b3e;border-color:#173b3e;color:#e5f6ed;box-shadow:0 2px 5px #12353222}.health-display-dialog .hd-preview{border:1px solid #41615c;box-shadow:0 10px 28px #12332d18}.health-display-dialog .hd-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.health-display-dialog .hd-content button{padding:16px;min-height:64px;justify-content:flex-start;text-align:left;background:#e6ede5;font-size:13px}.health-display-dialog .hd-content button[aria-pressed=true]{background:#214b45;color:#f2faf2;border-color:#537f6e}.hd-content button svg{width:26px;height:26px;color:#638879}.hd-content button[aria-pressed=true] svg{color:#b0e1c3}.hd-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.hd-metric{position:relative;padding:15px 17px;border:1px solid #cddacf;border-radius:12px;background:linear-gradient(140deg,#f9faf5,#e6eee5)}.hd-metric span{font-size:11px;color:#657d71}.hd-metric strong{display:block;font:600 28px Georgia,serif;font-variant-numeric:tabular-nums;color:#20483e;margin-top:8px}.hd-metric svg{position:absolute;right:13px;top:14px;width:19px;color:#6b9280}.health-display-dialog .hd-booking{grid-column:1/-1;background:#d9e9dd;border-color:#a7c6ae;justify-content:center}.hd-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #d0dbcf;margin-top:20px;padding-top:14px}.hd-footer .hd-feedback{margin:0;line-height:1.6}.hd-footer .hd-reset{flex:none}.hd-content>*{animation:hd-reveal .22s ease-out both}@keyframes hd-reveal{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.hd-content>*{animation:none}.health-display-dialog button{transition:none}}@media(max-width:640px){.hd-brand{gap:10px}.hd-brand-icon{width:38px;height:38px;border-radius:11px}.hd-brand-icon svg{width:25px;height:25px}.health-display-dialog .hd-heading{gap:8px}.health-display-dialog .hd-heading h2{font-size:23px}.hd-brand p{font-size:8px;letter-spacing:.07em}.health-display-dialog .hd-close{min-height:38px;padding:8px}.hd-close span{display:none}.health-display-dialog .hd-tabs button{font-size:11px;gap:5px;padding:9px 4px}.hd-tabs svg{width:17px;height:17px}.health-display-dialog .hd-content{grid-template-columns:1fr}.health-display-dialog .hd-content button{min-height:56px;padding:12px 14px}.hd-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.hd-metric strong{font-size:25px}.hd-footer{align-items:flex-start}.hd-footer .hd-reset{padding:9px;font-size:11px}}
.health-display-dialog{width:min(1100px,94vw);max-height:90dvh;overflow:auto;border:1px solid #d2dacc;border-radius:20px;background:var(--paper);color:var(--ink);padding:28px;box-shadow:0 24px 100px #10252255}.health-display-dialog::backdrop{background:#102522b8;backdrop-filter:blur(6px)}.hd-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.hd-heading p{font-size:10px;letter-spacing:.16em;color:var(--muted);margin:0 0 10px}.hd-heading h2{font:32px var(--serif);margin:0}.health-display-dialog button{background:#e3e9dd;border:1px solid #c9d3c1;border-radius:9px;padding:10px 16px;min-height:42px}.hd-disclaimer{font-size:12px;line-height:1.7;color:var(--muted)}.hd-tabs{display:flex;gap:8px;margin:20px 0 14px}.health-display-dialog button[aria-pressed=true]{background:#2b493c;color:#f3f0e8;border-color:#2b493c}.hd-preview{width:100%;height:auto;border-radius:12px;aspect-ratio:9/4}.hd-content{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px;font-size:14px}.hd-content p{flex-basis:100%;margin:0 0 4px;line-height:1.7}.hd-feedback{min-height:20px;font-size:12px;color:#486340}.hd-reset{font-size:12px;background:transparent!important}.hd-close{flex-shrink:0}@media(max-width:640px){.health-display-dialog{width:96vw;padding:17px;border-radius:14px}.hd-heading h2{font-size:26px}.hd-tabs{gap:5px}.hd-tabs button{flex:1;padding:9px 6px;font-size:12px}.hd-content{align-items:stretch;flex-direction:column}.hd-content button{text-align:left}.hd-disclaimer{font-size:11px}.hd-preview{border-radius:6px}}
.door-marker{width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;justify-content:center;gap:0}.door-marker i{width:16px;height:16px;background:#a7bd89;border:3px solid #eef2df;animation:door-breathe 2.8s ease-in-out infinite}.door-marker:hover{background:transparent;border:0}.door-marker:hover i,.door-marker:focus-visible i{background:#d6e6b8}.door-marker[aria-pressed=true] i{background:#8eaa70}@keyframes door-breathe{0%,100%{opacity:.8;box-shadow:0 0 0 2px #8eaa7033}50%{opacity:1;box-shadow:0 0 0 5px #8eaa7015}}@media(prefers-reduced-motion:reduce){.door-marker i{animation:none}}
