.cesium-viewer,.cesium-viewer-cesiumWidget,.cesium-widget{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden}.cesium-widget canvas{display:block;width:100%;height:100%;touch-action:none}.cesium-viewer-toolbar{display:none}.cesium-viewer-bottom{position:absolute;z-index:2;right:8px;bottom:8px;color:#dbe6e4;font:10px/1.2 Inter,system-ui,sans-serif}.cesium-widget-credits{display:flex;align-items:center;gap:4px;padding:3px 5px;border-radius:3px;background:#071312aa}.cesium-widget-credits img{width:auto;height:14px;vertical-align:middle}.cesium-widget-credits a{color:#dbe6e4;text-decoration:none}.map-layers{position:absolute;z-index:3;top:44px;right:12px;width:210px;overflow:hidden;border:1px solid #dbe3e5;border-radius:5px;background:#fffffff5;box-shadow:0 2px 9px #0018;color:#44515b}.map-layers header{display:flex;align-items:center;gap:6px;padding:7px 9px;border-bottom:1px solid #e3e9e9;color:#4a5d63;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.map-layers .layer-row{display:flex;align-items:stretch;border-bottom:1px solid #eef1f2}.map-layers .layer-row>button:first-child{flex:1}.map-layers button{display:flex;align-items:center;gap:7px;width:100%;padding:7px 9px;border:0;background:transparent;color:#596772;text-align:left;font-size:10px;cursor:pointer}.map-layers button:hover{background:#eff7f5}.map-layers button.layers-focus{width:100%;border-bottom:1px solid #eef1f2;font-weight:700}.map-layers button.layer-focus{width:auto;padding:7px 8px;border-left:1px solid #eef1f2;color:#6b7c86}.map-layers button b{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:600}.map-layers button em{margin-left:auto;color:#86939b;font-style:normal;font-size:9px}.layer-swatch{width:8px;height:8px;border-radius:50%;flex:none}.layer-swatch.stations{background:#06b6d4}.layer-swatch.coverage{background:#14b8a6}.layer-swatch.gaps{background:#ea580c}.layer-swatch.candidates{background:#ef4444}.layer-swatch.generic{background:#60a5fa}.layer-swatch.roads{background:#334155}.layer-swatch.waterways{background:#0284c7}.layer-swatch.bridges{background:#db2777}.selected-feature{background:#f1faf7}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#1f2937;background:#f8f8f8;font-synthesis:none}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,textarea{font:inherit}.desktop-app{height:100%;min-width:900px;display:grid;grid-template-rows:43px minmax(0,1fr);background:#fff}.menu-bar{height:43px;display:flex;align-items:center;gap:9px;padding:0 12px;border-bottom:1px solid #dedede;background:#f7f7f8;color:#5f6368;font-size:12px}.app-mark{display:grid;place-items:center;width:22px;height:22px;border-radius:5px;background:#162826;color:#7be5c5}.app-name{font-weight:650;color:#2a2d31;font-size:13px}.menu-bar nav{display:flex;gap:1px;margin-left:8px}.menu-bar nav button,.chrome-icon{border:0;background:transparent;color:inherit;padding:5px 7px;border-radius:4px;cursor:pointer}.menu-bar nav button:hover,.chrome-icon:hover{background:#e8e8e9;color:#202124}.command-search{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:7px;width:min(41vw,560px);height:29px;padding:0 9px;border:1px solid #d7d7d8;border-radius:7px;background:#eeeef0;color:#8a8f96}.command-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#333;font-size:12px}.command-search kbd{display:flex;align-items:center;gap:1px;padding:1px 4px;border:1px solid #d7d7d8;border-radius:4px;background:#fafafa;color:#8c9198;font-size:9px}.chrome-icon{margin-left:auto}.workspace-root{min-height:0}.cursor-workspace{width:100%;height:100%;background:#fff}.chat-resize-handle{position:relative;width:1px;background:#dedede;z-index:3}.chat-resize-handle:after{content:"";position:absolute;top:0;right:-4px;bottom:0;left:-4px;cursor:col-resize}.chat-resize-handle:hover{background:#a7a7a7}.tab-workspace{height:100%;display:grid;grid-template-rows:44px minmax(0,1fr);background:#fff}.tab-strip{display:flex;align-items:stretch;border-bottom:1px solid #dedede;background:#f9f9fa;overflow:hidden}.workspace-tab{display:flex;align-items:center;gap:8px;min-width:174px;padding:0 13px;border:0;border-right:1px solid #dedede;background:#f3f3f4;color:#73777d;font-size:12px;cursor:pointer}.workspace-tab.active{background:#fff;color:#24272c}.workspace-tab svg:last-child{margin-left:auto;color:#8b8f95}.new-tab{display:grid;place-items:center;width:43px;border:0;border-right:1px solid #dedede;background:#f7f7f8;color:#777c82;cursor:pointer}.new-tab:hover{background:#eaeaec;color:#272b30}.tab-content{min-height:0;position:relative}.empty-tab{height:100%;display:grid;place-content:center;justify-items:center;gap:10px;color:#747982;text-align:center;padding:24px}.empty-tab svg{color:#8d969d}.empty-tab strong{color:#393d42;font-size:14px}.empty-tab span{max-width:310px;font-size:12px;line-height:1.5}.globe-panel{height:100%;position:relative;overflow:hidden;background:#0a1514}.cesium-host{position:absolute;top:0;right:0;bottom:0;left:0}.panel-label{display:none}.globe-error{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#f8fafb;color:#4e5962;font-size:12px}.chat-panel{height:100%;display:grid;grid-template-rows:44px minmax(0,1fr) auto;background:#fff;color:#282b30}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid #e4e4e5;background:#fbfbfc}.chat-header>div{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:650}.chat-header>div svg{color:#168c71}.chat-header button{display:flex;align-items:center;gap:3px;border:0;background:transparent;color:#787d84;font-size:11px;cursor:pointer}.chat-thread{min-height:0;overflow:auto;padding:22px 17px 14px}.chat-welcome{max-width:360px;margin:17vh auto 0;text-align:center;color:#747981}.welcome-mark{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 13px;border:1px solid #dce7e4;border-radius:11px;background:#f1fbf8;color:#168c71}.chat-welcome h1{margin:0;color:#25282d;font-size:20px;letter-spacing:-.03em}.chat-welcome p{margin:9px 0 17px;font-size:12px;line-height:1.55}.chat-welcome button{border:1px solid #d7e3e0;border-radius:6px;background:#fff;color:#287962;padding:7px 9px;font-size:11px;cursor:pointer}.chat-welcome button:hover{background:#f2faf7}.user-message{max-width:90%;margin:4px 0 16px auto;padding:10px 12px;border-radius:9px 9px 2px;background:#f0f1f2;color:#303338;font-size:13px;line-height:1.45}.assistant-message{font-size:12px;line-height:1.55;color:#5f656d}.assistant-message h2{margin:5px 0 6px;color:#25292e;font-size:14px;line-height:1.35}.assistant-message>p{margin:0 0 9px}.assistant-kicker{display:flex;align-items:center;gap:5px;color:#168c71;font-size:11px;font-weight:650}.plan-meta{display:flex;gap:8px;flex-wrap:wrap;color:#81868d;font-size:10px}.plan-meta span{padding:3px 6px;border:1px solid #e3e5e6;border-radius:4px;background:#fafafa}.thinking-live{display:flex;align-items:center;gap:7px}.thinking-details{margin:14px 0 12px;border:1px solid #e4e5e6;border-radius:7px;background:#fafafa}.thinking-details summary{display:flex;align-items:center;gap:7px;padding:9px 10px;color:#555b63;cursor:pointer;list-style:none;font-size:11px;font-weight:600}.thinking-details summary::-webkit-details-marker{display:none}.thinking-details summary small{margin-left:auto;color:#92979d;font-weight:400}.thinking-details summary>svg:last-child{transition:transform .15s}.thinking-details[open] summary>svg:last-child{transform:rotate(90deg)}.thinking-body{padding:0 10px 11px;border-top:1px solid #e9eaeb}.thinking-body p{display:grid;gap:3px;margin:9px 0 0;color:#777d84;font-size:10px}.thinking-body b{color:#454b52;font-size:10px}.thinking-body span{padding-left:8px;border-left:2px solid #b9ded4}.run-analysis{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:0;border-radius:5px;background:#187f68;color:#fff;font-size:11px;font-weight:650;cursor:pointer}.run-analysis:disabled{opacity:.6;cursor:wait}.chat-error,.inline-error{display:flex;gap:6px;margin-top:12px;color:#b4483d;font-size:11px;line-height:1.45}.chat-composer{margin:0 12px 13px;border:1px solid #d9dcdf;border-radius:9px;background:#fff;box-shadow:0 2px 8px #0010}.chat-composer:focus-within{border-color:#aab9b5;box-shadow:0 0 0 2px #e7f1ee}.chat-composer textarea{display:block;width:100%;resize:none;padding:10px 11px 4px;border:0;outline:0;background:transparent;color:#2e3339;font-size:12px;line-height:1.45}.chat-composer textarea::placeholder{color:#a4a8ad}.chat-composer>div{display:flex;align-items:center;justify-content:space-between;padding:4px 7px 7px 11px;color:#969ba1;font-size:9px}.chat-composer button{display:grid;place-items:center;width:27px;height:27px;border:0;border-radius:6px;background:#177e68;color:#fff;cursor:pointer}.chat-composer button:disabled{background:#e3e5e6;color:#a0a5a9;cursor:default}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.cesium-viewer,.cesium-viewer-cesiumWidget,.cesium-widget{width:100%;height:100%}.cesium-viewer-toolbar{top:12px;right:12px}.cesium-button{background:#fff;border-color:#d9e0e4;color:#3e4b56;box-shadow:0 1px 4px #0016}.map-layers{top:12px;right:12px}@media(max-width:1050px){.desktop-app{min-width:760px}.command-search{width:30vw}.menu-bar nav{display:none}.workspace-tab{min-width:140px}.chat-thread{padding:15px 12px}.chat-composer{margin:0 8px 9px}}.app-mark img{width:100%;height:100%;object-fit:cover;border-radius:5px;mix-blend-mode:multiply}.workspace-tab img,.chat-header img,.welcome-mark img{width:18px;height:18px;object-fit:contain;mix-blend-mode:multiply}.workspace-tab img{width:15px;height:15px;border-radius:3px}.welcome-mark img{width:27px;height:27px}.execution-state{margin:7px 0 0;color:#168c71;font-size:11px;font-weight:600}.source-discovery{margin-top:6px;border:1px solid #2d7466;background:#102c28;color:#86ead6;border-radius:4px;padding:3px 7px;font:600 10px/1.2 Inter,system-ui;cursor:pointer}.source-discovery+small{display:block;margin-top:5px;color:#7a93a0}.assistant-answer{margin:8px 0 0;color:#1f2937;font-size:13px;line-height:1.55;white-space:pre-wrap}.execution-state{display:flex;align-items:center;gap:6px}.app-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:40;max-width:min(520px,92vw);padding:10px 14px;border:1px solid #cfe3dc;border-radius:8px;background:#0f2a25;color:#dff7ef;font-size:12px;line-height:1.4;box-shadow:0 8px 28px #0018}.menu-import{display:inline-flex;align-items:center;gap:5px;margin-left:6px;padding:5px 9px;border:1px solid #d5d8db;border-radius:6px;background:#fff;color:#3a4148;font-size:11px;font-weight:600;cursor:pointer}.menu-import:hover{background:#f3f4f5}.agent-badge{padding:3px 8px;border:1px solid #cfe3dc;border-radius:999px;background:#f1faf7;color:#147a63;font-size:10px;font-weight:700;letter-spacing:.02em}.drop-active .tab-content{outline:2px dashed #177e68;outline-offset:-10px}.drop-overlay{position:absolute;top:12px;right:12px;bottom:12px;left:12px;z-index:8;display:grid;place-content:center;justify-items:center;gap:6px;border-radius:12px;background:#0b1715d8;color:#e8fff8;pointer-events:none}.drop-overlay strong{font-size:16px}.drop-overlay span{font-size:11px;opacity:.85;text-align:center;max-width:360px}.next-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.next-action{font-size:.75rem;padding:.35rem .6rem;border-radius:6px;border:1px solid #d7e0dd;background:#f7fbf9;color:#24584a;cursor:pointer}.next-action:hover{background:#eaf6f1}.progress-card{display:block!important;padding:12px;border:1px solid #e4e5e6;border-radius:8px;background:#fafafa}.progress-head{display:flex;align-items:center;gap:7px;color:#168c71;font-weight:650;margin-bottom:8px}.agent-progress{list-style:none;margin:0;padding:0;display:grid;gap:6px}.agent-progress li{display:flex;align-items:center;gap:8px;color:#8a9097;font-size:11px}.agent-progress li.done{color:#147a63}.agent-progress li.active{color:#1f2937;font-weight:600}.agent-progress li.error{color:#b4483d}.discovery-card,.candidate-list{margin-top:12px;padding:10px;border:1px solid #e4e5e6;border-radius:8px;background:#fafafa}.discovery-title{margin:0 0 8px;color:#3a4148;font-size:11px;font-weight:700}.discovery-card p{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:0 0 7px;font-size:10px;color:#6b7280}.discovery-card b{min-width:42px;color:#374151}.chip{padding:2px 7px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;font-size:10px}.chip.found{border-color:#b7e4d5;background:#f0faf6;color:#0f766e}.chip.missing{border-color:#f5d0a8;background:#fff7ed;color:#9a3412}.chip.need{border-color:#dbeafe;background:#eff6ff;color:#1d4ed8}.candidate-row{width:100%;display:flex;align-items:center;gap:8px;margin:0 0 6px;padding:7px 8px;border:1px solid #e5e7eb;border-radius:7px;background:#fff;text-align:left;cursor:pointer}.candidate-row:hover{border-color:#99d5c3;background:#f4fbf8}.candidate-row .rank{display:inline-grid;place-items:center;min-width:28px;height:22px;border-radius:5px;background:#f3f4f6;color:#4b5563;font-size:10px;font-weight:700}.candidate-row .rank.top{background:#fee2e2;color:#b91c1c}.cand-meta{flex:1;min-width:0;display:grid;gap:2px}.cand-meta b{font-size:11px;color:#111827}.cand-meta em{font-style:normal;font-size:10px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feature-inspect{margin-top:12px;padding:10px;border:1px solid #d9e7e2;border-radius:8px;background:#f4fbf8;font-size:10px;color:#3f4b48}.feature-inspect b{display:block;font-size:11px;color:#0f766e}.feature-inspect span{color:#6b7280}.feature-inspect p{margin:4px 0 0;display:flex;gap:6px}.feature-inspect em{font-style:normal;color:#6b7280;min-width:70px}.welcome-label{margin:14px 0 8px!important;color:#9aa1a8!important;font-size:11px!important;font-weight:600}.welcome-prompts{list-style:none;margin:0;padding:0;display:grid;gap:6px;text-align:left}.welcome-prompts button{width:100%;text-align:left;line-height:1.4}.new-tab.coming-soon{opacity:.7}@media(max-width:900px){.desktop-app{min-width:0}}.engine-note{margin:6px 0 0;color:#5f6b66;font-size:10px;line-height:1.4}.progress-footnote{margin:8px 0 0;color:#9aa1a8;font-size:10px}.assistant-note{opacity:.98}.candidate-list.compact{margin-top:8px}.candidate-row.selected{border-color:#177e68;background:#eef8f4}.focus-line{display:flex;align-items:center;gap:6px;margin:8px 0 0;color:#147a63;font-size:11px}.agent-progress.static{margin-top:8px}.inner-details{margin-top:8px;font-size:10px;color:#6b7280}.inner-details summary{cursor:pointer;color:#374151;font-weight:600}.demo-banner{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-bottom:1px solid #1a3d36;background:linear-gradient(105deg,#0f2a25,#163f37 48%,#0d2220);color:#e8f7f2}.demo-banner-copy{margin:0;font-size:12px;line-height:1.4;color:#c5e6dc;text-align:center}.demo-banner-copy strong{color:#fff;font-weight:650}.demo-banner-link{color:#7dfff0;text-decoration:none;font-weight:650;display:inline-flex;align-items:center;gap:4px;vertical-align:middle}.demo-banner-link:hover{text-decoration:underline}.download-shell{display:block;min-width:0;height:100%;overflow:auto;background:#0c1816}.download-page{min-height:100%;padding:28px 20px 48px;color:#e7f2ee;background:radial-gradient(ellipse at top,#1a3f38,#0c1816 55%)}.download-back{display:inline-flex;align-items:center;gap:6px;color:#9fd9cb;text-decoration:none;font-size:12px;margin-bottom:28px}.download-back:hover{color:#c8fff4}.download-hero{max-width:640px;margin:0 auto;text-align:center}.download-logo{width:72px;height:72px;object-fit:contain;border-radius:16px;background:#fff;padding:8px;margin-bottom:16px}.download-hero h1{margin:0 0 10px;font-size:28px;letter-spacing:-.03em;color:#fff}.download-hero>p{margin:0 auto 12px;max-width:520px;font-size:14px;line-height:1.55;color:#b7d4cc}.download-os{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #2d5a50;border-radius:999px;background:#122824;color:#9fd9cb;font-size:11px}.download-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:22px}.download-primary{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:9px;background:#19a884;color:#04241c;font-weight:700;text-decoration:none}.download-primary:hover{background:#22c49a}.download-secondary{display:inline-flex;align-items:center;padding:12px 16px;border-radius:9px;border:1px solid #2d5a50;color:#d5efe7;text-decoration:none;font-size:13px}.download-secondary:hover{border-color:#3d7a6c;background:#122824}.download-details{max-width:640px;margin:36px auto 0;padding:20px;border:1px solid #244840;border-radius:12px;background:#101f1c;text-align:left}.download-details h2{margin:0 0 10px;font-size:15px;color:#fff}.download-details ul{margin:0 0 18px;padding-left:18px;color:#b7d4cc;font-size:13px;line-height:1.55}.download-details p{margin:0 0 10px;color:#b7d4cc;font-size:13px;line-height:1.55}.download-details a{color:#7dfff0}.download-details code{font-size:11px;background:#0a1614;padding:1px 5px;border-radius:4px;color:#c8e8df}.download-note{opacity:.85;font-size:12px!important}.download-meta{margin-top:8px;font-size:12px;color:#8bb5a8}@media(max-width:720px){.demo-banner{padding:10px 12px}.demo-banner-copy{font-size:11px}}.menu-item{position:relative}.menu-dropdown{position:absolute;top:100%;left:0;z-index:30;min-width:180px;padding:6px;border:1px solid #d7d7d8;border-radius:8px;background:#fff;box-shadow:0 8px 24px #0002;display:grid;gap:2px}.menu-dropdown button{display:block;width:100%;text-align:left;border:0;background:transparent;color:#2f343a;padding:8px 10px;border-radius:5px;font-size:12px;cursor:pointer}.menu-dropdown button:hover{background:#eef6f3;color:#0f766e}.runtime-pill{margin-left:8px;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:700;border:1px solid #d5e3de}.runtime-pill.ok{background:#eefaf5;color:#0f766e;border-color:#b7e4d5}.runtime-pill.warn{background:#fff7ed;color:#9a3412;border-color:#f5d0a8}.workspace-tab{position:relative;padding-right:28px}.workspace-tab .tab-close{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:18px;height:18px;border-radius:4px;color:#8b8f95}.workspace-tab .tab-close:hover{background:#e5e7eb;color:#111827}.inspector-panel{height:100%;overflow:auto;border-left:1px solid #e4e4e5;background:#fbfbfc;color:#2f343a}.inspector-panel>header{position:sticky;top:0;z-index:2;padding:12px 14px;border-bottom:1px solid #e4e4e5;background:#f7faf9}.inspector-panel>header span{display:block;font-size:10px;letter-spacing:.06em;color:#7a8580;font-weight:700}.inspector-panel>header strong{display:block;margin-top:4px;font-size:12px;color:#1f2937}.inspector-card{margin:10px 12px;padding:10px 12px;border:1px solid #e4e7ea;border-radius:8px;background:#fff}.inspector-card>div{display:flex;align-items:center;gap:6px;margin-bottom:6px;color:#168c71}.inspector-card h2{margin:0;font-size:11px;color:#374151}.inspector-card p{margin:0 0 6px;font-size:11px;line-height:1.45;color:#4b5563}.inspector-card .detail{font-size:10px;color:#6b7280}.inspector-card pre{margin:0;white-space:pre-wrap;font-size:10px;color:#374151;background:#f8faf9;padding:8px;border-radius:6px}.qgis-action{border-color:#99d5c3!important;background:#eef8f4!important;color:#0f766e!important;font-weight:700}.planner-composer{position:absolute;z-index:4;left:50%;bottom:20px;transform:translate(-50%);width:min(680px,78%);display:grid;grid-template-columns:22px 1fr 32px;gap:8px;align-items:start;padding:11px 11px 40px;background:#12211fef;border:1px solid #41615a;border-radius:7px;box-shadow:0 12px 30px #0008}.planner-composer>svg{color:#68ddc1;margin-top:4px}.planner-composer textarea{min-height:36px;max-height:78px;resize:none;border:0;outline:0;background:transparent;color:#e3f2ee;font:12px/1.45 inherit}.planner-composer button{width:30px;height:30px;display:grid;place-items:center;background:#68d9bb;color:#0c1d19;border:0;border-radius:4px;cursor:pointer}.planner-composer button:disabled{opacity:.55}.planner-composer small{position:absolute;left:41px;bottom:10px;color:#78908a;font-size:9px}.planner-composer p{position:absolute;left:0;right:0;top:calc(100% + 6px);margin:0;padding:7px 9px;border:1px solid #b86961;border-radius:4px;background:#3a1d1c;color:#f0c1bb;font-size:10px}.planner-composer .execute-button{position:absolute;right:10px;bottom:6px;width:auto;height:25px;padding:0 9px;display:flex;gap:5px;background:#ffc75d;color:#352600;font-size:10px}.spin{animation:heka-spin .9s linear infinite}@keyframes heka-spin{to{transform:rotate(360deg)}}.inspector-card .detail{padding-left:21px;margin-top:5px}.inspector-card .detail svg{vertical-align:-2px;color:#72cdb8}.inspector-card pre{margin:8px 0 0;padding:7px;background:#0c1413;border:1px solid #273933;border-radius:3px;color:#9ed8c8;font:9px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow:auto}.result-layer-toggle{position:absolute;z-index:3;right:12px;top:43px;border:1px solid #41615a;border-radius:4px;background:#12211f;color:#d6ebe4;padding:6px 8px;font:10px inherit;cursor:pointer}
