.soro-navbar{z-index:40;-webkit-backdrop-filter:blur(20px)saturate(125%);background:radial-gradient(circle at 88% 0,#f5b8000b,#0000 28%);border-bottom:1px solid #ffffff13;grid-template-columns:minmax(260px,1fr) minmax(280px,auto) minmax(220px,1fr);align-items:center;height:64px;padding:0 18px 0 22px;transition:padding-left .22s cubic-bezier(.2,0,0,1);display:grid;position:relative;box-shadow:0 10px 35px #00000038}.soro-navbar__activity-line{z-index:41;background:#ffffff0d;height:1px;position:absolute;bottom:-1px;left:0;right:0;overflow:hidden}.soro-navbar__activity-line:after{content:"";background:var(--primary);width:20%;height:100%;box-shadow:0 0 8px var(--primary);opacity:0;position:absolute;top:0;left:-20%}.soro-navbar[data-agent-state=active] .soro-navbar__activity-line:after{animation:1.8s ease-out forwards navbar-activity-sweep}@keyframes navbar-activity-sweep{0%{opacity:0;left:100%}10%{opacity:1}60%{opacity:.8}to{opacity:0;left:-20%}}@media (prefers-reduced-motion:reduce){.soro-navbar[data-agent-state=active] .soro-navbar__activity-line:after{opacity:.4;width:100%;transition:opacity .3s;animation:none;left:0}}.soro-navbar__identity{align-items:center;gap:8px;min-width:0;display:flex}.soro-navbar__identity-project{color:#98a1ae;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;font-size:13px;font-weight:500;transition:color .15s;overflow:hidden}.soro-navbar__identity-project:hover{color:#d1d5db}.soro-navbar__identity-separator{color:#ffffff4d;-webkit-user-select:none;user-select:none;font-size:12px}.soro-navbar__identity-title{color:#f5f7fa;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;font-size:15px;font-weight:600;transition:color .15s;overflow:hidden}.soro-navbar__identity-title:hover{color:#fff}.soro-navbar__save-status{color:#98a1ae;opacity:.8;white-space:nowrap;align-items:center;gap:6px;margin-left:12px;font-size:12px;transition:opacity .2s;display:flex}.soro-navbar__save-status svg{stroke-width:2px;width:14px;height:14px}.soro-navbar__save-status.is-saving{color:#d1d5db}.soro-navbar__save-status.has-error{color:#ef4444}.soro-navbar__context{background:#ffffff09;border:1px solid #ffffff13;border-radius:12px;justify-content:center;align-items:center;height:36px;transition:all .15s;display:flex;box-shadow:inset 0 1px #ffffff05}.soro-navbar__context:hover{background:#ffffff0d;border-color:#ffffff26}.soro-navbar__context:focus-within{border-color:#f5b80066;box-shadow:0 0 0 1px #f5b80033,inset 0 0 12px #f5b8000d}.soro-navbar__context-segment{color:#98a1ae;cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;height:100%;padding:0 12px;font-size:13px;font-weight:500;transition:color .15s;display:flex}.soro-navbar__context-segment:hover{color:#f5f7fa}.soro-navbar__context-segment svg{stroke-width:2px;width:14px;height:14px}.soro-navbar__context-divider{background:#ffffff1a;width:1px;height:16px}.soro-navbar__agent-status{color:#f5f7fa;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;background:#0009;border:1px solid #ffffff1a;border-radius:12px;padding:4px 12px;font-size:12px;transition:opacity .2s;position:absolute;top:100%;left:50%;transform:translate(-50%)translateY(8px)}.soro-navbar__agent-status.is-visible{opacity:1}.soro-navbar__actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.soro-navbar__icon-button{color:#98a1ae;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;transition:all .16s cubic-bezier(.2,0,0,1);display:flex;position:relative}.soro-navbar__icon-button svg{stroke-width:1.75px;width:18px;height:18px}.soro-navbar__icon-button:hover{color:#f5f7fa;background:#ffffff0d;border-color:#ffffff1a;transform:translateY(-1px)}.soro-navbar__icon-button:active{transition-duration:80ms;transform:translateY(0)scale(.96)}.soro-navbar__icon-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.soro-navbar__icon-button.is-active{color:#f5f7fa;background:#f5b8001a;border-color:#f5b80080}.soro-navbar__actions-divider{background:#ffffff1a;width:1px;height:20px;margin:0 8px}.soro-navbar__avatar{background:var(--primary);color:#000;cursor:pointer;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:600;transition:box-shadow .2s;display:flex}.soro-navbar__avatar:hover{box-shadow:0 0 0 4px #f5b80026}.share-modal-backdrop{z-index:2000;-webkit-backdrop-filter:blur(12px)saturate(90%);opacity:0;pointer-events:none;background:#000000ad;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.share-modal-backdrop.is-open{opacity:1;pointer-events:auto}.share-modal{-webkit-backdrop-filter:blur(24px)saturate(120%);opacity:0;background:linear-gradient(145deg,#181a1eeb,#0a0c0fe0);border:1px solid #ffffff1a;border-top-color:#f5b8004d;border-radius:24px;flex-direction:column;width:100%;max-width:560px;max-height:calc(100dvh - 64px);transition:transform .25s cubic-bezier(.22,1,.36,1),opacity .25s;display:flex;position:relative;transform:translateY(12px)scale(.97);box-shadow:0 32px 90px #0000009e,inset 0 1px #ffffff0f}.share-modal-backdrop.is-open .share-modal{opacity:1;transform:translateY(0)scale(1)}.share-modal__header{border-bottom:1px solid #ffffff0f;flex:none;justify-content:space-between;align-items:flex-start;padding:24px 24px 16px;display:flex}.share-modal__title-group h2{color:#f5f7fa;margin:0 0 4px;font-size:18px;font-weight:600}.share-modal__title-group p{color:#98a1ae;margin:0;font-size:14px}.share-modal__close{color:#98a1ae;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px;transition:all .15s}.share-modal__close:hover{color:#f5f7fa;background:#ffffff14}.share-modal__content{flex:auto;padding:24px;overflow-y:auto}.share-modal__preview{background:#0003;border:1px solid #ffffff0d;border-radius:12px;gap:16px;margin-bottom:24px;padding:12px;display:flex}.share-modal__preview-thumb{background:#1a1d24;border:1px solid #ffffff0d;border-radius:8px;flex-shrink:0;width:96px;height:64px}.share-modal__preview-text{flex-direction:column;justify-content:center;gap:4px;display:flex}.share-modal__preview-text h3{color:#f5f7fa;margin:0;font-size:14px;font-weight:500}.share-modal__preview-text p{color:#98a1ae;margin:0;font-size:13px}.share-modal__preview-text span{color:#6b7280;font-size:12px}.share-modal__tabs{border-bottom:1px solid #ffffff1a;gap:24px;margin-bottom:24px;display:flex}.share-modal__tab{color:#98a1ae;cursor:pointer;background:0 0;border:none;padding:0 0 12px;font-size:14px;font-weight:500;transition:color .15s;position:relative}.share-modal__tab:hover{color:#d1d5db}.share-modal__tab.is-active{color:#f5f7fa}.share-modal__tab.is-active:after{content:"";background:var(--primary);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.share-modal__input-group{margin-bottom:24px}.share-modal__input{color:#f5f7fa;background:#0003;border:1px solid #ffffff1a;border-radius:10px;width:100%;padding:12px 16px;font-family:inherit;font-size:14px;transition:border-color .15s}.share-modal__input:focus{border-color:var(--primary);outline:none}.share-modal__input::placeholder{color:#6b7280}.share-modal__footer{background:#0003;border-top:1px solid #ffffff0f;border-radius:0 0 24px 24px;flex:none;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.share-modal__privacy-status{color:#98a1ae;font-size:13px}.share-modal__actions{gap:12px;display:flex}.share-modal__btn{cursor:pointer;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .15s}.share-modal__btn--secondary{color:#d1d5db;background:0 0;border:1px solid #ffffff1a}.share-modal__btn--secondary:hover{color:#f5f7fa;background:#ffffff0d}.share-modal__btn--primary{background:var(--primary);border:1px solid var(--primary-deep);color:var(--on-primary);box-shadow:inset 0 1px #fff3}.share-modal__btn--primary:hover{filter:brightness(1.1)}.share-modal__btn--primary:active{transform:translateY(1px)}.export-popover{-webkit-backdrop-filter:blur(24px)saturate(120%);z-index:50;opacity:0;pointer-events:none;background:linear-gradient(145deg,#181a1ef5,#0e1014f0);border:1px solid #ffffff14;border-radius:16px;width:280px;padding:8px;transition:all .15s cubic-bezier(.2,0,0,1);position:absolute;top:calc(100% + 8px);right:64px;transform:translateY(-8px);box-shadow:0 20px 40px #00000080,inset 0 1px #ffffff0a}.export-popover.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.export-popover__item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:flex-start;gap:12px;width:100%;padding:10px 12px;transition:background .15s;display:flex}.export-popover__item:hover{background:#ffffff0f}.export-popover__item-icon{color:#98a1ae;margin-top:2px}.export-popover__item:hover .export-popover__item-icon{color:#f5f7fa}.export-popover__item-icon svg{width:18px;height:18px}.export-popover__item-text{flex-direction:column;gap:2px;display:flex}.export-popover__item-title{color:#f5f7fa;font-size:14px;font-weight:500}.export-popover__item-desc{color:#6b7280;font-size:12px}.export-popover__item.is-disabled{opacity:.5;cursor:not-allowed}.export-popover__item.is-disabled:hover{background:0 0}
.application-shell{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--g-blue:#f5b800;--g-blue-hover:#ffc93c;--g-blue-soft:#f5b80029;--g-blue-border:#f5b80080;--g-red:#ff6b60;--g-ink:#f4f6fa;--g-grey:#aab2c0;--g-grey-light:#7c8494;--g-line:#ffffff1f;--g-line-soft:#ffffff12;--g-canvas:#000;--g-glass:#06080b8c;--g-glass-strong:#06080bb8;--g-surface:var(--g-glass);--g-surface-2:#ffffff0f;--g-hover:#ffffff14;--g-active:#f5b80033;--card-radius:18px;--card-gap:12px;--card-shadow:0 2px 8px #00000073, 0 16px 40px #0000008c;--card-border:1px solid #ffffff24;--card-blur:saturate(140%) blur(20px);--primary:#f5b800;--primary-bright:#ffc93c;--primary-deep:#b98400;--on-primary:#0a0a0a;--primary-soft:var(--g-blue-soft);--primary-border:var(--g-blue-border);--cyan:#f5b800;--ws-bg:var(--g-canvas);--ws-chrome:var(--g-surface);--ws-panel:var(--g-surface);--ws-raised:var(--g-surface-2);--ws-selected:var(--g-active);--ws-border:var(--g-line);--ws-border-strong:var(--g-line);--ws-text:var(--g-ink);--ws-text-dim:var(--g-grey);--text:var(--g-ink);--text-secondary:var(--g-grey);--text-muted:var(--g-grey-light);--border:var(--g-line);--border-strong:var(--g-line);--danger:var(--g-red);--danger-soft:#ff6b601f;--warning:#ffb020;--warning-soft:#ffb02024;--shadow-panel:var(--card-shadow);background:var(--g-canvas);color:var(--g-ink);background:var(--g-canvas)}.application-shell .sb{margin:var(--card-gap) 0 var(--card-gap) var(--card-gap);border-radius:var(--card-radius);border:var(--card-border);border-right:var(--card-border);box-shadow:var(--card-shadow);background:var(--g-glass);height:auto;-webkit-backdrop-filter:var(--card-blur);backdrop-filter:var(--card-blur)}.application-shell .main-workspace{gap:var(--card-gap);padding:var(--card-gap);background:var(--g-canvas);grid-template-rows:auto minmax(0,1fr)}.application-shell .soro-navbar{border-radius:var(--card-radius);border:var(--card-border);height:60px;box-shadow:var(--card-shadow);background:var(--g-glass);-webkit-backdrop-filter:var(--card-blur);backdrop-filter:var(--card-blur);grid-template-columns:none;align-items:center;gap:16px;padding:0 18px 0 22px;display:flex}.application-shell .soro-navbar__identity{flex:auto;min-width:0}.application-shell .soro-navbar__actions{flex:none;justify-content:flex-end}.application-shell .map-agent-workspace{gap:var(--card-gap)}.application-shell .map-workspace{border-radius:var(--card-radius);border:var(--card-border);box-shadow:var(--card-shadow);background:var(--g-canvas);overflow:hidden}.application-shell .agent-panel{border-radius:var(--card-radius);border:var(--card-border);border-left:var(--card-border);box-shadow:var(--card-shadow);background:var(--g-glass);-webkit-backdrop-filter:var(--card-blur);backdrop-filter:var(--card-blur);overflow:hidden}.application-shell .maplibregl-map,.application-shell .leaflet-container{background:var(--g-canvas)}.application-shell ::selection{color:#fff;background:#f5b8004d}.application-shell :focus-visible{outline:2px solid var(--g-blue);outline-offset:2px}.application-shell *{scrollbar-width:thin;scrollbar-color:#ffffff2e transparent}.application-shell ::-webkit-scrollbar-thumb{background:#ffffff29 padding-box padding-box;border:2px solid #0000;border-radius:6px}.application-shell ::-webkit-scrollbar-thumb:hover{background:#ffffff4d padding-box padding-box}.application-shell .sb{--sb-bg:transparent;--sb-border:var(--g-line);--sb-text:var(--g-ink);--sb-dim:var(--g-grey);--sb-hover:var(--g-hover);--sb-active:var(--g-active);--sb-gold:var(--g-blue)}.application-shell .sb__brand{color:var(--g-ink);font-weight:700}.application-shell .sb__new{border:1px solid var(--g-line);color:var(--g-blue);border-radius:999px;font-weight:600}.application-shell .sb__new:hover{border-color:var(--g-blue);background:var(--g-blue-soft)}.application-shell .sb__row.is-active{color:var(--g-blue);font-weight:500}.application-shell .sb__row.is-active svg{color:var(--g-blue)}.application-shell .sb__row-menu:hover{color:var(--g-ink);background:var(--g-hover)}.application-shell .sb__rename{background:var(--g-surface-2);border:1px solid var(--g-blue);color:var(--g-ink)}.application-shell .sb__avatar{background:var(--g-blue);color:#05070d}.application-shell .sb__count-badge{background:var(--g-blue-soft);color:var(--g-blue)}.application-shell .ctx-menu{background:var(--g-glass-strong);border:1px solid var(--g-line);box-shadow:var(--card-shadow);-webkit-backdrop-filter:var(--card-blur);backdrop-filter:var(--card-blur);border-radius:12px}.application-shell .ctx-item{color:var(--g-ink)}.application-shell .ctx-item:hover{background:var(--g-hover)}.application-shell .ctx-item svg{color:var(--g-grey)}.application-shell .ctx-item.is-danger,.application-shell .ctx-item.is-danger svg{color:var(--g-red)}.application-shell .ctx-item:hover.is-danger{background:#ff6b601f}.application-shell .ctx-sep{background:var(--g-line)}.application-shell .ctx-heading{color:var(--g-grey)}.application-shell .modal{background:var(--g-glass-strong);border:1px solid var(--g-line);box-shadow:var(--card-shadow);-webkit-backdrop-filter:var(--card-blur);backdrop-filter:var(--card-blur);border-radius:20px}.application-shell .modal-backdrop{background:#0000009e}.application-shell .modal__icon{background:var(--g-blue-soft);color:var(--g-blue)}.application-shell .modal__title{color:var(--g-ink)}.application-shell .modal__subtitle,.application-shell .modal__close{color:var(--g-grey)}.application-shell .modal__close:hover{color:var(--g-ink);background:var(--g-hover)}.application-shell .modal__label{color:var(--g-grey)}.application-shell .modal__input{background:var(--g-surface);border:1px solid var(--g-line);color:var(--g-ink)}.application-shell .modal__input:focus{border-color:var(--g-blue);box-shadow:0 0 0 3px var(--g-blue-soft)}.application-shell .modal__hint{color:var(--g-grey-light)}.application-shell .modal__danger-text{color:var(--g-grey)}.application-shell .modal__danger-text strong{color:var(--g-ink)}.application-shell .modal__btn{border-radius:999px}.application-shell .modal__btn--ghost{border-color:var(--g-line);color:var(--g-blue)}.application-shell .modal__btn--ghost:hover{background:var(--g-blue-soft)}.application-shell .modal__btn--primary{background:var(--g-blue);color:#05070d}.application-shell .modal__btn--primary:hover{background:var(--g-blue-hover)}.application-shell .modal__btn--danger{background:var(--g-red);color:#05070d}.application-shell .modal__btn--danger:hover{background:#ff8078}.application-shell .soro-navbar{background-image:none}.application-shell .soro-navbar__activity-line{background:0 0}.application-shell .soro-navbar__identity-project{color:var(--g-grey)}.application-shell .soro-navbar__identity-project:hover{color:var(--g-ink)}.application-shell .soro-navbar__identity-separator{color:var(--g-grey-light)}.application-shell .soro-navbar__identity-title{color:var(--g-ink)}.application-shell .soro-navbar__identity-title:hover{color:#fff}.application-shell .soro-navbar__save-status{color:var(--g-grey)}.application-shell .soro-navbar__save-status.is-saving{color:var(--g-ink)}.application-shell .soro-navbar__save-status.has-error{color:var(--g-red)}.application-shell .soro-navbar__icon-button{color:var(--g-grey)}.application-shell .soro-navbar__icon-button:hover{background:var(--g-hover);border-color:var(--g-line);color:var(--g-ink)}.application-shell .soro-navbar__icon-button.is-active{background:var(--g-blue-soft);border-color:var(--g-blue-border);color:var(--g-blue)}.application-shell .soro-navbar__actions-divider{background:var(--g-line)}.application-shell .soro-navbar__avatar{background:var(--g-blue);color:#05070d;border:none}.application-shell .soro-navbar__avatar:hover{box-shadow:0 0 0 4px var(--g-blue-soft)}.application-shell .chat-panel{background:0 0;border-left:none}.application-shell .chat-empty__heading{color:var(--g-ink)}.application-shell .chat-empty__sub{color:var(--g-grey)}.application-shell .chat-starter{background:var(--g-surface-2);border:1px solid var(--g-line);border-radius:14px}.application-shell .chat-starter:hover{border-color:var(--g-blue-border);background:#1a1f26;box-shadow:0 6px 18px #00000080}.application-shell .chat-starter:before{background:radial-gradient(circle at 50% 0%, var(--g-blue-soft) 0%, transparent 65%)}.application-shell .chat-starter__title{color:var(--g-ink)}.application-shell .chat-starter__desc{color:var(--g-grey)}.application-shell .chat-starter__arrow,.application-shell .chat-role{color:var(--g-grey-light)}.application-shell .chat-content{color:var(--g-ink)}.application-shell .chat-message-row--user .chat-content{background:var(--g-blue-soft);border:1px solid var(--g-blue-border);color:var(--g-ink)}.application-shell .chat-content code{background:var(--g-surface-2);color:#cfe0ff}.application-shell .chat-content a{color:var(--g-blue)}.application-shell .chat-avatar--user{background:var(--g-surface-2);color:var(--g-grey)}.application-shell .chat-tools{background:var(--g-surface-2);border:1px solid var(--g-line)}.application-shell .chat-tool-item{color:var(--g-grey)}.application-shell .chat-tool-spinner{border-color:var(--g-blue-soft);border-top-color:var(--g-blue)}.application-shell .chat-streaming{background:var(--g-blue)}.application-shell .composer-surface{background:var(--g-surface-2);border:1px solid var(--g-line);border-radius:18px;box-shadow:0 6px 18px #0006}.application-shell .composer-wrapper[data-state=focused] .composer-surface,.application-shell .composer-wrapper[data-state=typing] .composer-surface{border-color:var(--g-blue-border);box-shadow:0 6px 18px #0006, 0 0 0 3px var(--g-blue-soft)}.application-shell .composer-gradient-border:before{background:conic-gradient(from var(--composer-angle), transparent 0deg, transparent 230deg, #f5b8001f 250deg, #f5b8008c 280deg, #ffd85a 305deg, #fff1a8 318deg, #f5b8004d 335deg, transparent 360deg)}.application-shell .composer-wrapper[data-state=focused],.application-shell .composer-wrapper[data-state=typing],.application-shell .composer-wrapper[data-state=streaming]{filter:drop-shadow(0 0 18px #f5b8002e)}.application-shell .composer-chip{background:var(--g-surface);border:1px solid var(--g-line);color:var(--g-grey)}.application-shell .composer-chip__icon{color:var(--g-grey-light)}.application-shell .composer-textarea{color:var(--g-ink);caret-color:var(--g-blue)}.application-shell .composer-textarea::placeholder{color:var(--g-grey-light)}.application-shell .composer-attach{color:var(--g-grey)}.application-shell .composer-attach:hover:not(:disabled){background:var(--g-hover);color:var(--g-ink)}.application-shell .composer-send--ready,.application-shell .composer-submit{background:var(--g-blue);color:#0a0a0a;box-shadow:0 2px 10px #f5b80059}.application-shell .composer-send--ready:hover,.application-shell .composer-submit:hover:not(:disabled){background:var(--g-blue-hover);box-shadow:0 4px 14px #f5b80073}.application-shell .composer-send--empty{background:var(--g-surface);color:var(--g-grey-light)}.application-shell .composer-send--stop{background:var(--g-surface);color:var(--g-grey)}.application-shell .composer-send--stop:hover{background:var(--g-hover)}.application-shell .composer-upload-notice{background:var(--g-blue-soft);border:1px solid var(--g-blue-border);color:var(--g-blue-hover)}.application-shell .composer-attachment-chip{background:var(--g-surface);border:1px solid var(--g-line);color:var(--g-ink)}.application-shell .composer-attachment-chip.error{color:var(--g-red);background:#ff6b6014;border-color:#ff6b6066}.application-shell .composer-attachment-spinner{border-color:var(--g-line);border-top-color:var(--g-blue)}.application-shell .chat-disclaimer{color:var(--g-grey-light)}.application-shell .map-search__field{border:1px solid var(--g-line);box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f1216eb;border-radius:14px}.application-shell .map-search__field:focus-within{border-color:var(--g-blue-border);box-shadow:var(--card-shadow), 0 0 0 3px var(--g-blue-soft)}.application-shell .map-search__icon{color:var(--g-grey)}.application-shell .map-search__input{color:var(--g-ink)}.application-shell .map-search__input::placeholder{color:var(--g-grey-light)}.application-shell .map-search__clear{color:var(--g-grey)}.application-shell .map-search__clear:hover{color:var(--g-ink);background:var(--g-hover)}.application-shell .map-search__note{border:1px solid var(--g-line);color:var(--g-grey);box-shadow:var(--card-shadow);background:#0f1216f0;border-radius:12px}.application-shell .map-search__note--error{color:var(--g-red);border-color:#ff6b6066}.application-shell .basemap-toggle__button{border:1px solid var(--g-line);color:var(--g-grey);box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f1216eb;border-radius:12px}.application-shell .basemap-toggle__button:hover,.application-shell .basemap-toggle.is-open .basemap-toggle__button{border-color:var(--g-blue-border);color:var(--g-blue)}.application-shell .basemap-toggle__menu{border:1px solid var(--g-line);box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f1216f5;border-radius:14px}.application-shell .basemap-toggle__item{color:var(--g-grey)}.application-shell .basemap-toggle__item:hover{background:var(--g-hover);color:var(--g-ink)}.application-shell .basemap-toggle__item.is-active{background:var(--g-blue-soft);color:var(--g-blue)}.application-shell .basemap-toggle__opacity{border-top:1px solid var(--g-line);color:var(--g-grey)}.application-shell .basemap-toggle__opacity input{accent-color:var(--g-blue)}.application-shell .boundary-badge{border:1px solid var(--g-line);box-shadow:var(--card-shadow);color:var(--g-ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f1216eb;border-radius:999px}.application-shell .boundary-badge__sep,.application-shell .boundary-badge__name{color:var(--g-grey)}.application-shell .globe-map__controls{border:1px solid var(--g-line);box-shadow:var(--card-shadow);color:var(--g-ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f1216f0;border-radius:14px}.application-shell .maplibregl-ctrl-attrib{color:var(--g-grey)!important;background:#0f1216d1!important}.application-shell .maplibregl-ctrl-attrib a{color:var(--g-blue)!important}.application-shell .maplibregl-ctrl-attrib-button{filter:invert()}.application-shell .maplibregl-ctrl-group{border:1px solid var(--g-line);box-shadow:var(--card-shadow);background:#0f1216f0;border-radius:12px;overflow:hidden}.application-shell .maplibregl-ctrl-group button{border-bottom:1px solid var(--g-line)}.application-shell .maplibregl-ctrl-group button:hover{background:var(--g-hover)}.application-shell .maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert()}.application-shell input:-webkit-autofill{-webkit-text-fill-color:var(--g-ink);-webkit-box-shadow:0 0 0 1000px var(--g-surface-2) inset;caret-color:var(--g-ink)}.application-shell input:-webkit-autofill:hover{-webkit-text-fill-color:var(--g-ink);-webkit-box-shadow:0 0 0 1000px var(--g-surface-2) inset;caret-color:var(--g-ink)}.application-shell input:-webkit-autofill:focus{-webkit-text-fill-color:var(--g-ink);-webkit-box-shadow:0 0 0 1000px var(--g-surface-2) inset;caret-color:var(--g-ink)}.application-shell .share-modal{border:1px solid var(--g-line);border-top-color:var(--g-blue-border);box-shadow:var(--card-shadow);-webkit-backdrop-filter:none;backdrop-filter:none;background:#0a0b0d}.application-shell .share-modal__header{border-bottom:1px solid var(--g-line)}.application-shell .share-modal__title-group h2{color:var(--g-ink)}.application-shell .share-modal__title-group p,.application-shell .share-modal__close{color:var(--g-grey)}.application-shell .share-modal__close:hover{background:var(--g-hover);color:var(--g-ink)}.application-shell .share-modal__preview{background:var(--g-surface);border:1px solid var(--g-line)}.application-shell .share-modal__preview-thumb{border:1px solid var(--g-line);background:#1a1f26}.application-shell .share-modal__preview-text h3{color:var(--g-ink)}.application-shell .share-modal__preview-text p{color:var(--g-grey)}.application-shell .share-modal__preview-text span{color:var(--g-grey-light)}.application-shell .share-modal__tabs{border-bottom:1px solid var(--g-line)}.application-shell .share-modal__tab{color:var(--g-grey)}.application-shell .share-modal__tab:hover{color:var(--g-ink)}.application-shell .share-modal__tab.is-active{color:var(--g-blue)}.application-shell .share-modal__tab.is-active:after{background:var(--g-blue)}.application-shell .share-modal__input{background:var(--g-surface);border:1px solid var(--g-line);color:var(--g-ink)}.application-shell .share-modal__input:focus{border-color:var(--g-blue)}.application-shell .share-modal__input::placeholder{color:var(--g-grey-light)}.application-shell .share-modal__footer{background:var(--g-surface);border-top:1px solid var(--g-line)}.application-shell .share-modal__privacy-status{color:var(--g-grey)}.application-shell .share-modal__btn{border-radius:999px}.application-shell .share-modal__btn--secondary{border:1px solid var(--g-line);color:var(--g-blue)}.application-shell .share-modal__btn--secondary:hover{background:var(--g-blue-soft);color:var(--g-blue-hover)}.application-shell .share-modal__btn--primary{background:var(--g-blue);border:1px solid var(--g-blue-hover);color:#05070d;box-shadow:none}.application-shell .share-modal__btn--primary:hover{background:var(--g-blue-hover);filter:none}.application-shell--map-bg{background:var(--g-canvas)}.application-shell--map-bg .map-backdrop{z-index:0;position:fixed;inset:0}.application-shell--map-bg .map-backdrop .maplibregl-map,.application-shell--map-bg .map-backdrop .leaflet-container{border-radius:0;width:100%;height:100%}.application-shell--map-bg{background:0 0;position:relative}.application-shell--map-bg .sb{z-index:3;position:relative}.application-shell--map-bg .main-workspace{z-index:2;pointer-events:none;background:0 0;position:relative}.application-shell--map-bg .map-agent-workspace{pointer-events:none;background:0 0}.application-shell--map-bg .map-workspace--overlay{box-shadow:none;pointer-events:none;background:0 0;border:none;border-radius:0;overflow:visible}.application-shell--map-bg .map-workspace--overlay .map-search,.application-shell--map-bg .map-workspace--overlay .basemap-toggle,.application-shell--map-bg .map-workspace--overlay .boundary-badge,.application-shell--map-bg .map-workspace--overlay .globe-map__warning,.application-shell--map-bg .agent-panel,.application-shell--map-bg .soro-navbar{pointer-events:auto}.application-shell--map-bg .basemap-toggle{align-items:flex-start;inset:auto auto 24px 24px}.application-shell--map-bg .basemap-toggle__menu{order:-1}.application-shell--map-bg .boundary-badge{left:40%}.application-shell--map-bg .map-workspace--overlay .map-search{z-index:1200;pointer-events:auto;top:84px;left:24px}.application-shell--map-bg .map-workspace--overlay .map-search *{pointer-events:auto}.ctx-portal,.ctx-portal .ctx-backdrop{z-index:4000;position:fixed;inset:0}.ctx-portal .ctx-menu{z-index:4001;-webkit-backdrop-filter:saturate(140%)blur(20px);backdrop-filter:saturate(140%)blur(20px);background:#06080bb8;border:1px solid #ffffff1f;border-radius:12px;position:fixed;box-shadow:0 2px 8px #00000073,0 16px 40px #0009}.ctx-portal .ctx-item{color:#f4f6fa}.ctx-portal .ctx-item:hover{background:#ffffff14}.ctx-portal .ctx-item svg{color:#aab2c0}.ctx-portal .ctx-item.is-danger,.ctx-portal .ctx-item.is-danger svg{color:#ff6b60}.ctx-portal .ctx-item:hover.is-danger{background:#ff6b6024}.ctx-portal .ctx-sep{background:#ffffff1f}.ctx-portal .ctx-heading{color:#aab2c0}body>.modal-backdrop{z-index:4000;background:#0000009e}body>.modal-backdrop .modal{-webkit-backdrop-filter:saturate(140%)blur(24px);backdrop-filter:saturate(140%)blur(24px);background:#06080bc7;border:1px solid #ffffff1f;border-radius:20px;box-shadow:0 2px 8px #00000073,0 24px 60px #0009}body>.modal-backdrop .modal__icon{color:#f5b800;background:#f5b80029}body>.modal-backdrop .modal__title{color:#f4f6fa}body>.modal-backdrop .modal__subtitle,body>.modal-backdrop .modal__close{color:#aab2c0}body>.modal-backdrop .modal__close:hover{color:#f4f6fa;background:#ffffff14}body>.modal-backdrop .modal__label{color:#aab2c0}body>.modal-backdrop .modal__input{color:#f4f6fa;background:#ffffff0f;border:1px solid #ffffff1f}body>.modal-backdrop .modal__input:focus{border-color:#f5b800;box-shadow:0 0 0 3px #f5b80029}body>.modal-backdrop .modal__hint{color:#7c8494}body>.modal-backdrop .modal__danger-text{color:#aab2c0}body>.modal-backdrop .modal__danger-text strong{color:#f4f6fa}body>.modal-backdrop .modal__btn{border-radius:999px}body>.modal-backdrop .modal__btn--ghost{color:#f5b800;border-color:#ffffff24}body>.modal-backdrop .modal__btn--ghost:hover{background:#f5b80024}body>.modal-backdrop .modal__btn--primary{color:#0a0a0a;background:#f5b800}body>.modal-backdrop .modal__btn--primary:hover{background:#ffc93c}body>.modal-backdrop .modal__btn--danger{color:#0a0a0a;background:#ff6b60}body>.modal-backdrop .modal__btn--danger:hover{background:#ff8078}body>.share-modal-backdrop{z-index:4000;background:#000000ad}body>.share-modal-backdrop .share-modal{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0a0b0d;border:1px solid #ffffff1f;border-top-color:#f5b80080;box-shadow:0 2px 8px #00000073,0 24px 64px #0009}body>.share-modal-backdrop .share-modal__header{border-bottom:1px solid #ffffff12}body>.share-modal-backdrop .share-modal__title-group h2{color:#f4f6fa}body>.share-modal-backdrop .share-modal__title-group p,body>.share-modal-backdrop .share-modal__close{color:#aab2c0}body>.share-modal-backdrop .share-modal__close:hover{color:#f4f6fa;background:#ffffff14}body>.share-modal-backdrop .share-modal__preview{background:#ffffff08;border:1px solid #ffffff14}body>.share-modal-backdrop .share-modal__preview-thumb{background:#14181d;border:1px solid #ffffff14}body>.share-modal-backdrop .share-modal__preview-text h3{color:#f4f6fa}body>.share-modal-backdrop .share-modal__preview-text p{color:#aab2c0}body>.share-modal-backdrop .share-modal__preview-text span{color:#7c8494}body>.share-modal-backdrop .share-modal__tabs{border-bottom:1px solid #ffffff1a}body>.share-modal-backdrop .share-modal__tab{color:#aab2c0}body>.share-modal-backdrop .share-modal__tab:hover{color:#f4f6fa}body>.share-modal-backdrop .share-modal__tab.is-active{color:#f5b800}body>.share-modal-backdrop .share-modal__tab.is-active:after{background:#f5b800}body>.share-modal-backdrop .share-modal__input{color:#f4f6fa;background:#00000059;border:1px solid #ffffff1f}body>.share-modal-backdrop .share-modal__input:focus{border-color:#f5b800}body>.share-modal-backdrop .share-modal__footer{background:#0000004d;border-top:1px solid #ffffff12}body>.share-modal-backdrop .share-modal__privacy-status{color:#aab2c0}body>.share-modal-backdrop .share-modal__btn{border-radius:999px}body>.share-modal-backdrop .share-modal__btn--secondary{color:#f5b800;background:0 0;border:1px solid #ffffff24}body>.share-modal-backdrop .share-modal__btn--secondary:hover{background:#f5b8001f}body>.share-modal-backdrop .share-modal__btn--primary{color:#0a0a0a;box-shadow:none;background:#f5b800;border:1px solid #b98400}body>.share-modal-backdrop .share-modal__btn--primary:hover{filter:none;background:#ffc93c}body>.export-popover--floating{z-index:4001;-webkit-backdrop-filter:saturate(140%)blur(20px);backdrop-filter:saturate(140%)blur(20px);background:#06080bb8;border:1px solid #ffffff1f;border-radius:16px;width:280px;padding:8px;position:fixed;overflow:hidden;box-shadow:0 2px 8px #00000073,0 16px 40px #0009}@property --ws-glow-angle{syntax:"<angle>";inherits:false;initial-value:0deg}body>.export-popover--floating:before{content:"";border-radius:inherit;pointer-events:none;background:conic-gradient(from var(--ws-glow-angle), transparent 0deg, transparent 230deg, #f5b80024 250deg, #f5b80099 280deg, #ffd85a 305deg, #fff1a8 318deg, #f5b80052 335deg, transparent 360deg);-webkit-mask-composite:xor;opacity:0;padding:1px;animation:3.2s linear infinite workspace-glow-sweep;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}body>.export-popover--floating.is-open:before{opacity:1}body>.export-popover--floating .export-popover__item{z-index:1;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:flex-start;gap:12px;width:100%;padding:10px 12px;display:flex;position:relative}body>.export-popover--floating .export-popover__item:hover{background:#ffffff14}body>.export-popover--floating .export-popover__item-icon{color:#aab2c0;margin-top:2px}body>.export-popover--floating .export-popover__item:hover .export-popover__item-icon{color:#f4f6fa}body>.export-popover--floating .export-popover__item-icon svg{width:18px;height:18px}body>.export-popover--floating .export-popover__item-text{flex-direction:column;gap:2px;display:flex}body>.export-popover--floating .export-popover__item-title{color:#f4f6fa;font-size:14px;font-weight:500}body>.export-popover--floating .export-popover__item-desc{color:#7c8494;font-size:12px}body>.export-popover--floating .export-popover__item.is-disabled{opacity:.5;cursor:not-allowed}body>.export-popover--floating .export-popover__item.is-disabled:hover{background:0 0}@keyframes workspace-glow-sweep{0%{--ws-glow-angle:0deg}to{--ws-glow-angle:360deg}}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary:#f5b800;--primary-bright:#ffc93c;--primary-deep:#b98400;--on-primary:#0a0a0a;--primary-soft:#f5b8001f;--primary-border:#f5b80052;--accent-gradient:linear-gradient(90deg, #b98400, #f5b800, #ffc93c);--bg:#070707;--bg-deep:#000;--surface:#121212f0;--surface-solid:#141414;--ws-bg:#0b0d10;--ws-chrome:#0d0f12;--ws-panel:#101214;--ws-raised:#16191d;--ws-selected:#22262d;--ws-border:#ffffff14;--ws-border-strong:#ffffff2e;--ws-text:#f5f7fa;--ws-text-dim:#98a1ae;--space-deep:#010409;--space-navy:#020817;--atmos-blue:#2563eb;--cyan:#22d3ee;--ghana-gold:#f5c518;--text:#ffffffeb;--text-secondary:#ffffff9e;--text-muted:#ffffff6b;--border:#ffffff1a;--border-strong:#ffffff2e;--danger:#ff5f56;--danger-soft:#ff5f561f;--warning:#ff9f2e;--warning-soft:#ff9f2e1f;--fs-xs:12.5px;--fs-sm:14px;--fs-base:15px;--fs-md:17px;--fs-lg:20px;--fs-xl:26px;--fs-2xl:30px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-panel:0 8px 32px #00000073}html{height:100dvh;overflow:hidden}body{height:100%;font-family:var(--font-sans);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis-weight:none;background-color:var(--bg);color:var(--text);margin:0;padding:0;line-height:1.5;overflow:hidden}h1,h2,h3{letter-spacing:-.02em;font-weight:680}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.app-shell{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.app-shell__card{border-radius:var(--radius-lg);text-align:center;background:var(--surface);border:1px solid var(--border);width:min(420px,100%);box-shadow:var(--shadow-panel);padding:28px}.app-shell__text{color:var(--text-secondary);margin:0;line-height:1.6}.application-shell{background:#0b0d10;grid-template-columns:auto minmax(0,1fr);width:100%;height:100dvh;display:grid;overflow:hidden}.main-workspace{grid-template-rows:58px minmax(0,1fr);min-width:0;height:100%;min-height:0;display:grid}.map-agent-workspace{grid-template-columns:minmax(0,7fr) minmax(380px,3fr);min-width:0;height:100%;min-height:0;display:grid;position:relative}.map-workspace{background:var(--bg-deep);width:100%;height:100%;position:relative}.agent-panel{border-left:1px solid var(--border);background:#101214;flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.chat-overlay{border-radius:var(--radius-md);z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--surface);border:1px solid var(--border);width:350px;height:500px;box-shadow:var(--shadow-panel);flex-direction:column;display:flex;position:absolute;bottom:20px;right:20px}.chat-messages{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.chat-message{border-radius:var(--radius-lg);max-width:85%;padding:10px 14px;font-size:14px;line-height:1.45}.chat-message.user{background:var(--primary);color:var(--on-primary);border-bottom-right-radius:4px;align-self:flex-end;font-weight:500}.chat-message.agent{background:#ffffff12;border-bottom-left-radius:4px;align-self:flex-start}.chat-input-container{border-top:1px solid var(--border);gap:8px;padding:12px;display:flex}.chat-input{color:var(--text);background:#00000059;border:1px solid #0000;border-radius:20px;outline:none;flex:1;padding:10px 14px;font-family:inherit}.chat-input:focus{border-color:var(--primary-border)}.chat-send{background:var(--primary);color:var(--on-primary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.chat-send:hover:not(:disabled){background:var(--primary-bright)}.chat-send:disabled{opacity:.45;cursor:not-allowed}.chat-stop{border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);cursor:pointer;border:1px solid #ff5f5680;padding:8px 12px;font-family:inherit}.chat-message.agent p{margin:0 0 8px}.chat-message.agent p:last-child{margin:0}.chat-message.agent code{background:#ffffff1a;border-radius:4px;padding:2px 4px;font-family:monospace}.chat-message.agent a{color:var(--primary)}.tool-calls{flex-wrap:wrap;gap:4px;margin:0 0 8px;padding:0;list-style:none;display:flex}.tool-calls li{background:var(--primary-soft);border:1px solid var(--primary-border);color:var(--primary-bright);border-radius:10px;padding:2px 8px;font-family:monospace;font-size:11px}.scenario-panel{z-index:1000;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:280px;box-shadow:var(--shadow-panel);padding:16px;position:absolute;top:80px;left:20px}.scenario-panel__title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:0 0 12px;font-size:11px}.scenario-panel__list{flex-direction:column;gap:8px;display:flex}.scenario-panel__item{text-align:left;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;background:#ffffff0d;border:1px solid #0000;padding:10px 12px;font-family:inherit;font-size:14px;transition:background .15s,border-color .15s}.scenario-panel__item:hover{background:#ffffff17}.scenario-panel__item[aria-pressed=true]{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-bright);font-weight:600}.scenario-panel__meta{grid-template-columns:auto 1fr;gap:4px 10px;margin:14px 0 0;font-size:12px;display:grid}.scenario-panel__meta dt{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.scenario-panel__meta dd{margin:0}.map-panel{z-index:1000;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:240px;box-shadow:var(--shadow-panel);padding:14px;font-size:13px;position:absolute;top:80px;right:20px}.map-panel__section+.map-panel__section{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.map-panel__title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:8px;font-size:11px;display:block}.map-panel__basemaps{gap:6px;display:flex}.map-panel__chip{border-radius:var(--radius-sm);color:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #0000;flex:1;padding:6px 4px;font-family:inherit;font-size:12px}.map-panel__chip--active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-bright);font-weight:600}.map-panel__layer{cursor:pointer;align-items:flex-start;gap:8px;padding:4px 0;line-height:1.3;display:flex}.map-panel__layer input{accent-color:var(--primary)}.map-panel__layer em{color:var(--text-secondary);font-size:11px;font-style:normal}.map-panel__opacity{margin-top:10px;display:block}.map-panel__opacity input{width:100%;accent-color:var(--primary)}.map-panel__warning{color:var(--warning);margin:12px 0 0;font-size:12px}.sign-out{border-radius:var(--radius-sm);border:1px solid var(--border-strong);color:var(--text);cursor:pointer;background:#ffffff0f;padding:8px 14px;font-family:inherit;font-size:13px}.sign-out:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-bright)}.status-banner{z-index:1000;border-radius:var(--radius-sm);background:var(--warning-soft);max-width:420px;color:var(--warning);border:1px solid #ff9f2e66;padding:10px 14px;font-size:13px;position:absolute;bottom:20px;left:20px}
