@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--bg-primary:#f8f9fb;--bg-secondary:#fff;--bg-card:#fff;--bg-soft:#f1f3f8;--bg-overlay:#ffffffeb;--border:#e2e5eb;--border-strong:#ccd1d9;--text-primary:#1a202c;--text-secondary:#4a5568;--text-muted:#8192a5;--accent:#4361ee;--accent-light:#e8edfd;--accent-hover:#3a56d4;--alert-g3:#dc3545;--alert-g2:#e8831a;--alert-g1:#c9a500;--alert-g0:#22875a;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 10px 30px #0000001a;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"SF Mono", "Consolas", monospace;--map-bg:#eef1f6;--map-polygon-stroke:#0000001f;--map-polygon-hover-stroke:#00000073;--map-tooltip-bg:#fffffff5;--map-tooltip-border:#d1d5db;--map-label-color:#374151;--scrollbar-thumb:#4361ee38;--scrollbar-track:transparent;--chatbot-gradient-1:#4361ee;--chatbot-gradient-2:#5a7cfa}[data-theme=dark]{--bg-primary:#0f1520;--bg-secondary:#161d2d;--bg-card:#1c2435;--bg-soft:#ffffff0a;--bg-overlay:#0f1520eb;--border:#94a3b824;--border-strong:#94a3b83d;--text-primary:#f0f2f5;--text-secondary:#a0aec0;--text-muted:#667a8f;--accent:#6b8aff;--accent-light:#6b8aff1f;--accent-hover:#8ba3ff;--alert-g3:#ff5258;--alert-g2:#f59e42;--alert-g1:#e6c040;--alert-g0:#34d399;--shadow-sm:0 1px 3px #00000040;--shadow-md:0 4px 12px #00000059;--shadow-lg:0 10px 30px #00000073;--map-bg:#121a28;--map-polygon-stroke:#94a3b824;--map-polygon-hover-stroke:#ffffff73;--map-tooltip-bg:#161d2df5;--map-tooltip-border:#94a3b838;--map-label-color:#e2e8f0;--scrollbar-thumb:#6b8aff40;--chatbot-gradient-1:#5a7cfa;--chatbot-gradient-2:#7b93fb}*{box-sizing:border-box}html,body,#root{background:var(--bg-primary);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5;overflow:hidden}button,input,textarea,select{font:inherit}.app-layout{width:100%;height:100%;display:flex}.sidebar-left{background:var(--bg-secondary);border-right:1px solid var(--border);z-index:20;width:370px;min-width:320px;max-width:700px;box-shadow:var(--shadow-sm);flex-direction:column;flex-shrink:0;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar-left.closed{transform:translate(-100%)}.sidebar-resize-handle{cursor:col-resize;z-index:25;background:0 0;width:5px;transition:background .15s;position:fixed;top:0;bottom:0}.sidebar-resize-handle:hover,.sidebar-resize-handle:active{background:var(--accent);opacity:.5}.panelized-header{z-index:4;background:var(--bg-secondary);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:10px;display:flex}.header-title{letter-spacing:-.01em;font-size:16px;font-weight:700}.header-status-block{color:var(--text-muted);font-size:10px;font-family:var(--font-mono);flex-direction:column;align-items:flex-end;gap:2px;display:flex}.theme-toggle-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-soft);width:30px;height:30px;color:var(--text-muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;transition:all .2s;display:flex}.theme-toggle-btn:hover{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.sidebar-tabs{border-bottom:1px solid var(--border);background:var(--bg-soft);flex-shrink:0;display:flex}.sidebar-tab{color:var(--text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.03em;text-align:center;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;padding:10px 4px;font-size:10px;font-weight:600;line-height:1.2;transition:all .2s;display:flex}.sidebar-tab:hover{color:var(--text-secondary);background:#4361ee0a}.sidebar-tab--active{color:var(--accent);border-bottom-color:var(--accent);background:var(--accent-light)}.sidebar-tab-content{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);flex:1;overflow-y:auto}.sidebar-tab-content::-webkit-scrollbar{width:3px}.sidebar-tab-content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.sidebar-footer{border-top:1px solid var(--border);background:var(--bg-soft);z-index:5;flex-direction:column;flex-shrink:0;gap:10px;padding:10px;display:flex}.sidebar-layer-controller{width:100%;box-shadow:none;background:0 0;border:none;padding:0;position:static}.sidebar-layer-controller .layer-item{margin-top:4px;padding:6px 8px}.chatbot-sidebar-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;width:100%;box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.chatbot-sidebar-btn:hover{box-shadow:var(--shadow-md);background:var(--accent-hover);transform:translateY(-1px)}.chatbot-sidebar-btn .chatbot-icon{font-size:15px}.sidebar-trends-wrapper{padding:10px}.sidebar-kdca-wrapper{flex-direction:column;display:flex}.sidebar-tab-description{color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg-soft);margin:0;padding:10px 12px;font-size:11px;line-height:1.5}.risk-analysis-section{border-top:1px solid var(--border);padding:12px}.risk-description{color:var(--text-muted);margin:4px 0 10px;font-size:11px;line-height:1.4}.risk-summary-box{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:10px;padding:10px}.risk-summary-text{color:var(--text-secondary);white-space:pre-wrap;margin:4px 0 0;font-size:11px;line-height:1.5}.risk-signals-list{color:var(--text-secondary);margin:4px 0 0;padding-left:16px;font-size:11px;line-height:1.5}.risk-signals-list li{margin-bottom:2px}.sidebar-toggle-btn{border:1px solid var(--border);background:var(--bg-secondary);width:20px;height:60px;color:var(--text-muted);cursor:pointer;z-index:24;border-left:none;border-radius:0 8px 8px 0;font-size:11px;transition:left .24s;position:fixed;top:50%;left:370px;transform:translateY(-50%)}.sidebar-toggle-btn:hover{color:var(--accent)}.sidebar-toggle-btn.closed{left:0}.main-content{background:var(--map-bg);flex:1;position:relative;overflow:hidden}.page-banner{z-index:5;background:var(--bg-overlay);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);justify-content:space-between;gap:16px;padding:14px 18px;display:flex;position:absolute;top:14px;left:14px;right:14px}.page-banner h1{margin:0;font-size:18px;font-weight:700}.page-banner p{color:var(--text-secondary);max-width:600px;margin:4px 0 0;font-size:13px;line-height:1.4}.banner-metrics{gap:16px;display:flex}.banner-metrics div{flex-direction:column;align-items:flex-end;min-width:70px;display:flex}.banner-metrics strong{font-size:20px;font-family:var(--font-mono);color:var(--text-primary)}.banner-metrics span{color:var(--text-muted);font-size:11px}.korea-map-container{position:absolute;inset:0}.korea-map-polygon{cursor:pointer;transition:fill .18s,stroke .18s}.korea-map-polygon:hover{stroke:var(--map-polygon-hover-stroke)!important;stroke-width:1.2px!important}.korea-map-tooltip{border-radius:var(--radius-md);border:1px solid var(--map-tooltip-border);background:var(--map-tooltip-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;min-width:140px;box-shadow:var(--shadow-md);z-index:15;padding:8px 10px;position:absolute}.korea-map-tooltip-name{color:var(--text-primary);font-size:13px;font-weight:600}.korea-map-tooltip-sub{color:var(--text-muted);margin-top:2px;font-size:11px}.korea-map-tooltip-score{font-family:var(--font-mono);align-items:center;gap:8px;margin-top:6px;font-size:13px;display:flex}.korea-map-tooltip-level{border:1px solid;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:600}.layer-controller{width:100%;box-shadow:none;background:0 0;border:none;padding:0}.layer-controller-title,.section-title,.scoring-section-title,.meta-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.layer-item{border-radius:var(--radius-sm);background:var(--bg-soft);cursor:pointer;border:1px solid #0000;align-items:center;gap:8px;margin-top:6px;padding:8px 10px;transition:all .15s;display:flex}.layer-item.active{border-color:var(--accent);background:var(--accent-light)}.layer-label{color:var(--text-secondary);font-size:12px}.aggregation-toggle{align-items:center;gap:6px;margin-top:8px;padding:6px 0;display:flex}.aggregation-label{color:var(--text-muted);margin-right:4px;font-size:11px}.aggregation-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-soft);color:var(--text-secondary);cursor:pointer;padding:3px 10px;font-size:11px;transition:all .15s}.aggregation-btn--active{border-color:var(--accent);background:var(--accent-light);color:var(--accent);font-weight:600}.mini-globe-wrapper{z-index:8;cursor:pointer;position:absolute;top:110px;right:14px}.mini-globe-hint{text-align:right;color:var(--accent);margin-bottom:6px;font-size:10px}.mini-globe-container,.expanded-globe-inner{border:1px solid var(--border);background:var(--bg-card);border-radius:999px;overflow:hidden}.expanded-globe-overlay{z-index:40;background:radial-gradient(circle at 48% 38%,#466e5338,#0000 34%),radial-gradient(circle at 24% 72%,#38bdf814,#0000 26%),#010604;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}[data-theme=light] .expanded-globe-overlay{background:radial-gradient(circle at 48% 38%,#38bdf82e,#0000 38%),radial-gradient(circle at 24% 72%,#c084fc1a,#0000 28%),linear-gradient(#f8fbff 0%,#e6eef8 100%)}.expanded-globe-overlay:before{content:"";pointer-events:none;opacity:.34;background-image:radial-gradient(circle,#daffe26b 0 1px,#0000 1.6px),radial-gradient(circle,#38bdf838 0 1px,#0000 1.8px);background-size:86px 86px,143px 143px;position:absolute;inset:0}[data-theme=light] .expanded-globe-overlay:before{opacity:0}[data-theme=light] .expanded-globe-overlay:after{opacity:.4}.expanded-globe-overlay:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#3d785229,#0000);height:220px;position:absolute;inset:80px -20% auto;transform:rotate(-8deg)}.expanded-globe-header,.expanded-globe-footer{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#010805c2;border-bottom:1px solid #78a9873d;padding:16px 60px 16px 20px;position:relative}.expanded-globe-header .panel-close{color:#fff;cursor:pointer;z-index:5;background:#00000059;border:1px solid #ffffff40;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;transition:all .15s;display:inline-flex;position:absolute;top:12px;right:16px}.expanded-globe-header .panel-close:hover{color:#fff;background:#ef444440;border-color:#ef4444}.expanded-globe-footer{border-top:1px solid var(--border);border-bottom:none}.expanded-globe-header h3{color:#fff;letter-spacing:.3px;text-shadow:0 1px 2px #0009;margin:0;font-size:18px;font-weight:700}.expanded-globe-header p{color:#e2e8f0d9;margin:4px 0 0;font-size:13px}[data-theme=light] .expanded-globe-header,[data-theme=light] .expanded-globe-footer{background:#ffffffdb;border-bottom-color:#0f172a1f}[data-theme=light] .expanded-globe-header h3{color:#0f172a;text-shadow:none}[data-theme=light] .expanded-globe-header p{color:#475569}[data-theme=light] .expanded-globe-header .panel-close{color:#0f172a;background:#fff9;border-color:#0f172a33}[data-theme=light] .expanded-globe-header .panel-close:hover{color:#b91c1c;background:#ef44442e}[data-theme=light] .expanded-globe-archive-picker label span{color:#0284c7}[data-theme=light] .expanded-globe-archive-picker select{color:#0f172a;background:#fff;border-color:#0284c766}.expanded-globe-archive-picker{align-items:center;gap:8px;margin-left:auto;margin-right:12px;display:flex}.expanded-globe-archive-picker label{color:#e2e8f0b3;flex-direction:column;gap:3px;font-size:11px;display:flex}.expanded-globe-archive-picker label span{font-family:var(--font-mono,monospace);letter-spacing:1px;color:#38bdf8;text-transform:uppercase;font-size:10px;font-weight:700}.expanded-globe-archive-picker select{color:#e2e8f0;font-family:var(--font-mono,monospace);cursor:pointer;background:#0b1119c7;border:1px solid #38bdf866;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600}.expanded-globe-archive-picker select:hover{border-color:#38bdf8}.expanded-globe-archive-loading{color:#f59e42;font-size:10px;font-family:var(--font-mono,monospace)}.expanded-globe-body{z-index:1;flex:1;grid-template-columns:minmax(0,1fr) 360px;gap:16px;min-height:0;padding:16px;display:grid;position:relative}.expanded-globe-container{flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;position:relative}.globe-korea-overlay{-webkit-backdrop-filter:blur(14px);z-index:5;--text-primary:#fff;--text-secondary:#e2e8f0d9;--text-muted:#94a3b8d9;--border:#ffffff2e;--border-strong:#ffffff4d;--bg-card:#ffffff0f;--bg-secondary:#ffffff14;color:#fff;background:#0b1119d9;border:1px solid #ffffff2e;border-radius:12px;flex-direction:column;gap:10px;width:min(380px,36vw);max-height:calc(100% - 32px);padding:12px 14px;display:flex;position:absolute;bottom:16px;left:16px;overflow-y:auto;box-shadow:0 12px 32px #0000008c}.globe-korea-overlay-kicker{color:#38bdf8;font-family:var(--font-mono,monospace);letter-spacing:1.4px;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:800;display:block}.globe-korea-overlay-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px;display:grid}.globe-korea-overlay-stats>div{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;flex-direction:column;align-items:flex-start;padding:6px 8px;display:flex}.globe-korea-overlay-stats strong{color:var(--text-primary);font-size:14px}.globe-korea-overlay-stats span{color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;margin-top:2px;font-size:9px}.globe-korea-overlay-signal{border-left:3px solid var(--border-strong);background:#ffffff08;border-radius:0 6px 6px 0;flex-direction:column;gap:2px;margin-top:4px;padding:6px 8px;display:flex}.globe-korea-overlay-signal-meta{color:var(--text-muted);font-size:9.5px;font-family:var(--font-mono,monospace);letter-spacing:.4px}.globe-korea-overlay-signal strong{color:var(--text-primary);font-size:11px;line-height:1.35}.globe-korea-overlay-note{color:#e2e8f0eb;background:#38d8ff14;border-left:2px solid #38d8ff;border-radius:0 6px 6px 0;margin:8px 0 0;padding:8px 10px;font-size:10.5px;line-height:1.5}.globe-korea-overlay-note strong{color:#38d8ff}.globe-korea-overlay-section+.globe-korea-overlay-section{border-top:1px solid var(--border);margin-top:6px;padding-top:8px}.globe-legend-row{align-items:flex-start;gap:8px;margin-bottom:5px;display:flex}.globe-legend-row>div{flex-direction:column;line-height:1.3;display:flex}.globe-legend-row strong{color:var(--text-primary);font-size:10.5px}.globe-legend-row small{color:var(--text-secondary);font-size:10px}.globe-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:3px;display:inline-block}.globe-legend-dot.dot-critical{background:#ff4d4f;box-shadow:0 0 6px #ff4d4fb3}.globe-legend-dot.dot-high{background:#f59e42}.globe-legend-dot.dot-watch{background:#38d8ff}.globe-legend-dot.dot-context{background:#8b8cff}.globe-legend-dot.dot-medium{background:#38d8ff}.globe-legend-dot.dot-low{background:#8b8cff}.globe-legend-arc{background:linear-gradient(90deg,#0000,#38bdf8b3,#0000);border-top:2px solid #38bdf8;border-radius:50%;flex-shrink:0;width:22px;height:6px;margin-top:3px;display:inline-block}.expanded-globe-inner{background:radial-gradient(circle,#5a785e1f,#0000 56%),#00000014;border:1px solid #78a9872e;border-radius:18px}.globe-korea-hud{color:#dceee2;background:#0f1a13e0;border:1px solid #85b09452;align-self:start;box-shadow:0 16px 45px #00000057}.globe-hud-top{justify-content:space-between;align-items:center;padding:10px 12px 0;display:flex}.globe-hud-orbit{border:2px dashed #bcdfc6c7;border-radius:999px;width:24px;height:24px;animation:8s linear infinite kas-spin}.globe-hud-close{color:#fff;cursor:pointer;background:0 0;border:none;width:34px;height:34px;font-size:28px;line-height:1}.globe-korea-hud h4{color:#c7f2d5;letter-spacing:.5px;margin:8px 14px 4px;font-size:18px}.globe-hud-rank{color:#fff;font-family:var(--font-mono,monospace);text-transform:uppercase;margin:0 14px 14px;font-size:12px;font-weight:800}.globe-hud-divider{background:#85b09452;height:1px}.globe-hud-stats{grid-template-columns:1fr auto;gap:0;padding:12px 14px;display:grid}.globe-hud-stats div{display:contents}.globe-hud-stats span,.globe-hud-stats strong{font-family:var(--font-mono,monospace);padding:5px 0;font-size:12px}.globe-hud-stats span{color:#78c979;font-weight:800}.globe-hud-stats strong{color:#fff;text-align:right}.globe-hud-note{color:#dceee2b8;font-family:var(--font-mono,monospace);border-top:1px solid #85b0943d;margin:0;padding:12px 14px 16px;font-size:10px;line-height:1.55}.globe-context-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(135deg, #38bdf81a, transparent 42%), var(--bg-card);min-width:0;padding:16px;overflow-y:auto}.globe-panel-tabs{border:1px solid var(--border);background:var(--bg-secondary);border-radius:8px;gap:4px;margin:-4px -4px 12px;padding:4px;display:flex}.globe-panel-tab{color:var(--text-secondary);cursor:pointer;font-size:11.5px;font-weight:700;font-family:var(--font-mono,monospace);letter-spacing:.4px;background:0 0;border:none;border-radius:6px;flex:1;padding:6px 10px;transition:all .15s}.globe-panel-tab:hover{color:var(--text-primary)}.globe-panel-tab.is-active{background:var(--bg-card);color:#38bdf8;box-shadow:0 1px 3px #0000002e}.globe-rawdata-controls{flex-direction:column;gap:8px;margin:12px 0;display:flex}.globe-rawdata-search{border:1px solid var(--border);background:var(--bg-secondary);width:100%;color:var(--text-primary);border-radius:6px;outline:none;padding:7px 10px;font-size:12px}.globe-rawdata-search:focus{border-color:#38bdf8}.globe-rawdata-source-chips{flex-wrap:wrap;gap:4px;display:flex}.globe-rawdata-chip{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:3px 8px;font-size:10.5px;font-weight:600;transition:all .12s}.globe-rawdata-chip:hover{color:var(--text-primary);border-color:#38bdf8}.globe-rawdata-chip.is-active{color:#38bdf8;background:#38bdf82e;border-color:#38bdf8}.globe-rawdata-list{flex-direction:column;gap:6px;max-height:calc(100vh - 380px);padding-right:4px;display:flex;overflow-y:auto}.globe-rawdata-row{border:1px solid var(--border);border-left:3px solid var(--border-strong);background:var(--bg-card);text-align:left;cursor:pointer;border-radius:6px;flex-direction:column;gap:4px;padding:8px 10px;transition:all .12s;display:flex}.globe-rawdata-row:hover{background:var(--bg-soft);border-color:#38bdf8}.globe-rawdata-row.is-selected{background:#38bdf81a;border-color:#38bdf8}.globe-rawdata-row-top{font-size:9.5px;font-family:var(--font-mono,monospace);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;display:flex}.globe-rawdata-source{color:#38bdf8;font-weight:800}.globe-rawdata-date{font-weight:600}.globe-rawdata-row-top .relevance-pill{margin-left:auto}.globe-rawdata-title{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;font-weight:600;line-height:1.45;display:-webkit-box;overflow:hidden}.globe-rawdata-meta{color:var(--text-secondary);flex-wrap:wrap;gap:6px;font-size:10px;display:flex}.globe-rawdata-meta em{color:var(--text-primary);font-style:normal;font-weight:600}.severity-tag{text-transform:uppercase;letter-spacing:.4px;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700}.severity-tag.severity-high{color:#ef4444;background:#ef44442e}.severity-tag.severity-medium{color:#f59e42;background:#f59e422e}.severity-tag.severity-low{color:var(--text-muted);background:#94a3b82e}.globe-rawdata-alerts{font-family:var(--font-mono,monospace);color:#f59e42;font-size:10px;font-weight:700}.globe-rawdata-more{color:var(--text-muted);text-align:center;margin:8px 0 0;font-size:10px;font-style:italic}.globe-context-kicker{color:#38bdf8;font-family:var(--font-mono,monospace);letter-spacing:1.2px;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.globe-context-panel h4{color:var(--text-primary);margin:8px 0;font-size:16px}.globe-context-panel p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.6}.globe-context-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.globe-context-metrics div{border:1px solid var(--border);background:var(--bg-secondary);border-radius:8px;padding:10px}.globe-context-metrics span,.globe-context-row span,.globe-signal-item span{color:var(--text-muted);font-family:var(--font-mono,monospace);text-transform:uppercase;font-size:10px;display:block}.globe-context-metrics strong{color:var(--text-primary);margin-top:5px;font-size:18px;display:block}.globe-context-section{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.globe-context-section h5{color:var(--text-primary);letter-spacing:.6px;margin:0 0 8px;font-size:12px}.globe-context-row{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;gap:8px;padding:7px 0;display:flex}.globe-context-row strong{color:var(--text-primary);font-family:var(--font-mono,monospace);font-size:12px}.globe-context-empty{border:1px dashed var(--border);background:var(--bg-secondary);border-radius:8px;padding:10px}.globe-signal-item{border:1px solid var(--border);background:var(--bg-secondary);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;border-left:3px solid #6b8aff;border-radius:8px;margin-bottom:8px;padding:10px}.globe-signal-item:hover{background:var(--bg-soft);border-color:#38bdf8}.globe-signal-item.is-selected{background:linear-gradient(135deg, #38d8ff1a, var(--bg-secondary));border-color:#38d8ff;box-shadow:0 0 0 1px #38d8ff38,0 0 20px #38d8ff14}.globe-signal-item strong{color:var(--text-primary);margin:5px 0;font-size:12px;line-height:1.35;display:block}.globe-signal-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.globe-signal-item em{color:var(--text-secondary);font-size:11px;font-style:normal}.globe-signal-item small{color:var(--text-muted);margin-top:6px;font-size:10.5px;line-height:1.35;display:block}.relevance-pill{width:fit-content;font-family:var(--font-mono,monospace);text-transform:uppercase;border:1px solid;border-radius:999px;align-items:center;padding:2px 7px;font-size:9px;font-weight:800;line-height:1.5;display:inline-flex}.relevance-pill.level-critical{color:#ff4d4f;background:#ff4d4f1a}.relevance-pill.level-high{color:#f59e42;background:#f59e421a}.relevance-pill.level-watch{color:#38d8ff;background:#38d8ff1a}.relevance-pill.level-context{color:#8b8cff;background:#8b8cff1a}.globe-raw-card{border:1px solid var(--border);background:linear-gradient(135deg, #38d8ff14, transparent 48%), var(--bg-secondary);border-radius:10px;padding:12px}.globe-raw-card-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.globe-raw-card-top strong{color:var(--text-primary);font-family:var(--font-mono,monospace);font-size:18px}.globe-raw-card h6{color:var(--text-primary);margin:0 0 10px;font-size:12px;line-height:1.4}.globe-raw-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.globe-raw-grid div{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;min-width:0;padding:8px}.globe-raw-grid span{color:var(--text-muted);font-family:var(--font-mono,monospace);text-transform:uppercase;font-size:9px;display:block}.globe-raw-grid strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;display:block;overflow:hidden}.globe-factor-list{flex-direction:column;gap:7px;margin:10px 0 12px;display:flex}.globe-factor-row{grid-template-columns:92px minmax(0,1fr) 40px;align-items:center;gap:8px;display:grid}.globe-factor-row span,.globe-factor-row strong{color:var(--text-secondary);font-size:10px}.globe-factor-row strong{color:var(--text-primary);font-family:var(--font-mono,monospace);text-align:right}.globe-factor-bar{background:var(--bg-soft);border-radius:999px;height:7px;overflow:hidden}.globe-factor-fill{border-radius:inherit;height:100%;display:block}.globe-raw-link{color:#38d8ff;border:1px solid #38d8ff66;border-radius:6px;margin-bottom:10px;padding:5px 10px;font-size:11px;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.globe-raw-link:hover{background:#38d8ff14;border-color:#38d8ff}.globe-raw-preview{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.globe-raw-preview-row{align-items:baseline;gap:10px;font-size:11px;line-height:1.4;display:flex}.globe-raw-preview-row>span{color:var(--text-muted);font-family:var(--font-mono,monospace);letter-spacing:.6px;text-transform:uppercase;flex:0 0 48px;font-size:10px;font-weight:700}.globe-raw-preview-row>strong{color:var(--text-primary);word-break:break-word;font-weight:600}.globe-raw-preview-url{color:#38d8ff;word-break:break-all;text-decoration:none}.globe-raw-preview-url:hover{text-decoration:underline}.globe-raw-preview-snippet{border-top:1px dashed var(--border);color:var(--text-secondary);margin-top:4px;padding-top:8px;font-size:11px;line-height:1.5}.globe-legend-arc--thick{height:8px;background:linear-gradient(90deg,#0000,#f97316d9,#0000)!important;border-top:4px solid #f97316!important}.globe-legend-arc--fast{height:6px;background:linear-gradient(90deg,#0000,#ef4444b3,#0000)!important;border-top:2px dashed #ef4444!important}.globe-legend-arc--faded{opacity:.35;background:linear-gradient(90deg,#0000,#94a3b880,#0000)!important;border-top:1px solid #94a3b8!important}.globe-raw-json{border:1px solid var(--border);max-height:190px;color:var(--text-secondary);font-family:var(--font-mono,monospace);white-space:pre-wrap;background:#00000038;border-radius:8px;margin:0;padding:10px;font-size:10px;line-height:1.45;overflow:auto}.globe-click-hint{background:#38d8ff0f;border:1px dashed #38d8ff5c;border-radius:10px;padding:12px}.globe-bottom-lanes{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1710b8;border:1px solid #85b0945c;grid-template-columns:repeat(7,minmax(100px,1fr));width:min(1040px,100% - 440px);margin:-74px auto 26px;display:grid;position:relative}.globe-lane-tile{text-align:center;min-height:54px;font-family:var(--font-mono,monospace);border-right:1px solid #85b0945c;padding:8px 10px}.globe-lane-tile:last-child{border-right:none}.globe-lane-tile span{color:#97c2a1b8;font-size:10px;display:block}.globe-lane-tile strong{letter-spacing:.8px;margin-top:5px;font-size:13px;display:block}.globe-lane-tile em{color:#dceee29e;margin-top:3px;font-size:9px;font-style:normal;display:block}.globe-lane-tile.tone-green strong{color:#77d26f}.globe-lane-tile.tone-red strong{color:#ff5b55}.globe-lane-tile.tone-amber strong{color:#f59e42}.globe-lane-tile.tone-blue strong{color:#5ea8ff}.globe-lane-tile.tone-violet strong{color:#c26bff}.globe-lane-tile.tone-cyan strong{color:#38d8ff}.global-legend{color:var(--text-secondary);gap:16px;font-size:12px;display:flex}.dot{border-radius:999px;width:8px;height:8px;margin-right:6px;display:inline-block}.healthmap{background:var(--alert-g2)}.promed{background:var(--accent)}.gtrends{background:#8b5cf6}.vertical-controls-panel{z-index:7;pointer-events:none;flex-direction:column;gap:10px;width:auto;display:flex;position:absolute;top:120px;bottom:30px;left:14px}.vertical-controls-panel>*{pointer-events:auto}.bottom-bar{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-overlay);width:100%;box-shadow:var(--shadow-sm);flex-direction:column;align-items:flex-start;gap:12px;padding:10px 14px;display:flex}.legend,.stats,.confidence-row{flex-flow:column wrap;gap:8px;display:flex}.legend-item,.stats span,.confidence-badge{color:var(--text-secondary);font-size:11px}.legend-dot{border-radius:999px;width:8px;height:8px;margin-right:5px;display:inline-block}.legend-dot.g3{background:var(--alert-g3)}.legend-dot.g2{background:var(--alert-g2)}.legend-dot.g1{background:var(--alert-g1)}.legend-dot.g0{background:var(--alert-g0)}.stat-value{color:var(--accent);font-family:var(--font-mono)}.panel-overlay{z-index:30;border-left:1px solid var(--border);background:var(--bg-secondary);width:400px;box-shadow:var(--shadow-lg);flex-direction:column;transition:transform .24s;display:flex;position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.panel-overlay.open{transform:translate(0)}.panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:16px 18px;display:flex}.panel-title{font-size:18px;font-weight:700}.panel-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px}.panel-close{border-radius:var(--radius-sm);border:1px solid var(--border);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;font-size:16px}.panel-close:hover{background:var(--bg-soft)}.panel-body{flex-direction:column;gap:14px;padding:16px 18px;display:flex;overflow-y:auto}.detail-topline{flex-direction:column;gap:12px;display:flex}.score-badge{border-radius:var(--radius-md);width:fit-content;font-size:26px;font-family:var(--font-mono);flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;font-weight:700;display:inline-flex}.score-badge.G3{color:var(--alert-g3);background:#dc354514}.score-badge.G2{color:var(--alert-g2);background:#e8831a14}.score-badge.G1{color:var(--alert-g1);background:#c9a50014}.score-badge.G0{color:var(--alert-g0);background:#22875a14}.score-label{color:var(--text-secondary);font-size:11px}.detail-meta-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.meta-card,.governance-card,.scoring-section,.trend-container{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);padding:12px 14px}.meta-card{flex-direction:column;gap:4px;display:flex}.meta-card strong,.governance-card p,.global-description,.formula-note,.signal-toggle-desc,.signal-toggle-source,.empty-state,.timeline-mini-labels span{color:var(--text-secondary)}.compact-card{margin-bottom:10px}.signal-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 100px 40px;align-items:center;gap:8px;padding:8px 0;display:grid}.signal-column{flex-direction:column;gap:2px;display:flex}.signal-name,.signal-toggle-name,.weight-label{font-size:12px;font-weight:600}.signal-subtext{color:var(--text-muted);font-size:10px}.signal-bar-bg{background:var(--bg-soft);border-radius:999px;height:6px;overflow:hidden}.signal-bar-fill{border-radius:inherit;height:100%}.signal-value{font-family:var(--font-mono);text-align:right;font-size:12px}.signal-disabled{color:var(--text-muted);font-size:11px}.explanation-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.explanation-item{color:var(--text-secondary);padding-left:14px;font-size:13px;line-height:1.5;position:relative}.explanation-item:before{content:"";background:var(--accent);border-radius:999px;width:6px;height:6px;position:absolute;top:7px;left:0}.trend-svg{width:100%;height:80px}.trend-line{fill:none;stroke:var(--accent);stroke-width:2px}.trend-point{fill:var(--accent)}.timeline-mini-labels{justify-content:space-between;margin-top:6px;font-size:10px;display:flex}.scoring-section{flex-direction:column;gap:10px;display:flex}.formula-display{border-radius:var(--radius-sm);background:var(--accent-light);color:var(--accent);font-family:var(--font-mono);padding:10px;font-size:12px;line-height:1.5}.signal-toggle-row,.weight-row,.threshold-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.signal-toggle-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.signal-toggle-desc,.signal-toggle-source{color:var(--text-secondary);font-size:10px;line-height:1.35}.scoring-helper-text{color:var(--text-secondary);margin:-2px 0 8px;font-size:11px;line-height:1.55}.weight-label{width:150px;color:var(--text-primary);flex-shrink:0;font-size:11px;font-weight:700}.toggle-switch{flex-shrink:0;width:38px;height:20px;margin-top:2px;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{background:var(--bg-soft);border:1px solid var(--border);cursor:pointer;border-radius:999px;transition:background .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background:var(--text-muted);border-radius:999px;width:14px;height:14px;transition:transform .2s,background .2s;position:absolute;top:2px;left:2px}.toggle-switch input:checked+.toggle-slider{background:var(--accent-light);border-color:var(--accent)}.toggle-switch input:checked+.toggle-slider:before{background:var(--accent);transform:translate(18px)}.weight-slider{appearance:none;cursor:pointer;background:0 0;flex:1;height:18px}.weight-slider::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent), #38bdf847);border-radius:999px;height:4px}.weight-slider::-webkit-slider-thumb{appearance:none;border:2px solid var(--bg-card);background:var(--accent);width:14px;height:14px;box-shadow:0 0 0 1px var(--border-strong), 0 4px 10px #38bdf840;border-radius:50%;margin-top:-5px}.weight-slider::-moz-range-track{background:linear-gradient(90deg, var(--accent), #38bdf847);border-radius:999px;height:4px}.weight-slider::-moz-range-thumb{border:2px solid var(--bg-card);background:var(--accent);width:12px;height:12px;box-shadow:0 0 0 1px var(--border-strong), 0 4px 10px #38bdf840;border-radius:50%}.weight-value,.threshold-input{width:54px;font-family:var(--font-mono);font-size:11px}.threshold-input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-soft);color:var(--text-primary);padding:5px 7px}.apply-btn{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;width:100%;padding:10px 12px;font-size:12px;font-weight:600;transition:all .15s}.apply-btn:hover{background:var(--accent-hover)}.timeline-container{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-overlay);scrollbar-width:none;width:auto;box-shadow:var(--shadow-sm);flex-direction:column;flex:1;justify-content:flex-start;align-items:center;padding:14px;display:flex;overflow:hidden auto}.timeline-current-label{text-align:center;font-size:10px;font-family:var(--font-mono);color:var(--accent);margin-bottom:12px}.timeline-current-icon{margin-right:3px;font-size:9px}.timeline-container::-webkit-scrollbar{display:none}.timeline-track{flex-direction:column;align-items:center;width:100%;min-height:max-content;display:flex}.timeline-point{flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.timeline-dot{background:var(--border-strong);cursor:pointer;z-index:2;border:none;border-radius:999px;flex-shrink:0;width:10px;height:10px;transition:background .2s,transform .2s;position:relative}.timeline-dot:hover{background:var(--accent);transform:scale(1.3)}.timeline-dot.active{background:var(--accent);width:12px;height:12px;box-shadow:0 0 6px #4361ee4d}.timeline-line{background:var(--border);flex-shrink:0;width:2px;height:12px}.timeline-label{color:var(--text-muted);font-size:9px;font-family:var(--font-mono);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;position:absolute;top:-2px;left:20px;transform:none}.timeline-point:hover .timeline-label,.timeline-dot.active+.timeline-label{opacity:1}.timeline-container--calendar{align-items:stretch;gap:6px;padding:8px 10px}.timeline-current-card{border-radius:var(--radius-md);text-align:left;background:#38bdf814;border:1px solid #38bdf866;flex-direction:column;gap:2px;padding:6px 10px;display:flex}.timeline-current-top{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.timeline-current-kicker{font-family:var(--font-mono,monospace);letter-spacing:1.2px;color:#38bdf8;text-transform:uppercase;font-size:9px;font-weight:800}.timeline-current-card strong{font-family:var(--font-mono,monospace);color:var(--text-primary);letter-spacing:.4px;font-size:14px;font-weight:800}.timeline-current-range{color:var(--text-secondary);font-size:10.5px}.timeline-week-list{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;gap:3px;max-height:118px;display:flex;overflow-y:auto}.timeline-week-list::-webkit-scrollbar{width:4px}.timeline-week-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.timeline-week-list::-webkit-scrollbar-track{background:0 0}.timeline-week-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);cursor:pointer;text-align:left;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;padding:4px 8px;transition:all .12s;display:grid}.timeline-week-row:hover{background:var(--bg-soft);border-color:#38bdf8}.timeline-week-row.is-active{background:#38bdf81f;border-color:#38bdf8}.timeline-week-tag{font-family:var(--font-mono,monospace);color:#38bdf8;letter-spacing:.5px;font-size:9.5px;font-weight:800}.timeline-week-row:not(.is-active) .timeline-week-tag{color:var(--text-secondary)}.timeline-week-range{color:var(--text-primary);font-size:10px}.timeline-week-snapshot{font-family:var(--font-mono,monospace);color:var(--text-muted);font-size:9px}.timeline-week-row.is-active .timeline-week-snapshot{color:#38bdf8}.loading-overlay{background:var(--bg-primary);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:999px;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.chatbot-fab{z-index:1200;background:var(--bg-overlay);color:#38bdf8;font-family:var(--font-mono,monospace);letter-spacing:1.4px;cursor:pointer;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px);border:1px solid #38bdf873;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:11px;font-weight:800;transition:all .2s;display:inline-flex;position:fixed;bottom:140px;right:20px}.chatbot-fab:hover{background:#38bdf81f;border-color:#38bdf8;transform:translateY(-1px)}.chatbot-fab-label{font-family:var(--font-mono,monospace);letter-spacing:1.4px;text-transform:uppercase;font-size:11px;font-weight:800}.chatbot-fab svg{display:block}.chatbot-panel{z-index:1201;background:var(--bg-overlay);border:1px solid var(--border-strong);border-radius:var(--radius-md);width:380px;max-height:580px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);flex-direction:column;animation:.22s chatbotSlideIn;display:flex;position:fixed;bottom:200px;right:20px;overflow:hidden}@keyframes chatbotSlideIn{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.chatbot-header{border-bottom:1px solid var(--border);background:linear-gradient(#38bdf814,#0000);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.chatbot-header-info{align-items:center;gap:10px;display:flex}.chatbot-avatar{color:#38bdf8;background:#38bdf81a;border:1px solid #38bdf866;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.chatbot-avatar svg{width:16px;height:16px}.chatbot-kicker{font-family:var(--font-mono,monospace);letter-spacing:1.4px;color:#38bdf8;text-transform:uppercase;margin-bottom:2px;font-size:9.5px;font-weight:800}.chatbot-title{color:var(--text-primary);letter-spacing:.2px;font-size:14px;font-weight:700}.chatbot-close-btn{border:1px solid var(--border);background:var(--bg-secondary);width:26px;height:26px;color:var(--text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex}.chatbot-close-btn:hover{background:var(--bg-soft);color:var(--text-primary)}.chatbot-quick-actions{border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-wrap:wrap;gap:5px;padding:10px 14px;display:flex}.chatbot-quick-btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:10.5px;font-weight:600;transition:all .12s}.chatbot-quick-btn:hover:not(:disabled){color:#38bdf8;background:#38bdf81f;border-color:#38bdf8}.chatbot-quick-btn:disabled{opacity:.4;cursor:not-allowed}.chatbot-messages{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent;flex-direction:column;flex:1;gap:8px;min-height:0;max-height:300px;padding:10px;display:flex;overflow-y:auto}.chatbot-messages::-webkit-scrollbar{width:3px}.chatbot-messages::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.chatbot-message{align-items:flex-start;gap:7px;display:flex}.chatbot-message--user{flex-direction:row-reverse}.chatbot-avatar-small{background:var(--accent-light);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:16px;display:flex}.chatbot-bubble{max-width:78%}.chatbot-message--user .chatbot-bubble{flex-direction:column;align-items:flex-end;display:flex}.chatbot-bubble-text{border-radius:var(--radius-md);color:var(--text-primary);word-break:break-word;padding:8px 12px;font-size:12px;line-height:1.6}.chatbot-message--assistant .chatbot-bubble-text{background:var(--bg-soft);border:1px solid var(--border);border-radius:3px var(--radius-md) var(--radius-md) var(--radius-md)}.chatbot-message--user .chatbot-bubble-text{color:var(--text-primary);border-radius:var(--radius-md) 3px var(--radius-md) var(--radius-md);background:#38bdf826;border:1px solid #38bdf866}.chatbot-send-btn{color:#38bdf8;background:#38bdf82e;border:1px solid #38bdf880;border-radius:8px}.chatbot-send-btn:hover:not(:disabled){background:#38bdf852;transform:none}.chatbot-bubble-text code{font-family:var(--font-mono);background:#00000014;border-radius:3px;padding:1px 4px;font-size:11px}.chatbot-timestamp{color:var(--text-muted);margin-top:2px;padding:0 4px;font-size:9px}.chatbot-typing{background:var(--bg-soft);border:1px solid var(--border);border-radius:3px var(--radius-md) var(--radius-md) var(--radius-md);gap:4px;padding:12px 14px;display:flex}.chatbot-typing span{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite chatbotDot}.chatbot-typing span:nth-child(2){animation-delay:.2s}.chatbot-typing span:nth-child(3){animation-delay:.4s}@keyframes chatbotDot{0%,80%,to{opacity:.4;transform:scale(.7)}40%{opacity:1;transform:scale(1.1)}}.chatbot-input-area{border-top:1px solid var(--border);background:var(--bg-soft);align-items:flex-end;gap:6px;padding:8px 10px;display:flex}.chatbot-input{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);resize:none;outline:none;flex:1;padding:8px 10px;font-size:12px;line-height:1.5;transition:border-color .2s}.chatbot-input:focus{border-color:var(--accent)}.chatbot-input::placeholder{color:var(--text-muted)}.chatbot-send-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;transition:all .2s;display:flex}.chatbot-send-btn:hover:not(:disabled){transform:scale(1.08)}.chatbot-send-btn:disabled{opacity:.35;cursor:not-allowed}.news-panel{background:var(--bg-secondary);flex-direction:column;height:100%;display:flex;overflow:hidden}.news-panel-header{border-bottom:1px solid var(--border);background:var(--bg-soft);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.news-panel-title{color:var(--text-primary);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.news-last-updated{color:var(--text-muted);font-size:9px;font-weight:400}.news-panel-actions{align-items:center;gap:5px;display:flex}.news-refresh-btn,.trends-refresh-btn{color:var(--text-muted);cursor:pointer;font-size:12px;font-family:var(--font-mono,inherit);letter-spacing:.3px;background:0 0;border:none;padding:4px 8px;transition:color .2s}.news-refresh-btn:hover:not(:disabled),.trends-refresh-btn:hover:not(:disabled){color:var(--accent)}.news-refresh-btn:disabled,.trends-refresh-btn:disabled{opacity:.4;cursor:not-allowed}.news-close-btn{background:var(--bg-soft);color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;width:24px;height:24px;font-size:11px;transition:all .2s}.news-close-btn:hover{color:var(--alert-g3);background:#dc35451a}.news-tabs{border-bottom:1px solid var(--border);display:flex}.news-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 4px;font-size:11px;font-weight:500;transition:all .15s;display:flex}.news-tab:hover{color:var(--text-secondary)}.news-tab--active{color:var(--accent);border-bottom-color:var(--accent)}.news-tab-count{background:var(--accent-light);color:var(--accent);border-radius:8px;padding:1px 5px;font-size:9px}.news-list{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent;flex-direction:column;flex:1;gap:4px;padding:6px;display:flex;overflow-y:auto}.news-list::-webkit-scrollbar{width:3px}.news-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.news-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);transition:all .15s;display:flex;overflow:hidden}.news-item:hover{border-color:var(--accent);background:var(--accent-light)}.news-severity-bar{flex-shrink:0;width:3px}.news-item-content{flex:1;min-width:0;padding:6px 8px}.news-item-meta{gap:6px;margin-bottom:2px;display:flex}.news-date{color:var(--text-muted);font-size:9px}.news-source{color:var(--accent);background:var(--accent-light);text-overflow:ellipsis;white-space:nowrap;border-radius:3px;max-width:100px;padding:0 4px;font-size:9px;overflow:hidden}.news-badge-who{color:#fff;background:#2563eb;border-radius:3px;padding:1px 5px;font-size:8px;font-weight:600}.news-badge-naver{color:#fff;background:#03c75a;border-radius:3px;padding:1px 5px;font-size:8px;font-weight:600}.news-digest-section{padding:8px 10px}.news-source-overview{border-bottom:1px solid var(--border);background:linear-gradient(135deg, #00d4ff0f, transparent 38%), var(--bg-secondary);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;display:grid}.news-source-tile{border:1px solid var(--border);background:var(--bg-card);border-top:3px solid #38bdf8;border-radius:8px;min-width:0;padding:9px}.news-source-tile.tone-green{border-top-color:#34d399}.news-source-tile.tone-slate{border-top-color:#94a3b8}.news-source-tile.tone-blue{border-top-color:#38bdf8}.news-source-tile span{color:var(--text-muted);letter-spacing:.8px;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.news-source-tile strong{color:var(--text-primary);font-family:var(--font-mono,monospace);margin-top:5px;font-size:14px;display:block}.news-source-tile small{color:var(--text-secondary);margin-top:4px;font-size:10px;line-height:1.35;display:block}.news-digest-content{flex-direction:column;gap:8px;display:flex}.digest-block{background:var(--bg-soft);border-left:3px solid var(--accent);border-radius:6px;padding:8px 10px}.digest-block.digest-risk{border-left-color:#f97316}.digest-block-title{color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:10px;font-weight:700}.digest-risk .digest-block-title{color:#f97316}.digest-text{color:var(--text-primary);white-space:pre-line;margin:0;font-size:11px;line-height:1.55}.digest-alerts{flex-direction:column;gap:6px;display:flex}.digest-alert-item{background:var(--bg-soft);border:1px solid var(--border);border-radius:4px;align-items:flex-start;gap:8px;padding:6px 8px;display:flex}.digest-alert-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:3px}.digest-alert-item strong{color:var(--text-primary);font-size:11px}.digest-alert-detail{color:var(--text-secondary);margin:2px 0 0;font-size:10px}.digest-source-count{color:var(--text-secondary);text-align:center;border-top:1px solid var(--border);padding:4px 0;font-size:9px}.notifiable-panel{flex-direction:column;gap:12px;padding:10px;display:flex}.notifiable-panel--loading{min-height:120px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:12px}.notifiable-header{border:1px solid var(--border);background:radial-gradient(circle at top left, #34d39929, transparent 34%), var(--bg-card);border-radius:14px;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px;display:flex}.notifiable-kicker{color:#34d399;letter-spacing:1.2px;font-size:10px;font-weight:900;display:block}.notifiable-header h4{color:var(--text-primary);margin:5px 0 6px;font-size:18px}.notifiable-header p{max-width:900px;color:var(--text-secondary);margin:0;font-size:12px;line-height:1.6}.notifiable-refresh-btn{color:#059669;cursor:pointer;background:#34d3991f;border:1px solid #34d39973;border-radius:999px;flex-shrink:0;padding:9px 13px;font-size:11px;font-weight:800}.notifiable-refresh-btn:disabled{cursor:wait;opacity:.55}.notifiable-scope-note{color:var(--text-secondary);background:#f59e0b14;border:1px dashed #f59e0b73;border-radius:12px;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:10px 12px;font-size:12px;line-height:1.5;display:grid}.notifiable-scope-note strong{color:#d97706;letter-spacing:.4px;font-size:11px}.notifiable-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.notifiable-metrics>div,.notifiable-subsets>div{border:1px solid var(--border);background:var(--bg-soft);border-radius:12px;padding:11px}.notifiable-metrics span,.notifiable-subsets span{color:var(--text-muted);letter-spacing:.7px;text-transform:uppercase;font-size:9px;font-weight:900;display:block}.notifiable-metrics strong{color:var(--text-primary);font-family:var(--font-mono,monospace);margin-top:5px;font-size:15px;display:block}.notifiable-subsets{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.notifiable-subsets p{color:var(--text-secondary);margin:6px 0 0;font-size:11px;line-height:1.55}.notifiable-table-wrap{border:1px solid var(--border);background:var(--bg-card);border-radius:14px;overflow-x:auto}.notifiable-table{border-collapse:collapse;width:100%;min-width:980px;font-size:11px}.notifiable-table th,.notifiable-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 11px}.notifiable-table th{z-index:1;background:var(--bg-secondary);color:var(--text-muted);letter-spacing:.8px;text-transform:uppercase;font-size:9px;font-weight:900;position:sticky;top:0}.notifiable-table td{color:var(--text-secondary);line-height:1.45}.notifiable-table td:nth-child(2),.notifiable-table td:nth-child(3),.notifiable-table td:nth-child(4),.notifiable-table td:nth-child(5){color:var(--text-primary);font-family:var(--font-mono,monospace);font-weight:800}.notifiable-table td strong{color:var(--text-primary);font-size:12px;display:block}.notifiable-table td small{color:var(--text-muted);font-family:var(--font-mono,monospace);margin-top:2px;display:block}@media (width<=900px){.notifiable-header,.notifiable-scope-note,.notifiable-subsets{grid-template-columns:1fr}.notifiable-header{display:grid}.notifiable-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.notifiable-refresh-btn{width:100%}}.news-sources-toggle{background:var(--bg-soft);border:1px solid var(--border);width:calc(100% - 20px);color:var(--text-secondary);cursor:pointer;text-align:center;border-radius:4px;margin:4px 10px;padding:6px;font-size:10px;transition:background .2s}.news-sources-toggle:hover{background:#ffffff14}.osint-analysis-desc{color:var(--text-muted);text-align:center;margin:3px 10px 6px;font-size:9px}.osint-analysis-result{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-md);max-height:180px;margin:4px 10px 8px;padding:8px 10px;overflow-y:auto}.osint-result-header{color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;font-weight:700}.osint-result-text{color:var(--text-primary);white-space:pre-line;margin:0;font-size:11px;line-height:1.5}.sentinel-analysis-section{border-bottom:1px solid var(--border);padding:6px 0}.sentinel-analysis-icon{font-size:16px}.sentinel-analysis-desc{color:var(--text-muted);text-align:center;margin-top:4px;font-size:9px}.sentinel-analysis-result{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-md);max-height:200px;margin-top:8px;padding:8px 10px;overflow-y:auto}.sentinel-result-header{color:#38bdf8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:700}.sentinel-result-text{color:var(--text-primary);white-space:pre-line;margin:0;font-size:11px;line-height:1.5}.news-title{color:var(--text-primary);word-break:break-word;margin:0;font-size:11px;line-height:1.45;text-decoration:none;display:block}a.news-title:hover{color:var(--accent);text-decoration:underline}.news-snippet{color:var(--text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 0;font-size:10px;line-height:1.4;display:-webkit-box;overflow:hidden}.news-loading,.news-empty{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px 14px;font-size:12px;display:flex}.news-empty-icon{font-size:24px}.news-empty-hint{color:var(--text-muted);font-size:10px}.news-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}.trends-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.trends-header{justify-content:space-between;align-items:center;display:flex}.trends-title{color:var(--text-primary);align-items:center;gap:5px;font-size:11px;font-weight:600;display:flex}.trends-badge{background:var(--accent-light);color:var(--accent);border-radius:8px;padding:1px 6px;font-size:9px}.trends-legend{flex-wrap:wrap;gap:6px;display:flex}.trends-legend-item{align-items:center;gap:4px;display:flex}.trends-legend-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.trends-legend-label{color:var(--text-muted);font-size:9px}.trends-chart-area{min-height:100px}.trends-svg{width:100%;height:auto;display:block}.trends-loading,.trends-empty{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:18px;font-size:11px;display:flex}.trends-updated{color:var(--text-muted);text-align:right;font-size:9px}.kdca-panel{background:var(--bg-secondary);flex-direction:column;height:100%;display:flex;overflow:hidden}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-lg);flex-direction:column;max-width:90vw;max-height:90vh;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border);background:var(--bg-soft);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{margin:0;font-size:16px;font-weight:600}.modal-close-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:18px;transition:color .15s}.modal-close-btn:hover{color:var(--text-primary)}.modal-body{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.keyword-textarea{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-secondary);width:100%;min-height:80px;color:var(--text-primary);font-size:12px;font-family:var(--font-mono);resize:vertical;padding:10px}.modal-footer{border-top:1px solid var(--border);background:var(--bg-soft);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.modal-btn-cancel{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;padding:8px 16px}.modal-btn-save{background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);color:#fff;cursor:pointer;padding:8px 16px}.kdca-tabs{border-bottom:1px solid var(--border);background:var(--bg-soft);display:flex}.kdca-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:8px 4px;font-size:10px;font-weight:500;transition:all .15s}.kdca-tab:hover{color:var(--text-secondary)}.kdca-tab--active{color:var(--accent);border-bottom-color:var(--accent)}.kdca-status{border-radius:var(--radius-sm);margin:6px 10px 0;padding:6px 8px;font-size:11px;font-weight:500}.kdca-status--ok{color:var(--alert-g0);background:#22875a14;border:1px solid #22875a26}.kdca-status--error{color:var(--alert-g3);background:#dc35450f;border:1px solid #dc35451f}.kdca-status--pending{color:var(--alert-g1);background:#c9a5000f;border:1px solid #c9a5001f}.kdca-content{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent;flex-direction:column;flex:1;gap:6px;padding:8px;display:flex;overflow-y:auto}.kdca-dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius-md);text-align:center;cursor:pointer;background:var(--bg-soft);padding:18px;transition:all .15s}.kdca-dropzone:hover,.kdca-dropzone--active{border-color:var(--accent);background:var(--accent-light)}.kdca-dropzone-icon{margin-bottom:6px;font-size:24px}.kdca-dropzone-text{color:var(--text-secondary);margin-bottom:3px;font-size:11px;font-weight:500}.kdca-dropzone-hint{color:var(--text-muted);font-size:9px}.kdca-uploading{color:var(--accent);justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.kdca-upload-guide{border:1px solid var(--border);border-radius:var(--radius-sm);background:linear-gradient(135deg,#34d3991a,#38bdf814);margin-bottom:10px;padding:11px 12px}.kdca-upload-guide strong{color:var(--text-primary);margin-bottom:4px;font-size:11px;display:block}.kdca-upload-guide p{color:var(--text-secondary);margin:0;font-size:10.5px;line-height:1.5}.kdca-btn{border-radius:var(--radius-sm);cursor:pointer;border:none;width:100%;padding:8px;font-size:11px;font-weight:600;transition:all .15s}.kdca-btn--primary{background:var(--accent);color:#fff}.kdca-btn--primary:hover:not(:disabled){background:var(--accent-hover)}.kdca-btn--secondary{background:var(--accent-light);border:1px solid var(--border);color:var(--accent)}.kdca-btn--secondary:hover:not(:disabled){background:var(--accent);color:#fff}.kdca-btn:disabled{opacity:.4;cursor:not-allowed}.kdca-result{border-radius:var(--radius-sm);background:#22875a0d;border:1px solid #22875a1f;padding:6px 8px}.kdca-result-row{color:var(--text-secondary);justify-content:space-between;padding:2px 0;font-size:10px;display:flex}.kdca-result-value{color:var(--alert-g0);font-weight:600}.kdca-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;margin-top:4px;font-size:10px;font-weight:600;display:flex}.kdca-history{flex-direction:column;gap:6px;display:flex}.kdca-history .kdca-section-title{justify-content:space-between;align-items:center;display:flex}.kdca-history-count{border:1px solid var(--border);background:var(--bg-soft);min-width:20px;height:18px;color:var(--text-secondary);font-family:var(--font-mono,monospace);letter-spacing:.4px;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:9.5px;font-weight:800;display:inline-flex}.kdca-history-scroll{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;gap:3px;max-height:240px;padding-right:2px;display:flex;overflow-y:auto}.kdca-history-scroll::-webkit-scrollbar{width:4px}.kdca-history-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.kdca-history-scroll::-webkit-scrollbar-track{background:0 0}.kdca-history-item{background:var(--bg-soft);border-radius:var(--radius-sm);flex-direction:row;align-items:center;gap:8px;padding:5px 7px;display:flex}.kdca-history-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.kdca-history-name{color:var(--text-primary);word-break:break-all;font-size:10px}.kdca-history-meta{color:var(--text-muted);font-size:9px}.kdca-history-remove{border:1px solid var(--border);border-radius:var(--radius-sm);width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;transition:all .12s;display:inline-flex}.kdca-history-remove:hover{color:#fecaca;background:#f871711f;border-color:#f8717173}.kdca-report-section{flex-direction:column;gap:5px;display:flex}.kdca-report-preview{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.kdca-report-text{color:var(--text-secondary);white-space:pre-wrap;max-height:200px;margin:0;padding:8px;font-size:10px;line-height:1.5;overflow-y:auto}.kdca-send-btn{color:var(--alert-g0);cursor:pointer;background:#22875a0f;border:1px solid #22875a2e;border-radius:10px;padding:3px 8px;font-size:9px;transition:all .15s}.kdca-send-btn:hover:not(:disabled){background:#22875a1f}.kdca-send-btn:disabled{opacity:.4}.kdca-report-item{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:6px 8px;transition:all .15s}.kdca-report-item:hover{border-color:var(--accent);background:var(--accent-light)}.kdca-report-name{color:var(--text-primary);font-size:11px;font-weight:600}.kdca-report-meta{color:var(--text-muted);margin-top:1px;font-size:9px}.kdca-recipient-form{flex-direction:column;gap:5px;display:flex}.kdca-input{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);box-sizing:border-box;outline:none;padding:6px 8px;font-size:11px;transition:border-color .2s}.kdca-input:focus{border-color:var(--accent)}.kdca-input::placeholder{color:var(--text-muted)}.enlarged-chart-container{border-radius:var(--radius-md);border:1px solid var(--border);background:#0f172a66;justify-content:center;margin-bottom:24px;padding:20px;display:flex}.trends-detail-grid{grid-template-columns:1fr 1.5fr;gap:24px;display:grid}.keyword-info-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:16px;padding:20px;display:flex}.detail-section-title{align-items:center;gap:8px;margin:0;font-size:16px;font-weight:700;display:flex}.keyword-description-text{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.keyword-stats-mini{border-top:1px solid var(--border);gap:20px;margin-top:auto;padding-top:16px;display:flex}.mini-stat{flex-direction:column;gap:4px;display:flex}.mini-stat-label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;font-size:10px}.mini-stat-value{font-size:18px;font-weight:700;font-family:var(--font-mono)}.raw-data-panel{flex-direction:column;gap:12px;display:flex}.trends-table-wrapper{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);max-height:300px;overflow-y:auto}.trends-data-table{text-align:left;border-collapse:collapse;width:100%;font-size:12px}.trends-data-table th{background:var(--bg-soft);border-bottom:1px solid var(--border);color:var(--text-secondary);padding:10px 14px;font-weight:600;position:sticky;top:0}.trends-data-table td{border-bottom:1px solid var(--border);padding:10px 14px}.trends-data-table tr:hover{background:#ffffff05}.kdca-recipient-item{background:var(--bg-soft);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:6px 8px;display:flex}.kdca-recipient-email{color:var(--text-primary);font-size:11px}.kdca-recipient-name{color:var(--text-muted);margin-top:1px;font-size:9px}.kdca-remove-btn{width:20px;height:20px;color:var(--alert-g3);cursor:pointer;background:#dc35450f;border:1px solid #dc35452e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:9px;transition:all .15s;display:flex}.kdca-remove-btn:hover{background:#dc354526}@media (width<=1100px){.page-banner,.bottom-bar{left:10px;right:10px}.mini-globe-wrapper{display:none}.timeline-container{left:10px;right:10px}}@media (width<=900px){.sidebar-left{z-index:30;width:300px;min-width:300px;position:absolute;top:0;bottom:0;left:0}.sidebar-left.closed{margin-left:0;transform:translate(-100%)}.sidebar-toggle-btn{left:300px}.sidebar-toggle-btn.closed{left:0}.panel-overlay{width:100%;min-width:100%}.page-banner{flex-direction:column;padding:12px 14px}.page-banner h1{font-size:16px}.banner-metrics{justify-content:flex-start}.bottom-bar{flex-direction:column;gap:6px;padding:8px 12px}}@media (width<=600px){.page-banner{padding:10px 12px;top:8px;left:8px;right:8px}.page-banner h1{font-size:14px}.page-banner p{font-size:11px}.banner-metrics strong{font-size:16px}.bottom-bar{bottom:8px;left:8px;right:8px}.chatbot-panel{width:auto;max-height:480px;bottom:140px;left:8px;right:8px}.chatbot-fab{padding:8px 12px;font-size:16px;bottom:90px;right:10px}}.flow-pipeline-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-soft);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;font-size:15px;transition:all .15s;display:flex}.flow-pipeline-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-light)}.flow-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.flow-container{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);width:92vw;max-width:1100px;height:88vh;max-height:780px;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.flow-header{border-bottom:1px solid var(--border);background:var(--bg-soft);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.flow-title{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.flow-subtitle{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.flow-close-btn{border:1px solid var(--border);border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:18px;display:flex}.flow-close-btn:hover{background:var(--bg-soft);color:var(--text-primary)}.flow-body{flex:1;display:flex;overflow:hidden}.flow-svg-wrap{flex:1;justify-content:center;align-items:flex-start;padding:10px;display:flex;overflow:auto}.flow-svg-wrap svg{width:100%;max-width:850px;height:auto}.flow-node{transition:opacity .15s}.flow-node:hover rect{filter:brightness(1.3)}.flow-node--action{cursor:pointer}.flow-node--action:hover rect{stroke-width:2.5px}.flow-node--selected rect{filter:brightness(1.15)}.flow-status-pulse{animation:1.2s ease-in-out infinite flow-pulse}@keyframes flow-pulse{0%,to{opacity:1;r:4}50%{opacity:.4;r:6}}.flow-edge-running{stroke-dasharray:8 4;animation:.7s linear infinite flow-dash}@keyframes flow-dash{to{stroke-dashoffset:-24px}}.flow-play-icon{transition:opacity .15s}.flow-node--action:hover .flow-play-icon{opacity:1!important}.flow-detail{border-left:1px solid var(--border);background:var(--bg-soft);flex-shrink:0;width:0;transition:width .25s;overflow:hidden}.flow-detail--open{width:280px;padding:16px;overflow-y:auto}.flow-detail-header{border-left:3px solid;margin-bottom:12px;padding-left:10px}.flow-detail-type{letter-spacing:1.5px;text-transform:uppercase;font-size:9px;font-weight:700}.flow-detail-name{color:var(--text-primary);margin:4px 0 0;font-size:15px;font-weight:700}.flow-detail-status{color:var(--text-secondary);background:var(--bg-primary);border-radius:var(--radius-sm);align-items:center;gap:8px;margin-bottom:12px;padding:6px 10px;font-size:12px;display:flex}.flow-detail-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.flow-detail-desc{color:var(--text-secondary);margin-bottom:14px;font-size:12px;line-height:1.6}.flow-detail-result{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:12px;padding:8px 10px}.flow-detail-result-title{color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:10px;font-weight:700}.flow-detail-result p{color:var(--text-primary);white-space:pre-line;margin:0;font-size:11px;line-height:1.5}.flow-detail-action{border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1.5px solid;width:100%;padding:10px;font-size:12px;font-weight:700;transition:all .15s}.flow-detail-action:hover:not(:disabled){background:var(--accent-light)}.flow-detail-action:disabled{opacity:.5;cursor:not-allowed}.flow-detail-placeholder{text-align:center;height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.flow-detail-placeholder-icon{opacity:.3;margin-bottom:12px;font-size:32px}.flow-detail-placeholder p{font-size:12px;line-height:1.5}.flow-detail-legend{flex-direction:column;gap:6px;margin-top:20px;font-size:11px;display:flex}.flow-detail-legend>div{align-items:center;gap:8px;display:flex}.kas-app{background:var(--bg-primary);height:100svh;color:var(--text-primary);flex-direction:column;display:flex;overflow:hidden}.top-nav{background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:100;height:56px;box-shadow:var(--shadow-sm);align-items:center;gap:24px;min-width:0;padding:0 20px;display:flex;position:sticky;top:0}.top-nav-logo{border-right:1px solid var(--border);align-items:center;gap:6px;height:32px;padding-right:18px;display:flex}.top-nav-logo-mark{color:#00d4ff;text-shadow:0 0 8px #00d4ff99;font-size:18px}.top-nav-logo-text{letter-spacing:2px;color:var(--text-primary);font-size:14px;font-weight:800}.top-nav-logo-sub{letter-spacing:1.5px;color:var(--text-muted);font-size:10px;font-weight:600}.top-nav-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:1;align-items:center;gap:2px;min-width:0;height:100%;display:flex;overflow:auto hidden}.top-nav-tabs::-webkit-scrollbar{display:none}.top-nav-tab{cursor:pointer;height:100%;color:var(--text-secondary);font-family:var(--font-sans);background:0 0;border:none;border-bottom:2px solid #0000;flex-direction:column;flex:none;justify-content:center;align-items:center;min-width:90px;padding:0 16px;transition:all .15s;display:flex}.top-nav-tab:hover{color:var(--text-primary);background:var(--bg-soft)}.top-nav-tab--active{color:#00d4ff;background:linear-gradient(#0000 0%,#00d4ff0f 100%);border-bottom-color:#00d4ff}.top-nav-tab-label{letter-spacing:1.2px;font-size:11px;font-weight:700}.top-nav-tab-sub{opacity:.65;margin-top:1px;font-size:10px}.pipeline-status-bar{border:1px solid var(--border);border-radius:var(--radius-md,8px);background:#0f172a80;flex-shrink:1;align-items:center;gap:6px;min-width:0;margin-left:auto;margin-right:8px;padding:4px 14px;display:flex;overflow:hidden}.pipeline-status-item{white-space:nowrap;align-items:center;gap:5px;display:flex}.pipeline-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.pipeline-dot--cron{background:#38bdf8;box-shadow:0 0 5px #38bdf880}.pipeline-dot--snapshot{background:#34d399;box-shadow:0 0 5px #34d39980}.pipeline-dot--upload{background:#f59e0b;box-shadow:0 0 5px #f59e0b80}.pipeline-label{font-family:var(--font-mono,monospace);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:9px;font-weight:600}.pipeline-value{font-family:var(--font-mono,monospace);color:var(--text-primary);font-size:11px;font-weight:700}.pipeline-sep{background:var(--border);flex-shrink:0;width:1px;height:16px;margin:0 4px}.top-nav-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.top-nav-date{font-family:var(--font-mono);color:var(--text-secondary);background:var(--bg-soft);border-radius:var(--radius-sm);border:1px solid var(--border);align-items:center;gap:6px;padding:5px 10px;font-size:11px;display:flex}.top-nav-date-dot{background:var(--text-secondary);border-radius:50%;width:5px;height:5px;animation:2.4s infinite kas-pulse}@keyframes kas-pulse{0%,to{opacity:1}50%{opacity:.5}}.top-nav-icon-btn{border-radius:var(--radius-sm);background:var(--bg-soft);border:1px solid var(--border);width:32px;height:32px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex}.top-nav-icon-btn:hover{background:var(--accent-light);color:var(--accent)}.top-nav-role{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-muted);font-family:var(--font-mono,monospace);letter-spacing:1.4px;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:9.5px;font-weight:800;display:inline-flex}.top-nav-role:before{content:"";background:var(--text-muted);border-radius:50%;width:6px;height:6px}.top-nav-role--admin{color:#38bdf8;background:#38bdf81a;border-color:#38bdf866}.top-nav-role--admin:before{background:#38bdf8;box-shadow:0 0 6px #38bdf8b3}.top-nav-admin-hint{border-radius:var(--radius-sm);color:#38bdf8;font-family:var(--font-mono,monospace);letter-spacing:1.4px;cursor:pointer;background:0 0;border:1px solid #38bdf873;align-items:center;gap:6px;padding:6px 12px;font-size:10px;font-weight:800;transition:all .15s;display:inline-flex}.top-nav-admin-hint:hover{background:#38bdf81f;border-color:#38bdf8}.top-nav-user{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:4px 10px;display:flex}.top-nav-user-email{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:11px;overflow:hidden}.top-nav-signout{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:13px}.top-nav-signout:hover{color:var(--alert-g3)}@media (width<=768px){.top-nav{height:auto;min-height:104px;padding:calc(8px + env(safe-area-inset-top)) 10px 0;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"logo controls""tabs tabs";align-items:center;gap:7px 10px;display:grid;overflow:visible}.top-nav-logo{border-right:0;grid-area:logo;min-width:0;height:30px;padding-right:0}.top-nav-logo-text{letter-spacing:1.2px;font-size:13px}.top-nav-logo-sub{letter-spacing:.8px;font-size:9px}.top-nav-right{grid-area:controls;gap:6px;min-width:0}.top-nav-date{white-space:nowrap;text-overflow:ellipsis;max-width:128px;padding:4px 7px;font-size:10px;overflow:hidden}.top-nav-date-dot,.top-nav-date-caret{flex:none}.top-nav-icon-btn{width:30px;height:30px}.top-nav-user{display:none}.top-nav-tabs{scroll-snap-type:x proximity;grid-area:tabs;width:calc(100vw - 20px);height:50px;padding-bottom:6px;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 14px calc(100% - 14px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 14px calc(100% - 14px),#0000 100%)}.top-nav-tab{border:1px solid var(--border);background:var(--bg-soft);scroll-snap-align:start;border-bottom:2px solid #0000;border-radius:7px;min-width:82px;height:44px;padding:0 10px}.top-nav-tab--active{border-color:#00d4ff61 #00d4ff61 #00d4ff}.top-nav-tab-label{letter-spacing:.6px;font-size:10px}.top-nav-tab-sub{display:none}.kas-map-view,.kas-tab-view{height:calc(100svh - 104px);min-height:0}}@media (width<=380px){.top-nav-logo-sub{display:none}.top-nav-date{max-width:112px}.top-nav-tab{min-width:76px}}.kas-map-view{background:var(--map-bg);flex:1;min-height:calc(100vh - 56px);position:relative;overflow:hidden}.kas-map-container{width:100%;height:100%;position:absolute;inset:0}.kas-map-container>*{width:100%!important;height:100%!important}.map-system-brief{z-index:15;background:var(--bg-overlay);-webkit-backdrop-filter:blur(12px);width:min(620px,100vw - 520px);box-shadow:var(--shadow-md);border:1px solid #38bdf838;border-radius:8px;padding:14px 16px;position:absolute;top:18px;left:20px}.map-system-brief span{color:var(--accent);font-family:var(--font-mono,monospace);letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:900;display:block}.map-system-brief strong{color:var(--text-primary);margin-top:4px;font-size:14px;line-height:1.35;display:block}.map-system-brief p{color:var(--text-secondary);margin:6px 0 0;font-size:11px;line-height:1.55}.map-system-brief-flow{align-items:center;gap:7px;margin-top:10px;display:flex;overflow:hidden}.map-system-brief-flow span{color:var(--text-primary);letter-spacing:.5px;background:#38bdf814;border:1px solid #38bdf838;border-radius:999px;flex:none;padding:4px 7px;font-size:8px}.map-system-brief-flow i{background:linear-gradient(90deg,#38bdf833,#38bdf8cc);width:20px;height:1px}.kas-region-panel{background:var(--bg-overlay);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-strong);border-radius:var(--radius-md);width:280px;max-height:calc(100vh - 180px);box-shadow:var(--shadow-lg);z-index:20;padding:16px;animation:.25s ease-out kas-slide-in;position:absolute;top:20px;left:20px;overflow-y:auto}.kas-region-panel::-webkit-scrollbar{width:6px}.kas-region-panel::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.kas-region-panel::-webkit-scrollbar-track{background:0 0}@keyframes kas-slide-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.kas-region-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;display:flex}.kas-region-panel-title{letter-spacing:1px;color:var(--text-primary);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.kas-region-panel-indicator{background:#00d4ff;border-radius:50%;width:8px;height:8px;box-shadow:0 0 6px #00d4ff}.kas-region-panel-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;width:24px;height:24px;font-size:18px}.kas-region-panel-close:hover{background:var(--bg-soft);color:var(--text-primary)}.kas-region-panel-subtitle{color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;margin-bottom:12px;font-size:10px}.kas-region-panel-stats{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;display:grid}.kas-region-panel-stat{background:var(--bg-soft);border-left:2px solid var(--border-strong);border-radius:4px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.kas-stat-label{letter-spacing:.5px;font-size:9px;font-weight:700}.kas-stat-oas{color:#ff4d4f}.kas-stat-ods{color:#ff9f43}.kas-stat-wav{color:#00d4ff}.kas-stat-mav{color:#a78bfa}.kas-stat-ids{color:#22c55e}.kas-stat-default{color:var(--text-secondary)}.kas-stat-value{font-family:var(--font-mono);color:var(--text-primary);font-size:14px;font-weight:700}.kas-region-panel-score{background:var(--bg-soft);border-radius:var(--radius-sm);flex-direction:column;align-items:center;margin-bottom:10px;padding:12px 0;display:flex}.kas-region-score-label{letter-spacing:1px;color:var(--text-muted);text-transform:uppercase;font-size:9px}.kas-region-score-value{font-family:var(--font-mono);margin-top:4px;font-size:28px;font-weight:800}.kas-region-score-level{letter-spacing:1.5px;color:var(--text-secondary);margin-top:2px;font-size:10px;font-weight:700}.kas-level-G3,.kas-level-critical{color:var(--alert-g3)}.kas-level-G2,.kas-level-high{color:var(--alert-g2)}.kas-level-G1,.kas-level-moderate{color:var(--alert-g1)}.kas-level-G0,.kas-level-low{color:var(--alert-g0)}.kas-region-panel-meta{color:var(--text-muted);text-align:center;border-top:1px solid var(--border);padding-top:8px;font-size:10px}.kas-right-stack{z-index:20;flex-direction:column;align-items:stretch;gap:10px;width:360px;max-height:calc(100vh - 40px);padding-right:2px;display:flex;position:absolute;top:20px;right:20px;overflow-y:auto}.kas-right-stack::-webkit-scrollbar{width:6px}.kas-right-stack::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.kas-right-stack::-webkit-scrollbar-track{background:0 0}.map-update-card{border-radius:var(--radius-md);background:linear-gradient(135deg, #38bdf829, #38bdf80a 60%), var(--bg-card);border:1px solid #38bdf873;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #38bdf81f,0 6px 18px -10px #38bdf873}.map-update-card:before{content:"";background:linear-gradient(#38bdf8,#38bdf833);width:3px;position:absolute;top:0;bottom:0;left:0}.map-update-card>div:first-child{flex-direction:column;gap:4px;min-width:0;display:flex}.map-update-card span{color:#38bdf8;font-family:var(--font-mono,monospace);letter-spacing:1.2px;text-transform:uppercase;background:#38bdf82e;border:1px solid #38bdf866;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:2px 8px;font-size:9.5px;font-weight:800;display:inline-flex}.map-update-card span:before{content:"";background:#38bdf8;border-radius:999px;width:6px;height:6px;animation:2s ease-in-out infinite sentinel-update-pulse;box-shadow:0 0 0 3px #38bdf840}@keyframes sentinel-update-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.map-update-card strong{font-family:var(--font-mono,monospace);color:var(--text-primary);letter-spacing:.4px;font-size:14px;font-weight:800}.map-update-card p{color:var(--text-secondary);margin:0;font-size:11px;line-height:1.45}.map-update-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.map-update-actions button{font-family:var(--font-mono,monospace);letter-spacing:.6px;text-transform:uppercase;cursor:pointer;font-size:10.5px;font-weight:700;transition:all .12s}.map-update-actions button:first-child{border-radius:var(--radius-sm);color:#38bdf8;background:#38bdf82e;border:1px solid #38bdf8;padding:6px 10px}.map-update-actions button:first-child:hover{background:#38bdf852;box-shadow:0 0 0 2px #38bdf826}.map-update-actions button:last-child{border:1px solid var(--border);border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-muted);background:0 0;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}.map-update-actions button:last-child:hover{color:#fecaca;background:#f871711f;border-color:#f8717173}.map-mini-globe-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-overlay);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-lg);cursor:pointer;flex-direction:column;align-items:stretch;gap:10px;padding:14px;transition:border-color .15s,transform .15s;display:flex}.map-mini-globe-card:hover{border-color:#38bdf8;transform:translateY(-1px)}.map-mini-globe-card:focus-visible{border-color:#38bdf8;outline:none}.map-mini-globe-copy{text-align:center;flex-direction:column;gap:3px;display:flex}.map-mini-globe-copy span{font-family:var(--font-mono,monospace);letter-spacing:1.4px;color:#38bdf8;text-transform:uppercase;font-size:9.5px;font-weight:800}.map-mini-globe-copy strong{color:var(--text-primary);font-size:13px;font-weight:700}.map-mini-globe-copy p{color:var(--text-secondary);margin:0;font-size:10.5px;line-height:1.4}.map-mini-globe-card .mini-globe-container{border:1px solid var(--border);background:radial-gradient(circle,#38bdf80f,#0000 70%);align-self:center;width:220px!important;height:220px!important}.map-mini-globe-card canvas{display:block}.run-control-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-overlay);-webkit-backdrop-filter:blur(14px);width:min(430px,100vw - 40px);max-height:calc(100vh - 132px);box-shadow:var(--shadow-lg);padding:14px;overflow-y:auto}.run-control-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:10px;display:flex}.run-control-kicker{color:#38bdf8;font-family:var(--font-mono,monospace);letter-spacing:1px;margin-bottom:5px;font-size:10px;font-weight:800;display:block}.run-control-header h3{color:var(--text-primary);margin:0;font-size:15px}.run-control-header p{color:var(--text-secondary);margin:4px 0 0;font-size:11px;line-height:1.45}.run-control-score{border:1px solid var(--border);background:var(--bg-secondary);text-align:center;border-radius:7px;flex:none;min-width:68px;padding:8px 9px}.run-control-score strong{color:var(--text-primary);font-family:var(--font-mono,monospace);font-size:15px;display:block}.run-control-score span,.run-control-summary span,.run-control-meta{color:var(--text-muted);font-size:9px}.run-control-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0;display:grid}.run-control-summary div{border:1px solid var(--border);background:var(--bg-secondary);border-radius:7px;min-width:0;padding:8px}.run-control-summary strong{color:var(--text-primary);font-family:var(--font-mono,monospace);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;display:block;overflow:hidden}.run-control-error{color:var(--alert-g3);background:#ef44441a;border:1px solid #ef444459;border-radius:7px;margin-bottom:10px;padding:8px 10px;font-size:11px}.run-control-batch{background:linear-gradient(135deg, #38bdf81f, transparent 58%), var(--bg-secondary);border:1px solid #38bdf857;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;margin:10px 0;padding:11px;display:grid}.run-control-batch.is-running{border-color:#f59e42b8;box-shadow:0 0 0 1px #f59e421a}.run-control-batch.is-complete{border-color:#34d3999e}.run-control-batch-copy{min-width:0}.run-control-batch-copy span{color:#38bdf8;font-family:var(--font-mono,monospace);letter-spacing:.8px;font-size:9px;font-weight:800;display:block}.run-control-batch-copy strong{color:var(--text-primary);margin-top:4px;font-size:12px;line-height:1.35;display:block}.run-control-batch-copy p{color:var(--text-secondary);margin:5px 0 0;font-size:10.5px;line-height:1.4}.run-control-batch-actions{flex-direction:column;gap:6px;min-width:88px;display:flex}.run-control-batch-btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);font-family:var(--font-mono,monospace);cursor:pointer;border-radius:7px;padding:7px 9px;font-size:10px;font-weight:800}.run-control-batch-btn--primary{color:#06111f;background:#38bdf8;border-color:#38bdf8}.run-control-batch-btn:hover:not(:disabled){transform:translateY(-1px)}.run-control-batch-btn:disabled{cursor:not-allowed;opacity:.58}.run-control-batch-progress{background:var(--bg-soft);border-radius:999px;grid-column:1/-1;height:6px;overflow:hidden}.run-control-batch-progress span{border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#34d399);height:100%;transition:width .25s;display:block}.run-control-batch-steps{flex-wrap:wrap;grid-column:1/-1;gap:5px;display:flex}.run-control-batch-steps span{border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono,monospace);border-radius:999px;padding:2px 6px;font-size:8px;font-weight:800}.run-control-batch-steps span.is-current{color:#f59e42;border-color:#f59e42;animation:.9s ease-in-out infinite alternate run-batch-step-pulse}.run-control-batch-steps span.is-done{color:#34d399;border-color:#34d399b3}@keyframes run-batch-step-pulse{0%{box-shadow:0 0 #f59e4200}to{box-shadow:0 0 10px #f59e4247}}.run-control-flow{background:linear-gradient(135deg, #38bdf81f, transparent 48%), var(--bg-secondary);border:1px solid #38bdf842;border-radius:8px;grid-template-columns:156px minmax(0,1fr);align-items:center;gap:12px;margin:10px 0;padding:10px;display:grid}.run-control-flow--clickable{text-align:left;cursor:pointer;width:100%;font:inherit;transition:transform .15s,border-color .15s}.run-control-flow--clickable:hover{border-color:#38bdf899;transform:translateY(-1px)}.run-flow-edge.is-running{stroke:#f59e42;stroke-width:1.6px;animation:1s linear infinite run-flow-dash}.run-flow-edge.is-batch-current{stroke:#f59e42;stroke-width:2px;animation:.75s linear infinite run-flow-dash}.run-flow-edge.is-batch-complete{stroke:#34d399;stroke-width:1.8px;stroke-dasharray:none}.run-flow-node.is-batch-current circle{stroke:#f59e42;stroke-width:2.3px;fill:#f59e4233}.run-flow-node.is-batch-complete circle{stroke:#34d399;fill:#34d39933}@keyframes run-flow-dash{to{stroke-dashoffset:-16px}}.pipeline-flow-modal{z-index:100;-webkit-backdrop-filter:blur(8px);background:#080c14c7;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out pf-modal-fade;display:flex;position:fixed;inset:0}@keyframes pf-modal-fade{0%{opacity:0}to{opacity:1}}.pipeline-flow-modal-content{background:var(--bg-overlay);border:1px solid var(--border-strong);border-radius:12px;flex-direction:column;width:min(1100px,96vw);max-height:92vh;animation:.22s ease-out pf-modal-pop;display:flex;overflow:hidden;box-shadow:0 24px 60px #0000008c}@keyframes pf-modal-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.pipeline-flow-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 22px;display:flex}.pipeline-flow-modal-kicker{color:#38bdf8;font-family:var(--font-mono,monospace);letter-spacing:1.4px;margin-bottom:4px;font-size:10px;font-weight:800;display:block}.pipeline-flow-modal-header h3{color:var(--text-primary);margin:0;font-size:16px}.pipeline-flow-modal-header p{color:var(--text-secondary);margin:6px 0 0;font-size:12px;line-height:1.55}.pipeline-flow-header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.pipeline-flow-header-actions button{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-mono,monospace);white-space:nowrap;cursor:pointer;border-radius:7px;padding:8px 10px;font-size:10px;font-weight:800}.pipeline-flow-header-actions button:first-child{color:#38bdf8;background:#38bdf824;border-color:#38bdf8}.pipeline-flow-header-actions button:disabled{cursor:not-allowed;opacity:.55}.pipeline-flow-modal-close{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:8px;flex-shrink:0;width:32px;height:32px;font-size:18px}.pipeline-flow-modal-close:hover{background:var(--bg-soft)}.pipeline-flow-modal-svg-wrap{flex:auto;min-height:0;padding:14px 22px;overflow:auto}.pipeline-flow-modal-svg-wrap svg{width:100%;height:auto;max-height:64vh;display:block}.pf-lane-label{font-family:var(--font-mono,monospace);fill:#94a3b8a6;letter-spacing:1.5px;font-size:12px;font-weight:800}.pf-edge{fill:none;stroke:#94a3b873;stroke-width:1.6px;stroke-dasharray:6 6;transition:stroke .3s}.pf-edge--complete{stroke:#34d3998c;stroke-dasharray:none}.pf-edge--flowing{stroke:#f59e42;stroke-width:2.4px;stroke-dasharray:10 8;filter:drop-shadow(0 0 4px #f59e428c);animation:.9s linear infinite pf-flow-dash}.pf-edge--batch-current{stroke:#f59e42;stroke-width:3px;stroke-dasharray:12 8;filter:drop-shadow(0 0 7px #f59e4294);animation:.75s linear infinite pf-flow-dash}.pf-edge--batch-complete{stroke:#34d399d1;stroke-width:2.2px;stroke-dasharray:none}@keyframes pf-flow-dash{to{stroke-dashoffset:-36px}}.pf-node-bg{fill:var(--bg-card)}.pf-node-ring{fill:none;stroke:#94a3b88c;stroke-width:2px}.pf-node-pulse{fill:#f59e422e;stroke:#f59e42b3;stroke-width:2px;transform-origin:50%;transform-box:fill-box;animation:1.4s ease-out infinite pf-node-pulse}@keyframes pf-node-pulse{0%{opacity:.85;transform:scale(.85)}to{opacity:0;transform:scale(1.55)}}.pf-node--running .pf-node-ring{stroke:#f59e42;stroke-width:2.6px}.pf-node--ready .pf-node-ring{stroke:#34d399}.pf-node--error .pf-node-ring{stroke:#ef4444}.pf-node--batch-current .pf-node-bg{fill:#f59e4229}.pf-node--batch-current .pf-node-ring{stroke:#f59e42;stroke-width:3.2px}.pf-node--batch-complete .pf-node-ring{stroke:#34d399;stroke-width:2.6px}.pf-node-lane{font-family:var(--font-mono,monospace);letter-spacing:.8px;text-anchor:middle;fill:#94a3b8d9;font-size:9px;font-weight:800}.pf-node--ready .pf-node-lane{fill:#34d399}.pf-node--running .pf-node-lane{fill:#f59e42}.pf-node--error .pf-node-lane{fill:#ef4444}.pf-node-status{text-anchor:middle;fill:var(--text-primary);font-size:10px;font-weight:700}.pf-node--running .pf-node-status{fill:#f59e42}.pf-node-title{text-anchor:middle;fill:var(--text-secondary);font-size:11px}.pf-node:hover .pf-node-bg{fill:var(--bg-soft)}.pipeline-flow-modal-actions{border-top:1px solid var(--border);background:var(--bg-secondary);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;max-height:26vh;padding:14px 22px 18px;display:grid;overflow-y:auto}.pipeline-flow-action{border:1px solid var(--border);background:var(--bg-card);text-align:left;cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 10px;transition:all .15s;display:flex}.pipeline-flow-action:hover:not(:disabled){border-color:#38bdf8;transform:translateY(-1px)}.pipeline-flow-action:disabled{opacity:.55;cursor:wait}.pipeline-flow-action--running{background:#f59e4214;border-color:#f59e42}.pipeline-flow-action--ready{border-color:#34d39966}.pipeline-flow-action--error{border-color:#ef4444}.pipeline-flow-action-lane{font-family:var(--font-mono,monospace);letter-spacing:1px;color:var(--text-muted);font-size:9px;font-weight:800}.pipeline-flow-action-title{color:var(--text-primary);font-size:11.5px;font-weight:600}.pipeline-flow-action-cta{font-family:var(--font-mono,monospace);color:#38bdf8;margin-top:2px;font-size:10px;font-weight:700}.pipeline-flow-action--running .pipeline-flow-action-cta{color:#f59e42}.pipeline-flow-action--ready .pipeline-flow-action-cta{color:#34d399}.pipeline-flow-modal-detail{border-top:1px solid var(--border);background:var(--bg-secondary);max-height:32vh;padding:14px 22px 18px;overflow-y:auto}.pipeline-flow-modal-detail-title{font-family:var(--font-mono,monospace);letter-spacing:1.4px;color:#38bdf8;text-transform:uppercase;margin-bottom:10px;font-size:10px;font-weight:800}.pipeline-flow-modal-detail-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.pipeline-flow-detail-row{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.pipeline-flow-detail-row.status-running{background:#f59e420f;border-color:#f59e42}.pipeline-flow-detail-row.status-ready{border-color:#34d39966}.pipeline-flow-detail-row.status-error{border-color:#ef4444}.pipeline-flow-detail-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.pipeline-flow-detail-lane{font-family:var(--font-mono,monospace);letter-spacing:1px;color:var(--text-muted);font-size:9px;font-weight:800}.pipeline-flow-detail-state{background:var(--bg-soft);color:var(--text-secondary);border-radius:4px;padding:2px 6px;font-size:9.5px;font-weight:700}.status-running .pipeline-flow-detail-state{color:#f59e42;background:#f59e421f}.status-ready .pipeline-flow-detail-state{color:#34d399;background:#34d3991f}.pipeline-flow-detail-title{color:var(--text-primary);font-size:12.5px;font-weight:700}.pipeline-flow-detail-text{color:var(--text-secondary);margin:0;font-size:11px;line-height:1.5}.pipeline-flow-detail-links{color:var(--text-muted);flex-direction:column;gap:2px;font-size:10px;display:flex}.pipeline-flow-detail-btn{border:1px solid var(--border-strong);color:var(--text-primary);font-family:var(--font-mono,monospace);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;margin-top:4px;padding:5px 12px;font-size:10px;font-weight:700;transition:all .15s}.pipeline-flow-detail-btn:hover:not(:disabled){color:#38bdf8;border-color:#38bdf8}.pipeline-flow-detail-btn:disabled{opacity:.5;cursor:wait}.kas-layer-panel{position:relative}.kas-layer-panel-close,.run-control-close{border:1px solid var(--border);background:var(--bg-secondary);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;z-index:5;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex;position:absolute;top:8px;right:8px}.kas-layer-panel-close:hover,.run-control-close:hover{background:var(--bg-soft);color:var(--text-primary)}.run-control-panel{position:relative}.run-control-header{padding-right:36px}.pipeline-flow-inline{background:var(--bg-overlay);border:1px solid var(--border);width:min(1200px,96vw);box-shadow:var(--shadow-lg);border-radius:12px;flex-direction:column;margin:0 auto;padding:16px;display:flex}.pipeline-flow-modal-header--inline{border-bottom:1px solid var(--border);margin-bottom:8px;padding:6px 6px 14px}.pipeline-flow-inline .pipeline-flow-modal-svg-wrap{padding:14px 6px}.pipeline-flow-inline .pipeline-flow-modal-svg-wrap svg{max-height:60vh}.pipeline-flow-inline .pipeline-flow-modal-detail{border-top:1px solid var(--border);background:0 0;max-height:none;padding:14px 6px 6px}.run-control-flow svg{width:100%;height:auto;overflow:visible}.run-control-flow marker path{fill:#38bdf8db}.run-flow-edge{fill:none;stroke:#38bdf8a3;stroke-width:1.4px;stroke-linecap:round;stroke-dasharray:4 4}.run-flow-node circle{fill:var(--bg-card);stroke:#38bdf8;stroke-width:1.6px}.run-flow-node.status-ready circle{stroke:#34d399;fill:#34d39929}.run-flow-node.status-running circle{stroke:#f59e42;fill:#f59e422e}.run-flow-node.status-error circle{stroke:#ef4444;fill:#ef444429}.run-flow-node text{fill:var(--text-muted);font-family:var(--font-mono,monospace);text-anchor:middle;text-transform:uppercase;font-size:4px;font-weight:800}.run-control-flow span{color:#38bdf8;font-family:var(--font-mono,monospace);letter-spacing:.7px;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.run-control-flow strong{color:var(--text-primary);margin-top:4px;font-size:11px;line-height:1.4;display:block}.run-control-list{flex-direction:column;gap:8px;display:flex;position:relative}.run-control-list:before{content:"";background:linear-gradient(#38bdf8b8,#34d399a3,#38bdf829);width:1px;position:absolute;top:18px;bottom:18px;left:16px}.run-control-row{border:1px solid var(--border);background:var(--bg-secondary);border-left:3px solid #94a3b8;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 10px 10px 34px;display:grid;position:relative}.run-control-row:before{content:counter(run-step);counter-increment:run-step;background:var(--bg-overlay);color:#38bdf8;width:18px;height:18px;font-family:var(--font-mono,monospace);z-index:1;border:1px solid;border-radius:50%;place-items:center;font-size:9px;font-weight:900;display:grid;position:absolute;top:13px;left:7px}.run-control-list{counter-reset:run-step}.run-control-row.status-ready{border-left-color:#34d399}.run-control-row.status-ready:before{color:#34d399}.run-control-row.status-running{border-left-color:#f59e42}.run-control-row.status-running:before{color:#f59e42}.run-control-row.status-needs-run{border-left-color:#38bdf8}.run-control-row.status-error{border-left-color:#ef4444}.run-control-row.status-error:before{color:#ef4444}.run-control-row-main{min-width:0}.run-control-row-top{align-items:center;gap:6px;margin-bottom:4px;display:flex}.run-control-lane,.run-control-state{background:var(--bg-soft);color:var(--text-muted);font-family:var(--font-mono,monospace);letter-spacing:.4px;text-transform:uppercase;border-radius:999px;padding:2px 6px;font-size:8.5px;font-weight:800}.run-control-row strong{color:var(--text-primary);font-size:12px;display:block}.run-control-row p{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:3px 0 0;font-size:10.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.run-control-meta{font-family:var(--font-mono,monospace);flex-wrap:wrap;gap:7px;margin-top:5px;display:flex}.run-control-links{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.run-control-links span{max-width:100%;color:var(--text-secondary);font-family:var(--font-mono,monospace);text-overflow:ellipsis;white-space:nowrap;background:#38bdf814;border:1px solid #38bdf82e;border-radius:999px;padding:3px 6px;font-size:8.5px;line-height:1.3;overflow:hidden}.run-control-action{background:var(--bg-card);min-width:76px;color:var(--text-primary);font-family:var(--font-mono,monospace);cursor:pointer;border:1px solid #38bdf8;border-radius:7px;padding:8px 10px;font-size:10px;font-weight:800}.run-control-action:hover:not(:disabled){background:var(--bg-soft)}.run-control-action:disabled{cursor:not-allowed;opacity:.55}.kas-side-legend{background:var(--bg-overlay);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-strong);border-radius:var(--radius-md);width:100%;box-shadow:var(--shadow-lg);padding:12px}.kas-side-legend-title{border-bottom:1px solid var(--border);flex-direction:column;max-height:260px;margin-bottom:10px;padding-bottom:10px;display:flex;overflow:hidden}.kas-side-legend-title>*{flex:1;min-height:0;margin:0!important}.kas-side-legend-title .timeline-container{box-shadow:none;background:0 0;border:none;max-height:260px;padding:4px 0}.kas-side-legend-items{flex-direction:column;gap:8px;display:flex}.kas-map-explain{border-bottom:1px solid var(--border);margin-bottom:10px;padding:10px 0 12px}.kas-map-explain-kicker{color:var(--accent);font-family:var(--font-mono,monospace);letter-spacing:1.2px;text-transform:uppercase;margin-bottom:5px;font-size:9px;font-weight:800;display:block}.kas-map-explain strong{color:var(--text-primary);font-size:12px;line-height:1.35;display:block}.kas-map-explain p{color:var(--text-secondary);margin:6px 0 0;font-size:10px;line-height:1.5}.map-tool-guide-list{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;padding-bottom:12px;display:grid}.map-tool-guide{border:1px solid var(--border);background:var(--bg-secondary);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;gap:8px;padding:10px;transition:all .15s;display:flex}.map-tool-guide:hover,.map-tool-guide.is-active{background:#38bdf814;border-color:#38bdf875}.map-tool-guide-icon{width:32px;height:32px;color:var(--accent);background:#38bdf814;border:1px solid #38bdf857;border-radius:6px;place-items:center;display:grid}.map-tool-guide-icon svg{width:18px;height:18px}.map-tool-guide>span:last-child{flex-direction:column;gap:3px;width:100%;display:flex}.map-tool-guide strong{color:var(--text-primary);font-size:10.5px;line-height:1.3;display:block}.map-tool-guide small{color:var(--text-secondary);font-size:9.5px;line-height:1.4;display:block}.kas-legend-item{color:var(--text-secondary);border-bottom:1px solid #94a3b81f;align-items:flex-start;gap:8px;padding:6px 0;font-size:11px;font-weight:600;display:flex}.kas-legend-item:last-child{border-bottom:0}.kas-legend-item div{flex:1;min-width:0}.kas-legend-item strong{color:var(--text-primary);font-size:11px;display:block}.kas-legend-item small{color:var(--text-muted);margin-top:2px;font-size:9px;line-height:1.35;display:block}.kas-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:3px}.kas-legend-dot.kas-level-critical{background:var(--alert-g3);box-shadow:0 0 6px var(--alert-g3)}.kas-legend-dot.kas-level-high{background:var(--alert-g2);box-shadow:0 0 6px var(--alert-g2)}.kas-legend-dot.kas-level-moderate{background:var(--alert-g1);box-shadow:0 0 6px var(--alert-g1)}.kas-legend-dot.kas-level-low{background:var(--alert-g0);box-shadow:0 0 6px var(--alert-g0)}.kas-legend-count{font-family:var(--font-mono);color:var(--text-primary);margin-top:1px;margin-left:2px;font-weight:800}.kas-bottom-left-legend{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-overlay);-webkit-backdrop-filter:blur(14px);width:280px;box-shadow:var(--shadow-lg);z-index:18;flex-direction:column;gap:4px;padding:10px 12px;display:flex;position:absolute;bottom:20px;left:20px}.kas-bottom-left-legend .kas-legend-item{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:3px 0;display:flex}.kas-bottom-left-legend .kas-legend-item:last-child{border-bottom:none}.kas-bottom-left-legend .kas-legend-item>div{flex-direction:column;flex:auto;min-width:0;line-height:1.2;display:flex}.kas-bottom-left-legend .kas-legend-item strong{color:var(--text-primary);font-size:11px;font-weight:700}.kas-bottom-left-legend .kas-legend-item small{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.kas-bottom-left-legend .kas-legend-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.kas-bottom-left-legend .kas-legend-count{font-family:var(--font-mono,monospace);color:var(--text-primary);background:var(--bg-secondary);text-align:center;border-radius:4px;min-width:22px;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:700}.kas-bottom-legend .kas-legend-item{border-right:1px solid var(--border);flex:1 1 0;align-items:center;gap:6px;min-width:0;padding:2px 8px 2px 4px;display:flex}.kas-bottom-legend .kas-legend-item:last-child{border-right:none}.kas-bottom-legend .kas-legend-item>div{flex-direction:column;line-height:1.2;display:flex}.kas-bottom-legend .kas-legend-item strong{color:var(--text-primary);font-size:11px;font-weight:700}.kas-bottom-legend .kas-legend-item small{color:var(--text-secondary);white-space:nowrap;font-size:9.5px}.kas-bottom-legend .kas-legend-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.kas-bottom-legend .kas-legend-count{font-family:var(--font-mono,monospace);color:var(--text-primary);background:var(--bg-secondary);text-align:center;border-radius:4px;min-width:22px;margin-left:4px;padding:2px 6px;font-size:10px;font-weight:700}@media (width<=1100px){.kas-bottom-legend{justify-content:space-between;bottom:8px;left:12px;right:12px}.kas-bottom-legend .kas-legend-item small{display:none}}.kas-right-toolbar{flex-direction:row;justify-content:flex-end;gap:6px;display:flex}.kas-toolbar-btn{border:1px solid var(--border);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;box-shadow:none;background:0 0;border-radius:2px;justify-content:center;align-items:center;padding:0;transition:color .12s,border-color .12s,background .12s;display:flex}.kas-toolbar-btn svg{stroke-width:1.5px;display:block}.kas-toolbar-btn:hover{color:var(--text-primary);border-color:var(--text-secondary);background:var(--bg-secondary)}.kas-toolbar-btn--active{color:var(--text-primary);border-color:var(--text-primary);background:var(--bg-secondary)}.kas-toolbar-btn--active svg{stroke-width:1.75px}.kas-toolbar-btn:disabled{opacity:.35;cursor:not-allowed}@keyframes kas-spin{to{transform:rotate(360deg)}}.kas-toolbar-spin{transform-origin:50%;animation:1s linear infinite kas-spin}@media (width<=768px){.kas-map-view{flex-direction:column;gap:10px;height:calc(100svh - 104px);min-height:0;padding-bottom:14px;display:flex;overflow:hidden auto}.kas-map-container{flex:none;height:56vh;min-height:360px;position:relative;inset:auto}.map-system-brief{width:auto;margin:10px;position:relative;top:auto;left:auto}.kas-region-panel,.kas-right-stack,.kas-layer-panel{z-index:5;width:auto;margin:0 10px;position:relative;top:auto;left:auto;right:auto}.kas-region-panel{max-height:none;overflow:visible}.kas-right-stack{align-items:stretch}.run-control-panel{width:auto;max-height:none;margin:0 10px}.run-control-summary,.run-control-row{grid-template-columns:1fr}.run-control-action{width:100%}.kas-right-toolbar{justify-content:flex-start;overflow-x:auto}.kas-side-legend-title,.kas-side-legend-title .timeline-container{max-height:180px}.kas-layer-panel{padding:12px}}.top-nav-date-wrap{position:relative}.top-nav-date--button{cursor:pointer;border:1px solid var(--border);transition:border-color .12s,color .12s}.top-nav-date--button:hover,.top-nav-date--open{border-color:var(--text-secondary);color:var(--text-primary)}.top-nav-date-caret{color:var(--text-muted);margin-left:4px;font-size:9px}.top-nav-date-picker{background:var(--bg-primary);border:1px solid var(--border-strong);z-index:100;border-radius:2px;min-width:220px;padding:10px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 20px #00000026}.top-nav-date-input{background:var(--bg-secondary);border:1px solid var(--border);width:100%;color:var(--text-primary);font-family:var(--font-mono);border-radius:2px;padding:6px 8px;font-size:12px}.top-nav-date-input:focus{border-color:var(--text-secondary);outline:none}.top-nav-date-list{max-height:220px;margin-top:8px;overflow-y:auto}.top-nav-date-list-title{color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;padding-left:2px;font-size:10px}.top-nav-date-list-item{text-align:left;width:100%;color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;border-left:2px solid #0000;padding:5px 8px;font-size:11px;display:block}.top-nav-date-list-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.top-nav-date-list-item--active{color:var(--text-primary);background:var(--bg-secondary);border-left-color:var(--text-primary)}.kas-layer-panel{background:var(--bg-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-strong);border-radius:var(--radius-md);width:220px;box-shadow:var(--shadow-lg);z-index:21;padding:12px;animation:.2s ease-out kas-slide-in;position:absolute;top:72px;right:250px}.kas-layer-panel-title{letter-spacing:1px;color:var(--text-muted);text-transform:uppercase;border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:8px;font-size:10px;font-weight:700}.kas-layer-data-note{color:var(--text-muted);background:#ffb40014;border:1px solid #ffb40033;border-radius:4px;margin-bottom:8px;padding:6px 8px;font-size:10px;line-height:1.5}.kas-layer-item{color:var(--text-secondary);cursor:pointer;border-radius:4px;align-items:center;gap:8px;margin-bottom:2px;padding:7px 8px;font-size:12px;transition:all .12s;display:flex}.kas-layer-item:hover{background:var(--bg-soft);color:var(--text-primary)}.kas-layer-item.active{color:var(--text-primary);background:#00d4ff14}.kas-layer-item input[type=checkbox]{accent-color:#00d4ff;cursor:pointer}.kas-aggregation{border-top:1px solid var(--border);align-items:center;gap:4px;margin-top:8px;padding-top:8px;display:flex}.kas-aggregation-label{color:var(--text-muted);letter-spacing:.5px;margin-right:4px;font-size:10px}.kas-agg-btn{background:var(--bg-soft);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:10px;font-weight:700;transition:all .12s}.kas-agg-btn--active{color:#00d4ff;background:#00d4ff1f;border-color:#00d4ff}.kas-tab-view{background:var(--bg-primary);flex:1;height:calc(100vh - 56px);min-height:0;padding:24px;overflow:hidden auto}.kas-tab-view--pathway{padding:0}.data-source-command-board{border:1px solid var(--border);border-radius:var(--radius-md);background:radial-gradient(circle at 8% 20%, #38bdf824, transparent 34%), linear-gradient(135deg, #0f172a05, #00d4ff0d), var(--bg-card);grid-template-columns:minmax(260px,.58fr) minmax(0,1fr);gap:18px;max-width:1600px;margin:0 auto 18px;padding:18px;display:grid}.data-source-kicker{color:#38bdf8;font-family:var(--font-mono,monospace);letter-spacing:1.2px;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:800;display:block}.data-source-command-board h2{color:var(--text-primary);margin:0;font-size:22px;line-height:1.2}.data-source-command-board p{color:var(--text-secondary);margin:10px 0 0;font-size:13px;line-height:1.65}.source-section-helper{color:var(--text-secondary);border-left:2px solid #38bdf873;margin:-4px 0 14px;padding-left:10px;font-size:12px;line-height:1.6}.data-source-limitation-banner{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-md);border-left:3px solid #f59e0b;margin:0 24px 18px;padding:16px 20px}.limitation-banner-header{letter-spacing:.5px;color:#f59e0b;text-transform:uppercase;margin-bottom:12px;font-size:12px;font-weight:700}.limitation-banner-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px;display:grid}.limitation-item{border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:4px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.limitation-item strong{color:var(--text-primary);font-size:12px}.limitation-item span{color:var(--text-secondary);font-size:11px}.limitation-tag{letter-spacing:.3px;border-radius:3px;width:fit-content;padding:1px 6px;font-weight:600;display:inline-block;font-size:10px!important}.limitation-available{background:#10b9810f;border-color:#10b98140}.limitation-available .limitation-tag{color:#10b981;background:#10b98126}.limitation-unavailable{background:#ef44440a;border-color:#ef444433}.limitation-unavailable .limitation-tag{color:#ef4444;background:#ef44441f}.limitation-pending{background:#f59e0b0d;border-color:#f59e0b33}.limitation-pending .limitation-tag{color:#f59e0b;background:#f59e0b26}.limitation-banner-footer{color:var(--text-muted);border-top:1px solid var(--border);padding-top:10px;font-size:11px;line-height:1.6}.source-visibility-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.source-visibility-card{border:1px solid var(--border);background:var(--bg-secondary);border-top:3px solid #38bdf8;border-radius:10px;flex-direction:column;gap:9px;min-height:180px;padding:14px;display:flex}.source-visibility-card.tone-green{border-top-color:#34d399}.source-visibility-card.tone-amber{border-top-color:#f59e42}.source-visibility-card.tone-blue{border-top-color:#38bdf8}.source-visibility-card.tone-slate{border-top-color:#94a3b8}.source-visibility-card.tone-red{border-top-color:#ef4444}.source-card-topline,.source-card-meta{color:var(--text-muted);font-family:var(--font-mono,monospace);justify-content:space-between;gap:8px;font-size:10px;display:flex}.source-card-topline span{letter-spacing:1px;font-weight:800}.source-card-topline strong{color:var(--text-primary);font-weight:800}.source-visibility-card h3{color:var(--text-primary);margin:0;font-size:14px}.source-visibility-card p{color:var(--text-secondary);margin:0;font-size:11.5px;line-height:1.55}.source-card-meta{border-top:1px solid var(--border);flex-direction:column;margin-top:auto;padding-top:10px}.kas-sources-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:18px;max-width:1400px;margin:0 auto;display:grid}.kas-sources-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;max-width:1600px;margin:0 auto;display:grid}.kas-sources-main{flex-direction:column;gap:18px;min-width:0;display:flex}.kas-sources-aside{flex-direction:column;gap:18px;display:flex}.kas-console-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md)}.kas-console-card h3{font-family:var(--font-mono,monospace);letter-spacing:1.4px}.console-card-desc{color:var(--text-secondary);margin:0 0 10px;font-size:11px;line-height:1.5}.console-action-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;font-family:var(--font-mono,inherit);flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:10px;padding:12px 14px;transition:border-color .15s,background .15s,transform 50ms;display:flex}.console-action-btn:hover:not(:disabled){background:var(--bg-soft);border-color:#00d4ff}.console-action-btn:active:not(:disabled){transform:translateY(1px)}.console-action-btn:disabled{opacity:.55;cursor:not-allowed}.console-btn-title{letter-spacing:.8px;text-transform:uppercase;font-size:13px;font-weight:700}.console-btn-sub{color:var(--text-secondary);letter-spacing:.3px;text-transform:none;font-size:10.5px;font-weight:400}.console-action-btn.osint-analysis-btn,.console-action-btn.kdca-report-btn,.console-action-btn.sentinel-analysis-btn{background:var(--bg-secondary);width:100%;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);letter-spacing:0;justify-content:flex-start;align-items:flex-start;margin:0 0 10px;padding:12px 14px;font-size:13px}.console-action-btn.osint-analysis-btn{border-left:3px solid #6b8aff}.console-action-btn.kdca-report-btn{border-left:3px solid #34d399}.console-action-btn.sentinel-analysis-btn{border-left:3px solid #38bdf8}.console-action-btn.console-neutral-btn{border-left:3px solid #94a3b8}.console-action-btn.osint-analysis-btn:hover:not(:disabled),.console-action-btn.kdca-report-btn:hover:not(:disabled),.console-action-btn.sentinel-analysis-btn:hover:not(:disabled){background:var(--bg-soft);box-shadow:none;border-color:#00d4ff}.kas-console-group{padding:18px}.kas-console-group-title{font-family:var(--font-mono,monospace);letter-spacing:2px;color:var(--text-primary);text-transform:uppercase;border-bottom:2px solid #00d4ff;margin:0 0 4px;padding-bottom:8px;font-size:14px;font-weight:800}.kas-console-subcard{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:12px;padding:12px}.kas-console-subcard-title{font-family:var(--font-mono,monospace);letter-spacing:1.2px;color:var(--text-primary);text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:700}.region-detail-inline{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.region-detail-inline--floating{background:var(--bg-secondary);margin-top:14px;padding:12px}.region-detail-header{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;margin-bottom:12px;padding-bottom:10px;display:flex}.region-detail-name{font-family:var(--font-mono,monospace);letter-spacing:1px;color:var(--text-primary);font-size:15px;font-weight:800}.region-detail-sub{color:var(--text-secondary);margin-top:2px;font-size:11px}.region-detail-score{font-family:var(--font-mono,monospace);flex-direction:column;align-items:flex-end;margin-left:auto;font-size:20px;font-weight:800;display:flex}.region-detail-level{letter-spacing:1.2px;opacity:.8;font-size:10px;font-weight:700}.region-detail-close{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;width:24px;height:24px}.region-detail-close:hover{background:var(--bg-soft);color:var(--text-primary)}.region-detail-section{margin-top:14px}.region-detail-section-title{letter-spacing:1px;color:var(--text-secondary);text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700}.region-timeline-graph{flex-direction:column;gap:6px;display:flex}.region-timeline-svg{width:100%;height:140px;display:block}.region-detail-inline--floating .region-timeline-svg{height:100px}.region-timeline-meta{font-size:10.5px;font-family:var(--font-mono,monospace);color:var(--text-secondary);justify-content:space-between;display:flex}.region-timeline-trend{font-weight:700}.region-detail-signals{flex-direction:column;gap:6px;display:flex}.region-detail-signal-row{align-items:center;gap:10px;font-size:11.5px;display:flex}.region-detail-signal-label{color:var(--text-primary);flex:0 0 110px;font-weight:600}.region-detail-signal-bar{background:var(--bg-soft);border-radius:3px;flex:1;height:6px;overflow:hidden}.region-detail-signal-fill{height:100%;transition:width .3s}.region-detail-signal-value{text-align:right;font-family:var(--font-mono,monospace);color:var(--text-primary);flex:0 0 36px}.region-detail-signal-disabled{color:var(--text-secondary);flex:1;font-size:11px}.region-detail-explanation{color:var(--text-primary);margin:0;padding-left:18px;font-size:11.5px;line-height:1.5}.region-detail-explanation li{margin-bottom:4px}.stats-detail-section{margin-top:22px}.stats-region-row--selected{outline-offset:-2px;outline:2px solid #00d4ff}.kas-region-panel-timeline{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}@media (width<=1024px){.data-source-command-board{grid-template-columns:1fr}.source-visibility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kas-sources-layout{grid-template-columns:1fr}.kas-sources-aside{position:static}}.kas-sources-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);min-height:280px;padding:18px}.kas-sources-card h3{letter-spacing:1px;color:var(--text-primary);text-transform:uppercase;border-bottom:2px solid #00d4ff;margin:0 0 14px;padding-bottom:8px;font-size:13px;font-weight:700;display:inline-block}.statistics-view{flex-direction:column;gap:22px;max-width:1400px;margin:0 auto;display:flex}.stats-intro-card{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(135deg, #38bdf81f, #34d39914), var(--bg-card);box-shadow:var(--shadow-sm);padding:18px}.stats-intro-card span{color:var(--accent);font-family:var(--font-mono,monospace);letter-spacing:1.2px;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:800;display:block}.stats-intro-card h2{color:var(--text-primary);margin:0;font-size:20px;line-height:1.25}.stats-intro-card p,.stats-section-copy{color:var(--text-secondary);font-size:12px;line-height:1.65}.stats-intro-card p{margin:8px 0 0}.stats-section-copy{margin:-4px 0 14px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.stats-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:18px;position:relative;overflow:hidden}.stats-card:before{content:"";width:3px;height:100%;position:absolute;top:0;left:0}.stats-card--critical:before{background:var(--alert-g3)}.stats-card--elevated:before{background:var(--alert-g2)}.stats-card--total:before{background:#00d4ff}.stats-card--avg:before{background:var(--accent)}.stats-card-label{color:var(--text-muted);letter-spacing:.8px;text-transform:uppercase;margin-bottom:6px;font-size:11px}.stats-card-value{font-family:var(--font-mono);color:var(--text-primary);font-size:32px;font-weight:800;line-height:1}.stats-card-meta{color:var(--text-muted);font-size:10px;font-family:var(--font-mono);margin-top:6px}.stats-two-col{grid-template-columns:1.2fr 1fr;gap:18px;display:grid}@media (width<=900px){.stats-two-col{grid-template-columns:1fr}}.stats-section-title{letter-spacing:1px;text-transform:uppercase;color:var(--text-primary);border-bottom:2px solid #00d4ff;margin:0 0 12px;padding-bottom:6px;font-size:12px;font-weight:700;display:inline-block}.stats-region-list{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.stats-region-rows{flex-direction:column;gap:2px;display:flex}.stats-region-row{cursor:pointer;text-align:left;color:var(--text-primary);background:0 0;border:1px solid #0000;border-radius:4px;grid-template-columns:28px 1fr 60px 48px;align-items:center;gap:10px;padding:8px 10px;font-size:12px;transition:all .12s;display:grid}.stats-region-row:hover{background:var(--bg-soft);border-color:var(--border)}.stats-region-row--G3{border-left:3px solid var(--alert-g3)}.stats-region-row--G2{border-left:3px solid var(--alert-g2)}.stats-region-row--G1{border-left:3px solid var(--alert-g1)}.stats-region-row--G0{border-left:3px solid var(--alert-g0)}.stats-region-rank{font-family:var(--font-mono);color:var(--text-muted);font-size:11px;font-weight:700}.stats-region-name{font-weight:600}.stats-region-score{font-family:var(--font-mono);text-align:right;font-weight:700}.stats-region-level{font-family:var(--font-mono);text-align:center;letter-spacing:.5px;border-radius:3px;padding:3px 6px;font-size:10px;font-weight:700}.stats-region-level--G3{color:var(--alert-g3);background:#dc354526}.stats-region-level--G2{color:var(--alert-g2);background:#e8831a26}.stats-region-level--G1{color:var(--alert-g1);background:#c9a50026}.stats-region-level--G0{color:var(--alert-g0);background:#22875a26}.stats-scoring-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.widget-view{max-width:1000px;margin:0 auto}.widget-title{color:var(--text-primary);margin:0 0 8px;font-size:20px;font-weight:700}.widget-desc{color:var(--text-secondary);margin:0 0 22px;font-size:13px}.widget-size-selector{gap:10px;margin-bottom:22px;display:flex}.widget-size-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);flex-direction:column;flex:1;align-items:center;gap:3px;padding:12px 16px;font-size:13px;font-weight:600;transition:all .12s;display:flex}.widget-size-btn:hover{border-color:var(--accent)}.widget-size-btn--active{color:#00d4ff;background:#00d4ff14;border-color:#00d4ff}.widget-size-dim{font-family:var(--font-mono);opacity:.75;font-size:10px}.widget-preview{justify-content:center;margin-bottom:22px;display:flex}.widget-preview-frame{background:var(--bg-card);border:2px dashed var(--border-strong);border-radius:var(--radius-md);justify-content:center;align-items:center;display:flex}.widget-preview-placeholder{color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;font-size:13px;display:flex}.widget-preview-icon{font-size:36px}.widget-preview-size{font-family:var(--font-mono);opacity:.75;font-size:10px}.widget-code-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.widget-code-header{background:var(--bg-soft);border-bottom:1px solid var(--border);letter-spacing:1px;color:var(--text-muted);text-transform:uppercase;justify-content:space-between;align-items:center;padding:10px 14px;font-size:11px;font-weight:700;display:flex}.widget-code-copy{color:#0b1120;cursor:pointer;background:#00d4ff;border:none;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:700}.widget-code-copy:hover{background:#3df}.widget-code-block{font-family:var(--font-mono);color:var(--text-primary);white-space:pre-wrap;word-break:break-all;margin:0;padding:14px;font-size:12px}.report-view{grid-template-columns:280px 1fr;gap:18px;max-width:1400px;min-height:600px;margin:0 auto;display:grid}@media (width<=800px){.report-view{grid-template-columns:1fr}}.report-sidebar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:10px;padding:14px;display:flex}.report-sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.report-sidebar-header h3{letter-spacing:1px;text-transform:uppercase;color:var(--text-primary);margin:0;font-size:13px;font-weight:700}.report-generate-btn{color:#0b1120;cursor:pointer;background:#00d4ff;border:none;border-radius:4px;padding:6px 10px;font-size:11px;font-weight:700}.report-generate-btn:hover:not(:disabled){background:#3df}.report-generate-btn:disabled{opacity:.55;cursor:not-allowed}.report-loading,.report-empty{text-align:center;color:var(--text-muted);padding:20px;font-size:12px}.report-list{flex-direction:column;gap:4px;display:flex}.report-list-item{border:1px solid #0000;border-left:2px solid var(--border);cursor:pointer;text-align:left;background:0 0;border-radius:4px;flex-direction:column;gap:2px;padding:8px 10px;transition:all .12s;display:flex}.report-list-item:hover{background:var(--bg-soft);border-color:var(--border);border-left-color:var(--accent)}.report-list-item--active{border-color:var(--border);background:#00d4ff14;border-left-color:#00d4ff}.report-list-epiweek{font-family:var(--font-mono);color:var(--text-primary);font-size:12px;font-weight:700}.report-list-date{color:var(--text-muted);font-size:10px;font-family:var(--font-mono)}.report-content{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;padding:20px;display:flex}.report-markdown-header{border-bottom:2px solid #00d4ff;margin-bottom:16px;padding-bottom:12px}.report-markdown-header h2{font-family:var(--font-mono);color:var(--text-primary);margin:0;font-size:18px;font-weight:800}.report-markdown-body{font-family:var(--font-sans);color:var(--text-primary);white-space:pre-wrap;word-break:break-word;flex:1;margin:0;font-size:13px;line-height:1.6;overflow-y:auto}.report-empty-state{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.report-empty-icon{opacity:.4;font-size:48px}.chatbot-fab{opacity:0!important;pointer-events:none!important;position:absolute!important;top:-9999px!important;left:-9999px!important}.report-type-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;padding:8px 12px;display:flex}.report-type-tab{background:var(--bg-secondary);min-width:54px;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);letter-spacing:.5px;font-size:11px;font-weight:700;font-family:var(--font-mono,inherit);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:6px;padding:6px 8px;transition:border-color .15s,color .15s;display:flex}.report-type-tab:hover{color:var(--text-primary);border-color:#00d4ff}.report-type-tab--active{color:var(--text-primary);background:var(--bg-soft);border-color:#00d4ff}.report-type-tab-count{color:var(--text-muted);background:var(--bg-primary);border-radius:8px;padding:1px 6px;font-size:10px;font-weight:400}.report-list-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.report-list-badge{font-family:var(--font-mono,inherit);letter-spacing:1px;font-size:10px;font-weight:700}.report-list-cadence{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:9px}.report-recipients{border-top:1px solid var(--border);background:var(--bg-secondary);margin-top:12px;padding:12px}.report-recipients-title{letter-spacing:1px;color:var(--text-secondary);font-size:11px;font-weight:700;font-family:var(--font-mono,inherit);margin-bottom:8px}.report-recipients-add{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.report-recipient-input{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);padding:6px 8px;font-size:11px}.report-recipient-input:focus{border-color:#00d4ff;outline:none}.report-recipient-add-btn{background:var(--accent,#6366f1);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:6px 10px;font-size:11px;font-weight:600}.report-recipient-add-btn:hover{opacity:.9}.report-recipient-row{border-bottom:1px dashed var(--border);align-items:center;gap:6px;padding:4px 0;font-size:11px;display:flex}.report-recipient-email{color:var(--text-primary);word-break:break-all;flex:1}.report-recipient-name{color:var(--text-muted);font-size:10px}.report-recipient-remove{color:#ef4444;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px}.report-detail-badge{font-family:var(--font-mono,inherit);letter-spacing:1px;border:1px solid;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.report-detail-meta{color:var(--text-muted);font-size:10px;font-family:var(--font-mono,inherit);margin-top:4px}.report-detail-actions{gap:8px;display:flex}.report-email-send-btn{background:var(--bg-secondary);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:700;font-family:var(--font-mono,inherit);border:1px solid #00d4ff;padding:8px 14px;transition:background .15s}.report-email-send-btn:hover:not(:disabled){background:var(--bg-soft)}.report-email-send-btn:disabled{opacity:.5;cursor:not-allowed}.report-status{background:var(--bg-secondary);color:var(--text-secondary);border-left:3px solid #00d4ff;margin:8px 0;padding:6px 10px;font-size:11px}.report-markdown-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.report-view--control-room{grid-template-columns:340px minmax(0,1fr)}.report-view--control-room .report-sidebar{gap:14px}.report-view--control-room .report-sidebar-header{display:block}.report-kicker{color:#38bdf8;font-family:var(--font-mono,monospace);letter-spacing:1.2px;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:800;display:block}.report-sidebar-header p{color:var(--text-secondary);margin:8px 0 0;font-size:12px;line-height:1.5}.report-list-role{color:var(--text-secondary);font-size:10px;line-height:1.4}.report-markdown-header--control{border-bottom:1px solid var(--border);align-items:center;margin-bottom:18px}.report-markdown-header--control h2{margin:8px 0 0}.report-positioning-card{border-radius:var(--radius-md);background:linear-gradient(135deg, #38bdf81f, transparent 44%), var(--bg-secondary);border:1px solid #38bdf847;margin-bottom:16px;padding:16px}.report-positioning-card span,.report-raw-header span{color:var(--text-muted);font-family:var(--font-mono,monospace);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:800;display:block}.report-positioning-card strong{color:var(--text-primary);font-size:18px;line-height:1.25;display:block}.report-positioning-card p,.report-raw-header p{color:var(--text-secondary);margin:8px 0 0;font-size:13px;line-height:1.55}.report-brief-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.report-brief-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);min-height:190px;padding:16px;position:relative;overflow:hidden}.report-brief-card:before{content:"";background:#38bdf8;height:3px;position:absolute;inset:0 0 auto}.report-brief-card--changed:before{background:#38bdf8}.report-brief-card--matters:before{background:#34d399}.report-brief-card--confidence:before{background:#f59e42}.report-brief-card--actions:before{background:#ef4444}.report-brief-card span{color:var(--text-muted);font-family:var(--font-mono,monospace);font-size:11px;font-weight:800}.report-brief-card h3{color:var(--text-primary);margin:10px 0 8px;font-size:15px}.report-brief-card p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.55}.report-relationship-card{border-radius:var(--radius-md);background:radial-gradient(circle at 48% 42%, #38d8ff1f, transparent 36%), linear-gradient(135deg, #34d39914, transparent 44%), var(--bg-secondary);border:1px solid #38d8ff47;margin-bottom:16px;padding:16px;overflow:hidden}.report-relationship-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.report-relationship-header span,.report-relationship-insights span{color:var(--text-muted);font-family:var(--font-mono,monospace);letter-spacing:1px;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.report-relationship-header h3{color:var(--text-primary);margin:6px 0;font-size:17px}.report-relationship-header p{max-width:680px;color:var(--text-secondary);margin:0;font-size:12px;line-height:1.55}.report-relationship-header strong{color:#38d8ff;font-family:var(--font-mono,monospace);white-space:nowrap;border:1px solid #38d8ff52;border-radius:999px;padding:5px 9px;font-size:10px}.report-relationship-layout{grid-template-columns:minmax(0,1fr) 270px;align-items:stretch;gap:14px;display:grid}.report-relationship-card--wide{padding:22px 24px}.report-relationship-stage{border:1px solid var(--border);background:linear-gradient(90deg, #34d3990d, transparent 35%, #c084fc0d 100%), radial-gradient(circle at 50% 50%, #38d8ff0f, transparent 50%), var(--bg-card);border-radius:12px;width:100%;height:clamp(420px,56vh,640px);margin-bottom:16px;padding:8px;position:relative;overflow:hidden}.report-relationship-stage canvas{display:block;background:0 0!important}.ontology-detail-panel{border:1px solid var(--border-strong,#38bdf880);-webkit-backdrop-filter:blur(10px);z-index:5;width:min(280px,60%);max-height:calc(100% - 24px);font-family:var(--font-sans,Inter, system-ui, sans-serif);background:#0f172aeb;border-radius:10px;flex-direction:column;display:flex;position:absolute;top:12px;right:12px;overflow:hidden;box-shadow:0 12px 28px -10px #0000008c}.ontology-detail-header{border-bottom:1px solid #94a3b82e;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 14px 10px;display:flex}.ontology-detail-header>div{flex:1;min-width:0}.ontology-detail-header h4{color:var(--text-primary,#e2e8f0);word-break:keep-all;margin:4px 0;font-size:14px;line-height:1.3}.ontology-detail-kicker{color:var(--text-muted,#94a3b8);font-family:var(--font-mono,monospace);letter-spacing:1px;text-transform:uppercase;font-size:9.5px;font-weight:800;display:block}.ontology-detail-mentions{color:#38bdf8;font-family:var(--font-mono,monospace);letter-spacing:.5px;border:1px solid #38bdf859;border-radius:999px;padding:2px 8px;font-size:10px;display:inline-block}.ontology-detail-header button{width:22px;height:22px;color:var(--text-secondary,#cbd5e1);cursor:pointer;background:0 0;border:1px solid #94a3b84d;border-radius:6px;flex-shrink:0;padding:0;font-size:14px;line-height:1}.ontology-detail-header button:hover{color:#fecaca;background:#f871712e;border-color:#f8717166}.ontology-detail-body{padding:10px 14px 14px;overflow-y:auto}.ontology-detail-section-title{color:var(--text-muted,#94a3b8);font-family:var(--font-mono,monospace);letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;font-size:9.5px;font-weight:800;display:block}.ontology-detail-body ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ontology-detail-body li{cursor:pointer;background:#1e293b80;border:1px solid #94a3b81f;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;transition:background .12s,border-color .12s;display:flex}.ontology-detail-body li:hover{background:#38bdf81f;border-color:#38bdf84d}.ontology-detail-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.ontology-detail-name{min-width:0;color:var(--text-primary,#e2e8f0);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.ontology-detail-strength{color:#38bdf8;font-family:var(--font-mono,monospace);letter-spacing:.5px;font-size:10px}.report-relationship-card--wide .report-relationship-svg{aspect-ratio:1200/720;background:0 0;border:none;width:100%;height:auto;min-height:0;max-height:70vh;display:block}.rel-lane-label{font-family:var(--font-mono,monospace);letter-spacing:2px;fill:#94a3b8d9;font-size:13px;font-weight:800}.report-relationship-svg{border:1px solid var(--border);background:radial-gradient(circle at 50% 50%, #38d8ff1c, transparent 24%), radial-gradient(circle at 50% 50%, transparent 0 33%, #34d39912 34%, transparent 35% 52%, #c084fc12 53%, transparent 54%), var(--bg-card);border-radius:12px;width:100%;min-height:390px}.report-relationship-belowfig{border-top:1px solid var(--border);padding-top:14px}.report-relationship-insights-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.report-relationship-insights-row>div:first-child{flex:420px;min-width:0}.report-relationship-insights-row>div:first-child span{color:var(--text-muted);font-family:var(--font-mono,monospace);letter-spacing:1px;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.report-relationship-insights-row h4{color:var(--text-primary);margin:6px 0 10px;font-size:15px}.report-relationship-insights-row p{color:var(--text-secondary);border-left:2px solid #38d8ff66;margin:0 0 8px;padding-left:10px;font-size:12px;line-height:1.55}.rel-edge-sample{background:linear-gradient(90deg,#38d8ff,#c084fc);border-radius:2px;width:22px;height:2px;display:inline-block}.report-arrow-marker{fill:currentColor}.report-rel-edge{fill:none;color:#38d8ff}.report-rel-edge path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-dasharray:9 10;animation:2.2s linear infinite report-rel-flow}.report-rel-edge.edge-region{color:#ff7a5c}.report-rel-edge.edge-signal{color:#38d8ff}.report-rel-edge.edge-topic{color:#c084fc}.report-rel-edge.edge-action{color:#34d399}.report-rel-pulse{fill:currentColor;filter:drop-shadow(0 0 7px);opacity:.9}@keyframes report-rel-flow{to{stroke-dashoffset:-38px}}.report-rel-node{transition:opacity .18s,transform .18s}.report-rel-node circle{fill:var(--bg-card);stroke:var(--border-strong);stroke-width:1.6px;filter:drop-shadow(0 6px 14px #0000002e);transition:stroke-width .18s,filter .18s}.report-rel-node.is-dim{opacity:.22}.report-rel-node.is-active circle{stroke-width:2.6px;filter:drop-shadow(0 8px 22px #38d8ff66)}.report-rel-node:hover circle{stroke-width:3px}.report-rel-edge.is-dim{opacity:.22;transition:opacity .18s}.report-rel-edge.is-active path{animation:.9s ease-out rel-edge-pulse}@keyframes rel-edge-pulse{0%{stroke-dashoffset:0}to{stroke-dashoffset:-22px}}.report-rel-node.node-report circle{fill:#38d8ff1a;stroke:#38d8ff;stroke-width:2.2px}.report-rel-node.node-section circle{stroke:#38d8ff}.report-rel-node.node-region circle{stroke:#ff7a5c}.report-rel-node.node-signal circle{fill:#34d3991a;stroke:#34d399;stroke-width:2px}.report-rel-node.node-topic circle{fill:#c084fc1a;stroke:#c084fc;stroke-width:2px}.report-rel-node.node-action circle{stroke:#f59e42}.report-rel-node text{fill:var(--text-primary);text-anchor:middle;letter-spacing:.2px;font-size:12px;font-weight:700}.report-rel-node.node-report text{font-size:13px;font-weight:800}.report-rel-node .report-rel-subtitle{fill:var(--text-muted);font-family:var(--font-mono,monospace);font-size:9px;font-weight:700}.report-relationship-insights{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;padding:14px}.report-relationship-insights h4{color:var(--text-primary);margin:8px 0 10px;font-size:14px}.report-relationship-insights p{color:var(--text-secondary);border-left:2px solid #38d8ff59;margin:0 0 9px;padding-left:9px;font-size:11.5px;line-height:1.45}.report-relationship-legend{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.report-relationship-legend span{border:1px solid var(--border);color:var(--text-secondary);letter-spacing:0;text-transform:none;border-radius:999px;align-items:center;gap:5px;padding:4px 7px;font-size:10px;display:inline-flex}.rel-dot{border-radius:999px;width:8px;height:8px;display:inline-block}.rel-dot.region{background:#ff7a5c}.rel-dot.signal{background:#34d399}.rel-dot.topic{background:#c084fc}.rel-dot.action{background:#f59e42}.rel-dot.size{background:radial-gradient(circle,#38d8ff 0 35%,#38d8ff59 36% 100%);width:12px;height:12px}.report-context-note{border-radius:var(--radius-sm);color:var(--text-secondary);background:#6b8aff14;border:1px solid #6b8aff47;margin-bottom:16px;padding:12px 14px;font-size:12px;line-height:1.5}.report-raw-header{border-top:1px solid var(--border);margin:18px 0 10px;padding-top:16px}.report-view--control-room .report-markdown-body{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);max-height:520px;padding:16px}@media (width<=1180px){.report-brief-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-relationship-layout{grid-template-columns:1fr}}@media (width<=800px){.report-view--control-room,.report-brief-grid,.source-visibility-grid,.news-source-overview{grid-template-columns:1fr}}.flow-embedded{width:100%;min-height:calc(100vh - 92px)}.flow-container--control{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);width:100%;max-width:1580px;min-height:calc(100vh - 116px);box-shadow:var(--shadow-sm);margin:0 auto;overflow:hidden}.flow-header--control{align-items:flex-start}.flow-header-actions{align-items:center;gap:10px;display:flex}.pipeline-lang-toggle{border:1px solid var(--border);background:var(--bg-secondary);border-radius:999px;padding:3px;display:inline-flex}.pipeline-lang-toggle button{min-width:34px;color:var(--text-muted);font-family:var(--font-mono,monospace);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.pipeline-lang-toggle button.active{color:#06111f;background:#00d4ff}.pipeline-control-body{grid-template-columns:minmax(0,1.25fr) minmax(420px,.75fr);gap:18px;min-height:640px;padding:18px;display:grid}.pipeline-control-panel,.ontology-control-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);min-width:0;padding:16px}.pipeline-control-strip{align-items:stretch;gap:10px;padding-bottom:10px;display:flex;overflow-x:auto}.pipeline-stage-shell{flex:1 0 190px;align-items:center;min-width:190px;display:flex}.pipeline-stage-card{background:var(--bg-card);width:100%;min-height:276px;color:var(--text-primary);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;gap:10px;padding:14px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.pipeline-stage-card:hover,.pipeline-stage-card.is-selected{border-color:#00d4ff;transform:translateY(-1px);box-shadow:0 10px 24px #00d4ff14}.pipeline-stage-card.tone-blue{border-top:3px solid #38bdf8}.pipeline-stage-card.tone-green{border-top:3px solid #34d399}.pipeline-stage-card.tone-amber{border-top:3px solid #f59e42}.pipeline-stage-card.tone-red{border-top:3px solid #ef4444}.pipeline-stage-card.tone-slate{border-top:3px solid #94a3b8}.pipeline-stage-topline{font-family:var(--font-mono,monospace);color:var(--text-muted);justify-content:space-between;align-items:center;font-size:10px;display:flex}.pipeline-status{border:1px solid var(--border);background:var(--bg-soft);text-transform:uppercase;letter-spacing:.6px;border-radius:999px;padding:2px 7px}.pipeline-status.status-running{color:#f59e42;border-color:#f59e426b}.pipeline-status.status-done{color:#34d399;border-color:#34d3996b}.pipeline-status.status-error{color:#ef4444;border-color:#ef44446b}.pipeline-stage-card h4,.pipeline-stage-detail h4,.ontology-header h4{letter-spacing:0;margin:0;font-size:16px}.pipeline-title-en{color:var(--text-muted);font-family:var(--font-mono,monospace);letter-spacing:.3px;margin-top:-8px;font-size:10px}.pipeline-stage-card p,.pipeline-stage-detail p,.ontology-report-grid p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.5}.pipeline-artifact{background:var(--bg-soft);color:var(--text-primary);font-family:var(--font-mono,monospace);border-radius:6px;margin-top:auto;padding:7px 9px;font-size:11px}.pipeline-lanes{flex-direction:column;gap:5px;display:flex}.pipeline-lanes span{border-left:2px solid var(--border-strong);color:var(--text-secondary);padding-left:9px;font-size:11px}.pipeline-stage-arrow{color:#00d4ff;font-family:var(--font-mono,monospace);flex:none;padding:0 2px 0 10px;font-weight:800}.pipeline-stage-detail{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:14px;margin-top:12px;padding:14px;display:grid}.pipeline-control-actions{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.pipeline-subcontrol-btn{border:1px solid var(--border);background:var(--bg-secondary);min-height:98px;color:var(--text-primary);text-align:left;cursor:pointer;border-left:3px solid #00d4ff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 10px;padding:12px;transition:transform .12s,border-color .12s,background .12s;display:grid}.pipeline-subcontrol-btn:hover:not(:disabled){background:var(--bg-soft);border-color:#00d4ff;transform:translateY(-1px)}.pipeline-subcontrol-btn:disabled{cursor:not-allowed;opacity:.72}.pipeline-subcontrol-btn span{font-size:13px;font-weight:800}.pipeline-subcontrol-btn small{color:var(--text-secondary);grid-column:1/-1;font-size:11px;line-height:1.45}.pipeline-subcontrol-btn em{border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono,monospace);text-transform:uppercase;border-radius:999px;padding:2px 7px;font-size:9px;font-style:normal}.pipeline-subcontrol-btn.status-running{border-left-color:#f59e42;box-shadow:0 0 0 1px #f59e421f}.pipeline-subcontrol-btn.status-done{border-left-color:#34d399}.pipeline-subcontrol-btn.status-error{border-left-color:#ef4444}.pipeline-checklist{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;display:grid}.pipeline-checklist span{border:1px dashed var(--border);background:var(--bg-secondary);color:var(--text-secondary);border-radius:8px;padding:9px 10px;font-size:11px;line-height:1.45}.pipeline-detail-kicker{color:var(--text-muted);letter-spacing:1.2px;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:800;display:block}.pipeline-detail-meta{min-width:180px;color:var(--text-muted);font-family:var(--font-mono,monospace);flex-direction:column;gap:5px;font-size:10.5px;display:flex}.pipeline-run-btn{color:#06111f;cursor:pointer;background:#00d4ff;border:none;border-radius:6px;grid-column:1/-1;width:fit-content;padding:10px 14px;font-weight:800}.pipeline-run-btn:disabled{opacity:.55;cursor:not-allowed}.pipeline-result-box{background:var(--bg-soft);color:var(--text-secondary);white-space:pre-wrap;border-left:3px solid #00d4ff;grid-column:1/-1;padding:12px;font-size:12px;line-height:1.5}.ontology-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.ontology-header-copy{max-width:540px;color:var(--text-secondary);margin:6px 0 0;font-size:12px;line-height:1.5}.ontology-badge{border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-mono,monospace);border-radius:999px;padding:5px 9px;font-size:10px}.ontology-map-svg{border:1px solid var(--border);background:linear-gradient(90deg, #00d4ff0a, transparent 45%), var(--bg-card);border-radius:8px;width:100%;height:auto;min-height:330px}.ontology-link{fill:none;stroke:#00d4ff;stroke-linecap:round;stroke-dasharray:7 11;filter:drop-shadow(0 0 4px #00d4ff2e);animation:1.8s linear infinite ontology-dash-flow}.ontology-link.is-active{stroke:#38bdf8;stroke-dasharray:9 8;filter:drop-shadow(0 0 8px #38bdf86b)}.ontology-link.is-osint-report-link{stroke:#21d10f;stroke-dasharray:4 12;filter:drop-shadow(0 0 8px #21d10f7a)}.ontology-pulse{fill:#00d4ff;opacity:.18}.ontology-pulse.is-active{fill:#f59e42;opacity:.9;filter:drop-shadow(0 0 8px #f59e42ad)}.ontology-pulse.is-osint-report-link{fill:#21d10f;opacity:.95;filter:drop-shadow(0 0 8px #21d10fa8)}@keyframes ontology-dash-flow{to{stroke-dashoffset:-36px}}.ontology-map-node circle{fill:var(--bg-secondary);stroke:var(--border-strong);stroke-width:1.2px}.ontology-map-node.node-source circle{stroke:#38bdf8}.ontology-map-node.node-concept circle{stroke:#f59e42}.ontology-map-node.node-output circle{stroke:#34d399}.ontology-map-node text{fill:var(--text-primary);text-anchor:middle;font-size:11px;font-weight:700}.ontology-legend{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.ontology-legend span{border:1px solid var(--border);color:var(--text-secondary);border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-size:10.5px;display:inline-flex}.legend-dot{border-radius:999px;width:8px;height:8px;display:inline-block}.legend-dot.source{background:#38bdf8}.legend-dot.concept{background:#f59e42}.legend-dot.output{background:#34d399}.ontology-report-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.ontology-report-grid div{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;padding:12px}.ontology-report-grid span{color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:800;display:block}.ontology-report-grid strong{margin-bottom:6px;font-size:13px;display:block}@media (width<=1180px){.pipeline-control-body,.ontology-report-grid{grid-template-columns:1fr}}@media (width<=1100px){.expanded-globe-body{grid-template-columns:1fr;overflow-y:auto}.globe-bottom-lanes{grid-template-columns:repeat(2,minmax(0,1fr));width:calc(100% - 32px);margin:0 16px 16px}.globe-lane-tile{border-bottom:1px solid #85b0945c}}.welcome-notice{z-index:200;-webkit-backdrop-filter:blur(10px);font-family:var(--font-sans,Inter, sans-serif);color:var(--text-primary);background:radial-gradient(circle at 22% 24%,#38bdf81f,#0000 45%),radial-gradient(circle at 80% 78%,#c084fc14,#0000 50%),#080c14c7;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.welcome-notice-panel{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-overlay);width:min(1080px,100%);max-height:92vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.25s ease-out welcome-fadein;display:flex;overflow:hidden}@keyframes welcome-fadein{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.welcome-notice-header{border-bottom:1px solid var(--border);background:linear-gradient(#38bdf80f,#0000);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px;display:flex}.welcome-notice-header>div{flex-direction:column;gap:6px;min-width:0;display:flex}.welcome-notice-kicker{font-family:var(--font-mono,monospace);letter-spacing:1.4px;color:#38bdf8;text-transform:uppercase;align-items:center;gap:8px;font-size:10px;font-weight:800;display:inline-flex}.welcome-notice-kicker:before{content:"";background:#38bdf8;border-radius:50%;width:7px;height:7px;box-shadow:0 0 6px #38bdf899}.welcome-notice-header h1{font-family:var(--font-sans,Inter, sans-serif);color:var(--text-primary);letter-spacing:.2px;margin:0;font-size:20px;font-weight:700}.welcome-notice-status{border:1px solid var(--border);font-family:var(--font-mono,monospace);letter-spacing:.8px;color:var(--text-secondary);background:var(--bg-secondary);text-transform:uppercase;white-space:nowrap;border-radius:999px;flex-shrink:0;padding:5px 10px;font-size:10px;font-weight:700}.welcome-notice-grid{flex:auto;grid-template-columns:1fr 1fr;gap:0;min-height:0;padding:0;display:grid;overflow-y:auto}.welcome-notice-grid>section{border-right:1px solid var(--border);padding:24px 28px}.welcome-notice-grid>section:last-child{border-right:none}.welcome-notice-section-title{font-family:var(--font-mono,monospace);letter-spacing:1.6px;color:#38bdf8;text-transform:uppercase;margin-bottom:14px;font-size:10px;font-weight:800;display:block}.welcome-notice-grid h2{font-family:var(--font-sans,Inter, sans-serif);letter-spacing:.3px;color:var(--text-primary);margin:18px 0 6px;font-size:13px;font-weight:700}.welcome-notice-grid h2:first-of-type{margin-top:0}.welcome-notice-grid p{font-family:var(--font-sans,Inter, sans-serif);color:var(--text-secondary);margin:0 0 12px;font-size:13px;line-height:1.6}.welcome-notice-check{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);cursor:pointer;align-items:flex-start;gap:10px;margin-top:18px;padding:11px 12px;transition:border-color .15s,background .15s;display:flex}.welcome-notice-check--single{border-top:1px solid var(--border);background:var(--bg-secondary);border-bottom:none;border-left:none;border-right:none;border-radius:0;margin:0;padding:14px 24px}.welcome-notice-check--single:hover{background:var(--bg-soft)}.welcome-notice-check--single span{font-size:13px;font-weight:600}.welcome-notice-check:hover{background:var(--bg-soft);border-color:#38bdf8}.welcome-notice-check input[type=checkbox]{accent-color:#38bdf8;cursor:pointer;flex-shrink:0;width:16px;height:16px;margin-top:1px}.welcome-notice-check span{color:var(--text-primary);font-size:12.5px;font-weight:500;line-height:1.5}.welcome-notice-enter{border:none;border-top:1px solid var(--border);color:#38bdf8;width:100%;font-family:var(--font-mono,monospace);letter-spacing:3.5px;text-transform:uppercase;cursor:pointer;background:linear-gradient(#38bdf829,#38bdf814);flex-shrink:0;padding:14px 18px;font-size:12px;font-weight:800;transition:all .15s}.welcome-notice-enter:hover:not(:disabled){color:#fff;letter-spacing:4px;background:linear-gradient(#38bdf847,#38bdf829)}.welcome-notice-enter:disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed}@media (width<=760px){.welcome-notice-grid{grid-template-columns:1fr}.welcome-notice-grid>section{border-right:none;border-bottom:1px solid var(--border)}.welcome-notice-grid>section:last-child{border-bottom:none}.welcome-notice-header{flex-direction:column}.welcome-notice-status{align-self:flex-start}}.admin-login-modal{z-index:210;-webkit-backdrop-filter:blur(8px);background:#080c14c7;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.admin-login-card{border:1px solid var(--border-strong);background:var(--bg-overlay);border-radius:12px;flex-direction:column;gap:14px;width:min(440px,100%);padding:24px;display:flex;box-shadow:0 24px 60px #00000080}.admin-login-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;display:flex}.admin-login-header span{font-family:var(--font-mono,monospace);letter-spacing:1.4px;color:#38bdf8;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:800;display:block}.admin-login-header h2{color:var(--text-primary);margin:0;font-size:16px}.admin-login-header button{border:1px solid var(--border);background:var(--bg-secondary);width:28px;height:28px;color:var(--text-primary);cursor:pointer;border-radius:6px;flex-shrink:0;padding:0;font-size:16px}.admin-login-header button:hover{background:var(--bg-soft)}.admin-login-copy{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.55}.admin-login-card label{flex-direction:column;gap:5px;display:flex}.admin-login-card label span{font-family:var(--font-mono,monospace);letter-spacing:1.2px;color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:700}.admin-login-card input{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);border-radius:6px;outline:none;padding:9px 12px;font-size:13px}.admin-login-card input:focus{border-color:#38bdf8}.admin-login-error{color:#ef4444;background:#ef444414;border:1px solid #ef4444;border-radius:6px;padding:8px 12px;font-size:12px}.admin-login-submit{color:#38bdf8;font-family:var(--font-mono,monospace);letter-spacing:1.4px;cursor:pointer;text-transform:uppercase;background:#38bdf81f;border:1px solid #38bdf8;border-radius:6px;margin-top:6px;padding:11px;font-size:12px;font-weight:700;transition:all .15s}.admin-login-submit:hover:not(:disabled){background:#38bdf838}.admin-login-submit:disabled{opacity:.5;cursor:wait}.ontology-view{width:100%;height:100%;display:flex;overflow:hidden}.ontology-loading{color:var(--text-muted);font-family:var(--font-mono,monospace);margin:auto;font-size:12px}.ontology-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex-shrink:0;width:280px;min-width:240px;display:flex;overflow-y:auto}.ontology-sidebar::-webkit-scrollbar{width:4px}.ontology-sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.ontology-sidebar-header{border-bottom:1px solid var(--border);padding:14px 14px 10px}.ontology-kicker{color:#38bdf8;font-family:var(--font-mono,monospace);letter-spacing:1.6px;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.ontology-sidebar-header h2{color:var(--text-primary);letter-spacing:.2px;margin:4px 0 6px;font-size:18px}.ontology-sidebar-header p{color:var(--text-secondary);margin:0;font-size:11.5px;line-height:1.55}.ontology-header-features{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.ontology-header-features span{font-family:var(--font-mono,monospace);color:#7dd3fc;letter-spacing:.3px;background:#38bdf80f;border:1px solid #38bdf840;border-radius:999px;padding:2px 6px;font-size:8.5px;font-weight:600}.ontology-sidebar-section{border-bottom:1px solid var(--border);padding:10px 14px}.ontology-type-list{flex-direction:column;gap:6px;margin-top:6px;display:flex}.ontology-sidebar-instances{border-bottom:none;flex-direction:column;flex:1;display:flex;overflow:hidden}.ontology-main{flex-direction:row;flex:1;min-width:0;display:flex;overflow:hidden}.ontology-instances-col{border-right:1px solid var(--border);background:var(--bg-secondary);flex-direction:column;flex-shrink:0;width:300px;min-width:260px;display:flex;overflow:hidden}.ontology-instances-col-header{border-bottom:1px solid var(--border);padding:10px 12px 6px}.ontology-instances-col .ontology-filter-input{box-sizing:border-box;width:calc(100% - 20px);margin:6px 10px}.ontology-instances-col .ontology-instance-list{flex:1;padding:0 4px;overflow-y:auto}.ontology-instances-col .ontology-pane-footer{border-top:1px solid var(--border);padding:4px 10px}.ontology-instances-col.is-scenario{overflow-y:auto}.ontology-analysis-area{flex-direction:column;flex:1;gap:12px;min-width:0;padding:14px 20px 20px;display:flex;overflow-y:auto}.ontology-main-title{font-family:var(--font-mono,monospace);letter-spacing:1.6px;color:var(--text-muted);text-transform:uppercase;border-bottom:1px solid var(--border);padding-bottom:6px;font-size:10px;font-weight:800}.ontology-schema-stage{border:1px solid var(--border);border-radius:var(--radius-md);background:radial-gradient(circle at 50% 50%, #38bdf814, transparent 55%), var(--bg-card);width:100%;height:clamp(380px,48vh,560px);display:none;position:relative;overflow:hidden}.ontology-schema-stage canvas{background:0 0!important}.ontology-schema-loading{height:100%;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.ontology-pane-title{font-family:var(--font-mono,monospace);letter-spacing:1.6px;color:var(--text-muted);text-transform:uppercase;border-bottom:1px solid var(--border);padding-bottom:6px;font-size:10px;font-weight:800}.ontology-pane-subtitle{color:#38bdf8;letter-spacing:.4px;font-weight:700}.ontology-pane-loading,.ontology-pane-empty{color:var(--text-muted);text-align:center;margin:auto;padding:18px;font-size:12px}.ontology-pane-footer{font-family:var(--font-mono,monospace);color:var(--text-muted);text-align:right;border-top:1px solid var(--border);padding-top:4px;font-size:9.5px}.ontology-type-card{text-align:left;border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-soft);cursor:pointer;padding:9px 10px;transition:all .12s}.ontology-type-card:hover{background:#38bdf80f;border-color:#38bdf8}.ontology-type-card.is-active{background:#38bdf81f;border-color:#38bdf8;box-shadow:inset 0 0 0 1px #38bdf866}.ontology-type-card-row{justify-content:space-between;align-items:baseline;display:flex}.ontology-type-card-name{color:var(--text-primary);font-size:13px;font-weight:700}.ontology-type-card-count{font-family:var(--font-mono,monospace);font-size:13px;font-weight:800}.ontology-type-card-kr{color:var(--text-secondary);margin-top:1px;font-size:10.5px}.ontology-type-card-desc{color:var(--text-muted);word-break:keep-all;margin-top:4px;font-size:10px;line-height:1.5}.ontology-filter-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-soft);width:100%;color:var(--text-primary);padding:6px 9px;font-family:inherit;font-size:11.5px}.ontology-filter-input:focus{border-color:#38bdf8;outline:none;box-shadow:0 0 0 1px #38bdf866}.ontology-instance-list{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:1;gap:4px;padding-right:2px;display:flex;overflow-y:auto}.ontology-instance-list::-webkit-scrollbar{width:4px}.ontology-instance-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.ontology-instance-row{text-align:left;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-soft);color:var(--text-primary);cursor:pointer;padding:7px 10px;transition:all .12s}.ontology-instance-row:hover{background:#38bdf814;border-color:#38bdf8}.ontology-instance-row.is-active{background:#38bdf829;border-color:#38bdf8;box-shadow:inset 0 0 0 1px #38bdf866}.ontology-instance-row-title{color:var(--text-primary);word-break:break-word;font-size:12px;font-weight:600}.ontology-instance-row-meta{color:var(--text-muted);flex-wrap:wrap;gap:6px;margin-top:3px;font-size:10px;display:flex}.ontology-pill{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-family:var(--font-mono,monospace);letter-spacing:.4px;border-radius:999px;padding:1px 7px;font-size:9.5px;font-weight:700;display:inline-block}.ontology-pill-G3{color:#fb7185;background:#fb71851a;border-color:#fb718580}.ontology-pill-G2{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b80}.ontology-pill-G1{color:#fbbf24;background:#fbbf2414;border-color:#fbbf2466}.ontology-pill-G0{color:#34d399;background:#34d39914;border-color:#34d39966}.ontology-pill-sev-high{color:#fb7185;background:#fb71851a;border-color:#fb718580}.ontology-pill-sev-medium{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b80}.ontology-pill-sev-low{color:#94a3b8}.ontology-pill-tier-official{color:#38bdf8;background:#38bdf81a;border-color:#38bdf880}.ontology-pill-tier-curated{color:#34d399;background:#34d39914;border-color:#34d39966}.ontology-pill-tier-ai{color:#c084fc;background:#c084fc1a;border-color:#c084fc80}.ontology-pill-tier-raw{color:#94a3b8}.ontology-detail-meta{border-bottom:1px solid var(--border);flex-direction:column;gap:4px;margin-bottom:8px;padding-bottom:8px;display:flex}.ontology-detail-type{font-family:var(--font-mono,monospace);letter-spacing:1.4px;color:#38bdf8;text-transform:uppercase;background:#38bdf814;border:1px solid #38bdf866;border-radius:999px;align-self:flex-start;padding:1px 7px;font-size:10px;font-weight:800}.ontology-detail-meta h3{color:var(--text-primary);word-break:break-word;margin:2px 0 0;font-size:16px}.ontology-detail-section-title{font-family:var(--font-mono,monospace);letter-spacing:1.4px;color:var(--text-muted);text-transform:uppercase;margin:10px 0 6px;font-size:9.5px;font-weight:800}.ontology-detail-props{grid-template-columns:1fr;gap:3px;display:grid}.ontology-detail-prop{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-soft);grid-template-columns:130px 1fr;gap:8px;padding:4px 8px;font-size:11.5px;display:grid}.ontology-detail-prop-key{font-family:var(--font-mono,monospace);color:var(--text-muted);font-size:10.5px}.ontology-detail-prop-val{color:var(--text-primary);word-break:break-word}.ontology-detail-prop-val code{font-family:var(--font-mono,monospace);color:#7dd3fc;background:#38bdf814;border-radius:3px;padding:1px 5px;font-size:10px}.ontology-detail-links{flex-direction:column;gap:3px;display:flex}.ontology-link-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-soft);cursor:pointer;text-align:left;grid-template-columns:auto auto auto 1fr;align-items:center;gap:8px;padding:5px 9px;transition:all .12s;display:grid}.ontology-link-row:hover{background:#38bdf814;border-color:#38bdf8}.ontology-link-type{font-family:var(--font-mono,monospace);letter-spacing:.4px;color:#94a3b8;font-size:10px;font-weight:700}.ontology-link-arrow{color:var(--text-muted);font-size:11px}.ontology-link-to-type{font-family:var(--font-mono,monospace);color:#38bdf8;font-size:10px;font-weight:700}.ontology-link-to-label{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.ontology-detail-actions{flex-direction:column;gap:6px;display:flex}.ontology-action-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-soft);flex-direction:column;gap:3px;padding:8px 10px;display:flex}.ontology-action-label{color:var(--text-primary);font-size:12px;font-weight:700}.ontology-action-endpoint{font-family:var(--font-mono,monospace);color:#38bdf8;background:#38bdf814;border-radius:3px;align-self:flex-start;padding:1px 6px;font-size:10px}.ontology-action-desc{color:var(--text-secondary);font-size:11px;line-height:1.45}@media (width<=860px){.ontology-view{flex-direction:column}.ontology-sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;max-height:25vh}.ontology-main{flex-direction:column}.ontology-instances-col{border-right:none;border-bottom:1px solid var(--border);width:100%;max-height:180px}}.ontology-decision-block{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-soft);flex-direction:column;gap:8px;min-width:0;padding:10px 12px;display:flex;overflow:visible}.ontology-decision-narrative{color:var(--text-secondary);word-break:break-word;overflow-wrap:break-word;white-space:normal;background:#38bdf80f;border-left:3px solid #38bdf8;border-radius:4px;padding:10px 12px;font-size:12px;line-height:1.6}.ontology-decision-error{color:#fecaca;border-radius:var(--radius-sm);font-family:var(--font-mono,monospace);background:#f8718514;border:1px solid #f8718573;padding:6px 10px;font-size:10.5px}.ontology-decision-section-title{font-family:var(--font-mono,monospace);letter-spacing:1.2px;color:var(--text-muted);text-transform:uppercase;margin-top:4px;font-size:9.5px;font-weight:800}.ontology-bar-track{background:#94a3b82e;border-radius:999px;flex:1;min-width:60px;height:6px;position:relative;overflow:hidden}.ontology-bar-fill{border-radius:999px;transition:width .3s;position:absolute;inset:0 auto 0 0}.ontology-driver-list{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;gap:5px;max-height:320px;display:flex;overflow-y:auto}.ontology-driver-list::-webkit-scrollbar{width:4px}.ontology-driver-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.ontology-driver-row{align-items:center;gap:8px;min-height:28px;display:flex}.ontology-driver-label{min-width:0;max-width:280px;color:var(--text-primary);white-space:normal;word-break:break-word;overflow-wrap:break-word;flex:none;font-size:11.5px;line-height:1.4}.ontology-driver-bar{flex:1;min-width:50px}.ontology-driver-value{width:48px;font-family:var(--font-mono,monospace);color:var(--text-secondary);text-align:right;flex-shrink:0;font-size:10.5px}.ontology-driver-share{width:36px;font-family:var(--font-mono,monospace);color:#38bdf8;text-align:right;flex-shrink:0;font-size:10.5px}.ontology-imported-risk{flex-direction:column;gap:4px;margin-top:6px;display:flex}.ontology-imported-row{border:1px solid var(--border);background:var(--bg-card);border-radius:4px;grid-template-columns:60px 90px 1fr 38px;align-items:start;gap:8px;padding:4px 6px;font-size:10.5px;display:grid}.ontology-imported-country{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ontology-imported-title{color:var(--text-primary);white-space:normal;word-break:break-word;overflow-wrap:break-word;line-height:1.4}.ontology-imported-relevance{font-family:var(--font-mono,monospace);color:#fb7185;text-align:right}.ontology-forecast-list{flex-direction:column;gap:4px;display:flex}.ontology-forecast-row{border:1px solid var(--border);background:var(--bg-card);border-radius:4px;grid-template-columns:38px 84px 1fr 38px 50px 88px;align-items:center;gap:8px;padding:4px 6px;font-size:10.5px;display:grid}.ontology-forecast-when{font-family:var(--font-mono,monospace);color:#38bdf8;font-weight:700}.ontology-forecast-date{font-family:var(--font-mono,monospace);color:var(--text-muted)}.ontology-forecast-score{font-family:var(--font-mono,monospace);color:var(--text-primary);text-align:right}.ontology-forecast-band{font-family:var(--font-mono,monospace);color:var(--text-muted);text-align:right;font-size:9.5px}.ontology-forecast-meta{font-family:var(--font-mono,monospace);color:var(--text-muted);border-top:1px dashed var(--border);padding:4px 6px;font-size:9.5px}.ontology-generate-btn{border-radius:var(--radius-sm);color:#c084fc;font-family:var(--font-mono,monospace);letter-spacing:.6px;text-transform:uppercase;cursor:pointer;background:#c084fc29;border:1px solid #c084fc;align-self:flex-start;padding:6px 14px;font-size:10.5px;font-weight:700;transition:all .12s}.ontology-generate-btn:hover:not(:disabled){background:#c084fc4d;box-shadow:0 0 0 2px #c084fc2e}.ontology-generate-btn:disabled{opacity:.45;cursor:not-allowed}.ontology-generate-btn--regen{align-self:flex-end}.ontology-rec-hint{color:var(--text-muted);font-size:11px}.ontology-rec-list{flex-direction:column;gap:5px;display:flex}.ontology-rec-card{border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);flex-direction:column;gap:3px;padding:7px 9px;display:flex}.ontology-rec-HIGH{border-left-color:#fb7185}.ontology-rec-MEDIUM{border-left-color:#f59e0b}.ontology-rec-WATCH{border-left-color:#fbbf24}.ontology-rec-head{align-items:center;gap:6px;display:flex}.ontology-rec-priority-HIGH{color:#fb7185;background:#fb71851a;border-color:#fb718580}.ontology-rec-priority-MEDIUM{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b80}.ontology-rec-priority-WATCH{color:#fbbf24;background:#fbbf2414;border-color:#fbbf2466}.ontology-rec-audience{font-family:var(--font-mono,monospace);color:var(--text-muted);letter-spacing:.5px;font-size:9.5px}.ontology-rec-action{color:var(--text-primary);font-size:12px;font-weight:600}.ontology-rec-reasoning{color:var(--text-secondary);font-size:11px;line-height:1.5}.ontology-rec-raw{font-family:var(--font-mono,monospace);color:var(--text-muted);background:var(--bg-card);white-space:pre-wrap;word-break:break-word;border-radius:4px;max-height:160px;padding:6px 8px;font-size:10px;overflow:auto}.ontology-hotspot-list{flex-direction:column;gap:4px;display:flex}.ontology-hotspot-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;text-align:left;grid-template-columns:1fr 38px 18px 38px 50px 70px;align-items:center;gap:8px;padding:5px 8px;transition:all .12s;display:grid}.ontology-hotspot-row:hover{background:#38bdf80f;border-color:#38bdf8}.ontology-hotspot-name{color:var(--text-primary);font-size:12px;font-weight:600}.ontology-hotspot-arrow{color:var(--text-muted)}.ontology-hotspot-score{font-family:var(--font-mono,monospace);color:var(--text-primary);text-align:right;font-size:10.5px}.ontology-hotspot-delta{font-family:var(--font-mono,monospace);text-align:right;color:var(--text-muted);font-size:10px}.ontology-hotspot-delta.up{color:#fb7185}.ontology-hotspot-delta.down{color:#34d399}.ontology-hotspot-row-multi{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;text-align:left;align-items:center;gap:10px;width:100%;padding:8px 10px;transition:all .12s;display:flex}.ontology-hotspot-row-multi:hover{background:#38bdf80f;border-color:#38bdf8}.ontology-hotspot-row-multi .ontology-hotspot-name{flex-shrink:0;min-width:80px}.ontology-hotspot-progression{flex-wrap:wrap;flex:1;align-items:center;gap:4px;font-size:10.5px;display:flex}.ontology-hotspot-week-group{align-items:center;gap:3px;display:inline-flex}.ontology-hotspot-week-label{font-family:var(--font-mono,monospace);color:var(--text-muted);font-size:9px;font-weight:700}.ontology-hotspot-week-score{font-family:var(--font-mono,monospace);color:var(--text-secondary);font-size:9.5px}.ontology-hotspot-row-multi .ontology-hotspot-delta{text-align:right;flex-shrink:0;min-width:50px}.ontology-instance-dim{color:var(--text-muted);font-size:9.5px}.ontology-chart-container{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);width:100%;min-height:180px;padding:4px;overflow:hidden}.ontology-chart-container svg{width:100%;display:block}.ontology-chart-container svg text{font-family:var(--font-mono,monospace)}.ontology-methodology{margin-top:4px}.ontology-methodology-toggle{color:var(--text-muted);font-family:var(--font-mono,monospace);letter-spacing:.4px;cursor:pointer;background:#94a3b80f;border:1px solid #94a3b840;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:10px;font-weight:600;transition:all .12s;display:inline-flex}.ontology-methodology-toggle:hover{color:#38bdf8;border-color:#38bdf866}.ontology-methodology-body{border-radius:var(--radius-sm);background:#38bdf80a;border:1px solid #38bdf833;flex-direction:column;gap:8px;margin-top:6px;padding:10px 12px;display:flex}.ontology-methodology-formula{font-family:var(--font-mono,monospace);color:#7dd3fc;background:#0003;border:1px solid #38bdf826;border-radius:4px;padding:6px 10px;font-size:12px}.ontology-methodology-formula code{font-family:inherit;font-weight:600}.ontology-methodology-desc{color:var(--text-secondary);font-size:11.5px;line-height:1.6}.ontology-methodology-params{flex-wrap:wrap;gap:6px;display:flex}.ontology-methodology-param{font-family:var(--font-mono,monospace);color:var(--text-muted);background:#94a3b81a;border:1px solid #94a3b826;border-radius:3px;padding:2px 7px;font-size:10px}.ontology-methodology-param code{color:#c084fc;font-weight:600}.ontology-pill-trend-rising{color:#fb7185;background:#fb71851a;border-color:#fb718566}.ontology-pill-trend-falling{color:#34d399;background:#34d39914;border-color:#34d39966}.ontology-pill-trend-stable{color:#94a3b8;background:#94a3b814;border-color:#94a3b84d}.whatif-inputs{flex-direction:column;gap:6px;display:flex}.whatif-row{grid-template-columns:70px 1fr;align-items:center;gap:8px;display:grid}.whatif-row label{font-family:var(--font-mono,monospace);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.whatif-input,.whatif-select{border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);border-radius:4px;padding:5px 8px;font-family:inherit;font-size:11.5px}.whatif-input:focus,.whatif-select:focus{border-color:#38bdf8;outline:none}.whatif-presets{flex-wrap:wrap;gap:4px;margin:2px 0;display:flex}.whatif-preset-btn{color:var(--text-muted);cursor:pointer;background:#94a3b80f;border:1px solid #94a3b840;border-radius:3px;padding:3px 8px;font-size:9.5px;transition:all .1s}.whatif-preset-btn:hover{color:#38bdf8;background:#38bdf814;border-color:#38bdf8}.whatif-result{flex-direction:column;gap:8px;display:flex}.whatif-comparison{flex-direction:column;gap:2px;display:flex}.whatif-comp-header{font-family:var(--font-mono,monospace);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;grid-template-columns:44px 1fr 1fr 80px;gap:8px;padding:3px 6px;font-size:9px;display:grid}.whatif-comp-row{border:1px solid var(--border);background:var(--bg-card);border-radius:4px;grid-template-columns:44px 1fr 1fr 80px;align-items:center;gap:8px;padding:5px 6px;font-size:11px;display:grid}.whatif-comp-row.escalated{background:#fb71850f;border-color:#fb718566}.whatif-comp-week{font-family:var(--font-mono,monospace);color:#38bdf8;font-size:10px;font-weight:700}.whatif-comp-delta{font-family:var(--font-mono,monospace);text-align:right;color:var(--text-muted);font-size:10.5px}.whatif-comp-delta.up{color:#fb7185;font-weight:700}.whatif-gemini{border-radius:var(--radius-sm);background:#c084fc0a;border:1px solid #c084fc40;flex-direction:column;gap:8px;padding:10px;display:flex}.whatif-section{flex-direction:column;gap:4px;display:flex}.whatif-section-title{font-family:var(--font-mono,monospace);letter-spacing:1px;color:#c084fc;text-transform:uppercase;font-size:9.5px;font-weight:700}.whatif-section p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.6}.whatif-timeline-item{color:var(--text-secondary);align-items:flex-start;gap:8px;padding:4px 0;font-size:11.5px;line-height:1.5;display:flex}.whatif-timeline-week{font-family:var(--font-mono,monospace);color:#38bdf8;flex-shrink:0;min-width:30px;font-size:10px;font-weight:700}.whatif-action-item{align-items:center;gap:6px;padding:4px 0;font-size:11.5px;display:flex}.whatif-action-text{color:var(--text-primary);flex:1}.whatif-action-timing{font-family:var(--font-mono,monospace);color:var(--text-muted);flex-shrink:0;font-size:9.5px}.whatif-cases{gap:8px;display:flex}.whatif-case{border-radius:4px;flex:1;padding:6px 8px;font-size:11px;line-height:1.5}.whatif-case.best{color:#34d399;background:#34d39914;border:1px solid #34d39940}.whatif-case.worst{color:#fb7185;background:#fb718514;border:1px solid #fb718540}.whatif-risk-list{color:var(--text-secondary);margin:0;padding-left:16px;font-size:11.5px;line-height:1.6}.whatif-analysis-panel{flex-direction:column;gap:16px;display:flex}.whatif-analysis-header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.whatif-analysis-tag{font-family:var(--font-mono,monospace);letter-spacing:1px;color:#fb7185;text-transform:uppercase;background:#fb718526;border-radius:3px;padding:2px 8px;font-size:9px;font-weight:700}.whatif-analysis-region{color:var(--text-primary);font-size:16px;font-weight:700}.whatif-analysis-scenario{color:var(--text-muted);margin-left:auto;font-size:11px}.whatif-minimap-pair{grid-template-columns:1fr 1fr;gap:16px;display:grid}.scenario-minimap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);flex-direction:column;align-items:center;padding:12px;display:flex}.scenario-minimap-title{font-family:var(--font-mono,monospace);letter-spacing:.8px;color:var(--text-muted);text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:700}.scenario-minimap-svg{width:100%;max-width:400px;height:auto}.korea-geo-svg path{transition:fill-opacity .2s,stroke-width .2s}.korea-geo-svg path:hover{stroke:#ffffffb3;stroke-width:1px;fill-opacity:1!important}.whatif-status-msg{border-radius:4px;padding:6px 10px;font-size:11px;line-height:1.5}.whatif-status-success{color:#34d399;background:#34d39914;border:1px solid #34d39940}.whatif-status-error{color:#fb7185;background:#fb718514;border:1px solid #fb718540}.national-summary-bar{gap:12px;display:flex}.national-summary-stat{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);flex-direction:column;flex:1;align-items:center;padding:10px;display:flex}.national-summary-num{font-family:var(--font-mono,monospace);color:#fb7185;font-size:20px;font-weight:700}.national-summary-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;font-size:10px}.national-region-table{flex-direction:column;gap:2px;max-height:400px;display:flex;overflow-y:auto}.national-region-header{font-family:var(--font-mono,monospace);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-main);z-index:1;grid-template-columns:90px 1fr 1fr 80px 60px;gap:6px;padding:4px 8px;font-size:9px;display:grid;position:sticky;top:0}.national-region-row{border:1px solid var(--border);background:var(--bg-card);border-radius:4px;grid-template-columns:90px 1fr 1fr 80px 60px;align-items:center;gap:6px;padding:5px 8px;font-size:11px;display:grid}.national-region-row.escalated{background:#fb71850f;border-color:#fb718566}.national-region-row.primary{border-left:3px solid #fb7185}.national-region-name{color:var(--text-primary);align-items:center;gap:4px;font-weight:600;display:flex}.national-primary-badge{color:#fb7185;letter-spacing:.3px;background:#fb718533;border-radius:3px;padding:1px 4px;font-size:8px;font-weight:700}.national-spread-mult{font-family:var(--font-mono,monospace);color:var(--text-muted);text-align:right;font-size:10px}.leadlag-pairs{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.leadlag-pair-btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:10px;font-weight:600;transition:all .12s}.leadlag-pair-btn:hover{color:#38bdf8;border-color:#38bdf8}.leadlag-pair-btn.is-active{color:#38bdf8;background:#38bdf81f;border-color:#38bdf8}.leadlag-pair-btn:disabled{opacity:.5;cursor:wait}.leadlag-summary{font-family:var(--font-mono,monospace);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:10px;padding:4px 0;font-size:10px;display:flex}.leadlag-summary strong{color:var(--text-primary)}.ontology-pill-strength-strong{color:#fb7185;background:#fb71851a;border-color:#fb718580}.ontology-pill-strength-moderate{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b80}.ontology-pill-strength-weak{color:#fbbf24;background:#fbbf2414;border-color:#fbbf2466}.ontology-pill-strength-negligible{color:#94a3b8}.leadlag-all-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.leadlag-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.leadlag-card:last-child:nth-child(odd){grid-column:1/-1}.leadlag-card-title{font-family:var(--font-mono,monospace);letter-spacing:.6px;color:#38bdf8;font-size:10px;font-weight:700}.leadlag-card .leadlag-summary{gap:8px;font-size:9.5px}@media (width<=860px){.leadlag-all-grid{grid-template-columns:1fr}}.leadlag-explainer{background:#38bdf80a;border-color:#38bdf833}.leadlag-explainer-title{font-family:var(--font-mono,monospace);letter-spacing:.8px;color:#38bdf8;text-transform:uppercase;font-size:10px;font-weight:800}.leadlag-explainer-body,.leadlag-explainer-how{color:var(--text-secondary);font-size:11.5px;line-height:1.6}.leadlag-explainer-how{background:#38bdf80a;border-left:2px solid #38bdf859;border-radius:4px;padding:6px 8px}.whatif-standalone{flex-direction:column;flex:1;gap:8px;display:flex;overflow-y:auto}.whatif-standalone-desc{color:var(--text-secondary);border-radius:var(--radius-sm);background:#fb71850a;border:1px solid #fb718533;padding:8px 10px;font-size:11.5px;line-height:1.55}.forecast-report{gap:6px}.forecast-report-desc{color:var(--text-muted);font-size:11px;line-height:1.55}.forecast-report-section{background:#c084fc0a;border-left:2px solid #c084fc;border-radius:4px;padding:6px 8px}.forecast-report-section p{color:var(--text-primary);word-break:keep-all;margin:2px 0 0;font-size:12px;line-height:1.6}.forecast-report-label{font-family:var(--font-mono,monospace);letter-spacing:1px;color:#c084fc;text-transform:uppercase;font-size:9px;font-weight:700}.forecast-report-actions{color:var(--text-primary);margin:4px 0 0;padding-left:16px;font-size:12px;line-height:1.6}.forecast-report-actions li{margin-bottom:2px}.forecast-report-outlook{background:#34d3990a;border-left-color:#34d399}.forecast-report-outlook .forecast-report-label{color:#34d399}.ontology-generate-btn--report{color:#34d399;background:#34d3991f;border-color:#34d399}.ontology-generate-btn--report:hover:not(:disabled){background:#34d39938}.detail-grid-2col{grid-template-columns:1fr 1fr;gap:12px;display:grid}.detail-grid-cell{flex-direction:column;gap:6px;min-width:0;display:flex}@media (width<=1000px){.detail-grid-2col{grid-template-columns:1fr}}.ontology-detail-props-toggle{margin-top:4px}.ontology-detail-props-toggle>summary{-webkit-user-select:none;user-select:none;list-style:none}.ontology-detail-props-toggle>summary::-webkit-details-marker{display:none}.ontology-detail-props-toggle[open]>summary{margin-bottom:6px}
