:root{color:#18303e;font-synthesis:none;text-rendering:optimizelegibility;--app-bar:#142a3b;--app-bar-muted:#b9cbd5;--canvas:#edf1f3;--surface:#fff;--surface-subtle:#f5f7f8;--line:#cbd5db;--line-strong:#aab9c2;--text:#18303e;--text-muted:#526874;--action:#1768c4;--action-hover:#0f579f;--danger:#a13c34;--success:#27735f;background:#edf1f3;font-family:Noto Sans SC,Microsoft YaHei UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;overflow:hidden}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline-offset:1px;outline:3px solid #1768c459}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:var(--canvas);min-height:100vh}.app-view-hidden{display:none!important}.app-bar{color:#f4f8fa;background:var(--app-bar);border-bottom:1px solid #2a4353;grid-template-columns:minmax(280px,340px) 1fr auto;align-items:center;gap:18px;height:56px;padding:0 18px;display:grid}.product-lockup{align-items:center;gap:10px;min-width:0;display:flex}.product-lockup strong{letter-spacing:-.02em;font-size:18px}.product-mark{color:#fff;border:1px solid #718592;border-radius:5px;place-items:center;width:30px;height:30px;display:grid}.app-nav{justify-content:center;align-items:center;gap:6px;min-width:0;display:flex}.app-nav button{color:var(--app-bar-muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:5px;padding:6px 8px;font-size:12px;display:inline-flex}.app-nav button:hover{color:#fff;background:#203d4f}.app-nav button.active{color:#fff;background:#294759}.app-bar-button{color:#eef5f8;cursor:pointer;background:0 0;border:1px solid #607683;border-radius:4px;align-items:center;gap:7px;height:34px;padding:0 10px;display:inline-flex}.app-bar-button:hover:not(:disabled){background:#294759}.app-bar-button:disabled{color:#79909e;cursor:not-allowed;border-color:#405867}.workspace{grid-template-columns:340px minmax(0,1fr);height:calc(100vh - 56px);display:grid}.parameter-rail{overscroll-behavior:contain;background:var(--surface);border-right:1px solid var(--line-strong);scrollbar-color:#a4b2ba transparent;scrollbar-width:thin;min-width:0;position:relative;overflow-y:auto}.rail-intro{border-bottom:1px solid var(--line);background:#f8fafb;justify-content:space-between;align-items:center;gap:16px;padding:22px 20px 18px;display:flex}.rail-intro h1,.result-heading h2{color:var(--text);letter-spacing:-.025em;margin:0;font-size:25px;line-height:1.2}.result-heading p,.section-heading-row p{color:var(--text-muted);margin:7px 0 0;font-size:12px;line-height:1.5}.rail-intro-actions{align-items:center;gap:7px;display:flex}.mobile-param-toggle{height:34px;color:var(--action);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:4px;align-items:center;gap:6px;padding:0 9px;font-size:12px;font-weight:700;display:none}.icon-button,.text-button,.row-disclosure{cursor:pointer;background:0 0;border:0}.icon-button{color:#47606e;border:1px solid var(--line);border-radius:4px;flex:none;place-items:center;width:34px;height:34px;display:grid}.icon-button:hover:not(:disabled){color:var(--text);background:#eef3f5}.icon-button:disabled{opacity:.4;cursor:not-allowed}.danger-button:hover:not(:disabled){color:var(--danger);background:#f8ecea;border-color:#dab2ae}.rail-section{border-bottom:1px solid var(--line);padding:20px}.section-heading-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px;display:flex}.section-heading-row h2{color:var(--text);letter-spacing:-.01em;margin:0;font-size:16px;line-height:1.3}.text-button{height:32px;color:var(--action);align-items:center;gap:5px;padding:0 5px;font-size:13px;display:inline-flex}.text-button:hover{color:var(--action-hover);text-underline-offset:3px;text-decoration:underline}.form-stack{gap:13px;display:grid}.form-stack label,.type-field-grid label{color:#405763;gap:6px;min-width:0;font-size:12px;font-weight:600;display:grid}input[type=text],input[type=number]{width:100%;min-width:0;height:38px;color:var(--text);font-variant-numeric:tabular-nums;background:#fff;border:1px solid #b6c3ca;border-radius:4px;padding:0 10px}input[type=text]:hover,input[type=number]:hover{border-color:#8498a4}.two-column-fields{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:10px;display:grid}.input-with-unit{display:block;position:relative}.input-with-unit input{padding-right:34px}.input-with-unit>span{color:#5d717d;pointer-events:none;font-weight:500;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.derived-capacity{min-height:44px;color:var(--text-muted);background:#eef3f5;border:1px solid #d0dbe0;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:12px;display:flex}.derived-capacity strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:16px}.building-type-list{border-top:1px solid var(--line);display:grid}.building-type-row{border:0;border-bottom:1px solid var(--line);background:0 0;min-width:0;margin:0;padding:12px 0}.type-row-heading{grid-template-columns:24px 34px minmax(0,1fr) 30px;align-items:center;gap:7px;display:grid}.color-input{cursor:pointer;background:#fff;border:1px solid #9fb0b9;border-radius:3px;width:24px;height:24px;padding:1px}.type-code{color:#5a6e79;font-variant-numeric:tabular-nums;font-size:11px}.inline-name-input{font-weight:700;height:32px!important;padding:0 7px!important}.type-row-heading .icon-button{border-color:#0000;width:30px;height:30px}.type-field-grid{grid-template-columns:minmax(0,1.25fr) repeat(2,minmax(0,.8fr));gap:7px;margin-top:10px;display:grid}.type-field-grid input{height:34px;padding-left:7px;padding-right:28px;font-size:12px}.parcel-list{border-top:1px solid var(--line);display:grid}.parcel-row{border:0;border-bottom:1px solid var(--line);min-width:0;margin:0;padding:12px 0 10px}.parcel-row-heading{grid-template-columns:34px minmax(0,1fr) 30px;align-items:center;gap:7px;display:grid}.parcel-row-heading .icon-button{border-color:#0000;width:30px;height:30px}.parcel-fields{margin-top:9px}.parcel-capacity{color:#647883;font-variant-numeric:tabular-nums;text-align:right;margin-top:7px;font-size:11px}.advanced-settings{border-bottom:1px solid var(--line)}.advanced-settings summary{color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;list-style:none;display:flex}.advanced-settings summary::-webkit-details-marker{display:none}.advanced-settings summary span{letter-spacing:-.01em;font-size:16px;font-weight:500;line-height:1.3}.advanced-settings summary svg{color:#647883;transition:transform .16s ease-out}.advanced-settings summary:hover{background:#f7f9fa}.advanced-settings summary:focus-visible{outline-offset:-3px;outline:3px solid #1768c459}.advanced-settings[open] summary svg{transform:rotate(180deg)}.advanced-settings-body{padding:0 20px 20px}.advanced-settings-body label,.advanced-settings-body select,.advanced-settings-body option{font-weight:400}.rail-actions{z-index:3;border-top:1px solid var(--line-strong);background:#fff;gap:9px;padding:15px 20px 16px;display:grid;position:sticky;bottom:0}.primary-button{color:#fff;background:var(--action);cursor:pointer;border:1px solid #105aa9;border-radius:5px;justify-content:center;align-items:center;gap:9px;width:100%;height:44px;font-weight:700;display:inline-flex}.primary-button:hover:not(:disabled){background:var(--action-hover)}.primary-button:disabled{color:#e3eaee;cursor:not-allowed;background:#8299a7;border-color:#8299a7}.validation-message,.api-error{color:#792e28;background:#faefed;border:1px solid #dfbbb7;border-radius:4px;padding:9px 10px;font-size:12px;line-height:1.45}.result-workspace{overscroll-behavior:contain;scrollbar-color:#a4b2ba transparent;scrollbar-width:thin;min-width:0;padding:24px 26px 40px;overflow:auto}.history-workspace{scrollbar-color:#a4b2ba transparent;scrollbar-width:thin;height:calc(100vh - 56px);padding:24px 26px 40px;overflow:auto}.history-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:17px;display:flex}.history-heading h1{color:var(--text);letter-spacing:-.025em;margin:0;font-size:25px;line-height:1.2}.history-list{border:1px solid var(--line);background:#fff;margin:0;padding:0;list-style:none}.history-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(190px,1.2fr) minmax(520px,3fr) 124px;align-items:center;gap:22px;min-height:92px;padding:16px 18px;display:grid}.history-row:last-child{border-bottom:0}.history-row:hover{background:#f9fbfc}.history-primary{gap:6px;min-width:0;display:grid}.history-primary strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.history-primary time{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.history-summary{grid-template-columns:repeat(5,minmax(76px,1fr));gap:12px;min-width:0;margin:0;display:grid}.history-summary div{gap:5px;min-width:0;display:grid}.history-summary dt{color:var(--text-muted);font-size:11px}.history-summary dd{color:#29424f;font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:13px;font-weight:700}.history-open-button{height:34px;color:var(--action);cursor:pointer;background:#fff;border:1px solid #9eb6c4;border-radius:4px;justify-content:center;align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}.history-open-button:hover{color:#fff;background:var(--action);border-color:var(--action)}.history-actions{grid-template-columns:minmax(0,1fr) 34px;gap:6px;display:grid}.history-delete-button,.history-delete-cancel,.history-delete-confirm{color:#6a7e8c;cursor:pointer;background:#fff;border:1px solid #b9c7d0;border-radius:4px;justify-content:center;align-items:center;height:34px;font-size:11px;font-weight:700;display:inline-flex}.history-delete-button:hover,.history-delete-cancel:hover{color:#8f3731;background:#fbf2f1;border-color:#d8aaa6}.history-delete-confirm{color:#fff;background:#9b3d36;border-color:#9b3d36}.history-delete-confirm:hover{background:#7f302b;border-color:#7f302b}.history-empty{text-align:center;border:1px solid var(--line);background:#fff;place-content:center;min-height:360px;padding:40px;display:grid}.history-empty p{color:#7c8c95;margin:0;font-size:14px}.result-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:17px;display:flex}.result-count{color:#24485f;white-space:nowrap;background:#dfe9ee;border-radius:999px;align-items:center;height:30px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.type-legend{color:#415864;border:1px solid var(--line);background:#f7f9fa;border-bottom:0;flex-wrap:wrap;align-items:center;gap:8px 16px;min-height:46px;padding:9px 14px;font-size:12px;display:flex}.type-legend span{align-items:center;gap:6px;display:inline-flex}.type-legend i,.allocation-item i{border-radius:2px;flex:none;width:10px;height:10px}.unused-legend i,.unused-allocation i{background:repeating-linear-gradient(135deg,#f8fafb 0 4px,#cfd9de 4px 6px);border:1px solid #b9c6cd}.scheme-list{border:1px solid var(--line);background:#fff;min-width:780px;margin:0;padding:0;list-style:none}.scheme-row{border-bottom:1px solid var(--line);grid-template-columns:54px 145px minmax(460px,1fr) 38px;align-items:center;min-height:116px;display:grid;position:relative}.scheme-row:last-child{border-bottom:0}.scheme-row:hover{background:#f9fbfc}.scheme-rank{color:#24485f;border-right:1px solid var(--line);font-variant-numeric:tabular-nums;background:#f1f5f7;align-self:stretch;place-items:center;font-size:16px;font-weight:800;display:grid}.scheme-metrics{gap:5px;padding:14px 16px;display:grid}.scheme-metrics strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:16px}.scheme-metrics span{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.scheme-composition{min-width:0;padding:15px 8px 13px 0}.capacity-bar{background:#e5ebee;border:1px solid #aebdc5;border-radius:3px;height:38px;overflow:hidden}.capacity-bar-fill{transform-origin:0;width:100%;height:100%;animation:.48s cubic-bezier(.16,1,.3,1) both capacity-reveal;display:flex}.capacity-segment{font-variant-numeric:tabular-nums;white-space:nowrap;border-right:1px solid #ffffffc7;place-items:center;height:100%;font-size:11px;font-weight:800;display:grid;overflow:hidden}.capacity-segment:last-child{border-right:0}.unused-segment{color:#29424f;background:repeating-linear-gradient(135deg,#f8fafb 0 5px,#d4dde2 5px 7px)}.allocation-strip{color:#536a76;scrollbar-color:#bbc7cd transparent;scrollbar-width:thin;align-items:center;gap:0;min-width:0;margin-top:10px;display:flex;overflow-x:auto}.allocation-item{white-space:nowrap;border-right:1px solid #d4dde1;flex:none;align-items:center;gap:5px;padding:0 12px;font-size:11px;font-style:normal;display:inline-flex}.allocation-item:first-child{padding-left:1px}.allocation-item:last-child{border-right:0}.allocation-item b{color:#29424f;font-weight:700}.allocation-item em{color:#244f69;font-variant-numeric:tabular-nums;font-style:normal}.row-disclosure{color:#566c78;border-radius:4px;place-items:center;width:32px;height:32px;display:grid}.row-disclosure:hover{color:var(--action);background:#eaf2f7}.row-disclosure svg{transition:transform .16s ease-out}.row-disclosure svg.rotated{transform:rotate(180deg)}.scheme-details{background:#eef4f6;border-top:1px solid #d3dde2;flex-wrap:wrap;grid-column:2/-1;align-items:center;gap:9px 20px;padding:12px 16px;display:flex}.parcel-detail{color:#536a76;flex-wrap:wrap;align-items:center;gap:7px 15px;font-size:11px;display:flex}.parcel-detail strong{color:var(--text)}.empty-results{text-align:center;border:1px solid var(--line);background:#fff;place-content:center;justify-items:center;min-height:360px;padding:40px;display:grid}.empty-results p{color:#7c8c95;max-width:570px;margin:0;font-size:13px;line-height:1.65}.initial-empty p{font-size:14px}.export-report-host{z-index:-1;pointer-events:none;position:fixed;top:0;left:-20000px}.export-report{width:1400px;color:var(--text);background:var(--canvas);font-variant-numeric:tabular-nums;padding:44px;font-family:Noto Sans SC,Microsoft YaHei UI,Microsoft YaHei,sans-serif}.export-report-header{color:#fff;background:var(--app-bar);border-radius:5px 5px 0 0;justify-content:space-between;align-items:flex-end;gap:30px;padding:28px 32px;display:flex}.export-report-header span{color:var(--app-bar-muted);font-size:14px}.export-report-header h1{letter-spacing:-.025em;margin:8px 0 0;font-size:30px;line-height:1.2}.export-report-header time{color:var(--app-bar-muted);font-size:13px}.export-overview{border:1px solid var(--line);background:#fff;border-top:0;grid-template-columns:repeat(4,1fr);display:grid}.export-overview div{border-right:1px solid var(--line);gap:8px;padding:20px 24px;display:grid}.export-overview div:last-child{border-right:0}.export-overview span,.export-section-heading span{color:var(--text-muted);font-size:12px}.export-overview strong{font-size:20px}.export-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px;display:grid}.export-reference-grid section,.export-schemes{border:1px solid var(--line);background:#fff}.export-reference-grid h2,.export-section-heading h2{margin:0;font-size:17px}.export-reference-grid h2{border-bottom:1px solid var(--line);padding:16px 18px}.export-table-head,.export-table-row{border-bottom:1px solid #e0e6e9;grid-template-columns:1.15fr repeat(3,1fr);align-items:center;min-height:38px;padding:0 18px;font-size:12px;display:grid}.export-table-head{color:var(--text-muted);background:#f5f7f8;font-weight:700}.export-table-row:last-child{border-bottom:0}.export-type-name{align-items:center;gap:7px;font-weight:700;display:inline-flex}.export-type-name i,.export-allocation-list i{border-radius:2px;flex:none;width:10px;height:10px}.export-schemes{margin-top:20px}.export-section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:17px 18px;display:flex}.export-scheme-row{border-bottom:1px solid var(--line);grid-template-columns:54px 150px minmax(0,1fr);min-height:92px;display:grid}.export-scheme-row:last-child{border-bottom:0}.export-rank{color:#24485f;border-right:1px solid var(--line);background:#f1f5f7;place-items:center;font-size:16px;display:grid}.export-scheme-metrics{color:var(--text-muted);align-content:center;gap:5px;padding:14px 16px;font-size:11px;display:grid}.export-scheme-metrics b{color:var(--text);font-size:15px}.export-composition{align-self:center;min-width:0;padding:13px 18px 13px 0}.export-capacity-bar{background:#e5ebee;border:1px solid #aebdc5;border-radius:3px;height:30px;display:flex;overflow:hidden}.export-capacity-bar>i{border-right:1px solid #ffffffc7;height:100%}.export-capacity-bar>i:last-child{border-right:0}.export-capacity-bar .export-unused,.export-unused-dot{background:repeating-linear-gradient(135deg,#f8fafb 0 5px,#d4dde2 5px 7px);border:1px solid #b9c6cd}.export-allocation-list{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:7px 16px;margin-top:8px;font-size:10px;display:flex}.export-allocation-list span{align-items:center;gap:5px;display:inline-flex}.export-allocation-list b{color:#29424f}.stage-two-workspace{grid-template-columns:340px minmax(0,1fr);min-width:0;height:calc(100vh - 56px);display:grid}.stage-two-rail{overscroll-behavior:contain;background:var(--surface);border-right:1px solid var(--line-strong);scrollbar-color:#a4b2ba transparent;scrollbar-width:thin;min-width:0;position:relative;overflow-y:auto}.stage-two-rail-intro h1{color:var(--text);letter-spacing:-.025em;margin:0;font-size:25px;line-height:1.2}.stage-two-rail-intro p{color:var(--text-muted);margin:6px 0 0;font-size:12px}.stage-two-rail-intro .mobile-param-toggle svg{transition:transform .16s ease-out}.stage-two-rail-intro .mobile-param-toggle svg.rotated{transform:rotate(180deg)}.cad-import-section,.cad-layer-section{border-bottom:1px solid var(--line);padding:20px}.cad-dropzone{color:#536b78;background:#f8fafb;border:1px dashed #9dabb3;border-radius:6px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:78px;padding:12px;transition:background .16s ease-out,border-color .16s ease-out;display:grid}.cad-dropzone.is-dragging{color:var(--action);border-color:var(--action);background:#eaf2f8}.cad-dropzone.has-file{border-style:solid}.cad-dropzone>div{gap:3px;min-width:0;display:grid}.cad-dropzone strong,.cad-dropzone span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cad-dropzone strong{color:var(--text);font-size:13px}.cad-dropzone span{color:var(--text-muted);font-size:11px}.cad-dropzone button{min-height:32px;color:var(--action);cursor:pointer;background:#fff;border:1px solid #9eb6c4;border-radius:4px;padding:0 9px;font-size:12px;font-weight:700}.cad-dropzone button:hover:not(:disabled){color:#fff;background:var(--action);border-color:var(--action)}.cad-dropzone button:disabled{opacity:.55;cursor:wait}.cad-file-facts{border-top:1px solid #d6e0e4;border-bottom:1px solid #d6e0e4;grid-template-columns:repeat(3,minmax(0,1fr));margin:13px 0 0;display:grid}.cad-file-facts div{border-right:1px solid #d6e0e4;gap:3px;padding:9px 8px;display:grid}.cad-file-facts div:last-child{border-right:0}.cad-file-facts dt,.cad-file-facts dd{margin:0}.cad-file-facts dt{color:var(--text-muted);font-size:10px}.cad-file-facts dd{color:var(--text);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.inline-warning{color:#815b20;align-items:flex-start;gap:6px;margin:10px 0 0;font-size:11px;line-height:1.45;display:flex}.inline-warning svg{flex:none;margin-top:1px}.cad-conversion-note{color:#27624f;align-items:flex-start;gap:6px;margin:10px 0 0;font-size:11px;line-height:1.45;display:flex}.cad-conversion-note svg{flex:none;margin-top:1px}.cad-import-section .api-error{margin-top:10px}.layer-search{margin-bottom:10px;display:block;position:relative}.layer-search svg{color:#647883;pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.layer-search input{width:100%;height:36px;color:var(--text);background:#fff;border:1px solid #b6c3ca;border-radius:4px;padding:0 10px 0 32px;font-size:12px}.unit-confirmation{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin-bottom:12px;display:grid}.unit-confirmation label{color:#405763;font-size:12px;font-weight:700}.unit-confirmation select,.program-selector select{width:100%;min-width:0;height:36px;color:var(--text);background:#fff;border:1px solid #b6c3ca;border-radius:4px;padding:0 30px 0 9px;font-size:12px}.cad-layer-list{border:0;border-top:1px solid var(--line);min-width:0;margin:0;padding:0}.cad-layer-row{min-height:51px;color:var(--text);border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:16px 10px minmax(0,1fr);align-items:center;gap:9px;padding:8px 7px;display:grid}.cad-layer-row:hover:not(.is-disabled){background:#f1f6f9}.cad-layer-row.is-selected{background:#e8f1f8}.cad-layer-row.is-disabled{color:#7a8a93;cursor:not-allowed}.cad-layer-row input{width:15px;height:15px;accent-color:var(--action);margin:0}.cad-layer-row>i{border:1px solid #18303e2e;border-radius:2px;width:10px;height:22px}.cad-layer-row>span{gap:3px;min-width:0;display:grid}.cad-layer-row strong,.cad-layer-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cad-layer-row strong{font-size:12px}.cad-layer-row small{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:10px}.boundary-summary{color:var(--success);background:#eef7f3;border-bottom:1px solid #bfd7ce;align-items:center;gap:10px;padding:14px 20px;display:flex}.boundary-summary>div{gap:2px;display:grid}.boundary-summary strong{font-size:12px}.boundary-summary span{color:#47685e;font-variant-numeric:tabular-nums;font-size:11px}.boundary-summary.is-invalid{color:#8b302b;background:#f8ecea;border-bottom-color:#deb7b3}.boundary-summary.is-invalid span{color:#75453f}.stage-two-actions{grid-template-columns:1fr}.secondary-button{min-height:40px;color:var(--action);cursor:pointer;background:#fff;border:1px solid #8fa9b8;border-radius:4px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:700;display:inline-flex}.secondary-button:hover:not(:disabled){color:#fff;background:var(--action);border-color:var(--action)}.secondary-button:disabled{color:#8798a1;cursor:not-allowed;background:#f1f4f5;border-color:#c6d0d5}.stage-two-main{background:#e9eef1;grid-template-rows:auto minmax(260px,1fr) auto;min-width:0;min-height:0;display:grid;overflow:hidden}.stage-two-main.has-conditions{grid-template-rows:auto minmax(220px,1fr) auto auto}.cad-canvas-heading{border-bottom:1px solid var(--line);background:#f8fafb;justify-content:space-between;align-items:center;gap:20px;min-height:73px;padding:14px 22px;display:flex}.cad-canvas-heading h2{color:var(--text);letter-spacing:-.02em;margin:0;font-size:22px}.cad-canvas-heading p{max-width:70ch;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:11px;overflow:hidden}.cad-status{color:#526874;white-space:nowrap;background:#e2e9ed;border-radius:999px;align-items:center;min-height:28px;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.cad-status.is-ready{color:#1f664f;background:#dcefe7}.cad-status.is-error{color:#87332e;background:#f3dfdc}.cad-canvas-shell{background:#f7f9fa;border:1px solid #aebcc4;border-bottom:0;min-width:0;min-height:0;margin:18px 20px 0;position:relative;overflow:hidden}.cad-view-controls{z-index:2;background:#fff;border:1px solid #aebcc4;border-radius:4px;display:inline-flex;position:absolute;top:12px;right:12px;overflow:hidden;box-shadow:0 4px 12px #142a3b1f}.cad-view-controls button{color:#405966;cursor:pointer;background:#fff;border:0;border-right:1px solid #cad4d9;place-items:center;width:34px;height:34px;display:grid}.cad-view-controls button:last-child{border-right:0}.cad-view-controls button:hover:not(:disabled){color:var(--action);background:#edf4f8}.cad-view-controls button:disabled{color:#a3b0b7;cursor:not-allowed}.cad-svg{background:#f7f9fa;width:100%;height:100%;display:block}.cad-context-path{fill:none;stroke:#aeb9bf;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;opacity:.56}.cad-context-path.is-layer-selected{stroke:#6e8796;stroke-width:1.45px;opacity:.88}.cad-boundary-group{animation:.46s cubic-bezier(.16,1,.3,1) both boundary-reveal}.cad-boundary-path{fill:#c43b3614;stroke:#bd3f39;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.cad-boundary-vertex{fill:#fff;stroke:#a92e2a;stroke-width:1.5px}.cad-empty{color:#8a9aa3;background-image:linear-gradient(#e8edef 1px,#0000 1px),linear-gradient(90deg,#e8edef 1px,#0000 1px);background-size:32px 32px;place-content:center;justify-items:center;gap:12px;width:100%;height:100%;min-height:360px;display:grid}.cad-empty p{color:#7b8b94;margin:0;font-size:13px}.cad-property-ledger{background:#fff;border:1px solid #aebcc4;grid-template-columns:repeat(6,minmax(0,1fr));margin:0 20px 18px;display:grid}.cad-property-ledger div{border-right:1px solid var(--line);gap:4px;min-width:0;padding:11px 12px;display:grid}.cad-property-ledger div:last-child{border-right:0}.cad-property-ledger dt,.cad-property-ledger dd{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.cad-property-ledger dt{color:var(--text-muted);font-size:10px}.cad-property-ledger dd{color:var(--text);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.cad-property-ledger .is-valid dd{color:var(--success)}.layout-preparation{border-top:1px solid var(--line-strong);background:#fff;max-height:370px;overflow-y:auto;box-shadow:0 -6px 18px #142a3b14}.layout-preparation>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding:15px 20px 12px;display:flex}.layout-preparation h3{color:var(--text);letter-spacing:-.015em;margin:0;font-size:17px}.layout-preparation header p{color:var(--text-muted);margin:5px 0 0;font-size:11px}.layout-preparation-body{grid-template-columns:minmax(210px,1.1fr) minmax(440px,2.4fr) minmax(250px,1.3fr);gap:20px;padding:15px 20px;display:grid}.program-selector,.layout-constraint-fields label{color:#405763;align-content:start;gap:6px;font-size:11px;font-weight:700;display:grid}.program-selector select{height:38px}.layout-constraint-fields{grid-template-columns:repeat(5,minmax(82px,1fr));gap:9px;display:grid}.layout-constraint-fields input{height:38px;font-size:12px}.layout-readiness{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid}.layout-readiness>div{border-bottom:1px solid var(--line);gap:3px;padding:7px 0;display:grid}.layout-readiness>div:last-child{border-bottom:0}.layout-readiness strong{color:var(--text);font-size:11px}.layout-readiness span{color:var(--text-muted);font-size:10px;line-height:1.4}.layout-preparation>footer{border-top:1px solid var(--line);background:#f7f9fa;justify-content:space-between;align-items:center;gap:16px;min-height:59px;padding:10px 20px;display:flex}.layout-preparation footer>div{gap:9px;display:flex}.condition-notice{color:#75531d;align-items:center;gap:6px;max-width:60ch;margin:0;font-size:11px;line-height:1.4;display:inline-flex}.compact-primary{width:auto;min-width:108px;padding:0 15px}@keyframes boundary-reveal{0%{opacity:.35;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}.stage-two-studio-page{color:#142f45;--studio-blue:#0969da;--studio-blue-soft:#e8f2ff;--studio-border:#c9d4df;--studio-muted:#607489;background:#eef2f6;grid-template-rows:68px minmax(0,1fr);min-width:0;height:calc(100vh - 56px);display:grid;position:relative;overflow:hidden}.stage-two-loading{color:#536e82;background:#eef2f6;justify-content:center;align-items:center;gap:9px;height:calc(100vh - 56px);font-size:12px;display:flex}.stage-two-progress{border-bottom:1px solid var(--studio-border);background:#fff;align-items:center;gap:0;min-width:0;padding:0 28px;display:flex}.stage-two-progress-step{color:#6b7d8e;white-space:nowrap;align-items:center;display:flex}.stage-two-progress-step>span{color:#51687c;background:#f5f7fa;border:1px solid #d4dce4;border-radius:6px;place-items:center;width:34px;height:34px;display:grid}.stage-two-progress-step>strong{margin-left:9px;font-size:14px;font-weight:650}.stage-two-progress-step .progress-arrow{color:#9aa8b5;margin:0 18px}.stage-two-progress-step.is-complete>span{color:#176650;background:#e8f5ef;border-color:#b9decf}.stage-two-progress-step.is-complete>strong{color:#334d60}.stage-two-progress-step.is-active>span{color:#fff;background:var(--studio-blue);border-color:var(--studio-blue);box-shadow:0 3px 8px #0969da38}.stage-two-progress-step.is-active>strong{color:#075dbf}.stage-two-studio{background:#eef2f6;grid-template-columns:240px minmax(460px,1fr) 356px;min-width:0;min-height:0;display:grid}.cad-file-panel,.cad-inspector{background:#fff;min-width:0;min-height:0}.cad-file-panel{border-right:1px solid var(--studio-border);flex-direction:column;display:flex;overflow:hidden}.cad-panel-title-row,.cad-panel-section-title{justify-content:space-between;align-items:center;display:flex}.cad-panel-title-row{border-bottom:1px solid #e1e7ed;min-height:46px;padding:0 14px}.cad-panel-title-row>strong,.cad-panel-section-title strong{font-size:13px;font-weight:700}.cad-panel-title-row>div{align-items:center;gap:2px;display:flex}.cad-panel-title-row button,.cad-layer-search-row button{color:#536a7d;cursor:pointer;background:0 0;border:0;border-radius:3px;place-items:center;width:30px;height:30px;padding:0;display:grid}.cad-panel-title-row button:hover:not(:disabled){color:var(--studio-blue);background:#edf4fb}.cad-panel-title-row button:disabled{color:#b4c0ca;cursor:not-allowed}.cad-file-drop{background:#f7f9fb;border:1px dashed #b4c1cc;border-radius:4px;grid-template-columns:35px minmax(0,1fr);align-items:center;gap:9px;min-height:64px;margin:9px 10px;padding:9px;display:grid;position:relative}.cad-file-drop.is-dragging{background:var(--studio-blue-soft);border-color:var(--studio-blue)}.cad-file-drop.has-file{border-style:solid}.cad-file-drop>button{color:#557084;cursor:pointer;background:0 0;border:0;grid-column:1/-1;place-items:center;gap:4px;min-height:84px;padding:8px;display:grid}.cad-file-drop>button strong{color:#244359;font-size:12px}.cad-file-drop>button small{color:#7890a1;font-size:10px}.cad-file-icon{color:#fff;letter-spacing:.03em;background:#1475d1;border-radius:3px;place-items:center;width:34px;height:38px;font-size:9px;font-weight:800;display:grid}.cad-file-drop>div{gap:3px;min-width:0;display:grid}.cad-file-drop>div strong,.cad-file-drop>div small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cad-file-drop>div strong{color:#233e52;font-size:11px}.cad-file-drop>div small{color:#718697;font-size:9px}.cad-file-loading{color:var(--studio-blue);position:absolute;top:5px;right:5px}.cad-converter-badge{color:#257058;align-items:center;gap:5px;margin:0 12px 8px;font-size:10px;display:flex}.cad-file-error{color:#9a3832;background:#fff0ef;border:1px solid #efc4c0;margin:0 10px 9px;padding:7px 8px;font-size:10px;line-height:1.4}.cad-panel-section-title{color:#243f53;background:#f7f9fb;border-top:1px solid #e1e7ed;border-bottom:1px solid #e1e7ed;min-height:38px;padding:0 14px}.cad-panel-section-title>span,.cad-panel-section-title>svg{color:#657a8c;font-size:18px}.cad-tree{padding:7px 8px}.cad-tree>button,.cad-view-row{color:#3d5669;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:3px;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;min-height:34px;padding:0 8px;font-size:11px;display:grid}.cad-tree>button.is-selected,.cad-view-row.is-selected{color:#1159a5;background:#e7f1fd}.cad-tree-details{color:#718596;gap:8px;padding:10px 9px 6px 45px;font-size:10px;display:grid}.cad-tree-details span{justify-content:space-between;gap:10px;display:flex}.cad-tree-details b{color:#435e72;text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.cad-left-spacer{flex:1;min-height:26px}.cad-view-row{grid-template-columns:minmax(0,1fr) auto;width:calc(100% - 16px);margin:7px 8px}.cad-clear-file{color:#657b8c;cursor:pointer;background:#fff;border:1px solid #c6d0d9;border-radius:3px;min-height:32px;margin:0 10px 10px;font-size:10px}.cad-clear-file:hover{color:#9a3832;border-color:#d8aaa6}.cad-stage-center{background:#f3f6f9;grid-template-rows:46px minmax(0,1fr) 38px;min-width:0;min-height:0;display:grid}.cad-studio-toolbar{border-bottom:1px solid var(--studio-border);background:#fff;align-items:center;gap:3px;padding:0 10px;display:flex}.cad-studio-toolbar button{color:#314f66;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;place-items:center;width:32px;height:32px;padding:0;display:grid}.cad-studio-toolbar button:hover:not(:disabled),.cad-studio-toolbar button.is-active{color:#0a63c7;background:#eaf3fd;border-color:#b8d3ef}.cad-studio-toolbar button:disabled{color:#b2bec8;cursor:not-allowed}.cad-studio-toolbar>i{background:#d6dee6;width:1px;height:22px;margin:0 5px}.cad-webgl-stage{background:#fff;border:1px solid #b9c7d2;min-width:0;min-height:0;margin:8px 8px 0;position:relative;overflow:hidden}.mlight-cad-host,.mlight-cad-canvas{min-width:0;min-height:0;position:absolute;inset:0;overflow:hidden}.mlight-cad-canvas>canvas{display:block;width:100%!important;height:100%!important}.mlight-cad-canvas .ml-cli-container{display:none!important}.mlight-boundary-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.mlight-boundary-overlay polygon{fill:#ec2a2a06;stroke:#ec2525;stroke-width:2.3px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.mlight-boundary-overlay circle{fill:#fff;stroke:#ec2525;stroke-width:1.6px}.mlight-boundary-overlay text{fill:#e51f1f;paint-order:stroke;stroke:#fff;stroke-width:3px;font-family:Microsoft YaHei UI,sans-serif;font-size:12px;font-weight:700}.cad-stage-empty,.cad-stage-loading,.cad-stage-error{z-index:3;color:#6b8090;background-color:#fbfcfd;background-image:linear-gradient(#edf1f4 1px,#0000 1px),linear-gradient(90deg,#edf1f4 1px,#0000 1px);background-size:28px 28px;place-content:center;justify-items:center;gap:9px;display:grid;position:absolute;inset:0}.cad-stage-empty strong{color:#385469;font-size:14px}.cad-stage-empty button{color:#fff;background:var(--studio-blue);border:1px solid var(--studio-blue);cursor:pointer;border-radius:3px;min-height:34px;margin-top:3px;padding:0 14px;font-size:11px;font-weight:700}.cad-stage-loading{color:#326a99;background:#f8fbfde6;grid-auto-flow:column;place-items:center;font-size:11px}.cad-stage-error{color:#943b35;background:#fff1ef;border:1px solid #e8bbb6;grid-auto-flow:column;justify-content:center;padding:10px;font-size:11px;inset:auto 16px 52px}.cad-compass{z-index:2;color:#526779;pointer-events:none;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);place-items:center;width:62px;height:62px;font-size:9px;display:grid;position:absolute;top:16px;right:17px}.cad-compass i{color:#4d6374;background:#f4f7f9eb;border:1px solid #cbd5dd;border-radius:50%;grid-area:2/2;place-items:center;width:28px;height:28px;font-size:16px;font-style:normal;display:grid}.cad-compass b:first-child{grid-area:1/2}.cad-compass span:nth-child(2){grid-area:2/1}.cad-compass span:nth-child(4){grid-area:2/3}.cad-compass b:last-child{grid-area:3/2}.cad-statusbar{color:#6c7e8d;border-top:1px solid var(--studio-border);font-variant-numeric:tabular-nums;background:#fff;align-items:center;gap:24px;min-width:0;padding:0 12px;font-size:9px;display:flex}.cad-statusbar strong{color:#3a5265;margin-left:4px;font-weight:650}.cad-status-coordinates{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cad-inspector{border-left:1px solid var(--studio-border);grid-template-rows:47px minmax(0,1fr);display:grid;overflow:hidden}.cad-inspector-tabs{border-bottom:1px solid #d9e1e8;align-items:stretch;padding:0 10px;display:flex}.cad-inspector-tabs button{color:#51687a;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:5px;min-width:0;padding:0 13px;font-size:12px;display:inline-flex;position:relative}.cad-inspector-tabs button:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.cad-inspector-tabs button.is-active{color:#075fbf;font-weight:700}.cad-inspector-tabs button.is-active:after{background:var(--studio-blue)}.cad-inspector-content{flex-direction:column;min-height:0;display:flex;overflow:hidden}.cad-layer-search-row{padding:10px 11px 8px}.cad-studio-search{display:block;position:relative}.cad-studio-search svg{color:#718494;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.cad-studio-search input{color:#203d53;background:#fff;border:1px solid #c5d0d9;border-radius:3px;width:100%;height:32px;padding:0 9px 0 31px;font-size:11px}.cad-layer-table-head,.cad-studio-layer-row{grid-template-columns:38px minmax(0,1fr) 42px 38px;align-items:center;display:grid}.cad-layer-table-head{color:#6c7f8f;text-align:center;background:#f5f7f9;border-top:1px solid #dce3e9;border-bottom:1px solid #dce3e9;min-height:29px;padding:0 8px;font-size:9px}.cad-layer-table-head span:nth-child(2){text-align:left}.cad-studio-layer-list{scrollbar-color:#aab8c3 transparent;scrollbar-width:thin;flex:1;min-height:90px;overflow-y:auto}.cad-studio-layer-row{border-bottom:1px solid #e2e8ed;min-height:44px;padding:0 8px}.cad-studio-layer-row:hover{background:#f7fafc}.cad-studio-layer-row.is-selected{background:#e9f3ff}.cad-studio-layer-row.is-contour-source{background:#edf5fd}.cad-studio-layer-row.is-contour-source .layer-candidate-button{color:#fff;background:var(--studio-blue);border-color:var(--studio-blue);border-radius:50%}.layer-candidate-button,.layer-eye-button,.layer-name-button{background:0 0;border:0;padding:0}.layer-candidate-button{color:#fff;cursor:pointer;background:#fff;border:1px solid #aab9c5;border-radius:2px;justify-self:center;place-items:center;width:15px;height:15px;display:grid}.cad-studio-layer-row.is-selected .layer-candidate-button{background:var(--studio-blue);border-color:var(--studio-blue)}.layer-candidate-button:disabled{cursor:not-allowed;background:#f1f4f6;border-color:#d6dee4}.layer-name-button{color:#263f53;text-align:left;cursor:pointer;gap:2px;min-width:0;display:grid}.layer-name-button:disabled{color:#718493;cursor:default}.layer-name-button strong,.layer-name-button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.layer-name-button strong{font-size:10px;font-weight:650}.layer-name-button small{color:#8796a2;font-size:8px}.layer-eye-button{color:#36688f;cursor:pointer;border-radius:3px;justify-self:center;place-items:center;width:28px;height:28px;display:grid}.layer-eye-button:hover{background:#e6eef5}.layer-color-chip{border:1px solid #142f4533;border-radius:2px;justify-self:center;width:13px;height:13px}.cad-list-empty{color:#8293a0;text-align:center;margin:24px 12px;font-size:11px}.cad-layer-summary{color:#687e8f;background:#f7f9fb;border-top:1px solid #dce3e9;border-bottom:1px solid #dce3e9;justify-content:space-between;align-items:center;gap:8px;min-height:34px;padding:0 12px;font-size:9px;display:flex}.cad-unit-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:9px 12px;display:grid}.cad-unit-row label{color:#496174;font-size:10px;font-weight:650}.cad-unit-row select,.condition-field select,.condition-field input{color:#244057;background:#fff;border:1px solid #c2cdd6;border-radius:3px;width:100%;height:32px;font-size:10px}.cad-unit-row select{padding:0 8px}.cad-studio-warning,.cad-studio-error{align-items:flex-start;gap:5px;margin:0 11px 7px;padding:6px 7px;font-size:9px;line-height:1.45;display:flex}.cad-studio-warning{color:#75571e;background:#fff8e8;border:1px solid #ead8a6}.cad-studio-error{color:#943b35;background:#fff0ef;border:1px solid #eac0bc}.cad-inspector-primary{color:#fff;background:var(--studio-blue);border:1px solid var(--studio-blue);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;gap:7px;min-height:42px;margin:8px 10px 10px;font-size:11px;font-weight:700;display:inline-flex}.cad-inspector-primary:hover:not(:disabled){background:#075bbd;border-color:#075bbd}.cad-inspector-primary:disabled{color:#8999a6;cursor:not-allowed;background:#e9eef2;border-color:#d2dbe2}.boundary-verdict{color:#2c735c;background:#edf8f3;border:1px solid #bfe2d4;border-radius:3px;align-items:center;gap:9px;min-height:58px;margin:11px 11px 8px;padding:9px 10px;display:flex}.boundary-verdict.is-invalid{color:#963b35;background:#fff0ef;border-color:#e8bab6}.boundary-verdict>div{gap:2px;display:grid}.boundary-verdict strong{font-size:11px}.boundary-verdict span{color:#647c73;font-size:9px}.boundary-check-grid{border:1px solid #d5dee5;border-bottom:0;grid-template-columns:1fr 1fr;margin:0 11px 10px;display:grid}.boundary-check-grid div{border-bottom:1px solid #dfe6eb;border-right:1px solid #dfe6eb;gap:3px;min-width:0;padding:7px 8px;display:grid}.boundary-check-grid div:nth-child(2n){border-right:0}.boundary-check-grid dt,.boundary-check-grid dd{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.boundary-check-grid dt{color:#758797;font-size:8px}.boundary-check-grid dd{color:#2d485d;font-variant-numeric:tabular-nums;font-size:10px;font-weight:650}.boundary-check-grid dd.is-pass{color:#247258}.boundary-check-grid dd.is-fail{color:#a34039}.boundary-table-heading{justify-content:space-between;align-items:center;padding:0 12px 7px;display:flex}.boundary-table-heading strong{font-size:10px}.boundary-table-heading span{color:#758897;font-size:8px}.boundary-vertex-table-wrap{scrollbar-color:#aab8c3 transparent;scrollbar-width:thin;border:1px solid #d4dde4;flex:1;min-height:90px;margin:0 10px;overflow:auto}.boundary-vertex-table{border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums;width:100%;font-size:8px}.boundary-vertex-table th,.boundary-vertex-table td{text-align:right;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #e0e6eb;border-right:1px solid #e0e6eb;height:27px;padding:0 5px;overflow:hidden}.boundary-vertex-table th{color:#617687;background:#f5f7f9;font-weight:650;position:sticky;top:0}.boundary-vertex-table th:first-child,.boundary-vertex-table td:first-child{text-align:center;width:38px}.cad-inspector-empty{color:#7890a1;text-align:center;flex:1;place-content:center;justify-items:center;gap:8px;padding:24px;display:grid}.cad-inspector-empty strong{color:#405c70;font-size:12px}.cad-inspector-empty p{max-width:25ch;margin:0;font-size:10px;line-height:1.55}.cad-inspector-empty button,.conditions-back{color:var(--studio-blue);cursor:pointer;background:0 0;border:0;font-size:10px}.cad-conditions-panel{flex-direction:column;grid-row:1/-1;min-height:0;padding:12px 11px 0;display:flex;overflow-y:auto}.conditions-back{align-self:flex-start;align-items:center;padding:0;display:inline-flex}.conditions-back svg{transform:rotate(180deg)}.conditions-title{border-bottom:1px solid #dbe3e9;gap:4px;margin:15px 0 13px;padding-bottom:12px;display:grid}.conditions-title strong{color:#233e53;font-size:15px}.conditions-title span{color:#718596;font-size:9px}.condition-field{grid-template-columns:112px minmax(0,1fr);align-items:center;gap:8px;margin-bottom:9px;display:grid}.condition-field>span{color:#486174;font-size:10px;font-weight:650}.condition-field>div{position:relative}.condition-field input{padding:0 35px 0 8px}.condition-field em{color:#7f909d;font-size:9px;font-style:normal;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.condition-program{grid-template-columns:1fr;align-items:stretch;margin-bottom:13px}.condition-program select{padding:0 7px}.cad-conditions-panel .condition-notice{color:#75571e;background:#fff7e5;border:1px solid #e8d29c;margin:5px 0 1px;padding:8px;font-size:9px;display:block}.cad-conditions-panel .cad-inspector-primary{margin:auto 0 10px}.stage-two-progress-step{text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.stage-two-progress-step:focus-visible,.cad-document-row:focus-visible,.cad-file-quick-actions button:focus-visible,.selection-operation button:focus-visible,.footprint-target-list button:focus-visible{outline-offset:2px;outline:2px solid #0b6fdc}.cad-multi-file-list{scrollbar-color:#aab8c3 transparent;scrollbar-width:thin;background:#f7f9fb;border:1px dashed #bdc9d3;flex-direction:column;gap:3px;min-height:112px;max-height:300px;margin:8px;padding:3px;display:flex;overflow-y:auto}.cad-multi-file-list.is-dragging{border-color:var(--studio-blue);background:#e9f3ff}.cad-document-row{color:#385267;text-align:left;cursor:pointer;background:#fff;border:1px solid #0000;border-radius:3px;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:53px;padding:6px 7px;display:grid}.cad-document-row:hover{border-color:#c4d3df}.cad-document-row.is-active{color:#0c5eae;background:#e7f1fd;border-color:#b8d3ef}.cad-document-row .cad-file-icon{width:30px;height:34px;font-size:8px}.cad-document-row>span:nth-child(2){gap:3px;min-width:0;display:grid}.cad-document-row strong,.cad-document-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cad-document-row strong{font-size:10px}.cad-document-row small{color:#6a8091;font-size:8px}.cad-document-row>svg{color:#73889a}.cad-file-empty-action{color:#61788a;cursor:pointer;background:0 0;border:0;place-content:center;justify-items:center;gap:5px;min-height:102px;display:grid}.cad-file-empty-action strong{color:#2f4c61;font-size:11px}.cad-file-empty-action small{font-size:9px}.cad-file-quick-actions{grid-template-columns:1fr 1fr;gap:6px;padding:0 8px 8px;display:grid}.cad-file-quick-actions button{color:#3d596d;cursor:pointer;background:#fff;border:1px solid #c6d1da;border-radius:3px;justify-content:center;align-items:center;gap:5px;min-height:31px;font-size:9px;display:inline-flex}.cad-file-quick-actions button:hover{color:#075fbe;background:#edf5fd;border-color:#a9c9e9}.cad-current-file-meta{padding:10px 14px}.cad-studio-toolbar{scrollbar-width:none;overflow-x:auto}.cad-studio-toolbar::-webkit-scrollbar{display:none}.cad-studio-toolbar .toolbar-finish-drawing{color:#fff;white-space:nowrap;background:#0969da;border-color:#0969da;gap:4px;width:auto;min-width:88px;padding:0 9px;font-size:9px;display:inline-flex}.cad-studio-toolbar .toolbar-finish-drawing:hover:not(:disabled){color:#fff;background:#075bbd}.cad-stage-empty>div{gap:7px;display:flex}.cad-stage-empty button.is-secondary{color:#315069;background:#fff;border-color:#b9c7d2}.cad-webgl-stage.is-blank-drawing .mlight-work-overlay{background-image:linear-gradient(#c2cfd957 1px,#0000 1px),linear-gradient(90deg,#c2cfd957 1px,#0000 1px);background-size:24px 24px}.mlight-work-overlay{z-index:1;touch-action:none;cursor:crosshair;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.mlight-work-overlay.tool-pan{pointer-events:none;cursor:grab}.mlight-work-overlay.tool-vertex{cursor:move}.mlight-work-overlay.tool-contour{cursor:pointer}.cad-contour-candidate{fill:#106fcd06;stroke:#106fcd3d;stroke-width:1.25px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;pointer-events:none;transition:fill .12s ease-out,stroke .12s ease-out}.cad-contour-candidate.is-hovered{fill:#0c69c41f;stroke:#096ed0;stroke-width:2.4px;stroke-dasharray:none}.web-drawn-segments,.selected-cad-segments,.drawing-preview,.confirmed-geometry polygon{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.web-drawn-segments{stroke:#455d70;stroke-width:1.5px}.selected-cad-segments{stroke:#0875e1;stroke-width:3px;filter:drop-shadow(0 1px 2px #08539933)}.confirmed-geometry polygon{stroke-width:2.35px}.confirmed-geometry.is-parcel_boundary polygon{fill:#e8262606;stroke:#e32525}.confirmed-geometry.is-building_footprint polygon{fill:#1d91640b;stroke:#16855f}.confirmed-geometry text,.segment-dimension,.drawing-measure{paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;font-family:Microsoft YaHei UI,sans-serif}.confirmed-geometry text{fill:#a92525;font-size:11px;font-weight:700}.confirmed-geometry.is-building_footprint text{fill:#116b4e}.segment-dimension{fill:#28628f;font-variant-numeric:tabular-nums;font-size:9px}.drawing-measure{fill:#075faf;font-variant-numeric:tabular-nums;font-size:10px;font-weight:650}.selection-window{fill:#0c71d814;stroke:#0875e1;stroke-width:1px;vector-effect:non-scaling-stroke}.selection-window.is-crossing{fill:#1d916414;stroke:#16855f;stroke-dasharray:5 3}.drawing-preview{stroke:#0875e1;stroke-width:2px;stroke-dasharray:6 4}.rectangle-preview{fill:#0875e10d}.draft-vertex,.editable-vertex{fill:#fff;stroke:#0875e1;stroke-width:1.7px;vector-effect:non-scaling-stroke}.cad-precision-entry{z-index:4;color:#29475d;font-variant-numeric:tabular-nums;background:#fffffff7;border:1px solid #aebfcb;border-radius:3px;width:min(520px,100% - 28px);padding:9px;font-size:9px;position:absolute;bottom:14px;left:14px}.cad-precision-heading,.cad-precision-fields,.cad-precision-foot{align-items:center;display:flex}.cad-precision-heading{justify-content:space-between;gap:12px;margin-bottom:7px}.cad-precision-heading>span{align-items:baseline;gap:7px;min-width:0;display:flex}.cad-precision-heading strong{color:#203e53;font-size:11px}.cad-precision-heading small{color:#536b79;font-size:8px}.cad-precision-heading button,.cad-precision-modes button,.cad-precision-submit{color:#425d70;height:28px;font:inherit;cursor:pointer;background:#fff;border:1px solid #bdcad3;border-radius:3px;padding:0 9px;font-weight:650}.cad-precision-heading button:hover,.cad-precision-modes button:hover:not(:disabled){color:#075faf;background:#edf5fd;border-color:#a9c9e9}.cad-precision-heading button.is-active{color:#075faf;background:#e7f2fd;border-color:#9fc4e9}.cad-precision-heading kbd{color:#63798a;margin-left:4px;font:8px/1 Cascadia Mono,Consolas,monospace}.cad-precision-modes{grid-template-columns:1fr 1fr;width:124px;margin-bottom:7px;display:grid}.cad-precision-modes button{border-radius:0}.cad-precision-modes button:first-child{border-radius:3px 0 0 3px}.cad-precision-modes button:last-child{border-radius:0 3px 3px 0;margin-left:-1px}.cad-precision-modes button.is-active{color:#fff;background:#1768c4;border-color:#1768c4;position:relative}.cad-precision-modes button:disabled{color:#9caab5;cursor:not-allowed;background:#f1f4f6}.cad-precision-fields{gap:7px}.cad-precision-fields label{color:#526a7c;flex:1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px;min-width:0;font-weight:650;display:grid}.cad-precision-fields input{color:#1d3a4f;background:#fff;border:1px solid #b8c6d0;border-radius:3px;width:100%;height:30px;padding:0 8px;font:10px/1 Cascadia Mono,Consolas,monospace}.cad-precision-fields input:focus{outline-offset:0;border-color:#1768c4;outline:2px solid #1768c433}.cad-precision-fields.is-length label{max-width:170px}.cad-precision-direction{color:#607688;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cad-precision-submit{color:#fff;background:#1768c4;border-color:#1768c4;flex:none;min-width:64px}.cad-precision-submit:hover{background:#0f579f;border-color:#0f579f}.cad-precision-foot{color:#536b79;justify-content:space-between;gap:12px;margin-top:7px;font-size:8px}.cad-precision-error{color:#943a34;border-top:1px solid #ead0cd;margin:7px 0 0;padding-top:6px;line-height:1.4}@media (width<=760px){.cad-precision-entry{width:auto;bottom:8px;left:8px;right:8px}.cad-precision-fields{flex-wrap:wrap}.cad-precision-fields label{flex-basis:calc(50% - 4px)}.cad-precision-fields.is-length label,.cad-precision-direction{flex-basis:45%}.cad-precision-foot span:last-child{display:none}}.geometry-target-block{background:#f4f7fa;border:1px solid #d5dee6;border-radius:3px;gap:3px;margin:10px 11px 8px;padding:9px 10px;display:grid}.geometry-target-block>span{color:#6c8091;font-size:8px}.geometry-target-block>strong{color:#223f55;font-size:12px}.geometry-target-block>small{color:#6d8293;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.cad-program-select{gap:5px;margin:0 11px 8px;display:grid}.cad-program-cascade{gap:7px;margin:0 11px 8px;display:grid}.cad-program-cascade .cad-program-select{margin:0}.cad-program-select>span{color:#4a6275;font-size:9px;font-weight:650}.cad-program-select select{color:#2b485e;background:#fff;border:1px solid #c3ced7;border-radius:3px;height:32px;padding:0 7px;font-size:9px}.cad-program-select select:disabled{color:#8294a1;cursor:not-allowed;background:#eef2f4}.cad-history-parcels{scrollbar-color:#aab8c3 transparent;scrollbar-width:thin;border-top:1px solid #dbe3e9;max-height:74px;margin:-2px 0 1px;display:grid;overflow-y:auto}.cad-history-parcels>div{border-bottom:1px solid #e1e7ec;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:24px;padding:3px 1px;font-size:8px;display:grid}.cad-history-parcels dt{color:#425d71;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cad-history-parcels dd{color:#607688;font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}.footprint-target-list{scrollbar-color:#aab8c3 transparent;scrollbar-width:thin;gap:3px;max-height:154px;margin:0 11px 9px;display:grid;overflow-y:auto}.footprint-target-list button{color:#3c566a;text-align:left;cursor:pointer;background:#fff;border:1px solid #d5dee5;border-radius:3px;grid-template-columns:6px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:38px;padding:5px 7px;display:grid}.footprint-target-list button.is-active{color:#075fbe;background:#eaf3fd;border-color:#aacbea}.footprint-target-list button>i{border-radius:2px;width:5px;height:24px}.footprint-target-list button>span:nth-child(2){gap:1px;min-width:0;display:grid}.footprint-target-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.footprint-target-list small{color:#607688;font-variant-numeric:tabular-nums;font-size:8px}.footprint-target-list button>svg{color:#208061}.footprint-pending{color:#778b9b;font-size:8px}.cad-layer-actions{gap:5px;padding:2px 11px 7px;display:flex}.cad-layer-actions button,.cad-selection-summary button,.cad-inspector-secondary{color:#496276;cursor:pointer;background:#fff;border:1px solid #c8d2da;border-radius:3px;justify-content:center;align-items:center;gap:4px;min-height:27px;font-size:8px;display:inline-flex}.cad-layer-actions button{flex:1}.cad-layer-actions button:disabled{color:#9caab5;cursor:not-allowed;background:#f3f5f7}.cad-inspector-content>.cad-studio-search{margin:0 11px 7px}.selection-operation{border:1px solid #c3ced7;border-radius:3px;grid-template-columns:repeat(3,1fr);margin:0 11px 8px;display:grid;overflow:hidden}.selection-operation button{color:#536b7e;cursor:pointer;background:#fff;border:0;border-right:1px solid #d4dce3;min-height:27px;font-size:8px}.selection-operation button:last-child{border-right:0}.selection-operation button.is-active{color:#075fbe;background:#e8f2fd;font-weight:700}.cad-selection-kind{grid-template-columns:1.15fr .85fr;gap:6px;margin:0 11px 7px;display:grid}.cad-selection-kind button{color:#486176;cursor:pointer;background:#fff;border:1px solid #c5d0d9;border-radius:3px;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:32px;font-size:9px;display:inline-flex}.cad-selection-kind button b{color:#4d6578;font-variant-numeric:tabular-nums;background:#eef2f5;border-radius:999px;min-width:18px;padding:1px 4px;font-size:8px}.cad-selection-kind button.is-active{color:#075fbe;background:#e9f3ff;border-color:#9fc5ea;font-weight:700}.cad-selection-kind button.is-active b{color:#fff;background:#0a69c7}.cad-selection-kind button:disabled{color:#9caab5;cursor:not-allowed;background:#f3f5f7;border-color:#d7dfe5}.cad-contour-guidance{color:#315a79;background:#f0f6fc;border:1px solid #c7dced;border-radius:3px;margin:0 11px 7px;padding:6px 8px;font-size:9px;line-height:1.45}.cad-contour-guidance strong{color:#075fbe;font-variant-numeric:tabular-nums}.cad-stage-import-error{z-index:4;color:#7d3833;text-align:center;background-color:#fbfcfd;background-image:linear-gradient(#edf1f4 1px,#0000 1px),linear-gradient(90deg,#edf1f4 1px,#0000 1px);background-size:28px 28px;place-content:center;justify-items:center;gap:11px;padding:28px;display:grid;position:absolute;inset:0}.cad-stage-import-error>div{gap:5px;max-width:520px;display:grid}.cad-stage-import-error strong{color:#583632;font-size:14px}.cad-stage-import-error span{color:#7d4a45;font-size:10px;line-height:1.6}.cad-stage-import-error button{color:#fff;cursor:pointer;background:#1768c4;border:1px solid #1768c4;border-radius:3px;min-height:34px;padding:0 15px;font-size:10px;font-weight:700}.cad-inspector-content{scrollbar-color:#aab8c3 transparent;scrollbar-width:thin;overflow-y:auto}.cad-inspector-content .cad-studio-layer-list{flex:none;min-height:88px;max-height:224px}.cad-selection-summary{background:#f5f8fa;border-top:1px solid #dce3e9;border-bottom:1px solid #dce3e9;justify-content:space-between;align-items:center;gap:8px;min-height:39px;padding:5px 11px;display:flex}.cad-selection-summary>div{gap:1px;display:grid}.cad-selection-summary span{color:#6c8091;font-size:8px}.cad-selection-summary strong{color:#26465e;font-size:10px}.cad-selection-summary button{min-height:25px;padding:0 7px}.cad-selection-summary button:disabled{color:#a0adb7;cursor:not-allowed}.cad-studio-note{color:#246e56;background:#edf8f3;border:1px solid #c1e1d5;align-items:flex-start;gap:5px;margin:0 11px 7px;padding:6px 7px;font-size:9px;line-height:1.45;display:flex}.cad-inspector-secondary{min-height:34px;margin:0 10px 10px}.cad-inspector{grid-template-rows:47px minmax(0,1fr) auto}.cad-inspector-footer-action{color:#fff;cursor:pointer;background:#0969da;border:1px solid #0969da;border-radius:3px;justify-content:center;align-items:center;gap:6px;min-height:44px;margin:7px 10px 10px;font-size:10px;font-weight:700;display:inline-flex}.conditions-readiness{border:1px solid #d5dee5;margin-bottom:13px;display:grid}.conditions-readiness>div{color:#247258;border-bottom:1px solid #e0e6eb;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;min-height:34px;padding:0 8px;font-size:9px;display:grid}.conditions-readiness>div:last-child{border-bottom:0}.conditions-readiness strong{color:#365267;font-size:9px}.condition-method-field{border-bottom:1px solid #dbe3e9;gap:5px;margin-bottom:13px;padding-bottom:12px;display:grid}.condition-method-field>span{color:#486174;font-size:10px;font-weight:400}.condition-method-field select{color:#29475d;background:#fff;border:1px solid #b9c7d1;border-radius:3px;height:32px;padding:0 7px;font-size:9px;font-weight:400}.cad-optimization-panel{flex-direction:column;grid-row:1/-1;min-height:0;padding:12px 11px 10px;display:flex;overflow-y:auto}.optimization-method-row{color:#486174;border:1px solid #d5dee5;justify-content:space-between;align-items:center;gap:10px;min-height:36px;padding:0 8px;font-size:9px;display:flex}.optimization-method-row strong{color:#29475d;font-size:9px;font-weight:500}.optimization-summary{border:1px solid #d5dee5;grid-template-columns:repeat(3,1fr);margin-top:10px;display:grid}.optimization-summary span{color:#718596;text-align:center;border-right:1px solid #dfe6eb;place-content:center;gap:2px;min-height:42px;font-size:8px;display:grid}.optimization-summary span:last-child{border-right:0}.optimization-summary strong{color:#26475f;font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.layout-solution-list{scrollbar-color:#aab8c3 transparent;scrollbar-width:thin;gap:4px;min-height:0;margin-top:10px;display:grid;overflow-y:auto}.layout-solution-list button{color:#365267;text-align:left;cursor:pointer;background:#fff;border:1px solid #d5dee5;border-radius:3px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:6px 9px;display:grid}.layout-solution-list button:hover{border-color:#9bb9d0}.layout-solution-list button.is-active{background:#edf6ff;border-color:#5c9fe3;box-shadow:inset 3px 0 #0969da}.layout-solution-list button>span{gap:3px;min-width:0;display:grid}.layout-solution-list button>span:last-child{justify-items:end}.layout-solution-list strong{color:#25485f;font-variant-numeric:tabular-nums;font-size:10px;font-weight:500}.layout-solution-list small{color:#748898;white-space:nowrap;font-size:8px}.optimization-pending{color:#7890a1;flex:1;place-content:center;justify-items:center;gap:7px;min-height:140px;font-size:10px;display:grid}.optimization-error{color:#9a3f36;background:#fff1ef;border:1px solid #ecc3bd;margin:10px 0 0;padding:8px;font-size:9px;line-height:1.45}.cad-optimization-panel .optimization-run{margin:auto 0 0}@media (width<=1180px){.stage-two-studio{grid-template-columns:205px minmax(420px,1fr) 320px}.stage-two-progress{padding-right:150px}.stage-two-progress-step .progress-arrow{margin:0 10px}.stage-two-progress-step>strong{font-size:12px}}@media (width<=920px){body{overflow:auto}.stage-two-studio-page{height:auto;min-height:calc(100vh - 56px);overflow:visible}.stage-two-progress{padding:0 14px;overflow-x:auto}.stage-two-studio{grid-template-columns:190px minmax(540px,1fr) 320px;min-height:720px;overflow-x:auto}}.spin{animation:.85s linear infinite spin}@keyframes capacity-reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1120px){.app-bar{grid-template-columns:minmax(260px,320px) 1fr auto}.workspace,.stage-two-workspace{grid-template-columns:320px minmax(0,1fr)}.layout-preparation-body{grid-template-columns:minmax(190px,.9fr) minmax(430px,2fr)}.layout-readiness{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.layout-readiness>div{border-right:1px solid var(--line);border-bottom:0;padding:7px 10px}.layout-readiness>div:last-child{border-right:0}.result-workspace,.history-workspace{padding:20px 18px 36px}.history-row{grid-template-columns:minmax(180px,1fr) minmax(450px,2.5fr) 124px;gap:16px}}@media (width<=820px){body{overflow:auto}.app-bar{z-index:10;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;position:sticky;top:0}.workspace,.stage-two-workspace{height:auto;display:block}.parameter-rail,.stage-two-rail,.result-workspace{overflow:visible}.parameter-rail,.stage-two-rail{border-right:0;border-bottom:1px solid var(--line-strong)}.mobile-param-toggle{display:inline-flex}.parameter-rail.is-collapsed .parameter-content,.stage-two-rail.is-collapsed .stage-two-rail-content,.stage-two-rail.is-collapsed .stage-two-actions{display:none}.parameter-rail.is-collapsed .rail-intro{padding-top:14px;padding-bottom:14px}.parameter-rail.is-collapsed .rail-intro h1{font-size:20px}.stage-two-rail.is-collapsed .rail-intro{padding-top:14px;padding-bottom:14px}.stage-two-rail.is-collapsed .rail-intro h1{font-size:20px}.rail-actions{position:static}.stage-two-main,.stage-two-main.has-conditions{grid-template-rows:auto minmax(460px,64vh) auto auto;min-height:calc(100vh - 56px);overflow:visible}.cad-canvas-shell{min-height:460px}.cad-property-ledger{grid-template-columns:repeat(3,minmax(0,1fr))}.cad-property-ledger div:nth-child(3){border-right:0}.cad-property-ledger div:nth-child(-n+3){border-bottom:1px solid var(--line)}.layout-preparation{max-height:none;overflow:visible}.layout-preparation-body{grid-template-columns:1fr}.layout-constraint-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.layout-readiness{grid-column:auto}.result-workspace{padding:22px 14px 34px;scroll-margin-top:52px;overflow-x:visible}.history-workspace{height:auto;min-height:calc(100vh - 56px);padding:22px 14px 34px;overflow:visible}.history-row{grid-template-columns:minmax(0,1fr) 124px;gap:14px;padding:15px 14px}.history-summary{border-top:1px solid #e0e6e9;grid-area:2/1/auto/-1;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding-top:12px}.history-actions{grid-area:1/2}.type-legend{align-items:flex-start}.scheme-list{min-width:0}.scheme-row{grid-template-rows:auto auto;grid-template-columns:42px minmax(0,1fr) 34px;min-height:132px}.scheme-rank{grid-area:1/1/3}.scheme-metrics{flex-wrap:wrap;grid-area:1/2;align-items:baseline;gap:5px 10px;padding:12px 10px 6px;display:flex}.scheme-composition{grid-area:2/2;padding:4px 10px 12px}.row-disclosure{grid-area:1/3/3}.scheme-details{grid-column:2/-1}.capacity-bar{height:34px}.allocation-item{padding:0 8px}}@media (width<=520px){.app-bar{height:52px;padding:0 12px}.product-lockup strong{display:none}.app-nav{gap:2px}.app-nav button{padding:6px}.app-bar-button span{display:none}.app-bar-button{justify-content:center;width:36px;padding:0}.rail-intro,.rail-section,.cad-import-section,.cad-layer-section,.rail-actions{padding-left:14px;padding-right:14px}.two-column-fields,.type-field-grid{grid-template-columns:1fr}.parcel-fields{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}.advanced-settings summary,.advanced-settings-body{padding-left:14px;padding-right:14px}.history-summary{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:12px}.cad-dropzone{grid-template-columns:26px minmax(0,1fr)}.cad-dropzone button{grid-column:1/-1}.cad-canvas-heading{padding:12px 14px}.cad-canvas-heading h2{font-size:19px}.cad-canvas-shell{min-height:380px;margin:12px 12px 0}.cad-property-ledger{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 12px 14px}.cad-property-ledger div,.cad-property-ledger div:nth-child(3){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cad-property-ledger div:nth-child(2n){border-right:0}.cad-property-ledger div:nth-last-child(-n+2){border-bottom:0}.layout-preparation>header,.layout-preparation-body,.layout-preparation>footer{padding-left:14px;padding-right:14px}.layout-constraint-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-preparation>footer{flex-direction:column;align-items:stretch}.layout-preparation footer>div{grid-template-columns:1fr 1fr;display:grid}}.stage-three-page{color:#142f45;--stage-three-border:#c9d4dc;background:#e8edf0;grid-template-rows:50px minmax(0,1fr);min-width:0;height:calc(100vh - 56px);display:grid;overflow:hidden}.stage-three-strip{border-bottom:1px solid var(--stage-three-border);background:#fff;justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:0 18px;display:flex}.stage-three-strip>div,.stage-three-panel-heading,.stage-three-section-title{align-items:center;gap:8px;display:flex}.stage-three-strip>div{color:#0c60b8}.stage-three-strip strong{font-size:14px}.stage-three-strip>span{color:#607486;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;overflow:hidden}.stage-three-workspace{grid-template-columns:300px minmax(480px,1fr) 340px;min-width:0;min-height:0;display:grid}.stage-three-source-panel,.stage-three-result-panel{background:#fff;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.stage-three-source-panel{border-right:1px solid var(--stage-three-border)}.stage-three-result-panel{border-left:1px solid var(--stage-three-border)}.stage-three-panel-heading{color:#243f52;border-bottom:1px solid #dce4e9;min-height:45px;padding:0 14px}.stage-three-panel-heading strong{font-size:12px}.stage-three-panel-toggle{color:#486274;background:0 0;border:0;place-items:center;width:30px;height:30px;margin-left:auto;padding:0;display:none}.stage-three-collapsed-summary{display:none}.stage-three-panel-scroll{scrollbar-color:#a8b5bd transparent;scrollbar-width:thin;min-height:0;padding:12px 13px 18px;overflow-y:auto}.stage-three-field,.stage-three-field-pair label{gap:5px;margin-bottom:10px;display:grid}.stage-three-field>span,.stage-three-field-pair label>span{color:#5c7181;font-size:10px;font-weight:650}.stage-three-field select,.stage-three-field input,.stage-three-field-pair select,.stage-three-field-pair input{color:#233f52;background:#fff;border:1px solid #bccbd5;border-radius:3px;width:100%;min-width:0;height:32px;padding:0 8px;font-size:11px}.stage-three-field select:disabled{color:#8b9aa5;background:#f2f5f6}.stage-three-field-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.stage-three-unit-input{position:relative}.stage-three-unit-input input{padding-right:31px}.stage-three-unit-input em{color:#718391;pointer-events:none;font-size:9px;font-style:normal;position:absolute;top:9px;right:8px}.stage-three-model-stats{border:1px solid #d8e0e5;grid-template-columns:repeat(3,1fr);margin:2px 0 14px;display:grid}.stage-three-model-stats>div{text-align:center;border-right:1px solid #d8e0e5;padding:8px 5px}.stage-three-model-stats>div:last-child{border-right:0}.stage-three-model-stats dt{color:#738591;font-size:9px}.stage-three-model-stats dd{color:#264256;margin:3px 0 0;font-size:11px;font-weight:700}.stage-three-section-title{color:#315065;border-top:1px solid #dce4e9;border-bottom:1px solid #e5ebef;margin:0 -13px 11px;padding:10px 13px 8px}.stage-three-section-title strong{font-size:11px}.stage-three-more-settings{border-top:1px solid #dce4e9;margin-top:2px}.stage-three-more-settings summary{color:#4f6879;cursor:pointer;padding:10px 0 8px;font-size:10px;font-weight:650}.stage-three-more-settings[open] summary{margin-bottom:7px}.stage-three-viewport{background:#e8edf0;min-width:0;min-height:0;position:relative;overflow:hidden}.massing-viewer-shell,.massing-canvas{position:absolute;inset:0}.massing-canvas canvas{width:100%;height:100%;display:block}.massing-toolbar{background:#fffffff0;border:1px solid #b9c8d1;border-radius:4px;display:flex;position:absolute;top:12px;left:12px;overflow:hidden;box-shadow:0 2px 7px #1631421f}.massing-toolbar button{color:#36576b;cursor:pointer;background:0 0;border:0;border-right:1px solid #cfdae0;place-items:center;width:34px;height:33px;padding:0;display:grid}.massing-toolbar button:last-child{border-right:0}.massing-toolbar button:hover{color:#0969da;background:#edf5ff}.massing-north{color:#486274;pointer-events:none;justify-items:center;font-size:10px;line-height:1;display:grid;position:absolute;top:14px;right:16px}.massing-north strong{font-size:12px}.massing-north span{margin-top:2px;font-size:23px}.massing-selection-readout{color:#345064;pointer-events:none;background:#ffffffeb;border:1px solid #b9c8d1;gap:3px;min-width:168px;padding:8px 10px;font-size:9px;display:grid;position:absolute;top:56px;left:12px;box-shadow:0 2px 6px #1631421a}.massing-selection-readout strong{color:#18384c;font-size:11px}.sun-timeline{color:#3e596b;background:#fffffff2;border:1px solid #b9c8d1;grid-template-columns:auto auto minmax(90px,1fr) auto auto;align-items:center;gap:10px;min-width:0;height:42px;padding:0 12px;font-size:9px;display:grid;position:absolute;bottom:15px;left:18px;right:18px;box-shadow:0 2px 8px #17304121}.sun-timeline strong{color:#173e58;font-variant-numeric:tabular-nums;font-size:11px}.sun-timeline input{accent-color:#df9132;width:100%}.sunlight-legend{color:#5d7180;background:#ffffffe6;gap:10px;padding:5px 8px;font-size:9px;display:flex;position:absolute;bottom:66px;right:18px}.sunlight-legend span{align-items:center;gap:4px;display:inline-flex}.sunlight-legend i{width:9px;height:9px}.sunlight-legend .is-low{background:#d95d4d}.sunlight-legend .is-mid{background:#e7ae3b}.sunlight-legend .is-high{background:#2a8b72}.stage-three-empty,.stage-three-result-empty{color:#85959f;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:0;font-size:11px;display:flex}.stage-three-empty{height:100%}.stage-three-canvas-status{color:#5c7181;pointer-events:none;background:#fffffff0;border:1px solid #b9c8d1;padding:7px 10px;font-size:9px;position:absolute;top:12px;left:58px}.sunlight-summary{border-bottom:1px solid #d8e1e6;grid-template-columns:repeat(3,1fr);display:grid}.sunlight-summary>div{text-align:center;border-right:1px solid #e0e6ea;gap:4px;min-width:0;padding:12px 6px;display:grid}.sunlight-summary>div:last-child{border-right:0}.sunlight-summary span{color:#71828e;font-size:9px}.sunlight-summary strong{color:#20485f;font-variant-numeric:tabular-nums;font-size:13px}.sunlight-building-heading{color:#385367;border-bottom:1px solid #e1e7eb;justify-content:space-between;align-items:center;min-height:39px;padding:0 12px;font-size:10px;display:flex}.sunlight-building-heading span{color:#778792}.sunlight-building-list{scrollbar-color:#a8b5bd transparent;scrollbar-width:thin;flex:1;min-height:0;overflow-y:auto}.joint-solution-list{scrollbar-color:#a8b5bd transparent;scrollbar-width:thin;border-bottom:1px solid #dce4e9;max-height:216px;overflow-y:auto}.joint-solution-list button{color:#355063;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #e2e8ec;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:49px;padding:7px 12px;display:flex}.joint-solution-list button:hover,.joint-solution-list button.is-active{background:#edf5ff}.joint-solution-list button.is-active{box-shadow:inset 3px 0 #1768c4}.joint-solution-list button>span{gap:3px;min-width:0;display:grid}.joint-solution-list button>span:last-child{justify-items:end}.joint-solution-list strong{white-space:nowrap;font-size:10px}.joint-solution-list small{color:#778994;white-space:nowrap;font-size:8px}.sunlight-building-list button{color:#355063;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #e2e8ec;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:48px;padding:7px 12px;display:flex}.sunlight-building-list button:hover,.sunlight-building-list button.is-active{background:#edf5ff}.sunlight-building-list button.is-active{box-shadow:inset 3px 0 #1768c4}.sunlight-building-list button>span{gap:3px;min-width:0;display:grid}.sunlight-building-list button>span:last-child{justify-items:end}.sunlight-building-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.sunlight-building-list small{color:#778994;font-variant-numeric:tabular-nums;font-size:8px}.sunlight-scope-note,.stage-three-error{margin:0;padding:8px 11px;font-size:9px;line-height:1.45}.sunlight-scope-note{color:#6b7e8b;background:#f5f7f8;border-top:1px solid #dbe3e7}.stage-three-error{color:#9b3f36;background:#fff0ee;align-items:center;gap:6px;display:flex}.stage-three-result-empty{flex:1;padding:22px}.joint-run-stats{color:#71828e;text-align:center;margin:0;padding:6px 11px 0;font-size:9px}.stage-three-run{color:#fff;cursor:pointer;background:#0969da;border:1px solid #0969da;border-radius:4px;justify-content:center;align-items:center;gap:7px;min-height:46px;margin:10px;font-size:12px;font-weight:700;display:flex}.stage-three-run:hover:not(:disabled){background:#075dbf}.stage-three-run:disabled{color:#91a1ac;cursor:not-allowed;background:#e5ebee;border-color:#d4dde2}@media (width<=1180px){.stage-three-workspace{grid-template-columns:260px minmax(430px,1fr) 310px}}@media (width<=920px){.stage-three-page{height:auto;min-height:calc(100vh - 56px);overflow:visible}.stage-three-workspace{grid-template-rows:auto minmax(520px,70vh) auto;grid-template-columns:minmax(0,1fr)}.stage-three-source-panel,.stage-three-result-panel{border:0;overflow:visible}.stage-three-source-panel{border-bottom:1px solid var(--stage-three-border)}.stage-three-panel-toggle{display:grid}.stage-three-panel-scroll.is-collapsed{display:none}.stage-three-collapsed-summary{color:#3c586b;text-align:left;background:#f7f9fa;border:0;border-bottom:1px solid #dce4e9;gap:3px;width:100%;padding:10px 14px;display:grid}.stage-three-collapsed-summary strong{font-size:11px}.stage-three-collapsed-summary span{color:#748691;font-size:9px}.stage-three-result-panel{border-top:1px solid var(--stage-three-border);min-height:430px}.stage-three-panel-scroll{overflow:visible}.stage-three-viewport{min-height:520px}.sunlight-building-list{max-height:320px}}@media (width<=520px){.stage-three-strip{padding:0 12px}.stage-three-workspace{grid-template-rows:auto 520px auto}.sun-timeline{grid-template-columns:auto minmax(90px,1fr);gap:8px;bottom:8px;left:8px;right:8px}.sun-timeline>svg,.sun-timeline>span{display:none}.sunlight-legend{bottom:58px;right:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
