:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#20313c;background:#f4f6f7;font-synthesis:none;font-size:16px;--navy:#122531;--orange:#dd7b3b;--muted:#637580;--border:#dce3e6}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #e79352;outline-offset:3px}button:disabled{opacity:.45;cursor:default}svg{display:block}button svg{width:20px;height:20px;flex-shrink:0}button{border:0}button:hover{filter:brightness(.97)}[hidden]{display:none!important}.topbar{height:84px;background:var(--navy);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 32px}.brand{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none;font-size:24px;letter-spacing:.16em;font-weight:600}.brandmark{display:grid;place-items:center;width:40px;height:46px;border:1px solid #68808d;color:#ef9658;border-radius:4px}.brandmark svg{width:28px;height:30px}.brand-sub{display:block;font-size:12px;font-weight:400;letter-spacing:.16em;color:#becbd2;margin-top:5px}.header-right{display:flex;align-items:center;gap:22px}.preliminary{font-size:13px;letter-spacing:.015em;border:1px solid #50606a;border-radius:20px;padding:7px 12px;color:#d9e1e6}.quiet{display:flex;align-items:center;justify-content:center;gap:7px;background:transparent;color:#334c5b;padding:9px 12px;font-size:14px;border-radius:6px}.quiet.light{color:#dce5eb}.workspace{display:grid;grid-template-columns:178px minmax(420px,1fr) minmax(360px,.86fr);min-height:calc(100dvh - 84px)}.floor-sidebar{padding:30px 22px;border-right:1px solid var(--border);background:#edf1f3;display:flex;flex-direction:column}.section-eyebrow{font-size:12px;font-weight:600;letter-spacing:.13em;color:#71828c;line-height:1.5}.sidebar-heading{font-size:20px;line-height:1.35;font-weight:500;margin:14px 0 25px;letter-spacing:-.03em}.floor-buttons{display:flex;flex-direction:column;gap:4px;max-height:540px;overflow:auto;scrollbar-width:thin}.floor-button{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border-radius:5px;background:transparent;color:#607581;font-size:14px;border:1px solid transparent}.floor-button span{font-variant-numeric:tabular-nums}.floor-button small{font-size:12px;color:#8a99a0}.floor-button:hover{background:#e2e8eb}.floor-button.active{background:#fff;color:#233c49;border-color:#d8e0e5;box-shadow:0 2px 5px #15293908;position:relative}.floor-button.active:before{content:"";position:absolute;left:-1px;top:9px;bottom:9px;width:3px;border-radius:2px;background:var(--orange)}.floor-button.active small{color:var(--orange)}.sidebar-footer{margin-top:25px;color:#6c7e88;font-size:12px;line-height:1.6}.sidebar-footer small{display:block;font-size:12px;color:#87969e}.tiny-line{display:block;width:24px;border-top:2px solid var(--orange);margin-bottom:12px}.album{padding:30px 30px 24px;min-width:0;background:#f9fafb}.album-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}h1{font-size:36px;font-weight:500;letter-spacing:-.035em;margin:7px 0 0;line-height:1.15}.plan-type{font-size:13px;background:#eef2f4;color:#5c717c;padding:7px 10px;border-radius:5px;white-space:nowrap}.album-description{font-size:16px;line-height:1.6;color:#6d7f89;max-width:440px;margin:15px 0 18px}.album-summary{display:flex;align-items:center;gap:10px;font-size:12px;color:#697c87;margin-bottom:21px}.summary-separator{width:3px;height:3px;border-radius:50%;background:#99a8af}.apartment-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.apartment-card{display:flex;flex-direction:column;text-align:left;background:#fff;border:1px solid #dce3e7;border-radius:8px;overflow:hidden;padding:0;transition:border-color .2s,box-shadow .2s,transform .2s}.apartment-card:hover,.apartment-card:focus-visible{border-color:#de995f;box-shadow:0 4px 20px #2643520c;transform:translateY(-2px);filter:none}.card-image{width:100%;height:145px;background:#f1f4f5;position:relative;display:flex;align-items:center;justify-content:center;padding:12px}.card-image svg{height:100%;width:100%;max-width:190px}.card-image .unit-number{position:absolute;top:10px;left:12px;font-size:12px;color:#96a5ad;letter-spacing:.06em}.card-details{padding:13px 14px 15px;display:flex;justify-content:space-between;gap:8px;align-items:start;width:100%}.card-name{font-size:16px;display:block;font-weight:600;color:#263e4c}.card-hint{display:block;font-size:12px;color:#8b999f;margin-top:5px}.card-area{font-size:17px;white-space:nowrap;color:#334f5d;font-weight:500;text-align:right;line-height:1.2}.card-area small{display:block;font-size:12px;font-weight:400;color:#8a9ba4;margin-top:5px}.album-footnote{color:#7e8e97;font-size:12px;line-height:1.6;margin:20px 0 0}.building-panel{min-width:0;display:flex;flex-direction:column;position:relative;border-left:1px solid var(--border);background:#e7eef1;padding:28px 24px 20px;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.panel-header h2{font-size:20px;font-weight:500;letter-spacing:-.02em;margin:7px 0 0}.model-tag{font-size:12px;border:1px solid #bbcbd3;border-radius:5px;padding:6px 8px;color:#718791}.building-stage{flex:1;position:relative;min-height:530px;width:100%}.viewer-host{position:absolute;inset:0;overflow:hidden}.viewer-host canvas{width:100%;height:100%;display:block;touch-action:none}.floor-label{position:absolute;bottom:19px;right:13px;background:#ffffffb8;backdrop-filter:blur(6px);border:1px solid #ffffffcc;padding:8px 12px;border-radius:5px;font-size:13px;color:#3e5b6a;pointer-events:none}.model-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;font-size:14px;color:#597380;pointer-events:none}.loader-ring{width:26px;height:26px;border:2px solid #bbcad1;border-top-color:var(--orange);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:1}.segmented{display:flex;border:1px solid #ced9df;border-radius:6px;padding:3px;background:#e8edf0;gap:2px}.segmented button{background:transparent;color:#6b7e88;font-size:14px;padding:7px 12px;border-radius:4px;white-space:nowrap}.segmented button.active{background:#fff;color:#284857;box-shadow:0 1px 4px #213d4e12}.icon-button{border:1px solid #ced9df;border-radius:6px;background:#ffffffbd;color:#536f7f;display:grid;place-items:center;width:36px;height:36px;padding:7px}.viewer-caption{display:flex;align-items:start;gap:7px;font-size:12px;line-height:1.6;color:#7b8e98;margin-top:15px}.orange-key{display:inline-block;width:8px;height:8px;background:#df873f;border-radius:2px;flex-shrink:0;margin-top:4px}.empty{grid-column:1/-1;padding:40px 20px;text-align:center;color:#768991}dialog{padding:0;border:1px solid #d7e1e7;border-radius:12px;box-shadow:0 20px 100px #101f3366;color:#223b49;background:#fff}dialog::backdrop{background:#12253199;backdrop-filter:blur(5px)}#apartmentDialog{width:min(1370px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 40px);overflow:auto}.detail-shell{display:flex;flex-direction:column}.detail-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 25px;border-bottom:1px solid #e4eaee}.detail-title-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.detail-floor{font-size:12px;letter-spacing:.07em;color:#69808d}.detail-title-row h2{font-size:26px;font-weight:500;letter-spacing:-.03em;margin:0}.provisional-label{font-size:12px;color:#b77a48;background:#faf2e9;padding:5px 8px;border-radius:4px}.close-button{width:35px;height:35px;display:grid;place-items:center;flex-shrink:0;background:#edf2f4;color:#6c818d;border-radius:50%;font-size:26px;line-height:1}.detail-meta{display:flex;gap:40px;padding:20px 25px}.detail-meta>div{display:flex;flex-direction:column;gap:7px}.detail-meta span{font-size:12px;color:#7b8d97}.detail-meta strong{font-size:21px;font-weight:500;letter-spacing:-.02em}.detail-meta .detail-source{margin-left:auto}.detail-meta .detail-source strong{font-size:15px;padding-top:4px;color:#637e8c}.detail-views{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e3e9ed;border-bottom:1px solid #e3e9ed;min-height:450px;height:min(57dvh,600px)}.apartment-panel,.detail-building{min-width:0;display:flex;flex-direction:column;position:relative}.apartment-panel{background:#f7f8f9;border-right:1px solid #dce5ea}.detail-building{background:#e7eef1}.detail-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 21px;z-index:1}.detail-panel-head h3{font-size:14px;font-weight:500;margin:0}.detail-panel-head .segmented button{padding:5px 13px}.apartment-stage{position:relative;flex:1;min-height:0}.flat-plan{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;padding:20px}.flat-plan svg{width:100%;height:100%;max-width:500px}.floating-reset{position:absolute;right:18px;bottom:16px;z-index:2}.apartment-message{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:30px;font-size:14px;color:#718490;text-align:center;pointer-events:none}.apartment-bottom,.selection-bottom{display:flex;align-items:center;gap:7px;padding:12px 21px 16px;font-size:12px;color:#7c919c}.small-dot{width:6px;height:6px;background:#8a9b8d;border-radius:50%}.selection-badge{font-size:12px;color:#b36f39;border:1px solid #e8c6a7;border-radius:4px;padding:6px 9px;background:#fff4e8}.detail-building-slot{position:relative;flex:1;min-height:0}.detail-building-slot .building-stage{height:100%;min-height:0}.detail-building-slot .floor-label{display:none}.detail-building-slot .viewer-toolbar{position:absolute;bottom:15px;left:20px;right:20px}.detail-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 19px}.detail-footer p{font-size:12px;color:#82939b;text-align:center;margin:0}.info-shell{padding:24px 28px;max-width:620px}.info-shell header{display:flex;justify-content:space-between;align-items:center;gap:16px}.info-shell h2{font-size:23px;font-weight:500;margin:0}.info-shell p{font-size:15px;line-height:1.6;color:#637b89;margin:22px 0}.info-shell dl{font-size:14px;line-height:1.6}.info-shell dt{font-weight:600;margin:17px 0 4px}.info-shell dd{margin:0;color:#6f848f;overflow-wrap:anywhere}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#263f4d;color:#fff;border-radius:7px;padding:12px 20px;font-size:14px;z-index:100}.noscript{padding:30px}.unit-svg .dwg-furniture{stroke:#7d919b;stroke-width:.028}.unit-svg .dwg-walls{stroke:#3c505d;stroke-width:.065}.unit-svg .dwg-windows{stroke:#6d95a8;stroke-width:.035}.unit-svg .dwg-detail{stroke:#a5b4bc;stroke-width:.018}.unit-svg .unit-floor{fill:#fcfcfb;stroke:#cbd5da;stroke-width:.04}.unit-svg .unit-balcony{fill:#e6ecec;stroke:#b6c7cc;stroke-width:.04}@media(min-width:1600px){.workspace{grid-template-columns:190px minmax(550px,1.1fr) minmax(480px,1fr)}.album{padding:36px 42px}.apartment-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.card-image{height:180px}.building-stage{min-height:660px}}@media(max-width:1120px){.workspace{grid-template-columns:130px minmax(350px,1fr) minmax(300px,.85fr)}.topbar{padding:0 22px}.floor-sidebar{padding:25px 14px}.sidebar-heading{font-size:17px}.album{padding:26px 20px}.building-panel{padding:25px 16px 18px}.card-image{height:130px}.card-details{flex-direction:column;gap:9px}.card-area{text-align:left;font-size:15px}.card-area small{display:inline;margin-left:7px}.detail-meta{gap:24px}.detail-meta strong{font-size:18px}}@media(max-width:850px){.workspace{grid-template-columns:110px 1fr;min-height:auto}.building-panel{grid-column:2;border-top:1px solid var(--border);border-left:0;min-height:540px}.floor-sidebar{grid-row:1/3}.floor-buttons{max-height:none}.floor-button{padding:10px 6px}.floor-button small{display:none}.sidebar-heading{display:none}.floor-sidebar .section-eyebrow{margin-bottom:18px;font-size:12px}.album{padding:25px}.building-stage{min-height:430px}.building-panel{padding:24px}.card-details{flex-direction:row}.detail-views{height:440px;min-height:400px}.detail-panel-head{padding:14px 12px;flex-wrap:wrap}.detail-footer p{display:none}.detail-meta{gap:18px;padding:16px 20px}.detail-meta strong{font-size:18px}.detail-meta .detail-source{display:none}.detail-meta span{font-size:12px}}@media(max-width:600px){.topbar{height:74px;padding:0 17px}.brand{font-size:20px;gap:10px}.brandmark{width:34px;height:38px}.brand-sub{font-size:12px;letter-spacing:.1em}.header-right{gap:8px}.quiet.light span{display:none}.preliminary{font-size:12px;padding:6px 8px}.workspace{display:flex;flex-direction:column}.floor-sidebar{border-right:0;padding:17px 16px 0;background:#f9fafb}.floor-sidebar .section-eyebrow{margin-bottom:9px}.floor-buttons{flex-direction:row;gap:4px;overflow:auto;padding-bottom:7px}.floor-button{flex-shrink:0;padding:9px 13px;font-size:14px}.floor-button:before{display:none}.floor-button.active{background:#213d4d;color:#fff;border-color:#213d4d}.sidebar-footer{display:none}.album{padding:22px 16px}.album-heading h1{font-size:29px}.album-description{font-size:16px}.card-image{height:140px}.card-details{padding:13px 12px;flex-direction:column}.card-name{font-size:15px}.card-area small{display:inline}.apartment-cards{gap:12px}.building-panel{min-height:540px;padding:25px 16px}.panel-header h2{font-size:19px}#apartmentDialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:9px}.detail-header{padding:14px 16px}.detail-title-row{gap:10px}.detail-title-row h2{font-size:21px}.provisional-label{font-size:12px}.detail-floor{font-size:12px}.detail-meta{gap:20px;justify-content:space-between;padding:15px 16px}.detail-meta strong{font-size:17px}.detail-meta span{font-size:12px}.detail-views{grid-template-columns:1fr;height:auto;min-height:0}.apartment-panel{height:405px;border-right:0;border-bottom:1px solid #dce5ea}.detail-building{height:445px}.detail-footer{position:sticky;bottom:0;background:#fff;padding:8px 12px}.detail-panel-head{padding:14px 17px}.info-shell{padding:20px;max-height:85dvh;overflow:auto}.info-shell p,.info-shell dl{font-size:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}
@media(min-width:1350px) and (max-width:1599px){.apartment-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.card-image{height:132px}.card-details{flex-direction:column;gap:8px}.card-area{font-size:16px;text-align:left}.card-area small{display:inline;font-size:12px;margin-left:4px}.card-hint{font-size:12px}.album{padding-left:26px;padding-right:26px}.brand-sub{font-size:12px}}
.report-link{background:transparent;padding:5px 0;color:#b4713d;font-size:13px;text-decoration:underline;text-underline-offset:4px}.album-summary .report-link{margin-left:auto;white-space:nowrap}.report-flat{position:absolute;inset:0;background:#020020;display:flex;gap:16px;align-items:center;justify-content:center;padding:20px;color:#d5d8e0}.report-flat>img{height:100%;width:47%;object-fit:contain}.report-flat>div{max-width:170px;font-size:13px;line-height:1.6}.report-flat .report-link{color:#f0a969;font-size:14px;margin:10px 0}.report-flat p{color:#929dad;font-size:12px;margin:5px 0}.report-flat span{font-size:14px}.report-shell{padding:24px}.report-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.report-header h2{font-size:26px;font-weight:500;letter-spacing:-.03em;margin:7px 0 0}#reportDialog{width:min(1320px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);overflow:auto}.report-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:26px}.report-schedule h3{font-size:16px;font-weight:500;margin:0 0 15px}.report-schedule h3:not(:first-child){margin-top:30px}.report-schedule table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.report-schedule th{font-weight:500}.report-schedule thead th{font-size:12px;color:#7f909a;padding:0 6px 12px}.report-schedule tbody td,.report-schedule tbody th{padding:12px 6px;border-top:1px solid #e3e9ed}.report-schedule td{color:#5e7583;white-space:nowrap}.report-mix{padding:13px 0;border-top:1px solid #e3e9ed;font-size:14px;line-height:1.5}.report-mix strong{display:block;font-weight:500}.report-mix span{display:block;color:#718590;margin-top:4px}.report-notice{font-size:13px;line-height:1.6;color:#9a744f;background:#faf4eb;border-radius:6px;padding:14px;margin:22px 0 0}.report-images{min-width:0;display:flex;flex-direction:column;align-items:start;gap:14px}.report-image-scroll{width:100%;max-height:62dvh;overflow:auto;background:#020020;border-radius:6px;position:relative}.report-image-scroll img{display:block;width:100%;height:auto}.report-image-scroll img.zoomed{width:180%;max-width:none}.report-zoom{position:sticky;bottom:12px;left:12px;margin:0 12px 12px;background:#f7fafbdc;backdrop-filter:blur(5px);color:#3b5362;font-size:13px;border-radius:5px;padding:8px 12px}.report-images>p{font-size:12px;color:#80909a;margin:0}.detail-panel-head .segmented button{font-size:13px}@media(max-width:850px){.report-layout{grid-template-columns:1fr}.report-schedule{display:grid;grid-template-columns:1fr 1fr;gap:14px}.report-schedule h3{display:none}.report-schedule .report-notice{grid-column:1/-1;margin:0}.report-mix{padding:9px 0}.report-images{min-width:0}.report-shell{padding:20px}.report-image-scroll{max-height:55dvh}}@media(max-width:600px){.album-summary{flex-wrap:wrap;row-gap:9px}.album-summary .report-link{font-size:12px}.report-flat{padding:15px;gap:12px}.report-flat>img{width:55%}.report-flat>div{width:40%;font-size:12px}.report-flat span{font-size:12px}#reportDialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.report-shell{padding:17px}.report-header h2{font-size:22px}.report-schedule{grid-template-columns:1fr}.report-schedule .report-notice{grid-column:1}.report-schedule td{font-size:14px}.report-image-scroll{max-height:50dvh}.report-images .segmented button{font-size:12px;padding:7px 9px}}

.brand{font-size:20px;letter-spacing:0}.status-legend{display:flex;flex-wrap:wrap;gap:12px;padding:12px 20px;font-size:14px;font-weight:650}.status-editor{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 24px;background:#edf3f7;font-size:14px}.status-editor select,.status-editor button{font:inherit;padding:9px 12px;border:1px solid #bacbd7;border-radius:6px;background:white;color:#122531}.status-editor #saveStatus{background:#122531;color:white}.status-editor button:disabled{opacity:.5}.status-badge{font-size:14px;font-weight:700}.status-editor #statusNotice{flex:1}.floor-buttons{overflow:auto}.detail-shell{overflow:auto}@media(max-width:600px){.brand{font-size:16px}.status-editor{padding:12px}.header-right .preliminary{display:none}}
.topbar{gap:24px}.page-nav{display:flex;gap:4px;margin-right:auto;margin-left:28px;background:#ffffff10;border:1px solid #ffffff1f;border-radius:999px;padding:4px}.page-nav a{color:#c9d5dc;text-decoration:none;font-size:14px;padding:8px 16px;border-radius:999px;white-space:nowrap}.page-nav a:hover{color:#fff}.page-nav a[aria-current=page]{background:#fff;color:var(--navy);font-weight:600}.card-type{font-style:normal;font-size:12px;font-weight:600;color:#b36f39;background:#fff4e8;border:1px solid #f0d4b9;border-radius:4px;padding:2px 6px;margin-left:6px;vertical-align:2px}.report-download{display:inline-flex;margin-top:14px;text-decoration:none}.report-shell th,.report-shell td{text-align:left}
@media(max-width:850px){.page-nav{margin-left:8px}.page-nav a{padding:7px 11px;font-size:13px}}
@media(max-width:600px){.topbar{height:auto;flex-wrap:wrap;padding:12px 16px;gap:10px}.page-nav{order:3;width:100%;margin:0;justify-content:center}.page-nav a{flex:1;text-align:center}}
.unit-svg .unit-wall{fill:#3c505d}.card-area{white-space:normal}.card-area small{display:block!important;margin:5px 0 0!important}.report-flat span{display:block}

.view-toggle{position:absolute;top:12px;left:16px;z-index:2;background:#ffffffe6}.view-toggle button{padding:6px 12px;font-size:13px}
.apartment-bottom{flex-wrap:wrap;row-gap:8px}.bottom-note{flex:1;min-width:180px}.download-bar{display:flex;align-items:center;gap:8px;margin-left:auto}.dl-label{font-size:12px;font-weight:600;color:#3b5361}
.dl-btn{display:inline-flex;align-items:center;gap:6px;background:#dd7b3b;color:#fff!important;text-decoration:none;font-size:13px;font-weight:600;padding:8px 13px;border-radius:999px;border:0;line-height:1}.dl-btn svg{width:15px;height:15px}.dl-btn:hover{background:#c96a2d;filter:none}.dl-btn:disabled{background:#c9d3d9;opacity:1}
.card-image img.card-render{width:100%;height:100%;object-fit:contain;display:block}
@media(max-width:600px){.dl-label{display:none}.download-bar{width:100%;justify-content:stretch}.dl-btn{flex:1;justify-content:center;padding:10px}}

.status-legend{gap:14px;font-weight:600;font-size:13px;color:#3b5361}.status-legend span{display:inline-flex;align-items:center;gap:6px}.status-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.status-badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--st)}.status-badge:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--st)}
.apartment-card.status-free{border-color:#bfe5cc}.apartment-card.status-reserved{border-color:#f6d1a6;background:#fffaf3}
.apartment-card.status-sold{background:#f1f3f4;border-color:#dde2e5}.apartment-card.status-sold .card-image{filter:grayscale(1);opacity:.55}.apartment-card.status-sold .card-name,.apartment-card.status-sold .card-area{color:#8a979e}
.apartment-card[aria-disabled=true]{cursor:not-allowed;pointer-events:auto}.apartment-card[aria-disabled=true]:hover{transform:none;box-shadow:none;border-color:#dde2e5}

.pano-btn{background:#122531!important}.pano-btn:hover{background:#21394a!important}
#panoDialog{width:100vw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;background:#000;margin:0}
.pano-shell{position:relative;width:100%;height:100%}.pano-host{position:absolute;inset:0}.pano-host canvas{width:100%;height:100%;display:block;cursor:grab}
.pano-top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:start;padding:16px 20px;background:linear-gradient(#000a,#0000);color:#fff;pointer-events:none}.pano-top h2{margin:0;font-size:20px;font-weight:600}.pano-top p{margin:4px 0 0;font-size:13px;color:#d8e2e8}.pano-top .close-button{pointer-events:auto}
.pano-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;color:#fff;font-size:14px;pointer-events:none}
.pano-bottom{position:absolute;left:0;right:0;bottom:34px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding:0 16px;pointer-events:none}
.pano-compass{display:flex;align-items:center;gap:8px;color:#fff;font-size:13px;font-weight:600;background:#12253199;padding:5px 12px 5px 5px;border-radius:999px;pointer-events:auto}.pano-compass svg{width:34px;height:34px;transition:transform .05s}
.pano-heights{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;background:#12253199;padding:5px;border-radius:999px;pointer-events:auto}.pano-heights button{background:transparent;color:#dfe7ec;font-size:13px;padding:7px 11px;border-radius:999px}.pano-heights button.active{background:#dd7b3b;color:#fff;font-weight:600}
.pano-note{position:absolute;left:0;right:0;bottom:8px;text-align:center;color:#cbd5db;font-size:11px;margin:0;pointer-events:none}
@media(max-width:600px){.pano-heights button{padding:6px 8px;font-size:12px}.pano-top h2{font-size:16px}}

.tour-btn{background:#1f6f4a!important}.tour-btn:hover{background:#185c3d!important}
#tourDialog{width:100vw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;background:#000;margin:0}
.tour-shell{position:relative;width:100%;height:100%}.tour-host{position:absolute;inset:0}.tour-host canvas{width:100%;height:100%;display:block;cursor:grab}
.tour-caption{position:absolute;left:20px;bottom:86px;max-width:440px;background:#122531d9;color:#fff;border-radius:12px;padding:14px 18px;backdrop-filter:blur(6px)}.tour-caption strong{display:block;font-size:20px;font-weight:600;margin:4px 0 6px}.tour-caption p{margin:0;font-size:14px;line-height:1.5;color:#d8e2e8}.tour-step{font-size:12px;color:#f0a969;font-weight:600;letter-spacing:.06em}
.tour-bar{position:absolute;left:0;right:0;bottom:18px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:0 16px}
.tour-bar>button{background:#122531d9;color:#fff;border-radius:999px;min-width:42px;height:40px;font-size:20px;padding:0 14px}.tour-bar .tour-play{background:#dd7b3b;font-size:14px;font-weight:600;min-width:90px}
.tour-list{display:flex;gap:4px;background:#122531b3;border-radius:999px;padding:4px;flex-wrap:wrap;justify-content:center}.tour-list button{background:transparent;color:#dfe7ec;font-size:13px;padding:7px 11px;border-radius:999px}.tour-list button.active{background:#fff;color:#122531;font-weight:600}
@media(max-width:600px){.tour-caption{left:10px;right:10px;bottom:130px;max-width:none}.tour-list button{font-size:12px;padding:6px 8px}}
@media(min-width:851px){.workspace{align-items:start}.building-panel{position:sticky;top:0;height:calc(100dvh - 84px)}.building-panel .building-stage{min-height:0;flex:1}.floor-sidebar{position:sticky;top:0;height:calc(100dvh - 84px);overflow:auto}}

.tour-bar .tour-free{background:#1f6f4a;font-size:14px;font-weight:600}.tour-bar .tour-free.active{background:#fff;color:#122531}
.tour-map{position:absolute;right:16px;top:74px;background:#122531d9;border-radius:12px;padding:8px;backdrop-filter:blur(6px);display:flex;flex-direction:column;align-items:center;gap:4px}
.tour-map canvas{display:block;cursor:pointer;border-radius:6px}.tour-map span{font-size:11px;color:#c9d6de}
.tour-pad{position:absolute;right:20px;bottom:86px;display:grid;grid-template-columns:repeat(3,46px);grid-template-rows:repeat(2,46px);gap:6px;grid-template-areas:". up ." "lt dn rt"}
.tour-pad button{background:#122531d9;color:#fff;border-radius:12px;font-size:18px;touch-action:none;user-select:none;-webkit-user-select:none}.tour-pad button:active{background:#dd7b3b}
.tour-pad .up{grid-area:up}.tour-pad .lt{grid-area:lt}.tour-pad .dn{grid-area:dn}.tour-pad .rt{grid-area:rt}
@media(max-width:600px){.tour-map{top:64px;right:10px;padding:6px}.tour-pad{right:10px;bottom:auto;top:auto;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(2,40px);bottom:240px}}
