:root{color-scheme:dark;font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,system-ui,sans-serif;--bg: #0d1311;--panel: rgba(15, 24, 21, .94);--panel-2: rgba(24, 35, 31, .92);--line: rgba(205, 222, 213, .14);--text: #edf3ef;--muted: #9eaaa4;--gold: #d1a44c;--gold-soft: #f0c871;--green: #50c985;--red: #f06f5e;--amber: #df9c45}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{color:inherit}.app-shell{position:relative;height:100%;background:var(--bg);color:var(--text)}.topbar{height:52px;display:flex;align-items:center;gap:24px;padding:0 20px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 20% -80%,rgba(111,149,129,.22),transparent 36%),repeating-radial-gradient(ellipse at 24% 0%,transparent 0 13px,rgba(161,191,175,.035) 14px 15px),#0c1210;position:relative;z-index:30}.brand{display:flex;align-items:center;gap:8px;white-space:nowrap}.brand-mark{display:grid;place-items:center;color:var(--gold-soft)}.brand strong{color:var(--gold-soft);font-size:18px;letter-spacing:.08em}.brand i{width:3px;height:3px;border-radius:50%;background:var(--muted);margin:0 2px}.brand span:last-child{font-size:16px}.status{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.status>span{width:7px;height:7px;background:var(--amber);border-radius:50%;box-shadow:0 0 0 3px #df9c451f}.status>span.online{background:var(--green);box-shadow:0 0 0 3px #50c9851f}.city-rank-trigger,.favorites-trigger,.interior-analysis-trigger,.exemplar-model-trigger,.account-trigger{position:relative;height:32px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid rgba(209,164,76,.35);border-radius:5px;background:#d1a44c14;color:#ead6a5;font-size:11px;cursor:pointer;white-space:nowrap}.city-rank-trigger:hover,.favorites-trigger:hover,.interior-analysis-trigger:hover,.exemplar-model-trigger:hover,.account-trigger:hover{border-color:#d1a44cad;background:#d1a44c24}.interior-analysis-trigger{margin-left:-13px;margin-right:auto;border-color:#59bb8f61;background:#59bb8f14;color:#b8dfca}.interior-analysis-trigger:hover{border-color:#59bb8fb3;background:#59bb8f24}.exemplar-model-trigger{border-color:#d1a44c7a;background:linear-gradient(90deg,#d1a44c1f,#50c9850f)}.favorites-trigger b{min-width:17px;height:17px;display:grid;place-items:center;border-radius:9px;background:#d1a44c33;color:var(--gold-soft);font-size:9px}.account-trigger{padding-inline:9px;border-color:#85ac994d;background:#85ac9912;color:#c4d8ce}.account-backdrop{position:fixed;z-index:140;inset:0;display:grid;place-items:center;padding:20px;background:#020705ad;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.account-dialog{width:min(440px,100%);overflow:hidden;border:1px solid rgba(225,192,112,.34);border-radius:10px;background:linear-gradient(180deg,#17251f,#0d1512);box-shadow:0 28px 80px #0000008c}.account-dialog>header{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-bottom:1px solid var(--line)}.account-dialog>header>div{display:flex;align-items:center;gap:11px}.account-dialog>header span{display:flex;flex-direction:column;gap:4px}.account-dialog>header strong{font-size:15px}.account-dialog>header small{color:var(--muted);font-size:10px}.account-dialog>header button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:6px;background:#ffffff0a;color:var(--muted);cursor:pointer}.account-dialog nav{display:grid;grid-template-columns:1fr 1fr;margin:14px 14px 0;padding:4px;border:1px solid var(--line);border-radius:7px;background:#0000002b}.account-dialog nav button{height:34px;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer}.account-dialog nav button.is-active{background:#d1a44c29;color:var(--gold-soft)}.account-dialog form{display:grid;gap:13px;padding:16px 14px 18px}.account-dialog label{display:grid;gap:6px;color:#d7e0db;font-size:11px}.account-dialog input{width:100%;height:40px;padding:0 11px;border:1px solid rgba(220,232,226,.17);border-radius:6px;outline:0;background:#0003;color:var(--text)}.account-dialog input:focus{border-color:#d1a44c9e;box-shadow:0 0 0 2px #d1a44c1a}.account-dialog form>p{margin:-2px 0 0;color:#839089;font-size:9px;line-height:1.55}.account-error{padding:8px 10px;border:1px solid rgba(240,111,94,.32);border-radius:5px;background:#f06f5e14;color:#f6a499;font-size:10px}.account-submit{height:42px;border:1px solid rgba(209,164,76,.58);border-radius:6px;background:linear-gradient(90deg,#bd913c,#e2bc69);color:#172018;font-weight:700;cursor:pointer}.account-submit:disabled{opacity:.55;cursor:wait}.account-signed-in{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:18px 16px}.account-signed-in>span{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(209,164,76,.32);border-radius:50%;color:var(--gold-soft);background:#d1a44c14}.account-signed-in>div{min-width:0}.account-signed-in small,.account-signed-in strong{display:block}.account-signed-in small{color:var(--muted);font-size:9px}.account-signed-in strong{margin-top:4px;overflow:hidden;color:#f1e1b9;font-size:13px;text-overflow:ellipsis}.account-signed-in p{margin:8px 0 0;color:#91a099;font-size:10px;line-height:1.6}.account-signed-in>button{grid-column:1 / -1;height:38px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(240,111,94,.28);border-radius:6px;background:#f06f5e12;color:#f1a198;cursor:pointer}.workspace{height:calc(100% - 52px);position:relative;overflow:hidden}.map-canvas{position:absolute;inset:0;background:#18231f}.map-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 80px #03070580;z-index:1}.maplibregl-canvas{outline:none}.maplibregl-ctrl-bottom-left{left:300px;bottom:4px}.maplibregl-ctrl-top-right{right:335px;top:8px}.maplibregl-ctrl-group{background:#0e1814e6;border:1px solid var(--line);box-shadow:0 8px 22px #0003}.maplibregl-ctrl-group button+button{border-top-color:var(--line)}.maplibregl-ctrl button .maplibregl-ctrl-icon{filter:invert(1) brightness(1.4)}.maplibregl-ctrl-scale{background:#0e1814d1;color:#fff;border-color:#ffffff9e}.maplibregl-ctrl-attrib{background:#0e1814c7!important;color:#b9c5bf}.maplibregl-ctrl-attrib a{color:#dce4e0}.mobile-panel-wrap{position:absolute;z-index:10;top:14px;bottom:14px;pointer-events:none}.left-wrap{left:14px;width:278px}.right-wrap{right:14px;width:318px}.side-panel{height:100%;width:100%;overflow:auto;pointer-events:auto;background:linear-gradient(180deg,#111b17f7,#0b1310f5);border:1px solid rgba(201,219,209,.15);box-shadow:0 20px 44px #0000004d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.left-panel{border-radius:7px}.inspector-panel{border-radius:7px;padding-bottom:12px}.panel-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 13px 9px}.panel-title-row>div:first-child{min-width:0}.panel-title-actions{display:flex;align-items:center;gap:5px;flex:0 0 auto}.desktop-collapse{width:31px;height:31px;display:grid;place-items:center;border:1px solid rgba(207,221,213,.14);border-radius:5px;background:#ffffff06;color:#94a29b;cursor:pointer}.desktop-collapse:hover{color:var(--gold-soft);border-color:#d1a44c7a;background:#d1a44c14}.favorite-star{width:31px;height:31px;display:grid;place-items:center;border:1px solid rgba(209,164,76,.2);border-radius:50%;background:#ffffff06;color:#7f8b85;cursor:pointer;transition:.18s ease}.favorite-star:hover{color:var(--gold-soft);border-color:#d1a44c8c;background:#d1a44c17}.favorite-star.is-favorite{color:var(--gold-soft);border-color:#d1a44c9e;background:#d1a44c26;box-shadow:0 0 0 3px #d1a44c0f}.favorite-star:disabled{opacity:.4;cursor:wait}.panel-title-row h2{font-size:14px;margin:0;font-weight:650}.location-name{font-size:11px;color:#c7d0cc;margin:7px 0 0;line-height:1.45;max-width:245px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-close{display:none;border:0;background:transparent;color:var(--muted);font-size:24px;line-height:1}.desktop-panel-restore{position:absolute;z-index:12;top:14px;width:44px;min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(209,164,76,.38);border-radius:7px;background:#0e1814e6;color:#dbc47f;box-shadow:0 12px 28px #00000047;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer}.desktop-panel-restore:hover{border-color:#d1a44cb8;background:#1b2520f2;color:var(--gold-soft)}.desktop-panel-restore span{font-size:10px;letter-spacing:.12em;writing-mode:vertical-rl}.restore-left{left:14px}.restore-right{right:14px}.search-box{margin:0 12px 10px;display:flex;height:36px;background:#00000029;border:1px solid rgba(221,233,227,.16);border-radius:5px}.search-box:focus-within{border-color:#d1a44ca6;box-shadow:0 0 0 2px #d1a44c1f}.search-box input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--text);padding:0 9px;font-size:12px}.search-box input::placeholder{color:#7d8a84}.search-box button{width:36px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}.search-results{margin:-5px 12px 10px;border:1px solid var(--line);background:#17231e;border-radius:5px;overflow:hidden}.search-results button{display:block;width:100%;padding:8px 10px;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;font-size:11px;line-height:1.4;cursor:pointer}.search-results button:hover{background:#ffffff0d}.search-results p{font-size:11px;color:var(--muted);margin:9px}.panel-section{border-top:1px solid var(--line);padding:13px 12px}.panel-section h3,.inspector-section h3{margin:0;font-size:13px;font-weight:600}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.section-heading strong{color:#dfe8e3;font-size:12px}.section-heading span{color:var(--muted);font-size:10px}.layer-list{margin-top:10px}.layer-row{position:relative;display:flex;height:34px;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.035);cursor:pointer}.layer-row span{display:flex;align-items:center;gap:8px;font-size:12px}.layer-row svg{color:#c6d0cb}.layer-row input{position:absolute;opacity:0}.layer-row i{width:27px;height:15px;border-radius:12px;background:#34413b;position:relative;transition:.2s ease}.layer-row i:after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:#84918b;transition:.2s ease}.layer-row input:checked+i{background:#50c98580}.layer-row input:checked+i:after{left:14px;background:#66e19a}.range{width:100%;height:4px;margin:15px 0 7px;accent-color:var(--gold)}.range-labels{display:flex;justify-content:space-between;color:#86938d;font-size:9px}.view-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.view-grid button{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:5px;border:1px solid rgba(255,255,255,.07);background:#ffffff0b;font-size:10px;cursor:pointer}.view-grid button:hover{border-color:#d1a44c6b;background:#d1a44c14}.view-grid button:disabled{opacity:.45;cursor:wait}.microcopy{font-size:9px;color:#78857f;line-height:1.55;margin:9px 0 0}.north-lock{color:#68766f!important}.north-lock.is-active{color:#72d79c!important}.compass-tool-button{width:100%;min-height:58px;margin-top:10px;padding:7px 9px;display:grid;grid-template-columns:36px minmax(0,1fr) 28px;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#ffffff09;text-align:left;cursor:pointer;transition:.18s ease}.compass-tool-button:hover{border-color:#d1a44c7a;background:#d1a44c12}.compass-tool-button.is-active{border-color:#d1a44c8f;background:linear-gradient(90deg,#d1a44c21,#50c9850e)}.compass-tool-button:disabled{opacity:.45;cursor:wait}.compass-tool-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(209,164,76,.3);border-radius:50%;color:var(--gold-soft);background:#d1a44c12}.compass-tool-button>span:nth-child(2){min-width:0}.compass-tool-button strong,.compass-tool-button small{display:block}.compass-tool-button strong{color:#e6ece8;font-size:11px;font-weight:600}.compass-tool-button small{margin-top:4px;color:#78867f;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compass-tool-button>i{width:27px;height:15px;border-radius:12px;background:#34413b;position:relative}.compass-tool-button>i:after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:#84918b;transition:.2s ease}.compass-tool-button.is-active>i{background:#50c98580}.compass-tool-button.is-active>i:after{left:14px;background:#66e19a}.compass-size-control{margin-top:11px;padding:9px 9px 7px;border-radius:5px;background:#00000021}.compass-size-row{display:grid;grid-template-columns:25px minmax(0,1fr) 25px;align-items:center;gap:7px;margin-top:9px}.compass-size-row .range{margin:0}.compass-size-row button{width:25px;height:25px;display:grid;place-items:center;border:1px solid rgba(209,164,76,.28);border-radius:50%;background:#d1a44c12;color:#e9ca7c;font-size:16px;line-height:1;cursor:pointer}.compass-size-row button:hover{border-color:#d1a44c94;background:#d1a44c21}.compass-size-row button:disabled{opacity:.32;cursor:default}.twenty-four-anchor{position:absolute;z-index:3;width:360px;height:360px;transform:translate(-50%,-50%) scale(var(--mountains-scale));transform-origin:center;pointer-events:none;will-change:left,top,transform}.twenty-four-bearing{width:100%;height:100%;transform-origin:center;transition:transform .08s linear}.twenty-four-disc{display:block;width:100%;height:100%;overflow:visible}.mountain-label{fill:#f2d488;font-size:15px;font-weight:650;paint-order:stroke;stroke:#050b08eb;stroke-width:2.5px;stroke-linejoin:round}.degree-tick{stroke:#efdaa57a;stroke-width:.65}.degree-tick.major{stroke:#f1cb70;stroke-width:1.4}.trigram-divider{stroke:#e8d19540;stroke-width:.7}.trigram-symbol{font-family:"Noto Sans Symbols 2",Apple Symbols,serif;font-size:25px;paint-order:stroke;stroke:#050a08db;stroke-width:2px}.trigram-name{font-size:12px;font-weight:750;paint-order:stroke;stroke:#040907f2;stroke-width:2.2px}.trigram-sector.is-sand .trigram-symbol,.trigram-sector.is-sand .trigram-name{fill:#c48654}.trigram-sector.is-water .trigram-symbol,.trigram-sector.is-water .trigram-name{fill:#64b9ec}.north-line{stroke:#ef685b;stroke-width:2}.north-arrow{fill:#ef685b}.north-label{fill:#ff9a8e;font-size:9px;font-weight:700;paint-order:stroke;stroke:#09100d;stroke-width:2px}.mountain-sector,.trigram-sector{pointer-events:all;cursor:pointer;outline:none}.mountain-sector-hit,.trigram-sector-hit{fill:transparent;transition:fill .16s ease}.mountain-sector:hover .mountain-sector-hit,.mountain-sector:focus .mountain-sector-hit{fill:#f0c8671f}.trigram-sector.is-sand:hover .trigram-sector-hit,.trigram-sector.is-sand:focus .trigram-sector-hit{fill:#c4865426}.trigram-sector.is-water:hover .trigram-sector-hit,.trigram-sector.is-water:focus .trigram-sector-hit{fill:#64b9ec24}.mountain-sector:focus .mountain-label{fill:#fff3bd}.trigram-sector.is-sand:focus .trigram-name{fill:#efb37e}.trigram-sector.is-water:focus .trigram-name{fill:#9edaff}.trigram-knowledge-backdrop{position:absolute;z-index:58;inset:0;display:flex;align-items:flex-start;justify-content:center;padding:18px 360px 155px 300px;background:#03080638;pointer-events:auto}.trigram-knowledge-card{width:min(500px,100%);max-height:100%;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(225,192,112,.35);border-radius:9px;background:linear-gradient(180deg,#121d19fb,#080f0cfb);box-shadow:0 26px 70px #00000080;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.trigram-knowledge-header{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border-bottom:1px solid var(--line)}.trigram-identity{display:flex;align-items:center;gap:11px}.trigram-identity>span{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(209,164,76,.42);border-radius:50%;color:var(--gold-soft);background:#d1a44c14;font-size:27px}.trigram-identity small{color:#91a099;font-size:9px}.trigram-identity h2{margin:3px 0 0;font-size:16px}.trigram-knowledge-header>button{width:33px;height:33px;display:grid;place-items:center;border:0;border-radius:5px;background:#ffffff0a;color:#aeb9b3;cursor:pointer}.trigram-sand-water{margin:10px 13px 0;min-height:48px;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;border:1px solid;border-radius:6px}.trigram-sand-water>span{display:flex;align-items:center;gap:7px;color:#e6ece8;font-size:10px;white-space:nowrap}.trigram-sand-water b{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-size:11px}.trigram-sand-water strong{font-size:18px;letter-spacing:.08em;white-space:nowrap}.trigram-sand-water small{justify-self:end;color:#9eaaa4;font-size:8px;line-height:1.4;text-align:right}.trigram-sand-water.is-sand{border-color:#c486547a;background:#854d2824}.trigram-sand-water.is-sand b{background:#c486543d;color:#e1a370}.trigram-sand-water.is-sand strong{color:#d89560}.trigram-sand-water.is-water{border-color:#64b9ec6b;background:#2c7aa821}.trigram-sand-water.is-water b{background:#64b9ec33;color:#9bd8fa}.trigram-sand-water.is-water strong{color:#72c5f3}.trigram-theme{margin:0;padding:10px 13px;display:flex;justify-content:space-between;gap:10px;color:#d7e1dc;font-size:10px}.trigram-theme span{color:#d8bd77;white-space:nowrap}.trigram-tabs{display:grid;grid-template-columns:1fr 1fr;margin:0 13px;padding:3px;border:1px solid var(--line);border-radius:6px;background:#0000002e}.trigram-tabs button{height:32px;border:0;border-radius:4px;background:transparent;color:#8e9b95;font-size:11px;cursor:pointer}.trigram-tabs button.is-active{background:#d1a44c24;color:#f0d591;box-shadow:inset 0 0 0 1px #d1a44c40}.trigram-knowledge-body{min-height:0;overflow:auto;padding:11px 13px;scrollbar-width:thin}.trigram-rule-block{margin-bottom:9px;padding:10px 11px;border:1px solid var(--line);border-radius:6px;background:#ffffff06}.trigram-rule-block.prefer{border-color:#50c98538;background:#50c9850b}.trigram-rule-block.avoid{border-color:#f06f5e38;background:#f06f5e0a}.trigram-rule-block h4{margin:0 0 7px;color:#75d69c;font-size:11px}.trigram-rule-block.avoid h4{color:#f08a7d}.trigram-rule-block p{position:relative;margin:5px 0;padding-left:12px;color:#bdc9c3;font-size:10px;line-height:1.55}.trigram-rule-block p:before{content:"";position:absolute;left:0;top:.58em;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.65}.trigram-note{margin-bottom:9px;padding:9px 10px;border-left:2px solid var(--gold);background:#d1a44c0e}.trigram-note strong{color:#e1c77f;font-size:10px}.trigram-note p{margin:4px 0 0;color:#aab7b0;font-size:9px;line-height:1.55}.mountain-identity>span{font-size:21px;font-weight:800}.mountain-verdict{margin:10px 13px 0;min-height:50px;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;padding:9px 11px;border:1px solid rgba(209,164,76,.34);border-radius:6px;background:#d1a44c12}.mountain-verdict>span{padding:5px 8px;border-radius:999px;background:#d1a44c26;color:#efd58e;font-size:10px;font-weight:700;white-space:nowrap}.mountain-verdict strong{color:#f0d48d;font-size:16px;white-space:nowrap}.mountain-verdict small{justify-self:end;color:#9eaaa4;font-size:9px;text-align:right}.mountain-verdict.is-avoid{border-color:#f06f5e61;background:#a33e301f}.mountain-verdict.is-avoid>span{background:#f06f5e29;color:#ffaaa0}.mountain-verdict.is-avoid strong{color:#f58b7d}.mountain-verdict.is-good{border-color:#50c98561;background:#2a88521f}.mountain-verdict.is-good>span{background:#50c98529;color:#91e5b2}.mountain-verdict.is-good strong{color:#72d99c}.mountain-verdict.is-water{border-color:#64b9ec66;background:#2c7aa81f}.mountain-verdict.is-water>span{background:#64b9ec29;color:#a2dcfa}.mountain-verdict.is-water strong{color:#79c8f2}.mountain-verdict.is-sand{border-color:#c486546b;background:#854d2821}.mountain-verdict.is-sand>span{background:#c486542e;color:#e9b384}.mountain-verdict.is-sand strong{color:#d89560}.mountain-summary{margin:0;padding:11px 14px 8px;color:#c5d0cb;font-size:10px;line-height:1.55}.mountain-knowledge-body{padding-top:5px}.trigram-rule-block.combination{border-color:#d1a44c3d;background:#d1a44c0b}.trigram-rule-block.combination h4{color:#e5c878}.coordinates{margin:0 13px 10px;font-size:10px;color:#85918c;font-variant-numeric:tabular-nums}.address-card{margin:0 12px 10px;padding:9px 10px;border:1px solid rgba(209,164,76,.22);border-radius:6px;background:#d1a44c0b}.address-card-heading{display:flex;align-items:center;gap:6px;color:#dcc27f;font-size:10px;margin-bottom:7px}.address-card p{display:grid;grid-template-columns:62px minmax(0,1fr);gap:6px;margin:4px 0;line-height:1.35}.address-card p small{color:#7f8d86;font-size:8px}.address-card p strong{color:#dfe8e3;font-size:9px;font-weight:520;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.address-card .address-placeholder{display:block;color:#829089;font-size:9px}.metrics-row{margin:0 12px 10px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:6px;background:#ffffff06}.metric{padding:10px 8px;min-width:0;border-right:1px solid var(--line)}.metric:last-child{border-right:0}.metric span{display:block;color:var(--muted);font-size:9px;margin-bottom:4px}.metric strong{display:block;font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.inspector-section{margin:9px 12px;padding:11px;border:1px solid var(--line);border-radius:6px;background:#ffffff06}.radar-section{padding-bottom:2px}.radar{display:block;width:100%;height:188px;margin:2px auto 0;overflow:visible}.radar-grid{fill:none;stroke:#c8dcd136;stroke-width:.8}.radar-axis{stroke:#c8dcd12e;stroke-width:.7}.radar-shape{fill:#50c98547;stroke:#5ad38d;stroke-width:1.5}.radar-center{fill:var(--gold-soft)}.radar-label{fill:#dce5e0;font-size:9px}.radar-positive,.radar-negative{font-size:8px;font-variant-numeric:tabular-nums}.radar-positive{fill:#61d992}.radar-negative{fill:#ef7c6d}.score-section{margin:9px 12px;padding:11px;border:1px solid rgba(80,201,133,.2);border-radius:6px;background:linear-gradient(135deg,#50c98514,#ffffff05)}.score-head{display:flex;justify-content:space-between;align-items:center}.score-head>div span{display:block;color:var(--muted);font-size:9px}.score-head>div strong{color:var(--green);font-size:13px}.score-head>b{color:var(--green);font-size:25px;font-variant-numeric:tabular-nums}.score-head small{font-size:9px;margin-left:2px}.score-track{height:4px;border-radius:4px;margin:8px 0;background:#ffffff14;overflow:hidden}.score-track i{display:block;height:100%;background:linear-gradient(90deg,#bf9344,#51ca84);border-radius:inherit}.score-section p{margin:0;color:#adb9b3;font-size:9px;line-height:1.5}.findings p{font-size:10px;line-height:1.45;margin:7px 0 0}.finding-good{color:#83dba8}.finding-bad{color:#f18476}.finding-warn{color:#e0a552}.primary-action,.secondary-action{width:calc(100% - 24px);margin:7px 12px 0;height:40px;border-radius:5px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.primary-action{border:1px solid #e1b85f;background:linear-gradient(180deg,#c79a41,#9f762b);color:#fff8e7;font-weight:600}.primary-action:hover{filter:brightness(1.08)}.primary-action:disabled{opacity:.55;cursor:wait}.secondary-action{border:1px solid var(--line);background:#ffffff09;font-size:11px}.secondary-action:hover{border-color:#d1a44c73}.empty-analysis{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);text-align:center;padding:20px}.empty-analysis svg{color:var(--gold)}.empty-analysis h3{margin:12px 0 4px;font-size:14px;color:#dfe7e3}.empty-analysis p{font-size:10px;line-height:1.6}.candidate-strip{position:absolute;z-index:9;left:307px;right:347px;bottom:14px;min-height:122px;padding:11px;border:1px solid rgba(201,219,209,.16);border-radius:7px;background:#0d1612eb;box-shadow:0 16px 38px #00000047;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.candidate-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.candidate-heading>div{display:flex;align-items:center;gap:7px}.candidate-heading svg{color:var(--gold-soft)}.candidate-heading h2{margin:0;font-size:12px}.candidate-heading button{border:0;background:transparent;color:#b7c3bd;font-size:9px;display:flex;align-items:center;gap:5px;cursor:pointer}.candidate-actions{display:flex;align-items:center;gap:7px}.candidate-heading .candidate-collapse{width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(209,164,76,.25);border-radius:5px;color:#d9bf7a}.candidate-strip.is-collapsed{min-height:0;padding:7px 10px}.candidate-strip.is-collapsed .candidate-heading{margin:0}.candidate-strip.is-collapsed .candidate-collapse svg{transform:rotate(180deg)}.candidate-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.candidate-card{min-width:0;height:78px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;border:1px solid rgba(255,255,255,.09);border-radius:5px;background:#ffffff09;padding:8px;cursor:pointer}.candidate-card:hover{border-color:#d1a44c9e;transform:translateY(-1px)}.candidate-card .rank{width:22px;height:22px;display:grid;place-items:center;border-radius:4px;background:#d1a44c2e;color:var(--gold-soft);font-size:11px}.candidate-card div{min-width:0}.candidate-card div strong,.candidate-card div small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.candidate-card div strong{font-size:10px;margin-bottom:5px}.candidate-card div small{color:var(--muted);font-size:8px}.candidate-card>b{color:var(--green);font-size:19px;font-variant-numeric:tabular-nums}.candidate-card>b small{font-size:8px}.candidate-empty{grid-column:1 / -1;color:var(--muted);font-size:10px;text-align:center;margin:24px 0}.direction-label{color:#f0c873;font-size:11px;font-weight:650;text-shadow:0 1px 4px #000,0 0 8px #000;pointer-events:none}.compass-card{position:absolute;z-index:4;left:310px;top:18px;width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#0e18149e;color:#fff;box-shadow:0 10px 25px #0003}.compass-card svg{color:var(--gold-soft)}.compass-card span{position:absolute;top:-13px;font-size:10px}.mobile-nav{display:none}@media(min-width:821px){.mobile-panel-wrap.is-desktop-collapsed{display:none}.workspace.tools-collapsed .candidate-strip{left:72px}.workspace.analysis-collapsed .candidate-strip{right:72px}.workspace.tools-collapsed .maplibregl-ctrl-bottom-left{left:60px}.workspace.analysis-collapsed .maplibregl-ctrl-top-right{right:60px}.workspace.tools-collapsed .compass-card{left:68px}}.city-scan-backdrop{position:absolute;z-index:70;inset:0;display:grid;place-items:center;background:#0207058f;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:18px}.city-scan-dialog{width:min(980px,calc(100vw - 56px));height:min(760px,calc(100vh - 92px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(215,229,221,.19);border-radius:9px;background:linear-gradient(180deg,#131e1afc,#0a120ffc);box-shadow:0 30px 90px #0000008f}.city-dialog-header{min-height:68px;display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--line)}.city-dialog-header>div{display:flex;align-items:center;gap:10px}.city-dialog-header>div>svg{color:var(--gold-soft)}.city-dialog-header h2{margin:0;font-size:16px;letter-spacing:.02em}.city-dialog-header p{margin:4px 0 0;color:#84918b;font-size:9px}.city-dialog-header>button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:5px;background:#ffffff0a;color:#aab6b0;cursor:pointer}.city-dialog-header>button:hover{background:#ffffff17;color:#fff}.city-filter-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr;gap:10px;padding:13px 16px 10px}.city-field{min-width:0}.city-field>span{display:block;margin-bottom:6px;color:#8f9d96;font-size:9px}.city-field input,.city-field select{width:100%;height:35px;border:1px solid rgba(214,229,220,.15);border-radius:5px;background:#0000002e;color:#e7eee9;outline:0;padding:0 9px;font-size:11px}.city-field input:focus,.city-field select:focus{border-color:#d1a44c9e;box-shadow:0 0 0 2px #d1a44c17}.city-field select:disabled{opacity:.45}.city-search-field>div{display:grid;grid-template-columns:minmax(0,1fr) auto}.city-search-field input{border-radius:5px 0 0 5px}.city-search-field button{height:35px;display:flex;align-items:center;gap:5px;border:1px solid rgba(209,164,76,.54);border-left:0;border-radius:0 5px 5px 0;background:#d1a44c21;color:#e8d19a;padding:0 10px;font-size:10px;cursor:pointer}.city-search-field button:disabled{opacity:.5;cursor:wait}.housing-toolbar{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(120px,.55fr) minmax(190px,.9fr) auto;align-items:end;gap:10px;padding:13px 16px 10px}.housing-update{min-height:35px;display:grid;grid-template-columns:auto auto;align-content:center;column-gap:7px;padding:5px 10px;border:1px solid var(--line);border-radius:5px;background:#ffffff06}.housing-update span,.housing-update small{color:#75837c;font-size:8px}.housing-update strong{color:#d8c17d;font-size:10px}.housing-update small{grid-column:1 / -1;margin-top:2px}.housing-tabs{display:grid;grid-template-columns:1fr 1fr;margin:0 16px 10px;padding:3px;border:1px solid var(--line);border-radius:6px;background:#00000026}.housing-tabs button{height:37px;border:0;border-radius:4px;background:transparent;color:#899790;font-size:11px;cursor:pointer}.housing-tabs button b{min-width:19px;height:18px;display:inline-grid;place-items:center;margin-left:5px;border-radius:9px;background:#ffffff0f;color:#a8b5ae;font-size:8px}.housing-tabs button.is-active{background:#d1a44c21;color:#f0d18a;box-shadow:inset 0 0 0 1px #d1a44c47}.housing-snapshot-summary{min-height:38px;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;margin:0 16px 10px;padding:7px 10px;border:1px solid rgba(81,172,209,.18);border-radius:5px;background:linear-gradient(90deg,#51acd113,#d1a44c09)}.housing-snapshot-summary span{color:#8ab6c4;font-size:8px}.housing-snapshot-summary strong{color:#e7c573;font-size:10px;white-space:nowrap}.housing-snapshot-summary small{min-width:0;color:#71817a;font-size:8px;line-height:1.4}.housing-error{margin:0 16px 10px;padding:8px 10px;border:1px solid rgba(240,151,94,.25);border-radius:5px;background:#f0975e0f;color:#dda37d;font-size:9px;line-height:1.45}.housing-content{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(285px,.8fr);gap:10px;padding:0 16px}.housing-list-panel{min-width:0;min-height:0;display:flex;flex-direction:column}.housing-result-summary{min-height:27px;display:flex;align-items:center;justify-content:space-between;padding:0 4px 6px;color:#77857e;font-size:8px}.housing-result-summary b{color:#d9bd77;font-size:10px}.housing-list{min-height:0;flex:1;overflow:auto;border:1px solid var(--line);border-radius:6px;background:#0000001f;scrollbar-width:thin}.housing-pagination{min-height:34px;display:flex;align-items:flex-end;justify-content:center;gap:10px}.housing-pagination button{height:26px;padding:0 12px;border:1px solid rgba(209,164,76,.26);border-radius:4px;background:#d1a44c12;color:#cbb779;font-size:8px;cursor:pointer}.housing-pagination button:disabled{opacity:.35;cursor:default}.housing-pagination span{min-width:45px;color:#7e8b84;font-size:8px;text-align:center;line-height:26px}.housing-row{width:100%;min-height:72px;display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:center;border-bottom:1px solid rgba(255,255,255,.055);background:transparent}.housing-row:hover{background:#d1a44c0e}.housing-row.is-selected{background:#d1a44c18;box-shadow:inset 2px 0 #d2a64c}.housing-row-select{min-width:0;min-height:72px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 4px 9px 11px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.housing-favorite-star{width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(209,164,76,.2);border-radius:50%;background:#0000001f;color:#738079;cursor:pointer}.housing-favorite-star:hover,.housing-favorite-star.is-favorite{color:var(--gold-soft);border-color:#d1a44c94;background:#d1a44c1f}.housing-kind{min-width:36px;height:24px;display:inline-grid;place-items:center;border-radius:4px;font-size:9px;font-weight:700}.housing-kind.rent{background:#51acd124;color:#85cde9}.housing-kind.sale{background:#d1a44c24;color:#e7c271}.housing-row-main{min-width:0}.housing-row-main strong,.housing-row-main small,.housing-row-main em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.housing-row-main strong{color:#e7eee9;font-size:11px}.housing-row-main small{margin-top:3px;color:#9eaaa4;font-size:9px}.housing-row-main em{margin-top:3px;color:#69766f;font-size:8px;font-style:normal}.housing-row-meta{min-width:96px;text-align:right}.housing-row-meta strong,.housing-row-meta small{display:block}.housing-row-meta strong{color:#e7c573;font-size:13px}.housing-row-meta small{margin-top:5px;color:#77857e;font-size:8px}.housing-detail{min-width:0;overflow:auto;padding:13px;border:1px solid var(--line);border-radius:6px;background:#00000024;scrollbar-width:thin}.housing-detail-title{display:flex;align-items:center;gap:10px;padding-bottom:11px;border-bottom:1px solid var(--line)}.housing-detail-title h3{margin:0;font-size:14px}.housing-detail-title p{margin:4px 0 0;color:#89968f;font-size:9px}.housing-detail dl{margin:11px 0}.housing-detail dl>div{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;margin:7px 0}.housing-detail dt{color:#75827b;font-size:8px}.housing-detail dd{margin:0;color:#c7d1cc;font-size:9px;line-height:1.45}.housing-contact{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid rgba(81,172,209,.2);border-radius:5px;background:linear-gradient(100deg,#51acd112,#51acd106)}.housing-contact span,.housing-contact strong{display:block}.housing-contact span{color:#71919a;font-size:8px}.housing-contact strong{margin-top:4px;color:#b8dce7;font-size:10px}.housing-contact p{margin:4px 0 0;color:#879b9d;font-size:8px;line-height:1.45}.housing-contact a{min-width:118px;height:34px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid rgba(81,172,209,.42);border-radius:5px;background:#51acd11c;color:#a4dff2;font-size:9px;text-decoration:none}.housing-detail-actions{display:grid;grid-template-columns:1fr;gap:7px;margin-top:11px}.housing-detail-actions button{width:100%;height:36px;display:flex;align-items:center;justify-content:flex-start;gap:9px;padding:0 13px;border-radius:5px;font-size:9px;text-decoration:none;cursor:pointer}.housing-detail-actions button{border:1px solid rgba(209,164,76,.48);background:#d1a44c1f;color:#e7cc8b}.housing-detail-actions button:disabled{opacity:.5;cursor:wait}.housing-detail-actions button.is-favorite{color:var(--gold-soft);border-color:#d1a44ca6;background:#d1a44c2e}.housing-detail-actions .housing-floorplan-button{border-color:#58be8b6b;background:#58be8b17;color:#91d8b3}.housing-detail-actions .housing-house-detail-button{border-color:#51acd16b;background:#51acd117;color:#9bd5ea}.housing-source-note{margin:10px 0 0;color:#63716a;font-size:7px;line-height:1.45}.housing-detail-empty,.housing-empty{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#738078;text-align:center}.housing-empty h3{margin:10px 0 4px;color:#aab6b0;font-size:12px}.housing-empty p{margin:0 0 12px;font-size:9px}.housing-source-links{display:flex;flex-wrap:wrap;gap:6px}.housing-source-links a{padding:5px 8px;border:1px solid rgba(209,164,76,.24);border-radius:4px;background:#d1a44c0e;color:#cdb77e;font-size:8px;text-decoration:none}.housing-register-note{margin:9px 16px 0;padding:8px 11px;border:1px solid rgba(209,164,76,.28);border-radius:5px;background:#d1a44c12;color:#dfc98e;font-size:9px;line-height:1.45;text-align:center}.city-data-note{display:flex;align-items:center;gap:8px}.city-data-note>span{color:#85928b;white-space:nowrap}.city-data-note>p{margin:0 0 0 auto;max-width:420px;text-align:right}.water-rule-panel{margin:0 16px 10px;padding:10px 11px;display:grid;grid-template-columns:190px minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid rgba(87,166,197,.2);border-radius:6px;background:linear-gradient(90deg,#29769417,#ffffff04)}.water-rule-heading{display:flex;align-items:center;gap:8px}.water-rule-heading svg{color:#65b9d3}.water-rule-heading strong,.water-rule-heading small{display:block}.water-rule-heading strong{font-size:10px}.water-rule-heading small{margin-top:3px;color:#718b90;font-size:8px}.water-direction-wrap{min-width:0}.water-direction-list{display:grid;grid-template-columns:repeat(8,minmax(48px,1fr));gap:5px}.water-direction-list button{min-width:0;height:36px;padding:0 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid rgba(153,193,204,.14);border-radius:4px;background:#ffffff08;color:#8ca0a0;font-size:9px;cursor:pointer}.water-direction-list button small{font-size:7px;color:inherit;opacity:.86}.water-direction-list button.like{border-color:#42b0d99e;background:#328bb12e;color:#9adbf2}.water-direction-list button.avoid{border-color:#f06f5e85;background:#f06f5e1c;color:#f2a096}.water-direction-list button.neutral{color:#7d8b85}.water-direction-list button:disabled{opacity:.45;cursor:wait}.water-legend{display:flex;align-items:center;gap:12px;margin-top:5px;color:#718079;font-size:7px}.water-legend span:before{content:"";display:inline-block;width:5px;height:5px;margin-right:4px;border-radius:50%;background:#65726c}.water-legend span.like:before{background:#55b9dc}.water-legend span.avoid:before{background:#ef7767}.channel-toggle{display:flex;align-items:center;gap:6px;color:#a1b0ab;font-size:9px;white-space:nowrap}.channel-toggle input{accent-color:#55bdd8}.scan-command-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px 10px}.scan-scope{display:flex;align-items:center;gap:7px;color:#909e97;font-size:10px}.scan-scope svg{color:var(--gold-soft)}.scan-scope strong{color:#e0e9e4}.scan-city-button{height:36px;display:flex;align-items:center;gap:7px;border:1px solid #d6ab50;border-radius:5px;background:linear-gradient(180deg,#bd913c,#8f6925);color:#fff8e6;padding:0 14px;font-size:11px;font-weight:600;cursor:pointer}.scan-city-button:disabled{opacity:.4;cursor:wait}.scan-status{margin:0 16px 10px;padding:9px 11px;border:1px solid rgba(80,201,133,.18);border-radius:5px;background:#50c9850d}.scan-status>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.scan-status span{color:#7f9188;font-size:8px}.scan-status strong{color:#b9d8c6;font-size:9px;font-weight:500}.scan-status.has-error{border-color:#f06f5e47;background:#f06f5e0f}.scan-status.has-error strong{color:#f19a8e}.scan-progress{height:3px;margin-top:7px;border-radius:3px;background:#ffffff12;overflow:hidden}.scan-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--green));transition:width .3s ease}.ranking-table{min-height:0;flex:1;overflow:auto;margin:0 16px;border:1px solid var(--line);border-radius:6px;background:#0000001f;scrollbar-width:thin}.ranking-row{width:100%;min-height:58px;display:grid;grid-template-columns:34px minmax(170px,1.5fr) 62px minmax(170px,1fr) 70px;align-items:center;gap:9px;padding:8px 11px;border:0;border-bottom:1px solid rgba(255,255,255,.055);background:transparent;text-align:left;cursor:pointer}.ranking-row:hover{background:#d1a44c13}.ranking-number{width:25px;height:25px;display:grid;place-items:center;border-radius:4px;background:#d1a44c26;color:#edc66e;font-size:11px}.ranking-name{min-width:0}.ranking-name strong,.ranking-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-name strong{font-size:11px;color:#e8eee9}.ranking-name small{margin-top:4px;color:#7e8d86;font-size:8px}.ranking-terrain small,.ranking-water small{display:block;color:#718079;font-size:8px}.ranking-terrain strong,.ranking-water strong{color:#b9d9c7;font-size:14px;font-variant-numeric:tabular-nums}.ranking-water{min-width:0}.ranking-water em{display:block;margin-top:2px;color:#75a5ae;font-size:8px;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-water em.like{color:#79bfd5}.ranking-water em.avoid{color:#e8897d}.ranking-score{justify-self:end;text-align:right}.ranking-score strong,.ranking-score small{display:block}.ranking-score strong{color:var(--green);font-size:22px;font-variant-numeric:tabular-nums}.ranking-score small{color:#6f7e77;font-size:8px}.ranking-empty{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#697770;text-align:center}.ranking-empty svg{color:#d1a44c8c}.ranking-empty h3{margin:11px 0 4px;color:#aab6b0;font-size:13px}.ranking-empty p{margin:0;font-size:9px}.city-data-note{padding:9px 16px 12px;color:#66746d;font-size:8px;line-height:1.5}.favorites-backdrop{position:absolute;z-index:75;inset:0;display:flex;justify-content:flex-end;background:#0207056b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.favorites-drawer{width:min(650px,calc(100vw - 34px));height:100%;display:flex;flex-direction:column;border-left:1px solid rgba(215,229,221,.18);background:linear-gradient(180deg,#121d19fe,#09100efe);box-shadow:-24px 0 70px #00000075}.favorites-header{min-height:70px;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}.favorites-header>div{display:flex;align-items:center;gap:10px}.favorites-header>div>svg{color:var(--gold-soft)}.favorites-header h2{margin:0;font-size:16px}.favorites-header p{margin:4px 0 0;color:#7f8c86;font-size:9px}.favorites-header>button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:5px;background:#ffffff0a;color:#aab6b0;cursor:pointer}.favorites-layout{min-height:0;flex:1;display:grid;grid-template-columns:180px minmax(0,1fr)}.favorite-folder-rail{min-height:0;display:flex;flex-direction:column;padding:12px 10px;border-right:1px solid var(--line);background:#00000021}.favorite-folder-list{min-height:0;flex:1;overflow:auto;scrollbar-width:thin}.favorite-folder-list>button{width:100%;min-height:39px;display:grid;grid-template-columns:19px minmax(0,1fr) auto;align-items:center;gap:7px;margin-bottom:4px;padding:0 9px;border:1px solid transparent;border-radius:5px;background:transparent;color:#89968f;text-align:left;cursor:pointer}.favorite-folder-list>button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.favorite-folder-list>button b{min-width:19px;height:19px;display:grid;place-items:center;border-radius:10px;background:#ffffff0e;color:#77847e;font-size:8px}.favorite-folder-list>button:hover{background:#ffffff09;color:#c8d2cd}.favorite-folder-list>button.is-active{border-color:#d1a44c52;background:#d1a44c1c;color:var(--gold-soft)}.favorite-folder-create{padding-top:11px;border-top:1px solid var(--line)}.favorite-folder-create label{display:flex;align-items:center;gap:6px;margin-bottom:7px;color:#98a49e;font-size:9px}.favorite-folder-create input{width:100%;height:33px;border:1px solid var(--line);border-radius:5px;background:#0000002e;color:#e8efeb;padding:0 8px;outline:0;font-size:9px}.favorite-folder-create input:focus{border-color:#d1a44c8c}.favorite-folder-create button{width:100%;height:31px;margin-top:6px;border:1px solid rgba(209,164,76,.38);border-radius:5px;background:#d1a44c1a;color:#dfc98e;font-size:9px;cursor:pointer}.favorite-folder-create button:disabled{opacity:.4;cursor:default}.favorites-content{min-height:0;overflow:auto;padding:13px;scrollbar-width:thin}.favorite-city-group+.favorite-city-group{margin-top:16px}.favorite-city-heading{display:flex;align-items:center;gap:7px;margin:0 2px 7px;color:#dbe5df}.favorite-city-heading svg{color:var(--gold-soft)}.favorite-city-heading strong{font-size:12px}.favorite-city-heading span{min-width:18px;height:18px;display:grid;place-items:center;border-radius:9px;background:#ffffff0f;color:#8c9993;font-size:8px}.favorite-city-list{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#0000001f}.favorite-card+.favorite-card{border-top:1px solid rgba(255,255,255,.055)}.favorite-card.is-selected{background:#d1a44c0e}.favorite-summary{width:100%;min-height:58px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 11px;border:0;background:transparent;text-align:left;cursor:pointer}.favorite-summary>svg{color:var(--gold-soft)}.favorite-summary>span{min-width:0}.favorite-summary strong,.favorite-summary span small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.favorite-summary strong{font-size:11px}.favorite-summary span small{margin-top:4px;color:#7d8a84;font-size:8px}.favorite-summary>b{color:var(--green);font-size:17px}.favorite-summary>b small{margin-left:2px;color:#6f7d76;font-size:7px}.favorite-kind-tag{padding:4px 6px;border-radius:3px;background:#51acd11c;color:#83bfd4;font-size:8px;font-style:normal}.favorite-detail{padding:0 12px 12px 42px}.favorite-detail p{display:grid;grid-template-columns:36px minmax(0,1fr);gap:7px;margin:5px 0;line-height:1.45}.favorite-detail p span{color:#78857f;font-size:8px}.favorite-detail p strong{color:#b9c5bf;font-size:9px;font-weight:500}.favorite-move{display:grid;grid-template-columns:43px minmax(0,1fr);align-items:center;gap:7px;margin-top:9px}.favorite-move>span{color:#78857f;font-size:8px}.favorite-move select{height:30px;border:1px solid var(--line);border-radius:4px;background:#14201c;color:#c1ccc6;padding:0 7px;font-size:9px;outline:0}.favorite-detail>div{display:flex;gap:7px;margin-top:10px}.favorite-locate,.favorite-remove{height:32px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:5px;padding:0 10px;font-size:9px;cursor:pointer}.favorite-locate{flex:1;border:1px solid rgba(209,164,76,.5);background:#d1a44c21;color:#ead19b}.favorite-remove{border:1px solid rgba(240,111,94,.25);background:#f06f5e0d;color:#d99188}.favorites-empty{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#68756f;padding:28px}.favorites-empty svg{color:#d1a44c8c}.favorites-empty h3{margin:13px 0 5px;color:#abb7b1;font-size:14px}.favorites-empty p{max-width:260px;margin:0;font-size:9px;line-height:1.6}.favorite-picker-backdrop{position:absolute;z-index:95;inset:0;display:grid;place-items:center;padding:16px;background:#0207059e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.favorite-picker{width:min(390px,100%);max-height:min(620px,calc(100vh - 36px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(209,164,76,.38);border-radius:9px;background:linear-gradient(180deg,#17241f,#0c1512);box-shadow:0 28px 80px #0000009e}.favorite-picker>header{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}.favorite-picker>header>div{min-width:0;display:flex;align-items:center;gap:10px;color:var(--gold-soft)}.favorite-picker>header span,.favorite-picker>header strong,.favorite-picker>header small{min-width:0;display:block}.favorite-picker>header strong{color:#eef2ef;font-size:14px}.favorite-picker>header small{margin-top:4px;overflow:hidden;color:#829089;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.favorite-picker>header>button{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:5px;background:#ffffff0a;color:#a7b2ad;cursor:pointer}.favorite-folder-options{max-height:280px;overflow:auto;padding:10px;scrollbar-width:thin}.favorite-folder-options>button{width:100%;height:43px;display:grid;grid-template-columns:23px minmax(0,1fr) 20px;align-items:center;gap:8px;margin-bottom:5px;padding:0 11px;border:1px solid var(--line);border-radius:5px;background:#0000001f;color:#a8b4ae;text-align:left;cursor:pointer}.favorite-folder-options>button:hover,.favorite-folder-options>button.is-selected{border-color:#d1a44c7a;background:#d1a44c1a;color:var(--gold-soft)}.favorite-folder-options>button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.favorite-picker-create{padding:11px 12px;border-top:1px solid var(--line)}.favorite-picker-create label{display:block;margin-bottom:7px;color:#8e9b95;font-size:9px}.favorite-picker-create>div{display:grid;grid-template-columns:minmax(0,1fr) auto}.favorite-picker-create input{height:35px;border:1px solid var(--line);border-right:0;border-radius:5px 0 0 5px;background:#0000002e;color:#edf2ef;padding:0 9px;outline:0;font-size:10px}.favorite-picker-create button{height:35px;display:flex;align-items:center;gap:5px;border:1px solid rgba(209,164,76,.45);border-radius:0 5px 5px 0;background:#d1a44c21;color:#ead39a;padding:0 10px;font-size:9px;cursor:pointer}.favorite-picker-create button:disabled{opacity:.4;cursor:default}.favorite-picker-remove{height:37px;display:flex;align-items:center;justify-content:center;gap:6px;margin:0 12px 12px;border:1px solid rgba(240,111,94,.25);border-radius:5px;background:#f06f5e0e;color:#d99289;font-size:9px;cursor:pointer}.floorplan-backdrop{position:absolute;z-index:90;inset:0;display:grid;place-items:center;padding:16px;background:#020705b8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.floorplan-dialog{width:min(980px,calc(100vw - 48px));height:min(760px,calc(100vh - 74px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(209,164,76,.34);border-radius:9px;background:linear-gradient(180deg,#17231f,#0b1411);box-shadow:0 32px 90px #000000a8}.floorplan-header{min-height:68px;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line)}.floorplan-header>div{min-width:0;display:flex;align-items:center;gap:10px;color:var(--gold-soft)}.floorplan-header span,.floorplan-header strong,.floorplan-header small{min-width:0;display:block}.floorplan-header strong{color:#edf2ef;font-size:15px}.floorplan-header small{margin-top:4px;overflow:hidden;color:#829089;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.floorplan-header>button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:5px;background:#ffffff0a;color:#a7b3ad;cursor:pointer}.floorplan-overview{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:14px;overflow:auto;padding:14px;scrollbar-width:thin}.floorplan-media,.floorplan-method{min-width:0}.floorplan-image-frame{height:min(465px,56vh);display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:#f4f4f1}.floorplan-image-frame img{width:100%;height:100%;object-fit:contain}.floorplan-source-card{margin-top:10px;padding:11px 12px;border:1px solid rgba(81,172,209,.2);border-radius:6px;background:#51acd10e}.floorplan-source-card>span{display:flex;align-items:center;gap:6px;color:#7fc7a0;font-size:9px}.floorplan-source-card>strong{display:block;margin-top:6px;color:#c7d6ce;font-size:11px}.floorplan-source-card p{margin:6px 0 9px;color:#819089;font-size:8px;line-height:1.55}.floorplan-source-card a{display:inline-flex;align-items:center;gap:5px;color:#8ecbe0;font-size:8px;text-decoration:none}.floorplan-empty{min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px;border:1px dashed rgba(209,164,76,.25);border-radius:7px;background:#ffffff05;color:#6f7d76;text-align:center}.floorplan-empty svg{color:#d1a44c85}.floorplan-empty h3{margin:13px 0 7px;color:#b6c1bb;font-size:13px}.floorplan-empty p{max-width:330px;margin:0;font-size:9px;line-height:1.65}.floorplan-method{padding:13px;border:1px solid var(--line);border-radius:7px;background:#0000001f}.floorplan-method-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:11px;border-bottom:1px solid var(--line)}.floorplan-method-heading h3{margin:0;font-size:14px}.floorplan-method-heading p{margin:5px 0 0;color:#74817a;font-size:8px}.floorplan-method-heading>span{padding:5px 7px;border-radius:4px;background:#d1a44c1f;color:#dac381;font-size:8px;white-space:nowrap}.floorplan-method ol{list-style:none;margin:11px 0;padding:0}.floorplan-method li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;padding:7px 0}.floorplan-method li>b{width:25px;height:25px;display:grid;place-items:center;border:1px solid rgba(209,164,76,.32);border-radius:50%;background:#d1a44c14;color:var(--gold-soft);font-size:9px}.floorplan-method li strong{color:#cbd5d0;font-size:10px}.floorplan-method li p{margin:3px 0 0;color:#77847e;font-size:8px;line-height:1.45}.floorplan-output-preview{display:grid;grid-template-columns:1fr 1fr;gap:7px}.floorplan-output-preview>div{padding:9px;border:1px solid var(--line);border-radius:5px;background:#ffffff05}.floorplan-output-preview>div:first-child{border-color:#58be8b38}.floorplan-output-preview>div:last-child{border-color:#f06f5e33}.floorplan-output-preview strong{color:#b9d9c6;font-size:9px}.floorplan-output-preview>div:last-child strong{color:#d7a099}.floorplan-output-preview p{margin:4px 0 0;color:#728078;font-size:8px;line-height:1.45}.floorplan-requirement{margin-top:9px;padding:8px 9px;border-radius:5px;background:#d1a44c11}.floorplan-requirement b,.floorplan-requirement span{display:block}.floorplan-requirement b{color:#d7c186;font-size:8px}.floorplan-requirement span{margin-top:4px;color:#8f9a94;font-size:8px}.floorplan-start{width:100%;height:38px;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:10px;border:1px solid rgba(88,190,139,.5);border-radius:5px;background:#58be8b1f;color:#a6dfbe;font-size:10px;cursor:pointer}.floorplan-start:disabled{opacity:.55;cursor:wait}.floorplan-disclaimer{margin:8px 0 0;color:#5f6c65;font-size:7px;line-height:1.45;text-align:center}.house-detail-backdrop{position:absolute;z-index:92;inset:0;display:grid;place-items:center;padding:16px;background:#020705c2;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.house-detail-dialog{width:min(1080px,calc(100vw - 48px));height:min(790px,calc(100vh - 70px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(81,172,209,.34);border-radius:9px;background:linear-gradient(180deg,#17231f,#0b1411);box-shadow:0 32px 90px #000000ad}.house-detail-body{min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden;padding:14px}.house-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.house-detail-summary>div{min-width:0;padding:9px 11px;border:1px solid var(--line);border-radius:5px;background:#ffffff05}.house-detail-summary span,.house-detail-summary strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.house-detail-summary span{color:#71817a;font-size:8px}.house-detail-summary strong{margin-top:4px;color:#cad5d0;font-size:10px}.house-photo-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.house-photo-heading h3{margin:0;color:#e5ece8;font-size:14px}.house-photo-heading p{margin:4px 0 0;color:#728078;font-size:8px}.house-photo-heading>span{display:flex;align-items:center;gap:5px;flex:none;padding:5px 8px;border:1px solid rgba(88,190,139,.28);border-radius:14px;color:#8fd2ac;font-size:8px}.house-photo-grid{min-height:0;flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:9px;overflow:auto;padding-right:3px;scrollbar-width:thin}.house-photo-grid figure{min-width:0;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#111815}.house-photo-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#202823}.house-photo-grid figcaption{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px}.house-photo-grid figcaption span{min-width:0;overflow:hidden;color:#84938c;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.house-photo-grid figcaption a{flex:none;display:flex;align-items:center;gap:4px;color:#8fcde2;font-size:8px;text-decoration:none}.house-photo-empty{min-height:0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed rgba(81,172,209,.23);border-radius:7px;color:#708079;text-align:center}.house-photo-empty svg{color:#69aac1}.house-photo-empty h3{margin:12px 0 5px;color:#b8c5bf;font-size:13px}.house-photo-empty p{margin:0;color:#75837c;font-size:9px}.house-detail-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;padding-top:10px;border-top:1px solid var(--line)}.house-detail-footer p{margin:0;color:#63716a;font-size:8px}.house-detail-footer a{height:32px;display:flex;align-items:center;gap:6px;padding:0 12px;border:1px solid rgba(81,172,209,.38);border-radius:5px;background:#51acd117;color:#9bd5ea;font-size:9px;text-decoration:none}.floorplan-analyzer-shell{min-height:0;flex:1;display:flex;flex-direction:column}.floorplan-analyzer-bar{min-height:45px;display:flex;align-items:center;gap:10px;padding:6px 11px;border-bottom:1px solid var(--line);background:#00000026}.floorplan-analyzer-bar button,.floorplan-analyzer-bar a{height:30px;display:flex;align-items:center;padding:0 10px;border:1px solid rgba(209,164,76,.3);border-radius:4px;background:#d1a44c14;color:#d8c48c;font-size:8px;text-decoration:none;cursor:pointer}.floorplan-analyzer-bar p{flex:1;margin:0;color:#829089;font-size:8px;text-align:center}.floorplan-analyzer-shell iframe{min-height:0;flex:1;width:100%;border:0;background:#111319}.interior-analysis-backdrop{z-index:96}.interior-analysis-dialog{width:min(1180px,calc(100vw - 36px));height:min(860px,calc(100vh - 38px))}.interior-analysis-dialog>iframe{min-height:0;flex:1;width:100%;border:0;background:#111319}.interior-analysis-note{min-height:43px;display:flex;align-items:center;gap:12px;padding:6px 13px;border-bottom:1px solid var(--line);background:#00000029}.interior-analysis-note span{color:#82caa3;font-size:9px;white-space:nowrap}.interior-analysis-note p{flex:1;margin:0;color:#7f8d86;font-size:8px;text-align:center}.interior-analysis-note a{height:29px;display:flex;align-items:center;padding:0 9px;border:1px solid rgba(209,164,76,.3);border-radius:4px;background:#d1a44c14;color:#d8c48c;font-size:8px;text-decoration:none;white-space:nowrap}.exemplar-backdrop{position:absolute;z-index:101;inset:0;display:grid;place-items:center;padding:12px;background:#020705c7;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.exemplar-dialog{width:min(1500px,calc(100vw - 28px));height:min(910px,calc(100vh - 28px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(209,164,76,.48);border-radius:9px;background:#0c1412;box-shadow:0 36px 100px #000000b8}.exemplar-header{min-height:66px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px 10px 18px;border-bottom:1px solid rgba(209,164,76,.32);background:linear-gradient(90deg,#13221d,#0d1613 72%)}.exemplar-header>div{display:flex;align-items:center;gap:11px;color:var(--gold-soft)}.exemplar-header span,.exemplar-header strong,.exemplar-header small{display:block}.exemplar-header strong{color:#f0d58f;font-size:18px;letter-spacing:.06em}.exemplar-header small{margin-top:4px;color:#7f9188;font-size:9px;font-weight:500;letter-spacing:.08em}.exemplar-header>button{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:6px;background:#ffffff0a;color:#9aa8a1;cursor:pointer}.exemplar-header>button:hover{color:#fff;background:#ffffff14}.exemplar-body{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,2.1fr) minmax(330px,.9fr)}.model-stage{position:relative;min-width:0;overflow:hidden;touch-action:none;cursor:grab;background:radial-gradient(circle at 50% 48%,rgba(209,164,76,.12),transparent 29%),repeating-radial-gradient(ellipse at 50% 48%,transparent 0 34px,rgba(173,196,184,.035) 35px 36px),linear-gradient(145deg,#0c1512,#101c17 48%,#08100e);perspective:1100px}.model-stage:active{cursor:grabbing}.model-scene-glow{position:absolute;inset:18% 14%;border-radius:50%;background:radial-gradient(circle,rgba(236,190,95,.09),transparent 66%);filter:blur(18px);pointer-events:none}.model-north{position:absolute;z-index:8;top:17px;left:50%;display:flex;align-items:center;gap:7px;transform:translate(-50%);color:#efd187;font-size:11px;font-weight:700;letter-spacing:.12em}.model-north i{width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:18px solid #e5b653;filter:drop-shadow(0 0 5px rgba(229,182,83,.35))}.model-world{--world-turn: -38deg;--world-counter-turn: 38deg;--world-scale: .9;position:absolute;left:50%;top:48%;width:min(760px,76vw);aspect-ratio:1;transform-style:preserve-3d;transform:translate(-50%,-50%) rotateX(59deg) rotate(var(--world-turn)) scale(var(--world-scale));transition:transform .16s ease-out}.model-ground{position:absolute;inset:2%;border-radius:50%;border:1px solid rgba(205,172,91,.2);background:radial-gradient(circle at 50% 50%,#4c655642,#182b22ad 54%,#08120ef0 75%),repeating-radial-gradient(circle,transparent 0 24px,rgba(218,236,227,.045) 25px 26px);box-shadow:inset 0 0 70px #00000085,0 0 60px #0000005c;transform:translateZ(-4px)}.model-mountain-ring{position:absolute;inset:8.5%;border:1px solid rgba(224,187,98,.65);border-radius:50%;box-shadow:0 0 0 8px #dab25509,inset 0 0 22px #dbb45712;transform:translateZ(5px)}.model-mountain-ring:before{content:"";position:absolute;inset:8.5%;border:1px solid rgba(224,187,98,.38);border-radius:50%}.model-mountain-ring button{--mountain-angle: 0deg;position:absolute;left:50%;top:50%;width:29px;height:29px;display:grid;place-items:center;margin:-14.5px;padding:0;border:1px solid rgba(211,176,91,.2);border-radius:50%;background:#142019;color:#d9c28a;font-size:10px;font-weight:700;cursor:pointer;transform:rotate(var(--mountain-angle)) translateY(-320px) rotate(calc(-1 * var(--mountain-angle))) rotate(var(--world-counter-turn));box-shadow:0 3px 8px #00000047}.model-mountain-ring button:hover,.model-mountain-ring button.is-active{z-index:4;color:#172019;border-color:#f1d181;background:#e8c36d;box-shadow:0 0 0 5px #e8c36d21,0 5px 14px #0000005c}.model-mountain-ring button.is-sand:not(.is-active):after,.model-mountain-ring button.is-water:not(.is-active):after{content:"";position:absolute;bottom:-4px;width:4px;height:4px;border-radius:50%}.model-mountain-ring button.is-sand:not(.is-active):after{background:#d6a951}.model-mountain-ring button.is-water:not(.is-active):after{background:#54bcd1}.model-terrain{position:absolute;width:86px;height:68px;margin:-34px -43px;transform:translateZ(4px) rotate(var(--world-counter-turn));display:grid;place-items:center;pointer-events:none}.model-terrain span{position:absolute;top:-7px;color:#81968c;font-size:8px;white-space:nowrap}.model-terrain b{position:relative;z-index:2;width:26px;height:26px;display:grid;place-items:center;border-radius:5px;font-size:12px}.terrain-form{position:absolute;inset:10px}.model-terrain-sand .terrain-form i{position:absolute;bottom:5px;width:35px;height:30px;clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(145deg,#776b3e,#2f4938 62%,#1c3026);filter:drop-shadow(0 8px 7px rgba(0,0,0,.3))}.model-terrain-sand .terrain-form i:nth-child(1){left:0;transform:scale(.8)}.model-terrain-sand .terrain-form i:nth-child(2){left:22px;bottom:3px;transform:scale(1.18)}.model-terrain-sand .terrain-form i:nth-child(3){right:-2px;transform:scale(.72)}.model-terrain-sand b{border:1px solid rgba(225,184,83,.54);background:#2d2614e6;color:#e4bd61}.model-terrain-water .terrain-form{inset:16px 4px 5px;border-radius:48% 52% 43% 57%;background:radial-gradient(ellipse at 42% 35%,#438da0,#1c5e72 55%,#133746);box-shadow:inset 0 0 0 2px #77d5e52e,0 5px 12px #0000004d}.model-terrain-water .terrain-form i{display:none}.model-terrain-water b{border:1px solid rgba(87,190,212,.52);background:#0c303be6;color:#75d9ec}.model-house{position:absolute;left:50%;top:50%;width:390px;height:390px;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:4px;padding:8px;transform:translate(-50%,-50%) translateZ(20px);background:#83744f;border:8px solid #c2a968;box-shadow:0 18px #554b35,0 28px 34px #00000075}.model-house:before{content:"";position:absolute;inset:-9px;border:1px solid rgba(255,232,172,.5);pointer-events:none}.model-room{position:relative;min-width:0;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,232,182,.22);background:linear-gradient(145deg,#394940,#25362f);color:#e5eee9;cursor:pointer;transform:translateZ(2px);transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}.model-room:nth-child(2n){background:linear-gradient(145deg,#3d443d,#2b332e)}.model-room:hover{filter:brightness(1.16);transform:translateZ(8px)}.model-room.is-selected{z-index:2;transform:translateZ(18px);box-shadow:0 0 0 3px #63d69d,0 18px 22px #00000059}.model-room.is-warning{box-shadow:inset 0 0 0 2px #f06f5ea6}.model-room strong{font-size:12px;letter-spacing:.05em}.room-symbol{width:31px;height:31px;display:grid;place-items:center;border:1px solid rgba(240,207,128,.28);border-radius:50%;background:#0000002e;color:#f0d48d;font-size:11px;font-weight:750}.room-palace{position:absolute;left:7px;top:6px;display:flex;align-items:baseline;gap:4px;color:#e8c66f}.room-palace b{font-family:serif;font-size:13px}.room-palace small{color:#8fa097;font-size:7px}.model-inner-markers{position:absolute;inset:0;pointer-events:none;transform:translateZ(52px)}.inner-marker{position:absolute;min-width:58px;display:flex;align-items:center;justify-content:center;gap:3px;padding:4px 6px;margin:-10px -29px;border-radius:4px;background:#0b110feb;font-size:6.5px;white-space:nowrap;transform:rotate(var(--world-counter-turn));box-shadow:0 4px 12px #00000052}.inner-marker b{font-size:9px}.inner-marker.good{border:1px solid rgba(80,201,133,.5);color:#92ddb1}.inner-marker.caution{border:1px solid rgba(223,156,69,.5);color:#e4bd75}.inner-marker.bad{border:1px solid rgba(240,111,94,.5);color:#ef998d}.model-view-tools{position:absolute;z-index:10;left:16px;top:16px;display:flex;gap:6px}.model-view-tools button{min-width:31px;height:31px;display:grid;place-items:center;padding:0 9px;border:1px solid rgba(209,164,76,.3);border-radius:5px;background:#09100dc7;color:#d9c185;font-size:8px;cursor:pointer}.model-stage-legend{position:absolute;z-index:8;left:14px;right:14px;bottom:12px;min-height:42px;display:flex;align-items:center;gap:22px;padding:8px 12px;border:1px solid rgba(206,224,215,.12);border-radius:6px;background:#080e0cd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#91a098;font-size:8px}.model-stage-legend span{display:flex;align-items:center;gap:7px}.model-stage-legend i{width:13px;height:13px;border-radius:3px}.legend-sand{background:#a5833f;clip-path:polygon(50% 0,100% 100%,0 100%)}.legend-water{background:#2c91a8;border-radius:50%!important}.legend-north{border:6px solid transparent;border-bottom:12px solid #ddb459;border-top:0;border-radius:0!important}.model-inspector{min-width:0;overflow:auto;padding:13px;border-left:1px solid rgba(211,226,218,.12);background:linear-gradient(180deg,#12211c,#0d1714);scrollbar-width:thin}.model-inspector>section{padding:12px;border:1px solid rgba(209,164,76,.2);border-radius:7px;background:#0000001f}.model-inspector>section+section{margin-top:10px}.model-inspector h3{display:flex;align-items:center;gap:6px;margin:0;color:#e7ca7d;font-size:12px;letter-spacing:.06em}.model-preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.model-preset-grid button{min-height:69px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(207,223,214,.14);border-radius:6px;background:#ffffff06;color:#aebbb4;font-size:9px;cursor:pointer}.model-preset-grid button.is-active{border-color:#4fce8b;color:#d9f3e5;background:linear-gradient(145deg,#50c9852e,#50c9850d);box-shadow:inset 0 0 18px #50c9850f}.model-note{margin:9px 0 0;color:#7f8d86;font-size:8px;line-height:1.55}.model-inspector-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.model-inspector-heading>span{color:#8e9b94;font-size:8px}.model-inspector select{width:100%;height:38px;margin-top:10px;padding:0 10px;border:1px solid rgba(209,164,76,.36);border-radius:5px;outline:0;background:#17231f;color:#e7ece9;font-size:10px}.model-room-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.model-room-choices button{min-height:31px;border:1px solid rgba(207,223,214,.12);border-radius:5px;background:#ffffff06;color:#9caaa3;font-size:8px;cursor:pointer}.model-room-choices button.is-active{border-color:#50c98594;background:#50c9851a;color:#a9e4c1}.model-verdict{display:grid;grid-template-columns:25px minmax(0,1fr);gap:8px;align-items:flex-start;margin-top:9px;padding:9px;border-left:2px solid #7a887f;background:#ffffff06}.model-verdict b{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#39463f;color:#bbc5c0;font-size:9px}.model-verdict p{margin:1px 0 0;color:#9da9a3;font-size:8px;line-height:1.55}.model-verdict.is-good{border-color:#50c985}.model-verdict.is-good b{background:#50c98529;color:#7ce2a7}.model-verdict.is-bad{border-color:#f06f5e}.model-verdict.is-bad b{background:#f06f5e26;color:#f4988d}.model-mountain-detail{position:relative;margin-top:10px;padding:10px;border:1px solid rgba(209,164,76,.2);border-radius:6px;background:#d1a44c0b}.model-mountain-detail strong,.model-mountain-detail em{display:block}.model-mountain-detail strong{color:#e8d3a0;font-size:10px}.model-mountain-detail em{position:absolute;right:9px;top:9px;color:#d9b45d;font-size:8px;font-style:normal}.model-mountain-detail p{margin:7px 0 0;color:#8d9a94;font-size:8px;line-height:1.6}.model-mountain-detail.water{border-color:#4ab0c747;background:#4ab0c70d}.model-layer-list{margin-top:8px}.model-layer-row{position:relative;min-height:34px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.045);color:#aeb9b3;font-size:9px;cursor:pointer}.model-layer-row input{position:absolute;opacity:0}.model-layer-row i{width:29px;height:16px;border-radius:12px;background:#34413b;position:relative}.model-layer-row i:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#89958f;transition:.16s}.model-layer-row input:checked+i{background:#50c9858f}.model-layer-row input:checked+i:after{left:15px;background:#6be19f}@media(max-width:1100px){.left-wrap{width:248px}.right-wrap{width:294px}.candidate-strip{left:276px;right:323px}.maplibregl-ctrl-bottom-left{left:270px}.maplibregl-ctrl-top-right{right:310px}.compass-card{left:274px}.trigram-knowledge-backdrop{padding-left:262px;padding-right:308px}}@media(max-width:820px){.topbar{height:48px;padding:0 13px}.brand strong{font-size:16px}.brand span:last-child{font-size:14px}.status{margin-left:auto;font-size:0}.workspace{height:calc(100% - 48px)}.mobile-panel-wrap{display:none;top:8px;bottom:58px;width:min(92vw,340px)}.mobile-panel-wrap.is-open{display:block;z-index:40}.left-wrap{left:8px}.right-wrap{right:8px}.mobile-close{display:block;cursor:pointer}.desktop-collapse,.desktop-panel-restore{display:none}.candidate-strip{left:8px;right:8px;bottom:62px;min-height:105px}.candidate-card:nth-child(n+3){display:none}.candidate-list{grid-template-columns:repeat(2,1fr)}.maplibregl-ctrl-bottom-left{left:4px;bottom:51px}.maplibregl-ctrl-top-right{right:4px;top:4px}.compass-card{left:12px;top:16px}.twenty-four-anchor{width:280px;height:280px}.trigram-knowledge-backdrop{z-index:60;padding:8px 8px 62px;background:#0207058c}.trigram-knowledge-card{width:min(100%,480px)}.mobile-nav{position:absolute;z-index:35;left:0;right:0;bottom:0;height:52px;display:grid;grid-template-columns:repeat(3,1fr);background:#0a110ef5;border-top:1px solid var(--line)}.mobile-nav button{border:0;background:transparent;display:flex;align-items:center;justify-content:center;gap:6px;color:#cbd5d0;font-size:11px}.favorites-trigger,.city-rank-trigger,.interior-analysis-trigger,.exemplar-model-trigger{font-size:0;width:34px;padding:0;justify-content:center}.interior-analysis-trigger{margin-left:-16px;margin-right:0}.exemplar-model-trigger{margin-left:auto}.city-rank-trigger{margin-left:0}.favorites-trigger b{position:absolute;transform:translate(11px,-11px);min-width:14px;height:14px;font-size:7px}.city-scan-backdrop{padding:7px}.city-scan-dialog{width:100%;height:calc(100vh - 62px)}.housing-toolbar{grid-template-columns:1fr 130px}.housing-keyword-field{grid-column:1 / -1}.housing-update{display:none}.housing-snapshot-summary{grid-template-columns:auto 1fr}.housing-snapshot-summary small{grid-column:1 / -1}.housing-content{display:flex;flex-direction:column;flex:none;overflow:visible;gap:18px}.housing-list-panel{min-height:0;flex:none}.housing-list{flex:none;height:min(440px,58dvh);min-height:240px;overflow:auto;overscroll-behavior:contain}.housing-detail{flex:none;overflow:visible;scroll-margin-top:92px}.city-data-note{align-items:flex-start;flex-wrap:wrap}.city-data-note>p{width:100%;margin:0;text-align:left}.city-dialog-header{min-height:60px}.city-filter-grid{grid-template-columns:1fr 1fr;padding:10px}.water-rule-panel{margin:0 10px 9px;grid-template-columns:1fr;gap:8px}.water-direction-list{grid-template-columns:repeat(4,1fr)}.water-legend{flex-wrap:wrap;gap:7px 12px}.channel-toggle{white-space:normal}.scan-command-row{padding:0 10px 9px;align-items:stretch;flex-direction:column}.scan-city-button{justify-content:center}.scan-status,.ranking-table{margin-left:10px;margin-right:10px}.ranking-row{grid-template-columns:29px minmax(120px,1fr) 52px 56px}.ranking-water{display:none}.city-data-note{padding:8px 10px}.favorites-drawer{width:100%}.favorites-layout{grid-template-columns:145px minmax(0,1fr)}.floorplan-backdrop{padding:7px}.floorplan-dialog{width:100%;height:calc(100vh - 62px)}.house-detail-backdrop{padding:7px}.house-detail-dialog{width:100%;height:calc(100vh - 62px)}.house-detail-summary{grid-template-columns:1fr 1fr}.house-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.interior-analysis-dialog{height:calc(100vh - 62px)}.interior-analysis-note p{display:none}.floorplan-overview{grid-template-columns:1fr}.floorplan-image-frame{height:min(430px,52vh)}.exemplar-backdrop{padding:6px}.exemplar-dialog{width:100%;height:calc(100vh - 12px)}.exemplar-body{display:flex;flex-direction:column;overflow:auto}.model-stage{min-height:58vh;flex:0 0 58vh}.model-inspector{overflow:visible;border-left:0;border-top:1px solid var(--line)}.model-world{width:720px}.model-stage-legend{overflow-x:auto;gap:14px;white-space:nowrap}}@media(max-width:520px){.brand i,.brand span:last-child{display:none}.candidate-strip{min-height:100px}.candidate-card:nth-child(n+2){display:none}.candidate-list{grid-template-columns:1fr}.candidate-card{height:62px}.favorites-layout{display:flex;flex-direction:column}.favorite-folder-rail{min-height:auto;max-height:188px;border-right:0;border-bottom:1px solid var(--line)}.favorite-folder-list{display:flex;gap:5px;overflow-x:auto}.favorite-folder-list>button{min-width:132px;margin:0}.favorite-folder-create{display:grid;grid-template-columns:74px minmax(0,1fr) 56px;align-items:center;gap:5px;padding-top:8px}.favorite-folder-create label,.favorite-folder-create button{margin:0}.house-photo-grid{grid-template-columns:1fr}.house-detail-footer{align-items:stretch;flex-direction:column}.house-detail-footer a{justify-content:center}.model-preset-grid{grid-template-columns:1fr}.model-preset-grid button{min-height:44px;flex-direction:row}.model-stage{min-height:54vh;flex-basis:54vh}.model-world{width:650px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}.model-world-v2{top:49%;width:min(790px,74vw)}.model-elevation-ring{position:absolute;inset:0;border-radius:50%;transform-style:preserve-3d;pointer-events:none}.mountain-pillar{--mountain-angle:0deg;--mountain-height:20px;position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px;padding:0;border:0;border-radius:4px;background:transparent;transform-style:preserve-3d;pointer-events:auto;cursor:pointer;transform:rotate(var(--mountain-angle)) translateY(-345px) rotate(calc(-1 * var(--mountain-angle))) translateZ(var(--mountain-height));transition:filter .15s ease}.mountain-pillar-top{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(246,220,153,.38);border-radius:4px;background:linear-gradient(145deg,#556444,#26372e 68%);box-shadow:inset 0 0 16px #ffde8114,0 5px 12px #0000005c;color:#f1d489;transform:rotate(var(--world-counter-turn))}.mountain-pillar.is-low .mountain-pillar-top{border-color:#a0b0a93d;background:linear-gradient(145deg,#343d38,#18231f 72%);color:#bfc8c3}.mountain-pillar-top b{font:700 14px/1 serif}.mountain-pillar-top em{margin-top:3px;color:#8bd4a8;font:700 7px/1 sans-serif;font-style:normal}.mountain-pillar.is-low .mountain-pillar-top em{color:#79b9ca}.mountain-pillar-wall{position:absolute;z-index:1;left:1px;top:44px;width:44px;height:var(--mountain-height);border:1px solid rgba(0,0,0,.24);background:linear-gradient(90deg,#17271f,#344538 52%,#14221b);transform-origin:top center;transform:rotateX(-90deg);box-shadow:inset -10px 0 14px #0000003d}.mountain-pillar.is-low .mountain-pillar-wall{background:linear-gradient(90deg,#111a17,#28322e 52%,#111915)}.mountain-pillar:hover,.mountain-pillar.is-active{z-index:9;filter:brightness(1.35)}.mountain-pillar.is-active .mountain-pillar-top{border:none;box-shadow:0 0 0 3px #f0c965,0 0 24px #f0c96573}.model-guardian{--guardian-angle:0deg;position:absolute;z-index:7;left:50%;top:50%;min-width:102px;display:flex;flex-direction:column;align-items:center;margin:-18px -51px;padding:6px 8px;border:1px solid rgba(207,221,213,.2);border-radius:6px;background:#070f0ce6;transform:rotate(var(--guardian-angle)) translateY(-407px) rotate(calc(-1 * var(--guardian-angle))) rotate(var(--world-counter-turn)) translateZ(92px);box-shadow:0 6px 16px #0000006b;pointer-events:none}.model-guardian b{color:#efd082;font:700 12px/1.2 serif;letter-spacing:.14em}.model-guardian span{margin-top:3px;color:#8f9d96;font-size:7px;white-space:nowrap}.model-guardian.guardian-high{border-color:#51c98661}.model-guardian.guardian-high span{color:#75d29e}.model-guardian.guardian-low{border-color:#55b1c657}.model-guardian.guardian-low span{color:#79c4d5}.model-house-v2{left:50%;top:50%;width:390px;height:325px;display:block;padding:0;border:8px solid #a28d59;border-radius:2px;transform:translate(-50%,-50%) translateZ(24px);background:#17221e;box-shadow:0 20px #4c4431,0 31px 38px #0000008c}.model-house-v2:before{inset:-9px}.model-bagua-grid{position:absolute;z-index:0;inset:0;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);pointer-events:none}.model-bagua-grid span{display:flex;align-items:flex-start;justify-content:space-between;padding:5px;border:1px dashed rgba(222,189,107,.13);color:#e8c7713d}.model-bagua-grid b{font:700 13px/1 serif}.model-bagua-grid small{font-size:6px}.model-house-v2 .model-room{position:absolute;z-index:1;display:block;min-width:0;padding:0;overflow:hidden;border:2px solid #c2b799;border-radius:0;background:linear-gradient(145deg,#4f6056e0,#2d3d35f0);transform:translateZ(3px);box-shadow:inset 0 0 18px #0000002e}.model-house-v2 .model-room:nth-child(2n){background:linear-gradient(145deg,#5b5948e6,#363d33f5)}.model-house-v2 .model-room:hover{z-index:4;transform:translateZ(10px);filter:brightness(1.12)}.model-house-v2 .model-room.is-selected{z-index:5;transform:translateZ(18px);box-shadow:0 0 0 3px #62d595,0 15px 24px #0000006b,inset 0 0 18px #5fd99a1f}.model-house-v2 .room-palace{z-index:5;left:5px;top:4px;padding:2px 4px;border-radius:3px;background:#080f0d9e}.model-house-v2 .room-palace b{font-size:10px}.model-house-v2 .room-caption{position:absolute;z-index:5;left:50%;bottom:6px;display:flex;align-items:center;gap:4px;padding:3px 5px;border-radius:3px;background:#050c09c2;color:#eef2ef;transform:translate(-50%) rotate(var(--world-counter-turn));white-space:nowrap;box-shadow:0 3px 8px #00000047}.model-house-v2 .room-caption i{width:15px;height:15px;display:grid;place-items:center;border-radius:50%;background:#dcb6592e;color:#e8c775;font-size:7px;font-style:normal}.model-house-v2 .room-caption strong{font-size:7px}.room-door{position:absolute;z-index:6;right:-2px;bottom:18%;width:12px;height:3px;border-radius:3px;background:#0f1915;box-shadow:0 0 0 1px #e2ce9d61}.room-foyer .room-door{right:auto;left:42%;bottom:-2px;width:24px}.model-main-door{position:absolute;z-index:9;left:55%;bottom:-24px;min-width:46px;padding:4px 6px;border:1px solid rgba(229,190,91,.56);border-radius:4px;background:#121b18;color:#f0ca6a;font-size:7px;text-align:center;transform:rotate(var(--world-counter-turn))}.model-furniture{position:absolute;z-index:2;left:50%;top:48%;width:54%;height:38%;border:2px solid rgba(231,211,164,.55);border-radius:3px;background:#cab98f36;transform:translate(-50%,-50%) translateZ(5px);box-shadow:0 5px #1d2621b3}.model-furniture i{position:absolute;display:block;background:#e7d9b58c}.furniture-bed{width:46%;height:56%}.furniture-bed i:nth-child(1){left:8%;right:8%;top:7%;height:24%;border-radius:2px}.furniture-bed i:nth-child(2){left:8%;right:8%;bottom:8%;height:52%;background:#aa9a795c}.furniture-counter{width:72%;height:48%;border-radius:1px}.furniture-counter i:nth-child(1){left:8%;right:8%;top:14%;height:18%}.furniture-counter i:nth-child(2),.furniture-counter i:nth-child(3){bottom:12%;width:16%;height:30%;border-radius:50%}.furniture-counter i:nth-child(2){left:22%}.furniture-counter i:nth-child(3){right:22%}.furniture-bath{width:48%;height:52%;border-radius:15px 15px 5px 5px}.furniture-bath i:nth-child(1){left:32%;top:15%;width:36%;height:36%;border-radius:50%}.furniture-table{width:52%;height:44%;border-radius:50%}.furniture-table i{width:9px;height:9px;border-radius:50%}.furniture-table i:nth-child(1){left:-13px;top:38%}.furniture-table i:nth-child(2){right:-13px;top:38%}.furniture-table i:nth-child(3){left:42%;top:-13px}.furniture-table i:nth-child(4){left:42%;bottom:-13px}.furniture-sofa{width:68%;height:30%;border-radius:4px}.furniture-sofa i:nth-child(1){left:7%;right:7%;bottom:-18px;height:11px;border-radius:2px;background:#ac986f70}.furniture-desk,.furniture-desks{width:62%;height:26%}.furniture-desk i:nth-child(1),.furniture-desks i:nth-child(1){left:36%;bottom:-16px;width:28%;height:12px;border-radius:7px}.furniture-desks i:nth-child(2){left:5%;bottom:-16px;width:25%;height:12px;border-radius:7px}.furniture-desks i:nth-child(3){right:5%;bottom:-16px;width:25%;height:12px;border-radius:7px}.furniture-cabinet{width:72%;height:28%;top:28%}.furniture-foyer{width:22%;height:70%;left:24%}.furniture-chair{width:38%;height:38%;border-radius:50%}.model-inner-24{position:absolute;inset:50%;z-index:10;width:0;height:0;transform-style:preserve-3d;pointer-events:none}.inner-24-point{--mountain-angle:0deg;position:absolute;left:0;top:0;width:20px;height:20px;margin:-10px;padding:0;display:grid;place-items:center;border:1px solid rgba(203,218,210,.2);border-radius:50%;background:#101b17;color:#a9b5ae;font:700 8px/1 serif;cursor:pointer;pointer-events:auto;transform:rotate(var(--mountain-angle)) translateY(-218px) rotate(calc(-1 * var(--mountain-angle))) rotate(var(--world-counter-turn)) translateZ(58px);box-shadow:0 3px 8px #00000052}.inner-24-point.good{border-color:#53d58f8f;color:#77dca4}.inner-24-point.caution{border-color:#e5b24a8f;color:#e7c069}.inner-24-point.bad{border-color:#ee67588a;color:#ef8f83}.inner-24-point.is-active{z-index:5;color:#122019;background:#f0ca6a;border-color:#f7db96;box-shadow:0 0 0 4px #f0ca6a2e,0 4px 11px #0006}.legend-high{background:linear-gradient(#6f8a5f,#314539);box-shadow:0 6px #1b2922}.legend-low{background:#283631;box-shadow:0 2px #18201d}.legend-good{border-radius:50%!important;background:#50c985;box-shadow:0 0 8px #50c985b3}.legend-bad{border-radius:50%!important;background:#e86455;box-shadow:0 0 8px #e86455a6}.model-selected-mountain{position:relative;margin-top:9px;padding:10px;border:1px solid rgba(207,220,213,.15);border-left:3px solid #69c1d3;border-radius:5px;background:#ffffff06}.model-selected-mountain.is-high{border-left-color:#65cc92}.model-selected-mountain strong{color:#e8d39b;font-size:10px}.model-selected-mountain>span{position:absolute;right:9px;top:9px;color:#7f9188;font-size:8px}.model-selected-mountain p{margin:7px 0 0;color:#93a099;font-size:8px;line-height:1.55}.model-inner-rule{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:7px;padding:8px 9px;border:1px solid rgba(207,220,213,.13);border-radius:5px;background:#ffffff05}.model-inner-rule b{color:#9ba8a1;font-size:8px}.model-inner-rule strong{color:#d9e2dd;font-size:9px;text-align:right}.model-inner-rule.good{border-color:#50c9854d}.model-inner-rule.good strong{color:#76dba2}.model-inner-rule.bad{border-color:#e8645547}.model-inner-rule.bad strong{color:#ef8d81}.model-inner-rule.caution{border-color:#e2b04c47}.model-inner-rule.caution strong{color:#e4bd68}.model-profile-chart{position:relative;height:126px;display:grid;grid-template-columns:repeat(24,1fr);gap:2px;margin-top:10px;padding:8px 3px 18px;border-radius:5px;background:#050c0980}.profile-zero{position:absolute;z-index:0;left:5px;right:5px;top:54px;height:1px;background:#dce7e14d}.model-profile-chart button{position:relative;z-index:1;min-width:0;height:100%;padding:0;border:0;background:transparent;cursor:pointer}.model-profile-chart button i{position:absolute;left:18%;right:18%;bottom:64px;height:var(--bar-size);min-height:4px;border-radius:2px 2px 0 0;background:linear-gradient(#79df9f,#287b51)}.model-profile-chart button.low i{top:46px;bottom:auto;height:calc(var(--bar-size) * .55);border-radius:0 0 2px 2px;background:linear-gradient(#31788a,#65b9cb)}.model-profile-chart button b{position:absolute;left:50%;bottom:1px;color:#9ea9a3;font:700 7px/1 serif;transform:translate(-50%)}.model-profile-chart button em{position:absolute;left:50%;bottom:12px;color:#5f6f67;font-size:5px;font-style:normal;transform:translate(-50%)}.model-profile-chart button.is-active i{filter:brightness(1.5);box-shadow:0 0 8px #edcb71b3}.model-profile-chart button.is-active b{color:#f0ce78}@media(max-width:1180px){.model-world-v2{width:720px}.mountain-pillar{transform:rotate(var(--mountain-angle)) translateY(-314px) rotate(calc(-1 * var(--mountain-angle))) translateZ(var(--mountain-height))}.model-guardian{transform:rotate(var(--guardian-angle)) translateY(-370px) rotate(calc(-1 * var(--guardian-angle))) rotate(var(--world-counter-turn)) translateZ(92px)}.model-house-v2{width:355px;height:296px}.inner-24-point{transform:rotate(var(--mountain-angle)) translateY(-199px) rotate(calc(-1 * var(--mountain-angle))) rotate(var(--world-counter-turn)) translateZ(58px)}}@media(max-width:760px){.model-world-v2{width:650px}.mountain-pillar{width:40px;height:40px;margin:-20px;transform:rotate(var(--mountain-angle)) translateY(-279px) rotate(calc(-1 * var(--mountain-angle))) translateZ(var(--mountain-height))}.mountain-pillar-wall{top:38px;width:38px}.model-guardian{transform:rotate(var(--guardian-angle)) translateY(-330px) rotate(calc(-1 * var(--guardian-angle))) rotate(var(--world-counter-turn)) translateZ(92px)}.model-house-v2{width:320px;height:267px}.inner-24-point{transform:rotate(var(--mountain-angle)) translateY(-181px) rotate(calc(-1 * var(--mountain-angle))) rotate(var(--world-counter-turn)) translateZ(58px)}.model-profile-chart{min-width:330px}}.model-stage{container-type:inline-size}.model-world-v2{width:min(760px,100%)}.mountain-pillar{transform:rotate(var(--mountain-angle)) translateY(clamp(-330px,-38cqw,-188px)) rotate(calc(-1 * var(--mountain-angle))) translateZ(var(--mountain-height))}.model-guardian{min-width:88px;margin:-18px -44px;transform:rotate(var(--guardian-angle)) translateY(clamp(-280px,-33cqw,-166px)) rotate(calc(-1 * var(--guardian-angle))) rotate(var(--world-counter-turn)) translateZ(104px)}.model-house-v2{width:clamp(276px,55cqw,390px);height:clamp(230px,45.8cqw,325px)}.inner-24-point{transform:rotate(var(--mountain-angle)) translateY(clamp(-218px,-30cqw,-148px)) rotate(calc(-1 * var(--mountain-angle))) rotate(var(--world-counter-turn)) translateZ(58px)}.workspace.is-obscured{visibility:hidden;pointer-events:none}.dialog-layer{position:absolute;inset:52px 0 0;z-index:50;isolation:isolate;pointer-events:none}.dialog-layer>*{pointer-events:auto}.dialog-layer.is-blocking{background:var(--bg)}.dialog-layer.is-blocking .city-scan-backdrop,.dialog-layer.is-blocking .floorplan-backdrop,.dialog-layer.is-blocking .exemplar-backdrop{display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:none;backdrop-filter:none;background:#0d1311}.dialog-layer .city-scan-dialog,.dialog-layer .floorplan-dialog,.dialog-layer .exemplar-dialog{min-height:0;max-height:100%}@media(max-width:820px){.dialog-layer{top:48px}}.model-stage-v3{position:relative;min-width:0;overflow:hidden;background:#12211c;perspective:none}.model-webgl{position:absolute;inset:0}.model-webgl canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.model-webgl canvas:active{cursor:grabbing}.model-webgl canvas:focus-visible{outline:2px solid #e0c184;outline-offset:-3px}.model-mode-bar{position:absolute;left:18px;top:16px;display:flex;padding:4px;gap:3px;background:#0b1915ee;border:1px solid #667754;border-radius:9px}.model-mode-bar button,.model-camera-bar button{border:1px solid transparent;border-radius:5px;color:#cfceb9;background:transparent;font-size:12px;padding:9px 13px;cursor:pointer}.model-mode-bar button.is-active{background:#d2b97e;color:#18251c;font-weight:700}.model-location-chip{position:absolute;right:18px;top:29px;color:#b4c5af;font-size:11px;pointer-events:none}.model-camera-bar{position:absolute;bottom:44px;left:50%;transform:translate(-50%);display:flex;gap:3px;white-space:nowrap;background:#0b1915f2;border:1px solid #61735a;padding:4px;border-radius:9px}.model-camera-bar button:hover{background:#344b3a}.model-camera-bar .model-enter{background:#4b6650;color:#f4e7c3}.model-stage-help{position:absolute;bottom:19px;left:0;right:0;text-align:center;color:#aebda8;font-size:11px;pointer-events:none}.model-mountain-picker{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}.model-mountain-picker button{display:flex;flex-direction:column;gap:3px;align-items:center;padding:7px 2px;border:1px solid #365646;background:#172b22;border-radius:5px;color:#b9d6ac;cursor:pointer}.model-mountain-picker button.low{background:#172a2a;color:#9ecad0;border-color:#365459}.model-mountain-picker button.is-active{outline:2px solid #dfc17a;color:#f6e5b5}.model-mountain-picker small{font-size:9px;opacity:.8}.model-field{display:block;font-size:11px;color:#b7c5b7;margin-top:12px}.model-field select{margin-top:6px;width:100%}.model-spatial-note,.model-placement-detail{font-size:12px;line-height:1.9;color:#b3c2b5;margin:10px 0 0}.model-placement-detail{background:#26372d;padding:10px;border-radius:6px;color:#ddcfaa}.model-placement-list{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.model-placement-list button{display:flex;align-items:center;gap:9px;text-align:left;padding:9px;border:1px solid #3f5140;background:#17261f;color:#e5d5ac;border-radius:5px;cursor:pointer}.model-placement-list b{font-size:19px}.model-placement-list span{font-size:12px}.model-placement-list small{display:block;font-size:9px;color:#9dab9e;margin-top:4px}.model-height-pairs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px;color:#d3d5b6;font-size:11px}.model-render-error{position:absolute;z-index:5;left:20px;right:20px;top:90px;padding:20px;background:#392f24;color:#ffe4b7}@media(max-width:820px){.model-stage-v3{flex:none;height:540px;min-height:540px}.model-location-chip{top:69px;right:16px;font-size:10px}.model-mode-bar{left:12px;top:12px}.model-camera-bar{bottom:46px;max-width:calc(100% - 12px);gap:0}.model-camera-bar button{padding:8px 7px;font-size:10px}.model-stage-help{padding:0 14px;font-size:10px}}.model-stage-v3 .model-webgl{inset:65px 0 88px}.model-inspector .model-verdict p{grid-column:1 / -1;font-size:12px;line-height:1.8}.model-inspector .model-selected-mountain p{font-size:12px;line-height:1.8}.model-inspector .model-inner-rule b,.model-inspector .model-inner-rule strong{font-size:12px}.model-stage-diagram{background:radial-gradient(circle at 50% 48%,rgba(209,164,76,.12),transparent 29%),repeating-radial-gradient(ellipse at 50% 48%,transparent 0 34px,rgba(173,196,184,.035) 35px 36px),linear-gradient(145deg,#0c1512,#101c17 48%,#08100e)}.model-diagram{position:absolute;inset:65px 0 88px;perspective:1100px;touch-action:none;overflow:hidden}.model-world-restored{transition:none;transform:translate(-50%,-50%) rotateX(var(--world-pitch)) rotate(var(--world-turn)) scale(var(--world-scale))}.model-world-restored .mountain-pillar-top .has-guardian-name{font-size:8px;white-space:nowrap;letter-spacing:-.3px}.model-world-restored .room-palace{max-width:100%;gap:2px}.model-world-restored .room-palace b{font-size:8px;white-space:nowrap}.model-plan-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.model-plan-cards button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:70px;padding:10px;border:1px solid #596246;border-radius:6px;background:#16271f;color:#c4c8b3;cursor:pointer}.model-plan-cards button strong{font-size:15px}.model-plan-cards button small{font-size:11px;color:#9aab9a}.model-plan-cards button.is-active{border-color:#dcc07c;background:linear-gradient(145deg,#3a4530,#243a2c);color:#ffe4a5;box-shadow:inset 0 0 0 1px #bda464}.model-plan-cards button.is-active small{color:#decca0}.model-plan-summary{margin:12px 0 0;font-size:12px;line-height:1.8;color:#b1beae}.model-plan-notes>button{display:block;width:100%;text-align:left;margin-top:10px;border:1px solid #354d3b;border-left:3px solid #70885b;border-radius:5px;background:#14231b;padding:11px;color:#d5d6be;cursor:pointer}.model-plan-notes>button.is-active{border-color:#b9a56b;background:#263525}.model-plan-notes strong{font-size:12px;color:#e4ce93}.model-plan-notes p{font-size:12px;line-height:1.8;margin:6px 0}.model-plan-notes span{color:#9fbea2;font-size:10px}.model-world-restored .mountain-pillar{filter:none;transition:none}.model-diagram.is-dragging button{pointer-events:none}.model-diagram .model-house-v2 .model-room{transition:none}@media(max-width:820px){.housing-dialog{overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.housing-dialog>*{flex-shrink:0}.housing-dialog .city-dialog-header{position:sticky;top:0;z-index:4;background:#14201b;gap:12px}.city-dialog-header>div,.city-dialog-header>div>div{min-width:0}.city-dialog-header h2{font-size:20px}.city-dialog-header p{font-size:12px;line-height:1.65}.city-dialog-header>button{width:44px;height:44px;flex:0 0 44px}.housing-toolbar{grid-template-columns:minmax(0,1fr);padding:16px;gap:14px}.housing-keyword-field{grid-column:auto}.housing-update{display:grid;grid-template-columns:auto minmax(0,1fr)}.city-field>span{font-size:13px;color:#aebeb5}.city-field input,.city-field select{min-height:46px;font-size:16px}.city-search-field button{min-height:46px;font-size:14px;padding:0 14px}.housing-update span,.housing-update small,.housing-snapshot-summary span,.housing-snapshot-summary small,.housing-result-summary,.housing-result-summary small{font-size:12px;line-height:1.65;color:#a3b5aa}.housing-update strong,.housing-snapshot-summary strong,.housing-result-summary b{font-size:14px;white-space:normal}.housing-tabs button{height:46px;font-size:15px}.housing-tabs button b{font-size:12px;min-width:26px;height:24px}.housing-row{grid-template-columns:minmax(0,1fr) 48px;align-items:start;padding:5px 0}.housing-row-select{grid-template-columns:40px minmax(0,1fr);padding:12px 8px 12px 12px;gap:9px}.housing-row-main{grid-column:2}.housing-row-main strong,.housing-row-main small,.housing-row-main em{white-space:normal;overflow:visible;overflow-wrap:anywhere;text-overflow:clip;line-height:1.65}.housing-row-main strong{font-size:15px}.housing-row-main small{font-size:13px;color:#bac7c0}.housing-row-main em{font-size:12px;color:#9aac9f}.housing-row-meta{grid-column:2;text-align:left;min-width:0}.housing-row-meta strong{font-size:18px}.housing-row-meta small{font-size:12px;line-height:1.6;color:#a5b6ab}.housing-kind{font-size:12px;height:28px}.housing-favorite-star{width:44px;height:44px;margin-top:10px}.housing-pagination{align-items:center;padding-top:10px;gap:14px}.housing-pagination button{min-height:44px;font-size:13px}.housing-pagination span{font-size:13px}.housing-detail{background:#122019;padding:16px;border-color:#476151}.housing-detail-title{align-items:flex-start}.housing-detail-title h3{font-size:19px;line-height:1.5}.housing-detail-title p,.housing-detail dd{font-size:14px;line-height:1.8;overflow-wrap:anywhere}.housing-detail dt{font-size:13px;color:#a5b7ab}.housing-detail dl>div{grid-template-columns:64px minmax(0,1fr);margin:12px 0}.housing-contact{grid-template-columns:minmax(0,1fr)}.housing-contact span,.housing-contact p,.housing-source-note,.housing-register-note,.housing-error{font-size:12px;line-height:1.75;color:#abc0b5}.housing-contact strong{font-size:15px}.housing-contact a,.housing-detail-actions button{min-height:46px;height:auto;padding:12px;font-size:14px;line-height:1.5}.housing-source-links a{padding:10px;font-size:12px}.city-data-note{font-size:12px;line-height:1.7;padding:16px}.housing-result-summary{flex-wrap:wrap;gap:5px;padding-bottom:10px}.housing-back-list{display:block;margin:0 0 14px;min-height:44px;padding:8px 14px;border:1px solid #647c67;border-radius:8px;background:#24382a;color:#e6d09c;font-size:14px}.candidate-list{display:flex;overflow:auto;gap:8px;scroll-snap-type:x proximity}.candidate-card,.candidate-card:nth-child(n+2),.candidate-card:nth-child(n+3){display:flex;flex:0 0 220px;height:auto;min-height:76px;scroll-snap-align:start}.candidate-card h3{font-size:14px}.candidate-card p{font-size:12px}.interior-analysis-note p{display:block;font-size:12px;line-height:1.6}.ranking-water{display:block}.ranking-row{grid-template-columns:28px minmax(120px,1fr) 52px 56px 90px;min-width:440px}.ranking-table{overflow:auto}.floorplan-dialog,.house-detail-dialog,.favorites-drawer,.exemplar-dialog{max-width:100%}.floorplan-dialog p,.house-detail-dialog p,.favorite-item p,.model-inspector p{font-size:14px;line-height:1.8}.floorplan-dialog small,.house-detail-dialog small,.model-inspector small{font-size:12px;line-height:1.7}.house-detail-summary,.floorplan-overview{min-width:0}.model-inspector{min-width:0;flex:none}.model-inspector h3{font-size:18px}.model-inspector button{min-height:44px}.model-mountain-picker{grid-template-columns:repeat(6,minmax(0,1fr))}.model-stage-v3{min-height:460px;height:460px}.model-camera-bar{flex-wrap:wrap;justify-content:center;white-space:normal;width:calc(100% - 20px)}.model-camera-bar button{min-height:40px;font-size:12px}}@media(min-width:821px){.housing-back-list{display:none}}@media(max-width:820px){.floorplan-header{flex:none;align-items:flex-start;gap:10px}.floorplan-header small{font-size:12px;line-height:1.6;white-space:normal;overflow:visible;text-overflow:clip}.floorplan-header>button{flex:0 0 44px;width:44px;height:44px}.interior-analysis-note{flex:none;display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 13px}.interior-analysis-note span{font-size:11px;white-space:normal;line-height:1.6}.interior-analysis-note p{grid-column:1/-1;grid-row:2;text-align:left;font-size:13px;line-height:1.7}.interior-analysis-note a{min-height:40px;display:flex;align-items:center;justify-content:center}}.map-recovery{position:absolute;z-index:5;top:16px;left:50%;transform:translate(-50%);width:max-content;max-width:calc(100% - 24px);display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #665939;border-radius:10px;background:#14201eee;color:#e6d5ad;font-size:14px}.map-recovery button{background:#293b30;color:#f1d48c;border:1px solid #776237;border-radius:6px;padding:8px}.analysis-fold>summary,.floorplan-method>summary{cursor:pointer;color:#dcc27f;font-size:14px;padding:12px 0}.analysis-fold>summary:focus-visible,.floorplan-method>summary:focus-visible{outline:2px solid #dcc27f;outline-offset:3px}.manual-place summary{cursor:pointer;color:var(--muted);font-size:12px;min-height:28px}.manual-place form{display:grid;gap:10px;margin-top:10px}.manual-place label{display:grid;gap:6px;font-size:12px;color:var(--muted)}.manual-place input{box-sizing:border-box;width:100%;min-width:0;min-height:40px;border:1px solid var(--line);border-radius:6px;background:#00000029;color:var(--text);padding:8px;font-size:16px}.manual-place button{min-height:40px;border:1px solid var(--line);border-radius:6px;background:#d1a44c1f;color:var(--text);cursor:pointer}.environment-panel{margin:16px 12px}.environment-panel p{font-size:13px;line-height:1.75}.environment-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.environment-inputs label,.environment-building label{display:grid;gap:6px;font-size:12px;min-width:0}.environment-inputs input,.environment-inputs select,.environment-building input{width:100%;min-width:0;box-sizing:border-box;border:1px solid #42544d;border-radius:8px;background:#15231e;color:#eee8d6;padding:10px;font:inherit}.environment-note{color:#b0bbb4}.environment-skyline{display:grid;gap:9px;margin:18px 0}.environment-skyline>div{display:grid;grid-template-columns:32px 1fr 46px;gap:8px;align-items:center;font-size:12px}.environment-skyline i{height:10px;background:#2b3b34;border-radius:8px;overflow:hidden}.environment-skyline b{display:block;height:100%;background:#d9b563;min-width:0}.environment-skyline strong{text-align:right;font-weight:500}.environment-building{display:grid;gap:8px;padding:14px 0;border-bottom:1px solid #3a4942;font-size:12px}.environment-building>span{color:#b0bbb4}.environment-panel summary{cursor:pointer}.environment-panel .primary-action{width:100%}
