*{box-sizing:border-box} :root{font-family:Segoe UI,Arial,sans-serif;color:#29362d;background:#f5f2ec;font-synthesis:none}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #8b6a3d;outline-offset:4px}button{border:0}a{color:inherit;text-decoration:none}.topbar{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid #e4dfd5;background:#faf8f3}.brand{display:flex;align-items:center;gap:18px;font-size:10px;letter-spacing:2px;font-weight:600}.brand small{display:block;font-weight:400;font-size:11px;letter-spacing:.4px;margin-top:7px;color:#8a8f82}.brand-mark{font-family:Georgia,serif;font-weight:400;font-size:37px;letter-spacing:-3px}.brand-mark span{font-size:26px;margin-left:1px}.top-actions{display:flex;align-items:center;gap:30px}.top-meta{font-size:10px;letter-spacing:1.2px;color:#70796d;display:flex;align-items:center;gap:14px}.top-meta i{width:3px;height:3px;background:#acb09f;border-radius:50%}.download{border:1px solid #b1b4a5;border-radius:5px;padding:12px 17px;font-size:12px;display:flex;gap:18px;align-items:center}.download:hover{background:#eeede3}.download span{font-size:19px}.app{height:calc(100dvh - 84px);display:grid;grid-template-columns:294px 1fr}.sidebar{background:#faf8f3;padding:29px 27px 18px;overflow:auto;z-index:2;border-right:1px solid #e4dfd5;scrollbar-width:thin}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2.5px;color:#8b947f;margin:0 0 13px}h1{font-family:Georgia,serif;font-weight:400;line-height:1.08;font-size:35px;letter-spacing:-1.1px;margin:0}.subhead{font-size:12px;line-height:1.65;color:#87907f;margin:14px 0 21px}.mode-switch{display:flex;background:#ebece3;padding:4px;border-radius:7px;gap:3px}.mode-switch button{flex:1;padding:9px 5px;font-size:11px;border-radius:4px;background:transparent;color:#7b8572}.mode-switch .active{background:#fffdf8;color:#293d2e;box-shadow:0 2px 4px #3331}.room-label{margin:25px 0 9px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.4px;color:#959b8a}#rooms{display:grid;gap:2px}#rooms button{padding:10px 7px 10px 0;display:flex;align-items:center;text-align:left;gap:13px;width:100%;background:transparent;border-radius:4px;border-bottom:1px solid #e9e8df}#rooms button:hover,#rooms button.active{background:#eeeee5}#rooms button.active{box-shadow:inset 2px 0 #849073;padding-left:8px}.room-number{font-size:10px;color:#a2a895;font-variant-numeric:tabular-nums}#rooms button>span:nth-child(2){font-size:11px;font-weight:600;line-height:1.3}#rooms small{display:block;font-size:9px;font-weight:400;color:#979d8f;margin-top:5px}.room-arrow{margin-left:auto;color:#b4b8a6;font-size:15px}.tour-button{margin-top:22px;display:flex;align-items:center;gap:12px;background:#344935;color:#fffef5;border-radius:5px;padding:13px 14px;width:100%;font-size:11px}.tour-button:hover{background:#415d41}.tour-button.active{background:#8a6c43}.tour-time{font-size:9px;margin-left:auto;color:#c3cbbb}.concept-note{font-size:9px;line-height:1.6;color:#a1a694;margin:18px 0 0}#viewer{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 43%,#f5f0e7,#e4dfd4);min-width:0}#canvas-wrap,#canvas-wrap canvas{position:absolute;inset:0;width:100%;height:100%;display:block}#canvas-wrap{touch-action:none}#canvas-wrap canvas{outline:0}.view-top{position:absolute;top:24px;left:27px;right:27px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.status-pill{background:#ffffffac;border:1px solid #fffc;backdrop-filter:blur(10px);padding:10px 13px;border-radius:20px;display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1.5px}.status-pill>span:first-child{width:5px;height:5px;background:#829272;border-radius:50%}.view-actions{display:flex;gap:5px;pointer-events:auto}.view-actions button{width:35px;height:35px;border:1px solid #fffd;background:#ffffffab;border-radius:6px;font-size:21px;color:#69755f;backdrop-filter:blur(12px)}.view-actions button:hover{background:white}.environment-controls{position:absolute;right:27px;top:72px;display:flex;align-items:center;gap:4px;padding:4px;background:#ffffffc7;backdrop-filter:blur(10px);border:1px solid #fff;border-radius:6px}.environment-controls button{background:transparent;padding:6px 10px;font-size:10px;border-radius:3px;color:#8b927f}.environment-controls button.selected{background:#e7e9dc;color:#3f5338}.environment-controls>span{width:1px;height:14px;background:#d8ddcf;margin:0 2px}.bottom-left{position:absolute;left:27px;bottom:56px;pointer-events:none}.instructions{padding:11px 13px;border:1px solid #fff9;background:#fff9;border-radius:5px;font-size:10px;color:#707964;backdrop-filter:blur(10px);margin:12px 0 0}.instructions span{font-size:17px;margin-right:9px}.instructions b{padding:0 8px;font-weight:400;color:#a8ad9a}.room-card{width:247px;border:1px solid #ffffffea;padding:17px 20px;background:#faf8f2e8;backdrop-filter:blur(14px);border-radius:7px;box-shadow:0 8px 36px #3331;pointer-events:auto}.room-card #room-kicker{font-size:9px;letter-spacing:2px;color:#96a087;margin:0 0 10px}.room-card h2{font-family:Georgia,serif;font-weight:400;font-size:24px;margin:0 0 10px;letter-spacing:-.4px}.room-card #room-description{font-size:11px;line-height:1.6;color:#808c75;margin:0 0 12px;min-height:34px}.step-controls{border-top:1px solid #dce1d2;display:flex;align-items:center;padding-top:10px;gap:10px}.step-controls button{width:29px;height:27px;background:transparent;font-size:19px}.step-controls button:hover{background:#e6e9dc;border-radius:4px}.step-controls span{flex:1;text-align:center;font-size:9px;color:#8f9a83}.view-footer{position:absolute;left:27px;right:27px;bottom:20px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.4px;color:#919780;pointer-events:none}.minimap{display:none;position:absolute;right:27px;bottom:58px;width:125px;height:188px;background:#faf9f1dc;border:1px solid #fff;border-radius:6px;padding:12px 15px;backdrop-filter:blur(12px)}.minimap>span{font-size:7px;letter-spacing:1.1px;color:#8e987d;display:block;text-align:center}.minimap svg{width:100%;height:147px;margin-top:5px}.map-shell{fill:#eeeee3;stroke:#a9b39a;stroke-width:.12;stroke-linejoin:round}.map-balcony{fill:#e0e5d2;stroke:#a9b39a;stroke-width:.07}.map-walls{fill:none;stroke:#a9b39a;stroke-width:.1}#map-player{fill:#668154;stroke:#fff;stroke-width:.07}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#f2efe7;z-index:10;transition:opacity .7s}.loader-mark{font-family:Georgia,serif;font-size:47px;letter-spacing:-5px;color:#637252;margin-bottom:8px}#loading h2{font:400 25px Georgia,serif;margin:10px}#loading p{font-size:11px;color:#969d89;margin:7px}.progress-track{height:2px;width:180px;background:#dde1d0;margin-top:20px;overflow:hidden}.progress-track i{display:block;background:#708461;width:3%;height:100%;transition:width .25s}#transition{position:absolute;inset:0;background:#f3f0e8;opacity:0;pointer-events:none;transition:opacity .2s;z-index:8}#error{position:absolute;inset:0;z-index:11;background:#eeeade;padding:20vh 40px;text-align:center}#error h2{font:25px Georgia,serif}#error p{font-size:12px;color:#838d79}#error button,#error a{display:inline-block;padding:13px 20px;margin:12px;background:#fff;border-radius:5px;font-size:12px}#touch-controls{display:none;position:absolute;right:25px;bottom:255px;text-align:center}#touch-controls button{width:37px;height:37px;margin:2px;background:#ffffffc9;border:1px solid #fff;border-radius:6px;touch-action:none;font-size:19px;color:#56664a}body.walk #touch-controls{display:block}body.walk .minimap{display:block}body.walk #canvas-wrap{cursor:grab}body.walk #canvas-wrap:active{cursor:grabbing}[hidden]{display:none!important}#viewer:fullscreen{width:100vw;height:100vh}.quality-low .environment-controls #quality{color:#a68c56}
@media(min-height:880px){.sidebar{padding-top:40px}.room-label{margin-top:34px}#rooms button{padding-top:13px;padding-bottom:13px}.tour-button{margin-top:30px}.intro h1{font-size:40px}}
@media(max-height:780px) and (min-width:761px){.intro h1{font-size:29px}.intro .subhead{display:none}.mode-switch{margin-top:20px}.sidebar{padding-top:22px}.room-label{margin-top:18px}#rooms button{padding-top:9px;padding-bottom:9px}.tour-button{margin-top:16px}.concept-note{margin-top:12px}}
@media(max-width:1000px){.app{grid-template-columns:255px 1fr}.sidebar{padding-left:20px;padding-right:20px}.topbar{padding:0 23px}.bottom-left{left:18px}.instructions{max-width:250px;line-height:1.6}.top-meta{display:none}.view-top{left:18px;right:18px}.environment-controls{right:18px}.minimap{right:18px}.view-footer{left:18px;right:18px}#touch-controls{right:17px}}
@media(max-width:760px){body{overflow:hidden}.topbar{height:65px;padding:0 17px}.brand{gap:12px;font-size:8px;letter-spacing:1.4px}.brand small{font-size:9px;margin-top:4px}.brand-mark{font-size:29px}.brand-mark span{font-size:22px}.download{padding:8px 10px;font-size:10px;gap:9px}.download span{font-size:17px}.app{height:calc(100dvh - 65px);display:flex;flex-direction:column-reverse}.sidebar{padding:12px 16px 13px;height:155px;flex-shrink:0;border-top:1px solid #dedfce;display:grid;grid-template-columns:1fr auto;gap:8px 12px;overflow:hidden}.intro,.room-label,.concept-note{display:none}.mode-switch{margin:0;width:205px;height:34px}.mode-switch button{font-size:10px;padding:4px}.tour-button{grid-row:1;grid-column:2;margin:0;height:34px;padding:7px 11px;font-size:10px;gap:6px;width:auto}.tour-time{display:none}#rooms{grid-column:1/-1;display:flex;overflow-x:auto;padding-bottom:4px;gap:5px;scrollbar-width:thin}#rooms button{flex-shrink:0;width:auto;padding:7px 11px!important;min-height:51px;gap:8px;border:1px solid #e1e4d6;background:#f3f3e9}#rooms .room-arrow{display:none}#rooms .room-number{font-size:8px}#rooms button>span:nth-child(2){font-size:10px}#rooms small{font-size:8px;margin-top:4px}#viewer{flex:1;min-height:0}.view-top{top:15px}.environment-controls{top:61px}.view-actions button{width:29px;height:29px;font-size:18px}.status-pill{font-size:7px;padding:8px 10px}.environment-controls button{font-size:8px;padding:5px 7px}.bottom-left{bottom:31px;left:12px}.instructions{font-size:8px;max-width:220px;margin-top:7px;padding:6px 8px}.instructions span{font-size:12px;margin-right:4px}.instructions b{padding:0 4px}.room-card{width:190px;padding:11px 12px}.room-card h2{font-size:20px;margin-bottom:5px}.room-card #room-description{font-size:9px;line-height:1.45;margin-bottom:8px;min-height:25px}.room-card #room-kicker{font-size:7px;margin-bottom:6px}.step-controls{padding-top:5px}.step-controls span{font-size:8px}.view-footer{bottom:11px;left:14px;right:14px;font-size:7px}.minimap{width:85px;height:129px;right:13px;bottom:35px;padding:9px}.minimap>span{font-size:5px}.minimap svg{height:96px}#touch-controls{right:11px;bottom:178px}#touch-controls button{width:32px;height:32px;font-size:16px;margin:1px}.view-footer>span:first-child{max-width:210px}.loader-mark{font-size:35px}#loading h2{font-size:21px}}
@media(pointer:fine) and (min-width:761px){body.walk #touch-controls{display:none}}
.environment-controls{max-width:calc(100% - 36px);flex-wrap:wrap;justify-content:flex-end}
.view-actions #style-toggle{width:auto;padding:0 13px;display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:#344935;border-color:#c0c8b4;background:#fffdf5e8}
#style-toggle>span{font-size:20px;color:#9c8767}#style-toggle[aria-expanded="true"]{background:#344935;color:#fffdf5;border-color:#344935}#style-toggle[aria-expanded="true"]>span{color:#d8c5a5}
#style-panel{position:absolute;z-index:9;right:27px;top:118px;width:326px;max-height:calc(100% - 138px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:20px;background:#faf8f3f5;backdrop-filter:blur(18px);border:1px solid #fff;border-radius:12px;box-shadow:0 12px 48px #24311c30}
.style-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.style-heading .eyebrow{font-size:8px;margin:0 0 7px}.style-heading h2{font:400 22px Georgia,serif;margin:0;letter-spacing:-.5px}.style-heading button{flex-shrink:0;width:32px;height:36px;border-radius:5px;font-size:23px;color:#7e8771;background:transparent}.style-heading button:hover{background:#e9ecdf}
.style-intro{font-size:11px;line-height:1.6;color:#7b8273;margin:13px 0 16px}#style-options{display:grid;gap:9px}.style-option{position:relative;display:block;text-align:left;width:100%;padding:0;border-radius:7px;border:1px solid #dddccf;overflow:hidden;background:#fffdf8;transition:box-shadow .15s,border-color .15s}.style-option:hover{border-color:#a8b19b;box-shadow:0 3px 12px #40503313}.style-option[aria-pressed="true"]{border-color:#5e7352;box-shadow:0 0 0 1px #5e7352}.style-swatches{display:flex;height:27px}.style-swatches i{flex:1}.style-swatches i:first-child{flex:2}.style-label{display:block;padding:10px 29px 11px 12px}.style-label strong{font-size:12px;font-weight:600;display:block}.style-label small{display:block;font-size:9px;line-height:1.5;color:#8b8b7d;margin-top:4px}.style-check{position:absolute;right:10px;top:38px;font-size:14px;color:#59774a;opacity:0}.style-option[aria-pressed="true"] .style-check{opacity:1}#style-status{font-size:10px;color:#5f7153;margin:17px 0 7px}.style-note{font-size:9px;line-height:1.6;color:#929687;margin:9px 0 0}
@media(max-width:1000px){#style-panel{right:18px}}
@media(max-width:760px){.view-top{left:12px;right:12px;gap:6px}.view-actions{gap:4px}.view-actions #style-toggle{font-size:10px;padding:0 8px;min-height:36px}.view-actions #style-toggle>span{font-size:16px}.view-actions button{height:36px}.status-pill{letter-spacing:.8px;padding:8px}.environment-controls{right:12px;max-width:calc(100% - 24px)}#style-panel{left:12px;right:12px;top:103px;width:auto;max-height:calc(100% - 115px);padding:15px}.style-heading h2{font-size:21px}.style-heading button{width:44px;height:44px}.style-intro{margin:8px 0 12px;font-size:10px}.style-label{padding-top:9px;padding-bottom:9px}.style-swatches{height:23px}.style-option{min-height:78px}}
@media(max-width:370px){.status-pill{max-width:95px}.view-actions #style-toggle{font-size:9px;padding:0 6px}}
@media(max-height:820px) and (min-width:761px){#style-panel{padding:16px}.style-intro{font-size:10px;margin:10px 0 12px}.style-swatches{height:22px}.style-label{padding-top:8px;padding-bottom:8px}.style-check{top:32px}#style-status{margin-top:12px}.style-note{margin-top:6px}}

@media(max-width:760px){.sidebar{height:60px;display:flex;align-items:center;justify-content:center}.mode-switch{width:100%;max-width:360px}}
button:disabled{opacity:.45;cursor:not-allowed}
.floor-plan-jump{display:flex;justify-content:center;margin-top:30px}.floor-plan-jump button{display:flex;align-items:center;gap:16px;min-height:44px;background:transparent;color:#58694c;font-size:12px;padding:10px 18px;border-bottom:1px solid #bfc9b2}.floor-plan-jump span{font-size:21px}#floor-plan-section{margin-top:90px;scroll-margin-top:24px}.floor-plan-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.floor-plan-heading h2{font:normal clamp(30px,3.8vw,44px) Georgia,serif;letter-spacing:-1px;margin:0 0 14px}.floor-plan-heading p:not(.eyebrow){font-size:13px;color:#78816e;line-height:1.7;max-width:590px;margin:0}.floor-plan-heading a{flex-shrink:0;display:flex;align-items:center;gap:14px;font-size:12px;min-height:44px;padding:12px 15px;border:1px solid #c5cdb8;border-radius:7px;background:#fcfaf6}.floor-plan-document{position:relative;border:1px solid #d5dacb;border-radius:16px;overflow:hidden;background:#fcfaf6;box-shadow:0 12px 32px #34493508}.floor-plan-document iframe{display:block;width:100%;height:970px;border:0;background:#fcfaf6}.floor-plan-status{position:absolute;top:100px;left:20px;right:20px;text-align:center;background:#fcfaf6;z-index:1;padding:20px}.floor-plan-status button{padding:12px 20px;border:1px solid #c5cdb8;border-radius:7px;background:#eef1e5;min-height:44px}.floor-plan-help{font-size:12px;color:#78816e}.floor-plan-document:has(iframe:not([src]):not([srcdoc])){min-height:400px}
@media(max-width:760px){#floor-plan-section{margin-top:64px}.floor-plan-heading{align-items:stretch;flex-direction:column;gap:16px}.floor-plan-heading a{align-self:flex-start}.floor-plan-document iframe{height:1190px}.floor-plan-document{border-radius:10px}.floor-plan-heading h2{font-size:32px}}

body.choosing-apartment{overflow:auto;background:#f5f2ec}
#apartment-picker{min-height:100dvh;padding:56px 28px 40px;background:radial-gradient(ellipse at 95% 0%,#e2e5d7,transparent 55%),#f5f2ec}
.picker-inner{max-width:1120px;margin:auto}.picker-inner>h1{font-size:clamp(42px,5vw,68px);letter-spacing:-2px;margin:20px 0}.picker-intro{color:#70796d;font-size:15px;line-height:1.6;margin:0 0 20px}
.picker-features{display:flex;flex-wrap:wrap;gap:10px 22px;color:#58664f;font-size:11px}.picker-features span{display:flex;align-items:center;gap:8px}.picker-features span:before{content:'';width:4px;height:4px;border-radius:50%;background:#a48c62}
.picker-order{display:flex;align-items:center;gap:16px;margin:36px 0 14px;font-size:10px;letter-spacing:1px;color:#79836f}.picker-order:after{content:'';height:1px;flex:1;background:#d9ddce}.picker-order>span{font-size:23px;line-height:1;color:#899877}
.apartment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.apartment-card{position:relative;display:flex;flex-direction:column;padding:30px 28px 26px;background:#fcfaf6;border:1px solid #deded1;border-radius:16px;overflow:hidden}.apartment-card:before{content:'';position:absolute;left:28px;right:28px;top:0;height:3px;background:#d9dfce;border-radius:0 0 3px 3px}.apartment-card:nth-child(2):before{background:#aebb9d}
.apartment-ready{background:radial-gradient(ellipse at 100% 0%,#f9f4df,transparent 65%),#e9eddf;border-color:#b7c2a8;box-shadow:0 12px 32px #3449350a}.apartment-ready:before{background:linear-gradient(90deg,#738966,#c3ab78)}
.apartment-card h2{font-size:12px;font-weight:500;letter-spacing:.7px;color:#66715d;margin:0 0 26px}.apartment-area{font:400 clamp(38px,4.3vw,56px)/1 Georgia,serif;margin:0 0 24px;letter-spacing:-2px}.apartment-area small{font:400 18px Segoe UI,Arial,sans-serif;letter-spacing:0;color:#79836f}.apartment-meta{font-size:12px;color:#56664b;margin:0 0 9px}.apartment-description{font-size:12px;line-height:1.7;color:#78816e;margin:0 0 26px;min-height:41px}
.apartment-card button{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:48px;background:#f0f1e8;border:1px solid #c5cdb8;border-radius:8px;padding:14px 16px;margin-top:auto;text-align:left;font-size:12px;transition:background .18s,box-shadow .18s}.apartment-card button span{font-size:18px;line-height:1}.apartment-card button:hover{background:#e4e9d9;box-shadow:0 4px 14px #34493510}.apartment-ready button{background:linear-gradient(115deg,#344935,#536b43);color:#fffdf5;border-color:#526847;box-shadow:0 5px 16px #435d4130,0 0 24px #c5ba7a26,inset 0 1px 0 #dce5bd40}.apartment-ready button:hover{background:linear-gradient(115deg,#3e5840,#607c4c);box-shadow:0 7px 20px #435d4145,0 0 28px #c5ba7a38}
.picker-styles{margin-top:32px;padding-top:24px;border-top:1px solid #dfe1d5;text-align:center;color:#68765d;font-size:12px;line-height:1.8}.picker-styles>p{margin:0 0 12px;font-size:10px;letter-spacing:.6px;color:#7d866f}.picker-styles>div{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 30px}.picker-styles span{display:flex;align-items:center;gap:9px}.picker-styles i{display:inline-block;width:18px;height:18px;border-radius:50%;box-shadow:0 0 0 3px #fcfaf6}.swatch-classic{background:linear-gradient(90deg,#e4d5bd 50%,#b89550 50%)}.swatch-japandi{background:linear-gradient(90deg,#d3b78e 50%,#849080 50%)}.swatch-elegant{background:linear-gradient(90deg,#88654d 50%,#3a4c50 50%)}
#choose-apartment{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;min-height:44px;padding:11px 12px;margin:0 0 28px;border:1px solid #c5cdb8;border-radius:8px;background:#eef1e5;color:#3f5438;font-size:11px;text-align:left}#choose-apartment:hover{background:#e2e9d7;border-color:#9cac8b}.return-arrow{font-size:19px;line-height:1;flex-shrink:0}
#apartment-pending{border:1px solid #d7dbce;border-radius:16px;padding:32px;max-width:440px;width:calc(100% - 40px);color:#29362d;background:#faf8f3}#apartment-pending::backdrop{background:#1b281cb3}#apartment-pending h2{font:30px Georgia,serif}#apartment-pending p{font-size:13px;line-height:1.7}#apartment-pending button{background:#344935;color:white;padding:13px 20px;border-radius:6px;margin-top:16px}
@media(max-width:760px){#apartment-picker{padding:35px 20px}.apartment-grid{grid-template-columns:1fr}.apartment-card{padding:26px 23px 23px}.apartment-card h2{margin-bottom:20px}.apartment-area{font-size:46px}.apartment-description{min-height:0}.picker-order{margin-top:28px}.picker-styles>div{gap:12px 22px}.top-actions{gap:8px}.brand>span:last-child{display:none}.sidebar #choose-apartment{width:44px;min-width:44px;height:36px;min-height:36px;justify-content:center;margin:0;padding:6px;flex-shrink:0}.sidebar .return-label{display:none}.sidebar .mode-switch{flex:1;min-width:0}}
@media(prefers-reduced-motion:reduce){.apartment-card button{transition:none}}
.mobile-tools,.mobile-settings-heading,.return-mobile,#move-stick{display:none}
#move-stick{position:absolute;left:22px;bottom:26px;width:108px;height:108px;z-index:4;border:1px solid #fff;background:#faf8f2c9;border-radius:50%;touch-action:none;user-select:none;box-shadow:0 4px 24px #29362d20}
#move-stick i{position:absolute;width:48px;height:48px;left:29px;top:29px;border-radius:50%;background:#657b53;border:2px solid #f9f8ed;box-shadow:0 2px 12px #29362d30;pointer-events:none}#move-stick span{position:absolute;top:-23px;width:100%;text-align:center;font-size:10px;color:#4d6045;pointer-events:none}
@media(pointer:coarse){body.walk #move-stick{display:block}body.walk #touch-controls{display:none}body.walk .bottom-left{display:none}}
@media(max-width:760px){
 .topbar{height:56px;padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}.topbar .brand,.topbar .download{display:none}.top-actions{margin-left:auto}.top-meta{display:flex;font-size:10px;letter-spacing:.5px;gap:9px}
 .app{height:calc(100dvh - 56px)}.sidebar{height:calc(72px + env(safe-area-inset-bottom));padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));gap:8px;overflow:visible;z-index:12;background:#faf8f3}
 .sidebar #choose-apartment{position:fixed;top:7px;left:max(12px,env(safe-area-inset-left));z-index:20;width:auto;height:42px;min-height:42px;gap:8px;padding:8px 12px}.return-mobile{display:inline;font-size:11px}.sidebar .return-label{display:none}
 .sidebar .mode-switch{width:auto;flex:1.1;max-width:none;height:48px;padding:3px}.mode-switch button{min-height:42px;font-size:11px}.mobile-tools{display:flex;flex:1;gap:6px;height:48px}.mobile-tools button{flex:1;min-width:0;min-height:44px;border-radius:7px;border:1px solid #cbd3bd;background:#f0f2e8;font-size:11px;padding:6px}.mobile-tools button[aria-expanded="true"]{background:#344935;color:#fff}
 .view-top{top:12px;left:12px;right:12px}.view-actions #style-toggle{display:none}.view-actions button{width:40px;height:40px;font-size:23px}.status-pill{font-size:8px}.environment-controls{display:none}
 .settings-open .environment-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;left:12px;right:12px;top:auto;bottom:12px;max-width:none;max-height:calc(100% - 72px);overflow:auto;padding:14px;background:#faf8f3fa;border:1px solid #d7ddce;border-radius:14px;z-index:9;box-shadow:0 8px 32px #29362d25;backdrop-filter:none}.environment-controls>span{display:none}.environment-controls button{min-height:44px;font-size:12px;padding:10px;background:#eef0e5;border:1px solid #d9dfce;border-radius:6px}.environment-controls button.selected{background:#dae4ce;color:#30462b}
 .mobile-settings-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.mobile-settings-heading button{width:44px;font-size:24px;background:transparent;border:0}
 #style-panel{top:auto;bottom:12px;left:12px;right:12px;max-height:calc(100% - 72px);padding:16px;border:1px solid #d7ddce;border-radius:14px;background:#faf8f3fc;backdrop-filter:none}.style-note{font-size:10px}.style-label small{font-size:10px}
 .room-card{display:none}.minimap{width:76px;height:112px;bottom:27px;right:12px;padding:7px;background:#faf8f2e8;backdrop-filter:none}.minimap svg{height:82px}.view-footer{bottom:8px}.view-footer>span:first-child{max-width:70%}.instructions{font-size:10px;max-width:260px;background:#faf8f2d9;backdrop-filter:none}
 #move-stick{left:max(16px,env(safe-area-inset-left));bottom:30px}body.walk .bottom-left{display:none}.settings-open #move-stick,.settings-open .minimap{visibility:hidden}
 #viewer:fullscreen .view-actions #style-toggle{display:flex}#viewer:fullscreen .environment-controls{display:flex;top:65px;bottom:auto;left:12px;right:12px;max-height:40vh}#viewer:fullscreen .mobile-settings-heading{display:none}
 #error{padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center}#error h2{font-size:22px}#error a,#error button{min-height:44px;margin:6px}
}
@media(max-width:760px) and (max-height:500px){.topbar{height:48px}.app{height:calc(100dvh - 48px)}.sidebar{height:calc(60px + env(safe-area-inset-bottom));padding-top:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom))}.sidebar #choose-apartment{top:3px}.minimap{display:none!important}#move-stick{width:88px;height:88px;bottom:18px}#move-stick i{left:19px;top:19px}.view-footer,.instructions{display:none}.style-intro,.style-note{display:none}#style-options{gap:6px}.style-option{min-height:65px}}
