:root{color-scheme:light dark;--bg: #f6f7f9;--card: #ffffff;--text: #1a2027;--muted: #5b6672;--border: #e2e6ea;--accent: #0b66c3;--chip-bg: #e9edf1;--banking: #0b66c3;--crypto: #b26a00;--fintech: #1e7a46;--positive: #1e7a46;--neutral: #5b6672;--negative: #b3384a}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #14181d;--card: #1d232b;--text: #e6eaee;--muted: #9aa5b1;--border: #2c343d;--accent: #5aa5e8;--chip-bg: #262e37;--banking: #5aa5e8;--crypto: #e0a144;--fintech: #58b380;--positive: #58b380;--neutral: #9aa5b1;--negative: #e07a8a}}:root[data-theme=dark]{color-scheme:dark;--bg: #14181d;--card: #1d232b;--text: #e6eaee;--muted: #9aa5b1;--border: #2c343d;--accent: #5aa5e8;--chip-bg: #262e37;--banking: #5aa5e8;--crypto: #e0a144;--fintech: #58b380;--positive: #58b380;--neutral: #9aa5b1;--negative: #e07a8a}:root[data-theme=light]{color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:Noto Sans TC,-apple-system,Segoe UI,Roboto,PingFang TC,Microsoft JhengHei,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}.shell{max-width:1100px;margin:0 auto;padding:24px 16px 48px}.header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}header h1{margin:0;font-size:1.6rem}.header-controls{display:flex;gap:8px;align-items:center;margin-top:6px}.seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.seg button{border:none;background:var(--card);color:var(--muted);padding:4px 10px;font-size:.8rem;cursor:pointer}.seg button+button{border-left:1px solid var(--border)}.seg button.active{background:var(--accent);color:#fff}.subtitle{font-weight:400;color:var(--muted);font-size:1.1rem}.tagline{color:var(--muted);font-size:.9rem;margin:6px 0 0}.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0 8px}.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.chips-label{color:var(--muted);font-size:.8rem}.chip{border:1px solid var(--border);background:var(--chip-bg);color:var(--text);border-radius:999px;padding:6px 14px;font-size:.9rem;cursor:pointer}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.controls{display:flex;gap:8px;flex:1;min-width:240px}.controls select,.controls input{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:8px;padding:7px 10px;font-size:.9rem}.controls input{flex:1;min-width:120px}.count{color:var(--muted);font-size:.85rem;margin:8px 0 12px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px}.card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.8rem}.badge{border-radius:6px;padding:1px 8px;font-size:.75rem;color:#fff}.sector-banking{background:var(--banking)}.sector-crypto{background:var(--crypto)}.sector-fintech{background:var(--fintech)}.badge.sentiment-positive,.badge.sentiment-neutral,.badge.sentiment-negative{background:transparent;border:1px solid currentColor}.sentiment-positive{color:var(--positive)}.sentiment-neutral{color:var(--neutral)}.sentiment-negative{color:var(--negative)}.badge.category{background:transparent;border:1px solid var(--border);color:var(--muted)}.company{font-weight:600}.dots{display:inline-flex;gap:3px;margin-left:auto}.dot{width:7px;height:7px;border-radius:50%;background:var(--border)}.dot.on{background:var(--accent)}.card h3{margin:0;font-size:1rem;line-height:1.45}.card h3 a{color:var(--text);text-decoration:none}.card h3 a:hover{color:var(--accent);text-decoration:underline}.summary{margin:0;font-size:.88rem;color:var(--muted)}.card-footer{margin-top:auto;display:flex;justify-content:space-between;color:var(--muted);font-size:.78rem}.status{color:var(--muted);text-align:center;padding:40px 0}footer{margin-top:32px;color:var(--muted);font-size:.8rem;text-align:center}@media(max-width:600px){.shell{padding:16px 12px 40px}.grid{grid-template-columns:1fr}.filters{flex-direction:column;align-items:stretch}.controls{width:100%}}
