@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300..700;1,9..40,300..700&display=swap";:root{--color-bg: #0c0c0d;--color-surface: #121212;--color-surface-raised: #1a1a1c;--color-surface-hover: #232326;--color-border: rgba(255, 255, 255, .06);--color-border-hover: rgba(255, 255, 255, .12);--color-border-focus: rgba(var(--accent-rgb), .5);--color-text: rgba(255, 255, 255, .92);--color-text-secondary: rgba(255, 255, 255, .55);--color-text-dim: rgba(255, 255, 255, .45);--color-text-muted: rgba(255, 255, 255, .25);--color-text-placeholder: rgba(255, 255, 255, .18);--accent-rgb: 196, 20, 20;--accent-hover-rgb: 211, 79, 79;--color-accent: #c41414;--color-accent-hover: #d34f4f;--color-accent-deep: #991010;--accent-fg: #ffffff;--color-accent-glow: rgba(var(--accent-rgb), .4);--color-brand-muted: #53565a;--color-success: #22c55e;--color-error: #ef4444;--color-warning: #f97316;--accent: var(--color-accent);--accent-hover: var(--color-accent-hover);--accent-lit: #ff6d5f;--accent-pale: #f4eaea;--color-scrim: rgba(17, 17, 19, .95);--color-param-string: #3b82f6;--color-param-number: #22c55e;--color-param-boolean: #f97316;--color-param-list: #14b8a6;--color-param-json: #6b7280;--glass-bg: rgba(255, 255, 255, .04);--glass-border: rgba(255, 255, 255, .07);--glass-border-top: rgba(255, 255, 255, .12);--glass-blur: blur(24px) saturate(150%);--btn-glass-bg: rgba(255, 255, 255, .06);--btn-glass-border: rgba(255, 255, 255, .1);--btn-glass-border-top: rgba(255, 255, 255, .18);--btn-glass-border-bottom: rgba(255, 255, 255, .04);--btn-accent-bg: rgba(var(--accent-rgb), .18);--btn-accent-border: rgba(var(--accent-rgb), .25);--btn-accent-border-top: rgba(var(--accent-hover-rgb), .35);--btn-accent-border-bottom: rgba(120, 10, 10, .2);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 9999px;--shadow-node: 0 4px 24px rgba(0, 0, 0, .7), 0 0 0 1px rgba(255, 255, 255, .03);--shadow-node-hover: 0 8px 40px rgba(0, 0, 0, .8), 0 0 0 1px rgba(255, 255, 255, .05);--shadow-node-selected: 0 0 0 2px var(--color-accent), 0 8px 40px rgba(var(--accent-rgb), .2);--shadow-panel: 0 8px 32px rgba(0, 0, 0, .7);--shadow-glow-accent: 0 0 20px rgba(var(--accent-rgb), .3), 0 0 40px rgba(var(--accent-rgb), .1);--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .12s;--duration-normal: .3s;--duration-glass: .35s;--xy-background-color: var(--color-bg);--xy-node-background-color-default: transparent;--xy-node-border-default: none;--xy-edge-stroke-default: rgba(255, 255, 255, .12)}@supports (color: oklch(from red l c h)){:root{--accent-lit: oklch(from var(--color-accent) max(l, .72) c h);--accent-pale: oklch(from var(--color-accent) .95 calc(c*.22) h)}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes gradient-shift-vertical{0%{background-position:50% 0%}50%{background-position:50% 100%}to{background-position:50% 0%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.glass{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-top-color:var(--glass-border-top);border-radius:var(--radius-sm);box-shadow:var(--shadow-panel);position:relative}.glass:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.04) 0%,transparent 50%);pointer-events:none}.glass--node{background:#111113f2;border:1px solid rgba(255,255,255,.07);border-top-color:#ffffff1f;border-radius:var(--radius-md);box-shadow:var(--shadow-node);position:relative}.glass--node:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.03) 0%,transparent 40%);pointer-events:none}.glass-btn{background:var(--btn-glass-bg);border:1px solid var(--btn-glass-border);border-top-color:var(--btn-glass-border-top);border-bottom-color:var(--btn-glass-border-bottom);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border-radius:var(--radius-sm);position:relative;transition:all var(--duration-glass) var(--ease-out);cursor:pointer;color:var(--color-text);font-family:inherit}.glass-btn:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.06) 0%,transparent 60%);pointer-events:none;transition:opacity var(--duration-glass)}.glass-btn:hover{transform:translateY(-.5px);background:#ffffff17;border-top-color:#ffffff38}.glass-btn:active{transform:translateY(.5px)}.glass-btn--accent{background:var(--btn-accent-bg);border-color:var(--btn-accent-border);border-top-color:var(--btn-accent-border-top);border-bottom-color:var(--btn-accent-border-bottom);color:#fff}.glass-btn--accent:before{background:linear-gradient(135deg,rgba(var(--accent-hover-rgb),.12) 0%,rgba(var(--accent-rgb),.04) 40%,transparent 70%)}.glass-btn--accent:hover{background:rgba(var(--accent-rgb),.25);border-top-color:rgba(var(--accent-hover-rgb),.4);box-shadow:var(--shadow-glow-accent)}.glass-btn:disabled,.glass-btn--accent:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}[data-sonner-toast]{background:#111113d9!important;backdrop-filter:blur(24px) saturate(150%)!important;-webkit-backdrop-filter:blur(24px) saturate(150%)!important;border:1px solid rgba(255,255,255,.07)!important;border-top-color:#ffffff1f!important;border-radius:var(--radius-sm)!important;box-shadow:var(--shadow-panel)!important;font-family:DM Sans,system-ui,sans-serif!important}[data-sonner-toast][data-type=success]{border-color:#22c55e33!important}[data-sonner-toast][data-type=error]{border-color:#ef444433!important}.app-header,.chat-header{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;flex:none}.app-header__brand,.chat-header__brand{display:flex;align-items:center;gap:10px}.app-header__logo,.chat-header__logo{height:20px;opacity:.9}.app-header__divider,.chat-header__divider{width:1px;height:16px;background:var(--color-border-hover)}.app-header__product,.chat-header__product{font-size:15px;font-weight:600;letter-spacing:.08em;color:var(--color-accent-hover)}.app-header__nav,.chat-header__nav{display:flex;align-items:center;gap:14px}.app-header__link,.chat-header__link{background:none;border:none;color:var(--color-text-secondary);font-family:inherit;font-size:13px;cursor:pointer;padding:6px 10px;border-radius:var(--radius-sm);transition:color var(--duration-fast),background var(--duration-fast)}.app-header__link:hover,.chat-header__link:hover{color:var(--color-text);background:var(--glass-bg)}.app-header__link--new,.chat-header__link--new{display:flex;align-items:center;gap:6px;border:1px solid var(--color-border)}.app-header__link--new:hover,.chat-header__link--new:hover{border-color:var(--color-border-hover)}.app-header__icon,.chat-header__icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;margin-right:2px;border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text-secondary);cursor:pointer;transition:color var(--duration-fast),background var(--duration-fast)}.app-header__icon:hover,.chat-header__icon:hover{color:var(--color-text);background:var(--glass-bg)}.app-header__nav .alert-bell:hover,.chat-header__nav .alert-bell:hover{background:var(--glass-bg);border-color:transparent}.app-header__home{display:flex;align-items:center;gap:10px;background:none;border:none;text-decoration:none;padding:4px 6px;margin-left:-6px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast)}.app-header__home:hover{background:var(--glass-bg)}.ui-btn,.chat-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border-radius:var(--radius-full);border:1px solid var(--color-border-hover);background:var(--color-surface-raised);color:var(--color-text);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.ui-btn:hover:not(:disabled),.chat-btn:hover:not(:disabled){background:var(--color-surface-hover);border-color:#ffffff29;transform:translateY(-1px)}.ui-btn:active:not(:disabled),.chat-btn:active:not(:disabled){transform:translateY(0)}.ui-btn:disabled,.chat-btn:disabled{opacity:.45;cursor:not-allowed}.ui-btn:focus-visible,.chat-btn:focus-visible{outline:2px solid rgba(var(--accent-rgb),.45);outline-offset:2px}.ui-btn--accent,.chat-btn--accent{border-color:rgba(var(--accent-rgb),.42);background:linear-gradient(158deg,rgba(var(--accent-hover-rgb),.24),rgba(var(--accent-rgb),.16));color:#fff}.ui-btn--accent:hover:not(:disabled),.chat-btn--accent:hover:not(:disabled){background:linear-gradient(158deg,rgba(var(--accent-hover-rgb),.36),rgba(var(--accent-rgb),.26));border-color:rgba(var(--accent-hover-rgb),.6);box-shadow:0 0 20px rgba(var(--accent-rgb),.28)}.ui-btn--ghost{background:transparent;border-color:transparent;color:var(--color-text-secondary)}.ui-btn--ghost:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border);color:var(--color-text);transform:none}.ui-btn--sm{padding:5px 11px;font-size:12px;gap:6px}.ui-btn--danger:hover:not(:disabled){background:#ef44441f;border-color:#ef444466;color:#fca5a5}.ui-btn--on{border-color:rgba(var(--accent-rgb),.42);color:var(--color-accent-hover)}.ui-btn--on:hover:not(:disabled){background:rgba(var(--accent-rgb),.14);border-color:rgba(var(--accent-hover-rgb),.55);color:var(--color-accent-hover)}.ui-chip,.chat-chip{padding:8px 15px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:#ffffff05;color:var(--color-text-secondary);font-size:12.5px;font-family:inherit;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.ui-chip:hover:not(:disabled),.chat-chip:hover{border-color:rgba(var(--accent-rgb),.45);color:var(--color-text);background:rgba(var(--accent-rgb),.06);box-shadow:0 0 20px rgba(var(--accent-rgb),.14);transform:translateY(-1px)}.ui-chip:disabled{opacity:.45;cursor:not-allowed}.ui-composer,.chat-composer{display:flex;align-items:flex-end;gap:10px;padding:11px 11px 11px 20px;border-radius:26px;background:var(--color-surface);border:1px solid var(--color-border-hover);box-shadow:0 8px 30px #00000059;transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.ui-composer:focus-within,.chat-composer:focus-within{border-color:rgba(var(--accent-rgb),.6);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.28),0 0 46px rgba(var(--accent-rgb),.22),0 8px 30px #0006}.ui-composer__input,.chat-composer__input{flex:1;background:none;border:none;outline:none;resize:none;color:var(--color-text);font-size:15px;line-height:1.5;font-family:inherit;max-height:220px;padding:4px 0}.ui-composer__input::placeholder,.chat-composer__input::placeholder{color:var(--color-text-placeholder)}.ui-composer__send,.chat-composer__send{flex:none;width:40px;height:40px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;background:linear-gradient(155deg,var(--color-accent-hover) 0%,var(--color-accent) 55%,var(--color-accent-deep) 100%);color:var(--accent-fg);cursor:pointer;box-shadow:0 2px 10px rgba(var(--accent-rgb),.4),inset 0 1px #fff3;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),filter var(--duration-fast) var(--ease-out)}.ui-composer__send:hover:not(:disabled),.chat-composer__send:hover:not(:disabled){filter:brightness(1.09);transform:translateY(-1px);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.15),0 6px 20px rgba(var(--accent-rgb),.55),inset 0 1px #ffffff40}.ui-composer__send:active:not(:disabled),.chat-composer__send:active:not(:disabled){transform:translateY(0) scale(.95)}.ui-composer__send:disabled,.chat-composer__send:disabled{opacity:1;cursor:default;background:var(--color-surface-hover);color:var(--color-text-muted);box-shadow:none}.ui-composer__send--stop,.chat-composer__send--stop{background:var(--color-surface-hover);color:var(--color-text);box-shadow:0 0 rgba(var(--accent-rgb),.45);animation:chat-stop-pulse 1.9s var(--ease-out) infinite}.ui-composer__send--stop:hover,.chat-composer__send--stop:hover{filter:none;transform:translateY(-1px);background:var(--color-surface-raised);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.18);animation:none}@keyframes chat-stop-pulse{0%,to{box-shadow:0 0 rgba(var(--accent-rgb),.35)}50%{box-shadow:0 0 0 5px rgba(var(--accent-rgb),0)}}@media(prefers-reduced-motion:reduce){.ui-composer__send--stop,.chat-composer__send--stop{animation:none}}.ui-composer--compact{gap:8px;padding:8px 8px 8px 16px;border-radius:21px}.ui-composer--compact .ui-composer__input{font-size:13.5px;max-height:140px;padding:3px 0}.ui-composer--compact .ui-composer__send{width:32px;height:32px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}button,[role=button],a,summary,select,label[for]{cursor:pointer}button:disabled,[aria-disabled=true]{cursor:not-allowed}html,body,#root{height:100%;width:100%}body{font-family:DM Sans,system-ui,-apple-system,sans-serif;background-color:var(--color-bg);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em}h1,h2,h3,h4,h5,h6{letter-spacing:-.025em}::selection{background:var(--color-accent);color:#fff}.route-loading{height:100vh;background:var(--color-bg)}.chat-evidence{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.chat-evidence+.chat-evidence{margin-top:8px}.chat-evidence__header{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;background:var(--glass-bg);border:none;color:var(--color-text-secondary);font-size:12.5px;cursor:pointer;text-align:left}.chat-evidence__header:hover{background:var(--color-surface-hover)}.chat-evidence__chevron{font-size:10px;transition:transform var(--duration-fast) var(--ease-out)}.chat-evidence__chevron--open{transform:rotate(90deg)}.chat-evidence__cube{color:var(--color-text);font-weight:500}.chat-evidence__output{color:var(--color-text-dim)}.chat-evidence__count{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--color-accent-hover)}.chat-evidence__body{border-top:1px solid var(--color-border)}.chat-evidence__empty{padding:12px;color:var(--color-text-muted);font-size:12.5px}.chat-evidence__scroll{overflow-x:auto;max-height:320px;overflow-y:auto}.chat-evidence__table{width:100%;border-collapse:collapse;font-size:12px}.chat-evidence__table th{position:sticky;top:0;background:var(--color-surface-raised);color:var(--color-text-secondary);text-align:left;padding:7px 10px;font-weight:500;white-space:nowrap}.chat-evidence__table td{padding:6px 10px;border-top:1px solid var(--color-border);color:var(--color-text);white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}.chat-evidence__truncation{padding:8px 12px;font-size:11.5px;color:var(--color-text-muted)}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.geo-panel{margin:14px 0 6px;border:1px solid var(--color-border, rgba(255, 255, 255, .08));border-radius:12px;overflow:hidden;background:var(--color-bg-secondary, #161618)}.geo-panel--expanded{position:fixed;inset:24px;z-index:1000;margin:0;display:flex;flex-direction:column;box-shadow:0 24px 80px #0009}.geo-panel__header{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--color-border, rgba(255, 255, 255, .08));font-size:12px}.geo-panel__title{font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-lit)}.geo-panel__cap{color:var(--color-text-muted, #8b8e98)}.geo-panel__spacer{flex:1}.geo-panel__modes{display:inline-flex;border:1px solid var(--color-border, rgba(255, 255, 255, .12));border-radius:7px;overflow:hidden}.geo-panel__mode{appearance:none;border:0;background:transparent;color:var(--color-text-muted, #8b8e98);font:inherit;font-size:11.5px;padding:3px 10px;cursor:pointer}.geo-panel__mode.is-active{background:rgba(var(--accent-rgb),.16);color:var(--accent-lit)}.geo-panel__mode:focus-visible,.geo-panel__expand:focus-visible,.geo-panel__chip:focus-visible{outline:2px solid var(--accent-lit);outline-offset:1px}.geo-panel__expand{appearance:none;border:0;background:transparent;color:var(--color-text-muted, #8b8e98);font-size:14px;line-height:1;padding:3px 6px;cursor:pointer;border-radius:6px}.geo-panel__expand:hover{color:var(--accent-lit);background:rgba(var(--accent-rgb),.1)}.geo-panel__map{position:relative;height:340px}.geo-panel--expanded .geo-panel__map{flex:1;height:auto}.geo-panel__map .leaflet-container{width:100%;height:100%;background:#101013;font:inherit}.geo-panel__map .leaflet-tile-pane{filter:brightness(.75) saturate(.8)}.geo-panel__attrib{position:absolute;left:10px;bottom:10px;z-index:500;padding:3px 7px;border-radius:6px;background:#0a0a0cb8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:9.5px;line-height:1.2;color:var(--color-text-muted, #a5a8b1);opacity:.7}.geo-panel__attrib a{color:inherit;text-decoration:none}.geo-panel__attrib a:hover{text-decoration:underline}.geo-panel__legend{position:absolute;right:10px;bottom:10px;z-index:500;display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;background:#0a0a0cb8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:10.5px;color:var(--color-text-muted, #a5a8b1);pointer-events:none}.geo-panel__legend-bar{width:74px;height:6px;border-radius:3px}.geo-panel__chips{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px;border-top:1px solid var(--color-border, rgba(255, 255, 255, .08))}.geo-panel__chip{appearance:none;display:inline-flex;align-items:baseline;gap:7px;border:1px solid rgba(var(--accent-rgb),.28);background:rgba(var(--accent-rgb),.08);color:var(--color-text, #e8e9ec);font:inherit;font-size:12px;padding:4px 10px;border-radius:999px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.geo-panel__chip:hover{background:rgba(var(--accent-rgb),.18);border-color:rgba(var(--accent-rgb),.5)}.geo-panel__chip-value{color:var(--accent-lit);font-variant-numeric:tabular-nums;font-weight:600}.geo-panel__map .leaflet-tooltip{background:#0e0e11eb;border:1px solid rgba(var(--accent-rgb),.35);color:var(--color-text, #e8e9ec);border-radius:6px;font-size:11.5px;padding:5px 8px}.geo-panel__map .leaflet-tooltip:before{display:none}@media(max-width:640px){.geo-panel__map{height:260px}}.pstrip{padding:14px 16px;border-radius:var(--radius-md);background:var(--glass-bg);border:1px solid var(--glass-border);transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.pstrip--running{border-color:rgba(var(--accent-rgb),.3);animation:pstrip-breathe 2.4s ease-in-out infinite}@keyframes pstrip-breathe{0%,to{box-shadow:0 0 0 1px rgba(var(--accent-rgb),.04),0 0 22px rgba(var(--accent-rgb),.06)}50%{box-shadow:0 0 0 1px rgba(var(--accent-rgb),.12),0 0 34px rgba(var(--accent-rgb),.16)}}.pstrip__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.pstrip__title{font-size:12px;letter-spacing:.04em;color:var(--color-text-secondary);text-transform:uppercase}.pstrip__expand{display:inline-flex;align-items:center;gap:6px;flex:none;padding:4px 10px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:rgba(var(--accent-rgb),.06);color:var(--color-accent-hover);font-family:inherit;font-size:11px;font-weight:500;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.pstrip__expand:hover{background:rgba(var(--accent-rgb),.12);border-color:rgba(var(--accent-rgb),.35)}.pstrip__flow{display:flex;align-items:center;flex-wrap:wrap;gap:4px;overflow-x:auto;padding-bottom:2px}.pstrip__row{display:flex;flex-wrap:wrap;gap:8px}.pstrip__col-wrap{display:flex;align-items:center;gap:4px}.pstrip__arrow{color:var(--color-text-muted);display:flex;align-items:center;flex:none}.pstrip__col{display:flex;flex-direction:column;gap:6px}.pstrip__chip{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);font-size:12.5px;color:var(--color-text-secondary);white-space:nowrap;transition:border-color var(--duration-normal) var(--ease-out),color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.pstrip__dot{width:7px;height:7px;border-radius:50%;background:var(--color-text-muted);flex:none;transition:background var(--duration-normal) var(--ease-out)}.pstrip__chip--running{border-color:rgba(var(--accent-rgb),.45);color:var(--color-text)}.pstrip__chip--running .pstrip__dot{background:var(--color-accent);animation:pstrip-pulse 1.1s ease-in-out infinite}.pstrip__chip--done{border-color:rgba(var(--accent-rgb),.35);color:var(--color-text);box-shadow:0 0 14px rgba(var(--accent-rgb),.12)}.pstrip__chip--done .pstrip__dot{background:var(--color-accent)}.pstrip__chip--error{border-color:#ef444480;color:var(--color-text)}.pstrip__chip--error .pstrip__dot{background:var(--color-error)}.pstrip__label{overflow:hidden;text-overflow:ellipsis;max-width:180px}.pstrip__count{font-size:11px;font-variant-numeric:tabular-nums;color:var(--color-accent-hover);background:rgba(var(--accent-rgb),.12);border-radius:var(--radius-full);padding:1px 7px}.pstrip__count--err{color:var(--color-error);background:#ef44441f}@keyframes pstrip-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}.thinking{font-size:12.5px;color:var(--color-text-dim)}.thinking__header{display:flex;align-items:center;gap:8px}.thinking__shimmer{font-size:13px;font-weight:500;background:linear-gradient(90deg,var(--color-text-dim) 0%,#fff 45%,var(--color-accent-hover) 55%,var(--color-text-dim) 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:thinking-sweep 1.8s linear infinite}@keyframes thinking-sweep{0%{background-position:200% 50%}to{background-position:-20% 50%}}.thinking__tail{margin-top:10px;max-height:112px;overflow:hidden;position:relative;line-height:1.6;white-space:pre-wrap;color:var(--color-text-dim);mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.4) 22px,#000 52px);-webkit-mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.4) 22px,#000 52px)}.thinking__toggle{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--color-text-dim);font-size:12px;cursor:pointer;padding:2px 0}.thinking__toggle:hover{color:var(--color-text-secondary)}.thinking__chevron{display:inline-block;transition:transform var(--duration-fast) var(--ease-out);font-size:10px}.thinking__chevron--open{transform:rotate(90deg)}.thinking__full{margin-top:8px;padding:12px 14px;border:1px solid var(--color-border);background:var(--glass-bg);border-radius:var(--radius-sm);white-space:pre-wrap;line-height:1.6;max-height:320px;overflow-y:auto}.vizbuilding{position:relative;height:240px;padding:14px 16px 16px;display:flex;flex-direction:column;gap:14px;border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--glass-bg);overflow:hidden;animation:vizbuilding-in .4s var(--ease-out) both}@keyframes vizbuilding-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.vizbuilding:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 34%,rgba(var(--accent-rgb),.14) 50%,transparent 66%);transform:translate(-100%);animation:vizbuilding-sweep 2.2s var(--ease-out) infinite}@keyframes vizbuilding-sweep{to{transform:translate(100%)}}.vizbuilding__head{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--color-text-secondary)}.vizbuilding__skip{margin-inline-start:auto;position:relative;z-index:1;padding:3px 12px;font-size:12px;font-weight:500;color:var(--color-text-secondary);background:#ffffff0a;border:1px solid var(--glass-border);border-radius:var(--radius-sm, 6px);cursor:pointer;transition:color .15s var(--ease-out),background .15s var(--ease-out),border-color .15s var(--ease-out)}.vizbuilding__skip:hover{color:var(--color-text-primary);background:#ffffff14;border-color:rgba(var(--accent-rgb),.5)}.vizbuilding__spinner{flex:none;width:14px;height:14px;border:2px solid rgba(var(--accent-rgb),.3);border-top-color:rgba(var(--accent-rgb),1);border-radius:50%;animation:vizbuilding-spin .8s linear infinite}@keyframes vizbuilding-spin{to{transform:rotate(360deg)}}.vizbuilding__plot{flex:1;min-height:0;display:flex;align-items:flex-end;gap:10px}.vizbuilding__bar{flex:1;border-radius:3px 3px 0 0;background:linear-gradient(180deg,rgba(var(--accent-rgb),.5),#ffffff12);transform-origin:bottom;animation:vizbuilding-grow 1.6s var(--ease-out) infinite}@keyframes vizbuilding-grow{0%,to{transform:scaleY(.55);opacity:.45}50%{transform:scaleY(1);opacity:.9}}@media(prefers-reduced-motion:reduce){.vizbuilding,.vizbuilding:after,.vizbuilding__spinner,.vizbuilding__bar{animation:none}.vizbuilding:after{display:none}.vizbuilding__bar{opacity:.7}}.vizframe{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--glass-bg);overflow:hidden;animation:vizframe-in .5s var(--ease-out) both}@keyframes vizframe-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.vizframe__iframe{display:block;width:100%;height:360px;border:none;background:transparent}.bcanvas{position:relative;margin:4px auto 0;animation:bcanvas-in .5s var(--ease-out) both}@keyframes bcanvas-in{0%{opacity:0}to{opacity:1}}.bcanvas__grid{position:absolute;inset:-20px -8px;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:radial-gradient(120% 90% at 50% 6%,#000 45%,transparent 100%);mask-image:radial-gradient(120% 90% at 50% 6%,#000 45%,transparent 100%);opacity:0;animation:bgrid-in .9s ease-out forwards;pointer-events:none}@keyframes bgrid-in{to{opacity:1}}.bcanvas__scan{position:absolute;left:-8px;right:-8px;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),.55) 30%,rgba(var(--accent-hover-rgb),.9) 50%,rgba(var(--accent-rgb),.55) 70%,transparent);box-shadow:0 0 14px 1px rgba(var(--accent-rgb),.35);opacity:0;pointer-events:none;animation:bscan var(--scan-dur, 1.4s) cubic-bezier(.3,0,.4,1) .1s 1 both}@keyframes bscan{0%{opacity:0;transform:translateY(-14px)}8%{opacity:1}88%{opacity:1}to{opacity:0;transform:translateY(var(--scan-h, 240px))}}.bcanvas__edges{position:absolute;inset:0;overflow:visible;pointer-events:none}.bedge{fill:none;stroke:#ffffff1f;stroke-width:1.75;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:bedge-draw .6s var(--ease-out) forwards;animation-delay:var(--delay)}.bedge--active{stroke:rgba(var(--accent-rgb),.42);transition:stroke .5s ease-out}@keyframes bedge-draw{to{stroke-dashoffset:0}}.bripple{fill:none;stroke:rgba(var(--accent-hover-rgb),.85);stroke-width:1.5;transform-box:fill-box;transform-origin:center;opacity:0;animation:bripple .6s ease-out 1 both;animation-delay:var(--delay)}@keyframes bripple{0%{opacity:.95;transform:scale(.25);stroke-width:2.5}to{opacity:0;transform:scale(1.7);stroke-width:.5}}.bedge-bolt{fill:none;stroke:rgba(var(--accent-hover-rgb),1);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:.16 .84;stroke-dashoffset:1;opacity:0;filter:drop-shadow(0 0 5px rgba(var(--accent-rgb),.9));animation:bbolt .62s ease-in forwards;animation-delay:var(--delay)}@keyframes bbolt{0%{opacity:0;stroke-dashoffset:1}18%{opacity:1}82%{opacity:1}to{opacity:0;stroke-dashoffset:-.16}}.bflow{position:absolute;left:0;top:0;width:9px;height:9px;border-radius:50%;background:rgba(var(--accent-hover-rgb),1);box-shadow:0 0 12px 3px rgba(var(--accent-rgb),.75);offset-anchor:50% 50%;offset-rotate:0deg;animation:bflow-run 1.5s cubic-bezier(.45,0,.55,1) infinite;pointer-events:none}@keyframes bflow-run{0%{offset-distance:0%;opacity:0;transform:scale(.4)}14%{opacity:1;transform:scale(1)}86%{opacity:1;transform:scale(1)}to{offset-distance:100%;opacity:0;transform:scale(.4)}}.bflow--b{width:6px;height:6px;background:rgba(var(--accent-rgb),.85);box-shadow:0 0 8px 2px rgba(var(--accent-rgb),.5)}.bnode{position:absolute;height:54px;display:flex;align-items:center;gap:10px;padding:0 13px;border-radius:13px;background:linear-gradient(180deg,#ffffff0d,#ffffff03),var(--color-surface-raised);border:1px solid var(--color-border);box-shadow:0 4px 20px #00000080;opacity:0;transform:translateY(14px) scale(.84);animation:bnode-in .7s cubic-bezier(.2,1.3,.32,1) forwards;animation-delay:var(--delay);will-change:transform,opacity}@keyframes bnode-in{0%{opacity:0;transform:translateY(14px) scale(.84)}60%{opacity:1}to{opacity:1;transform:translateY(0) scale(1)}}.bnode__fx{position:absolute;inset:-1px;border-radius:inherit;z-index:0;opacity:0;pointer-events:none}.bnode--running .bnode__fx{animation:bfx-pulse 1.6s ease-in-out infinite;animation-delay:calc(var(--run-delay) + .35s)}@keyframes bfx-pulse{0%,to{opacity:0;box-shadow:0 0 rgba(var(--accent-rgb),0)}50%{opacity:1;box-shadow:0 0 22px 2px rgba(var(--accent-rgb),.32)}}.bnode--done .bnode__fx{animation:bfx-settle .8s ease-out 1 both;animation-delay:calc(var(--delay) + var(--run-delay))}@keyframes bfx-settle{0%{opacity:1;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 75%,transparent),0 0 20px 3px color-mix(in srgb,var(--accent) 45%,transparent)}to{opacity:0;box-shadow:inset 0 0 0 1px transparent,0 0 4px 0 transparent}}.bnode__port{position:absolute;left:50%;width:7px;height:7px;border-radius:50%;transform:translate(-50%);background:#ffffff1a;border:1px solid rgba(255,255,255,.22);z-index:3;opacity:0;animation:bport-in .3s ease-out forwards,bport-on .5s ease-out forwards;animation-delay:var(--delay),var(--port-delay)}.bnode__port--in{top:-4px}.bnode__port--out{bottom:-4px}@keyframes bport-in{to{opacity:1}}@keyframes bport-on{to{opacity:1;background:var(--accent);border-color:color-mix(in srgb,var(--accent) 80%,white);box-shadow:0 0 8px 1px color-mix(in srgb,var(--accent) 70%,transparent)}}.bnode__glow{position:absolute;inset:-1px;border-radius:inherit;z-index:0;opacity:0;pointer-events:none;animation:bnode-burst .75s ease-out forwards;animation-delay:var(--delay)}@keyframes bnode-burst{0%{opacity:0;box-shadow:0 0 color-mix(in srgb,var(--accent) 70%,transparent)}35%{opacity:1;box-shadow:0 0 26px 4px color-mix(in srgb,var(--accent) 55%,transparent)}to{opacity:0;box-shadow:0 0 6px color-mix(in srgb,var(--accent) 0%,transparent)}}.bnode__icon{position:relative;z-index:2;width:24px;height:24px;flex:none;border-radius:7px;background:color-mix(in srgb,var(--accent) 20%,transparent);border:1px solid color-mix(in srgb,var(--accent) 55%,transparent)}.bnode__icon:after{content:"";position:absolute;inset:0;margin:auto;width:8px;height:8px;border-radius:2px;background:var(--accent);box-shadow:0 0 9px var(--accent)}.bnode__label{position:relative;z-index:2;flex:1;min-width:0;font-size:12px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bnode__meta{position:relative;z-index:2;display:flex;align-items:center;flex:none}.bnode__count{font-size:10.5px;font-variant-numeric:tabular-nums;color:var(--color-accent-hover);background:rgba(var(--accent-rgb),.14);border-radius:var(--radius-full);padding:2px 8px;animation:bcount-in .34s var(--ease-out) calc(var(--delay) + var(--run-delay)) both}.bnode__count--err{color:var(--color-error);background:#ef444424}.bnode__check{font-size:12px;color:var(--color-accent-hover);animation:bcount-in .34s var(--ease-out) calc(var(--delay) + var(--run-delay)) both}@keyframes bcount-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.beq{display:inline-flex;align-items:flex-end;gap:2px;height:14px}.beq i{width:3px;height:5px;border-radius:1px;background:var(--color-accent);box-shadow:0 0 6px rgba(var(--accent-rgb),.6);animation:beq .9s ease-in-out infinite}.beq i:nth-child(2){animation-delay:.15s}.beq i:nth-child(3){animation-delay:.3s}@keyframes beq{0%,to{height:4px}50%{height:13px}}.bnode--running{border-color:rgba(var(--accent-rgb),.55);transition:border-color .4s ease-out}.bnode--running:before{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;background:linear-gradient(100deg,transparent 25%,rgba(var(--accent-rgb),.24) 50%,transparent 75%);background-size:220% 100%;animation:bnode-scan 1.6s linear infinite;animation-delay:var(--run-delay);pointer-events:none}@keyframes bnode-scan{0%{background-position:220% 0}to{background-position:-60% 0}}.bnode--running .bnode__icon:after{animation:bcore-blink 1s ease-in-out infinite;animation-delay:var(--run-delay)}@keyframes bcore-blink{0%,to{opacity:1}50%{opacity:.4}}.bnode--done{border-color:rgba(var(--accent-rgb),.34);transition:border-color .5s ease-out}.bnode--error{border-color:#ef444480}@media(prefers-reduced-motion:reduce){.bcanvas,.bcanvas *,.bcanvas__scan,.bflow{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important}}.bdrawer{position:fixed;top:0;left:0;bottom:0;width:min(440px,92vw);z-index:60;display:flex;flex-direction:column;background:radial-gradient(600px 300px at 30% -6%,rgba(var(--accent-rgb),.12),transparent 62%),var(--color-surface);border-right:1px solid var(--color-border-hover);box-shadow:26px 0 70px #0000008c;transform:translate(-101%);opacity:0;pointer-events:none;transition:transform var(--duration-glass) var(--ease-out),opacity var(--duration-glass) var(--ease-out)}.bdrawer--open{transform:translate(0);opacity:1;pointer-events:auto}.bdrawer--open:after{content:"";position:absolute;top:0;bottom:0;right:-1px;width:2px;background:linear-gradient(180deg,transparent,rgba(var(--accent-rgb),.85),transparent);background-size:100% 40%;background-repeat:no-repeat;pointer-events:none;animation:bdrawer-glint .9s ease-out .18s both}@keyframes bdrawer-glint{0%{background-position:0 -45%;opacity:1}85%{opacity:1}to{background-position:0 145%;opacity:0}}.bdrawer__head,.bdrawer__status,.bdrawer__body{opacity:0;transform:translateY(6px);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}.bdrawer--open .bdrawer__head{opacity:1;transform:none;transition-delay:.1s}.bdrawer--open .bdrawer__status{opacity:1;transform:none;transition-delay:.18s}.bdrawer--open .bdrawer__body{opacity:1;transform:none;transition-delay:.24s}.bdrawer__head{flex:none;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 18px 10px}.bdrawer__eyebrow{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-hover);margin-bottom:4px}.bdrawer__title{font-size:15px;font-weight:600;color:var(--color-text);line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bdrawer__close{flex:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text-secondary);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.bdrawer__close:hover{background:var(--color-surface-hover);color:var(--color-text);border-color:var(--color-border-hover)}.bdrawer__status{flex:none;display:flex;align-items:center;gap:8px;padding:0 18px 12px;font-size:12px;color:var(--color-text-secondary)}.bdrawer__status-dot{width:7px;height:7px;border-radius:50%;background:var(--color-text-muted);flex:none}.bdrawer__status--live .bdrawer__status-dot{background:var(--color-accent);animation:bdrawer-blink 1.4s ease-in-out infinite}@keyframes bdrawer-blink{0%,to{opacity:1;box-shadow:0 0 rgba(var(--accent-rgb),.5)}50%{opacity:.5;box-shadow:0 0 10px 2px rgba(var(--accent-rgb),.35)}}.bdrawer__status--done .bdrawer__status-dot{background:var(--color-accent-hover);animation:bdrawer-lock .6s ease-out 1 both}@keyframes bdrawer-lock{0%{box-shadow:0 0 rgba(var(--accent-rgb),.6)}to{box-shadow:0 0 0 7px rgba(var(--accent-rgb),0)}}.bdrawer__dots{display:inline-flex;gap:3px;margin-inline-start:1px}.bdrawer__dots i{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.25;animation:bdrawer-dot 1.2s ease-in-out infinite}.bdrawer__dots i:nth-child(2){animation-delay:.18s}.bdrawer__dots i:nth-child(3){animation-delay:.36s}@keyframes bdrawer-dot{0%,to{opacity:.25}40%{opacity:1}}.bdrawer__progress{flex:none;height:2px;margin:-4px 18px 10px;border-radius:2px;background:#ffffff0d;overflow:hidden;opacity:0;transition:opacity .35s var(--ease-out)}.bdrawer__progress--live{opacity:1}.bdrawer__progress span{display:block;height:100%;width:34%;border-radius:2px;background:linear-gradient(90deg,transparent,var(--color-accent),var(--color-accent-hover),transparent);animation:bdrawer-prog 1.4s cubic-bezier(.4,0,.4,1) infinite}@keyframes bdrawer-prog{0%{transform:translate(-110%)}to{transform:translate(400%)}}.bdrawer__body{flex:1;min-height:0;overflow:auto;padding:6px 18px 24px}.bdrawer__empty{padding:20px 4px;font-size:12.5px;color:var(--color-text-muted)}.hdrawer__scrim{position:fixed;inset:0;z-index:65;background:#08080999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity var(--duration-glass) var(--ease-out)}.hdrawer__scrim--open{opacity:1;pointer-events:auto}.hdrawer{position:fixed;top:0;left:0;bottom:0;width:min(324px,88vw);z-index:70;display:flex;flex-direction:column;background:radial-gradient(520px 260px at 20% -8%,rgba(var(--accent-rgb),.1),transparent 62%),var(--color-surface);border-right:1px solid var(--color-border-hover);box-shadow:26px 0 70px #0000008c;transform:translate(-101%);opacity:0;pointer-events:none;transition:transform var(--duration-glass) var(--ease-out),opacity var(--duration-glass) var(--ease-out)}.hdrawer--open{transform:translate(0);opacity:1;pointer-events:auto}.hdrawer__head{flex:none;display:flex;align-items:center;gap:8px;padding:14px 12px 12px 16px}.hdrawer__title{font-size:13px;font-weight:500;color:var(--color-text-secondary)}.hdrawer__count{font-size:11.5px;color:var(--color-text-muted);font-variant-numeric:tabular-nums;margin-right:auto;white-space:nowrap}.hdrawer__close{flex:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text-secondary);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.hdrawer__close:hover{background:var(--glass-bg);color:var(--color-text)}.hdrawer__new{flex:none;margin:0 16px 10px;justify-content:flex-start;padding:9px 14px}.hdrawer__search{flex:none;display:flex;align-items:center;gap:7px;margin:0 16px 10px;padding:0 13px;height:32px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-raised);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.hdrawer__search:focus-within{border-color:rgba(var(--accent-rgb),.45);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.hdrawer__search-icon{color:var(--color-text-muted);flex-shrink:0}.hdrawer__search:focus-within .hdrawer__search-icon{color:var(--color-text-secondary)}.hdrawer__search-input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--color-text);font-size:13px;font-family:inherit;padding:0}.hdrawer__search-input::placeholder{color:var(--color-text-placeholder)}.hdrawer__body{flex:1;min-height:0;overflow-y:auto;padding:0 10px 20px}.hdrawer__note{padding:20px 8px;font-size:12.5px;line-height:1.55;color:var(--color-text-dim)}.hdrawer__group-label{position:sticky;top:0;z-index:1;padding:9px 8px 6px;background:var(--color-surface);box-shadow:0 -1px 0 var(--color-surface);font-size:12px;font-weight:500;color:var(--color-text-secondary)}.hdrawer__group{margin-bottom:10px}.hdrawer__row{position:relative;display:flex;align-items:center;gap:4px;border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out)}.hdrawer__row:hover{background:#ffffff0a}.hdrawer__row--active{background:rgba(var(--accent-rgb),.13)}.hdrawer__row--active:hover{background:rgba(var(--accent-rgb),.17)}.hdrawer__pick{flex:1;min-width:0;text-align:start;padding:8px 4px 8px 10px;background:none;border:none;color:var(--color-text-secondary);font-size:13px;font-family:inherit;line-height:1.35;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--duration-fast) var(--ease-out)}.hdrawer__row:hover .hdrawer__pick{color:var(--color-text)}.hdrawer__row--active .hdrawer__pick{color:var(--accent-lit);font-weight:500}.hdrawer__pick:focus-visible{outline:2px solid rgba(var(--accent-rgb),.45);outline-offset:-2px;border-radius:var(--radius-sm)}.hdrawer__age{flex:none;padding-right:10px;font-size:11px;color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;transition:opacity var(--duration-fast) var(--ease-out)}.hdrawer__row:hover .hdrawer__age,.hdrawer__row:focus-within .hdrawer__age{opacity:0}.hdrawer__tools{position:absolute;right:6px;display:flex;gap:2px;opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.hdrawer__row:hover .hdrawer__tools,.hdrawer__tools:focus-within{opacity:1}@media(hover:none){.hdrawer__age{opacity:0}.hdrawer__tools{opacity:1}}.hdrawer__tool{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text-muted);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.hdrawer__tool:hover{background:var(--color-surface-hover);color:var(--color-text)}.hdrawer__tool--danger:hover{background:#ef444424;color:#fca5a5}.hdrawer__confirm{flex:none;display:flex;gap:4px;padding-right:6px;margin-left:auto}.hdrawer__confirm-yes,.hdrawer__confirm-no{border:1px solid transparent;border-radius:var(--radius-full);padding:3px 9px;font-size:11.5px;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.hdrawer__confirm-yes{background:#ef444424;border-color:#ef444459;color:#fca5a5}.hdrawer__confirm-yes:hover{background:#ef44443d;border-color:#ef444480}.hdrawer__confirm-no{background:var(--color-surface-hover);color:var(--color-text-secondary)}.hdrawer__confirm-no:hover{color:var(--color-text)}.hdrawer__row--editing{padding:2px 6px 2px 4px}.hdrawer__rename{width:100%;padding:6px 8px;border-radius:var(--radius-sm);border:1px solid rgba(var(--accent-rgb),.5);background:var(--color-surface-raised);color:var(--color-text);font-size:13px;font-family:inherit;outline:none;box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.ftm-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,48px);background:#060608b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:ftm-fade .16s var(--ease-out, ease-out)}@keyframes ftm-fade{0%{opacity:0}to{opacity:1}}.ftm{display:flex;flex-direction:column;width:min(1120px,100%);height:min(760px,92vh);background:var(--color-surface, #16161a);border:1px solid var(--color-border, rgba(255, 255, 255, .1));border-radius:var(--radius-md, 14px);box-shadow:0 24px 80px #0009;overflow:hidden;animation:ftm-rise .22s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}@keyframes ftm-rise{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.ftm__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--color-border, rgba(255, 255, 255, .08));flex:0 0 auto}.ftm__title{display:flex;align-items:baseline;gap:10px;min-width:0}.ftm__callsign{font-size:17px;font-weight:600;letter-spacing:.02em;color:var(--color-text, #fff)}.ftm__id{font-size:12px;font-variant-numeric:tabular-nums;color:var(--color-text-muted, rgba(255, 255, 255, .5));font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ftm__head-meta{display:flex;align-items:center;gap:14px;flex:0 0 auto}.ftm__points{font-size:12px;color:var(--color-text-muted, rgba(255, 255, 255, .5));font-variant-numeric:tabular-nums}.ftm__gapcount{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#ff6b6b}.ftm__gapdot{width:8px;height:8px;border-radius:50%;background:#ff2d2d;box-shadow:0 0 8px #ff2d2dcc}.ftm__close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--color-border, rgba(255, 255, 255, .12));border-radius:var(--radius-sm, 8px);background:transparent;color:var(--color-text-secondary, rgba(255, 255, 255, .7));cursor:pointer;font-size:14px;transition:background .14s,color .14s}.ftm__close:hover{background:var(--color-surface-hover, rgba(255, 255, 255, .08));color:var(--color-text, #fff)}.ftm__stage{position:relative;flex:1 1 auto;min-height:0;background:#0c0c0e}.ftm__view{position:absolute;inset:0}.ftm__center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--color-text-secondary, rgba(255, 255, 255, .72));font-size:14px}.ftm__center--muted{color:var(--color-text-muted, rgba(255, 255, 255, .5))}.ftm__spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.2);border-top-color:var(--accent, #e02929);border-radius:50%;animation:ftm-spin .7s linear infinite}@keyframes ftm-spin{to{transform:rotate(360deg)}}.ftm__gaps{display:flex;flex-wrap:wrap;gap:8px 16px;padding:11px 18px;border-top:1px solid var(--color-border, rgba(255, 255, 255, .08));flex:0 0 auto;max-height:96px;overflow-y:auto}.ftm__gap{display:inline-flex;align-items:center;gap:8px;font-size:12.5px}.ftm__gap-mark{width:18px;height:0;border-top:2.5px dashed #ff2d2d;flex:0 0 auto}.ftm__gap-dur{font-weight:600;color:#ff6b6b;font-variant-numeric:tabular-nums}.ftm__gap-where{color:var(--color-text-muted, rgba(255, 255, 255, .5));font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){.ftm-backdrop,.ftm{animation:none}.ftm__spinner{animation-duration:1.4s}}.theme-settings{position:absolute;top:calc(100% + 8px);right:0;z-index:100;width:260px;padding:14px 16px;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--glass-border);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);box-shadow:0 8px 32px #0006;animation:theme-settings-fade-in .15s ease-out}@keyframes theme-settings-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.theme-settings__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.theme-settings__title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.theme-settings__reset{font-size:11px;color:var(--color-text-dim);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:4px;font-family:inherit;transition:color var(--duration-fast),background var(--duration-fast)}.theme-settings__reset:hover{color:var(--color-text);background:#ffffff0f}.theme-settings__section{margin-bottom:12px}.theme-settings__section:last-child{margin-bottom:0}.theme-settings__label{font-size:11px;color:var(--color-text-dim);margin-bottom:8px}.theme-settings__swatches{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.theme-settings__swatches--grid{display:grid;grid-template-columns:repeat(5,24px);gap:8px;justify-content:start}.theme-settings__swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform var(--duration-fast),border-color var(--duration-fast);padding:0;outline:none}.theme-settings__swatch:hover{transform:scale(1.15)}.theme-settings__swatch:focus-visible,.theme-settings__custom-color:focus-within{outline:2px solid var(--color-text);outline-offset:2px}.theme-settings__swatch--active{border-color:#ffffffb3;box-shadow:0 0 8px #ffffff26}.theme-settings__swatch--small{width:20px;height:20px}.theme-settings__custom-color{width:24px;height:24px;border-radius:50%;border:1px dashed rgba(255,255,255,.2);cursor:pointer;padding:0;background:transparent;overflow:hidden;position:relative}.theme-settings__custom-color--active{border-style:solid;border-color:#ffffffb3;box-shadow:0 0 8px #ffffff26}.theme-settings__custom-color--active .theme-settings__custom-icon{opacity:1}.theme-settings__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.theme-settings__custom-color input[type=color]{position:absolute;inset:-4px;width:32px;height:32px;border:none;padding:0;cursor:pointer;opacity:0}.theme-settings__custom-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--color-text-muted);background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:50%;opacity:.6}.theme-settings__status-row{display:flex;gap:16px}.theme-settings__status-group{flex:1}.theme-settings__status-label{font-size:10px;color:var(--color-text-muted);margin-bottom:6px}.theme-settings__time-options{display:flex;gap:4px}.theme-settings__time-btn{flex:1;padding:5px 8px;font-size:11px;font-family:inherit;color:var(--color-text-dim);background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;cursor:pointer;transition:all var(--duration-fast)}.theme-settings__time-btn:hover{color:var(--color-text);background:#ffffff14}.theme-settings__time-btn:focus-visible,.theme-settings__reset:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.theme-settings__time-btn--active{color:var(--color-text);background:rgba(var(--accent-rgb),.15);border-color:var(--color-accent)}.settings-menu{position:relative;display:flex}.settings-menu__trigger svg{transition:transform var(--duration-normal) var(--ease-out)}.settings-menu__trigger:hover svg{transform:rotate(35deg)}.settings-menu__trigger[aria-expanded=true]{color:var(--color-text);background:var(--glass-bg)}.settings-menu__trigger[aria-expanded=true] svg{transform:rotate(60deg)}@media(prefers-reduced-motion:reduce){.settings-menu__trigger svg,.settings-menu__trigger:hover svg,.settings-menu__trigger[aria-expanded=true] svg{transition:none;transform:none}}.chat-page{display:flex;flex-direction:column;height:100vh;background:var(--color-bg);color:var(--color-text);overflow:hidden;position:relative}.chat-page:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;transition:opacity var(--duration-glass) var(--ease-out);background:radial-gradient(1150px 640px at 50% -6%,rgba(var(--accent-rgb),.16),transparent 60%),radial-gradient(760px 520px at 50% 116%,rgba(var(--accent-rgb),.1),transparent 60%)}.chat-page--active:before{background:radial-gradient(1100px 360px at 50% -14%,rgba(var(--accent-rgb),.09),transparent 62%)}.chat-page>*{position:relative;z-index:1}.chat-page>.chat-header{z-index:30}.chat-page>.bdrawer{position:fixed;z-index:60}.chat-page>.hdrawer__scrim{position:fixed;z-index:65}.chat-page>.hdrawer{position:fixed;z-index:70}.chat-body{flex:1;min-height:0;display:flex;flex-direction:column}.chat-page--idle .chat-body{justify-content:center;padding-bottom:6vh}.chat-header,.chat-body{transition:margin-left var(--duration-glass) var(--ease-out)}.chat-page--drawer .chat-header,.chat-page--drawer .chat-body{margin-left:min(440px,92vw)}@media(max-width:760px){.chat-page--drawer .chat-header,.chat-page--drawer .chat-body{margin-left:0}}.chat-canvas{display:flex;flex-direction:column;min-height:0}.chat-page--active .chat-canvas{flex:1}.chat-page--idle .chat-canvas{flex:0 0 auto}.chat-hero{width:100%;max-width:760px;margin:0 auto;padding:0 24px;text-align:center;animation:chat-fade-up .5s var(--ease-out)}.chat-hero__greeting{font-size:clamp(36px,4.6vw,56px);font-weight:600;letter-spacing:-.025em;line-height:1.08;margin:0 0 10px;text-align:center;color:var(--color-text)}.chat-hero__name{background:linear-gradient(100deg,var(--accent-pale) 0%,var(--accent-lit) 26%,var(--color-accent) 50%,var(--accent-lit) 74%,var(--accent-pale) 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-shift 9s ease-in-out infinite}.chat-hero__subtitle{font-size:clamp(15px,1.6vw,19px);color:var(--color-text-dim);margin:0 0 36px;text-align:center}.chat-dock{flex:none;width:100%}.chat-page--active .chat-dock{padding:12px 24px 22px;background:linear-gradient(to top,var(--color-bg) 58%,rgba(12,12,13,0) 100%)}.chat-page--idle .chat-dock{padding:0 24px}.chat-dock__bar{width:100%;max-width:760px;margin:0 auto;will-change:transform}.chat-hydrating{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px;color:var(--color-text-muted)}.chat-composer__spinner,.chat-stageline__spinner,.chat-hydrating__spinner,.chat-actions__spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:chat-spin .8s linear infinite;display:inline-block}.chat-conversation__scroll{flex:1;overflow-y:auto;min-height:0}.chat-conversation__inner{max-width:820px;margin:0 auto;padding:12px 24px 22px;display:flex;flex-direction:column;gap:30px}.chat-exchange{display:flex;flex-direction:column;gap:14px;animation:chat-fade-up .35s var(--ease-out)}.chat-exchange__question{align-self:flex-end;max-width:78%;padding:12px 18px;border-radius:22px 22px 6px;background:linear-gradient(180deg,rgba(var(--accent-rgb),.1),rgba(var(--accent-rgb),.05)),var(--color-surface-raised);border:1px solid rgba(var(--accent-rgb),.22);color:var(--color-text);font-size:14.5px;line-height:1.5}.chat-exchange__answer{display:flex;flex-direction:column;gap:14px;max-width:100%}.chat-stageline{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--color-text-secondary)}.chat-stageline__hint{color:var(--color-text-muted)}.chat-exchange__streaming{opacity:.85}.chat-answerhead{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.chat-answerhead__reason{font-size:12.5px;color:var(--color-text-dim)}.chat-verdict{display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--color-text);cursor:default}.chat-verdict--answered{color:var(--accent-lit);text-shadow:0 0 18px rgba(var(--accent-rgb),.35)}.chat-verdict--failed{color:#f87171}.chat-verdict--unknown{text-transform:none;letter-spacing:.02em}.chat-narrative{font-size:14.5px;line-height:1.65}.chat-narrative__p{margin:0 0 10px}.chat-narrative__p:last-child{margin-bottom:0}.chat-report__toggle{display:inline-flex;align-items:center;gap:8px;background:none;border:none;color:var(--color-text-dim);font-size:12.5px;cursor:pointer;padding:2px 0}.chat-report__toggle:hover{color:var(--color-text-secondary)}.chat-report__chevron{font-size:10px;transition:transform var(--duration-fast) var(--ease-out)}.chat-report__chevron--open{transform:rotate(90deg)}.chat-report__meta{color:var(--color-text-muted)}.chat-report__body{margin-top:10px;display:flex;flex-direction:column;gap:10px}.chat-report__steps{margin:0;padding-left:20px;font-size:12.5px;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:4px}.chat-report__coverage{font-size:12px;color:var(--color-text-dim);padding:8px 12px;background:var(--glass-bg);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.chat-actions{display:flex;flex-direction:column;gap:10px}.chat-actions__save,.chat-actions__dash{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.chat-actions__name{flex:1;min-width:200px;max-width:380px;padding:9px 14px;border-radius:var(--radius-full);border:1px solid var(--color-border-hover);background:var(--color-surface);color:var(--color-text);font-size:13px;outline:none}.chat-actions__name:focus{border-color:rgba(var(--accent-rgb),.5)}.chat-actions__instructions{max-width:560px}.chat-actions__saved,.chat-actions__dash--building,.chat-actions__dash--done{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--color-text-secondary)}.chat-actions__check{color:#4ade80}.chat-actions__link{background:none;border:none;color:var(--color-accent-hover);font-size:13px;cursor:pointer;padding:0}.chat-actions__link:hover{text-decoration:underline}.chat-actions__dash-q{font-size:13.5px;color:var(--color-text)}.chat-actions__dismiss{opacity:.7}.chat-actions__dash--error{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--color-error)}.chat-stopped{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--glass-bg)}.chat-stopped__text{font-size:13px;color:var(--color-text-secondary)}.chat-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:var(--radius-md);border:1px solid rgba(239,68,68,.35);background:#ef444412}.chat-error__text{font-size:13px;color:var(--color-text)}.chat-exchange__answer>.thinking,.chat-exchange__answer>.chat-stageline,.chat-exchange__answer>.pstrip{animation:chat-rise .45s var(--ease-out) both}@keyframes chat-rise{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes chat-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes chat-spin{to{transform:rotate(360deg)}}.chat-narrative .md-p{margin:0 0 10px}.chat-narrative .md-p:last-child{margin-bottom:0}.chat-narrative .md-h1,.chat-narrative .md-h2,.chat-narrative .md-h3{margin:14px 0 6px;font-weight:600;color:var(--color-text)}.chat-narrative .md-h1{font-size:17px}.chat-narrative .md-h2{font-size:15.5px}.chat-narrative .md-h3{font-size:14.5px}.chat-narrative .md-list{margin:4px 0 10px;padding-left:22px;display:flex;flex-direction:column;gap:3px}.chat-narrative .md-inline-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:rgba(var(--accent-rgb),.12);color:var(--color-accent-hover);border-radius:5px;padding:1px 6px}.chat-narrative .flight-chip{display:inline-flex;align-items:center;gap:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:rgba(var(--accent-rgb),.14);color:var(--color-accent-hover);border:1px solid rgba(var(--accent-rgb),.32);border-radius:6px;padding:0 7px;cursor:pointer;transition:background .14s,border-color .14s,transform .14s;vertical-align:baseline;line-height:1.55}.chat-narrative .flight-chip:hover{background:rgba(var(--accent-rgb),.26);border-color:rgba(var(--accent-rgb),.6);transform:translateY(-1px)}.chat-narrative .flight-chip__glyph{font-size:.85em;opacity:.7}@media(prefers-reduced-motion:reduce){.chat-narrative .flight-chip{transition:none}.chat-narrative .flight-chip:hover{transform:none}}.chat-narrative .md-table-wrap{overflow-x:auto;margin:8px 0 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:380px;overflow-y:auto}.chat-narrative .md-table{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}.chat-narrative .md-table th{position:sticky;top:0;z-index:1;background:var(--color-surface-raised);color:var(--color-text);text-align:left;padding:8px 12px;font-weight:600;white-space:nowrap;box-shadow:inset 0 -1px 0 var(--color-border-hover)}.chat-narrative .md-table td{padding:6px 12px;border-top:1px solid var(--color-border);white-space:nowrap;color:var(--color-text-secondary)}.chat-narrative .md-table tbody tr:nth-child(2n){background:#ffffff05}.chat-narrative .md-table tbody tr:hover{background:rgba(var(--accent-rgb),.06)}.chat-narrative .md-table tbody tr:hover td{color:var(--color-text)}.chat-followups{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px;animation:chat-fade-up .35s var(--ease-out)}.chat-todo{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border:1px solid var(--color-border);border-radius:10px;background:rgba(var(--accent-rgb),.04);font-size:12.5px;color:var(--color-text-secondary)}.chat-todo__count{flex:none;margin-top:1px;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--accent-lit);font-variant-numeric:tabular-nums}.chat-todo__list{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;list-style:none}.chat-todo__step{display:inline-flex;align-items:center;gap:6px}.chat-todo__icon{font-size:10px;line-height:1}.chat-todo__step--in_progress{color:var(--color-text-primary)}.chat-todo__step--in_progress .chat-todo__icon{color:var(--accent-lit)}.chat-todo__step--done{color:var(--color-text-primary)}.chat-todo__step--done .chat-todo__icon{color:var(--accent-lit)}.chat-todo__step--not_analysed{opacity:.65;text-decoration:line-through;text-decoration-thickness:1px}.session-expiry-banner.session-expiry-banner--hidden{height:0;overflow:hidden;display:block;background:none;border:none;animation:none}.session-expiry-banner{display:flex;align-items:center;justify-content:center;gap:8px;height:40px;width:100%;background:#f973161a;border-bottom:1px solid rgba(249,115,22,.25);font-size:13px;font-weight:400;color:#ffffffd1;z-index:30;flex-shrink:0;animation:session-expiry-slide-down .25s cubic-bezier(.16,1,.3,1) forwards;overflow:hidden}@keyframes session-expiry-slide-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.session-expiry-banner__icon{flex-shrink:0}.session-expiry-banner__message{white-space:nowrap}.session-expiry-banner__link{color:#f97316;text-decoration:none;white-space:nowrap;transition:text-decoration .1s ease}.session-expiry-banner__link:hover{text-decoration:underline}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--color-bg);color:var(--color-text)}.error-boundary__card{width:100%;max-width:480px;padding:32px;border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.error-boundary__icon{color:var(--color-warning);display:flex}.error-boundary__title{margin:0;font-size:20px;font-weight:600;color:var(--color-text)}.error-boundary__message{margin:0;font-size:14px;line-height:1.5;color:var(--color-text-muted)}.error-boundary__reload{margin-top:4px;padding:8px 24px;font-size:14px;font-weight:500;cursor:pointer}.error-boundary__details{width:100%;margin-top:8px;text-align:left}.error-boundary__details>summary{cursor:pointer;font-size:12px;color:var(--color-text-dim);-webkit-user-select:none;user-select:none;padding:4px 0}.error-boundary__details>summary:hover{color:var(--color-text-secondary)}.error-boundary__stack{margin:8px 0 0;padding:12px;max-height:240px;overflow:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.5;color:var(--color-text-dim);white-space:pre-wrap;word-break:break-word}
