:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef1f4;--panel:#fff;--raised:#f6f8fa;--sunken:#eef2f5;--hover:#e6ecf1;--line:#d5dce3;--fg:#1d2731;--text2:#34414d;--muted:#5d6b78;--accent:#ad4318;--ok:#146c45;--warn:#7f5300;--err:#c0362c;--overlay:#1c263073;--shadow:#141e2829;--map-bg:#c9dfee;--map-space:#e4ebf2;--map-glow:#9cc3e6;--map-land:#f4f1e8;--map-border:#a19c90;--map-outline:#fff;--on-accent:#fff;font:13px/1.45 system-ui,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--panel:#121212;--raised:#1c1c1c;--sunken:#0a0a0a;--hover:#262626;--line:#3a3a3a;--fg:#f5f5f5;--text2:#e0e0e0;--muted:#b0b0b0;--accent:#ff8a5c;--ok:#4cd68f;--warn:#ffc247;--err:#ff7b72;--overlay:#000000c7;--shadow:#000000b3;--map-bg:#0d2133;--map-land:#34393e;--map-space:#000;--map-glow:#2f5f93;--map-border:#7a7a7a;--map-outline:#0b0b0b;--on-accent:#000}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);margin:0;overflow:hidden}#app{grid-template-rows:34px auto 1fr 24px;grid-template-columns:minmax(0,1fr);height:100%;display:grid}#titlebar{background:var(--sunken);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:0 10px;display:flex}#titlebar .brand{letter-spacing:.01em;font-size:14px;font-weight:600}#titlebar .brand .x{color:var(--accent)}#titlebar .tag{color:var(--muted);border:1px solid var(--line);letter-spacing:.04em;vertical-align:1px;border-radius:4px;margin-left:6px;padding:0 6px;font-size:9px;font-weight:600}#quickbar{gap:2px;display:flex}#quickbar button{color:var(--muted);background:0 0;border-color:#0000;align-items:center;padding:2px 6px;display:flex}#quickbar button:hover{color:var(--fg);border-color:var(--line);background:var(--hover)}.tb-right{margin-left:auto}.tb-hint{color:var(--muted);font-size:11px}section{margin-top:16px}h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:11px}h3{margin:12px 0 6px;font-size:13px}.hint{color:var(--muted);margin:4px 0 0;font-size:11px}select,button{font:inherit;color:var(--fg);background:var(--hover);border:1px solid var(--line);cursor:pointer;border-radius:4px;padding:5px 9px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.row{flex-wrap:wrap;gap:6px;display:flex}.layer{border-bottom:1px solid var(--line);grid-template-columns:18px 16px 1fr auto;align-items:start;gap:6px;padding:5px 2px;display:grid}.layer.selected{background:var(--hover);box-shadow:inset 2px 0 0 var(--accent)}.layer .name{cursor:pointer}.layer .name:hover{color:var(--accent)}.layer .tools{gap:2px;display:flex}.layer .tools button{border-radius:4px;padding:0 5px;font-size:10px;line-height:18px}.layer .legend{color:var(--muted);grid-column:3/5;padding:2px 0;font-size:11px}.layer .legend small{margin-bottom:1px;font-style:italic;display:block}.layer .legend div{align-items:center;gap:6px;line-height:16px;display:flex}.layer .legend i{border-radius:2px;flex:none;width:12px;height:10px}.layer .legend i.sym-sw{border-radius:0;width:14px;height:14px;display:inline-flex}.layer .legend .more{padding-left:18px}.badge{border-radius:4px;margin-top:2px;padding:0 6px;font-size:10px;line-height:16px;display:inline-block!important}.badge.ok{background:color-mix(in srgb, var(--ok) 15%, transparent);color:var(--ok)!important}.badge.busy{background:color-mix(in srgb, var(--warn) 15%, transparent);color:var(--warn)!important}.badge.warn{background:color-mix(in srgb, var(--err) 13%, transparent);color:var(--err)!important}.layer input{margin:2px 0 0}.layer .meta b{word-break:break-all;font-weight:600}.layer small{color:var(--muted);display:block}.swatch{background:var(--c);border-radius:3px;width:14px;height:14px;margin-top:2px}.swatch.line{border-radius:2px;height:4px;margin-top:7px}.swatch.point{border-radius:50%;width:10px;height:10px;margin:4px 2px}#map{background:var(--map-space);height:100%;min-height:0;position:relative}#deck-canvas,.gpu-points{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}#hud{border:1px solid var(--line);pointer-events:none;z-index:10;background:#0d161fdb;border-radius:4px;min-width:210px;padding:8px 10px;font:12px/1.6 monospace;position:absolute;top:10px;left:10px}#hud div{justify-content:space-between;gap:14px;display:flex}#hud span{color:var(--muted)}#results table{border-collapse:collapse;width:100%;font-size:12px}#results td,#results th{border-bottom:1px solid var(--line);text-align:right;padding:3px 4px}#results td:first-child,#results th:first-child{text-align:left}#results .summary{color:var(--muted)}#results a{color:var(--accent)}#panel{padding:0 2px 20px}#panel[hidden]{display:none}#panel header:not(.ly-head){justify-content:space-between;align-items:start;gap:8px;margin-bottom:8px;display:flex}#panel header:not(.ly-head) b{word-break:break-all;display:block}#panel header small{color:var(--muted)}#panel header:not(.ly-head) button{padding:2px 8px}#panel h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px;font-size:11px}#panel p{margin:6px 0}#panel .field{margin:7px 0;display:block}#panel .field>span{color:var(--muted);justify-content:space-between;margin-bottom:2px;font-size:11px;display:flex}#panel select,#panel input[type=range]{width:100%}#panel input[type=number]{width:64px;font:inherit;color:var(--fg);background:var(--hover);border:1px solid var(--line);border-radius:4px;padding:3px 6px}#panel .row{align-items:center}#panel .check{align-items:center;gap:6px;margin:6px 0;display:flex}#panel .ramp{border-radius:4px;height:8px;margin:2px 0 8px}#panel table.classes{border-collapse:collapse;width:100%;font-size:12px}#panel table.classes th{color:var(--muted);text-align:left;font-size:11px;font-weight:500}#panel table.classes td{border-bottom:1px solid var(--line);padding:2px 4px}#panel table.classes td:nth-child(3){text-align:right;font-variant-numeric:tabular-nums}#panel input[type=color]{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:3px;width:26px;height:18px;padding:0}#panel td.bar{width:70px}#panel td.bar i{background:var(--muted);opacity:.6;border-radius:2px;height:7px;display:block}#panel .progress{background:var(--hover);border-radius:4px;height:8px;overflow:hidden}#panel .progress i{background:var(--accent);height:100%;transition:width .4s;display:block}.err{color:var(--err)}.fatal{background:color-mix(in srgb, var(--err) 18%, var(--panel));color:var(--err);white-space:pre-wrap;padding:10px;position:fixed;inset:auto 10px 10px 350px}@media (max-width:900px){#shell{grid-template-columns:minmax(0,1fr)!important}#shell>#center{grid-area:1/1}#shell>#dock-left,#shell>#dock-right{display:none}#shell>#dock-left.mobile-open,#shell>#dock-right.mobile-open{z-index:20;box-shadow:none;background:var(--panel);display:flex;position:absolute;top:0;bottom:0}#shell>#dock-left.mobile-open{width:min(88%,380px);left:0}#shell>#dock-right.mobile-open{width:min(92%,420px);right:0}#center{grid-template-rows:minmax(0, 1fr) 0 var(--bottom-m,0px)!important}#center.bottom-open{--bottom-m:45vh}.splitter{display:none}.mobile-bar{display:flex}}#devices .device{border:1px solid var(--line);background:var(--sunken);border-radius:4px;margin:6px 0;padding:7px 9px}#devices .device.gone{opacity:.55}#devices .device.live{border-color:color-mix(in srgb, var(--warn) 55%, var(--line))}#devices .dev-head{align-items:baseline;gap:6px;display:flex}#devices .dev-head .muted{margin-left:auto;font-size:11px}#devices .dev-icon{text-align:center;width:1.3em}#devices .dev-meta{color:var(--text2);margin-top:3px;font-size:12px}#devices .dev-meta.ok{color:var(--ok)}#devices .dev-meta.err{color:var(--err)}#devices .dev-actions{margin-top:6px}#devices button{background:var(--accent);color:var(--on-accent);cursor:pointer;border:0;border-radius:4px;padding:3px 9px;font-size:12px}#devices button.ghost{background:var(--line);color:var(--text2)}#devices .muted,.hint{color:var(--muted);font-size:12px}.hint a{color:var(--accent)}section.automate h2 .tag{letter-spacing:.04em;text-transform:none;color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 45%, var(--line));border-radius:4px;margin-left:4px;padding:0 6px;font-size:9px}#automate .recipe{border:1px solid var(--line);background:var(--sunken);border-radius:4px;margin:7px 0;padding:8px 10px}#automate .recipe.auto{border-color:color-mix(in srgb, var(--accent) 50%, var(--line));box-shadow:inset 3px 0 0 var(--accent)}#automate .r-head{align-items:baseline;gap:6px;display:flex}#automate .r-head .tag{color:var(--ok);border:1px solid color-mix(in srgb, var(--ok) 45%, var(--line));border-radius:4px;padding:0 6px;font-size:10px}#automate .r-desc{color:var(--text2);-webkit-line-clamp:2;cursor:pointer;-webkit-box-orient:vertical;margin-top:3px;font-size:12px;display:-webkit-box;overflow:hidden}#automate .recipe.open .r-desc{display:block}#automate .triggers{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}#automate .triggers span{color:var(--text2);background:var(--raised);border-radius:4px;padding:1px 7px;font-size:11px}#automate .r-actions{align-items:center;gap:8px;margin-top:7px;display:flex}#automate .r-actions button.primary{padding:3px 14px;font-size:12px}#automate .switch{color:var(--text2);cursor:pointer;align-items:center;gap:4px;font-size:12px;display:inline-flex}#automate .switch input{accent-color:var(--accent)}#automate .msg{color:var(--err);font-size:11px}#automate .status{color:var(--text2);margin-top:7px;font-size:12px}#automate .status.done{color:var(--ok)}#automate .status.failed,#automate .status.cancelled,#automate .status.interrupted,#automate .err{color:var(--err);font-size:12px}#automate .status.run{color:var(--warn)}#automate .arts{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}#automate button.link{background:var(--raised);border:1px solid var(--line);color:var(--text2);border-radius:4px;padding:1px 8px;font-size:11px}#automate .status button.link{margin-left:6px}#automate ol.steps{color:var(--text2);margin:5px 0 0;padding:0;font-size:11px;list-style:none}#automate ol.steps li{line-height:17px}#automate ol.steps li span{text-align:center;width:12px;display:inline-block}#automate ol.steps li.done span{color:var(--ok)}#automate ol.steps li.failed{color:var(--err)}#automate ol.steps li.running{color:var(--warn)}#automate ol.steps small{color:var(--muted)}#automate .row.save{margin-top:8px}#automate .muted{color:var(--muted);font-size:11px}#artifact-modal{z-index:50;background:var(--overlay);justify-content:center;align-items:center;padding:3vh 3vw;display:flex;position:fixed;inset:0}#artifact-modal[hidden]{display:none}#artifact-modal .sheet{color:#14212b;width:min(1400px,100%);max-width:100%;height:100%;max-height:100%;box-shadow:none;background:#fff;border-radius:4px;flex-direction:column;display:flex;overflow:hidden}#artifact-modal header{border-bottom:1px solid #e3e8ec;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}#artifact-modal header a{color:#c2410c;margin-right:10px}#artifact-modal header button{color:#14212b;background:#eef1f4;border-color:#d5dde3}#artifact-modal img{object-fit:contain;background:#fff;flex:1;width:100%;min-height:0}#artifact-modal iframe{background:#eef1f4;border:0;flex:1;width:100%}#rasters .raster{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:2px 6px;padding:6px 0;display:grid}#rasters .raster label{align-items:center;gap:6px;min-width:0;display:flex}#rasters .raster .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#rasters .raster .tag{opacity:.7;border:1px solid var(--line);border-radius:4px;padding:0 6px;font-size:10px}#rasters .raster .fit{color:inherit;cursor:pointer;background:0 0;border:none;padding:0 2px}#rasters .raster input[type=range],#rasters .raster .ramp,#rasters .raster .ends,#rasters .raster .classes,#rasters .raster .note,#rasters .raster .meta{grid-column:1/-1}#rasters .raster .ramp{border:1px solid var(--line);border-radius:3px;height:10px}#rasters .raster .ends{opacity:.8;justify-content:space-between;font-size:11px;display:flex}#rasters .raster .classes{margin:2px 0 0;padding:0;font-size:11px;list-style:none}#rasters .raster .classes li{align-items:center;gap:6px;line-height:16px;display:flex}#rasters .raster .classes i{border-radius:2px;flex:none;width:14px;height:10px;display:inline-block}#rasters .raster .note,#rasters .raster .meta{opacity:.6;font-size:11px}#rasters .muted{opacity:.7;font-size:12px}h1 .tag:empty{display:none}.phone-card{border:1px solid var(--line);background:#ef7b550f;border-radius:4px;margin:0 0 10px;padding:8px 10px}.phone-card[data-state=on]{border-color:#ef7b558c}.phone-head{align-items:center;gap:8px;display:flex}.phone-ico{font-size:20px}.phone-title{flex-direction:column;flex:1;line-height:1.25;display:flex}.phone-title span{color:var(--muted);font-size:11px}.phone-head button,.phone-actions button{border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:4px 9px;font-size:12px}.phone-head button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.phone-qr{background:#fff;border-radius:4px;width:220px;margin:10px auto 6px;padding:6px}.phone-qr svg{width:100%;height:auto;display:block}.phone-steps{color:var(--muted);margin:6px 0;padding-left:18px;font-size:12px}.phone-steps li{margin:3px 0}.phone-url{color:var(--muted);word-break:break-all;margin:4px 0;font-size:11px}.phone-actions{justify-content:flex-end;gap:6px;display:flex}.phone-err{color:var(--err);margin:6px 0 0;font-size:12px}#shell{--left:300px;--right:340px;--bottom:232px;grid-template-columns:var(--left) 5px minmax(0, 1fr) 5px var(--right);min-height:0;display:grid;position:relative}#center{grid-template-rows:minmax(0, 1fr) 5px var(--bottom);min-width:0;min-height:0;display:grid;position:relative}#ribbon{background:var(--panel);border-bottom:1px solid var(--line);-webkit-user-select:none;user-select:none}#ribbon-tabs{gap:2px;padding:3px 8px 0;display:flex}#ribbon-tabs .rb-tab{color:var(--muted);background:0 0;border:1px solid #0000;border-bottom:none;border-radius:4px 5px 0 0;padding:3px 13px;font-size:12px}#ribbon-tabs .rb-tab:hover{color:var(--fg)}#ribbon-tabs .rb-tab.on{background:var(--hover);border-color:var(--line);color:var(--fg);box-shadow:inset 0 -2px 0 var(--accent)}#ribbon-body{background:var(--hover);border-top:1px solid var(--line);align-items:stretch;gap:0;min-height:82px;padding:6px 8px 5px;display:flex;overflow-x:auto}#ribbon-body .rb-spacer{flex:1}.rb-group{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;padding:0 7px;display:flex}.rb-group:last-of-type{border-right:none}.rb-group.wide{flex:none}.rb-items{align-items:stretch;gap:2px;height:72px;display:flex}.rb-btn{color:var(--fg);text-align:center;background:0 0;border:1px solid #0000;border-radius:4px;flex-direction:column;justify-content:flex-start;align-items:center;gap:3px;font-size:11px;line-height:1.2;display:flex}.rb-btn.big{min-width:56px;max-width:92px;height:72px;padding:4px 6px 3px}.rb-btn.big .rb-ico{flex:none}.rb-btn.big .rb-label{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.rb-col{flex-direction:column;justify-content:flex-start;gap:1px;padding-top:1px;display:flex}.rb-btn.small{text-align:left;flex-direction:row;justify-content:flex-start;gap:6px;max-width:200px;height:22px;padding:1px 7px 1px 5px}.rb-btn.small .rb-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rb-btn:active{background:var(--line)}.rb-btn .rb-ico{color:var(--muted);flex:none;display:flex}.rb-btn:hover .rb-ico{color:var(--accent)}.rb-btn kbd{color:var(--muted);font-family:inherit;font-size:9px;display:block}.rb-title{text-align:center;color:var(--muted);letter-spacing:.03em;margin-top:2px;font-size:10px}.dock{background:var(--panel);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}#dock-left{border-right:1px solid var(--line)}#dock-right{border-left:1px solid var(--line)}#dock-bottom{border-top:1px solid var(--line);margin:0}.dock.collapsed .dock-body{display:none}#dock-left.collapsed .dock-tabs,#dock-right.collapsed .dock-tabs{flex-direction:column;align-items:stretch;overflow:hidden auto}#dock-left.collapsed .dock-tabs button,#dock-right.collapsed .dock-tabs button{writing-mode:vertical-rl;white-space:nowrap;text-overflow:ellipsis;border-bottom:none;border-left:2px solid #0000;max-height:150px;padding:8px 4px;overflow:hidden}#dock-left.collapsed .dock-tabs button{transform:rotate(180deg)}#dock-left.collapsed .dock-tabs button.on,#dock-right.collapsed .dock-tabs button.on{border-left-color:var(--accent);border-bottom-color:#0000}#dock-bottom.collapsed .dock-tabs button{padding:4px 8px}.dim{color:var(--muted)}.dock-tabs{background:var(--sunken);border-bottom:1px solid var(--line);flex:none;gap:0;padding:0 4px;display:flex}.dock-tabs button{letter-spacing:.02em;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:5px 10px;font-size:11px}.dock-tabs button:hover{color:var(--fg)}.dock-tabs button.on{color:var(--fg);border-bottom-color:var(--accent);background:var(--panel)}.dock-body{flex:1;min-height:0;padding:8px 10px 18px;overflow:auto}.dock-body>section{display:none}.dock-body>section.on{display:block}.dock-body h2{margin-top:14px}.dock-body h2:first-child{margin-top:0}.splitter{background:var(--line);cursor:col-resize}.splitter:hover,body.resizing .splitter{background:var(--accent)}.splitter.horizontal{cursor:row-resize}body.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.resizing .splitter.horizontal{cursor:row-resize}#statusbar{background:var(--sunken);border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:10px;padding:0 12px;font-size:11px;display:flex}#statusbar .mono{font-family:monospace}#statusbar .sb-grow{flex:1}#statusbar .sb-sep{background:var(--line);width:1px;height:12px}#sb-msg{color:var(--accent);font-weight:600}#palette{z-index:60;background:var(--overlay);justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}#palette[hidden]{display:none}#palette .pal-box{background:var(--panel);border:1px solid var(--line);width:min(640px,92vw);box-shadow:none;border-radius:4px;overflow:hidden}#palette-input{width:100%;font:inherit;color:var(--fg);background:var(--hover);border:0;border-bottom:1px solid var(--line);outline:none;padding:11px 14px}#palette-list{max-height:52vh;overflow:auto}.pal-row{cursor:pointer;border-bottom:1px solid var(--line);grid-template-columns:58px 1fr auto;align-items:center;gap:8px;padding:6px 12px;display:grid}.pal-row.on{background:var(--line);box-shadow:inset 2px 0 0 var(--accent)}.pal-row .pk{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-size:10px}.pal-row .pl{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pal-row .ps{color:var(--muted);font-size:11px}.keys-help{padding:14px 16px 18px}.keys-help h3{margin:0 0 8px}.keys-help table{border-collapse:collapse;width:100%;font-size:12px}.keys-help td{border-bottom:1px solid var(--line);padding:3px 4px}.keys-help td.dim,.keys-help .dim{color:var(--muted)}kbd{background:var(--hover);border:1px solid var(--line);border-radius:4px;padding:0 5px;font-family:monospace;font-size:11px}.pane-tools{margin-bottom:6px}.pane-tools input,.attr-tools input{width:100%;font:inherit;color:var(--fg);background:var(--hover);border:1px solid var(--line);border-radius:4px;padding:4px 8px}.tree .node{cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:3px 6px;font-size:12px;display:flex}.tree .node:hover{background:var(--hover)}.tree .node.on{background:var(--line);box-shadow:inset 2px 0 0 var(--accent)}.tree .node .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tree .node .ct{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.tree .node.source{color:var(--text2);font-weight:600}.tree .cat-head{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:10px 6px 3px;font-size:10px}.tree .cat-head:first-child{margin-top:2px}.tree .node.file{color:var(--fg)}.tree .node.file.sel{background:var(--line)}.tree .node.file .ct.ok{color:var(--ok);display:flex}.tree .node.file .ct.add{color:var(--muted);background:0 0;border-color:#0000;padding:1px 4px;display:flex}.tree .node.file:hover .ct.add,.tree .node.file .ct.add:focus-visible{color:var(--accent);border-color:var(--line)}.cat-intro{margin:2px 2px 6px}.pane-tools{gap:4px;display:flex}.pane-tools input{flex:1;min-width:0}#project-pane dl.props{grid-template-columns:auto 1fr;gap:4px 10px;margin:0 0 10px;font-size:12px;display:grid}#project-pane dl.props dt{color:var(--muted)}#project-pane dl.props dd{overflow-wrap:anywhere;min-width:0;margin:0}#project-pane dd.path{font-family:monospace;font-size:11px}#project-pane h2{margin-top:12px}#project-pane .row button{align-items:center;gap:4px;display:inline-flex}button.link{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:0;padding:0 2px;text-decoration:underline}.bookmarks .bm{gap:4px;margin-bottom:4px;display:flex}.bookmarks .bm-go{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.bookmarks button.icon{padding:2px 7px}#diagnostics{border-top:1px solid var(--line);margin-top:16px;padding-top:8px}#diagnostics summary{cursor:pointer;color:var(--muted);font-size:12px}#diagnostics[open] summary{margin-bottom:8px}.tree .kids{border-left:1px solid var(--line);margin-left:14px;padding-left:2px}.tree .dot{background:var(--muted);border-radius:2px;flex:none;width:8px;height:8px}.tree .dot.g-point{background:#6ec6ff;border-radius:50%}.tree .dot.g-line{background:#ffd166;height:3px}.tree .dot.g-polygon{background:var(--ok)}.pane-empty{color:var(--muted);padding:10px 4px;font-size:12px}.pane-head{align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.pane-title{font-weight:600}.pane-sub{color:var(--muted);margin-left:auto;font-size:11px}.seg{gap:3px;margin-bottom:8px;display:flex}.seg button{background:var(--hover);flex:1;padding:3px 6px;font-size:11px}.seg button.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.attr-tools{align-items:center;gap:6px;margin-bottom:6px;display:flex}.attr-tools input{flex:1}.attr-tools .rows{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px}.attr-wrap{border:1px solid var(--line);border-radius:4px;max-height:calc(100% - 70px);overflow:auto}table.attr{border-collapse:collapse;width:max-content;min-width:100%;font-size:11.5px}table.attr th{z-index:1;background:var(--hover);color:var(--muted);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:4px 7px;font-weight:600;position:sticky;top:0}table.attr td{border-bottom:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;max-width:220px;padding:3px 7px;overflow:hidden}table.attr td.rh{color:var(--muted);text-align:right;background:var(--raised);position:sticky;left:0}table.attr tr:hover td{background:var(--hover);cursor:pointer}table.attr i.null{color:var(--muted)}table.attr td.empty{color:var(--muted);text-align:center;padding:14px}.attr-foot{color:var(--muted);align-items:center;gap:8px;margin-top:6px;font-size:11px;display:flex}.attr-foot button{padding:2px 8px;font-size:11px}.chart-box{padding:4px 2px}.chart-title{color:var(--muted);margin-bottom:8px;font-size:11px}.bar-row{grid-template-columns:92px 1fr 52px;align-items:center;gap:6px;margin-bottom:3px;font-size:11px;display:grid}.bar-key{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);overflow:hidden}.bar{background:#ef7b55;border-radius:2px;min-width:2px;height:10px}.bar-val{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.run-list{flex-direction:column;display:flex}.run-row{border-bottom:1px solid var(--line);grid-template-columns:74px 1fr auto 56px auto;align-items:center;gap:8px;padding:4px 6px;font-size:12px;display:grid}.run-row:hover{background:var(--hover)}.run-row .st{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:10px}.run-row.done .st{color:var(--ok)}.run-row.failed .st,.run-row.cancelled .st,.run-row.interrupted .st{color:var(--err)}.run-row.running .st,.run-row.queued .st{color:var(--warn)}.run-row .rt{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.run-row .rm,.run-row .rd{color:var(--muted);font-size:11px}.run-row button{padding:1px 8px;font-size:11px}.log-list{font:11.5px/1.5 monospace}.log-row{border-bottom:1px solid var(--line);gap:8px;padding:1px 4px;display:flex}.log-row .lt{color:var(--muted);flex:none}.log-row.warn{color:var(--warn)}.log-row.error{color:var(--err)}.identify table{border-collapse:collapse;font-size:11.5px}.identify th{text-align:right;color:var(--muted);vertical-align:top;padding:2px 8px 2px 0;font-weight:500}.identify td{word-break:break-word;padding:2px 0}.maplibregl-popup-content{border:1px solid var(--line);border-radius:4px;max-height:40vh;overflow:auto;background:var(--raised)!important;color:var(--fg)!important;padding:10px 12px!important}.maplibregl-popup-tip{border-top-color:var(--raised)!important;border-bottom-color:var(--raised)!important}.maplibregl-popup-close-button{font-size:16px;color:var(--muted)!important}.rb-items.recipes{grid-template-columns:repeat(5,minmax(150px,1fr));align-items:stretch;gap:4px;display:grid}.rb-recipe{text-align:left;background:var(--hover);border:1px solid var(--line);color:var(--fg);border-radius:4px;grid-template-rows:auto auto;grid-template-columns:26px 1fr auto;align-items:center;gap:1px 8px;min-height:48px;padding:5px 8px;display:grid}.rb-recipe:hover{border-color:var(--accent);background:var(--line)}.rb-recipe .rr-ico{color:var(--accent);grid-row:1/3;align-items:center;display:flex}.rb-recipe .rr-txt{flex-direction:column;min-width:0;display:flex}.rb-recipe .rr-name{white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:600;overflow:hidden}.rb-recipe .rr-desc{color:var(--muted);max-height:26px;font-size:10px;line-height:1.25;overflow:hidden}.rb-recipe .rr-run{color:var(--muted);white-space:nowrap;grid-row:1/3;align-items:center;gap:3px;font-size:9.5px;display:flex}.rb-recipe:hover .rr-run{color:var(--accent)}.plugin-tools{align-items:center;gap:6px;margin-bottom:10px;display:flex}.plugin-tools input{font:inherit;color:var(--fg);background:var(--hover);border:1px solid var(--line);border-radius:4px;flex:1;padding:4px 8px}.plugin-list{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:10px;display:grid}.plugin{border:1px solid var(--line);background:var(--raised);border-radius:4px;padding:8px 10px 9px}.plugin.off{border-style:dashed}.plugin .p-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.plugin .p-name{font-weight:600}.plugin .p-ver{color:var(--muted);font-size:11px}.plugin .p-desc{color:var(--text2);margin:3px 0 5px;font-size:11.5px}.plugin .p-warn{color:var(--warn);background:color-mix(in srgb, var(--warn) 9%, transparent);border-left:2px solid var(--warn);border-radius:0 4px 4px 0;margin-bottom:5px;padding:3px 6px;font-size:11px}.plugin .p-path{color:var(--muted);word-break:break-all;margin-top:4px;font-size:10px}.plugin .p-tools{flex-direction:column;gap:2px;display:flex}.tool-row{grid-template-columns:20px minmax(90px,auto) 1fr auto;align-items:center;gap:6px;padding:2px 0;font-size:11.5px;display:grid}.tool-row .tool-ico{color:var(--accent);display:flex}.tool-row .tool-name{cursor:pointer;font-weight:600}.tool-row .tool-name:hover{color:var(--accent)}.tool-row .tool-sum{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tool-row button{padding:1px 8px;font-size:11px}.tool-row.dim,.cmd-row{color:var(--muted);font-size:11px}.cmd-row{margin-top:4px}.badge.src-native{background:color-mix(in srgb, var(--ok) 15%, transparent);color:var(--ok)!important}.badge.src-rustgis{background:var(--raised);color:#2f80c0!important}.badge.src-geolibre{background:var(--sunken);color:#7a57c9!important}.badge.src-qgis{background:var(--sunken);color:#3f8f35!important}.badge.src-arcgis{background:var(--sunken);color:#b5741c!important}#plugin-modal{z-index:55;background:var(--overlay);justify-content:center;align-items:center;padding:4vh 4vw;display:flex;position:fixed;inset:0}#plugin-modal[hidden]{display:none}#plugin-modal .sheet{background:var(--panel);border:1px solid var(--line);width:min(520px,100%);box-shadow:none;border-radius:4px;overflow:hidden}#plugin-modal header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:10px;padding:10px 14px;display:flex}#plugin-modal header .dim{font-size:11px}#plugin-modal header button{padding:0 8px}#plugin-modal .body{flex-direction:column;gap:8px;max-height:52vh;padding:12px 14px;display:flex;overflow:auto}#plugin-modal footer{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:8px;padding:10px 14px;display:flex}#plugin-modal footer .dim{margin-right:auto;font-size:11px}#plugin-modal .pf{flex-direction:column;gap:2px;font-size:11.5px;display:flex}#plugin-modal .pf>span{color:var(--muted)}#plugin-modal .pf.check{flex-direction:row;align-items:center;gap:6px}#plugin-modal input,#plugin-modal select{font:inherit;color:var(--fg);background:var(--hover);border:1px solid var(--line);border-radius:4px;padding:5px 8px}.rb-combo{background:var(--raised);border:1px solid var(--line);height:46px;color:var(--fg);border-radius:4px;align-items:center;gap:6px;padding:0 7px 0 10px;font-size:12px;display:flex}.rb-combo:hover{background:var(--hover);border-color:var(--accent)}.rb-combo.on{background:var(--line);border-color:var(--accent)}.rb-combo .rb-ico{color:var(--accent);display:flex}.rb-combo-label{white-space:nowrap;font-weight:600}.rb-combo-count{background:var(--line);min-width:17px;color:var(--text2);text-align:center;border-radius:4px;padding:0 4px;font-size:10px;line-height:15px}.rb-caret{color:var(--muted);margin-left:-2px;display:flex}.rb-title-btn{color:var(--muted);vertical-align:-1px;background:0 0;border:none;margin-left:3px;padding:0 2px;display:inline-flex}.rb-title-btn:hover{color:var(--accent)}.rb-menu{z-index:60;background:var(--panel);border:1px solid var(--line);box-shadow:none;border-radius:4px;flex-direction:column;padding:4px;display:flex;position:fixed;overflow-y:auto}.rb-menu-head{color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;gap:8px;margin-bottom:3px;padding:4px 6px 6px;font-size:10.5px;display:flex}.rb-menu-row{color:var(--fg);text-align:left;background:0 0;border:none;border-radius:4px;align-items:flex-start;gap:8px;padding:5px 6px;display:flex}.rb-menu-row:hover{background:var(--line)}.rb-menu-row:hover .rm-ico{color:var(--accent)}.rb-menu-row .rm-ico{color:var(--muted);flex:none;margin-top:1px}.rb-menu-row .rm-txt{flex-direction:column;min-width:0;display:flex}.rb-menu-row .rm-name{white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:600;overflow:hidden}.rb-menu-row .rm-desc{color:var(--muted);font-size:10px;line-height:1.25}.rb-menu-empty{color:var(--muted);padding:6px;font-size:11px}#ribbon-tabs .rb-pin{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;margin-left:auto;padding:2px 7px;font-size:10.5px;display:flex}#ribbon-tabs .rb-pin:hover{color:var(--fg);background:var(--line);border-color:var(--line)}#ribbon-tabs .rb-pin.on{color:var(--accent)}#ribbon-tabs .rb-pin .rb-pin-ico{display:flex;transform:rotate(-45deg)}#ribbon-tabs .rb-pin.on .rb-pin-ico{transform:none}#ribbon.auto #ribbon-tabs{padding-bottom:3px}#ribbon.auto #ribbon-tabs .rb-tab{border-bottom:1px solid #0000}#ribbon-body[hidden]{display:none}.plugin .p-foot{align-items:center;gap:8px;margin-top:6px;display:flex}.plugin .p-foot .p-path{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.plugin .p-del,.plugin .p-keep{font-size:10.5px}.plugin .p-del{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:4px;flex:none;padding:2px 8px}.plugin .p-del:hover{color:var(--err);border-color:var(--err);background:color-mix(in srgb, var(--err) 10%, transparent)}#panel .auto-why{border-left:3px solid var(--accent);color:var(--fg);background:#ef7b5514;border-radius:4px;margin:8px 0 10px;padding:8px 10px;font-size:12px}#panel .auto-why b{color:var(--accent);margin-bottom:2px;display:block}#panel .auto-btn{width:100%;margin:8px 0 10px}.lc-mode{background:var(--sunken);border:1px solid var(--line);border-radius:4px;margin:2px 0 8px;padding:2px;display:inline-flex}.lc-mode button{color:var(--muted);background:0 0;border:0;border-radius:4px;padding:3px 14px;font-size:12px}.lc-mode button[aria-selected=true]{background:var(--accent);color:var(--on-accent);font-weight:600}body[data-mode=lazy] #contents+.hint{display:none}.lc-group{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);justify-content:space-between;margin:12px 2px 6px;font-size:10.5px;display:flex}#contents .layer.card,#contents .card.basemap{background:var(--raised);border:1px solid #0000;border-radius:4px;margin:0 0 8px;padding:10px 10px 9px 14px;display:block;position:relative}#contents .card:before{content:"";background:var(--c);border-radius:4px;width:4px;position:absolute;top:10px;bottom:10px;left:0}#contents .layer.card.selected{border-color:var(--accent);box-shadow:none;background:var(--hover)}#contents .layer.card.off{opacity:.6}.lc-top{align-items:center;gap:9px;display:flex}.lc-glyph{width:28px;height:28px;color:var(--c);background:color-mix(in srgb, var(--c) 20%, transparent);border-radius:4px;flex:none;place-items:center;font-size:14px;display:grid}.lc-title{flex:1;min-width:0}.lc-title b{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;display:block;overflow:hidden}.lc-title small{color:var(--muted)}.lc-eye{border:1px solid var(--line);cursor:pointer;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid;position:relative}.lc-eye input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.lc-eye:hover{border-color:var(--accent)}.lc-sentence{color:var(--text2);margin:8px 0 7px;font-size:12.5px;line-height:1.45}.lc-bar{background:var(--sunken);border-radius:4px;gap:1px;height:9px;display:flex;overflow:hidden}.lc-bar i{min-width:3px}.lc-ticks{color:var(--muted);justify-content:space-between;margin-top:2px;font-size:10.5px;display:flex}.lc-chips{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.lc-chip{background:var(--sunken);color:var(--muted);border-radius:4px;padding:1px 8px;font-size:11px}.lc-chip.ok{color:var(--ok)}.lc-chip.busy{color:var(--warn)}.lc-chip.warn{color:var(--accent)}.lc-prog{background:var(--sunken);border-radius:2px;height:3px;margin-top:6px;overflow:hidden}.lc-prog i{background:var(--warn);height:100%;transition:width .4s;display:block}.lc-acts{gap:5px;margin-top:9px;display:flex}.lc-acts button{background:var(--sunken);border:1px solid var(--line);white-space:nowrap;border-radius:4px;flex:1;padding:5px 4px;font-size:12px}.lc-acts button.pri{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.lc-acts button[data-act=props]{flex:0 0 34px}.lc-switch{background:var(--sunken);border:1px solid var(--line);border-radius:4px;padding:3px 10px;font-size:12px}.pr-tool{color:var(--muted);align-items:center;gap:8px;margin-bottom:6px;font-size:11px;display:flex}.pr-filter{background:var(--sunken);border:1px solid var(--line);min-width:0;color:var(--fg);border-radius:4px;flex:1;padding:3px 7px;font-size:12px}#contents .layer.pro{grid-template-columns:12px 16px 14px minmax(0,1fr) auto 40px;align-items:center;gap:5px;padding:4px 2px;position:relative}#contents .layer.pro .swatch{margin-top:0}.pr-h{color:var(--muted);cursor:grab;letter-spacing:-2px;font-size:10px}.layer.pro .name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.layer.pro .name em{color:var(--muted);font-size:11px;font-style:normal}.pr-n{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.pr-op{width:40px;height:12px;accent-color:var(--muted);margin:0}.layer.pro .tools{background:var(--panel);opacity:0;border-radius:4px;padding:1px 2px;transition:opacity .12s;position:absolute;top:2px;right:2px}.layer.pro:hover .tools,.layer.pro:focus-within .tools{opacity:1}.pr-sub{color:var(--muted);grid-column:3/-1;font-size:11px}.pr-sub b{background:var(--sunken);border-radius:3px;margin-left:3px;padding:0 5px;font-size:10px;font-weight:500}.pr-sub b.busy{color:var(--warn)}.pr-sub b.warn{color:var(--accent)}.layer.pro .legend{grid-column:3/-1}.layer.pro .legend span{font-variant-numeric:tabular-nums;margin-left:auto}#mode-switch .lc-mode{margin:0 10px 0 0}#mode-switch .lc-mode button{padding:1px 12px;font-size:11px}.tb-right{align-items:center;display:flex}#ribbon-tabs .rb-ctx{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent);white-space:nowrap;text-overflow:ellipsis;border:1px solid #0000;border-bottom:0;border-radius:4px 6px 0 0;max-width:280px;margin-left:10px;padding:4px 12px;font-size:12px;overflow:hidden}#ribbon-tabs .rb-ctx span{margin-right:2px;font-weight:700}#ribbon-tabs .rb-ctx.on{background:var(--hover);border-color:var(--accent);color:var(--fg);box-shadow:inset 0 -2px 0 var(--accent)}.rb-items.next{flex-direction:column;justify-content:center;gap:4px}.rb-next{background:color-mix(in srgb, var(--accent) 14%, var(--sunken));border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:4px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;display:flex}.rb-next:hover{background:var(--accent);color:var(--on-accent)}#ribbon.lazy #ribbon-tabs{display:none}#ribbon.lazy #ribbon-body{border-top:0;min-height:0;padding:8px 10px}.tk-bar{align-items:center;gap:12px;width:100%;display:flex}.tk-ask{background:var(--sunken);border:1px solid var(--line);min-width:200px;color:var(--muted);text-align:left;border-radius:4px;flex:0 300px;align-items:center;gap:8px;padding:9px 12px;font-size:13px;display:flex}.tk-ask span{flex:1}.tk-ask kbd{border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:3px 5px;font:10px/1 system-ui}.tk-ask:hover{border-color:var(--accent);color:var(--fg)}.tk-tasks{flex:auto;gap:6px;min-width:0;display:flex}.tk-task{text-align:left;background:0 0;border:1px solid #0000;border-radius:4px;flex:0 auto;align-items:center;gap:9px;min-width:0;padding:6px 12px 6px 8px;display:flex}.tk-task:hover,.tk-task.on{background:var(--hover);border-color:var(--line)}.tk-ico{width:34px;height:34px;color:var(--accent);background:color-mix(in srgb, var(--accent) 15%, transparent);border-radius:4px;flex:none;place-items:center;display:grid}.tk-txt b{color:var(--fg);white-space:nowrap;font-size:13px;font-weight:600;display:block}.tk-txt{min-width:0}.tk-txt small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.tk-next{border-left:1px solid var(--line);align-items:center;gap:6px;min-width:0;margin-left:auto;padding-left:12px;display:flex}.tk-next-h{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:11px;overflow:hidden}.tk-next.empty .tk-next-h{font-style:italic}.tk-next-btn{white-space:nowrap;background:var(--accent);color:var(--on-accent);border:0;border-radius:4px;align-items:center;gap:5px;padding:6px 12px;font-size:12px;font-weight:600;display:flex}.tk-next-btn+.tk-next-btn{background:var(--sunken);border:1px solid var(--line);color:var(--fg);font-weight:500}@media (max-width:1600px){.tk-txt small{display:none}}body[data-mode=lazy] .dock-tabs button:is([data-tab=automate],[data-tab=plugins],[data-tab=history],[data-tab=log],[data-tab=project]),body[data-mode=pro] .dock-tabs button[data-tab=activity],body[data-mode=pro] #inspector,body[data-mode=lazy] :is(#panel,#raster-sym),:is(body[data-mode=lazy]:not(:has(#inspector .ins-empty)) #map-props,body[data-mode=lazy] #inspector:has(.ins-empty)){display:none}.ins{padding:4px 4px 16px}.ins-head{align-items:center;gap:10px;margin:4px 0 8px;display:flex}.ins-glyph{background:color-mix(in srgb, var(--c) 25%, transparent);width:36px;height:36px;box-shadow:inset 0 0 0 2px var(--c);border-radius:4px;flex:none}.ins-head h2{text-transform:none;letter-spacing:0;color:var(--fg);margin:0;font-size:16px}.ins-head small{color:var(--muted)}.ins-story{color:var(--text2);margin:6px 0 10px;font-size:13px;line-height:1.5}.ins-why{border-left:3px solid var(--accent);color:var(--text2);background:#ef7b5514;border-radius:4px;margin:0 0 12px;padding:8px 10px;font-size:12px}.ins-why b{color:var(--accent);margin-bottom:2px;display:block}.ins-legend{gap:4px;margin-bottom:4px;display:grid}.ins-cls{grid-template-columns:12px minmax(0,1fr) 70px 52px;align-items:center;gap:7px;font-size:12px;display:grid}.ins-cls>i{border-radius:3px;width:12px;height:12px}.ins-cls>span:first-of-type{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ins-bar{background:var(--sunken);border-radius:3px;height:6px;overflow:hidden}.ins-bar b{height:100%;display:block}.ins-cls em{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;font-style:normal}.ins h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:16px 0 7px;font-size:10.5px}.ins-chips{flex-wrap:wrap;gap:6px;display:flex}.ins-chip{background:var(--sunken);border:1px solid var(--line);border-radius:4px;padding:4px 11px;font-size:12px}.ins-chip.on{border-color:var(--accent);color:var(--accent);background:#ef7b551a}.ins-chip.auto{border-style:dashed}.ins-op{width:100%;accent-color:var(--accent)}.ins-acts{flex-wrap:wrap;gap:6px;display:flex}.ins-acts button{background:var(--sunken);border:1px solid var(--line);border-radius:4px;flex:auto;padding:7px 10px;font-size:12px}.ins-acts button.pri{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.ins-about{grid-template-columns:70px 1fr;gap:4px 8px;margin:0;font-size:12px;display:grid}.ins-about dt{color:var(--muted)}.ins-about dd{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.ins-empty{text-align:center;color:var(--muted);padding:48px 20px}.ins-empty-ico{color:var(--accent);margin-bottom:8px;font-size:36px}.ins-empty b{color:var(--fg);font-size:14px}.act{grid-template-columns:minmax(260px,1fr) minmax(320px,1.4fr);gap:18px;padding:6px 8px;display:grid}.act h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:2px 0 8px;font-size:10.5px}.act-idea{text-align:left;background:var(--raised);border:1px solid #0000;border-radius:4px;align-items:center;gap:10px;width:100%;margin-bottom:6px;padding:8px 10px;display:flex}.act-idea:hover{border-color:var(--accent)}.act-idea-ico{background:var(--accent);width:28px;height:28px;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;font-size:11px;display:grid}.act-idea b{font-size:13px;display:block}.act-idea small{color:var(--muted)}.act-more{color:var(--accent);background:0 0;border:0;padding:2px 0;font-size:12px}.act-item{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:7px 4px;display:flex}.act-ico{background:var(--sunken);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.act-item.done .act-ico{color:var(--ok)}.act-item.failed .act-ico{color:var(--err)}.act-item.running .act-ico{color:var(--warn)}.act-txt{flex:1;min-width:0}.act-txt b{font-size:12.5px;font-weight:600;display:block}.act-txt small{color:var(--muted)}.act-item button{border-radius:4px;padding:3px 9px;font-size:11px}.act-notes{color:var(--muted);margin-top:8px;font-size:11.5px}.act-note span{opacity:.7;font-variant-numeric:tabular-nums;margin-right:8px}.act-note.warn{color:var(--warn)}.act-note.error{color:var(--err)}.act-empty{color:var(--muted);margin:0;font-size:12px}.pr-tool button{white-space:nowrap;border-radius:4px;padding:2px 7px;font-size:11px}.pr-tree{font-size:12px;position:relative}.pr-map,.pr-group,.pr-base{border-radius:4px;align-items:center;gap:6px;padding:4px 2px;display:flex}.pr-map{color:var(--fg);padding-left:2px}.pr-map>span{color:var(--muted);text-align:center;width:14px}.pr-map small{color:var(--muted);margin-left:auto;font-size:11px}.pr-group{background:var(--raised);margin-left:14px;position:relative}.pr-group:hover,.pr-map:hover{background:var(--hover)}.pr-group .pr-gname{text-overflow:ellipsis;white-space:nowrap;cursor:text;flex:1;min-width:0;overflow:hidden}.pr-gico{color:var(--muted)}.pr-group .tools{opacity:0;gap:2px;display:flex;position:static}.pr-group:hover .tools,.pr-group:focus-within .tools{opacity:1}.pr-group .tools button{border-radius:4px;padding:0 5px;font-size:11px;line-height:18px}.pr-kids{border-left:1px dotted var(--line);margin-left:21px}.pr-kids.off{opacity:.5}.pr-base{border-top:1px solid var(--line);border-radius:0;margin-top:4px;margin-left:14px;padding-top:6px}.pr-base select{margin-left:auto;padding:1px 4px;font-size:11px}.pr-tw{width:14px;height:18px;color:var(--muted);background:0 0;border:0;padding:0;font-size:10px;line-height:18px}.pr-tw:hover:not(:disabled){color:var(--fg)}#contents .layer.pro{margin-left:calc(14px + var(--d,0) * 0px);cursor:grab;border-bottom-color:#0000;border-radius:4px}#contents .pr-kids .layer.pro{margin-left:0;padding-left:6px}#contents .layer.pro.dragging{opacity:.4}.pr-group.drop,.pr-map.drop,#contents .layer.pro.drop{outline:1px dashed var(--accent)}#toolbox{flex-direction:column;height:100%;display:flex}.tb-head{z-index:1;background:var(--panel);margin-top:-8px;padding:10px 0 8px;position:sticky;top:-8px}.tb-search{background:var(--sunken);border:1px solid var(--line);width:100%;color:var(--fg);border-radius:4px;padding:8px 12px;font-size:13px}.tb-search:focus{border-color:var(--accent);outline:none}.tb-sources{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.tb-src{background:var(--sunken);color:var(--muted);vertical-align:1px;border-radius:4px;padding:0 6px;font-size:10px;font-weight:500;display:inline-block}.tb-src.src-geolibre{color:#2f9a5f}.tb-src.src-geospax,.tb-src.src-gsx{color:var(--accent)}.tb-src.src-qgis{color:#4c8f2a}.tb-src.src-arcgis{color:#4aa3df}.tb-src.src-rustgis{color:#c2703a}.tb-count{color:var(--muted);margin:2px 2px 6px;font-size:11px}.tb-cat{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--fg);text-align:left;background:0 0;justify-content:space-between;margin-top:2px;padding:6px 4px;font-size:12px;font-weight:600;display:flex}.tb-cat em{color:var(--muted);font-style:normal;font-weight:400}.tb-cat.static{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;cursor:default;font-size:10.5px}.tb-tool{text-align:left;background:0 0;border:0;border-radius:4px;width:100%;padding:7px 8px 7px 38px;display:block;position:relative}.tb-tool>.tb-ico{position:absolute;top:8px;left:8px}.tb-ico{color:#4aa3df;background:color-mix(in srgb, currentColor 14%, transparent);border-radius:5px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.tb-ico-recipe{color:var(--accent)}.tb-ico-plugin{color:#7bc67b}.tb-detail h3{align-items:center;gap:8px;display:flex}.tb-detail h3 .tb-ico{width:30px;height:30px}.tb-tool:hover{background:var(--hover)}.tb-name{color:var(--fg);font-size:12.5px;font-weight:600;display:block}.tb-tool small{color:var(--muted);margin-top:1px;font-size:11.5px;line-height:1.35;display:block}.tb-tool .tb-aka{color:var(--muted);font-style:italic}.tb-empty,.tb-note{color:var(--muted);font-size:12px}.tb-detail h3{text-transform:none;letter-spacing:0;color:var(--fg);margin:8px 0 4px;font-size:15px}.tb-detail h4{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px;font-size:10.5px}.tb-back{color:var(--accent);background:0 0;border:0;padding:2px 0;font-size:12px}.tb-sum{color:var(--text2);font-size:12.5px;line-height:1.5}.tb-aka-big{background:#4aa3df14;border-left:3px solid #4aa3df;border-radius:4px;padding:8px 10px;font-size:12px}.tb-aka-big b{color:#4aa3df;margin-bottom:2px;display:block}.tb-form{gap:10px;margin-top:10px;display:grid}.tb-form label{gap:4px;font-size:12px;display:grid}.tb-form label span{text-transform:capitalize;font-weight:600}.tb-form label small{color:var(--muted);text-transform:none;font-weight:400;display:block}.tb-form select,.tb-form input{width:100%}.tb-params{grid-template-columns:110px 1fr;gap:4px 8px;margin:0;font-size:12px;display:grid}.tb-params dt{font-weight:600}.tb-params dd{color:var(--muted);margin:0}.tb-plist{margin:0;padding-left:16px;font-size:12px}.tb-plist small{color:var(--muted)}#center{position:relative}#start{z-index:20;background:radial-gradient(circle at 50% 30%, var(--overlay), var(--overlay));place-items:center;padding:24px;display:grid;position:absolute;inset:0;overflow:auto}#start[hidden]{display:none}.st-card{background:var(--panel);border:1px solid var(--line);width:min(760px,100%);box-shadow:none;border-radius:4px;padding:28px 30px 22px;position:relative}.st-card h1{margin:0 0 4px;font-size:24px}.st-card h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:20px 0 8px;font-size:11px}.st-lead{color:var(--text2);margin:0 0 16px;font-size:14px}.st-close{color:var(--muted);background:0 0;border:0;font-size:16px;position:absolute;top:14px;right:14px}.st-drop{border:2px dashed color-mix(in srgb, var(--accent) 60%, transparent);background:color-mix(in srgb, var(--accent) 7%, var(--sunken));width:100%;color:var(--fg);cursor:pointer;border-radius:4px;justify-items:center;gap:6px;padding:34px 16px;transition:background .15s;display:grid}.st-drop:hover{background:color-mix(in srgb, var(--accent) 14%, var(--sunken))}.st-drop-ico{color:var(--accent);font-size:34px;line-height:1}.st-drop b{font-size:16px}.st-drop small{color:var(--muted);font-size:12px}.st-ways{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px;display:grid}.st-ways button{text-align:left;background:var(--raised);border:1px solid #0000;border-radius:4px;padding:12px}.st-ways button:hover{border-color:var(--accent)}.st-ways b{margin-bottom:3px;font-size:13px;display:block}.st-ways small{color:var(--muted);font-size:11.5px;line-height:1.35}.st-maps{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.st-map{background:var(--sunken);border:1px solid var(--line);text-align:left;border-radius:4px;padding:0;overflow:hidden}.st-map:hover{border-color:var(--accent)}.st-map img{object-fit:cover;background:#fff;width:100%;height:96px;display:block}.st-map span{white-space:nowrap;text-overflow:ellipsis;padding:6px 8px;font-size:12px;display:block;overflow:hidden}.st-go{color:var(--accent);background:0 0;border:0;margin:18px 0 0 auto;font-size:13px;display:block}@media (max-width:720px){.st-ways{grid-template-columns:1fr}}#drop-veil{z-index:60;pointer-events:none;border:3px dashed var(--accent);background:#ef7b551f;place-items:center;display:grid;position:fixed;inset:0}#drop-veil[hidden]{display:none}#drop-veil div{text-align:center;background:var(--panel);box-shadow:none;border-radius:4px;gap:4px;padding:22px 30px;display:grid}#drop-veil b{font-size:18px}#drop-veil span{color:var(--muted)}:is(#finish,#online,#rconsole,#plugin-manager){z-index:55;background:var(--overlay);place-items:center;padding:20px;display:grid;position:fixed;inset:0}:is(#finish,#online,#rconsole,#plugin-manager)[hidden]{display:none}:is(#finish,#online,#rconsole,#plugin-manager) .sheet{background:var(--panel);border:1px solid var(--line);width:min(1120px,100%);max-height:calc(100vh - 40px);box-shadow:none;border-radius:4px;flex-direction:column;display:flex}:is(#finish,#online,#rconsole,#plugin-manager) header,:is(#finish,#online,#rconsole,#plugin-manager) footer{align-items:center;gap:8px;padding:12px 16px;display:flex}:is(#finish,#online,#rconsole,#plugin-manager) header{border-bottom:1px solid var(--line);justify-content:space-between;font-size:15px}:is(#finish,#online,#rconsole,#plugin-manager) header button{color:var(--muted);background:0 0;border:0}:is(#finish,#online,#rconsole,#plugin-manager) footer{border-top:1px solid var(--line);justify-content:flex-end}:is(#finish,#online,#rconsole,#plugin-manager) footer .dim{color:var(--muted);margin-right:auto;font-size:12px}:is(#finish,#online,#rconsole,#plugin-manager) .body{gap:12px;min-height:0;padding:14px 16px;display:grid;overflow-y:auto}:is(#finish,#online,#rconsole,#plugin-manager) .fin-lead{color:var(--text2);margin:0;font-size:13px}:is(#finish,#online,#rconsole,#plugin-manager) label{gap:4px;font-size:12px;display:grid}:is(#finish,#online,#rconsole,#plugin-manager) label>span{font-weight:600}:is(#finish,#online,#rconsole,#plugin-manager) input[name=title]{padding:8px 10px;font-size:15px}:is(#finish,#online,#rconsole,#plugin-manager) fieldset{border:1px solid var(--line);border-radius:4px;flex-wrap:wrap;gap:6px 16px;margin:0;padding:8px 10px;display:flex}:is(#finish,#online,#rconsole,#plugin-manager) legend{padding:0 4px;font-size:12px;font-weight:600}:is(#finish,#online,#rconsole,#plugin-manager) label.ck{align-items:center;gap:6px;font-weight:400;display:flex}:is(#finish,#online,#rconsole,#plugin-manager) details summary{cursor:pointer;color:var(--accent);margin-bottom:8px;font-size:12px}:is(#finish,#online,#rconsole,#plugin-manager) details[open]{gap:12px;display:grid}#theme-switch{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:4px;margin-right:10px;padding:1px 10px;font-size:12px}#theme-switch:hover{color:var(--fg);border-color:var(--accent)}.pr-tree [role=treeitem]:focus{outline:none}.pr-tree [role=treeitem]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.fin-field{margin-left:22px}:is(#finish,#online,#rconsole,#plugin-manager) fieldset.fin-layout,:is(#finish,#online,#rconsole,#plugin-manager) fieldset.fin-style{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}:is(#finish,#online,#rconsole,#plugin-manager) .fin-chips>label,:is(#finish,#online,#rconsole,#plugin-manager) .fin-looks>label{display:grid}:is(#finish,#online,#rconsole,#plugin-manager) .fin-grid select,:is(#finish,#online,#rconsole,#plugin-manager) .fin-grid input{width:100%}.fin-chips{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:6px;display:grid}.fin-chips label{border:1px solid var(--line);background:var(--raised);cursor:pointer;border-radius:4px;gap:2px;padding:8px 10px;display:grid}.fin-chips label:hover{background:var(--hover)}.fin-chips input{opacity:0;pointer-events:none;position:absolute}.fin-chips label:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.fin-chips label:has(input:focus-visible){outline:2px solid var(--accent)}.fin-chips small{color:var(--muted);font-size:11px}.fin-opt{flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}.fin-opt[hidden]{display:none}.fin-opt select{margin-left:6px}.fin-looks{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:6px;display:grid}.fin-looks label{border:1px solid var(--line);background:var(--raised);cursor:pointer;border-radius:4px;gap:2px;padding:7px 9px;display:grid}.fin-looks label:hover{background:var(--hover)}.fin-looks input{opacity:0;pointer-events:none;position:absolute}.fin-looks label:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.fin-looks label:has(input:focus-visible){outline:2px solid var(--accent)}.fin-looks small{color:var(--muted);font-size:11px}.fin-grid{grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:8px;display:grid}.fin-grid label{gap:3px;font-size:12px;display:grid}.fin-legend-edit{margin-top:8px}:is(#finish,#online,#rconsole,#plugin-manager) .fin-cols{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,520px);min-height:0;display:grid;overflow:hidden}:is(#finish,#online,#rconsole,#plugin-manager) .fin-cols>.body{border-left:1px solid var(--line);order:2}:is(#finish,#online,#rconsole,#plugin-manager) .fin-preview{background:var(--sunken);order:1;align-content:start;gap:6px;margin:0;padding:14px;display:grid;overflow:auto}:is(#finish,#online,#rconsole,#plugin-manager) .fin-preview img{border:1px solid var(--line);width:100%;height:auto;min-height:160px;box-shadow:none;background:#fff;border-radius:4px;transition:opacity .2s}:is(#finish,#online,#rconsole,#plugin-manager) .fin-preview.busy img{opacity:.55}:is(#finish,#online,#rconsole,#plugin-manager) .fin-preview figcaption{color:var(--muted);font-size:12px}@media (max-width:860px){:is(#finish,#online,#rconsole,#plugin-manager) .fin-cols{grid-template-columns:minmax(0,1fr);overflow:auto}:is(#finish,#online,#rconsole,#plugin-manager) .fin-cols>.body{border-left:0;overflow:visible}:is(#finish,#online,#rconsole,#plugin-manager) .fin-preview{max-height:40vh}}.lg-list{gap:4px;display:grid}.lg-row{border:1px solid var(--line);background:var(--raised);border-radius:4px;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px 6px;display:grid}.lg-grip{cursor:grab;color:var(--muted);-webkit-user-select:none;user-select:none}.lg-move button{color:var(--muted);background:0 0;border:0;padding:0 4px;font-size:10px}.lg-classes{grid-column:2/-1;font-size:12px}.lg-classes label{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:6px;margin:2px 0;display:grid}.lg-classes label span{color:var(--muted);font-weight:400}.brand-logo{vertical-align:-5px;width:22px;height:22px;margin-right:6px}.plugin-result{border-top:1px solid var(--line);margin-top:10px;padding-top:8px;font-size:12px}.plugin-result table{border-collapse:collapse;width:100%}.plugin-result th{text-align:left;color:var(--text2);padding:2px 8px 2px 0;font-weight:500}.plugin-result td{text-align:right;font-variant-numeric:tabular-nums;padding:2px 0}.rb-empty{white-space:normal;max-width:360px;padding:8px 12px;font-size:12px}#online .ol-bio-grid{grid-template-columns:1fr 1fr;gap:2px 12px;max-height:220px;display:grid;overflow:auto}#online .ol-bio-grid .dim{font-size:11px}#online .ol-bio-quick{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}#online .ol-bio-quick button{padding:2px 8px;font-size:11px}#online [data-for][hidden]{display:none}#online .sheet{width:min(620px,100%)}#online .ol-cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;display:grid}#online .ol-card{text-align:left;border:1px solid var(--line);background:var(--raised);color:var(--fg);cursor:pointer;border-radius:4px;gap:3px;padding:10px 12px;display:grid}#online .ol-card:hover,#online .ol-card:focus-visible{border-color:var(--accent);background:var(--hover)}#online .ol-card small{color:var(--muted);font-size:11px}#rconsole .sheet{width:min(980px,100%)}#rconsole header .rc-r{margin-left:auto;font-size:11px}#rconsole .rc-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 12px;display:grid}#rconsole .rc-row label,#rconsole .body>label,#rconsole .rc-kits>label:not(.ck){color:var(--text2);gap:3px;font-size:12px;display:grid}#rconsole select,#rconsole input:not([type=checkbox]){width:100%}#rconsole textarea{box-sizing:border-box;width:100%;color:var(--fg);background:var(--sunken);border:1px solid var(--line);resize:vertical;tab-size:2;border-radius:4px;padding:8px 10px;font:12px/1.45 monospace}#rconsole .rc-console .sheet,#rconsole form.rc-console{width:min(1280px,100%)}#rconsole .rc-split{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px;min-height:0;display:grid}@media (max-width:900px){#rconsole .rc-split{grid-template-columns:1fr}}#rconsole .rc-code{align-content:start;gap:8px;display:grid}#rconsole .rc-code label{color:var(--text2);gap:3px;font-size:12px;display:grid}#rconsole textarea{min-height:320px}#rconsole .rc-out{border:1px solid var(--line);background:var(--raised);border-radius:4px;align-content:start;gap:10px;max-height:60vh;padding:8px;font-size:12px;display:grid;overflow:auto}#rconsole .rc-out img{object-fit:contain;max-height:420px}#rconsole .rc-out figure{margin:0}#rconsole .rc-out img{border:1px solid var(--line);background:#fff;border-radius:4px;max-width:100%}#rconsole .rc-out figcaption{color:var(--muted);margin-top:3px;font-size:11px}#rconsole .rc-out h4{margin:0;font-size:12px;font-weight:600}#rconsole pre{background:var(--sunken);border:1px solid var(--line);white-space:pre-wrap;border-radius:4px;max-height:220px;margin:0;padding:8px 10px;font-size:11px;overflow:auto}#rconsole pre.rc-err{color:var(--err)}#rconsole .rc-table{border-collapse:collapse;font-variant-numeric:tabular-nums}#rconsole .rc-table th,#rconsole .rc-table td{border-bottom:1px solid var(--line);text-align:right;padding:2px 10px 2px 0}#rconsole .rc-table th{color:var(--text2);font-weight:500}#rconsole .rc-kits{gap:6px;display:grid}#rconsole .rc-kit{border:1px solid var(--line);background:var(--raised);border-radius:4px;grid-template-columns:auto 1fr;align-items:start;gap:8px;padding:6px 8px;display:grid}#rconsole .rc-kit.ok{opacity:.75}#rconsole .rc-have{color:var(--ok)}#rconsole .rc-progress{grid-template-columns:1fr;gap:4px;display:grid}#rconsole .rc-progress[hidden]{display:none}#rconsole .rc-bar{background:color-mix(in srgb, var(--accent) 14%, var(--panel,#1e1e1e));border-radius:9px;height:18px;position:relative;overflow:hidden}#rconsole .rc-bar i{background:linear-gradient(90deg, #f0883e, var(--accent));border-radius:9px;width:2%;transition:width .4s;position:absolute;inset:0 auto 0 0}#rconsole .rc-bar.running i{background-image:repeating-linear-gradient(45deg, #ffffff38 0 8px, transparent 8px 16px), linear-gradient(90deg, #f0883e, var(--accent));background-size:22px 22px,100% 100%;animation:.8s linear infinite rc-stripes}#rconsole .rc-bar.done i{background:linear-gradient(90deg,#2ea043,#3fb950)}#rconsole .rc-bar.failed i{background:linear-gradient(90deg,#da3633,#f85149)}#rconsole .rc-meta{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;font-size:12px;display:flex}#rconsole .rc-bar b{text-align:center;color:#fff;text-shadow:0 1px 2px #0009;font-size:11px;font-weight:700;line-height:18px;display:block;position:relative}@keyframes rc-stripes{0%{background-position:0 0,0 0}to{background-position:22px 0,0 0}}@media (prefers-reduced-motion:reduce){#rconsole .rc-bar.running i{animation:none}}.tb-set{color:var(--text2);text-transform:none;padding:6px 10px 2px 22px;font-size:11px;font-weight:600}.tb-set em{color:var(--muted);font-style:normal;font-weight:400}.maplibregl-ctrl-group,:root[data-theme=dark] .maplibregl-ctrl-group{background:var(--raised);box-shadow:0 0 0 1px var(--line)}:root[data-theme=dark] .maplibregl-ctrl-group button+button{border-top-color:var(--line)}:root[data-theme=dark] .maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert()}:root[data-theme=dark] .maplibregl-ctrl-group button:not(:disabled):hover{background-color:var(--hover)}:root[data-theme=dark] .maplibregl-ctrl-attrib,:root[data-theme=dark] .maplibregl-ctrl-attrib.maplibregl-compact{color:var(--text2);background:#121212d9}:root[data-theme=dark] .maplibregl-ctrl-attrib a{color:var(--fg)}:root[data-theme=dark] .maplibregl-ctrl-attrib-button{filter:invert();background-color:#0000}:root[data-theme=dark] .maplibregl-ctrl-scale{color:var(--fg);border-color:var(--fg);background:#121212d9}.docs-modal{z-index:60;background:var(--overlay);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.docs-modal[hidden]{display:none}.docs-sheet{background:var(--panel);width:min(900px,100%);height:calc(100vh - 40px);color:var(--fg);border:1px solid var(--line);box-shadow:none;border-radius:4px;flex-direction:column;display:flex;overflow:hidden}.docs-sheet header{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 16px;font-size:15px;display:flex}.docs-sheet header .docs-title{flex:1}.docs-sheet header button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:16px}.docs-sheet header button:hover{color:var(--fg)}.docs-body{-webkit-overflow-scrolling:touch;flex:1;padding:8px 28px 32px;overflow:auto}.doc{overflow-wrap:anywhere;max-width:760px;margin:0 auto;font-size:14px;line-height:1.6}.doc h1{margin:18px 0 10px;font-size:24px}.doc h2{border-bottom:1px solid var(--line);margin:26px 0 8px;padding-bottom:4px;font-size:19px}.doc h3{margin:20px 0 6px;font-size:16px}.doc h4,.doc h5,.doc h6{margin:16px 0 4px;font-size:14px}.doc a,.about a{color:var(--accent)}.doc code{background:var(--hover);border:1px solid var(--line);border-radius:4px;padding:0 4px;font-family:monospace;font-size:12.5px}.doc pre{background:var(--hover);border:1px solid var(--line);border-radius:4px;padding:10px 12px;overflow:auto}.doc pre code{background:0 0;border:0;padding:0}.doc blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:10px 0;padding:6px 14px}.doc hr{border:0;border-top:1px solid var(--line);margin:20px 0}.doc .doc-table{margin:10px 0;overflow-x:auto}.doc table{border-collapse:collapse;font-size:13px}.doc th,.doc td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:5px 9px}.doc th{background:var(--hover)}.about{text-align:center;max-width:620px;margin:0 auto;padding-top:18px;line-height:1.55}.about-logo{object-fit:contain;width:72px;height:72px}.about h2{margin:8px 0 6px}.about .muted{color:var(--muted);font-size:15px;font-weight:400}.about-table{border-collapse:collapse;text-align:left;margin:16px auto;font-size:13.5px}.about-table th{color:var(--muted);white-space:nowrap;vertical-align:top;padding:4px 14px 4px 0;font-weight:500}.about-table td{padding:4px 0}@media (max-width:640px){.docs-modal{padding:0}.docs-sheet{border:0;border-radius:0;height:100%}.docs-body{padding:4px 16px 24px}}.doc :is(h1,h2,h3,h4,h5,h6),.about h2{text-transform:none;letter-spacing:normal;color:var(--fg);font-weight:650}.doc{overflow-wrap:break-word}.doc td:first-child,.doc th:first-child{min-width:6.5em}.docs-sheet:has(.about){height:auto;max-height:calc(100vh - 40px)}.gx-dialog{z-index:70;background:var(--overlay);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.gx-dialog .sheet{background:var(--panel);width:min(480px,100%);max-height:calc(100vh - 32px);color:var(--fg);border:1px solid var(--line);box-shadow:none;border-radius:4px;flex-direction:column;display:flex}.gx-dialog .sheet.wide{width:min(680px,100%)}.gx-dialog header,.gx-dialog footer{align-items:center;gap:8px;padding:12px 16px;display:flex}.gx-dialog header{border-bottom:1px solid var(--line);justify-content:space-between;font-size:15px}.gx-dialog header button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:16px}.gx-dialog .body{padding:14px 16px;font-size:13.5px;line-height:1.5;overflow:auto}.gx-dialog .body p{margin:0 0 10px}.gx-dialog footer{border-top:1px solid var(--line);justify-content:flex-end}.gx-dialog footer button,.attr-bar button,.attr-defq button,.chip,.col-menu button,.fields .acts button{font:inherit;color:var(--fg);background:var(--hover);border:1px solid var(--line);cursor:pointer;border-radius:4px;padding:6px 12px;font-size:12.5px}.gx-dialog footer button.primary{background:var(--accent);border-color:var(--accent);color:#000;font-weight:600}.gx-dialog footer button:hover,.attr-bar button:hover:not(:disabled),.chip:hover{border-color:var(--accent)}.gx-dialog input,.gx-dialog select,.gx-dialog textarea{font:inherit;color:var(--fg);background:var(--hover);border:1px solid var(--line);box-sizing:border-box;border-radius:4px;width:100%;padding:6px 8px;font-size:13px}.gx-dialog textarea{resize:vertical;font-family:monospace}.gx-dialog textarea:disabled{opacity:.5}.gx-dialog .dim,.attr-defq,.qb-help{color:var(--muted);font-size:12px}.gx-dialog label{color:var(--muted);font-size:12px;display:block}.gx-dialog label.chk{color:var(--fg);align-items:center;gap:8px;font-size:13px;display:flex}.gx-dialog label.chk input{width:auto}.form-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px 12px;margin-bottom:10px;display:grid}.form-grid label>:is(input,select){margin-top:3px}.qb-row{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1.2fr) auto auto;gap:6px;margin-bottom:8px;display:grid}.qb-row button{font:inherit;color:var(--fg);background:var(--hover);border:1px solid var(--line);cursor:pointer;border-radius:4px;padding:0 10px;font-size:12px}.qb-sql textarea{margin-top:3px}.qb-help{margin:6px 0 10px}.qb-how select{margin-top:3px}.chips{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.chip{border-radius:4px;padding:3px 9px;font-size:12px}.dlg-msg{min-height:1.2em;margin-top:8px;font-size:12.5px}.dlg-msg.ok{color:#57d68d}.dlg-msg.err{color:#ff7b72}:root[data-theme=light] .dlg-msg.ok{color:#1a7f37}:root[data-theme=light] .dlg-msg.err{color:#cf222e}.attr-form{gap:8px;display:grid}.attr-form .row{color:var(--fg);grid-template-columns:minmax(110px,.8fr) 1.2fr;align-items:center;gap:10px;font-size:13px;display:grid}.attr-form .row i{color:var(--muted);font-size:11px;font-style:normal}.attr-bar{flex-wrap:wrap;align-items:center;gap:5px;margin:0 0 6px;display:flex}.attr-bar button{padding:4px 9px;font-size:12px}.attr-bar button.on{background:color-mix(in srgb, var(--accent) 25%, var(--hover));border-color:var(--accent)}.attr-bar button:disabled{opacity:.45;cursor:default}.attr-bar .sep{background:var(--line);width:1px;height:18px;margin:0 3px}.attr-defq{flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 6px;display:flex}.attr-defq code{color:var(--fg);background:var(--hover);border-radius:4px;padding:1px 5px;font-size:11.5px}.attr-defq button{padding:2px 8px;font-size:11.5px}.badge{color:#000;background:var(--accent);vertical-align:1px;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:10.5px;font-weight:600}.attr-wrap{position:relative}table.attr th[data-sort]{cursor:pointer;-webkit-user-select:none;user-select:none}table.attr th[data-sort]:hover{color:var(--fg)}table.attr th .col-more{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-left:6px;padding:0 3px;font-size:13px;line-height:1}table.attr th .col-more:hover{color:var(--accent)}table.attr td.num{text-align:right;font-variant-numeric:tabular-nums}table.attr td .cell-edit{width:100%;min-width:80px;font:inherit;color:var(--fg);background:var(--panel);border:1px solid var(--accent);border-radius:3px;padding:1px 4px}.col-menu{z-index:5;background:var(--raised);border:1px solid var(--line);box-shadow:none;border-radius:4px;flex-direction:column;gap:2px;padding:4px;display:flex;position:absolute}.col-menu button{text-align:left;background:0 0;border:0;padding:6px 10px}.col-menu button:hover{background:var(--hover)}.col-menu .danger,.fields .acts .danger{color:#ff7b72}:root[data-theme=light] :is(.col-menu .danger,.fields .acts .danger){color:#cf222e}.fields .acts{text-align:right;white-space:nowrap}.fields .acts button{margin-left:4px;padding:2px 8px;font-size:11.5px}.chart-box select{font:inherit;color:var(--fg);background:var(--hover);border:1px solid var(--line);border-radius:4px;padding:2px 6px}table.stats{border-collapse:collapse;margin:6px 0 10px;font-size:12px}table.stats th{color:var(--muted);text-align:left;padding:2px 6px 2px 0;font-weight:500}table.stats td{font-variant-numeric:tabular-nums;padding:2px 14px 2px 0}body[data-edit-tool=point] [data-cmd=edit\.point],body[data-edit-tool=line] [data-cmd=edit\.line],body[data-edit-tool=polygon] [data-cmd=edit\.polygon],body[data-edit-tool=select] [data-cmd=edit\.select],body[data-edit-tool=box] [data-cmd=edit\.box],body[data-edit-tool=vertices] [data-cmd=edit\.vertices],body[data-snapping=on] [data-cmd=edit\.snap]{background:color-mix(in srgb, var(--accent) 22%, transparent);border-color:var(--accent)}@media (max-width:640px){.gx-dialog{place-items:end stretch;padding:0}.gx-dialog .sheet,.gx-dialog .sheet.wide{border-radius:4px 14px 0 0;width:100%;max-height:92vh}.qb-row{grid-template-columns:1fr 1fr}.qb-row [data-qb=value]{grid-column:1/-1}.attr-form .row{grid-template-columns:1fr;gap:3px}}.measure-box{z-index:6;background:var(--panel);min-width:220px;max-width:calc(100% - 24px);color:var(--fg);border:1px solid var(--line);box-shadow:none;border-radius:4px;padding:10px 12px;font-size:12.5px;position:absolute;top:12px;left:12px}.measure-box .m-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.measure-box .m-head button{font:inherit;color:var(--fg);background:var(--hover);border:1px solid var(--line);cursor:pointer;border-radius:4px;margin-left:4px;padding:2px 7px;font-size:11.5px}.measure-box .m-big{font-variant-numeric:tabular-nums;font-size:20px;font-weight:650}.measure-box .m-sub,.measure-box .m-hint,.measure-box .m-foot{color:var(--muted)}.measure-box .m-foot{margin-top:4px;font-size:11px}body[data-measure=distance] [data-cmd$=measure\.distance],body[data-measure=area] [data-cmd$=measure\.area],body[data-projection=mercator] [data-cmd=view\.projMercator],body[data-projection=globe] [data-cmd=view\.projGlobe]{background:color-mix(in srgb, var(--accent) 22%, transparent);border-color:var(--accent)}.gx-dialog label.sample{color:var(--fg);border:1px solid var(--line);border-radius:4px;align-items:flex-start;gap:10px;margin-bottom:8px;padding:8px;font-size:13px;line-height:1.45;display:flex}.gx-dialog label.sample input{width:auto;margin-top:3px}.gx-dialog .bm-group{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:10px 0 6px;font-size:11px}.gx-dialog .bm-custom{margin-top:8px}.ctx-menu{z-index:90;background:var(--raised);min-width:210px;max-width:min(340px,100vw - 8px);max-height:calc(100vh - 8px);color:var(--fg);border:1px solid var(--line);box-shadow:none;border-radius:4px;padding:4px;font-size:13px;position:fixed;overflow:auto}.ctx-menu .ctx-title{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;padding:6px 10px 4px;font-size:11px;overflow:hidden}.ctx-menu button{text-align:left;width:100%;font:inherit;color:var(--fg);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:7px 10px;display:block}.ctx-menu button:hover:not(:disabled),.ctx-menu button:focus-visible{background:var(--hover);outline:none}.ctx-menu button:disabled{color:var(--muted);opacity:.6;cursor:default}.ctx-menu button.danger{color:#ff7b72}:root[data-theme=light] .ctx-menu button.danger{color:#cf222e}.ctx-menu .ctx-sep{background:var(--line);height:1px;margin:4px 6px}@media (pointer:coarse){.ctx-menu button{padding:11px 12px}}table.props{border-collapse:collapse;width:100%;font-size:13px}table.props th{text-align:left;color:var(--muted);vertical-align:top;white-space:nowrap;padding:5px 12px 5px 0;font-weight:500}table.props td{word-break:break-word;padding:5px 0}.mobile-bar{z-index:15;background:var(--panel);border:1px solid var(--line);box-shadow:none;border-radius:4px;gap:6px;padding:4px;display:none;position:absolute;bottom:46px;left:50%;transform:translate(-50%)}.mobile-bar button{font:inherit;color:var(--fg);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:9px 16px;font-size:13.5px}.mobile-bar button.on{background:var(--accent);color:#000;font-weight:600}@media (max-width:900px){.mobile-bar{display:flex}}.tool-fig{margin:10px 0 4px}.tool-fig img{border:1px solid var(--line);background:#fff;border-radius:4px;width:100%;height:auto}.tool-fig figcaption{color:var(--muted);margin-top:3px;font-size:11.5px}#ask{flex-direction:column;gap:8px;height:100%;min-height:320px;display:flex}.ask-head{align-items:center;gap:6px;display:flex}.ask-head .ask-who{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.ask-head button{align-items:center;gap:4px;font-size:12px;display:inline-flex}.ask-log{flex-direction:column;flex:1;gap:8px;padding-right:2px;display:flex;overflow-y:auto}.ask-msg{overflow-wrap:anywhere;border-radius:4px;max-width:92%;padding:7px 10px;font-size:13px;line-height:1.45}.ask-msg p{margin:0 0 6px}.ask-msg p:last-child{margin-bottom:0}.ask-msg ul{margin:0 0 6px;padding-left:18px}.ask-plan{border:1px solid var(--border,#ccc);background:var(--panel,transparent);border-radius:4px;margin:6px 0;padding:6px 8px}.ask-plan ol,.ask-plan ul{margin:0 0 6px;padding-left:18px}.ask-plan-btns{gap:6px;margin-top:4px;display:flex}.ask-msg code{background:var(--hover);border-radius:3px;padding:0 3px;font-size:12px}.ask-msg.user{background:color-mix(in srgb, var(--accent) 18%, transparent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);align-self:flex-end}.ask-msg.bot{background:var(--hover);border:1px solid var(--line);align-self:flex-start}.ask-msg.error{border-color:color-mix(in srgb, #e5484d 60%, var(--line))}.ask-msg.busy{color:var(--muted);align-items:center;gap:8px;display:flex}.ask-steps{color:var(--muted);margin-top:6px;font-size:11px}.ask-steps summary{cursor:pointer;align-items:center;gap:4px;display:inline-flex}.ask-steps ol{margin:4px 0 0;padding-left:18px}.ask-steps li.bad{color:#e5484d}.ask-steps .err{font-style:italic}.ask-intro p{margin:0 0 8px;font-size:13px}.ask-sugg{flex-direction:column;gap:6px;display:flex}.ask-sugg button{text-align:left;font-size:12px}.ask-form{align-items:flex-end;gap:6px;display:flex}.ask-form textarea{resize:vertical;min-height:40px;font:inherit;color:var(--fg);background:var(--hover);border:1px solid var(--line);border-radius:4px;flex:1;padding:6px 8px}.gx-dialog label.ask-prov{color:var(--fg);border:1px solid var(--line);border-radius:4px;align-items:flex-start;gap:10px;margin-bottom:8px;padding:8px;font-size:13px;line-height:1.45;display:flex}.gx-dialog label.ask-prov input{flex:none;width:auto;margin-top:3px}.gx-dialog label.ask-prov:has(input:checked){border-color:var(--accent)}.spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.gx-dialog .row2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.gx-dialog [hidden]{display:none!important}.swatch.raster{background:linear-gradient(135deg,#4c78a8 0 33%,#f2cf5b 33% 66%,#54a24b 66%);border-radius:2px;width:12px;height:12px}.rlegend{padding:2px 0 4px calc(28px + var(--d,0) * 14px);grid-column:1/-1;font-size:11px}.rlegend .ramp{border:1px solid var(--line);border-radius:3px;height:9px}.rlegend .ends{opacity:.85;justify-content:space-between;display:flex}.rlegend .classes{margin:0;padding:0;list-style:none}.rlegend .classes li{align-items:center;gap:6px;line-height:16px;display:flex}.rlegend .classes i{border:1px solid #7f7f7f59;border-radius:2px;flex:none;width:12px;height:12px}.rlegend .note{color:var(--muted)}.card.raster-card .rlegend{padding-left:8px}.layer.pro .legend.rlegend{padding-left:0}.layer.pro .legend.rlegend span{margin-left:0}.layer .legend.rlegend div.ramp{display:block}.gx-dialog table.models td,.gx-dialog table.models th{vertical-align:top;padding:4px 8px 4px 0;font-size:12px}.gx-dialog table.models .warn{color:#e5a50a}.gx-dialog table.models .err{color:#e5484d}.gx-dialog fieldset.add-model{border:1px solid var(--line);border-radius:4px;gap:6px;margin-top:10px;padding:8px 10px;display:grid}.gx-dialog fieldset.add-model legend{color:var(--muted);padding:0 4px;font-size:12px}.ramp.split{position:relative}.ramp.split:after{content:"";background:currentColor;width:1px;position:absolute;top:-2px;bottom:-2px;left:50%}.ends:has(.mid){position:relative}.ends .mid{white-space:nowrap;position:absolute;left:50%;transform:translate(-50%)}.swatch.sym-sw{width:16px;height:16px;color:var(--muted);background:0 0;border-radius:0;margin-top:0;display:inline-flex}.sym-sw svg,.sym-preview svg{display:block;overflow:visible}.sym-preview{border:1px solid var(--line);background:repeating-conic-gradient(color-mix(in srgb, var(--fg) 6%, transparent) 0 25%, transparent 0 50%) 0 0 / 12px 12px;height:60px;color:var(--muted);border-radius:4px;justify-content:center;align-items:center;margin:4px 0 8px;display:flex}.sym-shapes{grid-template-columns:repeat(8,1fr);gap:4px;margin-bottom:8px;display:grid}.sym-shapes button,.anchors button{border:1px solid var(--line);background:var(--panel);min-height:32px;color:var(--fg);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;display:flex}.sym-shapes button.on,.anchors button.on{border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.sym-shapes button:focus-visible,.anchors button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.anchors{grid-template-columns:repeat(3,40px);gap:4px;margin-top:4px;display:grid}.row2{grid-template-columns:1fr 1fr;align-items:end;gap:8px;display:grid}.sym-col input[type=color]{width:100%;height:30px;padding:2px}.sym-num output{color:var(--muted);font-variant-numeric:tabular-nums}.gx-dialog fieldset.rs{border:1px solid var(--line,#333);border-radius:4px;gap:6px;margin:8px 0;padding:8px 10px;display:grid}.gx-dialog fieldset.rs[hidden],.gx-dialog [hidden]{display:none!important}.gx-dialog .row3{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.gx-dialog .btnrow{flex-wrap:wrap;gap:6px;display:flex}.gx-dialog fieldset.rs .ramp{border-radius:3px;height:10px;margin-top:4px}.gx-dialog .chk{align-items:center;gap:6px;display:flex}.about h3.about-h{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:18px 0 6px;font-size:12px}.about-card{text-align:left;border:1px solid var(--line,#2a2a2a);background:var(--panel,transparent);border-radius:4px}.about-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.about-row+.about-row{border-top:1px solid var(--line,#2a2a2a)}.about-row code{font-family:monospace}.about-update{color:var(--muted);flex:100%;font-size:13px}.about-update:empty{display:none}.about-update.ok{color:#3fb950}.about-update.new{color:var(--fg)}.about-update.err{color:#f85149}.about-update details{max-height:240px;margin-top:6px;overflow:auto}.about-link{grid-template-rows:auto auto;grid-template-columns:1fr auto;padding:10px 14px;text-decoration:none;display:grid;color:var(--fg)!important}.about-link+.about-link{border-top:1px solid var(--line,#2a2a2a)}.about-link small{color:var(--muted);grid-column:1}.about-link span{color:var(--muted);grid-area:1/2/3;align-self:center}.about-link:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}.about-foot{color:var(--muted);margin-top:14px;font-size:12px}.layer .tools .rm:hover,.lc-acts .lc-remove:hover{color:#f85149;border-color:#f85149}.lc-acts .lc-remove{padding-inline:8px}.rb-items.grid3{grid-template-rows:repeat(3,22px);grid-auto-columns:minmax(120px,auto);grid-auto-flow:column;align-content:start;gap:1px 6px;display:grid}.rb-items.grid3 .rb-btn.small{max-width:none}.rb-items.grid3 .rb-caret{opacity:.6;margin-left:auto}#rconsole .rc-log{border:1px solid var(--line);background:var(--hover);white-space:pre-wrap;word-break:break-word;border-radius:4px;min-height:60px;max-height:220px;margin:0;padding:8px 10px;font:11.5px/1.45 monospace;overflow:auto}#rconsole .rc-log:empty{display:none}#rconsole .rc-progress .ok{color:#3fb950}#rconsole .rc-progress .err{color:#f85149}#rconsole .rc-miss{opacity:.75}.plugin .p-head .p-ico{color:var(--accent);display:inline-flex}#settings-btn{border:1px solid var(--line);width:26px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;margin-left:8px;padding:0;font-size:14px;line-height:1}#settings-btn:hover{color:var(--fg);border-color:var(--muted)}.settings section{border-bottom:1px solid var(--line);gap:8px;padding:10px 0;display:grid}.settings section:last-child{border-bottom:0}.settings h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 2px;font-size:12px;font-weight:600}.settings label:not(.chk){grid-template-columns:220px 1fr;align-items:center;gap:10px;display:grid}.settings .chk{padding-left:230px}.settings-btns{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:640px){.settings label:not(.chk){grid-template-columns:1fr;gap:4px}.settings .chk{padding-left:0}}.fp-results{gap:4px;max-height:300px;display:grid;overflow:auto}.fp-hit{text-align:left;border:1px solid var(--line);color:var(--fg);cursor:pointer;background:0 0;border-radius:4px;gap:2px;padding:6px 10px;display:grid}.fp-hit:hover{border-color:var(--accent)}.fp-hit small{color:var(--muted)}.rb-menu-group{gap:2px;padding:4px;display:grid}.rb-menu-group .rb-col{display:contents}.rb-menu-group .rb-btn{text-align:left;flex-direction:row;justify-content:flex-start;gap:8px;width:100%;max-width:none;height:30px;padding:4px 10px}.rb-menu-group .rb-btn .rb-label{-webkit-line-clamp:1;white-space:nowrap}.rb-menu-group .rb-btn .rb-label br{display:none}.rb-menu-group .rb-items,.rb-menu-group .rb-items.grid3{grid-template-rows:none;grid-auto-flow:row;display:grid}.rb-menu-group .rb-ico svg{width:16px;height:16px}.act-item{flex-wrap:wrap}.act-why{color:var(--muted);flex-basis:100%;margin:4px 0 0 30px;font-size:12px;line-height:1.4}.st-map-wrap{position:relative}.st-map-wrap .st-map{width:100%}.st-map-del{border:1px solid var(--line);background:var(--panel);width:22px;height:22px;color:var(--fg);opacity:.8;border-radius:4px;padding:0;font-size:11px;line-height:1;position:absolute;top:4px;right:4px}.st-map-wrap:hover .st-map-del,.st-map-del:focus-visible{opacity:1}.st-map-del:hover,.act-del:hover,.run-del:hover{color:#fff;background:#c0392b;border-color:#c0392b}.act-del,.run-del{padding:2px 7px;font-size:11px}.run-clear{margin-left:auto;padding:2px 8px;font-size:11px}#raster-sym,#raster-attr{height:100%;padding:12px 14px;overflow:auto}.rv-glyph{border-radius:4px}.rv-hist{background:var(--sunken);border:1px solid var(--line);border-radius:4px;width:100%;height:72px;margin:6px 0 2px;display:block}.rv-hist-axis{color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.rv-hint{color:var(--muted);margin:4px 0;font-size:12px;line-height:1.45}.rv-read{border:1px solid var(--line);background:var(--sunken);border-radius:4px;margin:4px 0;padding:8px 10px;font-size:14px}.rv-read small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.rv-facts{grid-template-columns:max-content 1fr;gap:3px 12px;margin:4px 0;font-size:12px;display:grid}.rv-facts dt{color:var(--muted)}.rv-facts dd{overflow-wrap:anywhere;margin:0}.rv-bands{border-collapse:collapse;width:100%;margin:6px 0;font-size:12px}.rv-bands th,.rv-bands td{border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;padding:4px 6px}.rv-bands th:first-child,.rv-bands td:first-child{text-align:left}.rv-bands th{color:var(--muted);font-weight:600}.rv-attr h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:12px 0 2px;font-size:11px}.dock-tabs{scrollbar-width:thin;overflow-x:auto}.dock-tabs button{flex:none}#dock-left,#dock-right{container-type:inline-size}@container (width<=300px){.layer.pro .pr-op,.layer.pro .pr-n{display:none}.layer.pro .name{min-width:60px}}.rv-table{overflow-x:auto}#contents .raster-card.selected{border-color:var(--accent);background:var(--hover)}.dl-gauge{z-index:70;background:var(--panel);width:min(440px,100vw - 32px);color:var(--fg);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:4px;padding:12px 14px;font-size:13px;position:fixed;bottom:52px;left:50%;transform:translate(-50%)}.dl-gauge.done{border-left-color:#2ea043}.dl-gauge.failed{border-left-color:#d1453b}.dl-head{align-items:baseline;gap:8px;min-width:0;display:flex}.dl-head span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dl-bar{background:var(--sunken);border:1px solid var(--line);border-radius:4px;height:8px;margin:9px 0 6px;overflow:hidden}.dl-bar i{background:var(--accent);height:100%;transition:width .3s;display:block}.dl-bar.busy i{animation:1.2s linear infinite dl-busy;width:30%!important}@keyframes dl-busy{0%{transform:translate(-100%)}to{transform:translate(340%)}}@media (prefers-reduced-motion:reduce){.dl-bar.busy i{opacity:.4;animation:none;width:100%!important}}.dl-meta{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;gap:8px;font-size:12px;display:flex}.dl-note{color:var(--muted);margin:6px 0 0;line-height:1.4}.dl-acts{justify-content:flex-end;gap:6px;margin-top:8px;display:flex}.draw-box{border:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 15%, transparent);pointer-events:none;z-index:5;display:none;position:absolute}.draw-tip{z-index:80;background:var(--panel);color:var(--fg);border:1px solid var(--accent);border-radius:4px;padding:8px 14px;font-size:13px;position:fixed;top:110px;left:50%;transform:translate(-50%)}.ol-area-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.ol-area .ck select{max-width:60%;margin-left:6px}.ins-path,.rv-facts dd{overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.cat-connect{align-items:center;gap:6px;margin:2px 8px 6px;padding:4px 8px;font-size:12px;display:flex}.node.folder .disc{opacity:0;margin-left:auto;padding:0 6px;font-size:11px}.node.folder:hover .disc,.node.folder .disc:focus-visible{opacity:1}@media (hover:none){.node.folder .disc{opacity:1}}.folder-pick{z-index:70;background:var(--overlay,#0000008c);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.folder-pick[hidden]{display:none}.folder-pick .fp{background:var(--panel);width:min(560px,100%);max-height:calc(100vh - 40px);color:var(--fg);border:1px solid var(--line);border-radius:4px;flex-direction:column;display:flex}.fp header,.fp footer{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px 14px;display:flex}.fp header b{flex:1}.fp footer{border-bottom:0;border-top:1px solid var(--line);justify-content:flex-end}.fp .body{padding:10px 14px;overflow:auto}.fp-places{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.fp-path{gap:6px;margin-bottom:8px;display:flex}.fp-path input{flex:1;min-width:0;font-family:monospace;font-size:12px}.fp-list{border:1px solid var(--line);border-radius:4px;flex-direction:column;max-height:46vh;display:flex;overflow:auto}.fp-row{text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;align-items:center;gap:8px;padding:6px 10px;display:flex}.fp-row:hover{background:var(--hover)}.fp .err{color:#e06c5f;margin:4px 0}#catalog{flex-direction:column;display:flex}#catalog .tree{flex:1;min-height:0;overflow:auto}.cat-preview{border-top:1px solid var(--line);background:var(--sunken);flex:none;max-height:45%;padding:8px 10px;font-size:12px;overflow:auto}.cat-preview p{margin:4px 0}.pv-head{align-items:center;gap:6px;display:flex}.pv-head b{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pv-head button{padding:0 6px}.pv-table{margin:6px 0;overflow-x:auto}.pv-table table{border-collapse:collapse;font-size:11px}.pv-table th,.pv-table td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;text-overflow:ellipsis;max-width:140px;padding:2px 6px;overflow:hidden}.pv-table th{color:var(--muted)}.pv-acts{justify-content:flex-end;display:flex}.node.gx-leaf{cursor:pointer}.node.gx-leaf .ct.dim,.node.file .ct.dim{color:var(--muted);margin-left:auto;font-size:11px}.web-row{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.web-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.web-row input[type=range]{width:70px}.web-row button{padding:0 6px}.pr-webhead{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);justify-content:space-between;padding:6px 10px 2px;font-size:11px;display:flex}.cat-head-row{justify-content:space-between;align-items:center;display:flex}.cat-mini{text-transform:none;letter-spacing:0;padding:0 6px;font-size:11px}.ws-field{flex-direction:column;gap:3px;margin-bottom:8px;font-size:12px;display:flex}.ws-field input,.ws-field select{width:100%}.stac-panel{z-index:65;background:var(--panel);width:min(360px,100vw - 32px);color:var(--fg);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:4px;flex-direction:column;font-size:13px;display:flex;position:fixed;top:120px;bottom:60px;right:12px}.stac-panel[hidden]{display:none}.stac-panel header{border-bottom:1px solid var(--line);align-items:baseline;gap:8px;min-width:0;padding:10px 12px;display:flex}.stac-panel header .dim{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.stac-panel header button{color:var(--muted);cursor:pointer;background:0 0;border:0}.stac-form{border-bottom:1px solid var(--line);gap:8px;padding:10px 12px;display:grid}.stac-area,.stac-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stac-area>span{color:var(--muted)}.stac-acts{justify-content:flex-end;display:flex}.stac-results{flex:1;padding:8px 12px;overflow:auto}.stac-item{border:1px solid var(--line);border-radius:4px;margin-bottom:6px}.stac-item.open{border-color:#ffd166}.si-head{cursor:pointer;align-items:center;gap:8px;padding:6px;display:flex}.si-head img{object-fit:cover;background:var(--sunken);border-radius:3px;width:48px;height:48px}.si-head>div{flex-direction:column;min-width:0;display:flex}.si-id{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.si-assets{gap:4px;padding:4px 6px 8px;display:grid}.si-asset{align-items:center;gap:6px;display:flex}.si-asset span{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.ws-known{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ws-cloud{gap:8px;display:grid}.ws-cloud[hidden]{display:none}.ws-check{align-items:center;gap:6px;display:flex}.cad-bar{z-index:60;background:var(--panel);max-width:calc(100% - 24px);color:var(--fg);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:4px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex;position:absolute;bottom:46px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000059}.cad-bar[hidden]{display:none}.cad-bar b{white-space:nowrap}.cad-cmd{width:15em;font-family:monospace}.cad-live{color:var(--muted);white-space:nowrap;min-width:12em;font-family:monospace}.cad-modes{gap:4px;display:flex}.cad-modes button{padding:2px 8px}.cad-modes button.on{background:var(--accent);color:#111;border-color:var(--accent)}.cad-layer-table{border-collapse:collapse;width:100%;font-size:13px}.cad-layer-table th,.cad-layer-table td{text-align:left;border-bottom:1px solid var(--line,#2a2f36);padding:4px 6px}.cad-layer-table input[type=number]{width:64px}.cad-layer-table input[type=color]{background:0 0;border:0;width:36px;height:22px;padding:0}.cad-trav textarea{width:100%;font-family:monospace}.update-bar{z-index:2000;background:var(--panel,#1f2226);max-width:min(640px,100vw - 32px);color:var(--fg);border:1px solid var(--accent,#ff7a45);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;font-size:13px;display:flex;position:fixed;top:8px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000059}.update-bar details,.about-update details{flex:100%;max-height:240px;overflow:auto}.update-bar button,.about-update button{padding:4px 10px}.update-bar .upd-msg:empty,.about-update .upd-msg:empty{display:none}.about-update.new{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}body.layout-page{background:var(--bg);height:100vh;color:var(--fg);flex-direction:column;margin:0;display:flex;overflow:hidden}.lv-top{border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;align-items:center;gap:10px;padding:7px 12px;display:flex}.lv-brand{align-items:center;gap:8px;min-width:0;display:flex}.lv-title{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:32vw;overflow:hidden}.lv-live{align-items:center;gap:5px;font-size:12.5px;display:flex}.lv-state{color:var(--muted);font-size:12px}.lv-state.busy{color:var(--accent)}.lv-state.err{color:#e05a4b}.lv-gap{flex:1}.lv-zoom{display:inline-flex}.lv-top button{font:inherit;color:var(--fg);background:var(--hover);border:1px solid var(--line);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:12.5px}.lv-zoom button{border-radius:0;min-width:34px;margin-left:-1px}.lv-zoom button:first-child{border-radius:4px 0 0 4px}.lv-zoom button:last-child{border-radius:0 4px 4px 0}.lv-top .lv-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.lv-files{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:5px 12px;font-size:12.5px;display:flex}.lv-files a{color:var(--accent)}.lv-files .dim{color:var(--muted)}.lv-stage{background:repeating-conic-gradient(var(--panel) 0 25%, var(--bg) 0 50%) 0 0 / 24px 24px;cursor:grab;touch-action:none;outline:none;flex:1;position:relative;overflow:hidden}.lv-stage.dragging{cursor:grabbing}.lv-page{transform-origin:0 0;background:#fff;position:absolute;top:0;left:0;box-shadow:0 4px 24px #00000073}.lv-page svg{width:100%;height:100%;display:block}.lv-empty{color:#5b6b78;margin:0;padding:40px}.tb-cat .tb-ico-box{vertical-align:middle;width:22px;height:22px;margin:0 4px 0 2px}#rconsole .rc-updates{margin:8px 0}#rconsole .rc-upd-list{columns:2;max-height:180px;margin:4px 0 8px;padding:0;list-style:none;overflow:auto}#rconsole .rc-upd-list li{break-inside:avoid;padding:2px 0}#rconsole .rc-cmd{background:var(--hover);white-space:pre-wrap;-webkit-user-select:all;user-select:all;border-radius:4px;padding:6px 8px}.gg{margin:6px 0 10px}.gg-plot svg{border-radius:4px;width:100%;height:auto;display:block}.gg-acts{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.gg-acts details{border:1px solid var(--line);border-radius:5px;padding:3px 8px;font-size:12px}.gg-acts details[open]{flex-basis:100%}.gg-acts summary{cursor:pointer;color:var(--fg)}.gg-form{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 12px;padding:8px 0 4px;display:grid}.gg-form label{color:var(--muted);flex-direction:column;gap:2px;display:flex}.gg-form label.gg-custom{flex-direction:row;grid-column:1/-1;align-items:center;gap:4px}.gg-form label.gg-custom[hidden]{display:none}.gg-form input,.gg-form select{font:inherit;color:var(--fg);background:var(--hover);border:1px solid var(--line);border-radius:4px;padding:3px 6px}.gg-form input[type=number]{width:80px}.gg-form .gg-px{grid-column:1/-1;margin:0}.gg-form button{justify-self:start}.guest-cta{color:var(--accent,#ff7a45);white-space:nowrap;margin-left:8px;font-size:11px;font-weight:600;text-decoration:none}.guest-cta:hover{text-decoration:underline}.dock-tabs{container-type:inline-size}.dock-tabs button{align-items:center;gap:6px;display:inline-flex}.dock-tabs button svg{opacity:.8;flex:none}.dock-tabs button.on svg{opacity:1;color:var(--accent)}@container (width<=270px){.dock-tabs button span{display:none}.dock-tabs button{padding:6px 9px}}.dock.collapsed .dock-tabs button span{display:none}#dock-left.collapsed .dock-tabs button,#dock-right.collapsed .dock-tabs button{writing-mode:horizontal-tb;justify-content:center;padding:9px 0;transform:none}.pane-group{border-top:1px solid var(--line);margin-top:14px;padding-top:8px}.pane-group>summary{cursor:pointer;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:4px 2px 8px;font-size:11px;font-weight:600;list-style:none}.pane-group>summary:before{content:"▸";width:14px;transition:transform .15s;display:inline-block}.pane-group[open]>summary:before{transform:rotate(90deg)}#map-props{flex-direction:column;gap:14px;padding:4px 2px;display:flex}#map-props[hidden]{display:none}.mp-head{border:1px solid var(--line);background:var(--sunken);border-radius:10px;align-items:center;gap:10px;padding:10px;display:flex}.mp-head svg{color:var(--accent);flex:none}.mp-head b{font-size:14px;display:block}.mp-head small,.mp-row small{color:var(--muted);font-size:11.5px;line-height:1.35;display:block}.mp-group h4{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:10.5px;font-weight:600}.mp-row{text-align:left;width:100%;color:var(--fg);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;margin-bottom:4px;padding:8px 10px;display:flex}.mp-row:hover{background:var(--sunken);border-color:var(--line)}.mp-row svg{color:var(--muted);flex:none}.mp-row b{font-size:12.5px;font-weight:600}.mp-seg{border:1px solid var(--line);background:var(--sunken);border-radius:9px;gap:4px;margin-top:4px;padding:3px;display:flex}.mp-seg button{color:var(--fg);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:5px;padding:6px 4px;font-size:11.5px;display:inline-flex}.mp-seg button:hover{background:var(--panel)}.ly-head{z-index:2;background:var(--panel);border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:8px 6px;margin:-8px -12px 10px;padding:12px 12px 0;display:grid;position:sticky;top:-8px}.ly-title{align-items:center;gap:9px;min-width:0;display:flex}.ly-title svg{flex:none}.ly-title b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.ly-title small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.ly-title>div{min-width:0}.ly-acts{align-items:center;gap:2px;display:flex}.ly-acts button{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;padding:0;font-size:13px;display:grid}.ly-acts button:hover{color:var(--fg);background:var(--sunken);border-color:var(--line)}.ly-acts button[aria-pressed=true]{color:var(--accent)}.ly-legend{color:var(--muted);flex-wrap:wrap;grid-column:1/-1;gap:4px 10px;font-size:11px;display:flex}.ly-legend span{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;max-width:46%;display:inline-flex;overflow:hidden}.ly-legend i{border-radius:2px;flex:none;width:9px;height:9px}.ly-seg{grid-column:1/-1;gap:2px;margin:2px -2px 0;display:flex}.ly-seg button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:7px 4px 8px;font-size:12px;font-weight:600}.ly-seg button:hover{color:var(--fg)}.ly-seg button[aria-selected=true]{color:var(--fg);border-bottom-color:var(--accent)}.ly-sec{border-top:1px solid var(--line);margin-top:12px;padding-top:4px}.ly-sec>summary{cursor:pointer;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:8px 0;font-size:10.5px;font-weight:600;list-style:none}.ly-sec>summary:before{content:"▸";width:14px;transition:transform .15s;display:inline-block}.ly-sec[open]>summary:before{transform:rotate(90deg)}.auto-chip{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);background:color-mix(in srgb, var(--accent) 8%, transparent);border-radius:8px;margin:6px 0 10px;padding:0 10px;font-size:12px}.auto-chip>summary{cursor:pointer;color:var(--accent);padding:7px 0;font-weight:600;list-style:none}.auto-chip p{color:var(--fg);margin:0 0 8px}.ly-fields{border:1px solid var(--line);border-radius:8px;margin:0 0 12px;padding:0;list-style:none}.ly-fields li{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:7px 10px;font-size:12.5px;display:flex}.ly-fields li:last-child{border-bottom:0}.ly-fields span{color:var(--muted)}.ly-wide{width:100%}.ly-dl{grid-template-columns:auto 1fr;gap:6px 12px;margin:0 0 8px;font-size:12.5px;display:grid}.ly-dl dt{color:var(--muted)}.ly-dl dd{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.tb-bar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.tb-fav{border:1px solid var(--line);background:var(--sunken);color:var(--fg);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:12px}.tb-fav[aria-pressed=true]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 50%, transparent)}.tb-star{color:var(--accent)}.tb-tip{color:var(--muted);margin:6px 2px 10px;font-size:12px}.tb-runs{border-top:1px solid var(--line);margin-top:14px;padding-top:6px}.tb-runs .tb-cat.static{justify-content:space-between;align-items:center;display:flex}.tb-link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:11.5px}.tb-run{width:100%;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;gap:8px;padding:7px 8px;font-size:12.5px;display:flex}.tb-run:hover{background:var(--sunken)}.tb-run small{color:var(--muted);white-space:nowrap}.ask-ctx{border:1px solid var(--line);background:var(--sunken);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:6px;max-width:100%;margin:6px 0 4px;padding:3px 10px;font-size:11.5px;display:inline-flex;overflow:hidden}.ask-ctx b{color:var(--fg);text-overflow:ellipsis;font-weight:600;overflow:hidden}.dock-tabs .dock-fold{background:var(--sunken);color:var(--muted);border:0;border-bottom:2px solid #0000;margin-left:auto;padding:4px 8px;position:sticky;right:0}.dock-tabs .dock-fold:hover{color:var(--fg);background:var(--panel)}.dock-tabs .dock-fold svg{opacity:1}#dock-left.collapsed .dock-tabs .dock-fold,#dock-right.collapsed .dock-tabs .dock-fold{order:-1;margin:0;padding:8px 0;position:static}#dock-bottom.collapsed .dock-tabs .dock-fold{position:static}.gx-compare{pointer-events:none;z-index:2;position:absolute;inset:0}.gx-swipe-bar{background:var(--accent);z-index:3;cursor:ew-resize;touch-action:none;width:4px;margin-left:-2px;position:absolute;top:0;bottom:0;box-shadow:0 0 0 1px #00000040}.gx-swipe-bar:after{content:"⇆";background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:15px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 1px 6px #00000059}.gx-compare.maplibregl-map{position:absolute;inset:0;overflow:hidden}.gx-swipe-bar.dragging,.gx-swipe-bar:focus-visible{outline-offset:0;outline:2px solid #fff}.gx-lens{z-index:3;pointer-events:none;border:3px solid var(--accent);box-sizing:border-box;border-radius:50%;position:absolute;box-shadow:0 0 0 1px #00000059,0 2px 12px #00000059}.gx-compare-tag{z-index:3;pointer-events:none;color:#fff;background:#14181cc7;border-radius:4px;padding:3px 8px;font-size:11.5px;font-weight:600;position:absolute;top:10px}.gx-compare-tag.left{left:10px}.gx-compare-tag.right{right:10px}.gx-time{z-index:4;background:var(--panel);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;width:min(560px,100% - 24px);padding:8px 12px;display:flex;position:absolute;bottom:34px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000040}.gx-time input[type=range]{accent-color:var(--accent);flex:1}.gx-time b{text-align:center;font-variant-numeric:tabular-nums;min-width:88px}.gx-time button{min-width:34px;min-height:34px}table.rules{border-collapse:collapse;width:100%;font-size:12px}table.rules th,table.rules td{border-bottom:1px solid var(--line);text-align:left;padding:4px 6px}table.rules input:not([type=checkbox]){width:100%}.crs-row{border-bottom:1px solid var(--line);cursor:pointer;padding:4px 2px;display:block}.crs-row small{margin-left:22px;display:block}@media print{body.gx-printing #ribbon,body.gx-printing #ribbon-tabs,body.gx-printing .dock,body.gx-printing #statusbar,body.gx-printing header,body.gx-printing .mobile-bar{display:none!important}body.gx-printing #map{position:fixed!important;inset:0!important}}.tut-list{gap:8px;display:grid}.tut-item{text-align:left;border:1px solid var(--line);background:var(--sunken);border-radius:8px;gap:2px;padding:10px 12px;display:grid}.tut-item:hover{border-color:var(--accent)}.tut-item small{color:var(--muted)}.tut-ring{z-index:9998;border:3px solid var(--accent);pointer-events:none;border-radius:8px;transition:all .2s;position:fixed;box-shadow:0 0 0 9999px #00000059}.tut-card{z-index:9999;background:var(--panel);width:min(340px,100vw - 24px);color:var(--fg);border:1px solid var(--line);border-radius:10px;padding:12px 14px;position:fixed;box-shadow:0 8px 28px #00000059}.tut-card.center{top:40%;left:50%;transform:translate(-50%,-50%)}.tut-card h3{margin:4px 0 6px;font-size:16px}.tut-card p{margin:0 0 10px;line-height:1.45}.tut-head{color:var(--muted);justify-content:space-between;align-items:center;display:flex}.tut-nav{justify-content:flex-end;gap:8px;display:flex}.rb-btn[aria-pressed=true] .rb-ico{color:var(--accent)}.rb-btn[aria-pressed=true] .rb-label{font-weight:600}.rb-btn:focus-visible,.rb-split-arrow:focus-visible,.rb-menu-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.rb-split{border:1px solid #0000;border-radius:4px;display:flex}.rb-split.has-on{border-color:var(--accent)}.rb-split .rb-btn{border-radius:0}.rb-split .rb-btn:hover{border-color:#0000}.rb-split.big{flex-direction:column;height:72px}.rb-split.big .rb-btn.big{border-radius:4px 4px 0 0;justify-content:flex-start;gap:1px;height:56px;padding:3px 6px 1px}.rb-split.big .rb-btn.big .rb-label{-webkit-line-clamp:1;line-height:13px}.rb-split.big .rb-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:88px;font-size:10px;line-height:12px;overflow:hidden}.rb-split.big .rb-split-arrow{border-top:1px solid #0000;border-radius:0 0 4px 4px;width:100%;height:16px}.rb-split.big:hover .rb-split-arrow{border-top-color:var(--line)}.rb-split.small{flex-direction:row;height:22px}.rb-split.small .rb-btn.small{border-radius:4px 0 0 4px;flex:auto}.rb-split.small .rb-split-arrow{border-left:1px solid #0000;border-radius:0 4px 4px 0;width:16px;height:22px}.rb-split.small:hover .rb-split-arrow{border-left-color:var(--line)}.rb-split-arrow{color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.rb-split-arrow:hover,.rb-split-arrow.on,.rb-split-arrow[aria-expanded=true]{background:var(--line);color:var(--accent)}.rb-menu .rb-split-list{gap:0;min-width:260px;padding:2px}.rb-menu-row{cursor:pointer;width:100%}.rb-menu-row:focus{background:var(--line);outline:none}.rb-menu-row.current .rm-name:after{content:" (default)";color:var(--muted);font-weight:400}.rb-menu-row[aria-pressed=true]{box-shadow:inset 2px 0 0 var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--panel))}.rb-menu-row kbd{color:var(--muted);margin-left:6px;font-family:inherit;font-size:9.5px;font-weight:400}#sb-project{text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-weight:600;overflow:hidden}#sb-project.unnamed{color:var(--muted);font-style:italic;font-weight:400}.pj-list{gap:2px;max-height:50vh;display:grid;overflow:auto}.pj-row{cursor:pointer;border-radius:4px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.pj-row:hover{background:var(--line)}.pj-row:has(input:checked){background:var(--line)}.dlg-field{gap:4px;font-weight:600;display:grid}.dlg-field input{padding:6px 8px;font-weight:400}.dlg-field input[aria-invalid=true]{border-color:var(--danger,#c0392b)}.gx-tour-veil{z-index:9998;pointer-events:none;border-radius:10px;transition:left .22s,top .22s,width .22s,height .22s;position:fixed;box-shadow:0 0 0 9999px #060a129e,0 0 0 2px #4da3ff,0 0 24px 4px #4da3ff73}.gx-tour-veil.full{width:0;height:0;top:0;left:0;box-shadow:0 0 0 9999px #060a129e}.gx-tour{z-index:9999;color:#e6ebf2;background:#141a24;border:1px solid #2b3647;border-radius:12px;width:min(380px,100vw - 24px);padding:16px 18px 14px;font:13px/1.5 system-ui,Segoe UI,sans-serif;position:fixed;box-shadow:0 18px 48px #0000008c}.gx-tour.center{top:42%;left:50%;transform:translate(-50%,-50%)}.gx-tour-top{letter-spacing:.04em;text-transform:uppercase;color:#8fa1b8;justify-content:space-between;font-size:11px;display:flex}.gx-tour-bar{background:#263142;border-radius:3px;height:3px;margin:8px 0 12px;overflow:hidden}.gx-tour-bar i{background:linear-gradient(90deg,#2f80ed,#4da3ff);height:100%;transition:width .22s;display:block}.gx-tour h3{color:#fff;margin:0 0 6px;font-size:17px;font-weight:600}.gx-tour p{color:#c4cfdd;margin:0 0 12px}.gx-tour-dots{gap:6px;margin-bottom:12px;display:flex}.gx-tour-dots b{background:#34425a;border-radius:50%;width:7px;height:7px}.gx-tour-dots b.past{background:#5b7aa6}.gx-tour-dots b.on{background:#4da3ff;border-radius:4px;width:18px}.gx-tour-nav{align-items:center;gap:8px;display:flex}.gx-tour-sp{flex:1}.gx-tour-off{color:#8fa1b8;cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.gx-tour button{color:#e6ebf2;cursor:pointer;font:inherit;background:#1c2431;border:1px solid #34425a;border-radius:6px;padding:5px 14px}.gx-tour button:hover:not(:disabled){border-color:#4da3ff}.gx-tour button:disabled{opacity:.4;cursor:default}.gx-tour button:focus-visible{outline-offset:2px;outline:2px solid #4da3ff}.gx-tour .gx-tour-skip{color:#8fa1b8;background:0 0;border-color:#0000}.gx-tour .gx-tour-next{color:#fff;background:#2f80ed;border-color:#2f80ed;font-weight:600}.gx-whatsnew .sheet{flex-direction:column;max-height:80vh;display:flex}.gx-whatsnew .body{overflow:auto}.gx-wn-foot{border-top:1px solid var(--line);align-items:center;gap:8px;padding:10px 14px;display:flex}#profile-btn{border-radius:12px;margin-right:6px;padding:1px 10px;font-size:11px}.gx-prof-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:6px 0 12px;display:grid}.gx-prof{border:1px solid var(--line);background:var(--sunken);cursor:pointer;border-radius:10px;justify-items:center;gap:4px;padding:16px 10px;display:grid}.gx-prof:hover,.gx-prof:focus-visible{border-color:var(--accent)}.gx-prof small{color:var(--muted);min-height:1em}.gx-av{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:48px;height:48px;font-size:20px;font-weight:600;display:grid}.gx-prof.add .gx-av{border:2px dashed var(--line);color:var(--muted);background:0 0}.gx-pin,.gx-add{gap:8px;max-width:360px;display:grid}.gx-ws-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.gx-ws-grid ul{max-height:140px;margin:0;padding-left:18px;overflow:auto}.gx-groups{flex-wrap:wrap;gap:6px 14px;display:flex}.gx-chk{text-transform:capitalize;align-items:center;gap:6px;display:flex}.gx-ws h4{margin:14px 0 6px}body[data-tools-off~=edit] #ribbon-tabs [data-tab=edit],body[data-tools-off~=design] #ribbon-tabs [data-tab=design],body[data-tools-off~=design] [data-cmd=share\.layout],body[data-tools-off~=analysis] #ribbon-tabs [data-tab=analyze],body[data-tools-off~=analysis] .dock-tabs [data-tab=toolbox],body[data-tools-off~=automate] .dock-tabs [data-tab=automate],body[data-tools-off~=ai] .dock-tabs [data-tab=ask],body[data-tools-off~=devices] #devices-box,body[data-tools-off~=plugins] #plugin-manager,body[data-tools-off~=export] #ribbon-tabs [data-tab=share],body[data-tools-off~=export] [data-cmd=edit\.export],body[data-tools-off~=delete] [data-cmd*=remove],body[data-tools-off~=delete] [data-cmd*=delete]{display:none!important}#plugin-manager .sheet{width:min(1100px,100%);height:min(720px,100vh - 40px)}#plugin-manager .body{flex-direction:column;flex:1;padding:0;display:flex;overflow:hidden}#plugin-manager #plugins{flex-direction:column;flex:1;min-height:0;display:flex}.pm{flex:1;grid-template-columns:170px minmax(0,1fr);min-height:0;display:grid}.pm-rail{border-right:1px solid var(--line);background:var(--sunken);flex-direction:column;gap:2px;padding:10px 8px;display:flex}.pm-tab{text-align:left;color:var(--text2);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:space-between;align-items:center;gap:6px;padding:7px 10px;font-size:13px;display:flex}.pm-tab:hover{background:var(--raised)}.pm-tab.on{background:var(--accent);color:var(--on-accent,#fff)}.pm-count{opacity:.8;font-size:11px}.pm-main{flex-direction:column;gap:8px;min-height:0;padding:10px 12px;display:flex}#pm-search{width:100%;padding:6px 9px}.pm-split{flex:1;grid-template-columns:minmax(240px,.9fr) minmax(0,1.4fr);gap:10px;min-height:0;display:grid}.plugin-list.pm-list{border:1px solid var(--line);background:var(--panel);border-radius:4px;flex-direction:column;gap:2px;padding:4px;display:flex;overflow-y:auto}.plugin.pm-row{cursor:pointer;background:0 0;border:0;border-radius:3px;align-items:center;gap:7px;padding:5px 7px;display:flex}.plugin.pm-row:hover{background:var(--raised)}.plugin.pm-row.on{background:color-mix(in srgb, var(--accent) 22%, transparent)}.plugin.pm-row.off .p-name{color:var(--muted)}.plugin.pm-row.avail .p-name{font-style:italic}.plugin.pm-row .pm-namecol{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.plugin.pm-row .p-name{overflow-wrap:anywhere;white-space:normal}.plugin.pm-row .pm-badges{flex-wrap:wrap;gap:4px;display:flex}.plugin.pm-row .pm-badges .badge{white-space:normal}.plugin.pm-row .p-ver{color:var(--muted);font-size:11px}.pm-nocheck{width:13px}.badge.up{background:color-mix(in srgb, var(--accent) 30%, transparent)}.pm-detail{border:1px solid var(--line);background:var(--raised);border-radius:4px;flex-direction:column;gap:8px;padding:10px 12px;display:flex;overflow-y:auto}.pm-dhead{align-items:flex-start;gap:10px;display:flex}.pm-dhead h3{margin:0 0 4px;font-size:15px}.pm-meta{border-collapse:collapse;font-size:12px}.pm-meta th{text-align:left;color:var(--muted);white-space:nowrap;vertical-align:top;padding:2px 12px 2px 0;font-weight:600}.pm-meta td{word-break:break-all;padding:2px 0}.pm-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:auto;display:flex}.pm-actions .p-keep{margin-right:auto}.pm-pad{flex-direction:column;gap:8px;max-width:760px;display:flex;overflow-y:auto}.pm-pad h3{margin:6px 0 0;font-size:14px}.pm-repos{border-collapse:collapse;width:100%;font-size:12px}.pm-repos th,.pm-repos td{text-align:left;border-bottom:1px solid var(--line);padding:4px 6px}.pm-url{word-break:break-all;color:var(--text2)}.pm-addrepo #pm-repo-name{flex:none;width:140px}.pm-addrepo #pm-repo-url{flex:1}.pm-status{border-top:1px solid var(--line);align-items:center;gap:10px;padding:8px 14px;font-size:12px;display:flex}.pm-status .pm-msg{flex:1}@media (max-width:600px){#titlebar{gap:6px;min-height:44px;padding:0 8px}#titlebar .brand .tag,#quickbar,.tb-hint,#theme-switch{display:none!important}#titlebar .brand{font-size:16px}#mode-switch button{min-height:32px;padding:6px 10px}#settings-btn{min-width:40px;min-height:40px}#ribbon{z-index:30;position:relative}#ribbon-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}#ribbon-tabs::-webkit-scrollbar{display:none}#ribbon-tabs .rb-tab,#ribbon-tabs .rb-ctx{flex:none;min-height:40px;padding:0 12px}#ribbon-tabs .rb-pin{display:none}#ribbon-body:not([hidden]){background:var(--panel);border-bottom:1px solid var(--line);max-height:46vh;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 10px 24px #00000059}#ribbon-body .rb-group{flex:none}#ribbon-body .rb-btn{min-height:40px}#statusbar{white-space:nowrap;height:26px;font-size:11px;overflow:hidden}#statusbar #sb-layer,#statusbar #sb-edition,#statusbar .sb-sep{display:none}#statusbar #sb-msg{text-overflow:ellipsis;max-width:45vw;overflow:hidden}.mobile-bar{justify-content:space-around;right:0;padding:4px 6px calc(4px + env(safe-area-inset-bottom))!important;border-width:1px 0 0!important;border-radius:0!important;bottom:0!important;left:0!important;transform:none!important}.mobile-bar button{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-height:44px;display:flex;padding:4px!important;font-size:12px!important}.mobile-bar button svg{width:20px;height:20px}#map .maplibregl-ctrl-bottom-right,#map .maplibregl-ctrl-bottom-left{bottom:60px}#shell>#dock-left.mobile-open,#shell>#dock-right.mobile-open{width:100%!important;bottom:58px!important}#center.bottom-open{--bottom-m:50vh}.modal .sheet,.gx-dialog .sheet{max-height:calc(100vh - 32px);overflow:auto;width:calc(100vw - 16px)!important;max-width:none!important}.modal .sheet footer button{min-height:40px}.gx-time{bottom:70px}.tut-card{width:calc(100vw - 24px);left:12px!important}}@media (min-width:601px) and (max-width:900px){.mobile-bar button{min-height:40px;padding:8px 18px}#ribbon-tabs{scrollbar-width:thin;flex-wrap:nowrap;overflow-x:auto}#ribbon-tabs .rb-tab{flex:none}}@media (pointer:coarse){.dock-tabs button,.tb-btn{min-height:36px}.maplibregl-ctrl-group button{width:38px!important;height:38px!important}}.docs-modal.docs-framed .docs-sheet{flex-direction:column;width:min(1200px,96vw);height:min(880px,92vh);max-height:none;display:flex}.docs-modal.docs-framed .docs-body{flex:1;padding:0;overflow:hidden}.docs-modal.docs-framed .help-frame{background:var(--bg,#fff);border:0;width:100%;height:100%;display:block}:root{--ui-hover:color-mix(in srgb, var(--accent) 9%, transparent);--ui-press:color-mix(in srgb, var(--accent) 22%, transparent);--ui-on:color-mix(in srgb, var(--accent) 15%, transparent)}#ribbon-tabs{gap:0;padding:0 6px}#ribbon-tabs .rb-tab{border-radius:0;padding:6px 12px 5px;position:relative;box-shadow:none!important;background:0 0!important;border:0!important}#ribbon-tabs .rb-tab:hover{background:var(--ui-hover)!important}#ribbon-tabs .rb-tab.on{color:var(--accent);font-weight:600}#ribbon-tabs .rb-tab.on:after{content:"";background:var(--accent);border-radius:2px 2px 0 0;height:3px;position:absolute;bottom:0;left:10px;right:10px}#ribbon-body{background:var(--panel)}.rb-btn{border-radius:3px;transition:background-color 80ms,border-color 80ms}.rb-btn:hover{background:var(--ui-hover);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.rb-btn:active{background:var(--ui-press);border-color:var(--accent)}.rb-btn[aria-pressed=true],.rb-btn.on[aria-pressed=true]{background:var(--ui-on);border-color:var(--accent);box-shadow:none}.rb-btn[aria-pressed=true]:hover{background:var(--ui-press)}.rb-split:hover{border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.rb-split-arrow:hover{background:var(--ui-hover)}.rb-title{text-transform:none;letter-spacing:0}.dock-tabs button.on,.pane-tabs button.on,[role=tab][aria-selected=true]{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent);background:0 0}.layer-row.selected,.layer-row.active,.tree-row.selected,[aria-selected=true].row{background:var(--ui-on);box-shadow:inset 3px 0 0 var(--accent)}.layer-row:hover,.tree-row:hover{background:var(--ui-hover)}button.primary,.btn.primary{background:var(--accent);border:1px solid var(--accent);color:#fff;box-shadow:none;border-radius:3px}button.primary:hover{filter:brightness(1.08)}input[type=text],input[type=search],input[type=number],select,textarea{box-shadow:none;border-radius:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent);outline:none}.sheet,.modal .sheet{border-radius:4px}.dock-tabs{background:var(--panel)}.dock-tabs button{border-radius:0}.dock-tabs button:hover{background:var(--ui-hover)}.dock-tabs button.on{color:var(--accent);border-bottom-color:var(--accent);background:0 0;font-weight:600}table.attr th{background:var(--panel);color:var(--fg);border-bottom:2px solid var(--line);border-right:1px solid var(--line)}table.attr td{border-right:1px solid color-mix(in srgb, var(--line) 60%, transparent)}table.attr tr:hover td{background:var(--ui-hover)}table.attr tr.sel td{background:var(--ui-on)}table.attr tr.sel td.rh{box-shadow:inset 3px 0 0 var(--accent);color:var(--accent)}.gx-dialog .sheet{border-color:var(--line);border-radius:4px;box-shadow:0 8px 28px #00000047}.gx-dialog header{padding:10px 14px;font-size:14px;font-weight:600}.gx-dialog header button{border-radius:3px;width:28px;height:28px}.gx-dialog header button:hover{background:var(--ui-hover);color:var(--fg)}.gx-dialog footer{border-top:1px solid var(--line);background:var(--panel);justify-content:flex-end;padding:10px 14px}.gx-dialog footer button{border-radius:3px;min-width:80px;height:30px}.gx-dialog footer button:not(.primary):hover{background:var(--ui-hover);border-color:var(--accent)}.rb-menu-sub{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line);padding:8px 12px 3px;font-size:10.5px;font-weight:600}.rb-menu-sub:first-child{border-top:0}.rb-split-list{max-height:min(70vh,640px);overflow-y:auto}.skip-link{z-index:1000;background:var(--accent);color:#fff;border-radius:3px;padding:8px 14px;font-weight:600;text-decoration:none;position:absolute;top:-48px;left:8px}.skip-link:focus{top:8px}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
