:root{font-family:Arial,Helvetica,sans-serif;color:#263d36;background:#f5f3ed;--green:#284c3e;--line:#dedfd6}*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,#stage:focus-visible{outline:3px solid #b48c4e;outline-offset:3px}header{height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 32px;gap:24px;background:#faf9f5}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;letter-spacing:3px;font-size:17px}.mark{font:italic 36px Georgia;border:1px solid #899a8e;width:46px;height:46px;display:grid;place-items:center;letter-spacing:0}.subbrand{display:block;font-size:8px;letter-spacing:3.5px;margin-top:5px}.header-title{font:italic 21px Georgia;margin-left:auto;margin-right:auto;color:#718074}.badge{font-size:9px;letter-spacing:1.5px;border:1px solid #cbd5cb;border-radius:30px;padding:9px 12px;color:#60756a}main{height:calc(100dvh - 84px);display:flex}aside{width:318px;flex-shrink:0;padding:30px 25px 18px;overflow-y:auto;border-right:1px solid var(--line);display:flex;flex-direction:column}.eyebrow{font-size:9px;font-weight:bold;letter-spacing:2px;color:#758678}h1{font:36px/1.1 Georgia,serif;letter-spacing:-1px;margin:16px 0}.intro{font-size:12px;line-height:1.7;color:#6c766e;margin:0 0 23px}.modes{display:flex;background:#e8eae2;padding:4px;border-radius:8px;gap:2px}.modes button{border:0;background:transparent;flex:1;border-radius:5px;padding:10px 3px;font-size:11px}.modes button[aria-pressed=true]{background:var(--green);color:white;box-shadow:0 2px 5px #0001}aside h2{font-size:10px;text-transform:uppercase;letter-spacing:1px;margin:25px 0 12px;color:#7e887c}.room{width:100%;background:transparent;border:1px solid transparent;border-radius:8px;display:flex;align-items:center;text-align:left;padding:12px 9px;gap:11px;margin:4px 0}.room>span:nth-child(2){flex:1;font-size:13px}.room small{display:block;font-size:10px;margin-top:5px;color:#7b8379}.room-number{font:italic 14px Georgia;color:#90a091}.room.active{background:#e6eade;border-color:#d6ddce}.room:hover{background:#eaece4}.room:disabled{display:none}#model-options label{display:flex;gap:9px;align-items:center;font-size:11px;margin:12px 0;cursor:pointer}input{accent-color:var(--green)}.tip{display:flex;gap:12px;padding:15px 0;margin-top:15px;border-top:1px solid var(--line)}.tip p{margin:0;color:#798276;font-size:11px;line-height:1.7}.tip-icon{font-size:21px;color:#8b9d85}footer{margin-top:auto;padding-top:12px}footer p{font-size:9px;line-height:1.6;color:#92978c}footer button{padding:0;background:none;border:0;border-bottom:1px solid #aeb8aa;font-size:10px;color:#657761}.viewer{flex:1;position:relative;min-width:0;overflow:hidden;background:#e9eee7}.view-title{position:absolute;top:28px;left:30px;z-index:3;pointer-events:none}.view-title h2{font:26px Georgia;margin:8px 0;text-shadow:0 1px 5px #ffffffbb}.view-title .eyebrow{text-shadow:0 1px 4px white}.viewer.pano .view-title,.viewer.render .view-title{padding:15px 20px;border-radius:9px;background:#f8f8f1e8;top:20px;left:20px}.viewer.pano .view-title h2,.viewer.render .view-title h2{font-size:22px}.viewer.pano .view-title .eyebrow,.viewer.render .view-title .eyebrow{font-size:8px}#stage,#photo{position:absolute;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}#photo{display:flex;align-items:center;justify-content:center;background:#e1e4dc;overflow:hidden;touch-action:none;cursor:grab}#photo[hidden]{display:none}#render-image{width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none;will-change:transform}.photo-controls{position:absolute;bottom:90px;left:50%;transform:translateX(-50%);display:flex;gap:16px;align-items:center;background:#fffffff0;border-radius:30px;padding:6px 10px;font-size:12px}.photo-controls button{border:0;background:none;font-size:18px;padding:5px 9px}.viewer-bottom{position:absolute;bottom:18px;left:22px;right:22px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.viewer-bottom>span{font-size:10px;color:#5e7362;background:#f9faf4ec;padding:12px 16px;border-radius:30px}.tools{display:flex;gap:5px;pointer-events:auto;background:#fafbf6eb;padding:5px;border:1px solid #dce3d8;border-radius:30px;box-shadow:0 4px 20px #31492f0d}.tools button{border:0;background:transparent;border-radius:20px;min-width:34px;height:32px;font-size:18px}.tools #reset{font-size:10px;padding:0 12px}.tools button:hover{background:#e1e7da}#room-callout{position:absolute;right:24px;top:28px;background:#fafbf6e8;border-radius:8px;padding:13px 17px;z-index:3}#room-callout span{font-size:10px;display:block;color:#81917f;margin-bottom:5px}#room-callout button{background:none;border:0;font-size:11px;padding:0;color:var(--green)}#loading,#error{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;background:#e9eee7ef;z-index:5;font-size:13px}#loading[hidden],#error[hidden]{display:none}#loading-detail{font-size:11px;color:#7a8b7b}.spinner{width:32px;height:32px;border:2px solid #ccd8c9;border-top-color:#47644c;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}dialog{max-width:530px;width:calc(100% - 32px);padding:35px;border:1px solid #d6ddcf;border-radius:14px;background:#faf9f4;color:#334b3d;box-shadow:0 20px 90px #0004}dialog::backdrop{background:#142c2499;backdrop-filter:blur(4px)}dialog h2{font:28px/1.2 Georgia}dialog p{font-size:12px;line-height:1.8;color:#6c766c}dialog .credit{font-size:10px}dialog a{color:#335c42}#close-about{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:19px}.viewer:fullscreen{width:100vw;height:100vh}#error button{border:0;border-radius:5px;background:var(--green);padding:10px 20px;color:white}@media(max-height:820px)and(min-width:761px){aside{padding-top:20px}h1{font-size:30px;margin:12px 0}.intro{margin-bottom:12px}aside h2{margin-top:16px}.room{padding:9px}.tip{padding:10px 0;margin-top:8px}}@media(max-width:760px){header{height:64px;padding:0 16px}.mark{width:34px;height:34px;font-size:27px}.brand{font-size:13px}.subbrand{font-size:7px}.header-title{display:none}.badge{margin-left:auto;font-size:7px;padding:8px}main{height:calc(100dvh - 64px);flex-direction:column}aside{width:100%;padding:12px 14px 8px;overflow:visible;border-right:0;border-bottom:1px solid var(--line);display:block}aside>.eyebrow,h1,.intro,aside h2,aside .tip,aside footer{display:none}.modes{max-width:400px;margin:auto}.modes button{padding:9px;font-size:12px}nav{display:flex;gap:5px;overflow:auto;margin-top:8px}.room{white-space:nowrap;padding:9px 10px;margin:0;justify-content:center}.room-number,.room small,.room>span:last-child{display:none}.room>span:nth-child(2){font-size:11px}.viewer{min-height:280px}#model-options{display:flex;justify-content:center;gap:12px}#model-options label{font-size:9px;margin:8px 0 2px;gap:2px}.view-title{top:15px;left:16px}.view-title h2{font-size:21px}.viewer-bottom{bottom:12px;left:12px;right:12px;flex-direction:column;align-items:center;gap:8px}.viewer-bottom>span{padding:7px 10px;font-size:8px;order:2}.tools{padding:3px}#room-callout{top:15px;right:12px;padding:10px}#room-callout span{display:none}#room-callout button{font-size:9px}.photo-controls{bottom:98px}.viewer.pano .view-title,.viewer.render .view-title{padding:10px 14px;top:12px;left:12px}}

[hidden]{display:none!important}.badge{background:transparent}
