:root{--bg: #0A0E1A;--card: #1E2A3A;--card-hover: #263548;--accent: #00D4FF;--up: #FF4444;--down: #00FF88;--text: #E6EDF5;--text-dim: #8A9BB0;--border: #2C3E54}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Segoe UI,Microsoft JhengHei,Noto Sans TC,sans-serif;font-size:14px}#root{min-height:100vh}.app{max-width:1280px;margin:0 auto;padding:16px 20px 60px}.header{display:flex;align-items:baseline;gap:16px;padding:8px 0 4px}.header h1{font-size:22px;color:var(--accent);letter-spacing:1px}.header .date{color:var(--text-dim);font-size:13px}.disclaimer{background:#15202f;border:1px solid var(--border);border-left:3px solid var(--accent);color:var(--text-dim);font-size:12px;padding:6px 12px;border-radius:4px;margin:8px 0 14px}.tabs{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}.tabs button{background:var(--card);color:var(--text-dim);border:1px solid var(--border);padding:8px 18px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .15s}.tabs button:hover{color:var(--text);background:var(--card-hover)}.tabs button.active{color:#061018;background:var(--accent);border-color:var(--accent);font-weight:700}.grid{display:grid;gap:14px}.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.card h3{font-size:14px;color:var(--accent);margin-bottom:10px;border-bottom:1px solid var(--border);padding-bottom:6px;letter-spacing:.5px}.card.span2{grid-column:span 2}@media(max-width:900px){.card.span2{grid-column:span 1}}table{width:100%;border-collapse:collapse;font-size:13px}th{color:var(--text-dim);text-align:left;padding:5px 8px;font-weight:500;border-bottom:1px solid var(--border);white-space:nowrap}td{padding:5px 8px;border-bottom:1px solid #16202E}tr:hover td{background:#182434}.num{font-variant-numeric:tabular-nums;text-align:right}.up{color:var(--up)}.down{color:var(--down)}.dim{color:var(--text-dim)}.rec-card{background:#16222f;border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin-bottom:10px}.rec-card .head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.rec-card .sid{font-size:16px;font-weight:700;color:var(--accent);cursor:pointer}.rec-card .sid:hover{text-decoration:underline}.rec-card .reason{margin:4px 0;line-height:1.5}.rec-card .risk{color:#ffb454;font-size:12px;margin-top:4px}.rec-card .factors{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.badge{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;border:1px solid var(--border);color:var(--text-dim)}.badge.bullish{color:var(--up);border-color:var(--up)}.badge.bearish{color:var(--down);border-color:var(--down)}.badge.watch{color:var(--accent);border-color:var(--accent)}.badge.hit{color:#061018;background:var(--up);border-color:var(--up);font-weight:700}.badge.miss{color:#061018;background:var(--down);border-color:var(--down);font-weight:700}.badge.theme{color:var(--accent);cursor:default}.empty{color:var(--text-dim);padding:18px 0;text-align:center}.notice{background:#1c2a1e;border:1px solid #2E4A33;color:#9fd8a8;padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:14px}.search-row{display:flex;gap:8px;margin-bottom:14px}.search-row input{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:8px 12px;font-size:14px;width:180px}.search-row button{background:var(--accent);color:#061018;border:none;border-radius:6px;padding:8px 18px;font-weight:700;cursor:pointer}.section-title{font-size:16px;color:var(--text);margin:18px 0 10px}.kpi{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px}.kpi .item{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:12px 18px;min-width:150px}.kpi .label{color:var(--text-dim);font-size:12px}.kpi .value{font-size:22px;font-weight:700;margin-top:2px}.loading{color:var(--text-dim);padding:40px;text-align:center;font-size:15px}.error{color:#ff7b72;padding:20px}ul.plain{list-style:none}ul.plain li{padding:5px 0;border-bottom:1px solid #16202E;line-height:1.45}.kw{color:var(--text-dim);font-size:12px}
