*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:#1a1a2e;width:100%;height:100%;font-family:Segoe UI,system-ui,-apple-system,sans-serif;overflow:hidden}:root{--bar-h:52px;--menu-bg:#14162eb8}#app{width:100vw;height:100vh;position:fixed;inset:0}#toolbar{top:12px;left:var(--tb-left,332px);right:var(--tb-right,84px);z-index:200;height:var(--bar-h);-webkit-backdrop-filter:blur(24px)saturate(1.6);background:#0a0a1eb8;border:1px solid #ffffff1a;border-radius:14px;flex-wrap:wrap;place-content:center;align-items:center;gap:4px;padding:6px 10px;animation:.4s ease-out fadeSlideIn;display:flex;position:fixed;transform:none;box-shadow:0 4px 24px #00000073,inset 0 1px #ffffff0f}#toolbar.toolbar--compact .tool-label{display:none}#toolbar.toolbar--compact .tool-btn{min-width:38px;padding:6px 7px}#toolbar.toolbar--compact{gap:2px}#toolbar.toolbar--wrapped{height:auto;min-height:var(--bar-h)}.toolbar-mode-toggle{background:#ffffff0a;border-radius:10px;padding:2px}.mode-btn{color:#ffffff73;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:1px;min-width:60px;padding:6px 12px 4px;font-family:inherit;transition:all .25s;display:flex}.mode-btn:hover{color:#ffffffbf;background:#ffffff0f}.mode-btn.active{color:#fff;background:#42a5f52e;border-color:#42a5f573;box-shadow:0 0 10px #42a5f526}.tool-btn.tool-disabled{opacity:.25;pointer-events:none;filter:grayscale()}.tool-btn.tool-gated{opacity:.4;filter:grayscale(.85);cursor:not-allowed}.tool-btn.workflow-next{border-radius:8px;box-shadow:0 0 0 2px #ffb3008c,0 0 10px #ffb30073}.tool-btn.workflow-flash{animation:.35s 2 workflow-flash-kf}@keyframes workflow-flash-kf{0%,to{box-shadow:0 0 0 2px #ffb3008c}50%{box-shadow:0 0 0 4px #ffb300f2,0 0 14px #ffb300cc}}.toolbar-group{gap:2px;display:flex}.toolbar-divider{background:#ffffff1a;width:1px;height:32px;margin:0 6px}.tool-btn{color:#ffffff8c;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:1px;min-width:52px;padding:6px 10px 4px;font-family:inherit;transition:all .2s;display:flex}.tool-btn:hover{color:#ffffffd9;background:#ffffff14;border-color:#ffffff1f}.tool-btn.active{color:#fff;background:#fff0c81a;border-color:#fff0c861;box-shadow:0 0 12px #fff0c82e,inset 0 1px #ffffff14}.tool-btn.active .tool-icon svg{color:#fdf3c8;filter:drop-shadow(0 0 4px #fff0c8b3)drop-shadow(0 0 9px #fff0c84d)}.tool-btn:active{transform:scale(.95)}.tool-icon{justify-content:center;align-items:center;height:18px;font-size:18px;line-height:1;display:flex}.tool-icon svg{width:18px;height:18px;display:block}.tool-label{letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;font-size:9px;font-weight:600}.tool-btn--accent{color:#fff9;width:54px;min-width:54px;height:54px;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;margin:0 6px;padding:0;transition:transform .45s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;transform:scale(1)}.tool-btn--accent:before{content:"";-webkit-backdrop-filter:blur(24px)saturate(1.6);pointer-events:none;background:#1e1e36bd;border:1px solid #0000;border-radius:50%;transition:opacity .35s,transform .4s cubic-bezier(.34,1.56,.64,1),border-color .15s,box-shadow .15s;position:absolute;inset:-7px;box-shadow:0 4px 16px #0006}.tool-btn--accent .tool-label{display:none}.tool-btn--accent .tool-icon{height:24px;position:relative}.tool-btn--accent .tool-icon svg{width:24px;height:24px}.tool-btn--accent.tool-gated{transform:scale(.55)}.tool-btn--accent.tool-gated:before{opacity:0;transform:scale(.3)}.tool-btn--accent.tool-gated:hover .tool-icon svg{fill:currentColor}.tool-btn--accent:not(.tool-gated):hover{color:#ffd54f}.tool-btn--accent:not(.tool-gated):hover:before{border-color:#ffc1078c;box-shadow:0 4px 16px #0006,0 0 16px #ffc10752}.tool-btn--accent:not(.tool-gated):hover .tool-icon svg{fill:currentColor;animation:1.1s ease-in-out infinite genShimmer}@keyframes genShimmer{0%,to{color:#ffe082;filter:drop-shadow(0 0 4px #ffd54fb3)}50%{color:#fff8e1;filter:drop-shadow(0 0 11px #ffeca0f2)}}.tool-btn--accent:not(.tool-gated):active:before,.tool-btn--accent.generating:before{border-color:#69f0ae99;box-shadow:0 4px 16px #0006,0 0 18px #69f0ae66}.tool-btn--accent:not(.tool-gated):active .tool-icon svg,.tool-btn--accent.generating .tool-icon svg{fill:currentColor;animation:.85s ease-in-out infinite genShimmerGreen}@keyframes genShimmerGreen{0%,to{color:#69f0ae;filter:drop-shadow(0 0 5px #69f0aeb3)}50%{color:#b9f6ca;filter:drop-shadow(0 0 13px #69f0ae)}}.tool-btn--danger:hover{color:#ff5252;background:#ff52521f;border-color:#ff525259}.tool-btn--eraser.active{color:#ff5252;background:#ff525226;border-color:#ff525273;box-shadow:0 0 12px #ff525233}.restriction-type-group{z-index:300;background:var(--menu-bg);-webkit-backdrop-filter:blur(20px)saturate(1.5);white-space:nowrap;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;gap:2px;margin-top:6px;padding:6px;display:none;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #00000080}.restriction-type-group.visible{display:flex}.road-type-group{z-index:300;background:var(--menu-bg);-webkit-backdrop-filter:blur(20px)saturate(1.5);white-space:nowrap;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;gap:2px;margin-top:6px;padding:6px;display:none;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #00000080}.road-type-group.visible{display:flex}.sub-btn{cursor:pointer;opacity:.6;color:#ffffffb3;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;width:auto;min-width:28px;height:auto;padding:5px 10px;font-family:inherit;font-size:13px;line-height:1;transition:all .2s;display:flex}.sub-btn .sub-label{letter-spacing:.2px;font-size:11px;font-weight:500}.sub-btn:hover{opacity:1;color:#ffffffe6;background:#ffffff1a}.sub-btn.active{opacity:1;color:#fff;background:#ffffff1f;border-color:#ffffff4d}#ui-overlay{z-index:100;-webkit-backdrop-filter:blur(20px)saturate(1.5);color:#ffffffe6;pointer-events:auto;background:#0a0a1ea6;border:1px solid #ffffff1a;border-radius:16px;min-width:270px;max-width:300px;max-height:calc(100vh - 28px);padding:18px 20px;font-size:13px;line-height:1.5;animation:.5s ease-out fadeSlideIn;position:fixed;top:12px;left:16px;overflow:hidden auto;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0f}#ui-overlay::-webkit-scrollbar{width:4px}#ui-overlay::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.tep-header{cursor:pointer;letter-spacing:.5px;color:#ffffffb3;text-transform:uppercase;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:2px 0 10px;font-family:inherit;font-size:14px;font-weight:600;transition:color .15s;display:flex}.tep-header:hover{color:#fffffff2}.tep-header__title{flex:1}.tep-header__chevron{color:#ffffff73;font-size:12px;transition:transform .25s}#tep-body{opacity:1;max-height:2000px;transition:max-height .3s,opacity .2s;overflow:hidden}#ui-overlay.tep-collapsed #tep-body{opacity:0;max-height:0;display:none}#ui-overlay.tep-collapsed{width:max-content;min-width:0;height:var(--bar-h);white-space:nowrap;align-items:center;padding:0 16px;display:flex;overflow:hidden}#ui-overlay.tep-collapsed .tep-header{gap:6px;width:auto;padding:0}#ui-overlay.tep-collapsed .tep-header__title{flex:none}#ui-overlay.tep-collapsed .tep-header__chevron{transform:rotate(-90deg)}#variant-tabs{pointer-events:auto;-webkit-overflow-scrolling:touch;flex-wrap:wrap;gap:6px;margin-bottom:16px;display:none;overflow-x:auto}.variant-tab{color:#ffffff80;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:10px 6px 8px;font-family:inherit;transition:all .25s;display:flex}.variant-tab:hover{color:#fffc;background:#ffffff14;border-color:#ffffff26;transform:translateY(-1px)}.variant-tab.active{color:#fff;background:#64b4ff1f;border-color:#64b4ff59;box-shadow:0 0 12px #64b4ff1a,inset 0 1px #ffffff14}.variant-tab__icon{font-size:18px;line-height:1}.variant-tab__name{letter-spacing:.3px;white-space:nowrap;font-size:11px;font-weight:600}.variant-tab__area{opacity:.6;font-variant-numeric:tabular-nums;font-size:10px}.variant-tab.active .variant-tab__area{opacity:.9;color:#90caf9}#tep-table{border-collapse:collapse;width:100%}#tep-table td{vertical-align:baseline;padding:5px 0}.tep-group-header td{letter-spacing:1px;text-transform:uppercase;color:#ffffff59;border-bottom:1px solid #ffffff0f;padding:10px 0 4px;font-size:10px;font-weight:700}.tep-label{color:#ffffff80;padding-right:12px;font-size:12px}.tep-value{color:#fff;font-variant-numeric:tabular-nums;text-align:right;min-width:70px;padding-right:6px;font-size:18px;font-weight:700;transition:color .3s}.tep-value.updated{color:#76ff03}.tep-unit{color:#ffffff59;width:24px;font-size:11px}.tep-separator td{padding:2px 0}#report-block{color:#ffffff8c;border-top:1px solid #ffffff14;margin-top:16px;padding-top:14px;font-size:11.5px;line-height:1.6}#report-block:empty{display:none}#report-block p{margin-bottom:6px}#report-block strong{color:#ffffffd9;font-weight:600}#report-block .report-assumptions{color:#ffffff4d;border-top:1px dashed #ffffff0f;margin-top:8px;padding-top:8px;font-size:10px;font-style:italic}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.building-label{-webkit-backdrop-filter:blur(4px);color:#fff;letter-spacing:.3px;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;background:#0a0a1ebf;border:1px solid #ffffff26;border-radius:4px;padding:2px 8px;font-family:Segoe UI,system-ui,sans-serif;font-size:11px;font-weight:600;transform:translate(-50%,-100%)}.group-label{box-sizing:border-box;color:#1a1a2e;pointer-events:none;-webkit-user-select:none;user-select:none;background:#ffffffeb;border:2px solid #263238;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-family:Segoe UI,system-ui,sans-serif;font-size:14px;font-weight:800;line-height:1;display:flex;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0006}.report-warning{color:#ff5252;background:#ff525214;border-left:3px solid #ff5252;border-radius:0 4px 4px 0;margin:6px 0;padding:4px 8px;font-weight:700}.report-caution{color:#ff9800;background:#ff980014;border-left:3px solid #ff9800;border-radius:0 4px 4px 0;margin:6px 0;padding:4px 8px;font-weight:700}.report-assumptions{opacity:.6;font-size:.85em;font-style:italic}#generate-dialog-overlay{z-index:500;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#generate-dialog-overlay.visible{display:flex}.gen-dialog{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);color:#fff;background:#101028eb;border:1px solid #ffffff1f;border-radius:16px;width:360px;padding:24px 28px;animation:.25s ease-out fadeSlideIn;box-shadow:0 12px 48px #00000080}.gen-dialog h3{color:#ffffffe6;margin-bottom:20px;font-size:16px;font-weight:600}.gen-dialog__field{margin-bottom:24px}.gen-dialog__field label{color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.gen-dialog__row{align-items:center;gap:12px;display:flex}.gen-dialog__row input[type=range]{accent-color:#42a5f5;flex:1;height:4px}.gen-dialog__row input[type=number]{color:#fff;text-align:center;background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;width:60px;padding:6px 8px;font-family:inherit;font-size:14px;font-weight:600}.gen-dialog__row input[type=number]:focus{border-color:#42a5f580;outline:none}.gen-dialog__hint{color:#ffffff4d;margin-top:6px;font-size:11px;display:block}.gen-dialog__actions{justify-content:flex-end;gap:10px;display:flex}.gen-dialog__btn{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:8px 20px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s}.gen-dialog__btn--cancel{color:#ffffff80;background:#ffffff0f;border-color:#ffffff1a}.gen-dialog__btn--cancel:hover{color:#fffc;background:#ffffff1a}.gen-dialog__btn--ok{color:#42a5f5;background:#42a5f533;border-color:#42a5f573}.gen-dialog__btn--ok:hover{color:#fff;background:#42a5f54d}.building-panel{z-index:1000;-webkit-backdrop-filter:blur(20px)saturate(1.5);-webkit-user-select:none;user-select:none;background:#0a0a1ebf;border:1px solid #ffffff1a;border-radius:12px;width:236px;position:fixed;bottom:75px;left:50%;overflow:visible;transform:translate(-50%);box-shadow:0 4px 20px #0006;pointer-events:auto!important}.building-panel--disabled{display:none}.building-panel--active{display:block}.bp-header{background:#42a5f51a;border-bottom:1px solid #ffffff14;border-radius:12px 12px 0 0;align-items:center;gap:6px;padding:6px 9px;display:flex}.bp-icon{font-size:14px}.bp-title{color:#ffffffd9;letter-spacing:.2px;flex:1;font-size:11.5px;font-weight:700}.bp-close{color:#ffffff8c;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;flex:0 0 22px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:11px;line-height:1;transition:all .15s;display:flex}.bp-close:hover{color:#fff;background:#ef535040;border-color:#ef535080}.bp-hint{color:#ffffff59;padding-top:2px;font-size:10px}.bp-stepper{flex:1;justify-content:flex-end;align-items:center;gap:6px;display:flex}.bp-step-btn{color:#42a5f5;cursor:pointer;background:#42a5f51f;border:1px solid #42a5f540;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:15px;font-weight:700;line-height:1;transition:all .15s;display:flex}.bp-step-btn:hover{color:#fff;background:#42a5f54d;border-color:#42a5f5}.bp-step-val{text-align:center;color:#42a5f5;font-variant-numeric:tabular-nums;min-width:28px;font-size:13px;font-weight:700}.bp-readout{color:#ffffffb3;justify-content:center;align-items:center;display:flex}.bp-body{flex-direction:column;gap:6px;padding:8px 9px 9px;display:flex}.bp-row{align-items:center;gap:6px;display:flex}.bp-label{color:#ffffff80;text-transform:uppercase;letter-spacing:.4px;flex:0 0 80px;font-size:11px;font-weight:600}.bp-select{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:6px;outline:none;flex:1;min-width:0;padding:4px 6px;font-size:12px}.bp-select option{color:#fff;background:#14162e}.bp-dims-edit{flex:1;align-items:center;gap:6px;display:flex}.bp-num{color:#fff;text-align:center;background:#ffffff0f;border:1px solid #ffffff24;border-radius:6px;outline:none;flex:1;width:60px;min-width:0;padding:4px 6px;font-size:12px}.bp-num:focus{background:#42a5f51f;border-color:#42a5f599}.bp-mult{color:#fff6;font-size:12px}.bp-slider{appearance:none;cursor:pointer;background:#ffffff1f;border-radius:2px;outline:none;flex:1;height:4px}.bp-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#42a5f5;border:2px solid #ffffff4d;border-radius:50%;width:14px;height:14px;box-shadow:0 0 6px #42a5f566}.bp-slider:disabled{opacity:.3;cursor:not-allowed}.bp-slider:disabled::-webkit-slider-thumb{box-shadow:none;background:#555}.bp-input{text-align:center;color:#42a5f5;font-variant-numeric:tabular-nums;-moz-appearance:textfield;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:5px;outline:none;flex:0 0 44px;width:44px;padding:2px 4px;font-family:inherit;font-size:12px;font-weight:700;transition:border-color .15s}.bp-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.bp-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bp-input:focus{background:#42a5f514;border-color:#42a5f5}.bp-info{border-top:1px solid #ffffff0f;flex-direction:column;gap:4px;margin-top:4px;padding-top:8px;display:flex}.bp-info-row{justify-content:space-between;align-items:center;display:flex}.bp-info-label{color:#ffffff59;text-transform:uppercase;letter-spacing:.4px;font-size:10px}.bp-info-value{color:#ffffffb3;font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.bp-section-title{color:#ffffff73;text-transform:uppercase;letter-spacing:.5px;border-top:1px solid #ffffff0f;margin-top:6px;padding-top:8px;font-size:10px;font-weight:700}.bp-sections{flex-direction:column;gap:3px;max-height:168px;margin-top:4px;display:flex;overflow-y:auto}.bp-sec-row{cursor:pointer;border:1px solid #0000;border-radius:5px;align-items:center;gap:5px;padding:2px 3px;display:flex}.bp-sec-row:hover{background:#ffffff0d}.bp-sec-row.is-active{background:#2196f329;border-color:#2196f38c}.bp-sec-num{text-align:center;color:#ffffff8c;flex:0 0 16px;font-size:10px;font-weight:700}.bp-sec-type{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:5px;outline:none;flex:1;min-width:0;padding:3px 4px;font-size:11px}.bp-sec-type option{color:#fff;background:#14162e}.bp-sec-type:disabled{opacity:.6;cursor:default}.bp-sec-floors{flex:none;align-items:center;gap:2px;display:flex}.bp-sec-fbtn{text-align:center;color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff29;border-radius:4px;width:16px;height:16px;padding:0;font-size:11px;line-height:14px}.bp-sec-fbtn:hover{background:#ffffff24}.bp-sec-fval{text-align:center;color:#fff;min-width:26px;font-size:10px;font-weight:700}.bp-needs{flex-direction:column;gap:3px;margin-top:4px;display:flex}.bp-need-row{align-items:center;gap:6px;height:22px;display:flex}.bp-need-icon{text-align:center;flex:0 0 16px;font-size:10px}.bp-need-label{color:#ffffff80;white-space:nowrap;flex:0 0 74px;font-size:10px}.bp-need-value{color:#ffffffa6;font-variant-numeric:tabular-nums;text-align:right;flex:1;font-size:10px;font-weight:600}.bp-need-value.bp-ok{color:#66bb6a}.bp-need-value.bp-bad{color:#ef5350}.bp-need-add{color:#42a5f5;cursor:pointer;background:#42a5f526;border:1px solid #42a5f540;border-radius:4px;flex:0 0 20px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:14px;font-weight:700;transition:all .15s;display:flex}.bp-need-add:hover{background:#42a5f54d;border-color:#42a5f5;transform:scale(1.1)}@keyframes orphan-blink{0%,to{opacity:1}50%{opacity:.3}}.file-menu{z-index:310;background:var(--menu-bg);-webkit-backdrop-filter:blur(24px)saturate(1.6);border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;min-width:240px;margin-top:6px;padding:6px 0;display:none;position:absolute;top:100%;left:auto;right:0;box-shadow:0 8px 32px #0000008c}.file-menu.visible{display:flex}#site-menu{left:0;right:auto}.file-menu__group-label{letter-spacing:.8px;text-transform:uppercase;color:#ffffff4d;-webkit-user-select:none;user-select:none;padding:6px 14px 3px;font-size:10px;font-weight:700}.file-menu__item{color:#ffffffbf;cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:7px 14px;font-family:inherit;font-size:12.5px;transition:background .12s,color .12s;display:flex}.file-menu__item:hover{color:#fff;background:#42a5f526}.file-menu__item--danger{color:#ff5252bf}.file-menu__item--danger:hover{color:#ff5252;background:#ff525226}.file-menu__icon{text-align:center;flex-shrink:0;width:20px;font-size:14px}.file-menu__text{flex:1}.file-menu__shortcut{color:#ffffff40;margin-left:16px;font-size:10px}.file-menu__separator{background:#ffffff14;height:1px;margin:4px 10px}#undo-bar{z-index:200;-webkit-backdrop-filter:blur(20px)saturate(1.5);background:#0a0a1ebf;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:0;padding:4px 6px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0006}.undo-btn{color:#fff9;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:8px;align-items:center;gap:5px;padding:7px 14px;font-family:inherit;font-size:13px;transition:all .15s;display:flex}.undo-btn:hover{color:#ffffffe6;background:#ffffff1a}.undo-btn:active{color:#fff;background:#42a5f533;transform:scale(.95)}.undo-icon{font-size:16px;line-height:1}.undo-label{letter-spacing:.3px;text-transform:uppercase;font-size:11px;font-weight:600}.undo-divider{background:#ffffff1f;width:1px;height:20px;margin:0 2px}#nav-widget{z-index:200;-webkit-backdrop-filter:blur(20px)saturate(1.5);background:#0a0a1ebf;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;align-items:stretch;gap:4px;width:48px;padding:6px;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 20px #0006}.nav-btn svg{pointer-events:none;display:block}.nav-mode-toggle{border:1px solid #42a5f559;border-radius:8px;flex-direction:column;gap:0;display:flex;overflow:hidden}.nav-mode-opt{color:#ffffff73;cursor:pointer;letter-spacing:1px;background:0 0;border:none;height:26px;padding:0;font-family:inherit;font-size:12px;font-weight:700;transition:all .15s}.nav-mode-opt:hover{color:#ffffffd9;background:#ffffff14}.nav-mode-opt.active{color:#fff;cursor:default;background:#42a5f547}.nav-sep{background:#ffffff1a;height:1px;margin:1px 4px}.nav-btn{color:#ffffffa6;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:7px;justify-content:center;align-items:center;height:32px;padding:0;font-family:inherit;font-size:17px;font-weight:600;line-height:1;transition:all .15s;display:flex}.nav-btn:hover{color:#fffffff2;background:#ffffff24;border-color:#fff3}.nav-btn:active{color:#fff;background:#42a5f540;transform:scale(.93)}.nav-frame{color:#7cc0f8;background:#42a5f51f;border-color:#42a5f54d;font-size:15px}.nav-frame:hover{color:#fff;background:#42a5f540}#gui-fab{z-index:300;width:var(--bar-h);height:var(--bar-h);-webkit-backdrop-filter:blur(20px)saturate(1.5);color:#ffffffa6;cursor:pointer;background:#0a0a1ebf;border:1px solid #ffffff1a;border-radius:12px;justify-content:center;align-items:center;padding:0;transition:color .15s,border-color .15s;display:flex;position:fixed;top:12px;right:20px;box-shadow:0 4px 20px #0006}#gui-fab:hover{color:#7cc0f8;border-color:#42a5f566}#gui-fab svg{pointer-events:none;transition:transform .45s cubic-bezier(.3,1.4,.4,1);display:block}#gui-fab.open{color:#7cc0f8;border-color:#42a5f566}#gui-fab.open svg{transform:rotate(180deg)}#gui-panel{z-index:290;transform-origin:100% 0;opacity:0;visibility:hidden;pointer-events:none;-webkit-backdrop-filter:blur(24px)saturate(1.6);--background-color:#0c0e229e;--title-background-color:#ffffff0d;--widget-color:#ffffff14;--hover-color:#ffffff24;--focus-color:#42a5f54d;border:1px solid #ffffff1f;border-radius:14px;padding-top:52px;transition:transform .22s cubic-bezier(.2,.9,.25,1.1),opacity .16s,visibility 0s linear .22s;overflow:hidden;transform:translateY(-10px)scale(.97);box-shadow:0 12px 40px #00000080,inset 0 1px #ffffff0f;max-height:calc(100vh - 24px)!important;position:fixed!important;top:12px!important;bottom:auto!important;right:20px!important}#gui-panel.gui-visible{opacity:1;visibility:visible;pointer-events:auto;transition:transform .22s cubic-bezier(.2,.9,.25,1.1),opacity .16s,visibility;transform:translateY(0)scale(1)}#gui-panel>.lil-title,#gui-panel>.title{display:none}#gui-panel>.lil-children,#gui-panel>.children{max-height:calc(100vh - 76px);overflow-y:auto}.econ-panel{z-index:400;background:var(--menu-bg);-webkit-backdrop-filter:blur(24px)saturate(1.6);transform-origin:100% 0;opacity:0;visibility:hidden;pointer-events:none;border:1px solid #ffffff1f;border-radius:14px;width:250px;padding:12px 14px;transition:transform .18s cubic-bezier(.2,.9,.25,1.1),opacity .14s,visibility 0s linear .18s;position:absolute;top:calc(100% + 6px);left:auto;right:0;transform:translateY(-8px)scale(.97);box-shadow:0 12px 40px #00000080}.econ-panel.visible{opacity:1;visibility:visible;pointer-events:auto;transition:transform .18s cubic-bezier(.2,.9,.25,1.1),opacity .14s,visibility;transform:translateY(0)scale(1)}.econ-panel__title{letter-spacing:.5px;text-transform:uppercase;color:#ffffff73;margin-bottom:10px;font-size:11px;font-weight:700}.econ-row{cursor:default;align-items:center;gap:8px;margin-bottom:6px;display:flex}.econ-row__label{color:#ffffffa6;flex:1;font-size:12px}.econ-row__input{text-align:right;color:#42a5f5;font-variant-numeric:tabular-nums;-moz-appearance:textfield;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;outline:none;flex:0 0 88px;width:88px;padding:4px 6px;font-family:inherit;font-size:12px;font-weight:600}.econ-row__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.econ-row__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.econ-row__input:focus{background:#42a5f514;border-color:#42a5f5}.panel-toggle{color:#ffffffb3;cursor:pointer;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;display:flex}.file-menu__icon svg,.tep-header__icon svg{width:16px;height:16px;display:block}.sub-btn svg{width:15px;height:15px;display:block}.panel-toggle .ic{vertical-align:-3px;flex-shrink:0;width:15px;height:15px;display:inline-block}.panel-action-btn .ic,.econ-row__label .ic{vertical-align:-2px;width:14px;height:14px}.panel-result .ic{vertical-align:-2px;width:13px;height:13px;display:inline-block}.cadastre-icon svg{width:16px;height:16px;display:block}.cadastre-wms-label svg,.cadastre-toggle-label svg,.cadastre-manual__summary svg{vertical-align:-2px;flex-shrink:0;width:14px;height:14px}.cadastre-use-btn svg,.cadastre-search-btn svg,.nudge-reset svg{vertical-align:-3px;width:15px;height:15px;display:inline-block}.insol-clock{text-align:center;letter-spacing:4px;font-variant-numeric:tabular-nums;color:#ffca28;text-shadow:0 0 10px #ffca288c;background:#00000047;border:1px solid #ffca2840;border-radius:10px;margin:8px 0 4px;padding:7px 0;font-family:Consolas,Courier New,monospace;font-size:26px;font-weight:700}.insol-play-btn{color:#ffca28;cursor:pointer;background:#ffca281f;border:1px solid #ffca2866;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:background .15s;display:inline-flex}.insol-play-btn:hover{background:#ffca2840}.insol-play-btn svg{width:15px;height:15px;display:block}.insol-play-btn .ic-pause,.insol-play-btn.playing .ic-play{display:none}.insol-play-btn.playing .ic-pause{display:block}.panel-action-btn{justify-content:center;align-items:center;gap:6px;display:inline-flex}.panel-toggle input[type=checkbox],.cadastre-toggle-label input[type=checkbox],.cadastre-wms-label input[type=checkbox]{appearance:none;cursor:pointer;background:#ffffff0d;border:1.5px solid #ffffff4d;border-radius:5px;flex-shrink:0;width:16px;height:16px;margin:0;transition:background .15s,border-color .15s;position:relative}.panel-toggle input[type=checkbox]:hover,.cadastre-toggle-label input[type=checkbox]:hover,.cadastre-wms-label input[type=checkbox]:hover{border-color:#42a5f599}.panel-toggle input[type=checkbox]:checked,.cadastre-toggle-label input[type=checkbox]:checked,.cadastre-wms-label input[type=checkbox]:checked{background:#42a5f5;border-color:#42a5f5}.panel-toggle input[type=checkbox]:checked:after,.cadastre-toggle-label input[type=checkbox]:checked:after,.cadastre-wms-label input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:1px;left:4.5px;transform:rotate(45deg)}.panel-action-btn{color:#7cc0f8;cursor:pointer;background:#42a5f51f;border:1px solid #42a5f559;border-radius:8px;width:100%;margin-top:4px;padding:7px 10px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s}.panel-action-btn:hover{color:#fff;background:#42a5f540}.panel-result{color:#ffffffbf;margin-top:8px;font-size:12px;font-weight:600}.norm-details{flex-direction:column;gap:3px;max-height:40vh;margin-top:6px;display:flex;overflow-y:auto}.norm-details__item{border-radius:6px;padding:5px 8px;font-size:11px;line-height:1.35}.norm-details__item--error{color:#ff8a9d;background:#ff17441f;border-left:2px solid #ff1744}.norm-details__item--warning{color:#ffc06e;background:#ff91001a;border-left:2px solid #ff9100}.norm-details__ok{color:#66bb6a;font-size:12px}.norm-details__item--info{color:#9fcdf5;background:#64b5f614;border-left:2px solid #64b5f6}#map-fab{z-index:300;position:fixed;bottom:224px;right:20px}#map-fab-btn{-webkit-backdrop-filter:blur(20px)saturate(1.5);color:#ffffffa6;cursor:pointer;background:#0a0a1ebf;border:1px solid #ffffff1a;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;padding:0;transition:all .15s;display:flex;box-shadow:0 4px 20px #0006}#map-fab-btn:hover{color:#7cc0f8;border-color:#42a5f566}#map-fab-btn svg{pointer-events:none;display:block}#map-fab .cadastre-panel{-webkit-backdrop-filter:blur(28px)saturate(1.8);transform-origin:100% 100%;opacity:0;visibility:hidden;pointer-events:none;background:#080a1c8c;border:1px solid #ffffff24;border-radius:16px;width:280px;max-height:min(72vh,560px);padding:12px 14px;transition:transform .22s cubic-bezier(.2,.9,.25,1.1),opacity .16s,visibility 0s linear .22s;animation:none;position:absolute;top:auto;bottom:0;right:0;transform:scale(.15);box-shadow:0 12px 40px #00000080,inset 0 1px #ffffff14}.map-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.map-row__select{flex:1;min-width:0}.map-nudge{border-top:1px solid #ffffff14;margin:10px 0 4px;padding-top:8px}.map-nudge__head{letter-spacing:.4px;text-transform:uppercase;color:#ffffff73;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:11px;font-weight:600;display:flex}.nudge-reset{color:#fff9;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:13px;line-height:1;transition:all .15s;display:flex}.nudge-reset:hover{color:#fff;background:#42a5f540;border-color:#42a5f580}.nudge-slider-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.nudge-slider-row input[type=range]{appearance:none;cursor:pointer;background:#ffffff1f;border-radius:2px;outline:none;flex:1;height:4px}.nudge-slider-row input[type=range]::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#42a5f5;border:2px solid #ffffff4d;border-radius:50%;width:14px;height:14px;box-shadow:0 0 6px #42a5f566}.nudge-slider-row input[type=range]::-moz-range-thumb{cursor:pointer;background:#42a5f5;border:2px solid #ffffff4d;border-radius:50%;width:14px;height:14px;box-shadow:0 0 6px #42a5f566}.nudge-slider-row input[type=range]::-moz-range-track{background:#ffffff1f;border-radius:2px;height:4px}.nudge-side{text-align:center;color:#ffffff80;flex:0 0 12px;font-size:11px;font-weight:700}#map-fab:hover .cadastre-panel,#map-fab:focus-within .cadastre-panel,#map-fab.pinned .cadastre-panel{opacity:1;visibility:visible;pointer-events:auto;transition:transform .22s cubic-bezier(.2,.9,.25,1.1),opacity .16s,visibility;transform:scale(1)}#map-fab:hover #map-fab-btn,#map-fab:focus-within #map-fab-btn,#map-fab.pinned #map-fab-btn{color:#7cc0f8}#map-fab.map-collapsed .cadastre-panel{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:scale(.15)!important}.cadastre-panel{z-index:200;box-sizing:border-box;-webkit-backdrop-filter:blur(24px)saturate(1.6);color:#ffffffe6;background:#0a0a1ed9;border:1px solid #ffffff1a;border-radius:14px;width:360px;max-height:calc(100vh - 100px);padding:14px 16px;font-size:13px;animation:.4s ease-out fadeSlideIn;position:fixed;top:70px;right:340px;overflow:hidden auto;box-shadow:0 4px 24px #00000073,inset 0 1px #ffffff0f}#zone-panel-wrap{right:716px}@media (width<=1200px){#zone-panel-wrap{right:340px}}.cadastre-header{align-items:center;gap:6px;margin-bottom:10px;display:flex}.cadastre-icon{font-size:18px}.cadastre-title{text-transform:uppercase;letter-spacing:.5px;color:#ffffffb3;font-size:13px;font-weight:700}.cadastre-search{gap:6px;margin-bottom:8px;display:flex}.cadastre-input{color:#fff;letter-spacing:.5px;background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;outline:none;flex:1;padding:7px 10px;font-family:Courier New,monospace;font-size:13px;transition:border-color .2s}.cadastre-input::placeholder{color:#ffffff40;font-family:inherit}.cadastre-input:focus{border-color:#42a5f58c;box-shadow:0 0 8px #42a5f526}.cadastre-search-btn{color:#42a5f5;cursor:pointer;background:#42a5f526;border:1px solid #42a5f559;border-radius:8px;padding:7px 12px;font-size:15px;line-height:1;transition:all .2s}.cadastre-search-btn:hover{color:#fff;background:#42a5f547}.cadastre-status{border-radius:6px;margin-bottom:8px;padding:6px 10px;font-size:12px}.cadastre-status--loading{color:#90caf9;background:#42a5f51a}.cadastre-status--error{color:#ff5252;background:#ff52521a}.cadastre-info{background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;margin-bottom:8px;padding:8px 10px}.cadastre-info__row{justify-content:space-between;align-items:baseline;gap:8px;padding:3px 0;display:flex}.cadastre-info__label{color:#ffffff73;white-space:nowrap;flex-shrink:0;font-size:11px}.cadastre-info__value{color:#ffffffd9;text-align:right;word-break:break-word;font-size:12px}.cadastre-use-btn{color:#66bb6a;cursor:pointer;background:#4caf5026;border:1px solid #4caf5066;border-radius:8px;width:100%;margin-bottom:8px;padding:9px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s}.cadastre-use-btn:hover{color:#fff;background:#4caf5047}.cadastre-map-controls{border-top:1px solid #ffffff0f;flex-wrap:wrap;align-items:center;gap:8px;padding-top:6px;display:flex}.cadastre-map-controls>*{max-width:100%}.cadastre-wms-layers{flex-basis:100%}.cadastre-toggle-label{color:#ffffff80;cursor:pointer;white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:flex}.cadastre-toggle-label input[type=checkbox]{accent-color:#42a5f5}.cadastre-select{color:#ffffffb3;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;outline:none;flex:1;padding:4px 6px;font-family:inherit;font-size:11px}.cadastre-select option{color:#fff;background:#1a1a2e}.cadastre-wms-layers{background:#ffffff08;border:1px solid #ffffff0f;border-radius:4px;flex-direction:column;gap:2px;margin-top:4px;padding:4px 6px;display:flex}.cadastre-wms-label{color:#ffffffb3;cursor:pointer;align-items:center;gap:6px;padding:2px 0;font-size:11px;display:flex}.cadastre-wms-label:hover{color:#fffffff2}.cadastre-wms-label input[type=checkbox]{accent-color:#00bcd4;cursor:pointer;width:14px;height:14px}.cadastre-dxf{background:#ffffff08;border:1px solid #ffffff0f;border-radius:4px;margin-top:4px;padding:4px 6px}.cadastre-dxf__head{justify-content:space-between;align-items:center;gap:6px;margin-bottom:3px;display:flex}.cadastre-dxf__title{text-transform:uppercase;letter-spacing:.4px;color:#ffffff73;font-size:10px}.cadastre-dxf__actions{flex:none;gap:8px;display:flex}.cadastre-dxf__clear{color:#fff6;cursor:pointer;background:0 0;border:none;padding:0;font-size:10px}.cadastre-dxf__clear:hover{color:#ffffffd9}.cadastre-dxf__list{flex-direction:column;gap:1px;max-height:168px;display:flex;overflow-y:auto}.dxf-layer{color:#ffffffb3;cursor:pointer;align-items:center;gap:6px;padding:2px 0;font-size:11px;display:flex}.dxf-layer:hover{color:#fffffff2}.dxf-layer--empty{opacity:.4;cursor:default}.dxf-layer__cb{accent-color:#00bcd4;cursor:pointer;flex:none;width:14px;height:14px}.dxf-layer__swatch{border-radius:2px;flex:none;width:9px;height:9px;box-shadow:0 0 0 1px #00000059}.dxf-layer__name{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.dxf-layer__count{color:#ffffff59;font-variant-numeric:tabular-nums;flex:none;font-size:10px}.dxf-layer-label{white-space:nowrap;pointer-events:none;text-shadow:0 0 3px #000000e6,0 0 6px #000000b3;font-size:10px;line-height:1}.cadastre-manual{border-top:1px solid #ffffff0f;margin-top:8px;padding-top:6px}.cadastre-manual__summary{color:#ffffff80;cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;padding:4px 0;font-size:11px}.cadastre-manual__summary:hover{color:#fffc}.cadastre-manual__body{flex-direction:column;gap:6px;margin-top:6px;display:flex}.cadastre-manual__row{align-items:center;gap:8px;display:flex}.cadastre-manual__row label{color:#ffffff80;flex:0 0 70px;font-size:11px}.cadastre-input--small{flex:1;padding:5px 8px!important;font-size:12px!important}.cadastre-browse-btn{color:#42a5f5;cursor:pointer;background:#42a5f526;border:1px solid #42a5f54d;border-radius:8px;width:100%;margin-top:6px;padding:7px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s}.cadastre-browse-btn:hover{color:#fff;background:#42a5f540;border-color:#42a5f580}.map-browse-overlay{z-index:400;pointer-events:none;position:fixed;inset:0}.map-browse-crosshair{width:60px;height:60px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-browse-crosshair__h{background:#42a5f5b3;width:100%;height:2px;position:absolute;top:50%;left:0;transform:translateY(-50%);box-shadow:0 0 8px #42a5f580}.map-browse-crosshair__v{background:#42a5f5b3;width:2px;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 0 8px #42a5f580}.map-browse-crosshair__dot{background:#42a5f5e6;border-radius:50%;width:10px;height:10px;animation:2s ease-in-out infinite crosshair-pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 12px #42a5f5cc}@keyframes crosshair-pulse{0%,to{opacity:.9;transform:translate(-50%,-50%)scale(1)}50%{opacity:.5;transform:translate(-50%,-50%)scale(1.4)}}.map-browse-hud{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:none;background:#0a0a1ed9;border:1px solid #42a5f540;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:10px 20px;display:flex;position:absolute;top:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #00000080}.map-browse-coords{color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.3px;font-size:14px;font-weight:700}.map-browse-zoom{color:#ffffff80;font-size:11px;font-weight:600}.map-browse-actions{pointer-events:auto;gap:10px;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.map-browse-place-btn{color:#fff;cursor:pointer;background:#42a5f540;border:1px solid #42a5f580;border-radius:12px;padding:12px 28px;font-family:inherit;font-size:14px;font-weight:700;transition:all .2s;box-shadow:0 4px 20px #42a5f533}.map-browse-place-btn:hover{background:#42a5f566;border-color:#42a5f5;transform:translateY(-1px);box-shadow:0 6px 28px #42a5f559}.map-browse-cancel-btn{color:#fff9;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:12px;padding:12px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s}.map-browse-cancel-btn:hover{color:#fff;background:#ffffff1a}.zone-panel{border-bottom:1px solid #ffffff14;flex-direction:column;gap:6px;margin-bottom:12px;padding-bottom:12px;display:flex}.zone-panel__title{color:#ffffffd9;margin-bottom:2px;font-size:12px;font-weight:600}.zone-panel .cadastre-select{flex:none;width:100%}.zone-fields{flex-direction:column;gap:4px;margin-top:4px;display:flex}.zone-field{background:#ffffff08;border-radius:6px;grid-template-rows:auto auto;grid-template-columns:1fr 64px;align-items:center;gap:0 6px;padding:3px 6px;display:grid}.zone-field__label{color:#ffffffb3;font-size:11px}.zone-field__input{color:#fff;text-align:right;background:#ffffff0f;border:1px solid #ffffff24;border-radius:6px;outline:none;grid-area:1/2/3;width:100%;padding:4px 6px;font-family:inherit;font-size:12px}.zone-field__norm{color:#fff6;grid-column:1;font-size:10px}.zone-field--deviated{background:#ffa7261f}.zone-field--deviated .zone-field__input{color:#ffb74d;border-color:#ffa726b3}.zone-field--deviated .zone-field__label:after{content:" ⚠";color:#ffb74d}.zone-info{flex-direction:column;gap:2px;margin-top:2px;display:flex}.zone-info__row{color:#ffffff80;justify-content:space-between;font-size:10px;display:flex}.zone-info__value{color:#ffffffb3}.zone-krt-note{color:#ffb74d;background:#ffa7261a;border-radius:6px;margin-top:2px;padding:6px 8px;font-size:10px;line-height:1.4}.cadastre-header{align-items:center;gap:8px;display:flex}.cadastre-close-btn{color:#ffffffb3;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;margin-left:auto;font-size:13px;transition:all .2s;display:flex}.cadastre-close-btn:hover{color:#fff;background:#ff525233}.ctx-menu{z-index:3000;-webkit-backdrop-filter:blur(24px)saturate(1.6);color:#ffffffe6;-webkit-user-select:none;user-select:none;background:#0c0e20eb;border:1px solid #ffffff1f;border-radius:12px;min-width:180px;padding:6px;font-size:13px;position:fixed;box-shadow:0 12px 40px #0000008c,inset 0 1px #ffffff0f}.ctx-menu__header{letter-spacing:.5px;text-transform:uppercase;color:#fff6;padding:4px 10px 6px;font-size:10px;font-weight:700}.ctx-menu__item{text-align:left;color:#ffffffe6;cursor:pointer;background:0 0;border:none;border-radius:7px;width:100%;padding:7px 10px;font-size:13px;transition:background .12s;display:block}.ctx-menu__item:hover{background:#42a5f538}.ctx-menu__item--danger:hover{color:#fff;background:#ff525240}.ctx-menu__sep{background:#ffffff14;height:1px;margin:4px 6px}.ctx-menu__tabs{border-bottom:1px solid #ffffff14;gap:2px;margin-bottom:4px;padding-bottom:4px;display:flex}.ctx-menu__tab{color:#ffffff80;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;flex:auto;padding:5px 8px;font-size:11px;font-weight:600}.ctx-menu__tab:hover{color:#ffffffe6;background:#ffffff0f}.ctx-menu__tab--active{color:#fff;background:#42a5f538}.ctx-menu__body{max-height:340px;overflow-y:auto}.ctx-menu__empty{color:#ffffff73;max-width:240px;padding:8px 10px;font-size:11px;line-height:1.4}.ctx-attr{padding:6px 8px;font-size:11px;line-height:1.35}.ctx-attr+.ctx-attr{border-top:1px solid #ffffff14}.ctx-attr__head{color:#fff;align-items:center;gap:5px;margin-bottom:3px;font-weight:600;display:flex}.ctx-attr__dot{border-radius:2px;flex:none;width:8px;height:8px}.ctx-attr__row{gap:8px;max-width:420px;display:flex}.ctx-attr__key{color:#ffffff6b;flex:none;min-width:104px}.ctx-attr__val{word-break:break-word;-webkit-user-select:text;user-select:text;flex:auto}.zone-cat{border-top:1px solid #ffffff0f;margin-top:6px;padding-top:6px}.zone-cat__title,.zone-cat__summary{color:#ffffffbf;margin-bottom:3px;font-size:11px;font-weight:600}.zone-cat__summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:revert}.zone-cat__summary:hover{color:#fff}.zone-cat--collapsible>.zone-info__row{padding-left:4px}.variant-tab__valid{color:#66bb6a;margin-left:4px;font-weight:700}.variant-tab--invalid .variant-tab__valid{color:#ffb74d}.variant-tab--invalid{opacity:.85}#variants-bar{z-index:200;-webkit-backdrop-filter:blur(24px)saturate(1.6);background:#0a0a1eb8;border:1px solid #ffffff1a;border-radius:14px;align-items:stretch;gap:6px;padding:8px 12px;animation:.4s ease-out fadeSlideIn;display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #00000073,inset 0 1px #ffffff0f}#variants-bar .vb-title{color:#ffffff8c;text-transform:uppercase;letter-spacing:.08em;-webkit-user-select:none;user-select:none;align-self:center;margin-right:4px;font-size:11px}#variants-bar .vb-item{color:#ffffff8c;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0a;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:1px;padding:5px 10px 4px;font-family:inherit;font-size:11px;line-height:1.25;transition:all .2s;display:flex}#variants-bar .vb-item b{color:#fffc;font-size:12px}#variants-bar .vb-item:hover{color:#ffffffd9;background:#ffffff14}#variants-bar .vb-item.active{color:#fff;background:#42a5f52e;border-color:#42a5f573}#gen-progress{z-index:210;-webkit-backdrop-filter:blur(16px);color:#ffffffd9;pointer-events:none;-webkit-user-select:none;user-select:none;background:#0a0a1ec7;border:1px solid #42a5f559;border-radius:999px;padding:6px 14px;font-size:12px;position:fixed;top:64px;left:50%;transform:translate(-50%)}#dxf-dialog-overlay{z-index:500;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#dxf-dialog-overlay.visible{display:flex}.dxf-dialog{width:420px;max-height:90vh;overflow-y:auto}.dxf-dialog .gen-dialog__field{margin-bottom:18px}.dxf-dialog__grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.dxf-dialog select,.dxf-dialog input[type=text]{color:#fff;background:#ffffff0f;border:1px solid #ffffff24;border-radius:8px;width:100%;margin-bottom:8px;padding:8px 10px;font-family:inherit;font-size:13px}.dxf-dialog__grid select,.dxf-dialog__grid input[type=text]{margin-bottom:0}.dxf-dialog select:focus,.dxf-dialog input[type=text]:focus{border-color:#78a0ffb3;outline:none}.dxf-dialog select option{color:#fff;background:#101028}.dxf-dialog input[type=text]::placeholder{color:#ffffff59}.dxf-dialog__checks{grid-template-columns:1fr 1fr;gap:6px 12px;display:grid}.dxf-dialog__checks label{color:#fffc;text-transform:none;letter-spacing:0;cursor:pointer;align-items:center;gap:7px;font-size:12.5px;font-weight:400;display:flex}.dxf-dialog__checks input[type=checkbox]{accent-color:#6a8cff;cursor:pointer}
