.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{--bg-void: #e6ecf5;--bg: #eef2f8;--bg-elev: #f3f6fb;--surface: #ffffff;--surface-2: #f4f7fb;--surface-3: #e9eef6;--surface-4: #dce6f1;--line-faint: #eef2f7;--line: #e3e9f1;--line-2: #d3dce8;--line-3: #bbcadb;--text: #101c2b;--text-2: #354a61;--text-3: #54697f;--text-4: #6f87a0;--text-5: #9aadc1;--on-accent: #ffffff;--accent: #2563eb;--accent-hi: #1d4ed8;--accent-lo: #1e40af;--accent-soft: rgba(37, 99, 235, .1);--accent-softer: rgba(37, 99, 235, .05);--accent-glow: rgba(37, 99, 235, .22);--accent-line: rgba(37, 99, 235, .3);--data: #0e7490;--data-soft: rgba(14, 116, 144, .1);--ok: #15803d;--warn: #b45309;--danger: #dc2626;--ok-soft: rgba(21, 128, 61, .1);--warn-soft: rgba(180, 83, 9, .12);--danger-soft: rgba(220, 38, 38, .1);--r-xs: 3px;--r-sm: 5px;--r: 8px;--r-md: 10px;--r-lg: 14px;--shadow-sm: 0 1px 2px rgba(15,23,42,.06), 0 1px 3px rgba(15,23,42,.08);--shadow: 0 4px 12px rgba(15,23,42,.08), 0 2px 4px rgba(15,23,42,.05);--shadow-md: 0 10px 28px rgba(15,23,42,.12), 0 4px 10px rgba(15,23,42,.06);--shadow-lg: 0 24px 60px rgba(15,23,42,.16), 0 8px 20px rgba(15,23,42,.08);--shadow-glow: 0 0 0 1px var(--accent-line), 0 6px 24px var(--accent-glow);--sans: "Space Grotesk", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace;--t-fast: .11s;--t: .18s;--t-slow: .32s;--ease: cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--sans);font-feature-settings:"ss01","cv01","tnum";color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(900px 600px at 85% -5%,rgba(37,99,235,.05) 0%,transparent 60%),radial-gradient(700px 500px at -5% 105%,rgba(14,116,144,.04) 0%,transparent 55%),var(--bg);background-attachment:fixed}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(37,99,235,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.04) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 80%)}#root{position:relative;z-index:1}a{color:var(--accent);text-decoration:none;transition:color var(--t) var(--ease)}a:hover{color:var(--accent-hi)}h1,h2,h3,h4{font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:0}::selection{background:var(--accent-soft);color:var(--accent-hi)}.muted{color:var(--text-3)}.faint{color:var(--text-4)}.small{font-size:12px}.tiny{font-size:11px}.mono{font-family:var(--mono);font-feature-settings:"tnum","zero"}.pad{padding:18px}.spacer{flex:1}.fade-in{animation:fade-in var(--t-slow) var(--ease) both}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.app{display:flex;height:100vh;overflow:hidden}.main{flex:1;min-width:0;display:flex;flex-direction:column;height:100vh;overflow:hidden;position:relative}.main:before{content:"";position:absolute;inset:0 auto 0 0;width:1px;background:linear-gradient(180deg,transparent 0%,var(--line-2) 12%,var(--line-2) 88%,transparent 100%);pointer-events:none}.sidebar{width:280px;flex-shrink:0;display:flex;flex-direction:column;padding:18px 12px 14px;background:linear-gradient(180deg,var(--bg-elev) 0%,var(--bg-void) 100%);position:relative}.sidebar:after{content:"";position:absolute;right:-1px;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,var(--line-2) 20%,var(--line-2) 80%,transparent)}.brand{display:flex;align-items:center;gap:10px;padding:4px 6px 20px}.brand-home{width:100%;background:transparent;border:0;cursor:pointer;text-align:left;border-radius:var(--r-sm);transition:opacity var(--t) var(--ease)}.brand-home:hover{opacity:.8}[dir=rtl] .brand-home{text-align:right}.brand-mark{width:34px;height:34px;display:grid;place-items:center;color:var(--accent);background:linear-gradient(135deg,var(--surface-2),var(--bg-elev));border:1px solid var(--line-2);border-radius:var(--r-sm);box-shadow:var(--shadow-sm),0 0 18px #2563eb1a}.brand-title{font-family:var(--mono);font-weight:600;letter-spacing:.32em;font-size:13px;color:var(--text);text-transform:uppercase}.brand-sub{color:var(--text-4);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;margin-top:2px;font-family:var(--mono)}.eyebrow{font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--text-4);padding:12px 8px 8px;display:flex;align-items:center;justify-content:space-between;font-family:var(--mono)}.eyebrow .count{color:var(--accent);font-family:var(--mono);font-size:10.5px;letter-spacing:0}.region-list{display:flex;flex-direction:column;gap:1px;overflow-y:auto;flex:1;padding-right:2px}.region-item{position:relative;text-align:left;cursor:pointer;background:transparent;border:0;border-radius:var(--r-sm);padding:9px 10px 10px 14px;color:var(--text-2);display:flex;align-items:center;gap:10px;transition:background var(--t) var(--ease),color var(--t) var(--ease)}.region-item:before{content:"";position:absolute;left:3px;top:12px;bottom:12px;width:2px;border-radius:2px;background:transparent;transition:background var(--t) var(--ease),box-shadow var(--t) var(--ease)}.region-item:hover{background:var(--surface);color:var(--text)}.region-item:hover:before{background:var(--line-3)}.region-item.active{color:var(--text);background:linear-gradient(90deg,rgba(37,99,235,.09),transparent 80%)}.region-item.active:before{background:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.region-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.region-name{font-size:13px;font-weight:600;letter-spacing:-.01em}.region-blurb{color:var(--text-4);font-size:11px;line-height:1.35}.region-item.active .region-blurb{color:var(--text-3)}.region-agent-tag{font-weight:500;color:var(--accent);font-size:11.5px;margin-left:5px}.sidebar-footer{border-top:1px solid var(--line);padding:12px 10px 2px;margin-top:10px}.status-dot{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;color:var(--text-3)}.status-dot:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.status-dot.ok{color:var(--ok)}.status-dot.warn{color:var(--warn)}.status-dot.muted{color:var(--text-4)}.banner{display:flex;align-items:flex-start;gap:12px;margin:16px 24px 0;padding:12px 14px;border-radius:var(--r);background:#ffb3400f;border:1px solid rgba(255,179,64,.22);font-size:12.5px;color:var(--text-2)}.banner.warn strong{color:var(--warn)}.banner-body ul{margin:5px 0 0;padding-left:16px;color:var(--text-3)}.banner-body li{margin:3px 0}.banner-close{margin-left:auto;background:none;border:0;color:var(--text-4);font-size:16px;cursor:pointer;width:20px;height:20px;border-radius:4px;display:grid;place-items:center;transition:all var(--t) var(--ease)}.banner-close:hover{color:var(--text);background:var(--surface-2)}.region-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:22px 28px 16px;position:relative}.region-header:after{content:"";position:absolute;left:28px;right:28px;bottom:0;height:1px;background:var(--line)}.region-title-wrap{min-width:0}.region-eyebrow{font-family:var(--mono);font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;display:flex;align-items:center;gap:8px}.region-eyebrow:before{content:"//";opacity:.6}.region-title-row{display:flex;align-items:center;gap:16px}.region-header h1{font-family:var(--sans);font-weight:700;font-size:30px;letter-spacing:-.03em;margin:0;color:var(--text)}.region-header .muted{margin:4px 0 0;font-size:12.5px;max-width:540px}.tabs{display:inline-flex;gap:1px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r);padding:3px;flex-shrink:0}.tab{background:transparent;border:0;color:var(--text-3);padding:6px 14px;border-radius:var(--r-sm);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--mono);letter-spacing:.04em;transition:all var(--t) var(--ease);text-transform:uppercase}.tab:hover{color:var(--text);background:var(--surface-2)}.tab.active{background:linear-gradient(180deg,var(--accent),var(--accent-hi));color:var(--on-accent);box-shadow:0 2px 10px var(--accent-glow),inset 0 1px #ffffff38}.content{flex:1;min-height:0;display:flex;padding:18px 28px 24px}.welcome{flex:1;overflow-y:auto;padding:48px 36px 56px;max-width:1180px;margin:0 auto;width:100%;animation:fade-in var(--t-slow) var(--ease) both}.welcome-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);font-family:var(--mono);padding:5px 12px;border:1px solid var(--accent-line);border-radius:var(--r-sm);background:var(--accent-softer);margin-bottom:20px}.welcome-eyebrow .dot{width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow);animation:pulse 2.4s var(--ease) infinite}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 8px var(--accent-glow)}50%{opacity:.5;box-shadow:0 0 16px var(--accent-glow)}}.welcome h1.display{font-family:var(--sans);font-weight:700;font-size:clamp(36px,5vw,58px);letter-spacing:-.035em;line-height:1.04;margin:0 0 12px;color:var(--text)}.welcome h1.display em{font-style:normal;color:var(--accent);text-shadow:0 0 40px var(--accent-glow)}.welcome .lede{color:var(--text-2);font-size:15px;line-height:1.6;max-width:600px;margin:0 0 28px}.welcome-stats{display:flex;border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);overflow:hidden;margin:0 0 32px;max-width:680px}.welcome-stat{padding:14px 20px;flex:1;border-left:1px solid var(--line)}.welcome-stat:first-child{border-left:0}.stat-label{font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--text-4);font-family:var(--mono)}.stat-value{font-family:var(--mono);font-size:20px;color:var(--accent);margin-top:4px;font-variant-numeric:tabular-nums}.welcome-section-label{font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--text-4);margin:4px 0 12px;display:flex;align-items:center;gap:10px;font-family:var(--mono)}.welcome-section-label:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}.welcome-hint{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-3);margin:2px 0 26px;padding:9px 12px;border:1px dashed var(--line-2);border-radius:var(--r-sm);background:var(--bg-elev);width:fit-content}.welcome-hint-arrow{color:var(--accent);font-size:15px;line-height:1}[dir=rtl] .welcome-hint-arrow{transform:scaleX(-1)}.recent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:12px;margin-bottom:26px}.recent-card{display:flex;flex-direction:column;gap:8px;text-align:start;cursor:pointer;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:13px 14px;transition:border-color var(--t) var(--ease),background var(--t) var(--ease),transform var(--t) var(--ease);animation:fade-in var(--t) var(--ease) both}.recent-card:hover{border-color:var(--accent-line);background:var(--surface-2);transform:translateY(-2px)}.recent-card:hover .recent-title{color:var(--accent)}.recent-card-top{display:flex;align-items:center;gap:8px}.recent-region{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--text-3);text-transform:uppercase}.recent-status{margin-inline-start:auto;width:7px;height:7px;border-radius:50%;background:var(--text-5);flex-shrink:0}.recent-status.ok{background:#16a34a;box-shadow:0 0 7px #16a34a73}.recent-status.run{background:#d97706;box-shadow:0 0 7px #d9770673}.recent-status.err{background:#dc2626}.recent-title{font-size:13.5px;font-weight:600;line-height:1.3;color:var(--text);transition:color var(--t) var(--ease);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recent-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-4);margin-top:auto}.recent-kind{font-family:var(--mono);text-transform:capitalize}.recent-empty{padding:18px;border:1px dashed var(--line-2);border-radius:var(--r-sm);font-size:12.5px}.sage-card{display:flex;align-items:center;gap:14px;width:100%;text-align:start;margin:6px 0 22px;padding:16px 18px;cursor:pointer;border:1px solid var(--accent-line);border-radius:var(--r);background:linear-gradient(100deg,var(--accent-soft),transparent 70%),var(--surface);transition:border-color var(--t) var(--ease),transform var(--t) var(--ease),box-shadow var(--t) var(--ease)}.sage-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 0 22px var(--accent-glow)}.sage-card-icon{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:50%;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);overflow:hidden}.sage-card-icon img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.events-main{padding:14px 18px 24px;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;min-height:0}.events-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;flex-wrap:wrap}.events-head-title{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.events-head-actions{display:flex;gap:8px;flex-shrink:0}.events-summary{color:var(--text-3);font-size:13px;line-height:1.5;margin:0 0 16px;max-width:720px}.events-no-tl{padding:24px 0}.events-refresh-status{display:inline-flex;align-items:center;gap:8px;color:var(--text-3);font-size:12px;margin:10px 0}.events-del{margin-inline-start:8px;color:var(--text-5);cursor:pointer;padding:0 4px;border-radius:3px}.events-del:hover{color:var(--danger);background:var(--danger-soft)}.timeline{position:relative;padding-inline-start:4px}.tl-item{display:grid;grid-template-columns:22px 1fr;gap:12px}.tl-rail{position:relative;display:flex;justify-content:center}.tl-rail:before{content:"";position:absolute;top:0;bottom:0;inset-inline-start:50%;width:2px;transform:translate(-50%);background:var(--line-2)}.tl-item:first-child .tl-rail:before{top:8px}.tl-item:last-child .tl-rail:before{bottom:auto;height:8px}.tl-dot{position:relative;z-index:1;width:11px;height:11px;border-radius:50%;margin-top:4px;background:var(--accent);box-shadow:0 0 0 3px var(--surface)}.tl-card{padding:0 0 20px;min-width:0}.tl-meta{display:flex;align-items:center;gap:8px;margin-bottom:2px}.tl-date{font-size:11px;color:var(--text-4)}.tl-cat{font-size:9px;text-transform:uppercase;letter-spacing:.08em;padding:1px 7px;border-radius:999px;font-family:var(--mono);color:#fff}.tl-title{font-size:14px;font-weight:600;color:var(--text);line-height:1.35}.tl-desc{font-size:12.5px;color:var(--text-2);line-height:1.55;margin-top:3px}.tl-sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.tl-src{font-size:10.5px;font-family:var(--mono);color:var(--text-3);background:var(--surface-2);border:1px solid var(--line-2);padding:1px 7px;border-radius:var(--r-xs)}.tl-src:hover{color:var(--accent);border-color:var(--accent-line);text-decoration:none}.tl-dot.cat-political,.tl-cat.cat-political,.ev-cat-fill.cat-political{background:#2563eb}.tl-dot.cat-military,.tl-cat.cat-military,.ev-cat-fill.cat-military{background:#dc2626}.tl-dot.cat-economic,.tl-cat.cat-economic,.ev-cat-fill.cat-economic{background:#0d9488}.tl-dot.cat-security,.tl-cat.cat-security,.ev-cat-fill.cat-security{background:#b45309}.tl-dot.cat-cyber,.tl-cat.cat-cyber,.ev-cat-fill.cat-cyber{background:#7c3aed}.tl-dot.cat-diplomatic,.tl-cat.cat-diplomatic,.ev-cat-fill.cat-diplomatic{background:#0369a1}.tl-dot.cat-humanitarian,.tl-cat.cat-humanitarian,.ev-cat-fill.cat-humanitarian{background:#be185d}.tl-dot.cat-other,.tl-cat.cat-other,.ev-cat-fill.cat-other{background:#64748b}.ev-analytics{max-width:760px}.ev-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px}.ev-stat{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:12px 14px}.ev-stat-label{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-4);font-family:var(--mono)}.ev-stat-value{font-family:var(--mono);font-size:19px;color:var(--accent);margin-top:4px;font-variant-numeric:tabular-nums}.ev-section-label{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--text-4);font-family:var(--mono);margin:4px 0 10px}.ev-bars{display:flex;align-items:flex-end;gap:4px;height:150px;overflow-x:auto;padding-bottom:4px;margin-bottom:22px}.ev-bar-col{flex:1 0 22px;display:flex;flex-direction:column;align-items:center;height:100%;min-width:22px}.ev-bar-track{flex:1;width:100%;display:flex;align-items:flex-end}.ev-bar-fill{width:100%;background:linear-gradient(180deg,var(--accent),var(--accent-hi));border-radius:3px 3px 0 0;min-height:2px}.ev-bar-label{font-size:9px;color:var(--text-4);margin-top:5px;white-space:nowrap;font-family:var(--mono)}.ev-cats{display:flex;flex-direction:column;gap:8px;max-width:520px}.ev-catrow{display:grid;grid-template-columns:96px 1fr 34px;align-items:center;gap:10px}.ev-cat-name{font-size:11px;color:var(--text-3);text-transform:capitalize}.ev-cat-track{height:12px;background:var(--surface-3);border-radius:6px;overflow:hidden}.ev-cat-fill{height:100%;border-radius:6px;min-width:3px;background:var(--accent)}.ev-cat-count{font-size:11px;color:var(--text-3);text-align:end;font-variant-numeric:tabular-nums}.ev-grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:8px}.ev-grid2 .ev-cats{max-width:none}.ev-actorrow{grid-template-columns:120px 1fr 30px}.ev-actorrow .ev-cat-name{text-transform:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ev-net-wrap{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:8px;max-width:460px;margin:2px 0 6px}.ev-net{width:100%;height:auto;display:block}.ev-agreements{display:flex;flex-direction:column;gap:6px;max-width:620px;margin-bottom:8px}.ev-agree{display:grid;grid-template-columns:92px 1fr;gap:10px;align-items:baseline;padding:7px 10px;background:var(--surface);border:1px solid var(--line-2);border-inline-start:3px solid #16a34a;border-radius:var(--r-xs)}.ev-agree-date{font-size:10.5px;color:var(--text-4)}.ev-agree-title{font-size:12.5px;color:var(--text);font-weight:500}.ev-hint{margin:-6px 0 20px}.ev-mom.up .ev-stat-value{color:#b45309}.ev-mom.down .ev-stat-value{color:#0d9488}.ev-clickable{background:transparent;border:0;padding:0;cursor:pointer;font:inherit;color:inherit}.ev-clickable:hover .ev-cat-name{color:var(--accent)}.ev-clickable.on .ev-cat-name{color:var(--accent);font-weight:600}.ev-focus{background:var(--surface-2);border:1px solid var(--accent-line);border-radius:var(--r-sm);padding:12px 14px;margin-bottom:20px}.ev-focus-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.ev-focus-title{font-size:13px;font-weight:600;color:var(--text)}.ev-focus-ties{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.ev-chip{font-size:11px;background:var(--surface);border:1px solid var(--line-2);border-radius:999px;padding:2px 9px;cursor:pointer;color:var(--text-2)}.ev-chip:hover{border-color:var(--accent-line);color:var(--accent)}.ev-chip .mono{color:var(--text-4);margin-inline-start:4px}.ev-focus-items{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto}.ev-focus-item{display:grid;grid-template-columns:92px 1fr auto;gap:8px;align-items:center}.ev-fi-date{font-size:10px;color:var(--text-4)}.ev-fi-title{font-size:12px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ev-fi-kind{font-size:8.5px;text-transform:uppercase;letter-spacing:.06em;color:#fff;padding:1px 6px;border-radius:999px;font-family:var(--mono)}.ev-legend{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.ev-legend-item{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--text-3);text-transform:capitalize}.ev-legend-dot{width:9px;height:9px;border-radius:2px}.ev-stack{width:100%;display:flex;flex-direction:column-reverse;border-radius:3px 3px 0 0;overflow:hidden;min-height:2px}.ev-stackseg{width:100%;min-height:1px}.ev-line{width:100%;height:auto;max-width:640px;display:block;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:4px;margin-bottom:6px}.ev-srcstats{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:var(--text-3);margin-bottom:10px}.ev-srcstats b{color:var(--accent);font-family:var(--mono)}.ev-heat{display:flex;flex-direction:column;gap:3px;max-width:520px;margin-bottom:8px}.ev-heat-row{display:grid;grid-template-columns:34px repeat(12,1fr);gap:3px;align-items:center}.ev-heat-year{font-size:9px;color:var(--text-4);text-align:end}.ev-heat-cell{aspect-ratio:1;border-radius:2px;min-height:12px}.ev-heat-head .ev-heat-mh{font-size:8px;color:var(--text-5);text-align:center;font-family:var(--mono)}.cc-events{display:flex;flex-direction:column;gap:6px}.cc-event{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:9px 12px;cursor:pointer;text-align:start;transition:border-color var(--t) var(--ease),background var(--t) var(--ease)}.cc-event:hover{border-color:var(--accent-line);background:var(--surface-2)}.cc-ev-name{font-size:13px;font-weight:600;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-ev-meta{font-size:10.5px;color:var(--text-4);flex-shrink:0}.ev-analytics{--hc: #22d3ee;--hv: #a78bfa;--hline: #21324f;--hgrid: rgba(90,150,235,.1);--htext: #c6d4ea;--hdim: #6f819f;--hbright: #eef5ff;max-width:none;position:relative;overflow:hidden;color:var(--htext);border:1px solid var(--hline);border-radius:14px;padding:18px 18px 24px;background:radial-gradient(130% 90% at 100% -10%,rgba(34,211,238,.1),transparent 55%),radial-gradient(120% 90% at -10% 115%,rgba(167,139,250,.09),transparent 55%),linear-gradient(180deg,#0a1122,#0b1426);box-shadow:0 10px 40px #060c1c59,inset 0 0 0 1px #22d3ee0a}.ev-analytics:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:linear-gradient(var(--hgrid) 1px,transparent 1px),linear-gradient(90deg,var(--hgrid) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(140% 120% at 50% -10%,#000 45%,transparent 92%);mask-image:radial-gradient(140% 120% at 50% -10%,#000 45%,transparent 92%)}.ev-analytics>*{position:relative;z-index:1}.ev-analytics .muted{color:var(--hdim)}.ev-analytics .ev-stat{background:linear-gradient(180deg,#101f3a,#0b1526);border:1px solid var(--hline);border-radius:10px;position:relative;overflow:hidden}.ev-analytics .ev-stat:after{content:"";position:absolute;top:0;left:12px;right:12px;height:2px;background:linear-gradient(90deg,var(--hc),transparent);opacity:.75}.ev-analytics .ev-stat-label{color:var(--hdim)}.ev-analytics .ev-stat-value{color:var(--hbright);text-shadow:0 0 14px rgba(34,211,238,.4)}.ev-analytics .ev-mom.up .ev-stat-value{color:#ff8f6b;text-shadow:0 0 14px rgba(255,120,80,.45)}.ev-analytics .ev-mom.down .ev-stat-value{color:#4be3c4;text-shadow:0 0 14px rgba(45,220,190,.45)}.ev-analytics .ev-section-label{color:var(--hc);letter-spacing:.26em;text-shadow:0 0 12px rgba(34,211,238,.45)}.ev-analytics .ev-section-label:before{content:"▸ ";color:var(--hv)}.ev-analytics .ev-cat-name{color:var(--htext)}.ev-analytics .ev-cat-count{color:var(--hdim)}.ev-analytics .ev-cat-track{background:#0b1526;box-shadow:inset 0 0 0 1px var(--hline)}.ev-analytics .ev-cat-fill{filter:brightness(1.16) saturate(1.3);box-shadow:0 0 9px #ffffff2e}.ev-analytics .ev-bars,.ev-analytics .ev-net-wrap,.ev-analytics .ev-line,.ev-analytics .ev-heat{background:linear-gradient(180deg,#0d1830,#0a1426);border:1px solid var(--hline);border-radius:12px;box-shadow:inset 0 0 40px #040e2880,0 0 0 1px #22d3ee08}.ev-analytics .ev-bars{padding:16px 12px 6px}.ev-analytics .ev-line{padding:8px}.ev-analytics .ev-heat{padding:12px;max-width:540px}.ev-analytics .ev-bar-label{color:var(--hdim)}.ev-analytics .ev-legend-item{color:var(--htext)}.ev-analytics .ev-bar-fill{background:linear-gradient(180deg,var(--hc),#1782a8)!important;box-shadow:0 0 12px #22d3ee8c}.ev-analytics .ev-stackseg{filter:brightness(1.18) saturate(1.25)}.ev-analytics .ev-stack{box-shadow:0 0 14px #6366f147}.ev-analytics .ev-heat-cell{min-height:12px}.ev-analytics .ev-heat-year,.ev-analytics .ev-heat-head .ev-heat-mh,.ev-analytics .ev-srcstats{color:var(--hdim)}.ev-analytics .ev-srcstats b{color:var(--hc);text-shadow:0 0 10px rgba(34,211,238,.4)}.ev-analytics .ev-focus{background:#22d3ee0d;border:1px solid rgba(34,211,238,.28)}.ev-analytics .ev-focus-title{color:var(--hbright)}.ev-analytics .ev-chip{background:#0f1c34;border:1px solid var(--hline);color:var(--htext)}.ev-analytics .ev-chip:hover{border-color:var(--hc);color:var(--hc);box-shadow:0 0 10px #22d3ee40}.ev-analytics .ev-fi-title{color:var(--htext)}.ev-analytics .ev-fi-date{color:var(--hdim)}.ev-analytics .ev-agree{background:#0d1830;border:1px solid var(--hline);border-inline-start:3px solid #22d3ee;box-shadow:-6px 0 16px -8px #22d3ee80}.ev-analytics .ev-agree-title{color:var(--hbright)}.ev-analytics .ev-agree-date{color:var(--hdim)}.ev-analytics .ev-clickable:hover .ev-cat-name,.ev-analytics .ev-clickable.on .ev-cat-name{color:var(--hc)}.ev-analytics.cc .welcome-eyebrow{color:var(--hc);border-color:#22d3ee4d;background:#22d3ee0f}.ev-analytics .cc-event{background:#0f1c34;border:1px solid var(--hline)}.ev-analytics .cc-event:hover{border-color:var(--hc);background:#12213c;box-shadow:0 0 16px #22d3ee1f}.ev-analytics .cc-ev-name{color:var(--hbright)}.ev-analytics .cc-ev-meta{color:var(--hdim)}@media (max-width: 768px){.ev-analytics{padding:12px 12px 18px;border-radius:12px}.ev-analytics .ev-stats{gap:8px;margin-bottom:18px}.ev-analytics .ev-stat{padding:10px 11px}.ev-analytics .ev-stat-value{font-size:16px}.ev-analytics .ev-section-label{letter-spacing:.16em}.ev-analytics .ev-bars{padding:12px 8px 6px}.ev-analytics .ev-bar-col{flex:1 0 15px;min-width:15px}.ev-analytics .ev-actorrow{grid-template-columns:88px 1fr 26px}.ev-analytics .ev-focus-item{grid-template-columns:68px 1fr auto}.ev-analytics .ev-heat{padding:10px}.ev-analytics .ev-heat-row{grid-template-columns:24px repeat(12,1fr);gap:2px}.ev-analytics .ev-net-wrap{padding:4px}.ev-analytics .ev-srcstats{gap:12px}}.sage-card-text{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.sage-card-title{font-size:15px;font-weight:700;color:var(--text)}.sage-card-body{font-size:12px;color:var(--text-3);line-height:1.4}.sage-card-cta{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--accent);flex-shrink:0;white-space:nowrap}@media (max-width: 560px){.sage-card{flex-direction:column;align-items:flex-start;gap:10px}.sage-card-cta{align-self:flex-end}}.constellation-wrap{margin:10px 0 30px}.constellation{position:relative;width:100%;max-width:600px;aspect-ratio:1 / 1;margin:8px auto 0}.constellation-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;z-index:0;pointer-events:none}.constellation-line{stroke:var(--accent);stroke-width:.22;opacity:.28}.constellation-center,.constellation-node{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:5px;background:transparent;border:0;cursor:pointer;z-index:2;transition:transform var(--t) var(--ease)}.constellation-center{z-index:3;gap:4px}.constellation-center:hover,.constellation-node:hover{transform:translate(-50%,-50%) scale(1.05)}.cc-glow{position:absolute;width:130px;height:130px;border-radius:50%;top:38px;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,var(--accent-glow),transparent 70%);z-index:-1}.cc-avatar{width:94px;height:94px;border-radius:50%;object-fit:cover;object-position:top center;border:2px solid var(--accent);box-shadow:0 0 0 4px var(--accent-soft),0 0 26px var(--accent-glow)}.cc-avatar.placeholder,.cn-avatar.placeholder{display:grid;place-items:center;color:var(--text-4);font-family:var(--mono);background:linear-gradient(160deg,var(--surface-2),var(--surface))}.cc-name{font-weight:700;font-size:14px;color:var(--text)}.cc-region{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.cn-avatar{width:54px;height:54px;border-radius:50%;object-fit:cover;object-position:top center;border:1px solid var(--line-3);background:var(--surface-2);transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease)}.constellation-node:hover .cn-avatar{border-color:var(--accent);box-shadow:0 0 14px var(--accent-glow)}.cn-box{display:flex;flex-direction:column;align-items:center;max-width:134px;padding:4px 9px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-sm)}.constellation-node:hover .cn-box{border-color:var(--accent-line)}.cn-name{font-size:11.5px;font-weight:600;color:var(--text);white-space:nowrap}.cn-spec{font-size:9.5px;color:var(--text-4);text-align:center;line-height:1.25}.constellation-fallback{display:none}.cf-card{display:flex;align-items:center;gap:9px;padding:8px 10px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-sm);cursor:pointer;text-align:start;transition:all var(--t) var(--ease)}.cf-card:hover{border-color:var(--accent-line);background:var(--surface-2)}.cf-text{display:flex;flex-direction:column;min-width:0}.cf-name{font-size:12.5px;font-weight:600;color:var(--text)}.cf-spec{font-size:10.5px;color:var(--text-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 760px){.constellation{display:none}.constellation-fallback{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:8px 0 22px}}.tabs-sep{width:1px;height:18px;align-self:center;background:var(--line-2);margin:0 6px}.tab.archive-tab{color:var(--text-3)}.tab.archive-tab.active{color:var(--accent)}.welcome-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:8px}.welcome-card{position:relative;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 16px 14px;cursor:pointer;transition:all var(--t) var(--ease);overflow:hidden;color:var(--text)}.welcome-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 80% at 100% 0%,var(--accent-soft),transparent 60%);opacity:0;transition:opacity var(--t-slow) var(--ease);pointer-events:none}.welcome-card:hover{border-color:var(--accent-line);transform:translateY(-2px);box-shadow:var(--shadow)}.welcome-card:hover:before{opacity:1}.welcome-card .card-glyph{font-family:var(--mono);font-size:10px;color:var(--text-4);letter-spacing:.06em;margin-bottom:12px;display:flex;align-items:center;gap:10px;min-height:24px}.welcome-card .card-glyph:before{content:"";width:18px;height:1px;background:var(--accent);opacity:.5}.welcome-card .card-name{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--text);margin-bottom:4px}.welcome-card.has-agent{padding:18px 16px 16px}.welcome-card .card-agent-header{display:flex;align-items:center;gap:14px;margin-bottom:14px}.welcome-card .card-avatar{width:72px;height:72px;border-radius:50%;flex-shrink:0;border:2px solid var(--line-2);background:var(--surface-2);object-fit:cover;object-position:top center;box-shadow:var(--shadow-sm);transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease),transform var(--t) var(--ease)}.welcome-card:hover .card-avatar{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-line),0 0 24px var(--accent-glow);transform:scale(1.05)}.welcome-card .card-agent-info{min-width:0}.welcome-card .card-agent-name{font-size:20px;font-weight:700;letter-spacing:-.025em;color:var(--text);line-height:1.1;margin-bottom:3px}.welcome-card .card-agent-role{font-family:var(--mono);font-size:9.5px;color:var(--accent);letter-spacing:.18em;text-transform:uppercase}.welcome-card .card-region-label{font-family:var(--mono);font-size:10px;color:var(--text-4);letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px;display:flex;align-items:center;gap:6px}.welcome-card .card-region-label:before{content:"//";opacity:.5;font-size:9px}.welcome-card .card-blurb{color:var(--text-3);font-size:12px;line-height:1.45}.welcome-card .card-arrow{position:absolute;top:16px;right:16px;color:var(--text-4);transition:all var(--t) var(--ease)}.welcome-card:hover .card-arrow{color:var(--accent);transform:translate(2px,-2px)}.region-agent-name{color:var(--text);font-weight:700;font-size:13px}.region-name-sub{color:var(--text-4);font-weight:400;font-size:11px}.region-h1-sub{font-size:22px;font-weight:400;color:var(--text-3);letter-spacing:0}.disclaimer{margin-top:42px;padding-top:20px;border-top:1px solid var(--line);max-width:720px;color:var(--text-4);font-size:11px;line-height:1.65;font-family:var(--mono)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line-2);background:var(--surface-2);color:var(--text);padding:8px 14px;border-radius:var(--r-sm);cursor:pointer;font-weight:600;font-size:12.5px;font-family:var(--sans);transition:all var(--t) var(--ease);letter-spacing:0}.btn:hover:not(:disabled){background:var(--surface-3);border-color:var(--line-3)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:linear-gradient(180deg,var(--accent),var(--accent-hi));border-color:var(--accent-hi);color:var(--on-accent);font-weight:700;box-shadow:0 1px #ffffff2e inset,0 3px 12px var(--accent-glow)}.btn.primary:hover:not(:disabled){background:linear-gradient(180deg,#3b82f6,var(--accent));box-shadow:0 1px #ffffff38 inset,0 5px 18px var(--accent-glow)}.btn.ghost{background:transparent}.btn.ghost:hover:not(:disabled){background:var(--surface)}.btn.sm{padding:5px 10px;font-size:11.5px}.btn.lg{padding:12px 20px;font-size:13.5px;width:100%;margin-top:14px;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase}.empty{color:var(--text-3);display:grid;place-content:center;text-align:center;min-height:200px;height:100%;padding:40px}.empty p{max-width:460px;margin:5px auto}.empty .empty-icon{width:40px;height:40px;margin:0 auto 12px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:var(--r);color:var(--text-4);background:var(--surface)}.chat{display:flex;flex-direction:column;flex:1;min-height:0}.chat-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 2px 12px}.chat-toolbar .meta-row{display:flex;align-items:center;gap:8px;color:var(--text-3);font-size:11.5px}.chat-toolbar .meta-row .label{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--text-4);font-family:var(--mono)}.chat-scroll{flex:1;overflow-y:auto;padding:6px 2px 14px;display:flex;flex-direction:column;gap:24px}.msg{display:grid;grid-template-columns:96px 1fr;gap:14px}.msg-role{text-align:right;padding-top:1px;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-4);font-family:var(--mono);display:flex;align-items:flex-start;justify-content:flex-end;gap:0}.msg.user .msg-role{color:var(--text-3)}.msg.assistant .msg-role{color:var(--accent)}.msg-role img{margin-right:6px}.msg-content{border-left:1px solid var(--line);padding:0 0 0 16px;min-width:0}.msg-body{font-size:13.5px;line-height:1.7;word-wrap:break-word}.msg-body.error{color:var(--danger)}.tool-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}.chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10.5px;color:var(--data);background:var(--data-soft);border:1px solid rgba(14,116,144,.28);padding:2px 8px;border-radius:var(--r-xs);max-width:480px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;animation:fade-in var(--t) var(--ease) both}.chip .chip-detail{color:var(--text-3)}.blink{display:inline-block;color:var(--accent);animation:blink 1.1s steps(2,start) infinite}@keyframes blink{50%{opacity:.2}}.composer{display:flex;gap:8px;padding:12px 0 0;border-top:1px solid var(--line)}.composer textarea{flex:1;resize:none;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--text);padding:10px 12px;font-family:var(--sans);font-size:13.5px;line-height:1.5;transition:all var(--t) var(--ease)}.composer textarea::placeholder{color:var(--text-4)}.composer textarea:focus{outline:none;border-color:var(--accent-line);background:var(--surface-2);box-shadow:0 0 0 3px var(--accent-softer)}.composer .btn{align-self:stretch;min-width:76px}.brief-panel{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding-right:4px;animation:fade-in var(--t-slow) var(--ease) both}.brief-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:2px 2px 16px;border-bottom:1px solid var(--line);margin-bottom:18px}.brief-head-left{min-width:0}.brief-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);font-family:var(--mono);margin-bottom:8px}.brief-eyebrow-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow);animation:pulse 2.4s var(--ease) infinite}.brief-h{font-size:26px;font-weight:700;letter-spacing:-.025em;color:var(--text);margin:0 0 7px}.brief-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--text-3);font-size:11.5px;font-family:var(--mono)}.brief-meta strong{color:var(--text);font-weight:500}.brief-meta .dot-sep{width:3px;height:3px;border-radius:50%;background:var(--text-5);display:inline-block}.brief-meta .stale-pill{background:var(--warn-soft);color:var(--warn);border:1px solid rgba(255,179,64,.28);padding:1px 7px;border-radius:999px;font-size:10px}.conf-inline.conf-high{color:var(--ok)}.conf-inline.conf-moderate{color:var(--warn)}.conf-inline.conf-low{color:var(--danger)}.brief-head-right{flex-shrink:0;display:flex;gap:8px;align-items:center}.brief-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:44px 28px;min-height:420px;position:relative}.brief-empty-icon{width:60px;height:60px;margin:0 auto 20px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r);color:var(--accent);box-shadow:var(--shadow-sm),0 0 24px #2563eb1a}.brief-empty-h{font-size:28px;font-weight:700;letter-spacing:-.025em;color:var(--text);margin:0 0 10px}.brief-empty-p{color:var(--text-3);font-size:14px;line-height:1.6;max-width:440px;margin:0 auto 24px}.brief-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;padding:12px 24px!important;margin-top:0!important;font-size:12.5px!important}.brief-progress{background:linear-gradient(180deg,var(--accent-softer),transparent 60%),var(--surface);border:1px solid var(--accent-line);border-radius:var(--r);padding:18px 20px;margin-bottom:18px}.brief-progress .spinner-row{margin-bottom:12px;color:var(--text)}.brief-body{padding:4px 2px 18px}.live-feed-bar{display:flex;align-items:center;gap:10px;padding:0 2px 14px;flex-shrink:0}.live-feed-bar .feed-status{font-family:var(--mono);font-size:10.5px;color:var(--text-4)}.live-feed-panel{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden;margin-bottom:16px;animation:fade-in var(--t) var(--ease) both;flex-shrink:0}.feed-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--line)}.feed-header-title{font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:8px}.feed-count{font-family:var(--mono);font-size:10.5px;color:var(--text-4)}.feed-searching{padding:8px 16px;font-family:var(--mono);font-size:10.5px;color:var(--text-4);border-bottom:1px solid var(--line-faint);animation:fade-in var(--t) var(--ease) both}.feed-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1px;background:var(--line-faint);max-height:460px;overflow-y:auto}.feed-card{display:flex;flex-direction:column;background:var(--surface);padding:16px;text-decoration:none;color:inherit;position:relative;transition:background var(--t) var(--ease);animation:fade-in var(--t) var(--ease) both;min-height:130px}.feed-card:hover{background:var(--surface-2)}.feed-card:hover .feed-card-title{color:var(--accent)}.feed-card:hover .feed-card-arrow{opacity:1;transform:translate(2px,-2px)}.feed-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.feed-card-source{font-family:var(--mono);font-size:10px;color:var(--text-4);letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.feed-card-title{font-size:13px;font-weight:600;line-height:1.38;color:var(--text);flex:1;transition:color var(--t) var(--ease)}.feed-card-summary{color:var(--text-3);font-size:11.5px;line-height:1.5;margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.feed-card-arrow{position:absolute;top:14px;right:14px;color:var(--text-4);font-size:13px;opacity:.4;transition:all var(--t) var(--ease)}.feed-cat{flex-shrink:0;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:2px 7px;border-radius:var(--r-xs);border:1px solid;white-space:nowrap}.feed-cat.political{color:#0369a1;border-color:#0369a147;background:#0369a114}.feed-cat.military{color:#c2410c;border-color:#c2410c47;background:#c2410c14}.feed-cat.economic{color:#a16207;border-color:#a1620747;background:#a1620714}.feed-cat.security{color:#dc2626;border-color:#dc262647;background:#dc262614}.feed-cat.cyber{color:#7c3aed;border-color:#7c3aed47;background:#7c3aed14}.feed-cat.other{color:var(--text-3);border-color:var(--line-2);background:transparent}.feed-more-row{display:flex;justify-content:center;padding:12px 16px;border-top:1px solid var(--line)}.research{flex:1;display:flex;gap:20px;min-height:0}.picker{width:46%;max-width:560px;overflow-y:auto;padding-right:4px}.type-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.type-card{position:relative;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 12px 10px;cursor:pointer;transition:all var(--t) var(--ease);color:var(--text);overflow:hidden;-webkit-user-select:none;user-select:none}.type-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:transparent;transition:background var(--t) var(--ease)}.type-card:hover{background:var(--surface-2);border-color:var(--line-2);transform:translateY(-1px)}.type-card.active{background:linear-gradient(180deg,var(--accent-softer),transparent 80%),var(--surface);border-color:var(--accent-line)}.type-card.active:before{background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.type-card .chk{position:absolute;top:10px;right:10px;width:16px;height:16px;border-radius:3px;border:1.5px solid var(--line-2);display:grid;place-items:center;background:var(--bg-elev);transition:all var(--t) var(--ease)}.type-card.active .chk{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.type-name{font-weight:700;font-size:12.5px;margin-bottom:3px;letter-spacing:-.01em;padding-right:18px}.type-desc{color:var(--text-3);font-size:11px;line-height:1.45}.type-meta{color:var(--text-4);font-size:10px;margin-top:8px;font-family:var(--mono);letter-spacing:.02em;display:flex;align-items:center;gap:6px}.type-meta .req{color:var(--accent);padding-left:6px;border-left:1px solid var(--line-2)}.angles-header{display:flex;align-items:center;justify-content:space-between;padding:14px 2px 10px}.angles-count{font-family:var(--mono);font-size:10.5px;color:var(--accent);letter-spacing:.08em}.config{flex:1;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:22px 24px}.config h3{font-size:22px;font-weight:700;letter-spacing:-.025em;margin:0 0 4px}.config .config-desc{color:var(--text-3);font-size:12.5px;margin:0 0 16px}.selected-angles{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.angle-pill{font-family:var(--mono);font-size:10.5px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);padding:3px 10px 3px 8px;border-radius:var(--r-xs);display:inline-flex;align-items:center;gap:5px}.angle-pill-rm{background:none;border:0;color:var(--text-4);cursor:pointer;font-size:13px;padding:0;line-height:1;transition:color var(--t) var(--ease)}.angle-pill-rm:hover{color:var(--danger)}.field-label{display:flex;align-items:center;gap:7px;font-size:9.5px;color:var(--text-4);margin:16px 0 7px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;font-family:var(--mono)}.field-label .req-mark{color:var(--accent)}.time-filter{display:flex;gap:4px;flex-wrap:wrap}.time-btn{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;padding:4px 10px;border-radius:var(--r-xs);border:1px solid var(--line-2);background:var(--bg-elev);color:var(--text-3);cursor:pointer;transition:all var(--t) var(--ease);text-transform:uppercase}.time-btn:hover{color:var(--text);border-color:var(--line-3);background:var(--surface-2)}.time-btn.active{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.time-custom{display:flex;gap:6px;align-items:center;margin-top:6px}.time-custom input[type=date]{background:var(--bg-elev);border:1px solid var(--line-2);color:var(--text);padding:4px 8px;border-radius:var(--r-xs);font-family:var(--mono);font-size:11px;cursor:pointer}.time-custom input[type=date]:focus{outline:none;border-color:var(--accent-line)}.time-btn:disabled{opacity:.5;cursor:not-allowed}.brief-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 14px}.brief-controls-label{font-size:9.5px;color:var(--text-4);font-weight:600;letter-spacing:.22em;text-transform:uppercase;font-family:var(--mono)}.brief-inflight{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--bg-elev);margin-bottom:16px;flex-wrap:wrap}.brief-inflight-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-2);flex:1}.text-input{width:100%;background:var(--bg-elev);border:1px solid var(--line-2);color:var(--text);border-radius:var(--r-sm);padding:9px 11px;font-family:var(--sans);font-size:13px;transition:all var(--t) var(--ease)}.text-input::placeholder{color:var(--text-4)}.text-input:focus{outline:none;border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-softer)}select.text-input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 10px) 50%;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.sections-preview{margin-top:16px;background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px}.sections-preview ol{margin:5px 0 0;padding-left:20px;color:var(--text-3);font-size:12px;counter-reset:section;list-style:none}.sections-preview ol li{position:relative;padding:2px 0 2px 4px;counter-increment:section}.sections-preview ol li:before{content:counter(section,decimal-leading-zero);position:absolute;left:-20px;color:var(--accent);font-family:var(--mono);font-size:10px}.inline-error{color:var(--danger);background:var(--danger-soft);border:1px solid rgba(255,77,106,.28);border-radius:var(--r-sm);padding:9px 12px;margin:12px 0;font-size:12.5px}.archive{flex:1;overflow-y:auto}.archive-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:14px}.seg{display:inline-flex;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:2px}.seg-btn{background:transparent;border:0;color:var(--text-3);padding:5px 12px;border-radius:var(--r-xs);cursor:pointer;font-size:11.5px;font-weight:600;font-family:var(--mono);letter-spacing:.03em;text-transform:uppercase;transition:all var(--t) var(--ease)}.seg-btn:hover{color:var(--text)}.seg-btn.active{background:var(--surface-3);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-line)}.time-filter-row{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.report-table{width:100%;border-collapse:collapse}.report-table th{text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.24em;color:var(--text-4);font-weight:600;padding:9px 10px;border-bottom:1px solid var(--line);font-family:var(--mono)}.report-row{cursor:pointer;border-bottom:1px solid var(--line-faint);transition:background var(--t-fast) var(--ease)}.report-row:hover{background:var(--surface)}.report-table td{padding:11px 10px;font-size:12.5px;vertical-align:middle;color:var(--text-2)}.t-title{font-weight:600;color:var(--text);max-width:400px}.badge{display:inline-block;font-size:10px;padding:2px 8px;border-radius:var(--r-xs);font-family:var(--mono);letter-spacing:.04em;border:1px solid transparent;text-transform:uppercase}.badge.ok{background:var(--ok-soft);color:var(--ok);border-color:#00d98a47}.badge.err{background:var(--danger-soft);color:var(--danger);border-color:#ff4d6a47}.badge.run{background:var(--warn-soft);color:var(--warn);border-color:#ffb34047}.icon-btn{background:none;border:0;cursor:pointer;opacity:.35;font-size:15px;padding:4px 6px;border-radius:var(--r-xs);color:var(--text-3);transition:all var(--t) var(--ease)}.icon-btn:hover{opacity:1;background:var(--surface-2);color:var(--danger)}.dl-cell{display:inline-flex;gap:4px;align-items:center}.dl-link{font-family:var(--mono);font-size:10.5px;color:var(--text-3);text-decoration:none;background:var(--surface-2);border:1px solid var(--line-2);padding:2px 8px;border-radius:var(--r-xs);letter-spacing:.02em;transition:all var(--t) var(--ease);cursor:pointer}.dl-link:hover{color:var(--accent);border-color:var(--accent-line);background:var(--accent-softer);text-decoration:none}.dl-link.disabled{opacity:.28;pointer-events:none;cursor:not-allowed}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center;z-index:50;padding:24px;animation:fade-in .16s var(--ease) both}.modal{width:min(940px,96vw);height:min(92vh,1020px);background:var(--surface);border-radius:var(--r-lg);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg),0 0 0 1px var(--line-2)}.modal:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;background:linear-gradient(180deg,rgba(37,99,235,.1),transparent 50%);z-index:-1;pointer-events:none}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px;border-bottom:1px solid var(--line);background:var(--surface-2)}.modal-title{font-weight:700;font-size:16px;letter-spacing:-.015em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.modal-actions{display:flex;gap:6px;flex-shrink:0}.modal-body{flex:1;overflow-y:auto;padding:28px 38px 36px}.progress{margin-bottom:16px}.spinner-row{display:flex;align-items:center;gap:10px;color:var(--text-2);margin-bottom:14px;font-size:13px}.spinner{width:13px;height:13px;border:1.5px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.log{background:var(--bg-void);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;max-height:280px;overflow-y:auto;font-size:11.5px;font-family:var(--mono);line-height:1.6}.log-line{padding:2px 0;border-bottom:1px solid rgba(15,23,42,.05);display:flex;gap:10px}.log-line:last-child{border-bottom:0}.log-tool{color:var(--data);flex-shrink:0;min-width:120px}.log-line .muted{color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-line.note{color:var(--text-3);font-family:var(--sans);font-style:italic;font-size:12px}.log-line.error{color:var(--danger)}.report-view{font-size:13.5px;color:var(--text-2);line-height:1.7}.report-view h1{font-size:28px;font-weight:700;letter-spacing:-.025em;color:var(--text);margin:0 0 12px}.report-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:10.5px}.tag{font-size:10px;font-family:var(--mono);background:var(--surface-2);border:1px solid var(--line-2);color:var(--text-3);padding:3px 9px;border-radius:var(--r-xs);letter-spacing:.04em;text-transform:uppercase}.tag.conf-high{color:var(--ok);border-color:#00d98a4d;background:var(--ok-soft)}.tag.conf-moderate{color:var(--warn);border-color:#ffb3404d;background:var(--warn-soft)}.tag.conf-low{color:var(--danger);border-color:#ff4d6a4d;background:var(--danger-soft)}.report-view section{margin-bottom:24px}.report-view h2{font-family:var(--mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.26em;color:var(--accent);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}.report-view h2:before{content:"//";opacity:.5;font-size:9px}.findings{list-style:none;margin:0;padding:0;counter-reset:finding}.findings li{position:relative;padding:8px 0 8px 40px;border-bottom:1px solid var(--line-faint);counter-increment:finding}.findings li:last-child{border-bottom:0}.findings li:before{content:counter(finding,decimal-leading-zero);position:absolute;left:0;top:10px;font-family:var(--mono);font-size:10px;color:var(--accent)}.sources{list-style:none;margin:0;padding:0;counter-reset:src}.sources li{position:relative;padding:7px 0 7px 34px;font-size:12px;color:var(--text-3);word-break:break-word;counter-increment:src;border-bottom:1px solid var(--line-faint)}.sources li:last-child{border-bottom:0}.sources li:before{content:"[" counter(src) "]";position:absolute;left:0;top:9px;font-family:var(--mono);font-size:10px;color:var(--text-5)}.sources li a{color:var(--text);border-bottom:1px solid var(--line-2);padding-bottom:1px}.sources li a:hover{color:var(--accent);border-bottom-color:var(--accent)}.md>*:first-child{margin-top:0}.md>*:last-child{margin-bottom:0}.md p{margin:8px 0}.md ul,.md ol{margin:8px 0;padding-left:20px}.md li{margin:3px 0}.md li::marker{color:var(--text-4)}.md h1,.md h2,.md h3,.md h4{margin:14px 0 7px;color:var(--text)}.md a{word-break:break-word;border-bottom:1px solid var(--line-2)}.md a:hover{border-bottom-color:var(--accent)}.md code{background:var(--bg-elev);padding:1px 5px;border-radius:3px;font-family:var(--mono);font-size:.88em;color:var(--data);border:1px solid var(--line)}.md pre{background:var(--bg-void);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;overflow-x:auto;margin:10px 0}.md pre code{background:none;padding:0;border:0;color:var(--text-2)}.md blockquote{border-left:2px solid var(--accent);margin:8px 0;padding:3px 14px;color:var(--text-3);font-style:italic;background:var(--accent-softer)}.md table{border-collapse:collapse;margin:10px 0;width:100%}.md th,.md td{border:1px solid var(--line);padding:7px 10px;text-align:left;font-size:12.5px}.md th{background:var(--surface-2);color:var(--text);font-weight:600}.md hr{border:0;border-top:1px solid var(--line);margin:16px 0}.region-avatar{flex-shrink:0;display:inline-block;background:var(--surface-2);border:1px solid var(--line-2);border-radius:50%;object-fit:cover;object-position:top center}.region-avatar.xs{width:22px;height:22px;margin-right:7px;vertical-align:middle}.region-avatar.sm{width:40px;height:40px}.region-avatar.lg{width:58px;height:58px;border:1px solid var(--line-3);box-shadow:0 0 0 1px var(--accent-line),0 4px 14px #0f172a1f}.region-avatar.placeholder{display:grid;place-items:center;color:var(--text-5);font-family:var(--mono);font-size:12px;width:40px;height:40px;background:linear-gradient(160deg,var(--surface-2),var(--surface))}.region-item .region-avatar.sm{border-color:var(--line-2)}.region-item.active .region-avatar.sm{border-color:var(--accent-line);box-shadow:0 0 0 1px var(--accent-line),0 0 12px var(--accent-glow)}.msg-role{display:flex;align-items:center;justify-content:flex-end;gap:0}.msg.user .msg-role{justify-content:flex-end}.app-loading{height:100vh;background:var(--bg)}.landing{min-height:100vh;display:flex;flex-direction:column;overflow-x:clip;position:relative}.landing-main{width:100%;max-width:1100px;margin:0 auto;padding:0 clamp(20px,5vw,48px);flex:1;position:relative;z-index:1}.landing-orb{position:fixed;border-radius:50%;pointer-events:none;filter:blur(130px);z-index:0}.orb-1{width:min(680px,90vw);height:min(680px,90vw);top:-120px;right:-10vw;background:radial-gradient(circle,rgba(37,99,235,.1) 0%,transparent 70%);animation:orb-drift-1 18s ease-in-out infinite alternate}.orb-2{width:min(560px,80vw);height:min(560px,80vw);bottom:-120px;left:-8vw;background:radial-gradient(circle,rgba(14,116,144,.08) 0%,transparent 70%);animation:orb-drift-2 22s ease-in-out infinite alternate}@keyframes orb-drift-1{0%{transform:translate(0)}to{transform:translate(-50px,40px)}}@keyframes orb-drift-2{0%{transform:translate(0)}to{transform:translate(40px,-50px)}}.landing-nav,.landing-main,.landing-footer{position:relative;z-index:1}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:14px clamp(20px,5vw,48px);border-bottom:1px solid var(--line);background:#f8fafdd1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0;z-index:10}.landing-wordmark{display:flex;align-items:center;gap:6px;font-family:var(--mono)}.lw-serb{font-size:17px;font-weight:600;letter-spacing:.28em;color:var(--text)}.lw-sep{color:var(--accent);font-size:19px}.lw-sub{font-size:10.5px;letter-spacing:.3em;color:var(--text-4);text-transform:uppercase}.landing-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(28px,5vw,72px);padding:clamp(36px,7vh,80px) 0 clamp(36px,6vh,64px)}.landing-hero-copy{text-align:start;display:flex;flex-direction:column;align-items:flex-start;animation:fade-in .6s var(--ease) both}.landing-hero-globe{display:flex;flex-direction:column;align-items:center;gap:14px;animation:fade-in .8s var(--ease) .1s both}.lhg-frame{position:relative;width:min(100%,420px);aspect-ratio:1 / 1;display:grid;place-items:center}.lhg-ring{position:absolute;top:4%;right:4%;bottom:4%;left:4%;border-radius:50%;border:1px dashed var(--accent-line);opacity:.5;mask-image:radial-gradient(circle,transparent 62%,black 63%);-webkit-mask-image:radial-gradient(circle,transparent 62%,black 63%);animation:lhg-ring-spin 40s linear infinite}@keyframes lhg-ring-spin{to{transform:rotate(360deg)}}.lhg-canvas{position:relative;width:100%;height:100%;aspect-ratio:1 / 1;filter:drop-shadow(0 18px 45px rgba(37,99,235,.18))}.lhg-caption{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}.lhg-live{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);padding:4px 11px;border:1px solid var(--accent-line);border-radius:999px;background:var(--accent-softer)}.lhg-live-dot{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok);animation:pulse 2.4s var(--ease) infinite}.landing-hero-stats{display:flex;gap:clamp(20px,3vw,40px);margin-top:30px;padding-top:22px;border-top:1px solid var(--line);width:100%}.lhs-item{display:flex;flex-direction:column;gap:3px}.lhs-k{font-family:var(--mono);font-size:clamp(20px,2.4vw,26px);font-weight:600;color:var(--text);line-height:1}.lhs-label{font-size:11px;color:var(--text-3);letter-spacing:.02em}.landing-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent-line);background:var(--accent-softer);padding:5px 14px;border-radius:999px;margin-bottom:24px}.landing-badge-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow);animation:pulse 2.4s var(--ease) infinite}.landing-h1{font-size:clamp(34px,6vw,60px);font-weight:700;letter-spacing:-.038em;line-height:1.04;color:var(--text);margin:0 0 18px}.landing-h1-accent{color:var(--accent);text-shadow:0 0 60px var(--accent-glow)}.landing-lede{color:var(--text-2);font-size:clamp(14px,1.6vw,16.5px);line-height:1.6;margin:0 0 30px;max-width:540px}.landing-cta-row{display:flex;align-items:center;justify-content:flex-start;gap:16px;flex-wrap:wrap}.landing-cta{font-size:14px!important;padding:13px 26px!important;width:auto!important;margin-top:0!important;letter-spacing:.01em!important;text-transform:none!important}.landing-cta-note{font-family:var(--mono);font-size:10.5px;color:var(--text-4);letter-spacing:.06em}.landing-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line)}.landing-section-label{font-family:var(--mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent)}.landing-section-meta{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--text-4)}.landing-agents{padding-bottom:clamp(40px,7vh,72px)}.landing-agents-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.landing-agent-card{background:linear-gradient(180deg,rgba(37,99,235,.02),transparent 50%),var(--surface);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:26px 20px 20px;text-align:center;transition:transform var(--t) var(--ease),border-color var(--t) var(--ease),box-shadow var(--t) var(--ease);position:relative;overflow:hidden;animation:fade-in .5s var(--ease) both}.landing-agent-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% -10%,var(--accent-soft),transparent 65%);opacity:0;transition:opacity var(--t-slow) var(--ease);pointer-events:none}.landing-agent-card:hover,.landing-agent-card.featured{border-color:var(--accent-line);transform:translateY(-3px);box-shadow:var(--shadow-md),0 0 32px #2563eb1a}.landing-agent-card:hover:before,.landing-agent-card.featured:before{opacity:1}.lac-avatar-wrap{position:relative;display:inline-block;margin-bottom:14px}.lac-avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:top center;border:2px solid var(--line-2);background:var(--surface-2);transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease);display:block}.landing-agent-card:hover .lac-avatar,.landing-agent-card.featured .lac-avatar{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-line),0 0 28px var(--accent-glow)}.lac-status{position:absolute;bottom:5px;right:5px;width:13px;height:13px;border-radius:50%;background:var(--ok);border:2.5px solid var(--surface);box-shadow:0 0 8px var(--ok)}.lac-placeholder{width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,var(--surface-3),var(--surface-2));border:2px solid var(--line-2);display:grid;place-items:center;font-family:var(--mono);font-size:24px;font-weight:700;color:var(--accent)}.lac-name{font-size:19px;font-weight:700;letter-spacing:-.02em;color:var(--text);margin-bottom:5px}.lac-role{font-family:var(--mono);font-size:9px;color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin-bottom:9px;display:inline-block;padding:2px 9px;border:1px solid var(--accent-line);border-radius:999px;background:var(--accent-softer)}.lac-desc{font-size:11.5px;color:var(--text-3);line-height:1.5}.landing-features{padding-bottom:clamp(40px,7vh,64px)}.landing-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.landing-feature-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px 18px 16px;transition:all var(--t) var(--ease)}.landing-feature-card:hover{border-color:var(--line-2);background:var(--surface-2);transform:translateY(-2px)}.lfc-k{font-family:var(--mono);font-size:24px;font-weight:600;color:var(--accent);line-height:1;margin-bottom:10px}.lfc-label{font-weight:700;font-size:13.5px;letter-spacing:-.01em;margin-bottom:4px;color:var(--text)}.lfc-desc{font-size:11.5px;color:var(--text-3);line-height:1.45}.landing-footer{display:flex;flex-direction:column;align-items:center;gap:5px;padding:22px clamp(20px,5vw,48px);border-top:1px solid var(--line);text-align:center}@media (max-width: 900px){.landing-agents-grid,.landing-feature-grid{grid-template-columns:repeat(2,1fr)}.landing-hero{grid-template-columns:1fr;gap:32px;text-align:center}.landing-hero-copy{align-items:center;text-align:center;order:1}.landing-hero-globe{order:2}.landing-lede{margin-inline:auto}.landing-cta-row{justify-content:center}.landing-hero-stats{justify-content:center;width:auto}.lhg-frame{width:min(78vw,360px)}}@media (max-width: 560px){.landing-agents-grid{grid-template-columns:repeat(2,1fr);gap:10px}.landing-feature-grid{grid-template-columns:1fr}.landing-agent-card{padding:20px 12px 16px}.lac-avatar,.lac-placeholder{width:76px;height:76px}.landing-cta-row{flex-direction:column;gap:12px}.lw-sub{display:none}}.login-outer{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;background:var(--bg)}.login-back{position:absolute;top:22px;left:26px;display:inline-flex;align-items:center;gap:6px;background:none;border:0;cursor:pointer;color:var(--text-4);font-size:12.5px;font-family:var(--mono);letter-spacing:.06em;transition:color var(--t) var(--ease);z-index:5}.login-back:hover{color:var(--text)}.login-card{position:relative;z-index:1;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:40px 44px;width:100%;max-width:420px;box-shadow:var(--shadow-lg),0 0 0 1px var(--line-2)}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;border-radius:var(--r-lg) var(--r-lg) 0 0;background:linear-gradient(90deg,transparent 5%,var(--accent-line) 50%,transparent 95%)}.login-logo{display:flex;align-items:center;gap:14px;margin-bottom:24px}.login-logo-mark{width:44px;height:44px;display:grid;place-items:center;background:linear-gradient(135deg,var(--surface-3),var(--surface-2));border:1px solid var(--line-2);border-radius:var(--r);color:var(--accent);box-shadow:var(--shadow-sm),0 0 16px #2563eb1f}.login-wordmark{font-family:var(--mono);font-size:20px;font-weight:600;letter-spacing:.3em;color:var(--text)}.login-sub{font-family:var(--mono);font-size:9.5px;letter-spacing:.22em;color:var(--text-4);text-transform:uppercase;margin-top:2px}.login-divider{height:1px;background:var(--line);margin-bottom:22px}.login-title{font-size:20px;font-weight:700;letter-spacing:-.02em;margin:0 0 4px}.login-desc{margin:0 0 20px}.login-form{display:flex;flex-direction:column;gap:0}.login-field{margin-bottom:14px}.login-field input{display:block}.login-footer{margin-top:22px;text-align:center}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--line-3);background-clip:content-box}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-color:var(--line-2) transparent;scrollbar-width:thin}.lang-toggle{display:inline-flex;gap:2px;border:1px solid var(--line-2);border-radius:var(--r-xs);padding:2px;background:var(--bg-elev)}.lang-toggle.compact{padding:1px}.lang-opt{font-family:var(--mono);font-size:11px;line-height:1;padding:4px 8px;border:0;border-radius:4px;background:transparent;color:var(--text-4);cursor:pointer;transition:all var(--t) var(--ease)}.lang-opt:hover{color:var(--text)}.lang-opt.active{background:var(--accent-soft);color:var(--accent)}.sidebar-footer-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.landing-nav-right{display:flex;align-items:center;gap:12px}.login-lang{position:absolute;top:22px;right:26px;z-index:5}.sidebar-tool{display:flex;align-items:center;gap:10px;width:100%;margin:2px 0 6px;padding:9px 12px;cursor:pointer;background:var(--bg-elev);border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--text-2);font-size:13px;font-weight:600;text-align:start;transition:all var(--t) var(--ease)}.sidebar-tool:hover{color:var(--text);border-color:var(--line-3);background:var(--surface)}.sidebar-tool.active{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.sidebar-tool svg{color:var(--accent);flex-shrink:0}.mapper{display:flex;flex-direction:column;flex:1;min-height:0;height:100%}.mapper-bar{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.mapper-title{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);white-space:nowrap}.mapper-input{flex:1;min-width:220px}.mapper-body{display:flex;flex:1;min-height:0}.mapper-history{width:210px;flex-shrink:0;border-inline-end:1px solid var(--line);padding:14px 12px;overflow-y:auto}.mapper-history-item{display:flex;flex-direction:column;gap:2px;width:100%;text-align:start;cursor:pointer;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);padding:8px 9px;margin-bottom:4px;transition:all var(--t) var(--ease)}.mapper-history-item:hover{background:var(--surface);border-color:var(--line-2)}.mapper-history-item.active{background:var(--accent-soft);border-color:var(--accent-line)}.mhi-name{font-size:12px;color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mhi-meta{font-family:var(--mono);font-size:9.5px;color:var(--text-4);text-transform:uppercase}.mapper-main{position:relative;flex:1;min-width:0;min-height:0;display:flex}.map-canvas{flex:1;height:100%;min-height:0}.mapper-progress{flex:1;padding:24px;max-width:720px;margin:0 auto;width:100%}.mapper-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;gap:6px}.mapper-overlay-status{position:absolute;top:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;z-index:5;background:var(--surface);border:1px solid var(--accent-line);border-radius:999px;padding:6px 14px;font-size:12px;color:var(--text-2);box-shadow:var(--shadow-md)}.map-node{position:relative;width:220px;box-sizing:border-box;background:var(--surface);border:1px solid var(--line-2);border-inline-start:3px solid var(--line-3);border-radius:var(--r-sm);padding:9px 11px;color:var(--text);transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease);cursor:grab}.react-flow__node.dragging .map-node{cursor:grabbing}.map-node.selected{box-shadow:0 0 0 1px var(--accent),0 0 16px var(--accent-glow)}.map-node-type{font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-4);margin-bottom:3px}.map-node-label{font-size:12.5px;font-weight:600;line-height:1.25}.map-node-desc{font-size:10.5px;color:var(--text-3);line-height:1.3;margin-top:4px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.map-node-expand{position:absolute;top:6px;inset-inline-end:6px;width:18px;height:18px;display:grid;place-items:center;border-radius:4px;border:1px solid var(--line-2);background:var(--bg-elev);color:var(--text-3);cursor:pointer;font-size:13px;line-height:1;opacity:0;transition:opacity var(--t) var(--ease)}.map-node:hover .map-node-expand{opacity:1}.map-node-expand:hover{color:var(--accent);border-color:var(--accent-line)}.map-node.expanded{opacity:.92}.map-node-origin{border-inline-start-color:var(--accent)}.map-node-origin .map-node-type{color:var(--accent)}.map-node-event{border-inline-start-color:var(--text-3)}.map-node-branch{border-inline-start-color:var(--warn)}.map-node-branch .map-node-type{color:var(--warn)}.map-node-consequence{border-inline-start-color:var(--danger)}.map-node-consequence .map-node-type{color:var(--danger)}.map-node-actor{border-inline-start-color:#0d9488}.map-node-actor .map-node-type{color:#0d9488}.react-flow__controls button{background:var(--surface);border-bottom:1px solid var(--line);color:var(--text-2)}.react-flow__controls button:hover{background:var(--surface-2)}.react-flow__attribution{display:none}.map-detail{width:320px;flex-shrink:0;border-inline-start:1px solid var(--line);padding:16px;overflow-y:auto;background:var(--bg-elev);animation:fade-in var(--t) var(--ease) both}.map-detail-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.map-detail-type{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-4);padding:2px 7px;border:1px solid var(--line-2);border-radius:999px}.map-detail-title{font-size:16px;margin:12px 0 2px;line-height:1.25}.map-detail-time{font-family:var(--mono);font-size:10.5px;color:var(--text-4)}.map-detail-desc{font-size:13px;color:var(--text-2);line-height:1.5;margin-top:10px}[dir=rtl] body{font-family:IBM Plex Sans Arabic,Space Grotesk,system-ui,sans-serif}[dir=rtl] .sidebar:after{right:auto;left:-1px}[dir=rtl] .region-item{text-align:right;padding:9px 14px 10px 10px}[dir=rtl] .region-item:before{left:auto;right:3px}[dir=rtl] .region-item.active{background:linear-gradient(270deg,rgba(37,99,235,.09),transparent 80%)}[dir=rtl] .msg-content{border-left:0;border-right:1px solid var(--line);padding:0 16px 0 0}[dir=rtl] .findings li{padding:8px 40px 8px 0}[dir=rtl] .findings li:before{left:auto;right:0}[dir=rtl] .sources li{padding:7px 34px 7px 0}[dir=rtl] .sources li:before{left:auto;right:0}[dir=rtl] select.text-input{padding-right:12px;padding-left:28px;background-position:left 10px center}[dir=rtl] .login-lang{right:auto;left:26px}[dir=rtl] .login-back{left:auto;right:26px}[dir=rtl] .brand-title,[dir=rtl] .login-wordmark,[dir=rtl] .landing-wordmark,[dir=rtl] .lw-serb,[dir=rtl] .mono{direction:ltr}[dir=rtl] .brand,[dir=rtl] .login-logo{direction:rtl}.mobile-topbar,.sidebar-scrim,.sidebar-close{display:none}@media (max-width: 768px){.sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:min(86vw,300px);z-index:60;transform:translate(-100%);transition:transform .28s var(--ease);box-shadow:var(--shadow-md)}.sidebar.open{transform:none}[dir=rtl] .sidebar{transform:translate(100%)}[dir=rtl] .sidebar.open{transform:none}.sidebar-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:55;animation:fade-in var(--t) var(--ease) both}.sidebar-close{display:grid;place-items:center;position:absolute;top:10px;inset-inline-end:10px;width:30px;height:30px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r-xs);color:var(--text-3);cursor:pointer;z-index:3}.mobile-topbar{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--bg-elev);flex-shrink:0}.mobile-menu-btn{display:grid;place-items:center;width:38px;height:38px;background:transparent;border:1px solid var(--line-2);border-radius:var(--r-xs);color:var(--text);cursor:pointer;flex-shrink:0}.mobile-topbar-title{font-weight:600;font-size:14px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-topbar-brand{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--accent)}.region-header{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px 10px}.region-header h1{font-size:clamp(20px,5.5vw,30px)}.region-header .muted{max-width:none}.region-avatar.lg{width:46px;height:46px}.tabs{width:100%;display:flex;gap:1px}.tab{flex:1 1 0;min-width:0;padding:9px 4px;font-size:11px;letter-spacing:.02em;text-align:center;white-space:nowrap}.tabs-sep{display:none}.tab.archive-tab svg{display:none}.content{padding:14px 14px 20px}.welcome{padding:22px 16px 36px}.welcome-inner .display,.welcome .display{font-size:clamp(26px,8vw,44px)}.welcome-stats{display:grid;grid-template-columns:1fr 1fr;max-width:none}.welcome-stat{padding:12px 14px;border:0;min-width:0}.welcome-stat:nth-child(odd){border-inline-end:1px solid var(--line)}.welcome-stat:nth-child(n+3){border-top:1px solid var(--line)}.recent-grid{grid-template-columns:1fr}.constellation-fallback{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.ev-stats{grid-template-columns:repeat(2,1fr)}.ev-catrow{grid-template-columns:80px 1fr 30px}.ev-actorrow{grid-template-columns:96px 1fr 30px}.ev-grid2{grid-template-columns:1fr;gap:8px}.ev-agree{grid-template-columns:74px 1fr}.brief-head{flex-direction:column;align-items:stretch;gap:12px}.brief-head-right{display:flex;gap:8px;flex-wrap:wrap}.feed-card-grid{grid-template-columns:1fr}.time-custom{flex-direction:column;align-items:stretch}.time-custom input[type=date]{width:100%!important}.msg{grid-template-columns:1fr;gap:6px}.msg-role{justify-content:flex-start}.research{flex-direction:column;gap:14px;overflow-y:auto;-webkit-overflow-scrolling:touch}.picker{width:100%;max-width:none;overflow:visible;flex:0 0 auto}.type-grid{grid-template-columns:1fr}.config{padding:16px;overflow:visible;flex:0 0 auto}.mapper-body{flex-direction:column}.mapper-history{width:auto;flex-direction:row;align-items:stretch;overflow-x:auto;overflow-y:hidden;border-inline-end:0;border-bottom:1px solid var(--line);padding:8px 10px;gap:6px}.mapper-history .field-label{display:none}.mapper-history-item{min-width:150px;flex-shrink:0}.map-detail{position:fixed;inset-inline:0;bottom:0;width:auto;max-height:60vh;border-inline-start:0;border-top:1px solid var(--line);z-index:50;box-shadow:0 -8px 24px #0f172a29}.report-table thead{display:none}.report-table,.report-table tbody,.report-table tr,.report-table td{display:block;width:100%}.report-row{border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);margin-bottom:10px;padding:4px 12px}.report-row td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border:0;max-width:none}.report-row td:before{content:attr(data-label);color:var(--text-4);font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;flex-shrink:0}.report-row td.t-title{font-weight:600;font-size:13px}.archive-toolbar input[type=date]{width:100%!important}.modal-overlay{padding:0}.modal{width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:none;border-radius:0}.modal-head{flex-wrap:wrap;padding:10px 14px;gap:8px}.modal-title{flex:1 1 100%;font-size:15px}.modal-actions{width:100%;justify-content:flex-end;gap:6px}.dl-cell{gap:6px}.dl-link{padding:7px 12px;font-size:11.5px}.modal-body{padding:clamp(14px,4vw,38px)}.report-view{font-size:14px}.report-view h1{font-size:clamp(20px,5.5vw,28px)}.report-view section{margin-bottom:22px}.md table{display:block;overflow-x:auto}.findings li{padding-left:30px}.sources li{padding-left:28px}[dir=rtl] .findings li{padding:8px 30px 8px 0}[dir=rtl] .sources li{padding:7px 28px 7px 0}.text-input,textarea,input[type=date],.composer textarea,.mapper-input{font-size:16px}.btn,.seg-btn{padding:9px 14px}.region-item{padding:12px}.login-lang{position:static;display:flex;justify-content:flex-end;margin-bottom:14px}.login-card{padding:30px 22px}}@media (max-width: 560px){.landing-agents-grid{grid-template-columns:1fr}.landing-cta-row{width:100%}}
