#viewSettings{position:fixed;right:18px;top:100px;z-index:8;display:none;align-items:center;gap:9px;background:#171a27e8;border:1px solid #ffffff25;padding:8px 12px;border-radius:10px;font-size:11px}body.exploring:not(.travelling) #viewSettings{display:flex}#viewSettings input{width:95px;accent-color:#d9bd87}#viewSettings button{padding:5px 7px;font-size:10px}#overviewZoom{position:fixed;right:20px;bottom:98px;z-index:8;display:flex;background:#151827dd;border:1px solid #ffffff25;border-radius:10px;pointer-events:auto}#overviewZoom button{min-width:44px;min-height:44px;border:0;padding:8px;font-size:15px}body.exploring #overviewZoom,body.detail #overviewZoom,body.travelling #overviewZoom{display:none}#zoomReset{font-size:11px!important}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#121323;color:#f4f0e8;font-family:"Microsoft YaHei",sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;background:none;border:1px solid #ffffff24;border-radius:7px;padding:11px 16px}button:hover{background:#ffffff12;border-color:#d9bc8590}button:focus-visible,a:focus-visible{outline:3px solid #e9c788;outline-offset:5px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}#room,#scene,.vignette{position:absolute;inset:0;width:100%;height:100%}#scene{touch-action:none;display:block;outline:none}.vignette{pointer-events:none;background:linear-gradient(90deg,#10121aab,transparent 49%),linear-gradient(0deg,#080b16c9,transparent 20%,transparent 80%,#080b1680)}header{position:fixed;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:29px 42px;z-index:8;pointer-events:none}header a,header button{pointer-events:auto}.brand{display:flex;align-items:center;gap:10px;font-family:"Songti SC",SimSun,serif;font-size:24px;letter-spacing:5px}.brand img{width:40px;height:40px}.brand small{display:block;font-family:Georgia,serif;font-size:8px;letter-spacing:2px;color:#c6c0d8;margin-top:6px}.header-right{display:flex;align-items:center;gap:23px}.preview{font-size:11px;letter-spacing:2px;color:#d8d2e4}.header-right button{font-size:12px;background:#181a27b3;backdrop-filter:blur(12px)}.intro{position:fixed;top:26%;left:5.2%;max-width:430px;z-index:3;pointer-events:none;transition:opacity .5s,transform .5s}.intro button{pointer-events:auto}.eyebrow{font-family:Georgia,serif;font-size:10px;letter-spacing:3px;color:#d9bd87}.intro h1{font-family:"Songti SC",SimSun,serif;font-size:clamp(30px,3.3vw,53px);font-weight:400;line-height:1.55;letter-spacing:4px;margin:20px 0 17px;text-shadow:0 3px 28px #000}.intro-copy{font-size:12px;line-height:2.2;letter-spacing:1px;color:#d1cfda}.intro-actions{display:flex;gap:12px;margin-top:28px}.intro-actions button{font-size:12px;padding:14px 19px}.intro-actions button span{margin-left:20px}.primary{background:#e5ce9c;color:#242333;border-color:#e5ce9c}.primary:hover{background:#f3dfb4}.intro-note{font-size:10px;color:#c8c1d5;margin-top:23px}.intro-note i{display:inline-block;width:4px;height:4px;background:#d9bd87;border-radius:50%;margin-right:9px}body.exploring .intro,body.detail .intro{opacity:0;pointer-events:none;transform:translateY(12px)}body.exploring .intro button,body.detail .intro button{pointer-events:none}#labels{position:absolute;inset:0;pointer-events:none}.hotspot{position:absolute;left:0;top:0;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;padding:7px 11px 7px 7px;background:#131422d9;backdrop-filter:blur(8px);border:1px solid #e4ce9c4d;border-radius:30px;pointer-events:auto;white-space:nowrap;font-size:11px;letter-spacing:1px;box-shadow:0 3px 20px #0003}.hotspot b{display:grid;place-items:center;width:22px;height:22px;border:1px solid #dec39377;border-radius:50%;font:10px Georgia;color:#f1d9a9}.hotspot span{max-width:130px;overflow:hidden}.hotspot:hover{background:#ead3a6;color:#252332;z-index:2}.hotspot:hover b{border-color:#4c3c6080;color:#252332}.hotspot:after{content:"";position:absolute;top:100%;left:50%;height:18px;width:1px;background:linear-gradient(#e8c78b99,transparent)}footer{position:fixed;bottom:0;left:0;right:0;z-index:7;padding:24px 40px;display:flex;align-items:center;justify-content:space-between;gap:15px;pointer-events:none;font-size:11px}.location{display:flex;align-items:center;gap:9px;letter-spacing:1px}.live-dot{width:5px;height:5px;background:#dfc494;border-radius:50%;box-shadow:0 0 9px #e2c480}.location small{color:#b8b4c4;font-size:10px;border-left:1px solid #ffffff2e;padding-left:12px;margin-left:4px}.room-tools{display:flex;gap:5px;pointer-events:auto;background:#111422b0;padding:4px;border:1px solid #ffffff16;border-radius:9px;backdrop-filter:blur(12px)}.room-tools button{font-size:13px;border:0;padding:9px 12px}.room-tools button span{font-size:10px;margin-left:5px}.hint{color:#c5bfce;font-size:10px;letter-spacing:1px}#quick{position:fixed;z-index:15;right:24px;top:91px;width:330px;background:#191b2af5;border:1px solid #c1afd941;border-radius:14px;padding:22px;box-shadow:0 20px 80px #0008;backdrop-filter:blur(20px)}.aside-head{display:flex;align-items:center;justify-content:space-between;font-family:SimSun,serif;font-size:22px;letter-spacing:3px}.aside-head button{border:0;padding:0 8px;font-size:24px}.aside-sub{font-size:10px;color:#aeadc4;line-height:1.8;margin:12px 0 16px}#quickLinks{display:flex;flex-direction:column}#quickLinks button{display:flex;align-items:center;gap:15px;border:0;border-bottom:1px solid #ffffff10;border-radius:0;text-align:left;padding:15px 6px}#quickLinks b{font:12px Georgia;color:#ceb483}#quickLinks strong{font-size:12px;font-weight:400}#quickLinks small{display:block;margin-top:5px;font-size:10px;color:#b0aac3}.plain{border:0}.return-room{font-size:11px;color:#c6b396;margin-top:15px}dialog{position:fixed;max-width:790px;width:calc(100% - 40px);max-height:85dvh;overflow:auto;border:1px solid #d8c0954d;border-radius:16px;background:#1a1b2b;color:#f1edf6;padding:0;box-shadow:0 35px 130px #000b}dialog::backdrop{background:#090b19a3;backdrop-filter:blur(7px)}.close-panel{position:absolute;right:15px;top:13px;border:1px solid #ffffff30;border-radius:50%;width:35px;height:35px;padding:0;font-size:24px;z-index:2;background:#171825db}.panel-inner{padding:37px 40px}.panel-kicker{font:10px Georgia;letter-spacing:3px;color:#dfc28b;margin-bottom:12px}.panel-inner h2{font:32px SimSun,serif;letter-spacing:3px;margin:10px 0 15px}.panel-inner p{color:#c8c4d7;font-size:13px;line-height:2}.panel-image{width:100%;aspect-ratio:1.8;object-fit:cover;display:block}.screen-image{object-fit:contain;background:#11121d;aspect-ratio:1.9}.panel-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.link-button{padding:12px 17px;border:1px solid #d5bb844d;border-radius:5px;font-size:12px;background:#dfc997;color:#211f2b}.secondary-link{background:none;color:#e4d2ad}.small-note{font-size:10px!important;color:#a9a1ba!important}.tabs{display:flex;gap:8px;margin:17px 0}.tabs button{font-size:11px;padding:8px 12px}.tabs button.active{background:#dcca9d;color:#242136}.books{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.book{background:linear-gradient(130deg,#4d415e,#2a293b);border:1px solid #d6b57c55;border-left:4px solid #c9ad7970;min-height:150px;padding:18px 12px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;font-family:SimSun,serif}.book:nth-child(2){background:linear-gradient(130deg,#3e4d59,#202d3d)}.book:nth-child(3){background:linear-gradient(130deg,#67523e,#352d2e)}.book span{font-size:16px;line-height:1.6;letter-spacing:2px}.book small{font:10px sans-serif;color:#d1c6ad}.reading{background:#eee7d8;color:#34303d;padding:35px;border-radius:5px;margin-top:20px;line-height:2}.reading p{color:#48414b}.reading h3{font:23px SimSun,serif}.reading .small-note{color:#6b626d!important}.steps{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0}.steps div{border-top:1px solid #d9bc8644;padding-top:12px;font-size:12px;line-height:1.8;color:#c9c3d7}.steps b{display:block;font-size:10px;color:#d7bd88;font-weight:400;letter-spacing:2px}.help-keys{font-family:monospace;color:#eed9ac}#movement{position:fixed;bottom:92px;left:29px;z-index:8;text-align:center;user-select:none}#movement button{background:#151727bd;border:1px solid #ffffff30;width:44px;height:40px;padding:0;font-size:19px;margin:2px;touch-action:none}#loading{position:fixed;inset:0;z-index:40;background:#131422;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;transition:opacity .7s;font-size:13px;letter-spacing:3px}#loading small{font-size:9px;color:#a9a2bd;letter-spacing:2px}.loading-star{font-size:40px;color:#e3c58b;animation:breathe 2s ease-in-out infinite}#loading.failed{inset:auto 20px 110px;padding:20px;border:1px solid #b5a1cd;border-radius:10px;pointer-events:none}.failed .loading-star,.failed small{display:none}#notice{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:#262538ee;padding:13px 22px;border:1px solid #e0c58a77;border-radius:7px;font-size:12px;z-index:30;max-width:90%;text-align:center}.skip{position:fixed;top:-100px;left:20px;z-index:50;background:#e7d2a5;color:#222;padding:12px}.skip:focus{top:10px}@keyframes breathe{50%{opacity:.4}}@media(max-width:760px){header{padding:20px}.brand{font-size:20px}.brand img{width:32px;height:32px}.brand small{font-size:7px;letter-spacing:1px}.preview{display:none}.header-right button{padding:10px;font-size:12px}.intro{top:auto;bottom:115px;left:25px;max-width:calc(100% - 50px);padding:18px 0}.intro h1{font-size:29px;line-height:1.5;margin:14px 0 10px}.intro-copy{font-size:11px}.eyebrow{font-size:8px;letter-spacing:2px}.intro-actions{margin-top:19px}.intro-note{font-size:9px;margin-top:15px}.intro-actions button{padding:12px 15px}.vignette{background:linear-gradient(0deg,#0b0e1bd9 5%,#0b0e1b8a 38%,transparent 70%,#0b0e1b88)}footer{padding:17px 20px;flex-wrap:wrap;gap:12px}.hint{display:none}.location{font-size:10px}.location small{display:none}.room-tools button{padding:9px}.room-tools button span{display:none}.hotspot{font-size:10px;padding:5px 8px 5px 5px;gap:5px;letter-spacing:0}.hotspot b{width:18px;height:18px;font-size:9px}#quick{right:15px;top:77px;width:calc(100% - 30px);max-height:calc(100dvh - 160px);overflow:auto}.panel-inner{padding:30px 23px}.panel-inner h2{font-size:26px}.books{gap:8px}.book{min-height:135px;padding:15px 9px}.book span{font-size:13px}.reading{padding:20px}.steps{grid-template-columns:1fr}.close-panel{top:10px;right:10px}#movement{bottom:86px;left:15px}body:not(.exploring) .hotspot{opacity:.95}body:not(.exploring) .hotspot[data-low="true"]{visibility:hidden}}.intro{top:auto;bottom:102px;left:40px;max-width:360px;padding:22px 25px;background:linear-gradient(125deg,#151725eb,#15172585);border:1px solid #d4b78430;border-radius:10px;backdrop-filter:blur(14px)}.intro h1{font-size:28px;letter-spacing:2px;margin:12px 0;line-height:1.5}.intro .intro-copy{font-size:11px}.intro .eyebrow{font-size:8px;letter-spacing:1.8px}.intro-actions{margin-top:16px}.intro-note{margin-top:16px}@media(max-width:760px){.intro{top:98px;bottom:auto;left:23px;max-width:calc(100% - 46px);padding:0;background:none;border:0;backdrop-filter:none}.intro h1{font-size:23px;letter-spacing:2px;margin:10px 0}.intro .intro-copy{display:none}.intro .eyebrow{font-size:7px;letter-spacing:1px}.intro-actions{margin-top:14px}.intro-note{font-size:8px;margin-top:12px}body:not(.exploring) .hotspot[data-low="true"]{visibility:visible}.hotspot{font-size:9px;gap:3px;padding:4px 6px 4px 4px}.hotspot b{width:17px;height:17px;font-size:8px}}@media(max-height:500px){.intro{top:auto;bottom:74px;left:25px;padding:12px 18px;background:#161625b8;max-width:290px}.intro h1{font-size:19px}.intro .eyebrow,.intro-note,.intro-copy{display:none}.intro-actions{margin-top:8px}.intro-actions button{padding:8px 10px}header{padding:14px 22px}.hotspot{font-size:9px}footer{padding:12px 20px}}button{transition:background .22s,border-color .22s,box-shadow .22s,color .22s}button:active{filter:brightness(.94)}.hotspot{transition:background .25s,border-color .25s,box-shadow .25s,opacity .25s}.hotspot.is-hover{background:#d9c295;color:#282333;box-shadow:0 0 0 5px #e4ce9c12,0 3px 30px #e9d39e33}.hotspot.is-hover b{color:#282333;border-color:#6b587c66}.hotspot.is-hover:after{height:27px}body.travelling #labels{opacity:.25;pointer-events:none}body.travelling #labels button{pointer-events:none}#labels{transition:opacity .4s}dialog{transform-origin:50% 60%}dialog.closing{animation:panelClose .22s ease both}dialog::backdrop{background:#080a1466;backdrop-filter:blur(3px)}#quick{animation:menuOpen .25s ease both}.book{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}.book:hover{transform:translateY(-7px) rotate(-1deg);box-shadow:5px 12px 20px #0004}.reading{transform-origin:left center}.intro{transition:opacity .6s,transform .7s}.credit-button{border:0;padding:0 0 0 15px;font-size:10px;text-decoration:underline;color:#c4b6cc}.hint{pointer-events:auto}.room-tools button:hover{box-shadow:inset 0 0 14px #ebd9b510}@keyframes panelClose{to{opacity:0;transform:translateY(14px) scale(.98)}}@keyframes menuOpen{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}@media(min-width:761px){.intro{top:110px;bottom:auto;max-width:300px;padding:20px 22px}.intro h1{font-size:24px}.intro-copy{display:none}.intro-actions button{padding:11px 12px}.intro-actions button span{margin-left:12px}.intro .eyebrow{font-size:7px;letter-spacing:1px}.intro-note{font-size:8px}}#joystick{position:relative;width:112px;height:112px;border-radius:50%;border:1px solid #eee1c944;background:radial-gradient(circle,#1c1c2d77,#101321bb);touch-action:none;box-shadow:inset 0 0 20px #0005;user-select:none}.joystick-ring{position:absolute;inset:20px;border:1px solid #d4c29b30;border-radius:50%}#joystickKnob{position:absolute;left:50%;top:50%;width:45px;height:45px;transform:translate(-50%,-50%);background:radial-gradient(circle at 35% 25%,#d7c39d,#9c8b72);border:1px solid #f6dfae80;border-radius:50%;box-shadow:0 4px 15px #0006;pointer-events:none}.is-active #joystickKnob{box-shadow:0 0 18px #dfbf7040}#movement small{font-size:9px;letter-spacing:4px;color:#d7c6a8}#crosshair{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:7;text-align:center}#crosshair i{display:block;width:5px;height:5px;margin:auto;border:1px solid #f3ddaa;border-radius:50%;box-shadow:0 0 10px #000}#interactPrompt{position:absolute;white-space:nowrap;top:24px;left:50%;transform:translateX(-50%);font-size:12px;color:#f0dab2;text-shadow:0 2px 8px #000}#captureMouse{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);z-index:10;background:#1a1c2cd9;font-size:11px;border-color:#dac39477}.mouse-locked #labels{pointer-events:none}.mouse-locked #labels button{pointer-events:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.room-tools{gap:0;align-items:stretch;max-width:calc(100vw - 24px)}.tool-group{display:flex;flex-direction:column;align-items:center;padding:2px 8px;gap:2px}.tool-group+.tool-group{border-left:1px solid #ffffff24}.tool-group>small{font-size:9px;color:#bbb4ca;letter-spacing:2px}.tool-row{display:flex;gap:2px}.tool-item{position:relative}.tool-item>button{min-width:40px;min-height:40px}.tool-tip{display:none;position:absolute;bottom:calc(100% + 16px);left:50%;transform:translateX(-50%);width:182px;padding:10px 12px;border:1px solid #d9bd8755;border-radius:8px;background:#171a2af5;box-shadow:0 6px 24px #0008;font-size:11px;line-height:1.7;white-space:normal;text-align:left;pointer-events:none;color:#d2cddd;z-index:50}.tool-tip strong{display:block;font-size:12px;color:#f1dfba;margin-bottom:3px}.tool-item:hover .tool-tip,.tool-item:focus-within .tool-tip{display:block}#viewSettings{flex-wrap:wrap;max-width:calc(100vw - 28px)}#viewSettings input{width:72px}#viewSettings #runToggle{min-height:36px}dialog#panel{box-sizing:border-box;margin:auto;width:min(880px,calc(100vw - 32px));max-width:none;height:auto;max-height:min(88dvh,940px);overflow:hidden;padding-top:52px}#panelBody{overflow-y:auto;overflow-x:hidden;max-height:calc(min(88dvh,940px) - 54px);overscroll-behavior:contain;scrollbar-gutter:stable;overflow-wrap:anywhere}.close-panel{position:absolute!important;top:8px!important;right:10px!important;min-width:40px;min-height:40px;background:#28283c!important}.panel-inner{padding:24px clamp(18px,4vw,42px) 32px}.panel-inner h2{font-size:clamp(23px,3.5vw,32px);line-height:1.4}.panel-image{height:auto;max-height:52dvh;aspect-ratio:auto;object-fit:contain;background:#10121b}.panel-links>a,.panel-links>button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.steps{min-width:0}.steps>div{min-width:0}.reading{max-width:64ch;margin-inline:auto}#quick{max-width:calc(100vw - 24px);max-height:calc(100dvh - 112px);overflow-y:auto}#viewSettings label{white-space:nowrap}@media(max-width:600px){.tool-group{padding:2px 4px}.room-tools button{padding:7px 9px}.tool-tip{width:150px}.tool-group:first-child .tool-tip{left:0;transform:none}.tool-group:last-child .tool-item:last-child .tool-tip{left:auto;right:0;transform:none}dialog#panel{width:calc(100vw - 20px);max-height:calc(100dvh - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:13px}#panelBody{max-height:calc(100dvh - 84px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.steps{display:grid;grid-template-columns:1fr}.panel-links{display:grid;grid-template-columns:1fr}.panel-inner{padding:18px 18px 26px}#viewSettings{top:90px;right:12px;gap:6px}#viewSettings input{width:64px}#overviewZoom{bottom:114px}}@media(max-height:500px){dialog#panel{max-height:calc(100dvh - 16px)}#panelBody{max-height:calc(100dvh - 70px)}.panel-inner{padding-top:10px}#quick{top:70px;max-height:calc(100dvh - 82px)}}
@media(max-width:700px) and (min-height:600px){.intro{top:112px!important;left:24px!important;right:24px!important;max-width:none!important;transform:none!important}.intro h1{font-size:27px!important;line-height:1.42!important;margin:12px 0!important}.intro .eyebrow{font-size:8px;letter-spacing:1.5px}.intro-actions{position:fixed;top:auto!important;bottom:calc(150px + env(safe-area-inset-bottom));left:20px;right:20px;display:flex;justify-content:center;margin:0!important}.intro-actions button{flex:1;max-width:190px;padding:12px 9px!important;min-height:46px}.intro-actions button span{margin-left:8px!important}.intro-note{position:fixed;bottom:calc(116px + env(safe-area-inset-bottom));left:12px;right:12px;text-align:center;margin:0!important;font-size:9px!important}footer{padding-bottom:calc(16px + env(safe-area-inset-bottom))!important}#overviewZoom{bottom:calc(218px + env(safe-area-inset-bottom));right:14px}.tool-group>small{font-size:9px}.room-tools button span{display:inline!important;font-size:9px}.room-tools button{padding:6px!important;font-size:12px}.location{display:none!important}body.exploring .intro{display:none!important}}#websiteExit{display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;border:1px solid #d9bd8755;border-radius:8px;font-size:11px;background:#1a1b2bcc;pointer-events:auto}.link-button{flex-direction:column;gap:4px}.link-button small{display:block;font-size:10px;opacity:.78;font-weight:normal}.external-reference:after{content:" ↗（新标签页）";font-size:.85em;color:#d6bf91}@media(max-width:700px){.header-right{gap:7px!important}#websiteExit{font-size:10px;padding:7px 8px}.header-right #menu{padding:9px 8px}.brand{font-size:18px;letter-spacing:2px}.brand img{width:30px;height:30px}.brand small{font-size:6px;letter-spacing:1px}.header-right .preview{display:none}}
button,a[href],input[type="range"]{cursor:pointer}button:not(:disabled):hover,a[href]:not(.brand):hover{border-color:#e4c78a;background-color:#ffffff17;box-shadow:0 0 0 1px #e4c78a35}button:active,a.link-button:active{filter:brightness(1.15)}button:disabled{cursor:default;opacity:.4}button:focus-visible,a[href]:focus-visible,input:focus-visible{outline:2px solid #f4d690;outline-offset:4px}#panelBody a:not(.link-button){text-decoration:underline;text-underline-offset:4px;text-decoration-color:#d5b982;color:#ead3a0}.hotspot{border-color:#ddc28a99}.hotspot:before{content:"→";order:3;color:#dfc48f;font-size:12px;margin-left:2px}.hotspot:hover:before,.hotspot:focus-visible:before{color:inherit}.tool-item>button{border:1px solid #ffffff23!important;border-radius:6px}.tool-item>button[aria-pressed="true"]{background:#d9bd871b;border-color:#d9bd8777!important}.intro-actions button{box-shadow:0 4px 18px #0003}.plain{border-color:#d6bd8c66}.shot-tabs button,.book-list button{border:1px solid #d6bd8c66}#panelBody button{min-height:42px}.hotspot.is-hover{background:#ead3a6;color:#252332;box-shadow:0 0 0 3px #e8cc8f33}.hotspot.is-hover b{color:#252332;border-color:#77613b}.credit-button{text-decoration:underline;text-underline-offset:4px}.tool-row button{transition:background-color .12s,border-color .12s}#panelBody a:focus-visible{outline-offset:2px}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
dialog#panel{height:fit-content!important;min-height:0;inset:0}#panelBody{min-height:0}@media(max-width:700px){.room-tools button span{display:none!important}.room-tools button{min-width:42px!important;min-height:42px!important;font-size:16px!important}.tool-group{padding-inline:7px}.tool-group>small{letter-spacing:1px}}@media(max-width:700px) and (min-height:600px) and (max-height:720px){#overviewZoom{bottom:calc(98px + env(safe-area-inset-bottom));left:50%;right:auto;transform:translateX(-50%)}.intro-note{display:none!important}}
@media(max-width:700px){.room-tools button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:46px!important;min-height:50px!important}.room-tools button span{display:block!important;white-space:nowrap;font-size:9px!important;margin:0!important;line-height:1.2}.tool-group{padding-inline:5px}.tool-tip{bottom:calc(100% + 22px)}}@media(max-width:700px) and (min-height:600px) and (max-height:720px){#overviewZoom{bottom:108px}#overviewZoom button{min-height:36px;padding:6px}}
#websiteExit{flex-direction:column;gap:2px}#websiteExit small{font-size:8px;color:#c9bfd5}
/* Companion cat dialogue: a quiet glass speech card anchored above the cat. */
.cat-speech{position:fixed;z-index:40;max-width:min(300px,calc(100vw - 24px));padding:12px 16px 13px;border:1px solid rgba(224,210,238,.34);border-radius:16px;background:rgba(24,25,43,.82);backdrop-filter:blur(16px) saturate(125%);-webkit-backdrop-filter:blur(16px) saturate(125%);box-shadow:0 10px 28px rgba(8,8,20,.28),inset 0 1px rgba(255,255,255,.12);color:#f0eaf5;opacity:0;pointer-events:none;transform:translate(-50%,-100%) translateY(8px) scale(.98);transition:opacity .24s ease,transform .32s cubic-bezier(.2,.7,.2,1);font-size:14px;line-height:1.55;text-align:left}
.cat-speech[hidden]{display:none}
.cat-speech.is-visible{opacity:1;transform:translate(-50%,-100%) translateY(-12px) scale(1)}
.cat-speech__title{display:block;margin-bottom:4px;color:#e7cf9c;font-family:Georgia,serif;font-size:12px;letter-spacing:.08em}
.cat-speech__line{display:block}
@media(prefers-reduced-motion:reduce){.cat-speech{transition:none}}
