:root{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #f0f2f5;--border: #e1e4e8;--text: #1b1f24;--muted: #5f6b7a;--accent: #1f6feb;--accent-contrast: #ffffff;--good: #1a7f37;--good-bg: #dafbe1;--warn: #9a6700;--warn-bg: #fff4d1;--bad: #cf222e;--bad-bg: #ffebe9;--neutral: #57606a;--neutral-bg: #eaeef2;--bar: #1f6feb;--row-hover: #f3f6fb;--shadow: 0 1px 2px rgba(16, 24, 40, .06);--radius: 8px;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #0d1117;--surface: #161b22;--surface-2: #1f2630;--border: #30363d;--text: #e6edf3;--muted: #8d96a0;--accent: #4493f8;--accent-contrast: #0d1117;--good: #3fb950;--good-bg: rgba(46, 160, 67, .18);--warn: #d29922;--warn-bg: rgba(187, 128, 9, .2);--bad: #f85149;--bad-bg: rgba(248, 81, 73, .16);--neutral: #9198a1;--neutral-bg: rgba(110, 118, 129, .22);--bar: #4493f8;--row-hover: #1c232c;--shadow: none;color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}body{overflow-x:hidden}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.5rem;margin:0 0 4px;line-height:1.25}h2{font-size:1.05rem;margin:0 0 12px}p{margin:0 0 8px}code{font-family:var(--mono);font-size:.9em;background:var(--surface-2);padding:1px 4px;border-radius:4px}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.header-inner{max-width:1280px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.brand{font-weight:700;font-size:1.1rem;color:var(--text);white-space:nowrap}.brand:hover{text-decoration:none}.brand-mark{color:var(--accent)}.nav{display:flex;gap:4px;flex-wrap:wrap}.nav-link{color:var(--muted);padding:6px 10px;border-radius:6px;font-weight:500}.nav-link:hover{background:var(--surface-2);text-decoration:none;color:var(--text)}.nav-link.active{color:var(--text);background:var(--surface-2)}.statusbar{max-width:1280px;margin:0 auto;padding:6px 16px 8px;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12px;color:var(--text)}.statusbar-error{color:var(--bad)}.stat-label{color:var(--muted);margin-right:2px}.stat-warn,.stat-warn .stat-label{color:var(--warn);font-weight:600}.search{position:relative;margin-left:auto;flex:0 1 300px;min-width:180px}.search input{width:100%}.search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;list-style:none;margin:0;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #00000026;max-height:360px;overflow-y:auto;z-index:20}.search-results li{display:flex;gap:8px;align-items:baseline;padding:6px 8px;border-radius:6px;cursor:pointer}.search-results li.active{background:var(--surface-2)}.search-company{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-empty{color:var(--muted);cursor:default!important}.main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:20px 16px 32px;min-width:0}.narrow{max-width:560px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:16px}.toolbar{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.footer{border-top:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:12px}.footer p{max-width:1280px;margin:0 auto;padding:12px 16px}input,select,button,textarea{font:inherit;color:inherit}input[type=text],input[type=search],input[type=number],input[type=url],input[type=password],input:not([type]),select{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 10px;min-height:34px;max-width:100%}input:focus,select:focus,button:focus-visible,tr:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.input-narrow{width:110px}.field-inline{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 12px;min-height:34px;cursor:pointer;font-weight:500;white-space:nowrap}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.08)}.btn-danger{color:var(--bad)}.btn-small{padding:2px 8px;min-height:26px;font-size:12px}.btn-link{border:none;background:none;color:var(--accent);cursor:pointer;padding:0 6px}.btn-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;padding:12px 0}.form-grid label,.form-stack label{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--muted)}.form-grid input,.form-grid select,.form-stack input{width:100%;color:var(--text)}.form-grid .span-2{grid-column:span 2}.form-actions{display:flex;align-items:flex-end;gap:8px}.form-stack{display:flex;flex-direction:column;gap:12px}.form-stack label.checkbox{flex-direction:row;align-items:center;gap:6px}.add-source{margin-bottom:12px}.add-source summary{cursor:pointer;font-weight:600;color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-bottom:16px;min-width:0}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:16px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.kpi-label{font-size:12px;color:var(--muted)}.kpi-value{font-size:1.4rem;font-weight:700;font-variant-numeric:tabular-nums}.kpi-small{font-size:1rem}.kpi-note{color:var(--warn);font-size:12px;display:flex;align-items:center}.analyze{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.analyze .state{flex-basis:100%}.thesis{white-space:pre-wrap}.dims{display:flex;flex-direction:column;gap:12px}.dim-head{display:flex;justify-content:space-between;margin-bottom:4px}.dim-track,.scorebar-track{background:var(--surface-2);border-radius:999px;overflow:hidden}.dim-track{height:8px}.dim-fill,.scorebar-fill{display:block;height:100%;background:var(--bar);border-radius:999px}.scorebar{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.scorebar-value{font-weight:600;font-variant-numeric:tabular-nums;min-width:2.6em;text-align:right}.scorebar-track{display:inline-block;width:60px;height:6px}.fund-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin:0 0 8px}.fund{background:var(--surface);padding:10px 12px}.fund dt{font-size:12px;color:var(--muted)}.fund dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:8px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}.table th{font-size:12px;font-weight:600;color:var(--muted);background:var(--surface-2);white-space:nowrap;position:sticky;top:0}.table tbody tr:last-child td{border-bottom:none}.table-hover tbody tr{cursor:pointer}.table-hover tbody tr:hover{background:var(--row-hover)}.row-dim td{opacity:.6}.num{text-align:right!important;font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.thesis-cell{min-width:260px;max-width:420px;color:var(--muted)}.evidence-cell{min-width:240px;max-width:380px;font-size:13px}.source-cell{min-width:180px;max-width:280px}.error-cell{min-width:160px;max-width:300px;font-size:12px;color:var(--bad);word-break:break-word}.url-cell{display:block;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge,.chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.03em;padding:2px 8px;white-space:nowrap;background:var(--neutral-bg);color:var(--neutral)}.chip{font-weight:600;margin-right:4px}.badge-buy,.chip-done,.chip-sent{background:var(--good-bg);color:var(--good)}.badge-watch,.chip-queued,.chip-running,.chip-pending{background:var(--warn-bg);color:var(--warn)}.badge-skip,.chip-irrelevant{background:var(--neutral-bg);color:var(--neutral)}.chip-failed{background:var(--bad-bg);color:var(--bad)}.feed{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.feed-item{padding:12px 16px;border-bottom:1px solid var(--border)}.feed-item:last-child{border-bottom:none}.feed-meta{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;font-size:12px;margin-bottom:4px}.feed-title{font-weight:600;color:var(--text);word-break:break-word}.feed-tickers{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.ticker-pill{font-size:12px;font-weight:600;padding:1px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2)}.unresolved{list-style:none;margin:0;padding:0}.unresolved-item{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.unresolved-item:last-child{border-bottom:none}.unresolved-info{flex:1 1 320px;min-width:0;word-break:break-word}.unresolved-item .state{flex-basis:100%}.alias-form{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap}.toggle{position:relative;display:inline-block;width:36px;height:20px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--neutral-bg);border:1px solid var(--border);border-radius:999px;cursor:pointer;transition:background .15s}.toggle-slider:before{content:"";position:absolute;width:14px;height:14px;left:2px;top:2px;background:var(--surface);border-radius:50%;box-shadow:0 1px 2px #0000004d;transition:transform .15s}.toggle input:checked+.toggle-slider{background:var(--good)}.toggle input:checked+.toggle-slider:before{transform:translate(16px)}.toggle input:focus-visible+.toggle-slider{outline:2px solid var(--accent)}.state{padding:16px;border-radius:var(--radius);margin-bottom:16px}.state-loading{color:var(--muted);display:flex;align-items:center;gap:8px}.state-empty{background:var(--surface);border:1px dashed var(--border);color:var(--muted);text-align:center;padding:32px 16px}.state-empty .analyze{justify-content:center;margin-top:12px}.state-error{background:var(--bad-bg);color:var(--text);border:1px solid var(--bad);display:flex;flex-wrap:wrap;gap:8px;align-items:center}.spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;display:inline-block;animation:spin .8s linear infinite}.spinner-inline{width:10px;height:10px}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation:none}}.json{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:10px;font-family:var(--mono);font-size:12px;overflow-x:auto;max-height:320px;margin:0 0 8px}.muted{color:var(--muted)}.small{font-size:12px}.strong{font-weight:600}.mono{font-family:var(--mono)}.text-good{color:var(--good)}.text-bad{color:var(--bad)}@media (max-width: 800px){.grid-2{grid-template-columns:minmax(0,1fr)}.search{order:3;flex:1 1 100%;margin-left:0}.form-grid .span-2{grid-column:auto}}@media (max-width: 480px){.header-inner{gap:8px}.nav-link{padding:4px 8px}h1{font-size:1.25rem}.card{padding:12px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
