:root{--bg:#f3f6fa;--card:#fff;--ink:#1e2732;--muted:#7a8794;--line:#e4e9ef;--red:#e54b43;--gold:#ba8224;--green:#18a179}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Microsoft YaHei",Arial,sans-serif}
.mainline-shell{width:calc(100% - 24px);margin:0 12px;padding:14px 0 55px}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:9px}
.page-head span,.section-head span{color:var(--red);font-size:10px;font-weight:900}
.page-head h1{margin:2px 0;font-size:20px}
.page-head p{margin:0;color:var(--muted);font-size:10px}
.source{display:grid;grid-template-columns:7px auto;gap:1px 6px;align-items:center;padding:7px 10px;border:1px solid var(--line);border-radius:5px;background:#fff}
.source i{width:6px;height:6px;border-radius:50%;background:var(--green)}
.source b{font-size:10px}.source small{grid-column:2;color:var(--muted);font-size:9px}
.guide{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;padding:8px 11px;border:1px solid #f0d9d5;border-left:3px solid var(--gold);border-radius:5px;background:#fff2f0;font-size:10px}
.guide span{color:#67727e}.guide a{color:var(--red);font-weight:800;text-decoration:none}
.periods{display:flex;gap:6px;margin:8px 0;overflow-x:auto}
.periods button{padding:5px 11px;border:1px solid var(--line);border-radius:14px;background:#fff;color:#687481;font-size:10px;white-space:nowrap}
.periods button.active{border-color:#e8aaa5;background:#fff0ee;color:var(--red);font-weight:900}
.panel{padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--card);box-shadow:0 5px 18px rgba(28,42,56,.045)}
.timeline-panel{margin-top:9px}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:8px}
.section-head h2{margin:2px 0 0;font-size:14px}.section-head small{color:var(--muted);font-size:9px}
.matrix-scroll{overflow:auto;border:1px solid var(--line);border-radius:4px}
.heat-table{width:100%;min-width:860px;border-collapse:collapse;table-layout:fixed;font-size:10px}
.heat-table th,.heat-table td{height:29px;padding:3px 5px;border-right:1px solid #dfe5ec;border-bottom:1px solid #dfe5ec;text-align:center}
.heat-table th:first-child{position:sticky;left:0;z-index:2;width:124px;background:#fff;text-align:left;font-weight:800}
.heat-table thead th{background:#f7f9fb;color:#687481;font-size:9px}.heat-table thead th i{color:var(--muted);font-style:normal;font-weight:500}
.heat-table tbody tr:last-child th,.heat-table tbody tr:last-child td{border-bottom:0}
.heat-table tr.total th,.heat-table tr.total td{border-bottom:2px solid var(--line);background:#f7f9fb;font-weight:900}
.heat-table tr.unknown th,.heat-table tr.unknown td{border-top:2px solid var(--line);background:#fff;color:var(--muted);font-weight:600}
.heat-table td[data-count]{cursor:pointer;font-weight:800}.heat-table td[data-count]:hover{outline:2px solid rgba(229,75,67,.3);outline-offset:-2px}.heat-table sup{font-size:7px}
.matrix-detail{display:flex;align-items:center;gap:12px;margin-top:8px;padding:8px 10px;border:1px solid var(--line);border-radius:5px;background:#fafbfc;font-size:10px}
.matrix-detail[hidden]{display:none}.matrix-detail>div{display:flex;flex-wrap:wrap;gap:5px 12px}.matrix-detail a{color:var(--gold);font-weight:800;text-decoration:none}
.explain{margin-top:7px;border:1px solid var(--line);border-radius:4px;background:#fafbfc}
.explain summary{padding:8px 10px;cursor:pointer;font-size:10px;font-weight:800}.explain div{padding:0 10px 8px;color:#687481;font-size:10px;line-height:1.55}.explain p{margin:5px 0}
.timeline{display:grid;gap:0}
.day-card{padding:10px 14px;margin:0 0 8px;border:1px solid var(--line);border-radius:7px;background:#f7f9fc}
.day-head{display:flex;align-items:center;gap:10px;padding:0 0 6px;margin:0 0 2px}
.day-head a{color:var(--ink);font-size:11px;font-weight:900;text-decoration:none}.day-head a small{font-weight:500}.day-head span{color:var(--muted);font-size:10px}.day-head .overall{margin-left:auto;color:var(--gold);font-size:10px;font-weight:800;text-decoration:none}
.theme-row{display:grid;grid-template-columns:105px 44px minmax(240px,1fr) 150px;gap:8px;align-items:baseline;padding:4px 0;font-size:10px}
.theme-row>b{font-size:11px}.theme-count{color:var(--red);font-size:9px;font-weight:800}.theme-driver{color:#697581;line-height:1.5}.theme-leader{color:var(--gold);font-size:10px;font-weight:800;text-align:right;text-decoration:none}
.related{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:9px}.related a{padding:10px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);text-decoration:none}.related b{display:block;font-size:10px}.related span{display:block;margin-top:3px;color:var(--muted);font-size:9px}
.loading{padding:26px!important;color:var(--muted);text-align:center!important}.toast{position:fixed;right:20px;bottom:20px;padding:10px 13px;border-radius:5px;background:#1c2732;color:#fff;font-size:11px;opacity:0;transition:.2s}.toast.show{opacity:1}
@media(max-width:900px){.mainline-shell{width:calc(100% - 24px);margin:0 auto;padding-top:66px}.page-head{align-items:flex-start;flex-direction:column}.guide{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.theme-row{grid-template-columns:90px 40px minmax(180px,1fr) 120px}.related{grid-template-columns:repeat(2,1fr)}}
/* Mainline tracking page */
.mainline-shell{max-width:1180px!important;margin:0 auto!important;padding:14px 18px 56px}.mainline-shell .page-head h1{font-size:22px}.mainline-shell .hero{padding:18px;border-radius:8px}.mainline-shell .hero .phase{font-size:24px}.mainline-shell .hero-facts .fact{padding:12px}.mainline-shell .panel{border-radius:8px}.mainline-shell .panel table{font-size:13px}.mainline-shell .panel th,.mainline-shell .panel td{padding:9px 10px}@media(max-width:700px){.mainline-shell{padding:12px 10px 42px}.mainline-shell .hero .phase{font-size:20px}.mainline-shell .panel table{font-size:12px}}
