:root{color-scheme:dark;--ink:#fff7ea;font-family:Inter,"Segoe UI",sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#08090d;color:var(--ink)}button,a,input{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #ffe4a5;outline-offset:4px}[hidden]{display:none!important}
.market,.market-scene{position:relative;width:100%;height:100svh;overflow:hidden}.camera-plane{position:absolute;left:0;top:0;width:1672px;height:941px;transform-origin:0 0;will-change:transform}.market-art{display:block;width:100%;height:100%;object-fit:cover}.pavilion-hotspot{position:absolute;left:10%;top:20%;width:42%;height:61%;padding:0;margin:0;border:0;border-radius:0;background:transparent;color:transparent}.pavilion-hotspot:focus-visible{outline:2px solid #ffd59c;outline-offset:0}.pavilion-hotspot:disabled{cursor:default}
.guide-options{position:absolute;left:64%;top:78%;transform:translate(-50%,-50%);display:flex;gap:8px;white-space:nowrap}.guide-options button{min-height:38px;padding:0 17px;border:1px solid #ffe4b65e;border-radius:22px;background:#161a25b8;backdrop-filter:blur(10px);box-shadow:0 3px 16px #0003;color:#fff3df;font-size:12px;font-weight:500;transition:background .18s,border-color .18s}.guide-options button:hover{background:#40352bdd;border-color:#ffd697}.guide-options button:first-child{background:#ead0a8e8;color:#302820;border-color:#f6dfbb}.guide-options button:first-child:hover{background:#ffe0ad}
.flight{position:fixed;inset:0;z-index:5;background:#08090d;overflow:hidden;touch-action:auto}.flight video{touch-action:none;display:block;width:100%;height:100%;object-fit:cover;background:#08090d}.flight-drawer{position:absolute;left:3%;right:3%;bottom:0;transform:translateY(100%);transition:transform .35s cubic-bezier(.22,.8,.3,1),opacity .3s}.flight-drawer.is-open{transform:translateY(0)}.drawer-toggle{position:absolute;bottom:calc(100% + 8px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);width:44px;height:28px;display:grid;place-items:center;padding:0;border:1px solid #ffffff45;border-radius:20px;background:#151a2580;color:#fff4df;backdrop-filter:blur(8px)}.drawer-toggle:hover{background:#282634cc}.drawer-toggle svg{width:17px;height:11px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}.is-open .drawer-toggle svg{transform:rotate(180deg)}.flight-console{max-height:calc(100svh - 70px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;position:relative;margin-bottom:calc(18px + env(safe-area-inset-bottom,0px));padding:17px 22px 14px;border-radius:15px;border:1px solid #fff3;background:#11121cdd;backdrop-filter:blur(16px);box-shadow:0 10px 50px #0005}.console-top{display:flex;gap:18px;align-items:center;margin-bottom:16px}.chapter-label{display:flex;gap:13px;align-items:baseline;margin-right:auto}.chapter-label>span{font-size:9px;letter-spacing:1.4px;color:#ecbb81}.chapter-label strong{font-size:17px;letter-spacing:-.3px;font-weight:500}.mode-switch{display:flex;background:#080a1080;border:1px solid #fff2;border-radius:7px;padding:3px;gap:3px}.mode-switch button{min-height:34px;border:0;border-radius:4px;padding:0 13px;background:transparent;color:#d8cabc;font-size:11px}.mode-switch button[aria-pressed=true]{background:#eac18c;color:#2a211c}.glass-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 13px;border:1px solid #ffffff36;background:#101117a8;border-radius:8px;color:#fff5e9;font-size:11px}.glass-button:hover{background:#382d28}.progress-label{display:flex;align-items:baseline;gap:10px;justify-content:space-between;color:#ddd0c2;font-size:10px}.progress-label #time{font-variant-numeric:tabular-nums;color:#ffcc91;white-space:nowrap}#progress{display:block;width:100%;height:22px;accent-color:#edb773;cursor:ew-resize;margin:8px 0 5px}.console-bottom{display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1.2px;color:#bead9c}.flight-actions{display:flex;gap:8px;letter-spacing:normal}.loading-message{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);padding:16px 24px;border:1px solid #ffffff40;border-radius:40px;background:#121320da;box-shadow:0 0 50px #0006;font-size:13px;white-space:nowrap}.loading-message span{display:inline-block;width:6px;height:6px;margin-left:12px;border-radius:50%;background:#ffc68c}.media-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#141320dd;gap:12px}.media-error h2{font-size:28px;font-weight:500}.primary-link{padding:14px 23px;border-radius:8px;background:#efc48c;color:#292018}.flight.arriving .flight-drawer{opacity:0;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-aspect-ratio:6/5){.guide-options{left:50%;top:auto;bottom:14%;transform:translateX(-50%)}.guide-options button{min-height:44px;padding:0 15px}.flight video{object-position:46% center}}
@media(max-width:640px){.flight-drawer{left:4%;right:4%}.flight-console{padding:15px}.console-top{gap:9px;flex-wrap:wrap;margin-bottom:14px}.chapter-label{width:100%;margin-bottom:3px}.chapter-label strong{font-size:16px}.mode-switch{margin-right:auto}.progress-label{font-size:9px;line-height:1.5;align-items:flex-end}.progress-label #hint{max-width:66%}.console-bottom{gap:10px;flex-wrap:wrap;font-size:7px}.flight-actions{margin-left:auto}.glass-button{min-height:40px}.media-error h2{font-size:23px}.drawer-toggle{height:32px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Approved 2026-10-13: electric material; preserve the guide controls' compact layout. */
.guide-options .water-button,
.guide-options .water-button:first-child,
.guide-options .water-button:hover,
.guide-options .water-button:first-child:hover{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;border-color:transparent;border-radius:9px;background:transparent;backdrop-filter:none;box-shadow:none;color:#e6f4ff;user-select:none;transition:transform .16s}
.guide-options .water-button .water-surface{position:absolute;inset:-1px;z-index:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#0d1831,#101c3c 40%,#16204d);border:1px solid #83baff;box-shadow:inset 0 0 15px #4468dd80,0 0 15px #427fff4d,0 4px 0 #0b1028;transition:filter .2s,box-shadow .2s}
.guide-options .water-button .water-surface:after{content:"";position:absolute;inset:4px;border:1px solid #6480b847;border-radius:5px}
.guide-options .water-button canvas{position:absolute;left:-30px;top:-30px;width:calc(100% + 60px);height:calc(100% + 60px);z-index:1;pointer-events:none}
.guide-options .water-button .water-caption{position:relative;z-index:2;pointer-events:none;text-shadow:0 1px 6px #00132aa8;letter-spacing:.15px}
.guide-options .water-button:hover .water-surface,.guide-options .water-button:focus-visible .water-surface{filter:brightness(1.12)}
.guide-options .water-button:active{transform:translateY(1px) scale(.98)}
@media(prefers-reduced-motion:reduce){.guide-options .water-button:active{transform:none}}/* A registered limb sprite: only the old raised arm is covered by the clean plate. */
.guide-clean-plate{position:absolute;inset:0;display:block;width:1672px;height:941px;opacity:0;pointer-events:none;clip-path:polygon(375px 539px,414px 540px,433px 505px,464px 505px,465px 544px,444px 566px,439px 615px,397px 616px,377px 590px)}
.guide-arm{position:absolute;left:0;top:0;width:1230px;height:1278px;max-width:none;transform-origin:0 0;pointer-events:none;z-index:4;will-change:transform,opacity;filter:drop-shadow(1px 3px 3px #29102c44)}
.guide-options{z-index:3}
.guide-options .water-button.auto-press{transform:translateY(2px) scale(.96)}
.guide-options .water-button.auto-press .water-surface{filter:brightness(1.5);box-shadow:inset 0 0 18px #648cffb3,0 0 22px #79b3ffcc}
.guide-options .water-button.auto-press:after{content:"";position:absolute;inset:-5px;border:1px solid #b2f8ff;border-radius:inherit;animation:guide-tap-ripple .38s ease-out forwards;pointer-events:none}
@keyframes guide-tap-ripple{from{transform:scale(.85);opacity:1}to{transform:scale(1.24);opacity:0}}
@media(prefers-reduced-motion:reduce){.guide-arm{display:none}.guide-options .water-button.auto-press:after{animation:none}}

/* Anchor the first control near the guide's natural fingertip, preserving limb proportions. */
.guide-options{bottom:auto;transform:none}
@media(max-aspect-ratio:6/5){.guide-options{bottom:auto;transform:none;flex-direction:column;align-items:stretch}}

.nojs-fallback{position:fixed;inset:auto 16px 20px;z-index:20;margin:auto;max-width:650px;padding:22px;border-radius:16px;background:#132139ed;color:#fff4df;text-align:center}.nojs-fallback h1{font-size:24px}.nojs-fallback nav{display:flex;justify-content:center;flex-wrap:wrap;gap:16px}.nojs-fallback a{text-decoration:underline;font-size:15px}.nojs-fallback p{font-size:14px;line-height:1.5}
