:root{color-scheme:light;--paper:#f4f0e8;--ink:#3f4035;--muted:#8b887c;--line:rgba(92,80,62,.14);--olive:#62664d;--olive-dark:#454a37;--glass:rgba(248,246,239,.89);--shadow:0 10px 44px rgba(63,51,34,.08);font-family:Inter,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none;font-size:14px}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:#e8e2d6;color:var(--ink);-webkit-font-smoothing:antialiased}button,select,a{-webkit-tap-highlight-color:transparent}button,select{font:inherit;color:inherit}button{border:0;cursor:pointer}button:disabled{cursor:wait;opacity:.45}button:not(:disabled),a,select{touch-action:manipulation}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #a9a17b;outline-offset:4px}button{transition:background .2s,color .2s,box-shadow .2s,opacity .2s,transform .2s}button:not(:disabled):active{transform:translateY(1px)}[hidden]{display:none!important}.icon-library{width:0;height:0;position:absolute;overflow:hidden}.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}#canvas-container{position:fixed;inset:0;outline:none}#canvas-container canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}.scene-vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(42,35,25,.045),transparent 22%,transparent 78%,rgba(57,44,28,.055))}
.topbar{position:fixed;z-index:10;top:22px;left:28px;right:28px;height:66px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);pointer-events:auto;padding:10px 16px 10px 11px;background:var(--glass);border:1px solid rgba(255,255,255,.7);border-radius:17px;backdrop-filter:blur(20px);box-shadow:var(--shadow)}.brand-symbol{display:grid;place-items:center;width:41px;height:41px;border-radius:12px;background:#e8e3d5;color:#65664d}.brand-symbol .icon{width:24px;height:24px;stroke-width:1.4}.brand-copy{display:flex;flex-direction:column;gap:5px}.brand-copy strong{font-family:"Noto Serif SC","Songti SC",SimSun,serif;letter-spacing:3px;font-size:21px;font-weight:500}.brand-copy strong span{font-size:17px}.brand-copy small{font-size:8px;letter-spacing:2.3px;color:#8c897c}.topbar-actions{display:flex;align-items:center;gap:3px;pointer-events:auto;background:var(--glass);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.7);padding:7px 9px;border-radius:14px;box-shadow:var(--shadow)}.icon-button{width:37px;height:37px;display:grid;place-items:center;border-radius:10px;background:transparent;color:#6b6b5d}.icon-button:hover{background:rgba(99,97,74,.1);color:var(--olive-dark)}.icon-button.small{width:27px;height:27px;border-radius:7px}.icon-button.small .icon{width:16px;height:16px}.toolbar-separator{width:1px;height:21px;background:var(--line);margin:0 6px}.quality-control{display:flex;align-items:center;gap:9px;padding:0 8px;color:var(--muted);font-size:11px}.quality-control select{font-size:12px;background:transparent;border:0;color:#585b48;cursor:pointer;padding:6px 2px}.quality-control select option{background:#f6f3ed}
.room-panel{position:fixed;z-index:9;top:112px;left:28px;width:190px;background:var(--glass);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.65);border-radius:17px;padding:19px 11px 14px;box-shadow:var(--shadow)}.panel-eyebrow{font-size:8px;letter-spacing:1.7px;color:var(--muted);line-height:1.5;margin:0 9px}.room-panel-heading{display:flex;align-items:center;justify-content:space-between;margin:8px 9px 16px;font-family:"Songti SC",SimSun,serif;font-size:17px;letter-spacing:1px}.room-count{font-family:Georgia,serif;font-size:13px;color:#a19b8c;letter-spacing:0}.room-navigation{display:flex;flex-direction:column;gap:3px}.room-navigation button{display:flex;align-items:center;gap:11px;height:43px;width:100%;padding:0 12px;border-radius:9px;background:transparent;text-align:left;position:relative}.room-navigation button .icon{width:17px;height:17px;color:#807e6c;stroke-width:1.4}.room-navigation button>span{font-size:12px;white-space:nowrap}.room-navigation button small{font-size:8px;margin-left:auto;color:#a09a8b;font-weight:400;letter-spacing:.1px}.room-navigation button:hover{background:#eae6da}.room-navigation button.active,.room-navigation button[aria-current="true"],.room-navigation button[aria-pressed="true"]{color:#fff;background:var(--olive)}.room-navigation button.active .icon,.room-navigation button[aria-current="true"] .icon,.room-navigation button[aria-pressed="true"] .icon{color:#eae7d7}.room-navigation button.active small,.room-navigation button[aria-current="true"] small,.room-navigation button[aria-pressed="true"] small{color:#d9dac8}.palette-caption{display:flex;gap:4px;align-items:center;padding:16px 9px 1px;margin-top:10px;border-top:1px solid var(--line)}.palette-caption>span{width:9px;height:9px;border-radius:50%;background:#d9c9aa}.palette-caption>span:nth-child(2){background:#715340}.palette-caption>span:nth-child(3){background:#808467}.palette-caption small{font-size:9px;letter-spacing:.5px;margin-left:7px;color:var(--muted)}
.location-label{position:fixed;z-index:5;top:119px;left:244px;display:flex;gap:10px;align-items:flex-start;pointer-events:none;text-shadow:0 1px 14px #faf7ef,0 1px 5px #faf7ef}.location-mark{width:5px;height:5px;background:var(--olive);border-radius:50%;margin-top:9px;box-shadow:0 0 0 4px rgba(244,240,232,.7)}.location-label h1{font-size:14px;font-weight:500;letter-spacing:1px;margin:0 0 6px;line-height:1.6}.location-label p{font-size:10px;letter-spacing:.4px;color:#7e7d70;margin:0}.minimap-card{position:fixed;z-index:8;right:28px;bottom:28px;width:180px;padding:10px 12px 12px;border:1px solid rgba(255,255,255,.75);background:var(--glass);border-radius:15px;box-shadow:var(--shadow);backdrop-filter:blur(20px)}.minimap-heading{display:flex;justify-content:space-between;align-items:center;padding:0 0 6px}.minimap-heading>span{display:flex;gap:6px;align-items:center;font-size:10px;letter-spacing:.7px;color:#777565}.minimap-heading>span .icon{width:13px;height:13px}.minimap-card canvas{display:block;width:100%;height:auto;border-radius:8px}.minimap-footnote{display:flex;align-items:center;gap:5px;padding:8px 3px 0;font-size:8px;color:#918b7c;letter-spacing:.5px}.position-dot{width:5px;height:5px;background:var(--olive);border-radius:50%}.north-mark{margin-left:auto;font-size:8px;letter-spacing:1px}.minimap-card.collapsed canvas,.minimap-card.collapsed .minimap-footnote,body.minimap-hidden .minimap-card canvas,body.minimap-hidden .minimap-footnote{display:none}.minimap-card.collapsed .minimap-heading,body.minimap-hidden .minimap-heading{padding-bottom:0}.minimap-card.collapsed #minimap-toggle svg,body.minimap-hidden #minimap-toggle svg{transform:rotate(180deg)}
.bottom-controls{position:fixed;z-index:10;left:50%;bottom:30px;transform:translateX(-50%);display:flex;gap:9px;align-items:center}.mode-switch{padding:5px;display:flex;gap:4px;background:rgba(249,247,241,.94);backdrop-filter:blur(18px);box-shadow:0 4px 30px rgba(58,48,31,.14);border:1px solid rgba(255,255,255,.8);border-radius:15px}.mode-switch button{display:flex;gap:9px;align-items:center;justify-content:center;height:43px;min-width:133px;padding:0 18px;border-radius:10px;background:transparent;color:#7b7b6c;font-size:12px;letter-spacing:.6px}.mode-switch button .icon{width:17px;height:17px}.mode-switch button:hover{background:#eae6da}.mode-switch button.active,.mode-switch button[aria-pressed="true"]{background:var(--olive);color:#f9f8f0;box-shadow:0 2px 7px rgba(63,65,40,.12)}.scene-hints{position:fixed;z-index:5;left:50%;bottom:96px;transform:translateX(-50%);white-space:nowrap;pointer-events:none}.scene-hints p{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.4px;margin:0;color:#746f61;background:rgba(248,245,238,.86);border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(12px);padding:8px 13px;border-radius:8px}.scene-hints .icon{width:14px;height:14px}.hint-dot{padding:0 9px;color:#aaa28e}kbd{font-family:inherit;font-size:10px;display:inline-block;border:1px solid #d8d2c3;border-bottom-width:2px;background:#f9f7ef;border-radius:3px;padding:1px 4px;min-width:18px;line-height:15px;text-align:center;color:#747360;margin-right:3px}.scene-hints kbd{font-size:8px;line-height:12px;padding:0 3px;min-width:14px;margin-right:2px}.touch-hint{display:none}.rooms-toggle{display:none}.scene-hints #walk-hint{display:none}body[data-mode="walk"] #overview-hint{display:none}body[data-mode="walk"] #walk-hint{display:flex}#crosshair{display:none;position:fixed;z-index:4;top:50%;left:50%;width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.85);box-shadow:0 0 0 1px rgba(66,57,43,.3),0 1px 4px rgba(0,0,0,.12);pointer-events:none;transform:translate(-50%,-50%)}body[data-mode="walk"] #crosshair{display:block}#status-message{position:fixed;z-index:20;top:102px;left:50%;transform:translateX(-50%);max-width:min(90vw,420px);padding:10px 17px;border-radius:10px;background:rgba(63,66,49,.92);box-shadow:var(--shadow);color:#fffdf2;backdrop-filter:blur(12px);font-size:11px;line-height:1.6;text-align:center;pointer-events:none}#status-message:empty{display:none}#joystick,#mobile-look-hint{display:none}
.loading-screen{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:35px;background:rgba(229,223,211,.88);backdrop-filter:blur(18px);transition:opacity .7s,visibility .7s}.loading-screen.is-hidden,.loading-screen.fade-out,.loading-screen.hidden{opacity:0;visibility:hidden;pointer-events:none}.welcome-panel{display:grid;grid-template-columns:1.1fr 1fr;max-width:920px;width:100%;min-height:510px;background:#f7f3eb;border:1px solid rgba(255,255,255,.8);border-radius:20px;overflow:hidden;box-shadow:0 30px 100px rgba(73,59,37,.14)}.welcome-image{position:relative;overflow:hidden;background:#d8c9b2;min-height:100%}.welcome-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(29,27,19,.05),transparent 50%,rgba(35,29,20,.3));pointer-events:none}.welcome-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:saturate(.85)}.image-tag{position:absolute;z-index:1;left:24px;top:24px;display:flex;gap:7px;align-items:center;font-size:10px;letter-spacing:1.1px;color:#fff9ec;background:rgba(65,58,45,.34);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(12px);border-radius:30px;padding:8px 12px}.image-tag>span{width:4px;height:4px;border-radius:50%;background:#e8dfc9}.image-caption{position:absolute;z-index:1;left:27px;bottom:25px;color:#f5ead6;font-size:9px;letter-spacing:3px}.welcome-content{padding:47px 42px 35px;display:flex;flex-direction:column;justify-content:center}.welcome-eyebrow{font-size:7px;letter-spacing:1.6px;color:#9b927e;line-height:1.7;margin:0 0 25px;white-space:nowrap}.welcome-content h2{font-family:"Noto Serif SC","Songti SC",SimSun,serif;font-weight:400;font-size:36px;line-height:1.55;letter-spacing:3px;margin:0 0 17px;color:#484b3c}.welcome-content h2>span{color:#9d9a7c}.welcome-description{font-size:11px;line-height:2.1;color:#96907f;margin:0 0 29px;letter-spacing:.4px}.loading-meta{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#a19a89;margin-bottom:8px;letter-spacing:.4px}#loading-percent{font-variant-numeric:tabular-nums;font-size:9px;letter-spacing:1px}.loading-track{height:2px;overflow:hidden;width:100%;background:#e3ded1;margin:0 0 22px;border-radius:2px}#loading-progress{height:100%;width:0;background:#85876a;transition:width .35s ease}.welcome-actions{display:flex;flex-direction:column;gap:10px}.primary-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 20px;background:var(--olive);color:#fcfaf1;border:1px solid transparent;border-radius:9px;font-size:12px;letter-spacing:1.4px}.primary-button:not(:disabled):hover{background:var(--olive-dark);box-shadow:0 5px 16px rgba(74,78,48,.18)}.primary-button .icon{width:17px;height:17px}.primary-button .arrow{margin-left:auto}.primary-button>span{margin-right:auto}.text-button{align-self:center;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 15px;background:transparent;color:#898371;font-size:10px;letter-spacing:.7px}.text-button .icon{width:14px;height:14px}.text-button:hover{color:var(--olive-dark);background:rgba(120,115,91,.06);border-radius:7px}.welcome-note{display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;font-size:8px;color:#aea591;line-height:1.7;margin:17px 0 0;letter-spacing:.1px}.note-line{display:block;height:7px;width:1px;background:#d0c9b8}.welcome-bottom{position:absolute;bottom:25px;left:0;right:0;text-align:center;font-family:"Songti SC",SimSun,serif;font-size:11px;letter-spacing:4px;color:#a59b87}
.help-dialog{width:min(480px,calc(100% - 32px));padding:28px;border:1px solid rgba(255,255,255,.8);border-radius:19px;background:#f7f4ec;color:var(--ink);box-shadow:0 30px 100px rgba(54,45,31,.2);max-height:calc(100% - 50px);overflow:auto}.help-dialog::backdrop{background:rgba(58,54,43,.27);backdrop-filter:blur(8px)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between}.dialog-heading .panel-eyebrow{margin:0 0 10px;font-size:8px}.dialog-heading h2{font-family:"Songti SC",SimSun,serif;font-size:28px;letter-spacing:2px;font-weight:400;margin:0}.help-intro{font-size:12px;color:var(--muted);margin:16px 0 24px}.help-block{border-top:1px solid var(--line);padding:17px 0 3px}.help-block h3{display:flex;gap:9px;align-items:center;font-size:13px;font-weight:500;margin:0 0 12px}.help-block h3 .icon{width:17px;height:17px;color:var(--olive)}.help-block p{color:#8c8777;font-size:11px;line-height:1.9;margin:0 0 14px}.help-block dl{margin:0 0 14px;font-size:11px}.help-block dl>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:7px 0}.help-block dt{color:#73725e}.help-block dd{color:#95907e;margin:0}.help-block .mobile-help{padding:10px 12px;border-radius:7px;background:#eae7db;font-size:10px}.help-tip{display:flex;align-items:center;gap:10px;color:#888570}.help-tip .icon{width:17px;height:17px}.help-tip p{font-size:10px;line-height:1.7;margin:5px 0}.error-panel{position:fixed;z-index:45;width:min(430px,calc(100% - 32px));top:50%;left:50%;transform:translate(-50%,-50%);padding:34px 30px;background:#faf7ef;box-shadow:0 20px 100px rgba(41,34,25,.24);border:1px solid #fff;border-radius:18px;text-align:center}.error-panel>.icon{width:32px;height:32px;color:#9a8f70}.error-panel h2{font-size:19px;font-family:"Songti SC",SimSun,serif;font-weight:400;margin:20px 0 15px}.error-panel p{font-size:12px;color:#97907e;line-height:1.8;margin:0 0 23px;overflow-wrap:anywhere}.error-panel .primary-button{margin:0 auto;font-size:11px;min-height:41px}
@media(min-width:1600px){.room-panel{left:35px;top:130px}.topbar{top:28px;left:35px;right:35px}.location-label{left:252px;top:138px}.minimap-card{right:35px;bottom:35px;width:195px}.bottom-controls{bottom:35px}.scene-hints{bottom:103px}.welcome-panel{max-width:980px;min-height:550px}.welcome-content{padding:50px}.welcome-content h2{font-size:39px}}
@media(max-height:760px) and (min-width:761px){.room-panel{top:102px;padding-top:14px}.room-panel-heading{margin-bottom:10px}.room-navigation button{height:36px}.palette-caption{padding-top:12px}.location-label{top:108px}.minimap-card{width:155px}.welcome-panel{min-height:450px;max-width:850px}.welcome-content{padding:32px 36px}.welcome-eyebrow{margin-bottom:16px}.welcome-content h2{font-size:31px;margin-bottom:12px}.welcome-description{margin-bottom:20px}.welcome-note{margin-top:10px}}
@media(max-width:1000px){.topbar{left:20px;right:20px;top:18px}.room-panel{left:20px;width:174px}.room-navigation button{gap:8px;padding:0 9px}.room-navigation button small{font-size:7px}.location-label{left:215px}.minimap-card{right:20px;width:155px;bottom:24px}.welcome-panel{max-width:780px;grid-template-columns:1fr 1fr;min-height:480px}.welcome-content{padding:35px 30px}.welcome-content h2{font-size:32px;letter-spacing:2px}.welcome-eyebrow{font-size:6px;letter-spacing:1.2px}}
@media(max-width:760px){.topbar{top:max(13px,env(safe-area-inset-top));left:14px;right:14px;height:52px}.brand{gap:8px;padding:7px 12px 7px 7px;border-radius:12px}.brand-symbol{width:33px;height:33px;border-radius:9px}.brand-symbol .icon{width:20px;height:20px}.brand-copy{gap:4px}.brand-copy strong{font-size:17px;letter-spacing:2px}.brand-copy small{font-size:6px;letter-spacing:1.7px}.topbar-actions{padding:5px;border-radius:12px;gap:0}.icon-button{width:32px;height:32px;border-radius:8px}.icon-button .icon{width:18px;height:18px}.quality-control,.toolbar-separator{display:none}.room-panel{display:none;top:auto;bottom:calc(90px + env(safe-area-inset-bottom));left:14px;width:calc(100% - 28px);padding:17px 11px 10px;max-height:60vh;overflow:auto;border-radius:16px;background:rgba(248,246,239,.97)}body.rooms-open .room-panel,.room-panel.is-open,.room-panel.open{display:block}.room-panel-heading{margin:4px 9px 10px;font-size:17px}.room-panel .panel-eyebrow{font-size:7px}.room-navigation{display:grid;grid-template-columns:1fr 1fr;gap:5px}.room-navigation button{height:42px;gap:10px;padding:0 12px}.room-navigation button small{font-size:8px}.palette-caption{margin-top:9px;padding-top:10px;padding-bottom:2px}.location-label{top:86px;left:20px;gap:9px}.location-label h1{font-size:13px;margin-bottom:3px}.location-label p{font-size:9px}.location-mark{margin-top:8px;width:4px;height:4px}.minimap-card{right:14px;bottom:calc(91px + env(safe-area-inset-bottom));width:113px;padding:7px 8px 8px;border-radius:12px}.minimap-heading{padding-bottom:2px}.minimap-heading>span{font-size:8px;letter-spacing:.1px;gap:4px}.minimap-heading>span .icon{width:10px;height:10px}.minimap-heading .small{width:21px;height:21px}.minimap-heading .small .icon{width:13px;height:13px}.minimap-footnote{font-size:6px;gap:3px;padding-top:5px}.north-mark{font-size:7px}.position-dot{width:4px;height:4px}.bottom-controls{bottom:calc(20px + env(safe-area-inset-bottom));max-width:calc(100% - 28px);gap:8px}.mode-switch{border-radius:13px;padding:4px;gap:2px}.mode-switch button{min-width:108px;height:41px;padding:0 13px;gap:6px;font-size:11px;letter-spacing:.3px;border-radius:9px}.mode-switch button .icon{width:15px;height:15px}.rooms-toggle{display:flex;gap:5px;align-items:center;justify-content:center;width:59px;height:51px;flex:none;border-radius:13px;background:rgba(249,247,241,.95);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.8);font-size:10px}.rooms-toggle .icon{width:14px;height:14px}.rooms-toggle:hover,body.rooms-open .rooms-toggle{background:#e5e3d4}.scene-hints{bottom:calc(84px + env(safe-area-inset-bottom));max-width:calc(100% - 150px);left:18px;transform:none}.scene-hints p{font-size:8px;letter-spacing:0;padding:7px 9px;gap:5px;line-height:1.6;white-space:normal;max-width:210px}.scene-hints .icon{width:12px;height:12px}.scene-hints .hint-dot{padding:0 4px}#status-message{top:83px;max-width:calc(100% - 34px);font-size:10px;padding:9px 13px}.loading-screen{padding:20px 18px 34px;align-items:center}.welcome-panel{display:flex;flex-direction:column;min-height:0;max-width:390px;width:100%;max-height:calc(100svh - 75px);border-radius:18px;overflow:auto}.welcome-image{min-height:0;height:180px;flex:none;width:100%}.welcome-image img{object-position:50% 54%}.image-tag{top:17px;left:18px;font-size:8px;letter-spacing:.6px;padding:6px 9px}.image-caption{left:20px;bottom:17px;font-size:7px;letter-spacing:2px}.welcome-content{padding:25px 28px 21px;display:block}.welcome-eyebrow{font-size:6px;letter-spacing:1.2px;margin:0 0 12px}.welcome-content h2{font-size:29px;line-height:1.45;letter-spacing:2px;margin:0 0 12px}.welcome-content h2 br{display:none}.welcome-description{font-size:10px;line-height:1.9;margin:0 0 19px}.loading-meta{font-size:8px;margin-bottom:7px}.loading-track{margin-bottom:17px}.welcome-actions{gap:5px}.primary-button{min-height:43px;font-size:11px}.text-button{padding:7px 15px;font-size:9px}.welcome-note{font-size:7px;margin:10px 0 0;gap:6px}.welcome-bottom{font-size:9px;letter-spacing:3px;bottom:13px}.help-dialog{padding:24px}.help-block dl>div{gap:8px}.help-block dt{font-size:10px}}
@media(pointer:coarse){.desktop-hint{display:none}.touch-hint{display:inline}body[data-mode="walk"] #joystick{display:block;position:fixed;z-index:7;left:32px;bottom:calc(145px + env(safe-area-inset-bottom));width:108px;height:108px;touch-action:none;border-radius:50%;background:rgba(245,242,233,.18);border:1px solid rgba(255,253,244,.42);box-shadow:0 5px 25px rgba(55,42,28,.07);backdrop-filter:blur(2px);user-select:none;-webkit-user-select:none}.joystick-ring{position:absolute;inset:18px;border:1px solid rgba(255,253,244,.45);border-radius:50%;pointer-events:none}#joystick-knob{position:absolute;width:44px;height:44px;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(250,248,241,.77);border:1px solid rgba(255,255,255,.65);box-shadow:0 3px 12px rgba(61,51,31,.13);pointer-events:none}body[data-mode="walk"] #mobile-look-hint{display:flex;flex-direction:column;align-items:center;gap:5px;position:fixed;right:52px;top:51%;color:rgba(255,254,246,.8);text-shadow:0 1px 6px rgba(0,0,0,.4);font-size:9px;letter-spacing:1px;pointer-events:none;z-index:4}#mobile-look-hint .icon{width:25px;height:25px}body[data-mode="walk"] .scene-hints{max-width:205px}body[data-mode="walk"] .minimap-card{width:98px}}
@media(max-height:680px) and (max-width:760px){.welcome-image{height:130px}.welcome-content{padding:20px 26px 16px}.welcome-content h2{font-size:25px;margin-bottom:9px}.welcome-eyebrow{margin-bottom:9px}.welcome-description{margin-bottom:13px;font-size:9px}.welcome-note{margin-top:6px}.welcome-panel{max-height:calc(100svh - 48px)}.welcome-bottom{display:none}.loading-screen{padding:18px}.minimap-card{width:95px}.scene-hints{bottom:80px}}
@media(max-height:520px) and (min-width:600px){.welcome-panel{display:grid;grid-template-columns:1fr 1.1fr;max-width:740px;min-height:0;max-height:calc(100svh - 30px)}.welcome-image{height:100%;min-height:300px}.welcome-content{padding:20px 30px}.welcome-content h2{font-size:25px}.welcome-description{font-size:9px;margin-bottom:12px}.welcome-eyebrow{margin-bottom:10px}.welcome-note{font-size:6px;margin-top:6px}.welcome-bottom{display:none}.loading-screen{padding:15px}.room-panel{max-height:calc(100vh - 130px);overflow:auto}.room-navigation button{height:32px}.minimap-card{width:105px}.location-label{display:none}.scene-hints{bottom:80px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Keep transient scene feedback in sync with the walkthrough controller. */
#status-message{opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
#status-message.visible{opacity:1;visibility:visible}
#canvas-container{opacity:1;transition:opacity .17s ease}
body.is-transitioning #canvas-container{opacity:.12}
@media(pointer:coarse){#joystick-knob{left:calc(50% - 22px);top:calc(50% - 22px);transform:translate(0,0)}}
@media(max-width:760px){.welcome-content h2 br{display:initial}}
@media(max-width:360px){.mode-switch button{min-width:100px;padding:0 10px}.bottom-controls{gap:6px}.rooms-toggle{width:54px}.welcome-content{padding-left:23px;padding-right:23px}}
