:root{--bg: #f6f7f9;--panel: #ffffff;--line: #e5e7eb;--text: #14181f;--text-2: #5b6472;--text-3: #98a1b0;--red: #d92d20;--red-bg: #fef3f2;--yellow: #b54708;--yellow-bg: #fffaeb;--green: #027a48;--green-bg: #ecfdf3;--accent: #17457a;--up: #027a48;--down: #d92d20;--muted: #98a1b0;--radius: 12px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .1)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.65 -apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.topbar{position:sticky;top:0;z-index:20;background:#ffffffeb;-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--line)}.topbar-inner{max-width:1080px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px}.brand{font-weight:700;font-size:17px;letter-spacing:-.01em}.brand span{color:var(--text-3);font-weight:500;font-size:13px;margin-left:6px}.topbar .spacer{flex:1}.container{max-width:1080px;margin:0 auto;padding:16px}.footer{max-width:1080px;margin:8px auto 40px;padding:0 16px;color:var(--text-3);font-size:12px;line-height:1.8}.disclaimer{margin-top:12px;padding:10px 12px;background:var(--yellow-bg);border:1px solid #fedf89;border-radius:8px;color:var(--yellow);font-size:12.5px}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}@media (min-width: 640px){.stats{grid-template-columns:repeat(4,1fr)}}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;box-shadow:var(--shadow)}.stat .k{color:var(--text-3);font-size:12px}.stat .v{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-top:2px}.stat .v small{font-size:13px;font-weight:500;color:var(--text-3)}.owner-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:-4px 0 14px;padding:10px 14px;background:var(--green-bg);border:1px solid #a6f4c5;border-radius:var(--radius);font-size:13px;color:var(--green)}.owner-bar .tag{font-weight:700;font-size:12px;padding:2px 8px;border-radius:999px;background:var(--green);color:#fff}.owner-bar b{font-variant-numeric:tabular-nums}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}.filters input,.filters select{font:inherit;font-size:13.5px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text)}.filters input{flex:1;min-width:150px}.chip{font-size:13px;padding:6px 11px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.cards{display:flex;flex-direction:column;gap:12px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px;border-left:4px solid var(--line)}.card.sev-red{border-left-color:var(--red)}.card.sev-yellow{border-left-color:#f79009}.card.sev-green{border-left-color:#12b76a}.card-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.card-head .ticker{font-size:17px;font-weight:700;letter-spacing:-.01em}.card-head .company{color:var(--text-2);font-size:13px;flex:1;min-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-head .date{color:var(--text-3);font-size:12.5px;font-variant-numeric:tabular-nums}.card-period{color:var(--text-3);font-size:12.5px;margin-top:2px}.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 14px;margin:10px 0 8px}@media (min-width: 640px){.metrics{grid-template-columns:repeat(4,1fr)}}.metric{min-width:0}.metric .k{color:var(--text-3);font-size:11.5px}.metric .v{font-size:17px;font-weight:650;letter-spacing:-.01em;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric .d{font-size:12px;font-variant-numeric:tabular-nums}.up{color:var(--up)}.down{color:var(--down)}.flat{color:var(--text-2)}.muted{color:var(--muted)}.ai-line{margin-top:6px;padding-top:8px;border-top:1px dashed var(--line);color:var(--text);font-size:14px}.ai-line .robot{margin-right:4px}.alerts{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.alert{font-size:12px;padding:3px 9px;border-radius:999px;background:var(--red-bg);color:var(--red);border:1px solid #fecdca;font-weight:600}.card-foot{margin-top:10px;display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;align-items:center}.card-foot .grow{flex:1}.badge{font-size:11.5px;padding:2px 7px;border-radius:5px;background:#eef2f6;color:var(--text-2);border:1px solid var(--line)}.badge.warn{background:var(--yellow-bg);color:var(--yellow);border-color:#fedf89}.section{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px;box-shadow:var(--shadow)}.section h2{font-size:14px;margin:0 0 10px;color:var(--text-2);letter-spacing:.02em}.section h2 .n{color:var(--text-3);font-weight:500;margin-right:6px}.section ul{margin:0;padding-left:20px}.section li{margin:5px 0}.quote{color:var(--text-3);font-size:12.5px}table.kv{width:100%;border-collapse:collapse;font-size:13.5px}table.kv th,table.kv td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}table.kv th{color:var(--text-3);font-weight:500;width:34%;white-space:nowrap}table.kv td{font-variant-numeric:tabular-nums}.backlink{display:inline-flex;align-items:center;gap:6px;font-size:13px;margin-bottom:10px;color:var(--text-2)}.chart{width:100%;height:160px;display:block;overflow:visible}.chart .grid{stroke:var(--line);stroke-width:1}.chart .line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round}.chart .dot{fill:var(--accent)}.chart .lbl{fill:var(--text-3);font-size:10px}.empty,.loading,.error{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px 16px;text-align:center;color:var(--text-2);font-size:14px}.error{border-color:#fecdca;background:var(--red-bg);color:var(--red)}.filters .count{color:var(--text-3);font-size:12.5px;margin-left:auto}
