@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
.quality-control{display:flex;align-items:center;gap:7px;font-size:11px;margin-left:auto}.quality-control select{font:inherit;border:1px solid #dcded2;border-radius:6px;padding:7px 9px;background:#fffef9;color:#26352b;min-height:34px}.quality-control select:focus-visible{outline:3px solid #a1b391;outline-offset:2px}
:root{--ink:#26352b;--muted:#6e756b;--paper:#f5f3ed;--line:#dcded2;--olive:#324c3a;--sand:#e9e4d7;--white:#fff;--serif:Georgia,serif;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,a,input{touch-action:manipulation}button{font:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a1b391;outline-offset:4px}button{min-height:42px}a{color:inherit;text-decoration:none}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}.masthead{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px clamp(18px,5vw,76px);border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:flex;gap:11px;align-items:center;font-family:Manrope,sans-serif;letter-spacing:2px;font-size:13px;font-weight:800}.brand-mark{width:37px;height:42px;border:1px solid var(--olive);border-radius:22px 22px 3px 3px;display:grid;place-items:center;font-family:var(--serif);font-size:27px;font-weight:400;letter-spacing:0}.brand small{display:block;letter-spacing:0;font-size:10px;font-weight:400;color:var(--muted);margin-top:3px}.masthead nav{display:flex;gap:8px}.nav-tab{background:transparent;padding:12px 17px;color:var(--muted);border-radius:30px;font-weight:500}.nav-tab.active{background:var(--olive);color:white}.project-size{font-size:15px;text-align:right;font-weight:600}.project-size span{display:block;font-size:10px;letter-spacing:1px;font-weight:400;color:var(--muted);margin-top:3px}main{max-width:1550px;margin:0 auto;padding:30px clamp(16px,5vw,76px) 35px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin:0 0 23px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;margin:0 0 7px;color:var(--muted)}h1{font-family:var(--serif);font-size:clamp(30px,4vw,48px);font-weight:400;letter-spacing:-1.5px;margin:0}.intro{font-size:13px;color:var(--muted);margin:0 0 5px;max-width:270px;line-height:1.5}.viewer-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:12px}.control-group{display:flex;background:#eaece4;padding:3px;border-radius:8px}.control-group button{border-radius:6px;padding:8px 14px;background:transparent;color:var(--muted);font-size:12px;min-height:34px}.control-group button.selected{background:var(--white);color:var(--ink);box-shadow:0 1px 4px #20372012}.check-control{font-size:12px;display:flex;align-items:center;gap:6px;cursor:pointer}.check-control input{accent-color:var(--olive);width:16px;height:16px}.scene-shell{height:min(70vh,720px);min-height:420px;position:relative;overflow:hidden;border-radius:10px;background:#c7d6d9;isolation:isolate}#world{width:100%;height:100%;display:block;touch-action:none;cursor:grab}#world:active{cursor:grabbing}.scene-top{position:absolute;inset:14px 14px auto;display:flex;justify-content:space-between;pointer-events:none;align-items:start}.scene-top span,.scene-top button{font-size:11px;background:#f9faf2ed;color:var(--ink);padding:9px 13px;border-radius:25px;min-height:32px;pointer-events:auto}.scene-top span{max-width:55%}.scene-top button{box-shadow:0 3px 15px #0000000a}.help-panel{position:absolute;z-index:5;right:14px;top:56px;max-width:265px;background:#fcfcf7f7;padding:20px;border-radius:8px;font-size:12px;box-shadow:0 8px 30px #0002}.help-panel strong{font-size:12px}.help-panel p{margin:5px 0 14px;color:var(--muted);line-height:1.5}.help-panel p:last-child{margin-bottom:0}.walk-crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#ffffffe6;font-size:20px;font-weight:400;text-shadow:0 1px 3px #000a;pointer-events:none}.move-pad{position:absolute;bottom:30px;left:20px;display:grid;grid-template-columns:44px 44px 44px;grid-template-rows:44px 44px;gap:4px;touch-action:none}.move-pad button{color:var(--ink);background:#f9faf2dd;border:1px solid #ffffff70;font-size:22px;line-height:1;border-radius:9px;user-select:none;touch-action:none;box-shadow:0 2px 10px #0001}.move-pad button:active{background:var(--olive);color:white}.move-pad [data-move=forward]{grid-column:2}.move-pad [data-move=left]{grid-column:1;grid-row:2}.move-pad [data-move=back]{grid-column:2;grid-row:2}.move-pad [data-move=right]{grid-column:3;grid-row:2}.mini-map{position:absolute;right:16px;bottom:25px;width:136px;padding:5px;background:#fcfcf2de;border-radius:7px;pointer-events:none}.mini-map svg{width:100%;display:block}.mini-map span{display:block;text-align:center;font-size:9px;color:var(--ink);padding-top:3px}.scene-bottom-note{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;color:white;text-shadow:0 1px 5px #000;pointer-events:none}.loading{position:absolute;inset:0;display:flex;gap:10px;justify-content:center;align-items:center;background:#e7e8df;color:var(--ink);font-size:13px;z-index:10}.loading-dot{width:8px;height:8px;border-radius:50%;background:var(--olive);animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.2}}.webgl-error{position:absolute;inset:0;background:#e9e5dbeb;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px}.webgl-error button{background:var(--olive);color:white;padding:12px 20px;border-radius:6px}.room-navigation{display:flex;gap:17px;align-items:center;margin-top:18px}.room-navigation>span{font-size:9px;letter-spacing:1.2px;color:var(--muted);flex-shrink:0}.room-navigation>div{display:flex;gap:6px;flex-wrap:wrap}.room-navigation button{font-size:12px;background:transparent;padding:8px 13px;border:1px solid var(--line);border-radius:30px;min-height:35px}.room-navigation button:hover,.room-navigation button.active{color:var(--olive);background:#e6eadf;border-color:#a9b39b}.tour-caption{display:flex;gap:30px;justify-content:space-between;align-items:start;margin-top:16px;font-size:11px;color:var(--muted)}.tour-caption p{max-width:680px;margin:0;line-height:1.6}.tour-caption>span{white-space:nowrap}.plan-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px}.plan-card{background:#fffef9;border:1px solid var(--line);padding:22px 24px;border-radius:10px}.plan-topline{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:9px;letter-spacing:1.4px;color:var(--muted)}.plan-topline button{font-size:10px;color:var(--olive);border:1px solid var(--line);background:transparent;border-radius:30px;padding:6px 12px;min-height:32px;letter-spacing:0}#floor-plan svg{width:100%;display:block;height:auto}#floor-plan text{font-family:'DM Sans',Arial,sans-serif;fill:var(--ink)}#floor-plan .plan-zone{cursor:pointer;transition:fill .2s}#floor-plan .plan-zone:hover{fill:#dce4d3}#floor-plan .zone-selected{fill:#d2dec7}#floor-plan .zone-name{paint-order:stroke;stroke:#fffef9;stroke-width:3px;stroke-linejoin:round}#floor-plan .plan-furniture{pointer-events:none}.plan-legend{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;font-size:10px;color:var(--muted)}.legend-gravel{display:inline-block;width:10px;height:10px;background:#d6d5cd;margin-right:5px}.plan-detail{padding:20px 0}.plan-detail h2{font-family:var(--serif);font-size:34px;font-weight:400;margin:12px 0 5px}.room-measure{font-family:Manrope,sans-serif;font-size:18px;margin:0;color:var(--olive)}#plan-room-info{font-size:12px;line-height:1.8;color:var(--muted);min-height:68px}.primary-button{background:var(--olive);color:white;padding:12px 20px;border-radius:7px}.area-list{margin:22px 0 0;font-size:11px}.area-list div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:11px 0;gap:10px}.area-list dt{color:var(--muted)}.area-list dd{margin:0;font-weight:500}.area-summary{display:flex;gap:60px;border-top:1px solid var(--line);padding-top:24px;margin-top:26px}.area-summary div{display:flex;flex-direction:column;gap:5px}.area-summary span{font-size:11px;color:var(--muted)}.area-summary strong{font-size:24px;font-weight:500;font-family:var(--serif)}.technical-note{font-size:10px;line-height:1.7;color:var(--muted);max-width:850px;margin-top:20px}.reference{margin-top:28px;border-top:1px solid var(--line);padding-top:18px;font-size:12px}.reference summary{cursor:pointer}.reference img{max-width:100%;display:block;margin-top:16px;border-radius:7px}.reference p{color:var(--muted);font-size:10px}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:23px clamp(18px,5vw,76px);font-size:10px;color:var(--muted)}footer>span{font-family:Manrope,sans-serif;letter-spacing:2px;font-weight:700}footer p{margin:0}@media(max-width:900px){.project-size{display:none}.plan-layout{grid-template-columns:minmax(0,1fr) 230px}.plan-card{padding:16px}.room-navigation{align-items:start}.room-navigation>span{padding-top:12px}}@media(max-width:650px){.masthead{padding:15px 16px;gap:12px;flex-wrap:wrap}.brand{font-size:12px}.brand-mark{height:32px;width:28px;font-size:23px}.brand small{font-size:9px}.masthead nav{gap:2px;margin-left:auto}.nav-tab{font-size:11px;padding:8px 11px;min-height:36px}.section-heading{align-items:start;gap:10px;margin-bottom:18px}.intro{display:none}main{padding-top:23px}.viewer-toolbar{gap:10px 12px}.control-group button{font-size:11px;padding:7px 11px}.check-control{font-size:11px}.scene-shell{height:64svh;min-height:390px;border-radius:7px}.room-navigation{display:block}.room-navigation>span{display:block;margin-bottom:9px;padding:0}.room-navigation button{min-height:38px;padding:8px 12px;font-size:11px}.mini-map{width:105px;right:12px}.move-pad{left:12px;bottom:32px;grid-template-columns:43px 43px 43px;grid-template-rows:43px 43px}.tour-caption>span{display:none}.scene-top{inset:12px 10px auto}.scene-top span,.scene-top button{font-size:10px;padding:9px 11px}.scene-bottom-note{font-size:9px}.plan-layout{display:block}.plan-card{padding:14px 10px}.plan-detail{padding:25px 0 0}.plan-detail h2{font-size:28px}.plan-detail #plan-room-info{min-height:0}.area-list{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.area-summary{gap:20px;justify-content:space-between}.area-summary strong{font-size:23px}.area-summary span{font-size:10px}footer{align-items:start}footer p{max-width:220px;line-height:1.5}}@media(max-width:365px){.masthead nav{width:100%;margin:0}.nav-tab{flex:1}.masthead nav{width:100%}.area-list{grid-template-columns:1fr}.move-pad{grid-template-columns:40px 40px 40px;grid-template-rows:40px 40px}.mini-map{width:90px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
