@font-face{font-family:Plex;src:url('./fonts/ibm-plex-sans-thai-thai-400.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0E00-0E7F}@font-face{font-family:Plex;src:url('./fonts/ibm-plex-sans-thai-latin-400.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Plex;src:url('./fonts/ibm-plex-sans-thai-thai-600.woff2') format('woff2');font-weight:600 800;font-display:swap;unicode-range:U+0E00-0E7F}@font-face{font-family:Plex;src:url('./fonts/ibm-plex-sans-thai-latin-600.woff2') format('woff2');font-weight:600 800;font-display:swap}
:root{font-family:Plex,system-ui,sans-serif;color:#202b25;background:#f5f2eb;--ink:#202b25;--muted:#59655c;--green:#164b3a;--line:#d8ddd4;--canvas:#f5f2eb;--white:#fff;--rust:#a86443;font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0;background:none}a{color:inherit}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #337b57;outline-offset:4px}button:hover{color:var(--green)}button:active{transform:translateY(1px)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:8px;left:8px;transform:translateY(-150%);padding:14px;background:white}.skip-link:focus{transform:none}
.site-header{height:88px;padding:0 36px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:30px;background:#faf9f5}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:21px;letter-spacing:-.7px;line-height:1.1}.brand b{font-weight:400;color:var(--muted)}.brand small{display:block;letter-spacing:0;font-size:12px;margin-top:8px;color:var(--muted)}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid #b8c9bd;border-radius:50%;font-size:34px;color:var(--green);line-height:1}.header-edition{font-size:12px;letter-spacing:2px;color:#687269;margin-left:auto}.header-edition span{margin-left:9px;color:var(--rust)}.site-header nav{display:flex;align-items:center;gap:23px;font-size:14px}.text-button{padding:12px 0;white-space:nowrap}.text-button span[aria-hidden]{margin-left:12px}.tour-start{border:1px solid #c4cfc3;border-radius:5px;padding:11px 18px;white-space:nowrap}.tour-start span{margin-right:6px;font-size:18px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;height:calc(100dvh - 130px);min-height:590px}.stage{position:relative;min-width:0;overflow:hidden;background:radial-gradient(ellipse at 53% 40%,#faf8f2 0%,#efede5 85%);border-right:1px solid var(--line)}#scene{position:absolute;inset:0;touch-action:none}#scene canvas{width:100%;height:100%;display:block;outline:none;cursor:grab}#scene canvas:active{cursor:grabbing}#scene:focus-visible{outline-offset:-5px}.scene-title{position:absolute;z-index:2;left:30px;top:27px;pointer-events:none}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:600;color:#697469}.scene-title h1{font-size:27px;font-weight:600;margin:9px 0 2px;letter-spacing:-.8px}.scene-title p{font-size:14px;color:var(--muted);margin:4px 0}.lens-switch{display:flex;position:absolute;right:24px;top:30px;z-index:8;border:1px solid #d5d9cf;border-radius:8px;background:#fafaf6eF;padding:4px;box-shadow:0 3px 12px #34402a05}.lens-switch button{padding:9px 14px;min-width:62px;min-height:40px;font-size:14px;border-radius:5px}.lens-switch button[aria-pressed=true]{background:#fff;box-shadow:0 1px 5px #27312219;color:var(--green);font-weight:600}.camera-tools{position:absolute;z-index:7;right:23px;top:40%;display:grid;gap:5px}.camera-tools button{width:43px;height:43px;background:#fffE;border:1px solid #dce0d5;border-radius:6px;font:24px system-ui;box-shadow:0 4px 14px #29302505}.camera-tools span{height:5px}.scene-bottom{position:absolute;bottom:118px;left:30px;right:24px;display:flex;align-items:center;justify-content:space-between;z-index:6;pointer-events:none}.scene-bottom>*{pointer-events:auto}.orientation{font-size:12px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:4px}.orientation span{font-size:28px;line-height:1;color:#465b4a}.gesture-hint{font-size:12px;color:#657062;margin:0}.mobile-hint{display:none}.settings-button{display:flex;align-items:center;gap:7px;font-size:14px;min-height:44px}.floor-dock{position:absolute;left:28px;right:28px;bottom:23px;display:flex;align-items:center;background:#fffffff5;box-shadow:0 8px 32px #3245280c;border:1px solid #d5dbcf;border-radius:10px;padding:7px;gap:12px;z-index:10}.dock-label{font-size:13px;color:var(--muted);padding:0 16px;white-space:nowrap}.floor-dock>div{display:flex;flex:1;gap:4px}.floor-dock button{display:flex;align-items:center;justify-content:center;gap:10px;flex:1;min-height:52px;padding:10px 16px;border-radius:6px;font-size:15px;white-space:nowrap}.floor-dock button[aria-pressed=true]{background:var(--green);color:white}.floor-dock button:not([aria-pressed=true]):hover{background:#eef1e9}.floor-number{font:12px system-ui;opacity:.65}.floor-icon{font-size:23px;line-height:1}.view-note{position:absolute;top:126px;left:30px;z-index:3;font-size:12px;color:var(--rust);background:#fff9ed;padding:7px 12px;border:1px solid #dec6a1;border-radius:4px}.settings-panel{position:absolute;right:23px;bottom:173px;z-index:20;background:white;border:1px solid var(--line);box-shadow:0 12px 40px #23332320;border-radius:12px;padding:16px;width:285px;font-size:14px}.settings-panel>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.settings-panel>div button{font-size:24px;min-width:40px;min-height:40px}.settings-panel label{display:flex;align-items:center;gap:10px;margin-top:13px;min-height:36px}.settings-panel select{border:1px solid var(--line);padding:8px;border-radius:5px;min-width:0;width:100%;font-size:13px}.settings-panel input{accent-color:var(--green);width:18px;height:18px}
.inspector{background:#fcfbf8;display:flex;flex-direction:column;min-width:0;overflow-y:auto;scrollbar-width:thin;padding:26px 25px 22px}.inspector .eyebrow{font-size:11px}.overview-title{font-size:30px;line-height:1.4;font-weight:600;letter-spacing:-.8px;margin:10px 0 16px}.overview-photo{position:relative;margin:0 0 19px;aspect-ratio:1.55;overflow:hidden;border-radius:7px;background:#e8e9e0}.overview-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.overview-photo:hover img{transform:scale(1.035)}.photo-caption{position:absolute;left:10px;bottom:10px;padding:4px 8px;border-radius:4px;font-size:11px;color:#fff;background:#253227dd}.summary-stats{display:flex;gap:0;margin:16px 0 18px;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.summary-stats>div{flex:1;border-right:1px solid var(--line);padding-left:18px}.summary-stats>div:first-child{padding-left:0}.summary-stats>div:last-child{border:0}.summary-stats b{display:block;font-size:23px;line-height:1.2;font-weight:400}.summary-stats span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.primary-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 17px;min-height:50px;border:1px solid var(--green);border-radius:6px;background:var(--green);color:#fff;font-size:16px;text-decoration:none}.primary-button:hover{background:#226148;color:white}.primary-button span{font-size:22px}.secondary-button{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid var(--line);padding:12px 15px;min-height:46px;border-radius:6px;font-size:14px;text-decoration:none;background:#fff}.overview-copy{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 16px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:26px 0 12px;font-size:14px;font-weight:600}.section-heading span{font-size:12px;font-weight:400;color:var(--muted)}.collection-link{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #e4e7dc;text-align:left;width:100%;min-height:62px}.collection-link img{width:53px;height:43px;border-radius:4px;object-fit:cover;background:#e8e8df}.collection-link .collection-icon{width:53px;height:43px;border-radius:4px;display:grid;place-items:center;background:#e9ede5;font-size:23px;color:var(--green)}.collection-link strong{display:block;font-size:14px;font-weight:400}.collection-link small{display:block;font-size:11px;color:var(--muted);margin-top:2px}.collection-link .arrow{margin-left:auto;color:#72806c}.sidebar-foot{margin-top:auto;padding-top:22px;font-size:12px;color:var(--muted)}.sidebar-foot a{text-underline-offset:4px}.room-header{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.room-header h2{font-size:25px;line-height:1.4;margin:8px 0 10px;letter-spacing:-.6px}.close-button{width:40px;height:40px;font-size:25px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.status-badge{display:inline-flex;align-items:center;gap:6px;background:#e8efe5;color:#355e3e;font-size:12px;padding:5px 8px;border-radius:4px;margin:0 0 17px}.status-badge.pending{background:#f4eadd;color:#785730}.room-description{font-size:15px;line-height:1.8;color:#48564a;margin:16px 0}.room-photo-preview{position:relative;aspect-ratio:1.45;border-radius:7px;overflow:hidden;display:block;width:100%;padding:0;background:#e8e9e2}.room-photo-preview img{width:100%;height:100%;object-fit:cover}.room-photo-preview span{position:absolute;bottom:12px;left:12px;background:#fffffff0;border-radius:5px;padding:8px 13px;font-size:13px}.room-empty{background:#eef0e9;padding:21px 16px;border-radius:7px;line-height:1.8;font-size:14px;margin-bottom:16px}.source-details{font-size:13px;border-top:1px solid var(--line);margin-top:18px;padding-top:15px;line-height:1.8;color:var(--muted)}.source-details summary{cursor:pointer;color:var(--ink);min-height:34px}.source-details p{margin:8px 0}.room-list{display:grid;gap:2px}.room-list button{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;min-height:45px;font-size:14px;padding:8px 9px;border-radius:5px}.room-list button span{font-size:11px;color:var(--muted)}.room-list button:hover{background:#edf0e9}.room-list button[aria-pressed=true]{background:#e3ece1;color:var(--green)}.room-list-label{font-size:12px;color:var(--muted);margin:22px 9px 6px}.mini-plan{display:block;width:100%;height:145px;padding:12px;background:#eeeee6;border:1px solid #dfdfd4;border-radius:6px}.mini-plan svg{width:100%;height:100%}.room-close-bottom{margin-top:20px}.sheet-handle{display:none}
#room-labels{position:absolute;inset:0;pointer-events:none;z-index:4}.room-label{position:absolute;left:0;top:0;transform:translate(-50%,-50%);white-space:nowrap;border:1px solid #d3ddd0;background:#fffffff2;box-shadow:0 2px 8px #31452213;border-radius:5px;padding:6px 10px;font-size:12px;color:#344b3b;pointer-events:auto;min-height:36px}.room-label::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#58805a;margin-right:6px}.room-label.selected{background:var(--green);color:white;border-color:var(--green)}.room-label.selected::before{background:#bee1b9}
#plan-view{position:absolute;inset:130px 36px 158px;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center}.plan-paper{width:100%;height:100%;max-width:850px;background:#fafbf7;border:1px solid #d9dfd2;border-radius:5px;box-shadow:0 8px 30px #29352609;padding:24px}.plan-paper svg{width:100%;height:100%;overflow:visible}.plan-room{fill:#f0eee3;stroke:#a1ac9c;stroke-width:.045;cursor:pointer;transition:fill .15s}.plan-room[data-kind=bedroom]{fill:#e9dac0}.plan-room[data-kind=bath]{fill:#e0e9e4}.plan-room[data-kind=carport],.plan-room[data-kind=balcony]{fill:#e8ecdf}.plan-room:hover{fill:#dae8d7}.plan-room.selected{fill:#c0d6b7;stroke:#164b3a;stroke-width:.1}.plan-text{font-family:Plex,sans-serif;font-size:.25px;fill:#3c4f3e;pointer-events:none;text-anchor:middle}.plan-tag{font-size:.19px;fill:#73806c;pointer-events:none;text-anchor:middle}.plan-line{stroke:#4a5b48;stroke-width:.09;fill:none;pointer-events:none}.plan-note{font-size:12px;color:var(--muted);text-align:center;margin:10px 0 0}.plan-floor-choice{display:flex;gap:5px;position:absolute;top:-38px;left:0}.plan-floor-choice button{padding:7px 12px;font-size:13px;border:1px solid var(--line);border-radius:5px;background:#fff}.plan-floor-choice button[aria-pressed=true]{color:white;background:var(--green)}
#photo-view{position:absolute;inset:125px 25px 155px;z-index:5;display:flex;flex-direction:column;min-height:0}.photo-stage{position:relative;flex:1;min-height:0;display:grid;place-items:center;background:#e6e6dc;border-radius:7px;overflow:hidden}.photo-stage img{max-height:100%;width:100%;height:100%;object-fit:contain}.gallery-button{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:46px;border:1px solid #fff8;color:var(--ink);background:#fffe;border-radius:5px;font-size:24px;z-index:2}.gallery-button.prev{left:13px}.gallery-button.next{right:13px}.gallery-button:active{transform:translateY(-50%)}.gallery-meta{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;padding-top:11px;font-size:13px;color:var(--muted)}.gallery-meta p{margin:0}.gallery-meta span{white-space:nowrap;color:var(--ink)}.gallery-error{text-align:center;background:#fff;padding:20px;line-height:1.8}.gallery-close{position:absolute;right:12px;top:12px;z-index:3;width:38px;height:38px;background:#fffe;border-radius:50%;font-size:23px}.gallery-strip{display:flex;gap:6px;overflow:auto;flex-shrink:0;padding:10px 0 0}.gallery-strip button{border:2px solid transparent;border-radius:4px;padding:0;width:56px;height:44px;flex-shrink:0;overflow:hidden}.gallery-strip button[aria-current=true]{border-color:var(--green)}.gallery-strip img{width:100%;height:100%;object-fit:cover}.photo-set-select{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.photo-set-select button{font-size:12px;padding:8px 10px;border:1px solid var(--line);border-radius:5px}.photo-set-select button[aria-pressed=true]{background:var(--green);color:white}.photo-mapping-note{font-size:13px;line-height:1.7;background:#f4eadd;color:#785730;padding:10px 12px;border-radius:5px;margin:12px 0}
#scene-loading{position:absolute;inset:30% 20%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;font-size:16px;text-align:center}.loading-ring{width:38px;height:38px;border:2px solid #d7dfce;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite}#scene-loading button{font-size:13px;text-decoration:underline;min-height:44px}.fallback-note{position:absolute;top:91px;left:30px;right:30px;z-index:9;font-size:12px;background:#fff8e8;color:#795734;padding:7px 10px;border-radius:4px}#tour-bar{position:absolute;bottom:175px;left:50%;transform:translateX(-50%);z-index:14;background:#fffe;border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 24px #21351f13;padding:13px 16px;max-width:440px;width:calc(100% - 60px)}.tour-caption{font-size:14px;font-weight:600;margin:0 0 10px}.tour-caption span{font-size:11px;color:var(--rust);font-weight:400;margin-right:10px}.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.tour-actions button{font-size:13px;min-height:38px}.tour-actions button:last-child{background:var(--green);color:white;border-radius:4px;padding:7px 12px}.site-footer{height:42px;display:flex;align-items:center;gap:23px;padding:0 30px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);background:#faf9f5}.site-footer i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#6c8b61;margin-right:7px}.site-footer button{font-size:11px;min-height:36px}.footer-credit{margin-left:auto}dialog{border:1px solid var(--line);border-radius:15px;padding:26px 30px;max-width:720px;width:calc(100% - 40px);max-height:86dvh;color:var(--ink);background:#fafbf7;box-shadow:0 20px 80px #1d31263a}dialog::backdrop{background:#1d2c2466;backdrop-filter:blur(4px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-top button{font-size:28px;min-width:44px;min-height:44px}dialog h2{font-size:29px;line-height:1.5;margin:10px 0 16px}dialog p{font-size:16px;line-height:1.8;color:var(--muted)}.dialog-steps{display:grid;gap:20px;margin:25px 0}.dialog-steps>div{display:flex;gap:16px}.step-number{color:var(--rust);font-size:14px;line-height:1.8}.dialog-steps h3{font-size:16px;margin:0 0 5px}.dialog-steps p{font-size:14px;margin:0}.download-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.download-card{display:block;padding:17px;border:1px solid var(--line);border-radius:7px;background:#fff;text-decoration:none}.download-card strong{display:block;font-size:17px}.download-card span{display:block;font-size:12px;color:var(--muted);margin-top:7px}.download-card:hover{border-color:var(--green)}.keyboard-help{display:grid;grid-template-columns:auto 1fr;gap:12px 20px;font-size:14px;margin:22px 0}kbd{font:13px system-ui;background:#e8ebe4;border:1px solid #d6ddcd;padding:4px 6px;border-radius:4px}.about-ledger{padding:14px 16px;border:1px solid var(--line);border-radius:6px;font-size:14px;line-height:1.9}.about-ledger p{font-size:14px;margin:8px 0}.dialog-note{font-size:12px!important;border-top:1px solid var(--line);padding-top:15px}.inline-link{text-decoration:underline;text-underline-offset:4px;color:var(--green)}
@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1600px){.workspace{grid-template-columns:minmax(0,1fr) 370px}.inspector{padding:32px}.scene-title{left:40px;top:35px}.scene-title h1{font-size:32px}.floor-dock{left:40px;right:40px}.overview-title{font-size:34px}}
@media(max-width:1150px){.workspace{grid-template-columns:minmax(0,1fr) 290px}.inspector{padding:22px 19px}.header-edition{display:none}.site-header nav{margin-left:auto}.scene-title h1{font-size:24px}.scene-title{top:25px;left:23px}.scene-title p{max-width:220px;font-size:12px}.lens-switch{top:29px;right:18px}.lens-switch button{padding:8px;min-width:48px;font-size:13px}.dock-label{display:none}.floor-dock{left:20px;right:20px}.floor-dock button{padding:10px;font-size:14px}.gesture-hint{font-size:11px}.overview-title{font-size:26px}.site-footer{padding:0 23px;font-size:10px}.footer-credit{display:none}}
@media(max-width:900px) and (min-width:768px){.scene-title{top:18px}.scene-title h1{font-size:21px}.lens-switch{top:118px;right:15px}.scene-bottom{left:20px;right:18px}.settings-button span{display:none}.camera-tools{right:17px}.floor-dock{left:14px;right:14px}.floor-dock button{gap:6px;padding:10px 7px}.floor-number,.floor-icon{display:none}}
@media(max-width:767px){.site-header{height:65px;padding:0 16px;gap:14px}.brand{font-size:18px;gap:8px}.brand-mark{width:35px;height:35px;font-size:27px}.brand small{display:none}.site-header nav{gap:15px;font-size:12px}.site-header nav .text-button[data-action=help]{display:none}.desktop-text{display:none}.tour-start{border:0;padding:8px 0;font-size:12px}.tour-start span{margin-right:3px}.workspace{height:calc(100dvh - 93px);min-height:600px;display:flex;flex-direction:column}.stage{flex:1;min-height:0;border-right:0}.scene-title{left:19px;top:18px}.scene-title .eyebrow{font-size:10px}.scene-title h1{font-size:22px;margin-top:5px}.scene-title p{display:none}.lens-switch{top:91px;left:18px;right:auto;padding:3px;background:#fafaf5eb}.lens-switch button{font-size:12px;padding:7px 11px;min-height:35px;min-width:52px}.camera-tools{right:14px;top:auto;bottom:129px;gap:4px}.camera-tools button{width:37px;height:37px;font-size:22px}.scene-bottom{left:18px;right:15px;bottom:87px}.gesture-hint{font-size:10px}.orientation{font-size:10px;gap:2px}.orientation span{font-size:23px}.settings-button{font-size:18px}.settings-button span{display:none}.desktop-hint{display:none}.mobile-hint{display:inline}.floor-dock{left:13px;right:13px;bottom:16px;padding:5px;border-radius:9px}.floor-dock button{min-height:46px;padding:8px 5px;font-size:13px;gap:7px}.floor-number{font-size:10px}.floor-icon{font-size:19px}.inspector{padding:0 18px 15px;max-height:37%;flex-shrink:0;border-top:1px solid #cbd5c5;border-radius:18px 18px 0 0;box-shadow:0 -4px 20px #263e2207;position:relative;overflow:auto}.inspector.arrival{max-height:125px;padding:15px 18px}.inspector.arrival .overview-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.inspector.arrival .overview-title{font-size:17px;margin:0;line-height:1.5}.inspector.arrival .overview-head>.eyebrow{display:none}.inspector.arrival .overview-copy{font-size:12px;line-height:1.4;margin:5px 0 8px}.inspector.arrival .overview-photo,.inspector.arrival .summary-stats,.inspector.arrival .section-heading,.inspector.arrival .collection-link,.inspector.arrival .sidebar-foot{display:none}.inspector.arrival .primary-button{min-height:42px;padding:8px 13px;font-size:14px}.inspector .sheet-handle{display:block;width:38px;height:4px;background:#bdc9b8;border-radius:4px;margin:8px auto 12px}.inspector .room-header h2{font-size:20px;margin:3px 0 9px}.inspector .room-header .eyebrow{font-size:10px}.close-button{width:34px;height:34px;font-size:22px}.inspector .status-badge{font-size:11px;margin-bottom:9px}.inspector .room-photo-preview{aspect-ratio:2.2;max-height:170px}.inspector .room-description{font-size:14px;margin:12px 0}.inspector .mini-plan{display:none}.inspector .room-list-label{margin-top:14px}.inspector .section-heading{margin:17px 0 7px}.inspector .room-list{grid-template-columns:1fr 1fr;gap:4px}.inspector .room-list button{font-size:12px}.inspector .room-list button span{font-size:10px}.site-footer{height:28px;padding:0 14px;justify-content:space-between;gap:5px;font-size:9px}.site-footer button{font-size:9px;min-height:28px}.site-footer i{width:4px;height:4px;margin-right:4px}.view-note{top:142px;left:18px;font-size:10px;padding:5px 8px}.settings-panel{right:15px;bottom:137px;width:265px}.room-label{font-size:11px;padding:6px 8px;min-height:36px}.room-label:not(.selected){max-width:110px;text-overflow:ellipsis;overflow:hidden}#plan-view{inset:145px 16px 115px}.plan-paper{padding:12px}.plan-floor-choice{top:-44px;left:auto;right:0}.plan-floor-choice button{font-size:11px;padding:7px 9px}.plan-note{font-size:10px}#photo-view{inset:141px 13px 114px}.gallery-meta{font-size:11px;gap:9px;padding-top:7px}.gallery-strip{display:none}.gallery-button{width:34px;height:40px}.gallery-button.prev{left:8px}.gallery-button.next{right:8px}.photo-mapping-note{font-size:12px}.gallery-close{right:8px;top:8px;width:34px;height:34px}#tour-bar{bottom:129px;width:calc(100% - 40px);padding:10px 13px}.tour-caption{font-size:12px;margin-bottom:7px}.tour-actions button{font-size:11px;min-height:32px}dialog{padding:18px 22px;width:calc(100% - 24px);max-height:90dvh}dialog h2{font-size:24px}dialog p{font-size:14px}.download-card{padding:13px}.download-card strong{font-size:15px}.download-card span{font-size:11px}.fallback-note{top:133px;left:17px;right:17px;font-size:10px}.workspace.photo-full .inspector{max-height:85px}.workspace.photo-full .inspector>*:not(.sheet-handle):not(.room-header){display:none}.workspace.photo-full .stage{min-height:450px}}
@media(max-width:380px){.site-header nav{gap:12px}.brand{font-size:16px}.brand-mark{width:29px;height:29px;font-size:24px}.floor-dock button{gap:4px;font-size:12px}.floor-number{display:none}.site-footer{font-size:8px}.scene-title h1{font-size:20px}}
@media(max-height:700px) and (min-width:768px){.workspace{height:640px}.inspector{padding-top:18px}.scene-title h1{font-size:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:767px){.inspector.sheet-collapsed{max-height:88px}.inspector.sheet-collapsed>*:not(.sheet-handle):not(.room-header){display:none}}
.inspector>*{flex-shrink:0}.plan-text{font-size:.36px}.plan-tag{font-size:.24px}.plan-floor-choice{top:-42px;left:auto;right:0}
@media(max-width:767px){.plan-text{font-size:.43px}.plan-tag{font-size:.3px}}
.photo-stage>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:100%;object-fit:contain}
#app[data-lens=photo] .floor-dock{display:none}#photo-view{bottom:30px}.gallery-expand{position:absolute;right:58px;top:12px;z-index:3;width:38px;height:38px;background:#fffe;border-radius:50%;font-size:23px}.dialog-photo{display:block;width:100%;height:65dvh;object-fit:contain}.dialog-photo-caption{font-size:13px!important;margin-bottom:0}#app[data-lens=photo] #scene-subtitle,#app[data-lens=plan] #scene-subtitle{display:none}
@media(max-width:767px){.inspector.arrival{max-height:111px;height:111px;overflow:hidden;padding:12px 18px}.inspector.arrival .overview-title{font-size:15px;line-height:1.5;margin-bottom:8px}.inspector.arrival .overview-title br{display:none}.inspector.arrival .overview-copy{display:none}.inspector.arrival .primary-button{height:46px;min-height:46px;line-height:1.5}.gallery-expand{right:50px;top:8px;width:34px;height:34px}#photo-view{bottom:28px}}
.plan-viewport{width:100%;height:100%;min-height:0;overflow:auto;overscroll-behavior:contain;border:1px solid #d9dfd2;border-radius:5px;background:#fafbf7;touch-action:pan-x pan-y}.plan-paper{max-width:none;border:0;box-shadow:none}.plan-tools{position:absolute;left:0;top:-46px;display:flex;gap:4px}.plan-tools button{height:39px;min-width:39px;border:1px solid var(--line);border-radius:5px;background:#fff;font-size:16px}.plan-tools button:nth-child(2){font-size:12px;min-width:49px}.plan-floor-choice{top:-46px}
@media(max-width:767px){#app[data-lens=plan] .inspector{max-height:110px}#app[data-lens=plan] .inspector.sheet-expanded{max-height:37%}.plan-tools{top:-43px;left:0}.plan-tools button{height:35px;min-width:31px;font-size:14px}.plan-tools button:nth-child(2){font-size:10px;min-width:39px}.plan-floor-choice{top:-43px;right:0}.plan-paper{padding:8px}#plan-view{top:189px;bottom:105px}.plan-floor-choice button{font-size:10px;padding:8px 9px}}
.site-header button{min-height:44px}.camera-tools button{width:44px;height:44px}.room-label{min-height:44px}.lens-switch button{min-height:44px}.gallery-button{width:44px;height:48px}.gallery-close,.gallery-expand{width:44px;height:44px}.gallery-expand{right:64px}.plan-tools button{min-height:44px;min-width:44px}.plan-floor-choice button{min-height:44px}.settings-button{min-width:44px}.close-button{min-width:44px;min-height:44px}
@media(max-width:767px){.sheet-handle{position:relative;background:transparent!important;min-height:36px;width:100%!important;margin:0!important;border-radius:0!important}.sheet-handle::after{content:'';position:absolute;width:38px;height:4px;background:#bdc9b8;border-radius:4px;top:13px;left:calc(50% - 19px)}.camera-tools{bottom:129px}.camera-tools button{width:42px;height:44px}.gallery-close{right:8px}.gallery-expand{right:58px}.plan-tools{top:-49px}.plan-tools button{min-width:35px}.plan-floor-choice{top:-49px}.lens-switch button{min-height:40px}.room-label{padding:8px}.close-button{width:44px;height:44px}}

.brand-mark{object-fit:contain;border:0!important;border-radius:0!important;background:transparent;flex-shrink:0}.student-lock{padding:22px;background:#edf1e9;border:1px solid var(--line);border-radius:10px;margin-top:24px}.student-lock h3{font-size:22px;margin:10px 0}.student-lock p{font-size:15px}.locked-download{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:14px;background:#dce3d7;color:#5b6955;border:1px solid #cbd5c5;border-radius:6px;cursor:not-allowed;opacity:1;margin:16px 0}.student-lock .inline-link{display:inline-block;min-height:44px;padding-top:10px}
