/* Match display typography to its native proportions; never scale text. */
.companion-panel{position:fixed;z-index:35;right:24px;bottom:125px;width:min(340px,calc(100vw - 32px));padding:25px;background:#f7f5ef;border:1px solid #fff;border-radius:12px;box-shadow:0 12px 40px #26383030;color:#33413c;box-sizing:border-box}.companion-panel[hidden]{display:none}.companion-panel small{font-size:11px;line-height:1.6}.companion-panel h2{font-size:24px;margin:12px 0}.companion-panel p{font-size:16px;line-height:1.8;margin:12px 0 20px}.companion-close{position:absolute;right:9px;top:8px;border:0;background:transparent;font-size:24px}.companion-actions{display:flex;gap:8px;flex-wrap:wrap}.companion-actions button{padding:9px 12px;background:#405b55;color:#fff;border:0;border-radius:5px;font-size:13px;min-height:40px}#codex-voice-status{display:block;margin-top:12px}.companion-actions button:focus-visible,.companion-close:focus-visible{outline:3px solid #b99563;outline-offset:3px}@media(max-width:700px){.companion-panel{bottom:100px;right:16px;padding:19px;width:min(310px,calc(100vw - 32px))}}
#roof-toggle[aria-pressed="true"]{background:#405b55;color:#fff;border-color:#405b55}
.companion-panel{bottom:190px;max-height:calc(100dvh - 215px);overflow-y:auto}.companion-panel p{text-wrap:pretty}@media(max-width:700px){.companion-panel{bottom:120px;max-height:calc(100dvh - 145px)}}
.companion-form{display:grid;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #cdd5cb}.companion-form[hidden]{display:none}.companion-panel.message-open .companion-actions button:not([data-pet="message"]){display:none}.companion-form label{display:grid;gap:5px;font-size:12px;font-weight:600}.companion-form input,.companion-form textarea{box-sizing:border-box;width:100%;padding:9px 10px;border:1px solid #b7c2b6;border-radius:7px;background:#fffefb;color:#273932;font:inherit;font-weight:400}.companion-form textarea{resize:vertical;min-height:82px;line-height:1.5}.companion-form input:focus-visible,.companion-form textarea:focus-visible,.companion-submit:focus-visible{outline:3px solid #b99563;outline-offset:2px}.companion-form .companion-honey{position:absolute;left:-9999px;width:1px;height:1px}.companion-privacy{margin:0!important;color:#66736b;font-size:11px!important;line-height:1.5!important}.companion-panel .companion-submit{background:#325348;color:#fff;border:0;border-radius:7px;min-height:40px;cursor:pointer}.companion-panel .companion-submit:hover{background:#27463d}.companion-panel .companion-submit:disabled{opacity:.55;cursor:wait}.companion-form-status{margin:0!important;min-height:1.5em;font-size:12px!important;line-height:1.5!important}
.x-profile{display:inline-block;margin:16px 0 24px;padding:15px 22px;background:#405b55;color:#fff;border-radius:8px;text-decoration:none;font-size:20px}.x-profile:hover{background:#2e4540}
body,button,input,select,.brand,h1,h2,h3,.room-intro h1,.dialog-body h2{font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;font-stretch:normal;transform:none;letter-spacing:normal}
.brand{font-size:21px;font-weight:600;letter-spacing:1px}.brand small{font-size:11px;letter-spacing:.4px;margin-top:8px}
.room-intro{max-width:300px}.room-intro h1{font-size:27px;line-height:1.5;font-weight:500;letter-spacing:-.4px}.room-intro p{font-size:13px;line-height:1.85;max-width:275px}
.world-label{font-size:13px;line-height:1.4;font-weight:500;letter-spacing:.1px;padding:10px 16px;box-shadow:0 2px 18px #273c3220;border-color:#fff9;background:#f7f5eeeb}
.room-nav strong{font-size:13px;line-height:1.6;font-weight:500;white-space:nowrap}.room-nav span{font-size:10px;letter-spacing:1.2px}.room-nav{background:#f6f4eded;box-shadow:0 8px 30px #273c3215}
.collection-heading h2,.dialog-body h2{font-size:28px;line-height:1.5;font-weight:500}.portfolio-copy strong{font-weight:500;line-height:1.6}.environment{background:#f8f6efed}.gesture b{font-weight:500}.scene-tag{font-size:11px}
.watch-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0 16px}.watch-actions small{color:#6b756f;font-size:12px}.primary-action{border:0;border-radius:7px;padding:10px 15px;background:#405b55;color:#fff;cursor:pointer}.primary-action:hover{background:#2f4741}.dialog-body video{display:block;width:min(100%,920px);max-height:62vh;background:#111;border-radius:8px}
@media(max-width:700px){.room-intro h1{font-size:20px}.room-intro p{font-size:12px}.room-nav strong{font-size:11px}.room-nav span{font-size:8px}.brand{font-size:17px}.world-label{font-size:11px;padding:8px}}
.cinema-controls{position:fixed;left:50%;bottom:128px;transform:translateX(-50%);z-index:8;width:min(620px,calc(100vw - 32px));padding:12px 16px;background:#faf7f0ee;backdrop-filter:blur(14px);border:1px solid #fff;border-radius:12px;box-shadow:0 8px 30px #1c272b30}.cinema-controls[hidden]{display:none}.cinema-controls strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;margin-bottom:7px}.cinema-controls-row{display:flex;align-items:center;gap:9px}.cinema-controls-row button{min-height:35px;padding:5px 10px;white-space:nowrap}.cinema-controls-row input{flex:1;min-width:40px;accent-color:#325348}.cinema-controls-row span{font-size:11px;white-space:nowrap}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.contact-grid>div{background:#f1eee6;padding:16px;border-radius:10px;min-width:0}.contact-grid small{display:block;color:#686d62;margin-bottom:10px}.contact-grid a{overflow-wrap:anywhere}.contact-grid button{width:100%;overflow-wrap:anywhere;height:auto;text-align:left}.service-intro{background:#edf0e9;border-radius:12px;padding:26px 30px;margin:24px 0;max-width:850px}.service-intro h3{margin:0 0 16px;font-size:20px}.service-intro p{margin:8px 0 15px}.service-intro button{background:#325348;color:#fff}.service-lines{border-top:1px solid #c7d1c5;border-bottom:1px solid #c7d1c5;padding:12px 0;margin-bottom:20px}.service-lines p{margin:13px 0;line-height:1.75}.service-lines strong{color:#2d4b41}@media(max-width:650px){.cinema-controls{bottom:85px;padding:9px 12px}.cinema-controls-row{gap:4px}.cinema-controls-row button{font-size:11px;padding:5px}.cinema-controls-row span{font-size:9px}.contact-grid{grid-template-columns:1fr}.service-intro{padding:20px}}
.cinema-controls-row #cinema-select{background:#325348;color:#fff}body[data-cinema-watch=true] .room-intro,body[data-cinema-watch=true] .environment,body[data-cinema-watch=true] .hotspots,body[data-cinema-watch=true] .ring-map,body[data-cinema-watch=true] .gesture,body[data-cinema-watch=true] .view-controls,body[data-cinema-watch=true] .scene-tag{display:none}
.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:650px){.contact-grid{grid-template-columns:1fr}}
#environment-menu{display:none}
@media(max-width:650px){
  .room-intro{max-width:min(214px,calc(100vw - 150px));padding:12px 13px}
  .room-intro p{max-width:none}
  .environment{top:95px;right:12px;max-width:172px;padding:5px;display:flex;flex-direction:column;align-items:stretch;gap:4px}
  #environment-menu{display:block;background:#405b55;color:#fff;min-height:36px;font-size:11px;text-align:center}
  .environment:not(:has(#environment-menu[aria-expanded="true"])) label,
  .environment:not(:has(#environment-menu[aria-expanded="true"])) button:not(#environment-menu){display:none}
  .environment-open .room-intro{display:none}
  .environment-open .environment label{display:flex;font-size:11px;justify-content:space-between}
  .environment-open .environment label select{font-size:11px}
}

#loading{padding:32px 20px;background:radial-gradient(circle at 12% 15%,#edf2e8 0,#edf2e800 33%),radial-gradient(circle at 88% 85%,#d3dfd3 0,#d3dfd300 38%),#e2e8de;color:#34453e;overflow:auto}
.loading-wordmark{position:absolute;left:clamp(20px,4vw,64px);top:clamp(20px,4vw,46px);font:19px/1.2 'Songti SC','SimSun',serif;letter-spacing:.12em}
.loading-wordmark span{display:block;margin-top:7px;font:10px/1.2 'Microsoft YaHei',sans-serif;letter-spacing:.25em;color:#74877a}
.loading-card{width:min(510px,100%);margin:auto;padding:clamp(22px,4vw,38px);background:#fbfaf5;border:1px solid #fff;border-radius:20px;box-shadow:0 24px 75px #4360481f;text-align:left}
.loading-card>small{font-size:10px;letter-spacing:.22em;color:#718578}
.loading-card h2{margin:12px 0 8px;font:clamp(27px,4vw,35px)/1.25 'Songti SC','SimSun',serif;letter-spacing:.03em}
.loading-card p{max-width:36ch;margin:0 0 24px;color:#68776c;font-size:13px;line-height:1.75}
#loading-garden{display:block;position:relative;width:100%;height:clamp(190px,27vh,250px);min-height:190px;padding:0;overflow:hidden;border:1px solid #b9c9ae;border-radius:50% / 44%;background:radial-gradient(ellipse at 50% 50%,#d9e5da 0 17%,#d4cbb6 18% 22%,#e7e2d1 23% 29%,#b7cba9 30% 100%);box-shadow:inset 0 10px 35px #66806328,0 12px 24px #7f907427;touch-action:manipulation}
#loading-garden:hover{transform:none;background:radial-gradient(ellipse at 50% 50%,#d9e5da 0 17%,#d4cbb6 18% 22%,#e7e2d1 23% 29%,#b7cba9 30% 100%)}
#loading-garden:active{transform:scale(.995)}
.loading-garden-ring{position:absolute;inset:17% 23%;border:1px dashed #80947c80;border-radius:50%;transform:rotate(-13deg);pointer-events:none}
.loading-garden-tree{position:absolute;left:50%;top:48%;width:55px;height:45px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 38% 32%,#9bb690 0 18%,#628467 48%,#3d6355 100%);box-shadow:8px 13px 0 #56725a25;pointer-events:none}
.loading-garden-tree:after{content:'';position:absolute;left:26px;top:33px;width:4px;height:26px;background:#795f49;transform:rotate(-11deg);z-index:-1}
#loading-plants{position:absolute;inset:0;pointer-events:none}
.loading-plant{position:absolute;width:39px;height:43px;transform:translate(-50%,-82%);animation:loading-grow .42s cubic-bezier(.2,1.4,.4,1) both}
.loading-plant:after{content:'';position:absolute;left:7px;bottom:1px;width:26px;height:6px;border-radius:50%;background:#53694c33}
.loading-plant i{position:absolute;left:18px;bottom:4px;width:3px;height:27px;background:#54745c;transform:rotate(-4deg)}
.loading-plant b,.loading-plant em{position:absolute;width:19px;height:15px;background:#64886d;border-radius:95% 5% 90% 8%;top:4px}
.loading-plant b{left:3px;transform:rotate(18deg)}
.loading-plant em{right:2px;top:12px;transform:scaleX(-1) rotate(15deg);background:#8fad83}
.loading-plant.variant-1 b{background:#91a989}.loading-plant.variant-1 em{background:#5c806a}
.loading-plant.variant-2{scale:1.15}.loading-plant.variant-2 b{background:#668a72}
@keyframes loading-grow{from{opacity:0;transform:translate(-50%,-70%) scale(.15)}to{opacity:1;transform:translate(-50%,-82%) scale(1)}}
.loading-foot{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:17px;color:#6c7d70;font-size:11px}
#loading-message{white-space:nowrap}
#loading-message:before{content:'';display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#6b987c;vertical-align:2px;animation:loading-pulse 1.5s ease-in-out infinite}
#loading.is-ready #loading-message:before{animation:none;background:#417359}
@keyframes loading-pulse{50%{opacity:.3}}
#loading-enter{display:block;width:100%;margin-top:21px;border:0;background:#325348;color:#fff;font-size:13px}
#loading-enter[hidden]{display:none}
@media(max-width:650px){#loading{padding:80px 17px 22px}.loading-wordmark{font-size:16px}.loading-card{padding:24px;border-radius:16px}.loading-card p{font-size:12px;margin-bottom:18px}#loading-garden{height:210px}.loading-foot{font-size:10px}}
@media(max-height:700px){#loading{justify-content:flex-start}.loading-card{margin:auto}}
@media(prefers-reduced-motion:reduce){.loading-plant,#loading-message:before{animation:none!important}}

