*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:Arial,sans-serif;color:#243331;background:#e7ebe8}button{font:inherit;cursor:pointer;border:0;transition:background .2s,transform .2s}button:focus-visible,a:focus-visible{outline:3px solid #ae853e;outline-offset:3px}button:hover{filter:brightness(.95)}button:active{transform:translateY(1px)}#scene{position:absolute;inset:0}canvas{display:block;touch-action:none}header{position:absolute;top:0;left:0;right:0;height:82px;display:flex;align-items:center;padding:0 34px;gap:35px;background:#fafaf7e8;border-bottom:1px solid #d8ded8}.brand{font-size:24px;font-weight:bold;letter-spacing:-2px;border-right:1px solid #c8cfc8;padding-right:30px}.brand span{font-size:8px;letter-spacing:2px;display:block;margin-top:3px}.title{font-size:17px;font-weight:bold}.title span{font-weight:normal;color:#82908a}#infoBtn{margin-left:auto;background:none;font-size:13px;padding:12px}aside{position:absolute;left:24px;top:105px;bottom:25px;width:266px;padding:25px;background:#fbfbf6f5;border:1px solid #fff;border-radius:18px;box-shadow:0 15px 60px #223d2710;overflow:auto}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;color:#73877a}h1{font-family:Georgia,serif;font-weight:400;font-size:36px;letter-spacing:-1.3px;margin:13px 0}.intro{font-size:13px;line-height:1.6;color:#65716b}.seg{display:flex;background:#e8ece4;padding:4px;border-radius:9px;margin:23px 0 8px}.seg button{flex:1;padding:10px 0;background:transparent;border-radius:6px;font-size:12px}.seg .selected{background:white;box-shadow:0 2px 6px #0001}#map{height:133px;margin-bottom:20px;display:flex;align-items:center}#map svg{width:100%;height:100%;overflow:visible}#map text{font-size:.61px;pointer-events:none;fill:#374b42}#map rect{cursor:pointer;stroke:#fff;stroke-width:.12;fill:#d8e0d4}#map rect:hover,#map rect.active{fill:#bdcfa7}#rooms{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}#rooms button{padding:12px 4px;background:#edf0e8;border-radius:7px;text-align:center;font-size:12px}#rooms .active{background:#304e40;color:white}#tour{background:#304e40;color:#fff;border-radius:9px;width:100%;padding:14px 0;margin-top:18px;font-size:13px}.note{font-size:10px;color:#87938b;line-height:1.6;margin-top:19px}.viewbar{position:absolute;left:calc(50% + 110px);transform:translateX(-50%);top:106px;display:flex;gap:3px;background:#fcfcf8e8;padding:5px;border-radius:12px;box-shadow:0 5px 20px #0001;white-space:nowrap}.viewbar button{padding:11px 16px;background:transparent;border-radius:8px;font-size:12px}.viewbar .selected{background:#304e40;color:#fff}#roomCard{position:absolute;right:27px;bottom:42px;background:#fafaf4ef;width:330px;padding:22px 25px;border-radius:15px;border:1px solid white}h2{font-family:Georgia,serif;font-size:26px;font-weight:normal;margin:10px 0}#roomCard p{color:#69786e;font-size:12px;line-height:1.65;margin-bottom:0}#nextRoom{background:none;padding:13px 0 0;font-size:12px;color:#304e40;font-weight:bold}#hint{position:absolute;bottom:17px;left:calc(50% + 100px);transform:translateX(-50%);font-size:11px;white-space:nowrap;color:#546557}dialog{border:0;border-radius:20px;padding:32px;max-width:560px;max-height:85vh;box-shadow:0 25px 100px #0005;color:#263c30}dialog::backdrop{background:#1f342c88;backdrop-filter:blur(5px)}dialog p{font-size:14px;line-height:1.6}dialog a{color:#304e40}.close{float:right;background:#e9ede6;padding:8px 12px;border-radius:6px}#walkpad{position:absolute;bottom:60px;left:320px;text-align:center}#walkpad button{width:42px;height:42px;margin:2px;border-radius:8px;background:#fff9;font-size:20px}#error{position:absolute;inset:150px 20%;background:#fff;padding:40px;border-radius:20px;z-index:9}body.walking canvas{cursor:grab}@media(max-width:800px){header{height:63px;padding:0 15px;gap:15px}.brand{padding-right:14px;font-size:21px}.title{font-size:14px}#infoBtn{font-size:10px;padding:5px}aside{left:12px;top:auto;bottom:12px;right:12px;width:auto;height:180px;padding:12px;border-radius:13px;display:grid;grid-template-columns:110px 1fr;column-gap:13px}.intro,h1,aside>.eyebrow,.note{display:none}.seg{grid-column:1;margin:0;height:40px}.seg button{font-size:11px}#map{grid-column:1;grid-row:2;height:92px;margin:0}#rooms{grid-column:2;grid-row:1 / span 2;margin:0;grid-template-columns:repeat(3,1fr);gap:5px}#rooms button{font-size:11px;padding:8px 2px}#tour{grid-column:1 / span 2;margin:0;padding:8px}.viewbar{top:76px;left:50%;max-width:96%;}.viewbar button{padding:9px 10px;font-size:11px}#roomCard{bottom:207px;right:12px;left:12px;width:auto;padding:10px 15px;background:#fafaf4dd}#roomCard h2{font-size:20px;margin:5px 0}#roomCard p{display:none}#nextRoom{position:absolute;right:15px;top:17px}#hint{display:none}#walkpad{left:12px;bottom:288px}#walkpad button{width:38px;height:38px}dialog{margin:20px;max-width:calc(100% - 40px)}}
.roomActions{display:flex;gap:16px;flex-wrap:wrap}.roomActions button{background:none;padding:13px 0 0;font-size:12px;color:#304e40;font-weight:bold}@media(max-width:800px){.roomActions{gap:16px}.roomActions #nextRoom{position:static}.roomActions button{padding-top:7px}#roomCard{min-height:95px}}