:root{color-scheme:dark;--ink:#071b2b;--deep:#071320;--white:#f9fbff;--muted:#c5d2df;--soft:rgba(241,247,255,.73);--orange:#ff765e;--line:rgba(226,240,255,.19);--blue:#64caff;--bg:rgba(4,15,27,.84);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#071320;color:var(--white)}body{overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #85d6ff;outline-offset:4px}button:disabled{cursor:not-allowed}h1,h2,p{margin:0}.app{height:100dvh;min-height:540px;position:relative;isolation:isolate;overflow:hidden}.stage{position:absolute;inset:0;z-index:0;overflow:hidden;background:#101d2a}.stage-image{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.002);transition:transform 1800ms cubic-bezier(.2,.65,.2,1),filter 1300ms ease;user-select:none;pointer-events:none}.app[data-scene="lobby"] .stage-image{filter:saturate(.95)}.app[data-scene="03"] .stage-image{filter:saturate(.96)}.stage-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,13,26,.63) 0%,rgba(1,14,28,.22) 32%,transparent 65%),linear-gradient(0deg,rgba(0,12,27,.94) 0%,rgba(1,16,35,.53) 17%,transparent 46%),linear-gradient(180deg,rgba(0,12,28,.56) 0%,transparent 27%);pointer-events:none}.app[data-scene="lobby"] .stage-shade{background:linear-gradient(0deg,rgba(0,9,20,.93) 0%,rgba(0,11,25,.34) 22%,transparent 48%),linear-gradient(180deg,rgba(0,11,25,.49),transparent 23%)}.app[data-scene]:not([data-scene="exterior"]):not([data-scene="lobby"]) .stage-shade{background:linear-gradient(90deg,rgba(2,14,30,.47) 0%,transparent 60%),linear-gradient(0deg,rgba(0,9,24,.91) 0%,rgba(0,9,24,.23) 30%,transparent 54%),linear-gradient(180deg,rgba(0,10,29,.5),transparent 23%)}
.topbar{position:absolute;z-index:30;top:0;left:0;right:0;height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4.5vw,76px);border-bottom:1px solid rgba(247,253,255,.17);background:linear-gradient(180deg,rgba(4,17,32,.64),rgba(5,19,34,.2));backdrop-filter:blur(8px)}.brand{min-width:275px;border:0;background:none;color:#fff;display:flex;align-items:center;text-align:left;padding:0;gap:15px}.brand-logo{height:59px;width:69px;display:grid;place-items:center;border-right:1px solid rgba(255,255,255,.23);padding-right:12px}.brand-logo img{max-width:57px;max-height:48px;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 16px rgba(254,255,255,.18))}.brand-type{display:grid;gap:5px;letter-spacing:.02em}.brand-type strong{font-size:21px;font-weight:730;white-space:nowrap;letter-spacing:.025em}.brand-type small{font-size:10px;letter-spacing:.14em;color:#c3d2df;white-space:nowrap}.header-nav{height:100%;display:flex;align-items:center;gap:34px;margin-left:-7vw}.header-link{height:100%;border:0;background:none;color:rgba(242,248,255,.72);font-size:13px;letter-spacing:.05em;position:relative;white-space:nowrap}.header-link.selected,.header-link:hover{color:#fff}.header-dot{position:absolute;bottom:-1px;left:50%;width:26px;height:2px;transform:translateX(-50%);background:var(--orange);box-shadow:0 0 12px rgba(255,118,94,.7)}.top-actions{display:flex;align-items:center;gap:10px}.concept-mark{font-size:9px;letter-spacing:.14em;border:1px solid rgba(196,225,239,.3);background:rgba(7,29,43,.34);color:#d4e5f2;border-radius:999px;padding:10px 13px;white-space:nowrap}.concept-mark>span{display:inline-block;width:5px;height:5px;border-radius:50%;background:#7ae7dd;margin-right:7px;box-shadow:0 0 8px rgba(122,231,221,.9)}.top-icon{width:34px;height:34px;border:1px solid transparent;background:transparent;border-radius:8px;color:white;display:grid;place-items:center}.top-icon:hover,.top-icon.active{border-color:rgba(247,251,255,.2);background:rgba(255,255,255,.09)}.top-icon svg{width:21px;height:21px}.menu-button{height:37px;padding:0 15px;border:1px solid rgba(233,246,255,.48);background:rgba(8,28,45,.38);border-radius:7px;color:#fff;font-size:12px;display:flex;align-items:center;gap:15px}.menu-button:hover{background:rgba(255,255,255,.14)}.menu-bars{font-size:19px;line-height:1}
.scene-index{position:absolute;z-index:8;left:clamp(16px,2vw,34px);top:42%;display:flex;align-items:center;gap:6px;writing-mode:vertical-rl;color:#e3f1f9;font-size:15px}.scene-index .vertical-rule{display:block;height:60px;width:1px;background:linear-gradient(180deg,#ff826b,transparent);margin-bottom:9px}.scene-index>span:not(.vertical-rule){font-variant-numeric:tabular-nums}.scene-index small{color:#b2c5d5;font-size:10px}.scene-index em{font-style:normal;letter-spacing:.25em;font-size:10px;color:rgba(238,247,255,.5);margin-top:12px}.hero-info{position:absolute;z-index:15;bottom:clamp(108px,17vh,180px);left:clamp(28px,8.3vw,150px);width:min(560px,49vw);text-shadow:0 2px 18px rgba(0,10,19,.38)}.hero-eyebrow{display:flex;align-items:center;gap:14px;color:#d7ecf7;font-size:11px;letter-spacing:.2em;font-weight:650}.hero-line{width:23px;height:2px;background:var(--orange);box-shadow:0 0 8px var(--orange)}.hero-info h1{font-size:clamp(33px,3.85vw,65px);line-height:1.23;font-weight:660;letter-spacing:-.044em;margin:17px 0 15px}.hero-info h1 em{font-style:normal;color:#fff}.hero-info p{max-width:490px;color:#e1eaf0;font-size:clamp(12px,1vw,15px);line-height:1.9;text-shadow:0 1px 12px #071626}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:25px}.cta{border-radius:7px;min-height:49px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:24px;font-size:13px;font-weight:650;transition:background .18s,transform .18s,border-color .18s;text-shadow:none}.cta:hover{transform:translateY(-2px)}.cta.primary{color:#101e2d;background:#fff;border:1px solid #fff;box-shadow:0 7px 35px rgba(0,12,29,.16)}.cta.primary:hover{background:#dceeff;border-color:#dceeff}.cta.secondary{color:#f9fcff;background:rgba(7,20,35,.3);border:1px solid rgba(241,250,255,.43);backdrop-filter:blur(6px)}.cta.secondary:hover{background:rgba(255,255,255,.18)}.cta .arr{font-size:19px;font-weight:400}.hero-aux{margin-top:28px;color:rgba(224,240,255,.57);font-size:9px;letter-spacing:.2em}.app[data-scene="lobby"] .hero-info{bottom:108px;left:clamp(28px,5vw,85px);width:min(620px,60vw)}.app[data-scene="lobby"] .hero-info h1{font-size:clamp(26px,2.8vw,46px);margin-top:12px;margin-bottom:9px}.app[data-scene="lobby"] .hero-info p{font-size:12px}.app[data-scene="lobby"] .hero-actions{margin-top:15px}.app[data-scene="lobby"] .hero-aux{display:none}.app[data-scene]:not([data-scene="exterior"]):not([data-scene="lobby"]) .hero-info{bottom:106px;width:min(670px,56vw)}.app[data-scene]:not([data-scene="exterior"]):not([data-scene="lobby"]) .hero-info h1{font-size:clamp(31px,3.4vw,52px);margin-top:14px;margin-bottom:10px}.app[data-scene]:not([data-scene="exterior"]):not([data-scene="lobby"]) .hero-info p{font-size:13px}.app[data-scene]:not([data-scene="exterior"]):not([data-scene="lobby"]) .hero-actions{margin-top:18px}.app[data-scene]:not([data-scene="exterior"]):not([data-scene="lobby"]) .hero-aux{margin-top:14px}
.focus-hint{position:absolute;z-index:15;right:clamp(28px,5vw,90px);bottom:clamp(110px,15vh,180px);display:flex;align-items:center;gap:12px;font-size:11px;color:rgba(244,253,255,.88);letter-spacing:.045em;text-shadow:0 1px 16px #061320}.focus-flare{width:7px;height:7px;background:#ff9b85;border-radius:50%;box-shadow:0 0 0 5px rgba(255,115,89,.16),0 0 14px rgba(255,93,68,.95);animation:flare 2.5s ease-in-out infinite}@keyframes flare{50%{box-shadow:0 0 0 11px rgba(255,115,89,0),0 0 15px rgba(255,93,68,.95)}}.app[data-scene="lobby"] .focus-hint{right:37px;bottom:109px}.app[data-scene]:not([data-scene="exterior"]):not([data-scene="lobby"]) .focus-hint{right:48px;bottom:116px}
.bottom-bar{height:66px;position:absolute;bottom:0;left:0;right:0;z-index:22;border-top:1px solid rgba(221,238,251,.19);background:rgba(1,13,29,.71);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(25px,4.3vw,77px);gap:20px}.crumbs{font-size:11px;color:rgba(232,245,255,.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crumbs span{margin:0 9px;color:rgba(232,245,255,.4)}.crumbs strong{color:#fff;font-weight:520}.journey-progress{display:flex;align-items:center;gap:11px}.progress-node{font-size:10px;letter-spacing:.05em;white-space:nowrap;color:rgba(218,237,248,.45)}.progress-node.passed{color:rgba(238,249,255,.65)}.progress-node.active{color:#fff;font-weight:650}.progress-node.active:before{content:"";display:inline-block;width:5px;height:5px;margin-right:8px;background:#ff866b;border-radius:50%;box-shadow:0 0 8px #ff866b}.progress-join{width:20px;height:1px;background:rgba(210,235,245,.28)}.footer-controls{display:flex;align-items:center;gap:10px}.keyboard-hint{font-size:10px;color:rgba(237,247,255,.59);white-space:nowrap}.footer-controls button{border:0;background:rgba(255,255,255,.12);border-radius:5px;color:#fff;font-size:11px;padding:10px 14px}.footer-controls button:hover{background:rgba(255,255,255,.22)}
.hotspot-layer{position:absolute;inset:0;z-index:10}.hotspot{position:absolute;transform:translate(-50%,-50%);background:transparent;color:#fff;border:none;padding:0;width:48px;height:48px;display:grid;place-items:center;pointer-events:auto}.hotspot-circle{width:43px;height:43px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.95);border-radius:50%;background:rgba(10,30,50,.72);box-shadow:0 0 0 7px rgba(8,30,56,.24),0 0 23px rgba(13,92,175,.6);font-size:13px;font-weight:700;transition:transform .25s,background .25s,box-shadow .25s;backdrop-filter:blur(8px)}.hotspot:hover .hotspot-circle,.hotspot:focus-visible .hotspot-circle{background:#145c8c;transform:scale(1.13);box-shadow:0 0 0 8px rgba(12,112,190,.2),0 0 40px rgba(54,176,245,.7)}.hotspot[data-tone="red"] .hotspot-circle{box-shadow:0 0 0 7px rgba(80,15,28,.2),0 0 22px rgba(243,72,64,.54)}.hotspot[data-tone="violet"] .hotspot-circle{box-shadow:0 0 0 7px rgba(85,50,135,.22),0 0 24px rgba(176,132,255,.68)}.hotspot.is-sample .hotspot-circle{border-color:#b7f3ff}.hotspot-caption{position:absolute;left:50%;bottom:calc(100% + 16px);transform:translateX(-50%) translateY(8px);opacity:0;pointer-events:none;display:grid;gap:5px;min-width:192px;border:1px solid rgba(230,248,255,.4);border-radius:7px;padding:12px 13px;background:rgba(6,23,40,.9);backdrop-filter:blur(14px);text-align:left;transition:opacity .2s,transform .2s;box-shadow:0 8px 35px rgba(0,14,34,.25)}.hotspot:hover .hotspot-caption,.hotspot:focus-visible .hotspot-caption{opacity:1;transform:translateX(-50%) translateY(0)}.hotspot-caption small{color:#7bd6ff;font-size:9px;letter-spacing:.13em}.hotspot-caption strong{color:#fff;font-size:13px;white-space:nowrap}.hotspot.is-right .hotspot-caption{left:auto;right:0;transform:translateY(8px)}.hotspot.is-right:hover .hotspot-caption,.hotspot.is-right:focus-visible .hotspot-caption{transform:translateY(0)}.hotspot-room .hotspot-circle{width:54px;height:54px;font-size:21px;background:rgba(3,21,42,.86)}.hotspot-exterior .hotspot-circle{width:64px;height:64px;font-size:24px;background:rgba(14,40,56,.82);border-color:#fff}.app[data-scene="lobby"] .hotspot:nth-child(n+5) .hotspot-caption{bottom:auto;top:calc(100% + 10px)}
.room-filmstrip{position:absolute;right:5.2vw;bottom:169px;z-index:15;display:flex;gap:8px}.room-filmstrip img{width:92px;height:54px;object-fit:cover;border:1px solid rgba(255,255,255,.5);border-radius:4px}.room-filmstrip small{font-size:10px}
.drawer,.modal{position:fixed;inset:0;z-index:60;pointer-events:none;visibility:hidden}.drawer.open,.modal.open{pointer-events:auto;visibility:visible}.drawer-scrim,.modal-scrim{position:absolute;inset:0;background:rgba(0,9,19,.55);opacity:0;transition:opacity .25s;backdrop-filter:blur(4px)}.drawer.open .drawer-scrim,.modal.open .modal-scrim{opacity:1}.drawer-sheet{position:absolute;top:0;right:0;bottom:0;width:min(515px,100%);background:linear-gradient(150deg,#102b41,#06192a 55%);border-left:1px solid rgba(205,233,250,.22);padding:32px 34px 22px;transform:translateX(104%);transition:transform .38s cubic-bezier(.22,.8,.25,1);overflow:auto;scrollbar-width:thin}.drawer.open .drawer-sheet{transform:translateX(0)}.drawer-heading{display:flex;justify-content:space-between;gap:14px}.label-orange{font-size:10px;color:#ff9981;letter-spacing:.19em;font-weight:720}.drawer-heading h2{font-size:30px;letter-spacing:-.025em;margin:10px 0 6px}.drawer-heading p{color:#adbecb;font-size:12px;line-height:1.8}.circle-close{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid rgba(208,233,250,.3);background:rgba(255,255,255,.06);color:#fff;font-size:26px;display:grid;place-items:center;line-height:1}.circle-close:hover{background:rgba(255,255,255,.2)}.drawer-overline{margin:32px 0 10px;padding:0 5px;display:flex;justify-content:space-between;color:#688da8;font-size:9px;letter-spacing:.12em}.room-list{display:grid;gap:8px}.room-item{display:flex;align-items:center;text-align:left;gap:14px;width:100%;min-height:75px;border-radius:9px;padding:7px;background:rgba(255,255,255,.026);border:1px solid rgba(178,222,255,.12);color:#fff;transition:background .2s,border-color .2s}.room-item:hover,.room-item.active{background:rgba(41,106,149,.24);border-color:rgba(158,219,255,.55)}.room-thumb{width:93px;height:57px;object-fit:cover;border-radius:5px;flex:none}.room-item-copy{flex:1;min-width:0;display:grid;gap:5px}.room-item-copy small{color:#85b4d3;font-size:9px;letter-spacing:.11em}.room-item-copy strong{font-size:14px}.room-item-arrow{font-size:17px;color:#8ebcd2;margin-right:7px}.film-badge{display:inline-block;font-size:9px;letter-spacing:.07em;background:rgba(30,114,163,.29);color:#9edfff;padding:3px 6px;border-radius:3px;border:1px solid rgba(99,198,242,.25)}.film-badge.v1{background:rgba(255,255,255,.065);color:#97b3c2;border-color:rgba(233,247,255,.1)}.drawer-bottom{display:flex;gap:10px;margin-top:18px}.drawer-bottom button{background:rgba(255,255,255,.07);border:1px solid rgba(218,243,255,.17);color:#fff;border-radius:6px;padding:12px 11px;flex:1;font-size:12px}.drawer-bottom button:first-child{background:#fff;color:#113147;font-weight:650}.drawer-bottom button span{margin-left:4px}.drawer-notice{font-size:10px;line-height:1.8;color:#95b0c4;margin-top:18px}.modal-sheet{width:min(620px,calc(100% - 28px));max-height:min(80vh,900px);overflow:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-44%) scale(.97);opacity:0;background:linear-gradient(145deg,#17344a,#071725 80%);border:1px solid rgba(218,239,250,.26);border-radius:17px;box-shadow:0 25px 70px rgba(0,0,0,.5);padding:36px 37px;transition:opacity .24s,transform .24s}.modal.open .modal-sheet{opacity:1;transform:translate(-50%,-50%) scale(1)}.modal-sheet>.circle-close{position:absolute;right:22px;top:20px}.modal-sheet h2{font-size:29px;margin:10px 0 18px}.modal-lede{color:#b6cbda;font-size:13px;line-height:1.9}.platform-wait{padding:20px;margin:21px 0 13px;border:1px solid rgba(105,190,226,.25);border-radius:10px;background:rgba(105,190,226,.065)}.platform-wait strong{display:block;font-size:17px;margin-bottom:7px}.platform-wait p{font-size:12px;color:#9cb8ca;line-height:1.8}.config-fields{display:grid;gap:9px;margin:19px 0}.config-row{display:grid;grid-template-columns:175px 1fr;gap:15px;align-items:center}.config-row label{font-size:12px;color:#d2e6f4;white-space:nowrap}.config-row input{min-width:0;width:100%;padding:11px 12px;border-radius:7px;background:rgba(1,15,29,.56);border:1px solid rgba(211,241,255,.2);color:#fff;font-size:11px}.config-row input::placeholder{color:#6f889c}.config-footnote{font-size:11px;color:#99b2c5;line-height:1.8}.modal-actions{display:flex;gap:12px;margin-top:22px}.modal-actions button{padding:12px 20px;border-radius:7px;border:1px solid rgba(205,241,255,.28);background:rgba(255,255,255,.06);color:#fff;font-size:12px}.modal-actions .modal-primary{background:#fff;color:#123044;border-color:#fff;font-weight:700}
.travel{position:fixed;inset:0;z-index:90;pointer-events:none;visibility:hidden;opacity:0;background:#061323;transition:opacity .24s}.travel.open{pointer-events:auto;visibility:visible;opacity:1}.travel>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#071321}.travel-fallback{display:none;position:absolute;inset:0;overflow:hidden;background:#041321}.travel.fallback .travel-fallback{display:block}.travel.fallback video{display:none}.fallback-from,.fallback-to{position:absolute;inset:-2%;background-size:cover;background-position:center}.fallback-from{animation:fallbackDolly 1.5s ease-in both}.fallback-to{opacity:0;animation:fallbackArrive 1.5s ease-in-out both}.travel.is-fast .fallback-from{animation-duration:.55s}.travel.is-fast .fallback-to{animation-duration:.55s}@keyframes fallbackDolly{0%{transform:scale(1)}70%{transform:scale(1.21);opacity:1}100%{transform:scale(1.35);opacity:0}}@keyframes fallbackArrive{0%,42%{opacity:0;transform:scale(1.12)}100%{opacity:1;transform:scale(1)}}.travel-veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,15,31,.6),transparent 20%,transparent 61%,rgba(0,8,22,.67) 100%),radial-gradient(ellipse at center,transparent 55%,rgba(1,10,22,.14))}.travel-head{position:absolute;top:33px;left:clamp(30px,5vw,80px);right:clamp(30px,5vw,80px);display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:.18em;color:rgba(239,250,255,.9);text-shadow:0 1px 12px #000}.travel-head>span:last-child{margin-left:auto;color:#98dafe}.film-light{width:6px;height:6px;border-radius:50%;background:#80decb;box-shadow:0 0 10px #80decb}.travel-reticle{position:absolute;left:50%;top:50%;width:45px;height:45px;transform:translate(-50%,-50%);opacity:.42}.travel-reticle span{position:absolute;width:9px;height:9px;border-color:#dcf7ff;border-style:solid}.travel-reticle span:nth-child(1){top:0;left:0;border-width:1px 0 0 1px}.travel-reticle span:nth-child(2){top:0;right:0;border-width:1px 1px 0 0}.travel-reticle span:nth-child(3){bottom:0;left:0;border-width:0 0 1px 1px}.travel-reticle span:nth-child(4){bottom:0;right:0;border-width:0 1px 1px 0}.travel-foot{position:absolute;bottom:clamp(32px,8vh,74px);left:clamp(30px,6vw,100px);width:min(590px,80vw)}.travel-label{font-size:10px;letter-spacing:.17em;color:#9edaff}.travel-foot h2{font-size:clamp(26px,3vw,47px);font-weight:620;letter-spacing:-.025em;margin:10px 0 23px;text-shadow:0 2px 18px #000}.travel-progress{height:2px;background:rgba(238,253,255,.25);overflow:hidden}.travel-progress span{display:block;height:100%;width:0;background:#7fd9ff;box-shadow:0 0 13px #7fd9ff}.travel-footline{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#d5eafa}.travel-footline button{background:transparent;border:1px solid rgba(225,249,255,.41);border-radius:5px;padding:9px 15px;color:#fff;font-size:11px}.travel-footline button:hover{background:rgba(255,255,255,.2)}.toast{position:fixed;z-index:105;left:50%;top:95px;transform:translate(-50%,-15px);border:1px solid rgba(195,233,248,.34);background:rgba(7,25,41,.93);color:white;padding:13px 18px;border-radius:8px;font-size:12px;line-height:1.6;max-width:min(470px,90vw);text-align:center;pointer-events:none;opacity:0;transition:opacity .25s,transform .25s;box-shadow:0 10px 35px rgba(0,0,0,.22)}.toast.show{opacity:1;transform:translate(-50%,0)}.app.moving .hero-info,.app.moving .focus-hint,.app.moving .hotspot-layer{pointer-events:none}.app.moving .hero-info{opacity:.3}



@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}


.app.moving .hotspot,.app.moving .cta,.app.moving .room-item{pointer-events:none!important}

.travel-head .travel-logo{width:38px;height:36px;object-fit:contain;margin-right:7px;filter:drop-shadow(0 0 8px rgba(255,255,255,.32))}


.stage-image { image-rendering:auto; transform:none; filter:none !important; backface-visibility:hidden; }
.stage-shade { background:linear-gradient(90deg,rgba(0,13,26,.45) 0%,rgba(1,14,28,.10) 39%,transparent 70%),linear-gradient(0deg,rgba(0,12,27,.76) 0%,rgba(1,16,35,.28) 21%,transparent 47%),linear-gradient(180deg,rgba(0,12,28,.36) 0%,transparent 25%); }
.app[data-scene="lobby"] .stage-shade {background:linear-gradient(0deg,rgba(0,9,20,.8) 0%,rgba(0,11,25,.19) 20%,transparent 44%),linear-gradient(180deg,rgba(0,11,25,.32),transparent 23%)}
.app[data-scene]:not([data-scene="exterior"]):not([data-scene="lobby"]) .stage-shade {background:linear-gradient(90deg,rgba(2,14,30,.30) 0%,transparent 60%),linear-gradient(0deg,rgba(0,9,24,.78) 0%,rgba(0,9,24,.15) 27%,transparent 52%),linear-gradient(180deg,rgba(0,10,29,.32),transparent 23%)}


/* Desktop interface */
.app{width:100vw;height:100dvh;min-width:0;min-height:0}
[hidden]{display:none!important}a{color:inherit;text-decoration:none}
.brand-type strong{font-size:20px}.brand-type small{font-size:9px;letter-spacing:.12em}
.header-nav{margin-left:0}.topbar{padding-inline:clamp(20px,3.6vw,64px)}
.hero-info,.app[data-scene="lobby"] .hero-info,.app[data-scene]:not([data-scene="exterior"]):not([data-scene="lobby"]) .hero-info{left:clamp(24px,5vw,90px);bottom:102px;width:min(680px,70vw)}
.hero-info h1,.app[data-scene="lobby"] .hero-info h1,.app[data-scene]:not([data-scene="exterior"]):not([data-scene="lobby"]) .hero-info h1{font-size:clamp(30px,3.2vw,54px);margin:10px 0 14px}
.hero-eyebrow{font-size:10px;letter-spacing:.15em}.hero-actions{margin-top:16px}
.app[data-scene="lobby"] .hero-info h1{font-size:32px}.app[data-scene="lobby"] .hero-info{width:auto}
.bottom-bar{height:64px}.cta{min-height:46px}.header-link{font-size:13px}
.hotspot-layer{pointer-events:none}.hotspot{pointer-events:auto}
.building-target{position:absolute;border:0;background:transparent;padding:0;pointer-events:auto;cursor:pointer;border-radius:5px}
.building-target:focus-visible{outline:2px solid #fff;outline-offset:0;background:rgba(255,255,255,.06)}
.hotspot-caption{min-width:max-content;padding:10px 12px;gap:0}.hotspot-caption strong{font-size:12px}
.hotspot-door .hotspot-caption{opacity:1;transform:translateX(-50%);bottom:calc(100% + 12px)}
.hotspot-door.is-right .hotspot-caption{right:auto;left:50%;transform:translateX(-50%)}
.hotspot-door:hover .hotspot-caption{transform:translateX(-50%) translateY(-3px)}
.hotspot-circle{width:40px;height:40px;font-size:12px}
.drawer-sheet{padding-top:30px}.drawer-heading h2{font-size:27px;margin:0 0 22px}
.room-list{gap:9px}.room-item{min-height:76px}.room-item-copy small{font-size:9px}
.drawer-bottom{margin-top:20px}.drawer-bottom button{min-height:44px}
.travel{transition:opacity .3s;background:#000}.travel>video{object-fit:cover;object-position:center;background:#071320}
.travel-veil{background:linear-gradient(0deg,rgba(0,0,0,.34),transparent 18%,transparent 85%,rgba(0,0,0,.1));}
.travel-controls{position:absolute;right:clamp(20px,4vw,64px);top:24px;display:flex;gap:10px}
.travel-controls button{border:1px solid rgba(255,255,255,.45);border-radius:7px;padding:10px 15px;background:rgba(2,17,30,.56);color:#fff;font-size:12px;backdrop-filter:blur(10px);min-height:42px}
.travel-progress{position:absolute;left:clamp(20px,4vw,64px);right:clamp(20px,4vw,64px);bottom:28px}
.travel-progress span{transition:width .12s linear}.travel-recovery{position:absolute;inset:0;display:grid;place-items:center}
.travel-recovery button{padding:15px 24px;border:1px solid #fff;border-radius:8px;background:#fff;color:#102232;font-size:15px}
.travel.fallback>video{display:none}.toast{top:100px}

@media(max-height:600px) and (min-width:761px){.topbar{height:68px}.brand-logo{height:42px}.hero-info,.app[data-scene="lobby"] .hero-info,.app[data-scene]:not([data-scene="exterior"]):not([data-scene="lobby"]) .hero-info{bottom:78px}.hero-info h1{font-size:30px!important;margin:7px 0}.hero-actions{margin-top:9px}.cta{min-height:38px}.bottom-bar{height:52px}.hotspot-door .hotspot-caption{display:none}}

.app.entry-starting .topbar,.app.entry-starting .hero-info,.app.entry-starting .bottom-bar,.app.entry-starting .hotspot-layer{visibility:hidden}
