*{box-sizing:border-box}body{margin:0;background:#dfdcd4;color:#25332f;font-family:Arial,sans-serif;overflow:hidden}#viewport{position:fixed;inset:0}canvas{display:block;touch-action:none}header{position:absolute;top:32px;left:36px;right:36px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}header button{pointer-events:auto}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700}h1{font-size:36px;letter-spacing:-1.5px;margin:10px 0}h1 span{display:block;font-weight:400;font-size:14px;letter-spacing:.3px;margin-top:7px}button{font:inherit;color:inherit;border:0;cursor:pointer;background:#f8f7f1eF;padding:13px 17px;border-radius:3px}button:hover{background:#fff}button:focus-visible{outline:3px solid #986a3c}#rooms{position:absolute;top:190px;left:36px;width:205px}#rooms>.eyebrow{display:block;margin-bottom:16px}#rooms button{display:flex;gap:15px;width:100%;text-align:left;background:transparent;border-bottom:1px solid #26342f22;font-size:11px;padding:10px 0}#rooms button span{font-size:13px}#rooms button.active{color:#77502e;font-weight:bold}#caption{position:absolute;left:36px;bottom:115px;max-width:350px;pointer-events:none}h2{font-weight:400;font-size:28px;letter-spacing:-.6px;margin:9px 0}p{font-size:13px;line-height:1.6}#controls{position:absolute;bottom:42px;left:50%;transform:translateX(-50%);display:flex;gap:4px;white-space:nowrap;padding:5px;background:#f8f7f1;border-radius:6px;box-shadow:0 8px 30px #23352b17}#controls button{font-size:12px;background:transparent}#controls button.active,#tour.running{background:#293e34;color:white}#hint{position:absolute;bottom:16px;text-align:center;width:100%;font-size:11px;pointer-events:none}dialog{border:0;border-radius:6px;padding:36px;max-width:620px;width:90%;max-height:85vh;color:#25332f;background:#faf9f4}dialog::backdrop{background:#17231fd0;backdrop-filter:blur(5px)}dialog .close{float:right}dialog h2{clear:both;padding-top:20px}#planDialog{max-width:1100px}#planDialog img{width:100%}body.inside header,body.inside #rooms,body.inside #caption,body.inside #hint{color:#fff;text-shadow:0 1px 8px #000}body.inside #rooms button{color:white;border-color:#ffffff40;background:#15241e85;padding-left:10px}body.inside header button{color:#25332f;text-shadow:none}#pad{position:absolute;bottom:125px;right:25px;text-align:center}#pad button{background:#faf9f4aa;margin:2px;width:45px}#error{position:absolute;inset:45% 10%;text-align:center;background:white;padding:20px}@media(max-width:700px){header{top:20px;left:20px;right:20px}h1{font-size:27px}header .eyebrow{font-size:8px}header button{font-size:10px;padding:10px}#rooms{top:137px;left:20px;width:165px}#rooms button{padding:10px 0}#caption{left:20px;bottom:135px;max-width:240px}#caption h2{font-size:22px}#caption p{font-size:11px}#controls{bottom:44px;max-width:96%;flex-wrap:wrap;justify-content:center;width:380px}#controls button{padding:10px;font-size:10px}#hint{font-size:9px;padding:0 10px}#pad{right:12px;bottom:155px}body.inside #rooms{display:none}}

@media(max-width:700px){#rooms{display:flex;top:125px;width:calc(100% - 40px);overflow-x:auto;gap:12px;background:#f8f7f1d9;padding:0 10px}#rooms>.eyebrow{display:none}#rooms button{flex:0 0 auto;width:auto;gap:8px;padding:12px 0;border:0}}

/* The room list and caption share normal flow, so text cannot overlap. */
#sidebar{position:absolute;top:180px;left:36px;bottom:110px;width:270px;overflow-y:auto;scrollbar-width:thin;padding-right:10px}
#sidebar #rooms{position:static;width:100%}
#sidebar #caption{position:static;max-width:none;margin-top:26px;padding-top:18px;border-top:1px solid #26342f33}
#caption h2{font-size:23px;line-height:1.2;letter-spacing:-.4px}
#caption p{font-size:12px;margin-bottom:0}
#controls .photo-link{display:flex;align-items:center;padding:13px 17px;text-decoration:none;font-size:12px;color:#fff;background:#293e34;border-radius:3px}
body.inside #sidebar{background:#15241eab;padding:16px;border-radius:4px}
body.inside #sidebar #rooms button{background:transparent}
@media(max-width:700px){#sidebar{top:125px;left:20px;bottom:145px;width:calc(100% - 40px);padding:0;display:flex;flex-direction:column;overflow:visible;pointer-events:none}#sidebar #rooms{flex-shrink:0;pointer-events:auto}#sidebar #caption{margin-top:auto;padding-top:12px;border:0;max-width:240px}#controls .photo-link{padding:10px;font-size:10px}body.inside #sidebar{background:transparent;padding:0}body.inside #sidebar #caption{background:#15241eab;padding:12px;border-radius:3px}}
@media(max-height:620px) and (min-width:701px){#sidebar{top:135px;bottom:100px}#sidebar #rooms button{padding:7px 0}#sidebar #caption{margin-top:14px}header{top:20px}h1{font-size:28px}}
