:root{--bg: #0a0a14;--panel: #121424;--panel-2: #1a1d30;--border: #262a42;--text: #dfe4f2;--muted: #8b92ad;--accent: #5a7cff;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;width:100%;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13px}.app{display:flex;flex-direction:row;height:100%}.boot{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted)}.editor{display:flex;flex-direction:column;height:100%}.editor-body{flex:1 1 0;display:flex;min-height:0}.editor-main{flex:1 1 0;display:flex;flex-direction:column;min-width:0}.editor-main .canvas-wrap{flex:1 1 0;min-height:0}.editor-top{display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--panel);border-bottom:1px solid var(--border);flex:0 0 auto}.editor-title{background:transparent;border:1px solid transparent;border-radius:5px;color:var(--text);font-size:13px;font-weight:600;padding:4px 7px;min-width:140px;max-width:340px}.editor-title:hover:not(:disabled){border-color:var(--border)}.editor-title:focus{border-color:var(--accent);outline:none;background:#0f1120}.editor-title.local{color:var(--muted);font-weight:400}.spacer{flex:1}.sync-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);padding:3px 9px;border:1px solid var(--border);border-radius:11px}.sync-chip.sync-live{color:#9fe0b6;border-color:#2c5a3c}.sync-chip.sync-error{color:#ffa79c;border-color:#5a2b2b}.badge-warn{background:#2a1618;color:#ff8a7e;border-color:#5a2b2b}.opt-bar{display:flex;align-items:center;gap:12px;padding:5px 10px;min-height:36px;background:var(--panel);border-bottom:1px solid var(--border);flex:0 0 auto;overflow-x:auto;white-space:nowrap}.opt{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.opt select,.opt input[type=number]{background:#0f1120;border:1px solid var(--border);border-radius:5px;color:var(--text);padding:3px 6px;font-size:12px}.opt input[type=range]{width:110px;accent-color:var(--accent)}.opt input[type=color]{width:22px;height:20px;padding:0;border:none;background:none;cursor:pointer}.opt-swatch{width:12px;height:12px;border-radius:3px}.opt-hint{font-size:11px;color:var(--muted)}.opt-seg{display:flex;gap:3px}.opt-seg .seg-btn{padding:3px 9px;font-size:11px}.tabbar{display:flex;border-bottom:1px solid var(--border);flex:0 0 auto}.tab{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 4px;background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;font-size:11px}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.tab-icon{font-size:13px}.tab-body{flex:1 1 0;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:12px}.tab-section{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:10px}.tab-title{font-weight:600;margin-bottom:8px}.btn-row{display:flex;gap:6px;flex-wrap:wrap}.resizer{flex:0 0 5px;cursor:col-resize;background:var(--border);opacity:.5}.resizer:hover{opacity:1;background:var(--accent)}.uncollapse{flex:0 0 18px;background:var(--panel);border:none;border-left:1px solid var(--border);color:var(--muted);cursor:pointer}.uncollapse:hover{color:var(--text)}.out-search{background:#0f1120;border:1px solid var(--border);border-radius:6px;color:var(--text);padding:6px 8px;font-size:12px;flex:0 0 auto}.eye{background:none;border:none;cursor:pointer;font-size:12px;opacity:.9;padding:0 2px}.eye.off{opacity:.3}.out-list{display:flex;flex-direction:column;gap:3px;padding:0 8px 8px}.out-row{display:flex;align-items:center;gap:6px;width:100%;padding:4px 6px;background:#0f1120;border:1px solid transparent;border-radius:5px;color:var(--text);font-size:12px;text-align:left;cursor:pointer}.out-row:hover{border-color:#3a4062}.out-row.active{border-color:var(--accent);background:#1b2140}.out-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.out-sub{color:var(--muted);font-size:11px}.toolbar{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 6px;width:62px;flex:0 0 62px;background:var(--panel);border-right:1px solid var(--border)}.toolbar-logo{font-size:22px;color:#aeb8ff;line-height:1;margin-bottom:4px;text-shadow:0 0 10px rgba(120,140,255,.6)}.toolbar-spacer{flex:1}.tool-group{display:flex;flex-direction:column;gap:6px;width:100%;align-items:center}.tool-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:48px;height:46px;padding:0;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:12px}.tool-btn:hover{border-color:#3a4062}.tool-btn:disabled{opacity:.35;cursor:default}.tool-btn:disabled:hover{border-color:var(--border)}.tool-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.tool-btn.active .tool-key{color:#ffffffd9}.tool-btn.primary{background:#2f9e57;border-color:#2f9e57;color:#fff}.tool-btn.primary .tool-key{color:#ffffffd9}.tool-icon{font-size:17px;line-height:1}.tool-key{font-size:9px;letter-spacing:.5px;color:var(--muted);text-transform:uppercase}.canvas-wrap{flex:1 1 0;min-width:0;position:relative}.map-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;cursor:crosshair;touch-action:none}.sidebar{flex:0 0 320px;width:320px;background:var(--panel);border-left:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.sidebar.viewer{flex-basis:300px;width:300px}.panel{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:10px}.panel-header{display:flex;justify-content:space-between;align-items:center;font-weight:600;margin-bottom:8px}.panel-note{margin-top:8px;color:var(--muted);font-size:11px}.empty-hint{color:var(--muted);font-size:12px;padding:4px 0}.mini-btn{background:#23273e;color:var(--text);border:1px solid var(--border);border-radius:5px;padding:3px 8px;cursor:pointer;font-size:11px}.mini-btn:hover{border-color:#3a4062}.mini-btn.danger:hover{border-color:#a5443c;color:#ff8a7e}.mini-btn:disabled{opacity:.6;cursor:default}.empire-list{display:flex;flex-direction:column;gap:4px}.empire-row{display:flex;align-items:center;gap:6px;padding:4px;border-radius:6px;cursor:pointer;border:1px solid transparent}.empire-row:hover{background:#191d30}.empire-row.active{border-color:var(--accent);background:#1b2140}.empire-row input[type=color]{width:22px;height:22px;padding:0;border:none;background:none;cursor:pointer;flex:0 0 22px}.empire-row input.border-swatch{width:15px;flex:0 0 15px}.empire-name{flex:1;min-width:0;background:#0f1120;border:1px solid var(--border);border-radius:4px;color:var(--text);padding:3px 6px}.empire-count{min-width:26px;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.field>span{color:var(--muted);font-size:11px}.field input[type=text],.field input[type=number],.field input:not([type]),.field select{background:#0f1120;border:1px solid var(--border);border-radius:5px;color:var(--text);padding:5px 7px}.field input[type=range]{accent-color:var(--accent)}.seed-row{display:flex;gap:6px}.seed-row input{flex:1}.star-list{display:flex;flex-direction:column;gap:4px}.star-row{display:flex;align-items:center;gap:5px}.star-row select{flex:1;min-width:0}.star-dot{width:12px;height:12px;border-radius:50%;flex:0 0 12px;box-shadow:0 0 5px #fff6}.star-row .mini-btn{padding:3px 6px}.seg{display:flex;gap:4px}.seg-btn{flex:1;padding:4px 0;background:#0f1120;border:1px solid var(--border);border-radius:5px;color:var(--muted);cursor:pointer;font-size:12px}.seg-btn:hover{border-color:#3a4062}.seg-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.marker-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.marker-chip{display:flex;align-items:center;gap:6px;padding:4px 6px;background:#0f1120;border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;text-align:left;font-size:11px}.marker-chip:hover{border-color:#3a4062}.marker-chip.active{background:#1b2140;border-color:var(--accent);color:var(--text)}.marker-glyph{font-size:14px;line-height:1;width:16px;text-align:center}.marker-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.marker-chip.partial{border-color:#3a4062;color:var(--text);background:#171a2c}.sync-bar{display:flex;align-items:center;gap:7px;padding:5px 7px;margin-bottom:8px;border-radius:6px;background:#0f1120;border:1px solid var(--border);font-size:11px}.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:0 0 8px}.sync-live .sync-dot{background:#49c26b;box-shadow:0 0 6px #49c26b}.sync-connecting .sync-dot{background:#e0b23d}.sync-error .sync-dot{background:#e0483d}.sync-text{flex:1;min-width:0;color:var(--muted)}.peer-list{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.peer{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border:1px solid var(--border);border-radius:10px;font-size:11px;color:var(--text)}.peer-dot{width:7px;height:7px;border-radius:50%}.map-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{font-size:9px;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:8px;background:#1b2140;color:#8fb0ff;border:1px solid #2c356b}.chip-x{background:none;border:none;color:var(--muted);cursor:pointer;padding:0 0 0 2px;font-size:11px;line-height:1}.chip-x:hover{color:#ff8a7e}.chip-x:disabled{opacity:.5;cursor:default}.invite-list{display:flex;flex-direction:column;gap:4px}.invite{display:flex;align-items:center;gap:6px;font-size:11px;background:#0f1120;border:1px solid var(--border);border-radius:5px;padding:4px 6px}.invite code{font-size:12px;letter-spacing:1px;color:#cfe0ff}.invite-who{flex:1;min-width:0;color:var(--muted)}.invite.used{opacity:.55}.invite.used code{text-decoration:line-through}.kv{display:flex;justify-content:space-between;gap:8px;font-size:12px;padding:2px 0}.kv>span{color:var(--muted)}.radio-row{display:flex;align-items:flex-start;gap:7px;padding:4px 0;cursor:pointer}.radio-row input{accent-color:var(--accent);margin:2px 0 0}.radio-row span{display:flex;flex-direction:column;gap:1px}.radio-row em{font-style:normal;color:var(--muted);font-size:11px}.error-note{margin-top:8px;color:#ff8a7e;font-size:11px;background:#2a1618;border:1px solid #5a2b2b;border-radius:5px;padding:6px 8px}.notes-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.notes-head>span{color:var(--muted);font-size:11px}.notes-head .seg{flex:0 0 auto}.notes-head .seg-btn{padding:2px 8px;font-size:11px}.notes-input{background:#0f1120;border:1px solid var(--border);border-radius:5px;color:var(--text);padding:6px 7px;font-family:inherit;font-size:12px;resize:vertical}.notes-view{background:#0f1120;border:1px solid var(--border);border-radius:5px;padding:7px 9px;font-size:12px;line-height:1.45;max-height:260px;overflow-y:auto}.notes-view>:first-child{margin-top:0}.notes-view>:last-child{margin-bottom:0}.notes-view h1,.notes-view h2,.notes-view h3{font-size:13px;margin:8px 0 4px;color:#eef2ff}.notes-view p{margin:6px 0}.notes-view ul,.notes-view ol{margin:6px 0;padding-left:18px}.notes-view code{background:#1a1d30;padding:1px 4px;border-radius:3px;font-size:11px}.notes-view pre{background:#1a1d30;padding:6px;border-radius:5px;overflow-x:auto}.notes-view a{color:#8fb0ff}.notes-view blockquote{margin:6px 0;padding-left:8px;border-left:2px solid var(--border);color:var(--muted)}.notes-view img{max-width:100%}.link-row{display:flex;align-items:center;gap:6px}.link-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toggle-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px;margin-bottom:10px}.toggle-row{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);cursor:pointer}.toggle-row input{accent-color:var(--accent);margin:0}.toggle-row:hover{color:var(--text)}.help-box{color:var(--muted);font-size:11px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:10px}.help-box ul{margin:6px 0 0;padding-left:16px}.help-box li{margin:2px 0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:20}.modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;width:340px;box-shadow:0 20px 60px #00000080}.modal h2{margin:0 0 14px;font-size:16px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.auth-page{display:flex;align-items:center;justify-content:center;height:100%;background:radial-gradient(1200px 600px at 50% -10%,#171a35 0%,transparent 60%),var(--bg)}.auth-card{width:340px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:26px 24px 20px;box-shadow:0 30px 80px #0000008c;display:flex;flex-direction:column}.auth-logo{font-size:30px;color:#aeb8ff;text-shadow:0 0 18px rgba(120,140,255,.6);text-align:center;line-height:1}.auth-card h1{font-size:19px;margin:10px 0 2px;text-align:center}.auth-sub{margin:0 0 16px;text-align:center;color:var(--muted);font-size:12px}.auth-seg{margin-bottom:14px}.auth-submit{margin-top:4px;padding:9px;background:var(--accent);border:none;border-radius:7px;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.auth-submit:disabled{opacity:.6;cursor:default}.auth-link{margin-top:12px;background:none;border:none;color:#8fb0ff;cursor:pointer;font-size:12px}.auth-link:hover{text-decoration:underline}.auth-foot{margin:6px 0 0;color:var(--muted);font-size:11px;text-align:center}.dash{height:100%;overflow-y:auto;background:var(--bg)}.dash-head{display:flex;align-items:center;gap:10px;padding:12px 22px;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5}.dash-brand{display:flex;align-items:center;gap:8px;font-weight:600;flex:1}.dash-logo{color:#aeb8ff;font-size:18px;text-shadow:0 0 10px rgba(120,140,255,.6)}.dash-user{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.dash-body{max-width:980px;margin:0 auto;padding:22px}.dash-title{font-size:14px;margin:26px 0 10px}.dash-panel{margin-top:26px}.dash-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.big-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;color:var(--text);cursor:pointer;text-align:left}.big-btn:hover{border-color:#3a4062}.big-btn.primary{border-color:#2f5a8e;background:#16203a}.big-btn span span,.big-btn>span:last-child{display:flex;flex-direction:column;gap:2px}.big-btn b{font-size:13px}.big-btn em{font-style:normal;color:var(--muted);font-size:11px}.big-icon{font-size:20px;color:#aeb8ff;flex:0 0 auto}.big-btn:disabled{opacity:.5;cursor:default}.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.map-card{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}.map-card:hover{border-color:#3a4062}.map-open{background:none;border:none;color:var(--text);text-align:left;cursor:pointer;padding:0}.map-open h3{margin:0 0 3px;font-size:14px}.map-meta{color:var(--muted);font-size:11px}.map-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.map-active{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#9fe0b6}.badge-live{background:#14301f;color:#9fe0b6;border-color:#2c5a3c}.map-share{border-top:1px solid var(--border);padding-top:8px;display:flex;flex-direction:column;gap:6px}.help-modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:22px;max-width:720px;width:calc(100% - 40px);max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000080}.help-modal h2{margin:0 0 16px;font-size:16px}.help-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.help-col h3{margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.help-row{display:flex;gap:8px;align-items:baseline;padding:2px 0;font-size:12px}.help-row kbd{flex:0 0 auto;background:#0f1120;border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;padding:1px 6px;font-family:inherit;font-size:11px;color:#cfe0ff}.help-row span{color:var(--muted)}.viewer-page{position:relative;height:100%;width:100%}.viewer-page .canvas-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.viewer-page .map-canvas{cursor:grab}.viewer-page .map-canvas:active{cursor:grabbing}.viewer-title{position:absolute;top:16px;left:18px;display:flex;flex-direction:column;gap:1px;padding:9px 14px;background:#0a0d18b8;border:1px solid var(--border);border-radius:9px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none}.viewer-title b{font-size:14px}.viewer-title span{font-size:11px;color:var(--muted)}.viewer-hint{position:absolute;bottom:14px;left:50%;transform:translate(-50%);font-size:11px;color:var(--muted);background:#0a0d1899;border-radius:20px;padding:5px 14px;pointer-events:none}.viewer-card{position:absolute;top:16px;right:16px;width:300px;max-height:calc(100% - 32px);overflow-y:auto;padding:14px 16px;background:#0e111eed;border:1px solid var(--border);border-radius:11px;box-shadow:0 18px 50px #0000008c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.viewer-card h2{margin:0 0 8px;font-size:15px;padding-right:20px}.viewer-close{position:absolute;top:10px;right:10px;background:none;border:none;color:var(--muted);cursor:pointer;font-size:12px}.viewer-close:hover{color:var(--text)}.viewer-blocked{display:flex;align-items:center;justify-content:center;height:100%;background:var(--bg)}.v-owner{display:inline-flex;align-items:center;gap:6px}.v-chips{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0 2px}.v-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:11px;color:var(--text);background:#ffffff0a;border:1px solid var(--border);border-radius:20px}@media (hover: none){.viewer-hint{opacity:.9}}@media (max-width: 820px){.editor-body{flex-direction:column;position:relative}.editor-main{order:1;min-height:0}.toolbar{order:2;flex-direction:row;width:100%;flex:0 0 auto;padding:6px 8px;border-right:none;border-top:1px solid var(--border);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.toolbar::-webkit-scrollbar{display:none}.tool-group{flex-direction:row;width:auto;flex:0 0 auto}.tool-group+.tool-group{margin-top:0!important;margin-left:8px}.toolbar-spacer{display:none}.tool-btn{width:46px;height:44px;flex:0 0 46px}.sidebar{position:absolute;top:0;right:0;bottom:0;z-index:20;width:min(320px,88vw)!important;flex-basis:auto!important;box-shadow:-12px 0 40px #00000080}.resizer{display:none}.uncollapse{z-index:21}.opt-bar{overflow-x:auto;scrollbar-width:none}.opt-bar::-webkit-scrollbar{display:none}.editor-top{flex-wrap:wrap;row-gap:6px}.editor-title{min-width:120px}.dash-body{padding:14px}.dash-head{padding:10px 14px}.map-grid,.dash-actions{grid-template-columns:1fr}}@media (max-width: 700px){.viewer-card{top:auto;left:0;right:0;bottom:0;width:auto;max-height:62%;border-radius:14px 14px 0 0;border-left:none;border-right:none;border-bottom:none;padding:16px 18px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -14px 40px #0009}.viewer-close{top:12px;right:14px;font-size:15px;padding:4px}.viewer-card h2{padding-right:30px}.viewer-title{top:10px;left:10px;right:10px;padding:7px 12px}.viewer-hint{display:none}.modal,.help-modal{width:calc(100% - 20px);max-height:88vh}.auth-card{width:calc(100% - 28px)}}.swatch-btn{width:20px;height:20px;flex:0 0 20px;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:4px;cursor:pointer}.swatch-btn:hover{border-color:#fff}.swatch-btn:disabled{opacity:.5;cursor:default}.swatch-pop{position:fixed;z-index:100;padding:8px;background:var(--panel);border:1px solid var(--border);border-radius:9px;box-shadow:0 14px 40px #0000008c}.swatch-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.swatch-cell{width:100%;aspect-ratio:1;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:4px;cursor:pointer}.swatch-cell:hover{border-color:#fff}.swatch-cell.on{outline:2px solid var(--accent);outline-offset:1px}.swatch-foot{display:flex;gap:6px;align-items:center;margin-top:8px}.swatch-hex{flex:1;min-width:0;background:#0f1120;border:1px solid var(--border);border-radius:5px;color:var(--text);padding:4px 7px;font-family:inherit;font-size:12px}.swatch-hex:focus{border-color:var(--accent);outline:none}.swatch-foot input[type=color]{width:26px;height:24px;flex:0 0 26px;padding:0;border:none;background:none;cursor:pointer}.cat-grid{display:flex;flex-direction:column;gap:6px;padding:10px}.cat-card{display:flex;align-items:center;gap:4px;background:var(--panel-2);border:1px solid var(--border);border-radius:9px;padding-right:8px}.cat-card:hover{border-color:#3a4062}.cat-open{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:11px 12px;background:none;border:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.cat-icon{font-size:16px;color:#aeb8ff;width:18px;text-align:center}.cat-label{flex:1;min-width:0}.cat-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.ol-modal{width:min(620px,calc(100% - 32px));max-width:none}.ol-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.ol-head h2{display:flex;align-items:center;gap:8px;margin:0;flex:1}.ol-icon{color:#aeb8ff}.ol-count{color:var(--muted);font-size:12px;font-weight:400;font-variant-numeric:tabular-nums}.ol-list{display:flex;flex-direction:column;gap:4px;max-height:min(52vh,420px);overflow-y:auto;margin:8px 0 4px}.ol-row{display:flex;align-items:center;gap:8px;padding:7px 9px;background:var(--panel-2);border:1px solid var(--border);border-radius:7px;cursor:pointer}.ol-row:hover{border-color:#3a4062}.ol-row.active{border-color:var(--accent);background:#1b2140}.ol-name{flex:1;min-width:0;background:none;border:1px solid transparent;border-radius:5px;color:var(--text);font:inherit;padding:3px 6px}.ol-name:hover:not(:disabled){border-color:var(--border)}.ol-name:focus{background:#0b0d18;border-color:var(--accent);outline:none}.ol-name:disabled{color:var(--text)}.ol-sub{color:var(--muted);font-size:11px;flex:0 0 auto;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ol-row .mini-btn{padding:3px 7px}@media (max-width: 700px){.ol-modal{width:calc(100% - 20px)}.ol-row{flex-wrap:wrap}.ol-name{flex:1 0 60%}}
