@charset "UTF-8";
:root{--ink:#172d43;--muted:#728399;--line:#e4eaf1;--bg:#f3f5f9;--nav:#101e31;--blue:#365be9;--up:#cd4554;--down:#168770;--amber:#a57623}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.65 "Microsoft YaHei",system-ui,sans-serif}a{color:var(--blue);text-decoration:none}button,input{font:inherit}button,a,input,summary{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #849cf6}button,input{border:1px solid var(--line)}button{color:var(--ink);background:white}button:hover{border-color:#aebbe0}button[hidden],[hidden]{display:none!important}aside{position:fixed;width:208px;inset:0 auto 0 0;background:var(--nav);color:#a6b6cc;padding:30px 21px;z-index:5}.brand{font-size:19px;font-weight:750;color:#fff;display:flex;gap:9px;align-items:center;white-space:nowrap}.brand-icon{color:#9bafff;font-size:29px}.eyebrow{font:10px/1.5 system-ui,sans-serif;font-weight:700;letter-spacing:1.8px;color:#8d9db0}aside>.eyebrow{margin:8px 0 35px;font-size:9px;letter-spacing:2px}nav{display:grid;gap:9px}nav a{color:#a6b6cc;padding:11px 12px;border-radius:7px;transition:background .15s}nav a:hover,nav a:first-child{background:#22334d;color:#fff}.sidebar-note{position:absolute;bottom:28px;font-size:12px;line-height:1.9}.sidebar-note p{color:#72859f;margin-top:10px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#69c2a7;margin-right:6px}main{margin-left:208px;padding:28px 36px 24px;max-width:1810px}header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 0 20px}h1{font-size:29px;letter-spacing:-.7px;line-height:1.4;margin:8px 0}h2{font-size:19px;line-height:1.4;margin:5px 0 8px;font-weight:750}h3{font-size:15px;margin:10px 0}p{margin:8px 0}.muted{color:var(--muted)}.small,small{font-size:12px}small{font-weight:400;color:var(--muted)}.header-status{text-align:right;flex-shrink:0}.header-status p{font-size:12px}.badge,.tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:5px;background:#edf1fc;color:#536a9a;font-size:11px;white-space:nowrap;font-weight:600}.badge{background:#e6f2ee;color:#29806a}.tag.amber{background:#faf1de;color:#976c23}.notice{border:1px solid #eadfc8;border-left:3px solid #c89c4d;background:#fffcf5;color:#8b7346;font-size:12px;padding:10px 14px;border-radius:6px;margin-bottom:19px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:18px 0}.card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:17px 20px}.card span{font-size:12px;color:var(--muted)}.card b{display:block;font:650 28px/1.4 system-ui,sans-serif;color:var(--ink);margin-top:6px;font-variant-numeric:tabular-nums}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;margin-top:22px;box-shadow:0 2px 5px #132a4503}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.candidate-list{display:flex;gap:12px;flex-wrap:wrap;margin:19px 0}.candidate-button{border:1px solid #d5def6;background:#fafbff;border-radius:8px;padding:15px 20px;display:flex;align-items:center;gap:22px;min-width:290px;text-align:left;transition:box-shadow .15s}.candidate-button[aria-pressed="true"]{border-color:#7690ed;background:#f0f4ff;box-shadow:inset 3px 0 var(--blue)}.candidate-name{font-size:19px;font-weight:750;display:block}.candidate-code{font:11px/1.8 ui-monospace,monospace;color:var(--muted);letter-spacing:.6px}.candidate-price{font:700 24px/1.4 system-ui,sans-serif}.candidate-rank{font-size:10px;color:var(--blue);font-weight:700;letter-spacing:1px}.candidate-label{font-size:11px;color:var(--muted);display:block}.focus-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:26px;border-top:1px solid var(--line);padding-top:15px}.reason-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.reason{background:#f8fafd;border:1px solid #edf1f6;border-radius:6px;padding:10px 12px;min-width:0}.reason-head{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.reason strong{display:block;font:650 19px/1.5 system-ui,sans-serif;font-variant-numeric:tabular-nums;color:#253d67}.reason p{font-size:10px;color:var(--muted);margin:0}.check-pass{color:#398776}.check-fail{color:var(--up)}.focus-chart{min-width:0;border-left:1px solid var(--line);padding-left:23px}.focus-chart svg{margin-top:12px}svg{display:block;width:100%;height:auto;overflow:visible}svg polyline{stroke:var(--blue);stroke-width:2.1;fill:none;stroke-linejoin:round;stroke-linecap:round}svg .chart-grid{stroke:#e9eef5;stroke-width:1}svg text{fill:#94a1b3;font:10px system-ui,sans-serif}svg .chart-area{fill:#ecf0ff;stroke:none}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:14px 0}.section-head>.toolbar{margin:0}.segmented{display:flex;gap:3px;background:#f1f4f8;border:1px solid #e9edf4;border-radius:7px;padding:3px}.segmented button{padding:5px 12px;border:0;background:transparent;color:#78879b;border-radius:4px;font-size:12px;white-space:nowrap}.segmented button[aria-pressed="true"]{background:white;color:#3557cb;font-weight:650;box-shadow:0 1px 4px #24375a12}.search-label{display:flex;align-items:center;gap:6px;background:#f9fafc;border:1px solid var(--line);border-radius:6px;padding:5px 10px;color:#8796ab}.search-label input{background:transparent;border:0;min-width:110px;width:145px;color:var(--ink);font-size:12px}.search-label input:focus{outline:0}.search-label:focus-within{border-color:#7d95ed}.heatmap{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:7px;margin:15px 0}.heat-tile{min-width:0;padding:12px 10px;border:1px solid transparent;border-radius:6px;text-align:left;transition:transform .12s;position:relative;overflow:hidden}.heat-tile:hover{transform:translateY(-2px);border-color:#7b8cac}.heat-tile[aria-pressed="true"]{outline:2px solid #536dab;outline-offset:1px}.heat-tile strong{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.heat-tile b{display:block;font:700 21px/1.5 system-ui,sans-serif;font-variant-numeric:tabular-nums}.heat-tile small{font-size:10px;color:inherit;opacity:.75;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.heat-neutral{background:#f0f3f7;color:#718198}.heat-up-1{background:#fff0ee;color:#b05354}.heat-up-2{background:#fbdcdb;color:#a73c49}.heat-up-3{background:#e99598;color:#6f2634}.heat-up-4{background:#ce5261;color:white}.heat-down-1{background:#eaf6f2;color:#4a8574}.heat-down-2{background:#cce9df;color:#28715c}.heat-down-3{background:#85c3ad;color:#17563e}.heat-down-4{background:#368d71;color:white}.text-button{display:block;margin:14px auto 2px;background:#f5f7fd;color:#536ca8;font-size:12px;border:1px solid #e0e7f6;border-radius:5px;padding:7px 18px}.sector-detail{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.sector-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:15px 0}.stat-block{background:#f8fafc;border-radius:6px;padding:10px 13px}.stat-block span{color:var(--muted);font-size:11px;display:block}.stat-block b{display:block;font:650 18px/1.5 system-ui,sans-serif}.up{color:var(--up)!important}.down{color:var(--down)!important}.forecast-header{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);margin-top:18px;padding-top:13px}.forecast-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:12px 0}.forecast-card{border:1px solid var(--line);border-radius:7px;padding:16px;background:#fafbfe}.forecast-card .metric{display:block;font:700 27px/1.5 system-ui,sans-serif}.forecast-card p{font-size:11px;color:var(--muted)}.forecast-card h4{font-size:12px;font-weight:500;margin:0;color:#697d96}.forecast-card .judgement{font-size:18px;color:#354c83;margin:9px 0}.outlook-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:18px}.outlook-grid>article+article{border-left:1px solid var(--line);padding-left:24px}.color-dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:5px}.up-bg{background:var(--up)}.down-bg{background:var(--down)}.outlook-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf1f5;background:transparent;border-left:0;border-right:0;border-top:0;width:100%;text-align:left}.outlook-row span{font-weight:600;font-size:12px}.outlook-row small{font-size:10px;display:block}.outlook-row b{font:650 17px/1.4 system-ui,sans-serif}.empty{color:#91a0b3;padding:25px 12px;text-align:center;width:100%;font-size:12px}.heatmap>.empty{grid-column:1/-1}.scroll{overflow:auto;max-height:590px}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid #edf1f5;white-space:nowrap}th{color:#7b8ca0;font-weight:500;background:#f8fafc;position:sticky;top:0}tbody tr:hover{background:#f5f8ff}tbody tr{cursor:pointer}td .stock-code{display:block;font:10px/1.6 ui-monospace,monospace;color:var(--muted)}.yes{color:#3965b0;font-weight:650}.check-label{font-size:12px;white-space:nowrap;display:flex;align-items:center;gap:5px}input[type="checkbox"]{accent-color:var(--blue)}.button{display:inline-flex;align-items:center;padding:8px 12px;font-size:12px;border:1px solid #dce4f5;border-radius:6px;background:#f5f7fd}.research-note{background:#fff8eb;border-left:3px solid #d7b16b;padding:12px 15px;font-size:12px;color:#927242;margin:17px 0}details{border-top:1px solid var(--line);margin-top:17px;padding-top:12px}summary{cursor:pointer;font-size:12px;color:#566c8a}details p,details li{font-size:12px;color:var(--muted)}pre{overflow:auto;background:#f5f7fa;padding:15px;border-radius:6px;font-size:11px}.bar{display:flex;align-items:center;gap:12px;margin:8px 0;font-size:12px}.bar label{width:110px;color:var(--muted)}progress{flex:1;height:7px;accent-color:#6c85da}.page-footer{position:static;text-align:center;margin-top:25px;color:#9ba7b8;font-size:11px}#error:not(:empty){color:#b3444f;background:#fff0f0;padding:15px;border:1px solid #efd2d5;border-radius:6px;margin:12px 0}.report-page main{margin:0 auto;max-width:1400px}.report-page table{white-space:nowrap}.report-page .cards{grid-template-columns:repeat(4,1fr)}
@media(min-width:1600px){.heatmap{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}}
@media(max-width:1200px){aside{width:180px;padding:24px 16px}.brand{font-size:17px}main{margin-left:180px;padding:24px}.focus-grid{grid-template-columns:1fr}.focus-chart{border-left:0;border-top:1px solid var(--line);padding:16px 0 0}.sector-stats{grid-template-columns:repeat(5,1fr)}.forecast-grid{gap:8px}.forecast-card{padding:13px}.section-head>.toolbar{max-width:360px}}
@media(max-width:850px){aside{position:static;width:auto;display:flex;justify-content:space-between;align-items:center;padding:14px 20px}.brand{font-size:17px}.brand-icon{font-size:23px}aside>.eyebrow,.sidebar-note{display:none}nav{display:flex;gap:2px}nav a{font-size:11px;padding:6px 8px}main{margin:0;padding:22px}.cards{gap:10px}.card{padding:14px}.card b{font-size:24px}h1{font-size:25px}.panel{padding:20px}.forecast-header{align-items:flex-start}.forecast-grid{grid-template-columns:1fr 1fr}.forecast-card:last-child{grid-column:1/-1}.sector-stats{grid-template-columns:repeat(3,1fr)}.heatmap{grid-template-columns:repeat(auto-fill,minmax(116px,1fr))}}
@media(max-width:560px){aside{display:block;padding:13px 16px}nav{margin-top:10px;justify-content:space-between}main{padding:20px 13px}header{align-items:flex-start;gap:7px}header .muted{font-size:11px}h1{font-size:23px}.header-status{max-width:104px}.badge{font-size:10px}.header-status p{font-size:10px}.cards{grid-template-columns:repeat(2,1fr)}.panel{padding:17px;margin-top:16px}.section-head{align-items:flex-start;flex-wrap:wrap;gap:8px}.tag{font-size:10px}.candidate-button{min-width:100%;justify-content:space-between}.reason-grid{gap:7px}.reason{padding:8px 10px}.reason strong{font-size:17px}.toolbar{gap:8px}.segmented button{padding:5px 10px;font-size:11px}.search-label input{width:112px}.heatmap{grid-template-columns:repeat(3,minmax(0,1fr))}.heat-tile{padding:11px 8px}.heat-tile b{font-size:19px}.heat-tile strong{font-size:11px}.sector-stats{grid-template-columns:repeat(2,1fr)}.sector-stats .stat-block:last-child{grid-column:1/-1}.forecast-header{display:block}.forecast-header .segmented{display:inline-flex}.forecast-grid{grid-template-columns:1fr}.forecast-card:last-child{grid-column:auto}.outlook-grid{grid-template-columns:1fr;gap:16px}.outlook-grid>article+article{border-left:0;border-top:1px solid var(--line);padding:13px 0 0}.section-head>.toolbar{max-width:none}.notice{font-size:11px}.report-page .cards{grid-template-columns:repeat(2,1fr)}}

.stock-link{padding:0;border:0;background:transparent;font-size:12px;font-weight:650;color:#294569;text-align:left}.stock-link:hover{color:var(--blue)}.card b{white-space:nowrap}@media(min-width:561px) and (max-width:700px){.cards{grid-template-columns:repeat(2,1fr)}}

.cycle-section{margin-top:16px;border-top:1px solid var(--line);padding-top:10px}.cycle-strip{display:flex;gap:6px;overflow:auto;padding:5px 0 8px}.cycle-block{flex:1;min-width:117px;background:#f3f5fa;border-top:3px solid #a5b1c7;border-radius:4px;padding:9px}.cycle-block strong{display:block;font-size:12px}.cycle-block small{display:block;font-size:9px;white-space:nowrap;margin-top:4px;color:#7b8ba2}.phase-up{border-color:#cd4554;background:#fff3f2}.phase-down{border-color:#168770;background:#eef8f3}.phase-pullback{border-color:#d6ad58;background:#fff9ee}
