@import"https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&family=Oswald:wght@400;500;600&display=swap";.news-bell{display:inline-flex;align-items:center;gap:5px;position:relative;padding:4px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-family:Open Sans,sans-serif;font-size:11px;font-weight:600;letter-spacing:.4px;cursor:pointer;transition:all .12s}.news-bell:hover{color:var(--text-primary);border-color:var(--border-light)}.news-bell.has-unread{color:var(--himera-red);border-color:var(--himera-red)}.news-bell-icon{width:24px;height:24px;display:block;fill:none;stroke:var(--himera-red);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform-origin:50% 4px;filter:drop-shadow(0 0 3px rgba(175,15,15,.75)) drop-shadow(0 0 6px rgba(175,15,15,.35));transition:filter .15s,stroke .15s}.news-bell-icon .bell-clapper{fill:var(--himera-red);stroke:none}.news-bell-icon .bell-ring.inner{opacity:.9}.news-bell-icon .bell-ring.outer{opacity:.65}.news-bell-icon .bell-motion{opacity:.75}.news-bell-icon .bell-motion.dim{opacity:.55}.news-bell:hover .news-bell-icon{filter:drop-shadow(0 0 3px rgba(175,15,15,.7)) drop-shadow(0 0 6px rgba(175,15,15,.35))}.news-bell.has-unread .news-bell-icon{stroke:var(--himera-red-light);filter:drop-shadow(0 0 4px rgba(212,26,26,.85)) drop-shadow(0 0 9px rgba(175,15,15,.55));animation:news-bell-ring 1.6s ease-in-out infinite}.news-bell.has-unread .news-bell-icon .bell-clapper{fill:var(--himera-red-light)}@keyframes news-bell-ring{0%,60%,to{transform:rotate(0)}10%{transform:rotate(-12deg)}20%{transform:rotate(10deg)}30%{transform:rotate(-8deg)}40%{transform:rotate(5deg)}50%{transform:rotate(-2deg)}}.news-bell-active-dot{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--green)}.news-bell-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--himera-red);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.news-bell-label{letter-spacing:.6px}.news-alerts-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;justify-content:center;align-items:flex-start;padding:60px 20px 20px;z-index:5000}.news-alerts-panel{width:min(900px,100%);max-height:calc(100vh - 80px);background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;overflow:hidden}.news-alerts-head{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.news-alerts-head h3{margin:0;font-family:Oswald,sans-serif;font-size:14px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--text-primary)}.news-alerts-head-actions{display:flex;gap:12px;align-items:center}.news-alerts-close{background:transparent;border:none;color:var(--text-secondary);font-size:22px;line-height:1;cursor:pointer;padding:0 4px}.news-alerts-close:hover{color:var(--text-primary)}.btn-link{background:transparent;border:none;color:var(--himera-red);font-size:12px;font-weight:600;cursor:pointer;padding:0}.btn-link:hover{color:var(--himera-red-light);text-decoration:underline}.btn-link.danger{color:var(--red)}.news-alerts-perm-banner{padding:8px 18px;font-size:12px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.news-alerts-perm-banner.granted{background:#3fb95014;color:var(--green)}.news-alerts-perm-banner.default{background:#f8514914;color:var(--text-secondary)}.news-alerts-perm-banner.denied{background:#f851491f;color:var(--text-secondary)}.news-alerts-list-header{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;font-size:12px;color:var(--text-secondary)}.news-alerts-empty{padding:32px 18px;text-align:center;color:var(--text-muted);font-size:13px}.news-alerts-list{list-style:none;padding:0 18px 18px;margin:0;overflow-y:auto}.news-alerts-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;margin-bottom:8px}.news-alerts-row.disabled{opacity:.55}.news-alerts-row-toggle{cursor:pointer}.news-alerts-row-body{flex:1;min-width:0}.news-alerts-row-name{font-size:13px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.news-alerts-row-sev{font-size:9px;font-weight:700;letter-spacing:1px;background:var(--himera-red);color:#fff;padding:2px 6px;border-radius:3px}.news-alerts-row-summary{font-size:11px;color:var(--text-secondary);margin-top:2px;font-family:Open Sans,monospace;word-break:break-word}.news-alerts-row-actions{display:flex;gap:12px;flex-shrink:0}.news-alerts-form{padding:12px 18px 18px;overflow-y:auto}.news-alerts-form fieldset{border:1px solid var(--border);border-radius:4px;padding:10px 14px 14px;margin-bottom:14px}.news-alerts-form legend{font-family:Oswald,sans-serif;font-size:11px;font-weight:500;letter-spacing:.8px;text-transform:uppercase;color:var(--text-secondary);padding:0 6px}.news-alerts-form legend .hint{font-family:Open Sans,sans-serif;font-weight:400;font-size:10px;letter-spacing:0;text-transform:none;color:var(--text-muted);margin-left:6px}.news-alerts-row-fields{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px}.news-alerts-row-fields>label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text-secondary);letter-spacing:.4px}.news-alerts-row-fields>label>span:first-child{text-transform:uppercase;font-weight:600}.news-alerts-row-fields>label.inline{flex-direction:row;align-items:center;gap:6px;text-transform:none}.news-alerts-row-fields>label.inline span{text-transform:none;font-weight:400}.news-alerts-row-fields input[type=text],.news-alerts-row-fields input:not([type]){background:var(--bg-tertiary);border:1px solid var(--border);border-radius:3px;padding:5px 8px;color:var(--text-primary);font-size:12px;min-width:220px}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.filter-block{display:flex;flex-direction:column;gap:6px}.filter-block-title{font-size:11px;font-weight:600;letter-spacing:.4px;color:var(--text-secondary);text-transform:uppercase}.filter-block-title .hint{font-weight:400;font-size:10px;text-transform:none;letter-spacing:0;color:var(--text-muted);margin-left:6px}.chip-row{display:flex;flex-wrap:wrap;gap:5px}.news-alerts-form .chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:3px;font-size:11px;color:var(--text-secondary);cursor:pointer}.news-alerts-form .chip:hover{color:var(--text-primary)}.news-alerts-form .chip.on{background:#af0f0f1f;color:var(--himera-red);border-color:var(--himera-red)}.news-alerts-form .chip input{display:none}.filter-text{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:3px;padding:6px 8px;color:var(--text-primary);font-size:12px;font-family:Open Sans,sans-serif;resize:vertical}.filter-block select{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:3px;padding:5px 8px;color:var(--text-primary);font-size:12px}.quiet-row{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap}.quiet-row label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text-secondary);letter-spacing:.4px}.quiet-row label.inline{flex-direction:row;align-items:center;gap:6px}.quiet-row select{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:3px;padding:5px 8px;color:var(--text-primary);font-size:12px}.news-alerts-form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:8px;border-top:1px solid var(--border)}.news-toast-stack{position:fixed;top:50px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:4000;pointer-events:none;max-width:360px}.news-toast{background:var(--bg-secondary);border:1px solid var(--border);border-left:3px solid var(--himera-red);border-radius:4px;padding:10px 12px;pointer-events:auto;animation:news-toast-in .25s ease-out;box-shadow:0 6px 24px #00000080}.news-toast.urgent{border-left-color:var(--red);background:#f851490f}.news-toast-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.news-toast-ticker{font-family:Oswald,sans-serif;font-weight:600;font-size:12px;letter-spacing:.8px;color:var(--himera-red)}.news-toast-title{flex:1;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.news-toast-close{background:transparent;border:none;color:var(--text-muted);font-size:16px;line-height:1;cursor:pointer;padding:0 2px}.news-toast-close:hover{color:var(--text-primary)}.news-toast-body{font-size:12px;color:var(--text-primary);line-height:1.4}.news-toast-link{display:inline-block;margin-top:6px;font-size:11px;color:var(--himera-red);text-decoration:none;font-weight:600}.news-toast-link:hover{color:var(--himera-red-light);text-decoration:underline}@keyframes news-toast-in{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}*{margin:0;padding:0;box-sizing:border-box}:root{--himera-red: #af0f0f;--himera-red-light: #d41a1a;--himera-red-dark: #8a0c0c;--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #1c2129;--border: #30363d;--border-light: #484f58;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #484f58;--green: #3fb950;--red: #f85149}::selection{background:var(--himera-red);color:#fff}html,body,#root{height:100vh;height:100dvh;font-family:Open Sans,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);font-size:13px;overflow:hidden;color-scheme:dark}#root{display:flex;flex-direction:column}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit}.title-bar{display:flex;align-items:center;gap:24px;padding:6px 16px;background:var(--bg-secondary);border-bottom:2px solid var(--himera-red);flex-shrink:0}.brand{display:flex;align-items:center;gap:8px;flex-shrink:0}.brand-link{text-decoration:none;color:inherit;cursor:pointer;transition:color .12s ease}.brand-link:hover .logo,.brand-link:hover .brand-name,.brand-link:hover .brand-name span,.brand-link:hover .brand-ideas{color:var(--himera-red)}.logo{width:44px;height:22px;color:var(--text-primary);flex-shrink:0;transition:color .12s ease}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-name{font-family:Oswald,sans-serif;font-weight:600;font-size:15px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-primary)}.brand-hi:first-letter,.brand-me:first-letter,.brand-ra:first-letter{color:var(--himera-red)}.brand-ideas{color:var(--text-secondary);font-weight:400}.tabbar{display:flex;gap:2px;flex:1}.tab{background:transparent;color:var(--text-secondary);border:0;padding:6px 14px;border-radius:3px;font-family:Oswald,sans-serif;font-size:13px;letter-spacing:1px;text-transform:uppercase;border-bottom:2px solid transparent;text-decoration:none;cursor:pointer;display:inline-block}.tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.tab.active{color:var(--text-primary);border-bottom-color:var(--himera-red);background:var(--bg-tertiary)}.user-menu{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:12px}.user-menu button{background:transparent;color:var(--text-secondary);border:1px solid var(--border);padding:4px 10px;border-radius:3px;font-family:Oswald,sans-serif;letter-spacing:.5px;text-transform:uppercase;font-size:11px}.user-menu button:hover{color:var(--text-primary);border-color:var(--himera-red)}main{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.research-tab-wrap{flex:1;min-height:0;overflow:auto}.login-wrap{display:flex;align-items:center;justify-content:center;flex:1}.login{display:flex;flex-direction:column;gap:10px;padding:32px;min-width:320px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;border-top:3px solid var(--himera-red)}.login h1{font-family:Oswald,sans-serif;font-weight:600;font-size:18px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:8px;color:var(--text-primary)}.login input{padding:8px 10px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:3px}.login input:focus{outline:none;border-color:var(--himera-red)}.login button{padding:8px 10px;background:var(--himera-red);color:#fff;border:0;border-radius:3px;font-family:Oswald,sans-serif;font-weight:600;letter-spacing:1px;text-transform:uppercase}.login button:hover{background:var(--himera-red-light)}.error{color:var(--red);font-size:12px}.btn{padding:6px 16px;border:1px solid transparent;border-radius:3px;font-family:Oswald,sans-serif;font-weight:500;font-size:13px;letter-spacing:.5px;text-transform:uppercase;transition:all .15s}.btn-primary{background:var(--himera-red);color:#fff;border-color:var(--himera-red)}.btn-primary:hover{background:var(--himera-red-light);border-color:var(--himera-red-light)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-accent{background:transparent;color:var(--himera-red);border:1px solid var(--himera-red)}.btn-accent:hover,.btn-accent.active{background:var(--himera-red);color:#fff}.btn-toggle{background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border);font-size:12px;padding:5px 12px;text-transform:none;font-family:Open Sans,sans-serif;font-weight:600}.btn-toggle.active{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--himera-red)}.btn-toggle:hover{border-color:var(--himera-red-light);color:var(--text-primary)}.panel{padding:16px}.panel h2{font-family:Oswald,sans-serif;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--text-primary);margin-bottom:12px}.panel h3{font-family:Oswald,sans-serif;font-weight:500;letter-spacing:.5px;color:var(--text-secondary);margin:16px 0 8px;font-size:14px}table.simple{width:100%;border-collapse:collapse}table.simple th,table.simple td{padding:6px 10px;text-align:left;border-bottom:1px solid var(--border)}table.simple th{color:var(--text-secondary);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-family:Oswald,sans-serif}.form-input{padding:6px 10px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:3px;font-size:13px}.form-input:focus{outline:none;border-color:var(--himera-red)}.panel.mappings{display:flex;flex-direction:column;height:100%;min-height:0}.panel.mappings select{padding:6px 10px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:3px}.status-line{padding:4px 0;color:var(--text-secondary);font-size:12px;min-height:20px}.mapping-table-wrap{flex:1;overflow:auto;border:1px solid var(--border);border-radius:4px}.mapping-table{width:100%;border-collapse:collapse;font-size:13px}.mapping-table th,.mapping-table td{padding:4px 10px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.mapping-table th{position:sticky;top:0;background:var(--bg-secondary);font-family:Oswald,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.5px;font-size:11px;color:var(--text-secondary);border-bottom:2px solid var(--himera-red);z-index:1}.mapping-table td.mono,.mapping-table input.mono{font-family:ui-monospace,SF Mono,Consolas,monospace}.mapping-table td.small{font-size:11px;color:var(--text-secondary)}.mapping-table td.num{text-align:right;font-variant-numeric:tabular-nums}.mapping-table td.name{color:var(--text-secondary);max-width:380px;overflow:hidden;text-overflow:ellipsis}.mapping-table td.symbol{font-weight:600;color:#58a6ff}.mapping-table tr.has-override td.symbol{color:var(--green)}.mapping-table tr:hover td{background:var(--bg-tertiary)}::-webkit-scrollbar{width:14px;height:14px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:#555d68;border-radius:7px;border:2px solid var(--bg-secondary)}::-webkit-scrollbar-thumb:hover{background:#7a828e}::-webkit-scrollbar-corner{background:var(--bg-primary)}@media(max-width:720px){html,body,#root{height:auto;min-height:100dvh;overflow:visible;font-size:14px}main{flex:none;overflow:visible;min-height:0}.title-bar{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:8px;row-gap:4px;padding:6px 10px;position:sticky;top:0;z-index:50}.brand{gap:6px;grid-column:1;grid-row:1}.logo{width:36px;height:18px}.brand-name{font-size:13px;letter-spacing:1px}.brand-ideas{display:none}.user-menu{grid-column:2;grid-row:1;justify-self:end;margin-left:0}.user-menu button{padding:8px 14px;font-size:11px}.tabbar{grid-column:1 / -1;grid-row:2;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -10px;padding:2px 10px}.tabbar::-webkit-scrollbar{display:none}.tab{flex:0 0 auto;white-space:nowrap;padding:10px 14px;font-size:12px}.research-tab-wrap{flex:none;min-height:0;overflow-x:auto;-webkit-overflow-scrolling:touch}}
