*{box-sizing:border-box}a{color:#8fb8ffd9;text-decoration:none}a:hover{color:#8fb8ff;text-decoration:underline}*{scrollbar-width:thin;scrollbar-color:#8fb8ff26 transparent}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#8fb8ff26;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#8fb8ff47}::-webkit-scrollbar-corner{background:0 0}input[type=checkbox]{appearance:none;cursor:pointer;vertical-align:middle;background:#0a0e16b3;border:1px solid #8fb8ff33;border-radius:3px;flex-shrink:0;width:14px;height:14px;transition:border-color .15s,background .15s,box-shadow .15s;position:relative}input[type=checkbox]:hover{background:#141e32cc;border-color:#8fb8ff66}input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 2px #3464a873}input[type=checkbox]:checked{background:#3464a8d9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpolyline points='2,6.5 4.5,9 10,3' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/10px 10px no-repeat;border-color:#3464a8e6}input[type=checkbox]:checked:hover{background-color:#4a80c0e6;border-color:#4a80c0}input[type=checkbox]:disabled{opacity:.35;cursor:not-allowed}input[type=color]{appearance:none;cursor:pointer;background:0 0;border:1px solid #8fb8ff33;border-radius:4px;width:40px;height:24px;padding:0;overflow:hidden}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:3px}input[type=color]::-moz-color-swatch{border:none;border-radius:3px}input[type=range]{appearance:none;cursor:pointer;background:#8fb8ff33;border-radius:2px;outline:none;height:4px;margin:0;padding:0}input[type=range]::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#00e5ff;border-radius:50%;width:14px;height:14px}input[type=range]::-moz-range-thumb{cursor:pointer;background:#00e5ff;border:none;border-radius:50%;width:14px;height:14px}html,body,#root{color:#e6e9ef;background-color:#080c14;background-image:radial-gradient(80% 60% at 20% 0,#1e355359 0%,#0000 60%),radial-gradient(60% 80% at 80% 100%,#121e3c4d 0%,#0000 55%),linear-gradient(160deg,#0a0d16 0%,#080c14 50%,#06090f 100%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;height:100%;margin:0;padding:0;font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app{height:100%;position:relative}#logo{vertical-align:middle;opacity:.8;height:46px;margin:-10px}.toolbar{-webkit-backdrop-filter:blur(16px)saturate(1.8)brightness(.4);backdrop-filter:blur(16px)saturate(1.8)brightness(.4);-webkit-user-select:none;user-select:none;z-index:9;background:#1e2a3e85;border:1px solid #8fb8ff2e;border-radius:12px;flex-direction:column;display:flex;position:absolute;top:12px;left:12px;right:12px;overflow:visible;box-shadow:0 4px 24px #00000059,inset 0 1px #ffffff14}.toolbar-row{align-items:center;gap:8px;padding:8px 14px;display:flex}.toolbar-row-header{min-height:44px}.toolbar-row-tools{border-top:1px solid #8fb8ff14;gap:6px;padding:4px 14px}.toolbar h1{letter-spacing:.08em;text-transform:uppercase;color:#8fb8ff;white-space:nowrap;text-shadow:0 0 20px #8fb8ff66;margin:0 8px 0 0;padding:6px 12px;font-size:11px;font-weight:600;transition:text-shadow .2s}.toolbar h1:hover{text-shadow:0 0 12px #8fb8ffe6,0 0 28px #8fb8ff80}.toolbar-sep{background:#8fb8ff1a;width:1px;height:22px;margin:0 4px}.toolbar button,.toolbar select,.toolbar label.file-button{color:#e6e9ef;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1f2a3c99;border:1px solid #8fb8ff1f;border-radius:5px;align-items:center;gap:5px;padding:6px 12px;font-family:inherit;font-size:13px;line-height:1;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.toolbar select option,.side-panel select option,.cl-form select option,.area-move-row select option{color:#e6e9ef;background:#0e1520}.toolbar button:hover:not(:disabled),.toolbar label.file-button:hover{background:#3464a84d;border-color:#8fb8ff40;box-shadow:0 0 12px #8fb8ff14}.toolbar button:disabled{opacity:.35;cursor:not-allowed}.toolbar .tool-group{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#06091080;border:1px solid #8fb8ff14;border-radius:6px;gap:2px;padding:2px;display:flex}.toolbar .tool-btn{background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:6px;padding:5px 10px;transition:background .15s,border-color .15s;display:inline-flex}.toolbar .tool-btn.active{color:#cfe1ff;background:#1e3553b3;border-color:#3464a899;box-shadow:0 0 12px #3464a833,inset 0 1px #ffffff0d}.toolbar .tool-key{color:#6a7588;background:#0a0e16b3;border:1px solid #8fb8ff1a;border-radius:3px;justify-content:center;align-self:center;align-items:center;padding:2px 5px;font-family:ui-monospace,Consolas,monospace;font-size:10px;line-height:1;display:inline-flex}.toolbar .tool-btn.active .tool-key{color:#8fb8ff;background:#060910cc;border-color:#3464a880}.dropdown-select{display:inline-flex;position:relative}.dropdown-trigger{cursor:pointer;color:#e6e9ef;white-space:nowrap;background:#0a0e168c;border:1px solid #8fb8ff24;border-radius:7px;align-items:center;gap:6px;height:30px;padding:0 10px 0 0;font-family:inherit;font-size:13px;transition:border-color .15s,background .15s;display:inline-flex;overflow:hidden}.dropdown-trigger:hover,.dropdown-trigger.open{background:#141c2eb3;border-color:#8fb8ff47}.dropdown-trigger-label{text-transform:uppercase;letter-spacing:.06em;color:#6a7588;border-right:1px solid #8fb8ff14;flex-shrink:0;align-items:center;height:100%;padding:0 8px;font-size:10px;line-height:1;display:flex}.dropdown-trigger-value{text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;letter-spacing:.06em;text-align:left;flex:1;min-width:0;padding-left:8px;font-size:10px;overflow:hidden}.dropdown-arrow{color:#6a7588;flex-shrink:0;font-size:9px}.dropdown-backdrop{z-index:999;position:fixed;inset:0}.dropdown-list{z-index:1000;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0c121ef5;border:1px solid #8fb8ff24;border-radius:10px;flex-direction:column;max-height:320px;display:flex;overflow:hidden;box-shadow:0 12px 40px #000000b3,inset 0 1px #ffffff0d}.dropdown-search-wrap{border-bottom:1px solid #8fb8ff12;flex-shrink:0;padding:8px 8px 6px}.dropdown-search{color:#e6e9ef;box-sizing:border-box;background:#080c14b3;border:1px solid #8fb8ff1f;border-radius:6px;outline:none;width:100%;padding:5px 9px;font-family:inherit;font-size:12px;transition:border-color .15s}.dropdown-search:focus{border-color:#3464a899}.dropdown-search::placeholder{color:#4a5568}.dropdown-options{flex-direction:column;gap:2px;padding:5px;display:flex;overflow-y:auto}.dropdown-option{text-align:left;color:#c8d0dc;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;width:100%;padding:6px 10px;font-family:inherit;font-size:13px;transition:background .1s,color .1s,border-color .1s;display:block}.dropdown-option:hover{color:#e6e9ef;background:#3464a833;border-color:#8fb8ff1a}.dropdown-option.selected{color:#cfe1ff;background:#1e3553b3;border-color:#3464a880}.dropdown-option.highlighted{color:#e6e9ef;background:#3464a840;border-color:#8fb8ff26}.dropdown-option.highlighted.selected{color:#cfe1ff;background:#3464a873;border-color:#3464a8b3}.dropdown-empty{color:#4a5568;text-align:center;padding:8px 10px;font-size:12px}.toolbar-select-label{text-transform:uppercase;letter-spacing:.06em;color:#6a7588;white-space:nowrap;border-right:1px solid #8fb8ff14;flex-shrink:0;padding:0 8px;font-size:10px;line-height:30px}.toolbar-row-tools button,.toolbar-row-tools label.file-button{padding:3px 9px;font-size:12px}.toolbar-row-tools .tool-btn{padding:3px 8px;font-size:12px}.toolbar-row-tools .tool-key{padding:2px 4px;font-size:9px}.toolbar-snap-btn{color:#6a7588;cursor:pointer;background:#0a0e1680;font-size:12px;border:1px solid #8fb8ff1f!important;border-radius:6px!important;padding:3px 10px!important;transition:color .15s,background .15s,border-color .15s!important}.toolbar-snap-btn:hover{color:#cfd6e0}.toolbar-pending-hint{color:#8fb8ff;opacity:.85;white-space:nowrap;pointer-events:none;margin-left:8px;font-size:11px}.toolbar-snap-btn.active{color:#cfe1ff!important;background:#1e3553b3!important;border-color:#3464a899!important;box-shadow:0 0 12px #3464a833,inset 0 1px #ffffff0d!important}.toolbar-goto{background:#0a0e168c;border:1px solid #8fb8ff24;border-radius:7px;align-items:center;height:30px;transition:border-color .15s,background .15s;display:inline-flex;overflow:hidden}.toolbar-goto:focus-within{background:#141c2eb3;border-color:#8fb8ff47}.toolbar-goto-label{text-transform:uppercase;letter-spacing:.06em;color:#6a7588;white-space:nowrap;border-right:1px solid #8fb8ff14;flex-shrink:0;align-items:center;height:100%;padding:0 8px;font-size:10px;display:flex}.toolbar-goto-input{text-transform:uppercase;letter-spacing:.06em;color:#e6e9ef;appearance:textfield;background:0 0;border:none;outline:none;width:56px;height:100%;padding:0 8px;font-family:inherit;font-size:10px}.toolbar-goto-input::-webkit-inner-spin-button{display:none}.toolbar-goto-input::-webkit-outer-spin-button{display:none}.toolbar-goto-input::placeholder{color:#4a5568}.toolbar-goto-btn{color:#6a7588;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-left:1px solid #8fb8ff14;border-radius:0;flex-shrink:0;height:100%;padding:0 10px;font-family:inherit;font-size:11px;transition:color .15s,background .15s}.toolbar-goto-btn:hover:not(:disabled){color:#cfe1ff;background:#3464a833}.toolbar-goto-btn:disabled{opacity:.35;cursor:not-allowed}.toolbar .status{color:#8f97a6;flex-direction:column;align-items:flex-end;gap:1px;min-width:0;margin-left:auto;padding-left:12px;font-size:12px;display:flex;overflow:hidden}.toolbar .status-file{color:#6a7588;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:text;user-select:text;max-width:280px;font-size:11px;overflow:hidden}.toolbar .status-action{white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:text;user-select:text;max-width:280px;overflow:hidden}.map-viewport{background:#000;position:absolute;inset:0}.map-container{-webkit-user-select:none;user-select:none;touch-action:none;outline:none;position:absolute;inset:0}.empty-state{text-align:center;color:#55606f;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;inset:0}.empty-state-logo{opacity:.375;width:150px;margin-top:24px}.sessions-panel-overlay{box-sizing:border-box;pointer-events:none;justify-content:center;align-items:flex-start;padding:12px 16px 16px;display:flex;position:absolute;inset:76px 0 0;overflow:hidden}.sessions-panel{pointer-events:all;background:#0e1423f5;border:1px solid #3464a866;border-radius:10px;flex-direction:column;gap:14px;width:100%;min-width:360px;max-width:520px;max-height:100%;padding:20px;display:flex;overflow:hidden;box-shadow:0 8px 32px #0009}.sessions-panel-header{color:#cfe1ff;letter-spacing:.03em;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex}.sessions-delete-all{color:#c97a7a;cursor:pointer;background:#a834341a;border:1px solid #a8343466;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:400;transition:background .15s}.sessions-delete-all:hover{background:#a8343440}.sessions-list{flex-direction:column;flex:auto;gap:6px;min-height:0;display:flex;overflow-y:auto}.session-item{background:#ffffff0a;border:1px solid #ffffff12;border-radius:6px;align-items:center;gap:10px;padding:9px 12px;display:flex}.session-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.session-filename{color:#cfe1ff;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.session-meta{color:#6a8ab0;font-size:11px}.session-actions{flex-shrink:0;gap:6px;display:flex}.session-actions button{color:#8ab4d8;cursor:pointer;background:#3464a826;border:1px solid #3464a880;border-radius:4px;padding:3px 10px;font-size:11px;transition:background .15s}.session-actions button:hover{background:#3464a84d}.session-actions button.session-delete{color:#c97a7a;background:#a834341a;border-color:#a8343466}.session-actions button.session-delete:hover{background:#a8343440}.sessions-empty{color:#456;text-align:center;padding:8px 0;font-size:12px}.sessions-autodelete{border-top:1px solid #ffffff0f;justify-content:flex-end;align-items:center;gap:8px;padding-top:10px;display:flex}.sessions-autodelete-label{color:#6a8ab0;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:11px;display:flex}.sessions-autodelete-days{color:#8ab4d8;text-align:center;background:#ffffff0d;border:1px solid #3464a859;border-radius:4px;width:48px;padding:2px 6px;font-size:11px}.sessions-autodelete-days:disabled{opacity:.35}.sessions-autodelete-unit{color:#6a8ab0;font-size:11px}.sessions-panel-hint{color:#456;text-align:center;font-size:11px}.side-panel{z-index:10;background:0 0;border:1px solid #8fb8ff2e;border-radius:12px;flex-direction:column;width:440px;padding:0;font-size:13px;display:flex;position:absolute;top:104px;bottom:12px;right:12px;overflow:hidden;box-shadow:0 4px 24px #0006,inset 0 1px #ffffff14}.side-panel:before{content:"";-webkit-backdrop-filter:blur(16px)saturate(1.8)brightness(.4);backdrop-filter:blur(16px)saturate(1.8)brightness(.4);border-radius:inherit;z-index:-1;pointer-events:none;background:#1c283c85;position:absolute;inset:0}.side-panel--collapsed{width:48px;overflow:visible;box-shadow:0 4px 24px #0006}.side-panel-resize-handle{cursor:ew-resize;z-index:30;touch-action:none;background:0 0;width:6px;margin-left:-3px;transition:background .15s;position:absolute;top:0;bottom:0;left:0}.side-panel-resize-handle:hover,.side-panel-resize-handle:active{background:#8fb8ff40}.side-panel-collapse-btn{color:#6a7588;cursor:pointer;background:0 0;border:none;outline:none;flex-shrink:0;justify-content:center;align-items:center;width:100%;padding:10px 0 6px;font-size:11px;transition:color .15s;display:flex}.side-panel-collapse-btn:hover{color:#8fb8ff}.side-panel-tabs{background:#080c1480;border-bottom:1px solid #8fb8ff14;border-radius:0;flex-wrap:wrap;flex-shrink:0;padding-right:52px;display:flex;position:relative}.side-panel--expanded .side-panel-tabs{padding-right:26px}.side-panel-tabs .side-panel-tab{color:#6a7588;cursor:pointer;text-transform:uppercase;letter-spacing:.04em;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:none;align-items:center;margin-bottom:-1px;padding:8px 12px;font-size:11px;transition:color .15s,border-color .15s;display:inline-flex}.side-panel-tab:hover{color:#cfd6e0}.side-panel-tab.active{color:#8fb8ff;text-shadow:0 0 16px #8fb8ff80;border-bottom-color:#8fb8ff}.tab-badge{color:#8fb8ff;background:#8fb8ff26;border-radius:8px;margin-left:4px;padding:0 5px;font-size:10px;font-weight:600;line-height:16px}.side-panel-tab.active .tab-badge{background:#8fb8ff40}.tab-badge.tab-badge--warn{color:#e6c870;background:#dca01e2e}.side-panel-tab.active .tab-badge.tab-badge--warn{background:#dca01e4d}.side-panel-tabs .side-panel-tab--collapse{color:#4a5568;letter-spacing:0;border-bottom:none;border-left:1px solid #8fb8ff12;justify-content:center;width:26px;margin-bottom:0;padding:0;font-size:10px;position:absolute;top:0;bottom:0;right:0}.side-panel-tabs .side-panel-tab--expand{color:#4a5568;letter-spacing:0;border-bottom:none;border-left:1px solid #8fb8ff12;justify-content:center;width:26px;margin-bottom:0;padding:0;font-size:13px;position:absolute;top:0;bottom:0;right:26px}.side-panel-tabs .side-panel-tab--expand:hover{color:#8fb8ff}.side-panel--expanded .side-panel-tabs .side-panel-tab--expand{border-left:1px solid #8fb8ff12;right:0}.modal-overlay.side-panel-modal-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;z-index:500;background:0 0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.side-panel.side-panel--expanded{z-index:501;width:min(1100px,92vw);height:min(800px,88vh);position:relative;top:auto;bottom:auto;right:auto}.side-panel-tabs--vert{background:0 0;border-bottom:none;flex-direction:column;width:100%;padding:4px 0;display:flex}.side-panel-tabs--vert .side-panel-tab{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.06em;text-align:center;border-bottom:none;border-left:2px solid #0000;border-right:none;flex:none;width:100%;margin-bottom:0;padding:14px 0;font-size:10px;transform:rotate(180deg)}.side-panel-tabs--vert .side-panel-tab.active{color:#8fb8ff;text-shadow:0 0 16px #8fb8ff80;border-bottom-color:#0000;border-left-color:#8fb8ff}.panel-content{flex:1;min-height:0;padding:14px;overflow-y:auto}.side-panel.empty{color:#6a7588}.side-panel h3{color:#8fb8ff;text-transform:uppercase;letter-spacing:.05em;text-shadow:0 0 12px #8fb8ff4d;margin:0 0 10px;font-size:12px;font-weight:600}.room-heading{z-index:2;background:#121c2efa;border-bottom:1px solid #8fb8ff1a;justify-content:space-between;align-items:center;margin:0 -14px 10px;padding:8px 14px;display:flex;position:sticky;top:0}.room-heading-right{align-items:center;gap:4px;display:flex}.room-coords{color:#6a7588;text-transform:none;letter-spacing:0;text-shadow:none;font-size:11px;font-weight:400}.room-center-btn{color:#6a7588;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;padding:2px 3px;line-height:1;transition:color .1s,border-color .1s,background .1s;display:flex}.room-center-btn:hover{color:#b8c8e8;background:#1e2535;border-color:#3a4560}.env-symbol-row{gap:8px;display:flex}.env-symbol-row .field,.env-field{flex:1;min-width:0}.symbol-row{align-items:center;gap:4px;display:flex}.symbol-row input[type=text],.symbol-row input:not([type]){flex:1;min-width:0}.symbol-color-input{cursor:pointer;background:0 0;border:1px solid #2a3550;border-radius:3px;flex-shrink:0;width:28px;height:24px;padding:1px 2px}.symbol-color-clear{color:#7a8aaa;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:14px;line-height:1}.symbol-color-clear:hover{color:#e06060}.side-panel h4{color:#8f97a6;text-transform:uppercase;letter-spacing:.05em;margin:14px 0 6px;font-size:11px;font-weight:600}.side-panel p{color:#8f97a6;margin:6px 0}.side-panel p.hint{font-size:12px}.side-panel .hint-tool{color:#cfd6e0;background:#06091099;border:1px solid #8fb8ff12;border-radius:5px;margin-top:10px;padding:8px 10px;font-size:11px}.side-panel .field{flex-direction:column;gap:4px;margin:8px 0;display:flex}.side-panel .field .label{color:#8f97a6;text-transform:uppercase;letter-spacing:.05em;font-size:11px}.side-panel .field input:not([type=checkbox]),.side-panel .field textarea{color:#e6e9ef;background:#06091099;border:1px solid #8fb8ff1a;border-radius:4px;padding:5px 8px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.side-panel .field input:not([type=checkbox]):focus,.side-panel .field textarea:focus{border-color:#3464a8b3;outline:none;box-shadow:0 0 0 2px #3464a826}.side-panel .field-row{align-items:flex-end;gap:8px;margin:8px 0 12px;display:flex}.side-panel .field-row>.field{margin:0}.side-panel .field-row>button{cursor:pointer;white-space:nowrap;border:1px solid #444;border-radius:3px;flex-shrink:0;padding:5px 8px;font-family:inherit;font-size:12px}.side-panel .field.checkbox-field{cursor:pointer;flex-direction:row;align-items:center;gap:8px;margin:7px 0}.side-panel .field.checkbox-field input[type=checkbox]{flex-shrink:0;margin:0}.side-panel .field.checkbox-field span{color:#e6e9ef;font-size:13px;line-height:1}.side-panel .readonly{color:#cfd6e0;padding:5px 0;font-family:ui-monospace,Consolas,monospace;font-size:12px}.exit-list{flex-direction:column;gap:3px;display:flex}.exit-row{background:#06091080;border:1px solid #8fb8ff0d;border-radius:4px;grid-template-columns:90px 20px 1fr;align-items:center;gap:6px;padding:4px 6px;font-family:ui-monospace,Consolas,monospace;font-size:12px;display:grid}.exit-row .dir{color:#8fb8ff}.exit-row .arrow{color:#55606f}.exit-row .exit-target{color:#e6e9ef;cursor:pointer;text-align:left;background:0 0;border:1px solid #8fb8ff1a;border-radius:3px;padding:2px 6px;font-family:inherit;font-size:12px;transition:background .15s,border-color .15s}.exit-row .exit-target:hover{background:#1f2a3c99;border-color:#8fb8ff33}.exit-row.empty{color:#55606f;text-align:center;background:0 0;border-color:#0000;grid-template-columns:1fr}.exit-row.special{grid-template-columns:90px 20px 1fr 22px}.exit-row.with-line{grid-template-columns:90px 20px 1fr 26px}.exit-row.special.with-line{grid-template-columns:90px 20px 1fr 26px 22px}.exit-line-btn{color:#5a7090;cursor:pointer;background:#05080fb3;border:1px solid #8fb8ff2e;border-radius:3px;justify-content:flex-start;align-items:center;gap:6px;height:22px;padding:0 6px;font-size:10px;line-height:1;transition:color .15s,border-color .15s,background .15s;display:flex}.exit-line-label{letter-spacing:.03em;font-family:ui-monospace,Consolas,monospace;font-size:10px;font-weight:600}.exit-line-btn:hover{color:#8fb8ff;border-color:#3464a899}.exit-line-btn.no-line{color:#8f97a6;background:0 0;border-color:#8fb8ff33}.exit-line-btn.no-line:hover{color:#8fb8ff;border-color:#3464a899}.exit-line-btn .cl-swatch{border-radius:2px;width:12px;height:10px}.exit-line-btn .cl-placeholder{opacity:.5;justify-content:center;align-items:center;width:12px;font-size:12px;line-height:1;display:inline-flex}.exit-line-icon{font-family:ui-monospace,Consolas,monospace;font-size:12px;font-weight:700}.cl-form-inline{margin:2px 0 6px}.exit-remove{color:#55606f;cursor:pointer;background:0 0;border:none;border-radius:2px;padding:0 2px;font-size:11px;line-height:1;transition:color .15s,background .15s}.exit-remove:hover{color:#ff7f7f;background:#200a0ab3}.special-exits-list{flex-direction:column;gap:3px;display:flex}.special-exits-list .compass-cell{justify-content:flex-start;gap:5px;height:auto}.special-exits-list .cc-label{white-space:nowrap;max-width:120px;overflow:hidden}.special-exit-add{align-items:center;gap:4px;margin-top:6px;display:flex}.special-exit-add input{color:#e6e9ef;box-sizing:border-box;background:#06091099;border:1px solid #8fb8ff1a;border-radius:3px;flex:1;height:24px;padding:0 6px;font-family:inherit;font-size:12px}.special-exit-add button:not(.cc-pick-btn){color:#e6e9ef;cursor:pointer;white-space:nowrap;background:#1f2a3c99;border:1px solid #8fb8ff1f;border-radius:3px;padding:4px 8px;font-size:12px;transition:background .15s,border-color .15s}.special-exit-add button:not(.cc-pick-btn):disabled{opacity:.35;cursor:not-allowed}.special-exit-add .cc-exit-add{flex-shrink:0;width:auto}.special-exit-add .cc-exit-input{flex:none;width:60px}.userdata-list{grid-template-columns:1fr 1fr 22px;align-items:center;gap:3px 4px;display:grid}.userdata-row{display:contents}.ud-key{color:#8fb8ff;text-overflow:ellipsis;white-space:nowrap;padding:2px 5px;font-size:12px;overflow:hidden}.ud-value{color:#e6e9ef;background:#06091099;border:1px solid #8fb8ff1a;border-radius:4px;width:100%;min-width:0;padding:2px 5px;font-size:12px}.ud-value:focus{border-color:#8fb8ff59;outline:none}.ud-delete{appearance:none;color:#55606f;cursor:pointer;box-sizing:border-box;background:0 0;border:none;border-radius:3px;justify-content:center;align-self:center;align-items:center;width:22px;min-width:0;height:22px;margin:0;padding:0 4px 1px;font-family:inherit;font-size:11px;line-height:1;display:flex}.ud-delete:hover{color:#e6e9ef;background:#1f2a3c99}.userdata-empty{color:#55606f;text-align:center;grid-column:1/-1;padding:4px 0;font-size:12px}.userdata-add{display:contents}.ud-new-key,.ud-new-val{color:#e6e9ef;background:#06091099;border:1px solid #8fb8ff1a;border-radius:4px;width:100%;min-width:0;padding:2px 5px;font-size:12px}.ud-new-key:focus,.ud-new-val:focus{border-color:#8fb8ff59;outline:none}.ud-add{appearance:none;color:#55606f;cursor:pointer;box-sizing:border-box;background:0 0;border:none;border-radius:3px;justify-content:center;align-self:center;align-items:center;width:22px;min-width:0;height:22px;margin:0;padding:0 4px 1px;font-family:inherit;font-size:14px;line-height:1;display:flex}.ud-add:hover{color:#e6e9ef;background:#1f2a3c99}.ud-add:disabled{opacity:.35;cursor:not-allowed}.compass-rose{grid-template-columns:repeat(3,1fr);gap:3px;display:grid}.compass-extra{grid-template-columns:repeat(3,1fr);gap:3px;margin-top:3px;display:grid}.compass-cell{--cc-row-h:26px;box-sizing:border-box;background:#080c148c;border:1px solid #8fb8ff12;border-radius:5px;flex-direction:column;justify-content:space-between;min-height:96px;padding:4px 5px;transition:border-color .15s,background .15s;display:flex}.compass-extra .compass-cell{min-height:96px}.compass-cell.compass-center{border-style:dashed;border-color:#8fb8ff0f;justify-content:center;align-items:center;gap:4px}.compass-cell .cc-room-lock-btn{cursor:pointer;color:#4a6070;box-sizing:border-box;background:#05080fb3;border:1px solid #8fb8ff14;border-radius:3px;justify-content:center;align-items:center;width:28px;height:22px;padding:0;transition:border-color .15s,color .15s;display:inline-flex}.compass-cell .cc-room-lock-btn:hover{color:#8fb8ff;border-color:#3464a899}.compass-cell .cc-room-lock-btn.lock-active{color:#f07070;border-color:#5c1c1ccc}.cc-room-weight{color:#55606f;text-align:center;-moz-appearance:textfield;background:#05080fb3;border:1px solid #8fb8ff12;border-radius:2px;width:36px;height:20px;padding:0 3px;font-family:ui-monospace,Consolas,monospace;font-size:10px}.cc-room-weight::-webkit-outer-spin-button{-webkit-appearance:none}.cc-room-weight::-webkit-inner-spin-button{-webkit-appearance:none}.cc-room-weight:focus{color:#e6e9ef;border-color:#3464a8b3;outline:none}.cc-line2,.cc-footer,.cc-footer-empty{height:var(--cc-row-h);box-sizing:border-box;flex-shrink:0;align-items:center;gap:3px;display:flex}.cc-header{min-height:var(--cc-row-h);box-sizing:border-box;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:3px;display:flex}.compass-cell .cc-label,.compass-cell .cc-target,.compass-cell .cc-stub-label,.compass-cell .cc-exit-input,.compass-cell .cc-door-btn,.compass-cell .cc-icon-btn,.compass-cell .cc-pick-btn,.compass-cell .exit-line-btn,.compass-cell .cc-weight,.compass-cell .cc-weight-wrap{height:var(--cc-row-h);box-sizing:border-box}.cc-header .cc-target,.cc-header .cc-stub-label,.cc-header .cc-exit-input{flex:1;min-width:60px}.cc-header .cc-target,.cc-header .cc-stub-label{border-radius:3px;align-items:center;padding:0 3px 0 6px;font-size:11px;display:flex}.cc-header .cc-target{border:1px solid #8fb8ff33}.cc-header .cc-stub-label{border:1px solid #c8a03059}.cc-line2 .exit-line-btn{flex:1}.cc-footer{gap:6px}.se-line-btn{flex:1}.se-line-btn~.cc-weight-wrap{flex:none}.se-line-btn~.cc-weight-wrap .cc-weight{flex:none;width:36px}.cc-dim{opacity:.22;pointer-events:none}.cc-weight-wrap{color:#3a4a5a;flex:1;align-items:center;gap:2px;min-width:0;display:flex}.cc-label{color:#3c485ae6;letter-spacing:.04em;background:#0f1623cc;border:1px solid #8fb8ff1a;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;min-width:30px;padding:0 6px;font-family:ui-monospace,Consolas,monospace;font-size:13px;font-weight:700;display:flex}.compass-cell.has-exit .cc-label{color:#8fb8ff;background:#0f1628e6;border-color:#8fb8ff33}.compass-cell.is-stub{border-color:#c8a0302e}.compass-cell.is-stub .cc-label{color:#c8a030;background:#141008e6;border-color:#c8a03040}.cc-target{color:#8f97a6;cursor:pointer;text-align:center;background:0 0;border:none;width:100%;padding:1px 0;font-family:ui-monospace,Consolas,monospace;font-size:10px;transition:color .15s;display:block}.cc-target:hover{color:#8fb8ff}.cc-stub-label{color:#b08828;letter-spacing:.03em;font-family:ui-monospace,Consolas,monospace;font-size:10px}.compass-cell .cc-door-btn,.compass-cell .cc-icon-btn{cursor:pointer;background:#05080fb3;border:1px solid #8fb8ff12;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:28px;padding:0;font-family:ui-monospace,Consolas,monospace;font-size:12px;font-weight:700;transition:color .15s,border-color .15s;display:flex}.compass-cell .cc-door-btn{color:#5a7090}.compass-cell .cc-door-btn:hover{color:#8fb8ff;border-color:#3464a899}.compass-cell .cc-door-btn.door-open{color:#4caf50;border-color:#2a5c2ab3}.compass-cell .cc-door-btn.door-closed{color:#e6c84a;border-color:#5a4e1eb3}.compass-cell .cc-door-btn.door-locked{color:#f07070;border-color:#5c1c1cb3}.compass-cell .cc-icon-btn{color:#5a7090}.compass-cell .cc-icon-btn:hover{color:#8fb8ff;border-color:#3464a899}.compass-cell .cc-icon-btn.lock-active{color:#f07070;border-color:#5c1c1cb3}.compass-cell .cc-icon-btn.stub-active{color:#e6c84a;border-color:#5a4e1eb3}.compass-cell .cc-icon-btn.cc-delete-btn{color:#7a4040}.compass-cell .cc-icon-btn.cc-delete-btn:hover{color:#f07070;border-color:#5c1c1cb3}.compass-cell .cc-icon-btn.cc-stub-btn{width:auto;padding:0 7px;font-size:10px}.cc-header .cc-delete-btn{border-color:#8fb8ff2e;font-size:14px;line-height:1}.cc-weight{color:#55606f;-moz-appearance:textfield;background:#05080fb3;border:1px solid #8fb8ff12;border-radius:2px;flex:1;width:0;min-width:0;padding:0 3px;font-family:ui-monospace,Consolas,monospace;font-size:11px}.cc-weight::-webkit-outer-spin-button{-webkit-appearance:none}.cc-weight::-webkit-inner-spin-button{-webkit-appearance:none}.cc-weight:focus{color:#e6e9ef;border-color:#3464a8b3;outline:none}.compass-cell.active{background:#0e1825b3;border-color:#3464a899;box-shadow:inset 0 0 0 1px #3464a826}.compass-cell.picking-exit{background:#0e1208b3;border-color:#e6c84ab3;animation:1s ease-in-out infinite alternate pick-pulse}@keyframes url-progress-indeterminate{0%{width:40%;transform:translate(-100%)}50%{width:60%;transform:translate(150%)}to{width:40%;transform:translate(250%)}}@keyframes pick-pulse{0%{border-color:#e6c84ab3;box-shadow:0 0 8px #e6c84a1a}to{box-shadow:none;border-color:#7a642066}}.cc-exit-add{align-items:center;gap:2px;width:100%;display:flex}.cc-exit-input{color:#55606f;-moz-appearance:textfield;background:#05080fb3;border:1px solid #8fb8ff2e;border-radius:2px;flex:1;width:0;min-width:0;padding:0 3px;font-family:ui-monospace,Consolas,monospace;font-size:9px}.cc-exit-input::-webkit-outer-spin-button{-webkit-appearance:none}.cc-exit-input::-webkit-inner-spin-button{-webkit-appearance:none}.cc-exit-input:focus{color:#e6e9ef;border-color:#3464a8b3;outline:none}.cc-exit-input::placeholder{color:#2a3540cc}.compass-cell .cc-pick-btn,.special-exit-add .cc-pick-btn{cursor:pointer;color:#4a6070;background:#05080fb3;border:1px solid #8fb8ff2e;border-radius:3px;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;width:26px;padding:0;transition:color .15s,border-color .15s;display:flex}.compass-cell .cc-pick-btn:hover,.special-exit-add .cc-pick-btn:hover{color:#8fb8ff;border-color:#3464a899}.compass-cell .cc-pick-btn.picking,.special-exit-add .cc-pick-btn.picking{color:#e6c84a;border-color:#7a6420b3}.env-field-row{align-items:center;gap:8px;display:flex;position:relative}.env-pick-btn{cursor:pointer;border:2px solid #8fb8ff26;border-radius:4px;flex-shrink:0;width:32px;height:24px;padding:0;transition:border-color .15s}.env-pick-btn:hover{border-color:#3464a899}.env-id-label{color:#8f97a6;font-family:ui-monospace,Consolas,monospace;font-size:12px}.multi-room-list{background:#0609104d;border:1px solid #8fb8ff14;border-radius:4px;flex-wrap:wrap;gap:4px;max-height:140px;margin-bottom:12px;padding:4px;display:flex;overflow-y:auto}.multi-room-list .exit-target{color:#e6e9ef;cursor:pointer;background:0 0;border:1px solid #8fb8ff1a;border-radius:3px;padding:2px 6px;font-family:inherit;font-size:11px}.multi-room-list .exit-target:hover{background:#1f2a3c99;border-color:#8fb8ff33}.multi-room-fields{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.multi-field-row{align-items:center;gap:8px;display:flex}.multi-field-check{cursor:pointer;flex-shrink:0;width:14px;height:14px}.multi-field-label{color:#8f97a6;flex-shrink:0;align-items:center;gap:3px;width:80px;font-size:11px;display:flex}.multi-field-mixed{color:#6a7280;font-size:10px}.multi-field-input{color:#e6e9ef;background:#06091099;border:1px solid #8fb8ff1f;border-radius:3px;flex:1;min-width:0;padding:3px 6px;font-size:13px}.multi-field-input:disabled{opacity:.4}.multi-field-input:focus{border-color:#3464a8b3;outline:none}.multi-field-symbol{flex:none;max-width:60px}.multi-field-weight{flex:none;max-width:70px}.multi-lock-btn{color:#8f97a6;cursor:pointer;background:#05080fb3;border:1px solid #8fb8ff14;border-radius:3px;align-items:center;padding:3px 6px;transition:border-color .15s,color .15s;display:flex}.multi-lock-btn:disabled{opacity:.4;cursor:default}.multi-lock-btn:not(:disabled):hover{color:#8fb8ff;border-color:#3464a899}.multi-lock-btn.lock-active{color:#f07070;border-color:#5c1c1ccc}.multi-room-actions{flex-direction:column;gap:6px;margin-top:4px;display:flex}.multi-room-apply-btn{color:#8fb8ff;cursor:pointer;background:#3464a840;border:1px solid #3464a880;border-radius:3px;padding:6px 10px;font-size:13px;transition:background .15s,border-color .15s}.multi-room-apply-btn:hover:not(:disabled){background:#3464a866;border-color:#3464a8cc}.multi-room-apply-btn:disabled{opacity:.35;cursor:default}.multi-room-warning{color:#8f97a6;margin:0;font-size:11px}.env-picker-popup{z-index:200;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0c111ce6;border:1px solid #8fb8ff1a;border-radius:8px;min-width:200px;max-width:280px;padding:8px;position:absolute;top:110%;left:0;box-shadow:0 8px 32px #0009,0 0 0 1px #ffffff08}.env-picker-filter{color:#e6e9ef;box-sizing:border-box;background:#06091099;border:1px solid #8fb8ff1a;border-radius:4px;width:100%;margin-bottom:7px;padding:4px 7px;font-family:inherit;font-size:12px;transition:border-color .15s}.env-picker-filter:focus{border-color:#3464a8b3;outline:none;box-shadow:0 0 0 2px #3464a81f}.env-picker-scroll{max-height:220px;overflow-y:auto}.env-picker-grid{flex-wrap:wrap;gap:4px;display:flex}.env-picker-swatch{cursor:pointer;border:2px solid #0000;border-radius:4px;justify-content:center;align-items:flex-end;width:36px;height:36px;padding:0 0 2px;transition:transform .12s,border-color .12s;display:flex;position:relative}.env-picker-swatch:hover{border-color:#8fb8ff;transform:scale(1.1)}.env-picker-swatch.selected{border-color:#00e5ff;box-shadow:0 0 0 1px #00e5ff,0 0 8px #00e5ff4d}.env-picker-id{color:#fffc;text-shadow:0 0 2px #000,0 0 2px #000;font-family:ui-monospace,Consolas,monospace;font-size:9px;line-height:1}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:500;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#0c111ce0;border:1px solid #8fb8ff1a;border-radius:10px;flex-direction:column;width:480px;max-width:95vw;max-height:80vh;display:flex;box-shadow:0 24px 64px #000000b3,0 0 0 1px #ffffff08,inset 0 1px #ffffff0d}.modal.modal-wide{width:560px}.modal-header{border-bottom:1px solid #8fb8ff14;justify-content:space-between;align-items:center;padding:14px 16px 12px;display:flex}.modal-header h2{color:#8fb8ff;letter-spacing:.03em;text-shadow:0 0 16px #8fb8ff59;margin:0;font-size:14px;font-weight:600}.modal-close{color:#6a7588;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:14px;transition:color .15s,background .15s}.modal-close:hover{color:#e6e9ef;background:#1f2a3c99}.modal-body{flex-direction:column;flex:1;gap:12px;padding:14px 16px;display:flex;overflow-y:auto}.modal-add-row{align-items:center;gap:8px;display:flex}.modal-add-row input{color:#e6e9ef;background:#06091099;border:1px solid #8fb8ff1a;border-radius:4px;flex:1;padding:6px 8px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.modal-add-row input:focus{border-color:#3464a8b3;outline:none;box-shadow:0 0 0 2px #3464a826}.modal-add-row button{color:#e6e9ef;cursor:pointer;white-space:nowrap;background:#1f2a3c99;border:1px solid #8fb8ff1f;border-radius:4px;padding:6px 12px;font-size:13px;transition:background .15s,border-color .15s}.modal-add-row button:hover:not(:disabled){background:#3464a84d;border-color:#8fb8ff40}.modal-add-row button:disabled{opacity:.35;cursor:not-allowed}.modal-list{flex-direction:column;gap:4px;display:flex}.modal-list-row{background:#06091080;border:1px solid #8fb8ff0f;border-radius:5px;align-items:center;gap:8px;padding:6px 8px;transition:background .15s,border-color .15s;display:flex}.modal-list-name{color:#e6e9ef;cursor:default;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.modal-inline-edit{color:#e6e9ef;outline-offset:0;font-family:inherit;font-size:13px;line-height:inherit;background:#0c111ccc;border:none;border-radius:3px;outline:1px solid #3464a899;flex:1;padding:0 6px}.modal-list-meta{color:#6a7588;white-space:nowrap;font-family:ui-monospace,Consolas,monospace;font-size:11px}.modal-list-actions{gap:4px;display:flex}.modal-list-actions button{color:#e6e9ef;cursor:pointer;background:#1f2a3c99;border:1px solid #8fb8ff1a;border-radius:3px;padding:3px 8px;font-size:12px;transition:background .15s}.modal-list-actions button:hover{background:#34507866}.modal-list-actions button.icon-btn{min-width:24px;padding:3px 6px}.modal-empty{color:#55606f;text-align:center;padding:8px 0;font-size:13px}.modal.modal-settings{flex-direction:column;width:460px;max-height:78vh;display:flex}.settings-modal-body{flex-direction:column;gap:0;padding:4px 16px 16px;display:flex}.settings-section{border-bottom:1px solid #8fb8ff0f;padding:10px 0}.settings-section:last-child{border-bottom:none}.settings-section-title{color:#8fb8ff;text-transform:uppercase;letter-spacing:.08em;opacity:.75;margin:0 0 8px;font-size:10px;font-weight:700}.settings-row{align-items:center;gap:12px;min-height:26px;padding:3px 0;display:flex}.settings-label{color:#a0adc0;flex-shrink:0;width:110px;font-size:12px}.settings-radio-group{flex-wrap:wrap;gap:14px;display:flex}.settings-radio{color:#e6e9ef;cursor:pointer;align-items:center;gap:5px;font-size:12px;display:flex}.settings-radio input[type=radio]{accent-color:#8fb8ff;cursor:pointer}.settings-checkbox-group{flex-wrap:wrap;gap:14px;display:flex}.settings-checkbox{color:#e6e9ef;cursor:pointer;align-items:center;gap:5px;font-size:12px;display:flex}.settings-checkbox input[type=checkbox]{accent-color:#8fb8ff;cursor:pointer}.settings-checkbox input:disabled{opacity:.4;cursor:not-allowed}.settings-slider-group{flex:1;align-items:center;gap:10px;display:flex}.settings-slider-group input[type=range]{accent-color:#8fb8ff;cursor:pointer;flex:1;min-width:120px;height:3px}.settings-value{color:#8fb8ff;text-align:right;min-width:38px;font-family:ui-monospace,Consolas,monospace;font-size:11px}.settings-color-row{align-items:center;gap:8px;display:flex}.settings-color-input{cursor:pointer;background:#06091099;border:1px solid #8fb8ff2e;border-radius:4px;width:36px;height:22px;padding:1px 2px}.settings-color-value{color:#6a7588;font-family:ui-monospace,Consolas,monospace;font-size:11px}.settings-select{color:#e6e9ef;cursor:pointer;background:#06091099;border:1px solid #8fb8ff26;border-radius:4px;padding:3px 8px;font-size:12px}.settings-select:focus{border-color:#3464a8b3;outline:none}.settings-reset-btn{color:#6a7588;cursor:pointer;background:0 0;border:1px solid #8fb8ff26;border-radius:4px;padding:2px 8px;font-size:11px;transition:color .15s,border-color .15s}.settings-reset-btn:hover{color:#e6e9ef;border-color:#8fb8ff59}.env-grid-list{flex-direction:column;gap:4px;display:flex}.env-list-row{background:#06091080;border:1px solid #8fb8ff0d;border-radius:4px;align-items:center;gap:8px;padding:5px 8px;display:flex}.env-swatch{border:1px solid #8fb8ff26;border-radius:3px;flex-shrink:0;width:24px;height:24px}.env-list-id{color:#8fb8ff;width:36px;font-family:ui-monospace,Consolas,monospace;font-size:12px}.env-list-builtin{color:#55606f;font-size:11px}.env-list-used{color:#7fff9f;background:#0a1a0ab3;border:1px solid #1a3a1acc;border-radius:10px;padding:1px 5px;font-size:10px}.env-remove{color:#55606f;cursor:pointer;background:0 0;border:none;border-radius:3px;margin-left:auto;padding:2px 4px;font-size:12px;transition:color .15s,background .15s}.env-remove:hover{color:#ff7f7f;background:#200a0ab3}.cl-swatch{border:1px solid #ffffff26;border-radius:2px;flex-shrink:0;width:12px;height:12px}.customline-row{background:#06091080;border:1px solid #8fb8ff0d;border-radius:4px;grid-template-columns:14px 1fr auto 18px;align-items:center;gap:8px;min-width:0;padding:4px 6px;font-family:ui-monospace,Consolas,monospace;font-size:12px;display:grid}.side-panel .customline-name{color:#e6e9ef;cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #8fb8ff1a;border-radius:3px;min-width:0;padding:2px 6px;font-family:inherit;font-size:12px;transition:background .15s;overflow:hidden}.side-panel .customline-name:hover{background:#1f2a3c80}.customline-badge{color:#8f97a6;background:#1f2a3c99;border-radius:8px;justify-content:center;align-items:center;min-width:18px;height:16px;padding:0 5px;font-family:ui-monospace,Consolas,monospace;font-size:10px;line-height:1;display:inline-flex}.side-panel .customline-remove{color:#55606f;cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:12px;line-height:1;transition:color .15s,background .15s;display:inline-flex}.side-panel .customline-remove:hover{color:#ff7f7f;background:#200a0ab3}.cl-add-btn{color:#6a7588;cursor:pointer;text-align:left;background:0 0;border:1px dashed #8fb8ff1f;border-radius:4px;width:100%;margin-top:4px;padding:5px 8px;font-size:12px;transition:border-color .15s,color .15s}.cl-add-btn:hover{color:#cfe1ff;border-color:#3464a880}.cl-form{background:#0609108c;border:1px solid #8fb8ff12;border-radius:5px;flex-direction:column;gap:4px;margin-top:6px;padding:8px;display:flex}.cl-form-row{color:#8f97a6;align-items:center;gap:8px;font-size:12px;display:flex}.cl-form-label{text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;width:44px;font-size:11px}.cl-form select{color:#e6e9ef;background:#0c111cb3;border:1px solid #8fb8ff1a;border-radius:3px;flex:1;padding:3px 6px;font-family:inherit;font-size:12px}.cl-waypoints{background:#0609108c;border:1px solid #8fb8ff12;border-radius:5px;flex-direction:column;gap:2px;margin-top:6px;padding:6px;display:flex}.cl-waypoints-header{color:#8f97a6;text-transform:uppercase;letter-spacing:.05em;padding:0 2px 4px;font-size:10px;font-weight:600}.cl-waypoint-row{cursor:default;border-radius:3px;grid-template-columns:18px 14px 1fr 14px 1fr 14px;align-items:center;gap:3px;padding:1px 2px;display:grid}.cl-waypoint-row.active{background:#ffffff0f}.cl-waypoint-idx{color:#555e6e;text-align:right;font-family:ui-monospace,Consolas,monospace;font-size:10px}.cl-waypoint-axis{color:#6b7585;text-transform:uppercase;text-align:center;letter-spacing:.03em;font-size:9px}.cl-waypoint-input{color:#e6e9ef;box-sizing:border-box;appearance:textfield;background:#0c111cb3;border:1px solid #8fb8ff1a;border-radius:3px;width:100%;min-width:0;padding:2px 5px;font-family:ui-monospace,Consolas,monospace;font-size:11px}.cl-waypoint-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cl-waypoint-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cl-waypoint-input:focus{border-color:#3464a8b3;outline:none;box-shadow:0 0 0 2px #3464a826}.cl-waypoint-del{color:#c05050;cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-self:stretch;align-items:center;width:14px;padding:0;font-size:13px;line-height:1;transition:color .12s,background .12s;display:flex}.cl-waypoint-del:hover{color:#f07070;background:#b43c3c2e}.area-delete-confirm{background:#0e0a0ab3;border:1px solid #3a1c1ccc;border-radius:5px;margin-top:2px;margin-bottom:4px;padding:10px 12px;font-size:13px}.area-delete-confirm p{color:#cfd6e0;margin:0 0 8px}.area-delete-confirm strong{color:#e6e9ef}.area-delete-actions{flex-direction:column;gap:6px;display:flex}.area-delete-actions button{color:#e6e9ef;cursor:pointer;background:#1f2a3c99;border:1px solid #8fb8ff1a;border-radius:4px;padding:5px 10px;font-size:13px;transition:background .15s}.area-delete-actions button:hover:not(:disabled){background:#34507866}.area-delete-actions button.danger{color:#ff8080;background:#150808b3;border-color:#3a1c1ccc}.area-delete-actions button.danger:hover{background:#200e0ecc}.area-move-row{gap:6px;display:flex}.area-move-row select{color:#e6e9ef;background:#1f2a3c99;border:1px solid #8fb8ff1a;border-radius:4px;flex:1;padding:5px 8px;font-family:inherit;font-size:13px}.area-move-row button:disabled{opacity:.35;cursor:not-allowed}.area-ud-section{border-left:2px solid #8fb8ff26;margin:0 0 4px 4px;padding:4px 8px 8px}.map-stats{flex-direction:column;gap:2px;margin-bottom:12px;display:flex}.map-stat-row{border-bottom:1px solid #ffffff0d;justify-content:space-between;padding:3px 0;font-size:12px;display:flex}.map-stat-label{color:#6a7588}.map-stat-value{color:#e6e9ef;font-variant-numeric:tabular-nums}.map-setting-row{margin:6px 0 10px}.map-setting-label{color:#8a96aa;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:12px;display:flex}.map-setting-label input[type=checkbox]{cursor:pointer}.warnings-list{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.warning-row{background:#dca01e14;border:1px solid #dca01e40;border-radius:4px;align-items:center;gap:6px;padding:5px 6px;font-size:12px;display:flex}.warning-icon{color:#d4922a;flex-shrink:0;line-height:1.4}.warning-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.warning-text strong{color:#e6c870;font-weight:600}.warning-detail{color:#8a96aa;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.warning-go-btn{color:#e6c870;cursor:pointer;background:#dca01e26;border:1px solid #dca01e59;border-radius:3px;flex-shrink:0;padding:2px 7px;font-size:11px}.warning-go-btn:hover{background:#dca01e47}.warning-ack-btn{color:#8a96aa;cursor:pointer;background:#7882961f;border:1px solid #7882964d;border-radius:3px;flex-shrink:0;padding:2px 7px;font-size:11px}.warning-ack-btn:hover{color:#b0bac8;background:#78829638}.warning-ack-btn--unack{color:#7abfa0;background:#50a0781a;border-color:#50a0784d}.warning-ack-btn--unack:hover{background:#50a07833}.warning-row--acked{opacity:.55}.warning-row--acked .warning-icon{color:#5a8a6a}.warnings-acked-section{margin-top:4px;margin-bottom:8px}.warnings-acked-toggle{color:#6a7585;cursor:pointer;background:0 0;border:none;padding:2px 0;font-size:11px}.warnings-acked-toggle:hover{color:#8a96aa}.warnings-list--acked{margin-top:4px}.script-panel .hint{margin:0 0 8px}.script-header{justify-content:space-between;align-items:center;gap:8px;margin:0 0 4px;display:flex}.script-header h3{margin:0}.side-panel .script-help-btn{color:#c0c8d8;padding:3px 10px;font-size:11px}.script-help-list{flex-direction:column;gap:6px;display:flex}.script-help-entry{background:#0a0f1a66;border:1px solid #8fb8ff14;border-radius:4px;padding:7px 9px}.script-help-sig{color:#c8d4f0;word-break:break-word;margin-bottom:4px;font-family:Consolas,Menlo,Monaco,monospace;font-size:12px;display:block}.script-help-info{color:#8a94a6;font-size:12px;line-height:1.45}.script-editor{color:#e6e9ef;resize:vertical;tab-size:2;background:#060910cc;border:1px solid #8fb8ff1a;border-radius:4px;width:100%;min-height:240px;padding:8px;font-family:Consolas,Menlo,Monaco,monospace;font-size:12px;line-height:1.5;transition:border-color .15s,box-shadow .15s}.script-editor:focus{border-color:#3464a8b3;outline:none;box-shadow:0 0 0 2px #3464a826}.script-editor-loading{color:#c8d0dcbf;letter-spacing:.04em;background:#060910cc;border:1px solid #8fb8ff1a;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;min-height:420px;font-size:12px;display:flex}.script-editor-loading-bar{background:#8fb8ff1a;border-radius:2px;width:160px;height:3px;position:relative;overflow:hidden}.script-editor-loading-bar:after{content:"";background:linear-gradient(90deg,#0000,#8fb8ffb3,#0000);width:40%;height:100%;animation:1.1s ease-in-out infinite script-editor-loading-sweep;position:absolute;top:0;left:-40%}@keyframes script-editor-loading-sweep{0%{left:-40%}to{left:100%}}.script-actions{align-items:center;gap:8px;margin:8px 0;display:flex}.script-library{align-items:center;gap:6px;margin:0 0 8px;display:flex}.script-library-name{color:#e6e9ef;background:#0a0e16b3;border:1px solid #8fb8ff24;border-radius:3px;flex:1;min-width:0;padding:3px 6px;font-family:inherit;font-size:12px}.script-library-name:focus{border-color:#3464a8b3;outline:none;box-shadow:0 0 0 2px #3464a826}.side-panel .script-library button{padding:3px 10px;font-size:11px}.script-header-actions{align-items:center;gap:6px;display:flex}.script-editor-container{position:relative}.script-library-popover{z-index:5;background:#0c121efa;border:1px solid #8fb8ff40;border-radius:4px;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 10px 28px #0000008c}.script-library-popover-header{background:#0a0f1a99;border-bottom:1px solid #8fb8ff1f;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.script-library-popover-title{color:#8fb8ff;text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.side-panel .script-library-popover-close{color:#6a7588;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 6px;font-size:14px;line-height:1}.side-panel .script-library-popover-close:hover{color:#e6e9ef;background:#8fb8ff14}.script-library-popover-body{flex:1;padding:8px;overflow-y:auto}.script-library-list{flex-direction:column;gap:4px;display:flex}.script-library-item{background:#0a0f1a66;border:1px solid #8fb8ff1a;border-radius:4px;align-items:center;gap:10px;padding:8px 10px;transition:border-color .15s,background .15s;display:flex}.script-library-item:hover{background:#0a0f1a99;border-color:#8fb8ff38}.script-library-item.current{background:#3464a81f;border-color:#8fb8ff52}.script-library-item-main{flex:1;min-width:0}.script-library-item-name{color:#e6e9ef;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.script-library-item-meta{color:#6a7588;align-items:center;gap:8px;margin-top:2px;font-size:11px;display:flex}.script-library-item-badge{color:#cfe1ff;text-transform:uppercase;letter-spacing:.05em;background:#3464a859;border:1px solid #8fb8ff40;border-radius:3px;padding:1px 6px;font-size:10px;display:inline-block}.script-library-item-actions{flex-shrink:0;gap:6px;display:flex}.side-panel .script-library-item-actions button{padding:4px 10px;font-size:11px}.side-panel .script-library-item-actions button:disabled{opacity:.45;cursor:not-allowed}.script-hint{color:#6a7588;margin-left:auto;font-size:11px}.script-code-editor{background:#080c1499;border:1px solid #8fb8ff24;border-radius:4px;height:420px;transition:border-color .15s,box-shadow .15s;position:relative}.script-code-editor:focus-within{border-color:#3464a8b3;box-shadow:0 0 0 2px #3464a82e}.script-code-editor>section{background:0 0;width:100%;height:100%}.script-code-editor .monaco-editor,.script-code-editor .monaco-editor .overflow-guard,.script-code-editor .monaco-editor .margin,.script-code-editor .monaco-editor-background{background:0 0}.side-panel .script-run-btn{background:#3464a880;border-color:#8fb8ff40;font-weight:600}.side-panel .script-run-btn:hover:not(:disabled){background:#4a80c0b3}.script-result{margin-top:10px;font-size:12px}.script-ok-box{color:#b0e6c0;background:#3c8c501f;border:1px solid #5ab46e4d;border-radius:4px;padding:6px 10px}.script-error-box{background:#c83c3c1a;border:1px solid #dc5a5a59;border-radius:4px;padding:8px 10px}.script-error-title{color:#f0a0a0;margin-bottom:4px;font-weight:600}.script-error-msg{color:#e6c0c0;white-space:pre-wrap;margin:0 0 4px;font-family:Consolas,Menlo,Monaco,monospace;font-size:12px}.script-log-title{color:#8f97a6;text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;gap:8px;margin:10px 0 4px;font-size:10px;display:flex}.script-log{color:#c0c8d8;white-space:pre-wrap;background:#06091099;border:1px solid #8fb8ff14;border-radius:4px;max-height:200px;margin:0;padding:6px 8px;font-family:Consolas,Menlo,Monaco,monospace;font-size:12px;overflow:auto}.side-panel .script-copy-btn{text-transform:none;letter-spacing:0;padding:1px 8px;font-size:10px}.script-result-json{color:#c8d4f0;white-space:pre-wrap;background:#06091099;border:1px solid #8fb8ff14;border-radius:4px;max-height:320px;margin:0;padding:6px 8px;font-family:Consolas,Menlo,Monaco,monospace;font-size:12px;overflow:auto}.modal.modal-env{width:680px;max-width:95vw;max-height:85vh}.env-modal-body{align-items:flex-start;min-height:0;flex-direction:row!important;gap:16px!important}.env-modal-left{flex-direction:column;flex:1;min-width:0;display:flex}.env-modal-right{flex-shrink:0;width:180px}.env-filter-input{color:#e6e9ef;background:#06091099;border:1px solid #8fb8ff1a;border-radius:4px;flex:1;padding:5px 8px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.env-filter-input:focus{border-color:#3464a8b3;outline:none;box-shadow:0 0 0 2px #3464a81f}.env-tile-grid{flex-wrap:wrap;gap:6px;padding:4px 6px;display:flex}.env-tile{cursor:pointer;border:2px solid #0000;border-radius:5px;justify-content:center;align-items:flex-end;width:54px;height:54px;padding:0 0 3px;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex;position:relative}.env-tile:hover{border-color:#8fb8ff;transform:scale(1.08);box-shadow:0 0 12px #8fb8ff33}.env-tile.selected{border-color:#00e5ff;box-shadow:0 0 0 1px #00e5ff,0 0 12px #00e5ff40}.env-tile.custom{box-shadow:inset 0 0 0 2px #ffffff26}.env-tile-id{color:#ffffffe6;text-shadow:0 0 3px #000,0 0 3px #000;font-family:ui-monospace,Consolas,monospace;font-size:10px;line-height:1}.env-tile-badge{color:#ffdf80;background:#0009;border-radius:2px;padding:1px 3px;font-size:8px;font-weight:700;line-height:1;position:absolute;top:3px;right:3px}.env-tile-dot{background:#7fff9f;border:1px solid #0006;border-radius:50%;width:6px;height:6px;position:absolute;top:3px;left:3px;box-shadow:0 0 4px #7fff9f66}.env-detail{background:#06091099;border:1px solid #8fb8ff14;border-radius:6px;flex-direction:column;gap:6px;padding:12px;display:flex}.env-detail-swatch{border:1px solid #8fb8ff26;border-radius:5px;width:100%;height:64px}.env-detail-id{color:#8fb8ff;margin:0;font-size:13px;font-weight:600}.env-detail-tags{flex-wrap:wrap;gap:4px;margin:0;display:flex}.env-detail-label{color:#8f97a6;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.env-detail-empty{color:#55606f;background:#06091080;border:1px dashed #8fb8ff1a;border-radius:6px;padding:16px 12px;font-size:13px}.env-detail-input{color:#e6e9ef;box-sizing:border-box;background:#06091099;border:1px solid #8fb8ff1a;border-radius:4px;width:100%;padding:5px 8px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.env-detail-input:focus{border-color:#3464a8b3;outline:none;box-shadow:0 0 0 2px #3464a81f}.env-detail-btn{color:#e6e9ef;cursor:pointer;background:#1f2a3c99;border:1px solid #8fb8ff1f;border-radius:4px;width:100%;padding:6px 12px;font-family:inherit;font-size:13px;transition:background .15s,border-color .15s}.env-detail-btn:hover:not(:disabled){background:#3464a84d;border-color:#8fb8ff40}.env-detail-btn:disabled{opacity:.35;cursor:not-allowed}.env-detail-btn--danger{color:#ff8080;border-color:#3a1c1ccc}.env-detail-btn--danger:hover{background:#200e0ecc}.env-tile-add{background:0 0;border:2px dashed #8fb8ff1f;transition:border-color .15s,background .15s}.env-tile-add:hover{background:#06091099;border-color:#8fb8ff}.env-tile-add.selected{border-style:solid}.env-tile-add-icon{color:#55606f;font-size:22px;line-height:1;transition:color .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.env-tile-add:hover .env-tile-add-icon{color:#8fb8ff}.modal-list-actions button.danger{color:#ff8080;border-color:#3a1c1ccc}.modal-list-actions button.danger:hover{background:#200e0ecc}.side-panel select{color:#e6e9ef;cursor:pointer;background:#06091099;border:1px solid #8fb8ff1a;border-radius:4px;padding:5px 8px;font-family:inherit;font-size:13px;transition:border-color .15s}.side-panel select:focus{border-color:#3464a8b3;outline:none}.side-panel button{color:#e6e9ef;cursor:pointer;background:#1f2a3c99;border:1px solid #8fb8ff1a;border-radius:4px;padding:5px 10px;font-family:inherit;font-size:13px;transition:background .15s,border-color .15s}.side-panel button:hover:not(:disabled){background:#3464a84d;border-color:#8fb8ff33}.side-panel button:disabled{opacity:.35;cursor:not-allowed}.link-info{flex-direction:column;gap:8px;padding:10px 0;display:flex}.link-info-row{color:#b0b8c6;align-items:baseline;gap:8px;font-size:13px;display:flex}.link-info-row .label{color:#8f97a6;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;min-width:48px;font-size:11px}.link-info-row .readonly{padding:0}.link-info-row strong{color:#e6e9ef;min-width:64px}.link-info-row .exit-target{margin-left:auto}.link-info-row button{color:#7cb8e0;cursor:pointer;background:#1f2a3c99;border:1px solid #8fb8ff1a;border-radius:3px;padding:2px 8px;font-size:12px;transition:background .15s}.link-info-row button:hover{background:#34507866}.link-delete-btn{cursor:pointer;border-radius:4px;width:100%;font-size:13px;color:#ff6b6b!important;background:#3a1a1a99!important;border:1px solid #5a2a2acc!important;padding:6px!important;transition:background .15s!important}.link-delete-btn:hover:not(:disabled){background:#4a2020cc!important}.exit-flow{align-items:center;gap:4px;margin-bottom:8px;display:flex}.exit-flow .exit-target{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin-left:0;overflow:hidden}.exit-flow-center{flex-shrink:0;align-items:center;gap:3px;display:flex}.exit-dir-arrow{color:#7cb8e0;padding:0 2px;font-size:14px}.exit-dir-label{color:#8a95a3;font-size:12px}.link-delete-inline{cursor:pointer;opacity:.5;flex-shrink:0;font-size:12px;color:#ff6b6b!important;background:0 0!important;border:none!important;padding:0 4px!important;transition:opacity .15s!important}.link-delete-inline:hover{opacity:1}.history-list{flex-direction:column;gap:2px;display:flex}.history-item{text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:4px;flex-wrap:wrap;align-items:center;gap:2px 8px;width:100%;padding:5px 8px;font-size:12px;display:flex}.history-item:focus-visible{outline-offset:-1px;outline:1px solid #8fb8ff80}.history-expand{color:#8fb8ff;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:3px;flex-basis:100%;align-self:flex-start;width:fit-content;margin-left:16px;padding:2px 6px;font-family:ui-monospace,Consolas,monospace;font-size:11px}.history-expand:hover{color:#cfe1ff;background:#8fb8ff1f}.history-current{cursor:default;pointer-events:none;background:#1e355399;box-shadow:inset 0 0 0 1px #3464a81a;color:#cfe1ff!important;border-color:#3464a880!important}.history-marker{color:#8fb8ff;flex-shrink:0;font-size:8px}.side-panel .history-done{color:#b0b8c6;background:#06091080;border-color:#0000}.side-panel .history-done:hover{color:#e6e9ef;background:#1f2a3c80;border-color:#8fb8ff1a}.side-panel .history-undone{color:#b0b8c6;opacity:.4;background:#06091080;border-color:#0000}.side-panel .history-undone:hover{color:#e6e9ef;opacity:.65;background:#1f2a3c80;border-color:#8fb8ff1a}.history-label{text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:ui-monospace,Consolas,monospace;overflow:hidden}.history-sub{text-overflow:ellipsis;white-space:nowrap;opacity:.45;flex-basis:100%;padding-left:16px;font-family:ui-monospace,Consolas,monospace;font-size:11px;overflow:hidden}.context-menu{z-index:500;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a0e18eb;border:1px solid #8fb8ff1a;border-radius:7px;min-width:140px;padding:3px;position:fixed;box-shadow:0 8px 32px #000000b3,0 0 0 1px #ffffff08,inset 0 1px #ffffff0a}.context-menu-item{text-align:left;color:#e6e9ef;width:100%;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 10px;font-size:12px;transition:background .1s;display:block}.context-menu-item:hover{background:#34507866}.context-menu-item.danger{color:#ff8080}.context-menu-item.danger:hover{background:#3a1a1a99}.context-menu-form{flex-direction:column;gap:6px;min-width:200px;padding:3px;display:flex}.context-menu-title{color:#8fb8ff;letter-spacing:.04em;text-transform:uppercase;padding:4px 6px 2px;font-size:11px;font-weight:600}.context-menu-field{flex-direction:column;gap:2px;padding:0 4px;display:flex}.context-menu-field label{color:#6a7588;letter-spacing:.03em;font-size:11px}.context-menu-field select,.context-menu-field input[type=number]{color:#e6e9ef;box-sizing:border-box;background:#060910b3;border:1px solid #8fb8ff1f;border-radius:4px;width:100%;padding:4px 6px;font-family:inherit;font-size:12px;transition:border-color .15s}.context-menu-field select:focus,.context-menu-field input[type=number]:focus{border-color:#3464a8b3;outline:none}.context-menu-coords{grid-template-columns:1fr 1fr 1fr;gap:4px;padding:0 4px;display:grid}.context-menu-coords .context-menu-field{padding:0}.context-menu-actions{gap:4px;padding:4px;display:flex}.context-menu-btn{color:#e6e9ef;cursor:pointer;background:#1f2a3c99;border:1px solid #8fb8ff1f;border-radius:4px;flex:1;padding:5px 8px;font-family:inherit;font-size:12px;transition:background .15s}.context-menu-btn:hover{background:#34507866}.context-menu-btn.primary{color:#8fb8ff;background:#3464a859;border-color:#8fb8ff40}.context-menu-btn.primary:hover{background:#3464a88c}.help-btn{color:#8fb8ff;cursor:pointer;background:#8fb8ff0f;border:1px solid #8fb8ff33;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:13px;font-weight:600;line-height:1;transition:background .15s,border-color .15s;display:flex}.help-btn:hover{background:#8fb8ff26;border-color:#8fb8ff66}.help-btn svg{flex-shrink:0;width:14px;height:14px}.lang-switcher{color:#8fb8ff;letter-spacing:.04em;cursor:pointer;appearance:none;background:#8fb8ff0f;border:1px solid #8fb8ff33;border-radius:50%;flex-shrink:0;height:24px;padding:0 4px;font-size:11px;font-weight:600;transition:background .15s,border-color .15s}.lang-switcher:hover{background:#8fb8ff26;border-color:#8fb8ff66}.lang-switcher option{color:#c8d6f0;background:#1e2433}.help-modal-body{flex-direction:column;gap:12px;padding:16px 18px 20px;display:flex;overflow-y:auto}.help-desc{color:#8a94a6;margin:0;font-size:12px;line-height:1.6}.help-desc code{color:#8fb8ff;background:#8fb8ff1a;border-radius:3px;padding:1px 4px;font-size:11px}.help-section-title{letter-spacing:.08em;text-transform:uppercase;color:#4a6080;margin:4px 0;font-size:11px;font-weight:600}.ai-prompt-card{background:#3464a814;border:1px solid #8fb8ff2e;border-radius:5px;align-items:center;gap:12px;padding:10px 12px;display:flex}.ai-prompt-card-body{flex:1;min-width:0}.ai-prompt-card-title{color:#c8d4f0;margin-bottom:2px;font-size:12px;font-weight:600}.ai-prompt-card-desc{color:#8a94a6;font-size:11px;line-height:1.5}.ai-prompt-copy-btn{color:#c8d4f0;cursor:pointer;background:#3464a840;border:1px solid #8fb8ff4d;border-radius:4px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s}.ai-prompt-copy-btn:hover{background:#3464a866;border-color:#8fb8ff80}.help-table{border-collapse:collapse;width:100%;font-size:12px}.help-table td{vertical-align:top;color:#cfd6e0;border-bottom:1px solid #8fb8ff0d;padding:4px 6px}.help-table tr:last-child td{border-bottom:none}.help-table td:first-child{white-space:nowrap;padding-right:10px}.help-tool-name{white-space:nowrap;color:#8fb8ff;padding-right:10px;font-weight:500}.help-tool-hint{color:#7a8494}kbd{color:#a8bcd8;white-space:nowrap;background:#141c2ee6;border:1px solid #8fb8ff33;border-radius:4px;padding:1px 5px;font-family:inherit;font-size:11px;display:inline-block}.swatch-palette{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);-webkit-user-select:none;user-select:none;background:#0e1422f7;border:1px solid #8fb8ff2e;border-radius:10px;min-width:260px;max-width:380px;position:fixed;box-shadow:0 8px 32px #0000008c,inset 0 1px #ffffff0d}.swatch-palette-header{cursor:grab;border-bottom:1px solid #8fb8ff14;align-items:center;gap:6px;padding:7px 10px;display:flex}.swatch-palette-header:active{cursor:grabbing}.swatch-palette-title{letter-spacing:.1em;text-transform:uppercase;color:#8fb8ff;flex:1;font-size:10px;font-weight:600}.swatch-palette-close{color:#55606f;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 5px;font-size:12px;line-height:1}.swatch-palette-close:hover{color:#e6e9ef;background:#8fb8ff1a}.swatch-set-row{border-bottom:1px solid #8fb8ff14;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;display:flex}.swatch-set-select{color:#e6e9ef;cursor:pointer;background:#0a0e16b3;border:1px solid #8fb8ff24;border-radius:4px;flex:1;min-width:80px;height:26px;padding:3px 6px;font-family:inherit;font-size:12px}.swatch-set-select:focus{border-color:#8fb8ff59;outline:none}.swatch-set-name-input{color:#e6e9ef;background:#0a0e16b3;border:1px solid #8fb8ff40;border-radius:4px;flex:1;min-width:80px;height:26px;padding:3px 6px;font-family:inherit;font-size:12px}.swatch-set-name-input:focus{border-color:#3464a8b3;outline:none}.swatch-icon-btn{color:#8fb8ff;cursor:pointer;white-space:nowrap;background:#1f2a3c80;border:1px solid #8fb8ff1f;border-radius:4px;justify-content:center;align-items:center;height:26px;padding:3px 7px;font-size:12px;line-height:1;display:inline-flex}.swatch-icon-btn:hover:not(:disabled){background:#3464a84d;border-color:#8fb8ff40}.swatch-icon-btn:disabled{opacity:.35;cursor:not-allowed}.swatch-icon-btn-danger{color:#ff8080}.swatch-icon-btn-danger:hover:not(:disabled){background:#a834344d!important}.swatch-empty-hint{color:#55606f;flex:1;font-size:11px}.swatch-grid{flex-wrap:wrap;gap:4px;padding:8px;display:flex}.swatch-chip{cursor:pointer;background:#1f2a3c80;border:1px solid #8fb8ff1a;border-radius:5px;align-items:center;gap:4px;max-width:160px;padding:4px 6px;font-size:12px;transition:background .12s,border-color .12s;display:inline-flex}.swatch-chip:hover{background:#3464a833;border-color:#8fb8ff33}.swatch-chip.active{background:#1e3553b3;border-color:#3464a8a6;box-shadow:0 0 8px #3464a840}.swatch-chip.editing{border-color:#3464a866}.swatch-chip-env{border:1px solid #ffffff26;border-radius:50%;flex-shrink:0;width:12px;height:12px}.swatch-chip-symbol{color:#00e5ff;text-align:center;flex-shrink:0;min-width:10px;font-family:ui-monospace,Consolas,monospace;font-size:11px}.swatch-chip-name{text-overflow:ellipsis;white-space:nowrap;color:#c8d4e8;flex:1;min-width:0;font-size:12px;overflow:hidden}.swatch-chip-edit,.swatch-chip-del{cursor:pointer;opacity:0;color:#55606f;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:11px;line-height:1;transition:opacity .12s,color .12s}.swatch-chip:hover .swatch-chip-edit,.swatch-chip:hover .swatch-chip-del,.swatch-chip.active .swatch-chip-edit,.swatch-chip.active .swatch-chip-del{opacity:1}.swatch-chip-edit:hover{color:#8fb8ff!important;opacity:1!important}.swatch-chip-del:hover{color:#ff8080!important;opacity:1!important}.swatch-add-btn{color:#4a5568;cursor:pointer;background:#1f2a3c59;border:1px dashed #8fb8ff2e;border-radius:5px;padding:4px 12px;font-size:15px;line-height:1;transition:color .12s,border-color .12s}.swatch-add-btn:hover{color:#8fb8ff;border-color:#8fb8ff66}.swatch-edit-form{background:#080c1699;border-top:1px solid #8fb8ff14;align-items:center;gap:4px;padding:6px 8px;display:flex}.swatch-edit-name{color:#e6e9ef;background:#0a0e16b3;border:1px solid #8fb8ff33;border-radius:4px;flex:1;min-width:0;height:26px;padding:3px 6px;font-family:inherit;font-size:12px}.swatch-edit-name:focus{border-color:#3464a8b3;outline:none}.swatch-edit-symbol{color:#00e5ff;text-align:center;background:#0a0e16b3;border:1px solid #8fb8ff33;border-radius:4px;flex-shrink:0;width:44px;height:26px;padding:3px 4px;font-family:ui-monospace,Consolas,monospace;font-size:12px}.swatch-edit-symbol:focus{border-color:#3464a8b3;outline:none}.swatch-env-picker-wrap{flex-shrink:0;position:relative}.swatch-env-btn{cursor:pointer;border:1px solid #fff3;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.swatch-env-btn:hover{border-color:#fff6}.swatch-env-id{color:#ffffffe6;text-shadow:0 1px 2px #000000e6;pointer-events:none;font-size:9px;font-weight:700}.swatch-env-picker-wrap .env-picker-popup{z-index:100;position:absolute;bottom:calc(100% + 4px);left:0}.swatch-edit-ok,.swatch-edit-cancel{color:#8fb8ff;cursor:pointer;background:#1f2a3c80;border:1px solid #8fb8ff1f;border-radius:4px;flex-shrink:0;align-items:center;height:26px;padding:3px 7px;font-size:12px;display:inline-flex}.swatch-edit-ok:hover{background:#3464a866}.swatch-edit-cancel:hover{color:#ff9090;background:#50282866}.swatch-empty{color:#55606f;text-align:center;padding:10px 12px;font-size:11px}.swatch-pick-banner{color:#ffd080;background:#ffd08012;border-top:1px solid #ffd08026;align-items:center;gap:8px;padding:8px 10px;font-size:11px;display:flex}.swatch-pick-banner span{flex:1}.search-panel{z-index:400;-webkit-backdrop-filter:blur(16px)saturate(1.8)brightness(.4);backdrop-filter:blur(16px)saturate(1.8)brightness(.4);background:#1e2a3e85;border:1px solid #8fb8ff2e;border-radius:12px;flex-direction:column;width:480px;max-width:calc(100vw - 504px);display:flex;position:fixed;top:116px;left:50%;overflow:hidden;transform:translate(-50%)translate(-220px);box-shadow:0 4px 24px #00000059,inset 0 1px #ffffff14}.search-panel-header{border-bottom:1px solid #8fb8ff12;justify-content:space-between;align-items:center;padding:8px 10px 8px 12px;display:flex}.search-panel-tabs{gap:2px;display:flex}.search-tab{color:#6a7588;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:3px 10px;font-size:12px;font-weight:500;transition:color .15s,background .15s}.search-tab:hover{color:#a8bcd8;background:#1f2a3c80}.search-tab.active{color:#8fb8ff;background:#3464a833}.search-panel-input-wrap{border-bottom:1px solid #8fb8ff12;align-items:center;gap:8px;padding:8px 10px;display:flex}.search-panel-icon{color:#4a5568;flex-shrink:0}.search-panel-input{color:#cfd6e0;background:0 0;border:none;outline:none;flex:1;padding:0;font-family:inherit;font-size:13px}.search-panel-input::placeholder{color:#3d4a5c}.search-panel-clear{color:#3d4a5c;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:12px;line-height:1;transition:color .15s}.search-panel-clear:hover{color:#8a94a6}.search-panel-results{max-height:280px;margin:0;padding:4px 0;list-style:none;overflow-y:auto}.search-panel-result{cursor:pointer;flex-direction:column;gap:2px;padding:6px 12px;transition:background .1s;display:flex}.search-result-row{align-items:baseline;gap:8px;display:flex}.search-panel-result:hover,.search-panel-result.selected{background:#3464a82e}.search-result-name{color:#cfd6e0;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;overflow:hidden}.search-result-name em{color:#4a5568;font-style:normal}.search-result-meta{color:#6a7fa0;white-space:nowrap;flex-shrink:0;font-size:11px}.search-result-reason{color:#546070;font-size:10px;font-style:italic}.search-panel-empty{color:#3d4a5c;text-align:center;padding:12px;font-size:12px}.search-panel-more{color:#3d4a5c;text-align:center;border-top:1px solid #8fb8ff0d;padding:6px 12px;font-size:11px}.spread-shrink-popup{z-index:400;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#0c111cf0;border:1px solid #8fb8ff1f;border-radius:8px;flex-direction:column;gap:8px;width:210px;padding:10px;display:flex;position:fixed;top:160px;left:50%;transform:translate(-50%)translate(-220px);box-shadow:0 16px 48px #000000a6,0 0 0 1px #ffffff08,inset 0 1px #ffffff0a}.spread-shrink-title{color:#8fb8ff;letter-spacing:.04em;text-transform:uppercase;padding:2px 0;font-size:11px;font-weight:600}.spread-shrink-mode{background:#00000040;border-radius:5px;gap:2px;padding:2px;display:flex}.spread-shrink-tab{color:#6a7588;cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;padding:4px 8px;font-family:inherit;font-size:12px;font-weight:500;transition:color .15s,background .15s}.spread-shrink-tab:hover{color:#a8bcd8;background:#1f2a3c80}.spread-shrink-tab.active{color:#8fb8ff;background:#3464a840}.spread-shrink-field{flex-direction:column;gap:3px;display:flex}.spread-shrink-field label{color:#6a7588;font-size:11px}.spread-shrink-field input[type=number]{color:#e6e9ef;box-sizing:border-box;background:#060910b3;border:1px solid #8fb8ff1f;border-radius:4px;width:100%;padding:5px 8px;font-family:inherit;font-size:13px;transition:border-color .15s}.spread-shrink-field input[type=number]:focus{border-color:#3464a8b3;outline:none}.spread-shrink-anchor{color:#6a7588;justify-content:space-between;align-items:center;gap:4px;min-height:20px;padding:3px 2px;font-size:11px;display:flex}.spread-shrink-anchor-hint{color:#8fb8ff;font-style:italic}.spread-shrink-anchor-clear{color:#6a7588;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-family:inherit;font-size:14px;line-height:1}.spread-shrink-anchor-clear:hover{color:#e6e9ef}.spread-shrink-actions{gap:4px;display:flex}
