:root{--bg:#eee8e1;--card:#fffdf9;--soft:#f5eee8;--ink:#302a27;--muted:#746a65;--line:#d9cdc4;--accent:#9f2d26;--green:#2f7355;--blue:#31568a;--gold:#b5813a;--shadow:0 12px 34px rgba(79,48,38,.08);font-family:"Segoe UI","Microsoft YaHei",sans-serif;color-scheme:light}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:linear-gradient(180deg,#f7f3ee 0,var(--bg) 100%);color:var(--ink)}main{width:min(1480px,100%);margin:auto;padding:34px clamp(18px,3vw,48px) 48px}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:31px 34px;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:14px;background:var(--card);box-shadow:var(--shadow)}.eyebrow{margin:0 0 8px;color:var(--accent);font-family:Georgia,serif;font-size:11px;font-weight:700;letter-spacing:.15em}.hero h1{margin:0;font-family:Georgia,"Songti SC",serif;font-size:34px}.lead{max-width:820px;margin:10px 0 0;color:var(--muted);font-size:13px;line-height:1.75}.asof{display:grid;grid-template-columns:auto auto;gap:2px 8px;align-items:center;min-width:170px;padding:12px 15px;border-radius:10px;background:var(--soft)}.asof>span{grid-row:1/3;width:9px;height:9px;border-radius:50%;background:#4f9c61;box-shadow:0 0 0 5px rgba(79,156,97,.13)}.asof small{color:var(--muted);font-size:9px}.asof strong{font-family:Georgia,serif;font-size:15px}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.metric-strip article{padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:var(--shadow)}.metric-strip span{display:block;color:var(--muted);font-size:10px}.metric-strip strong{display:inline-block;margin-top:8px;color:var(--accent);font-family:Georgia,serif;font-size:26px}.metric-strip em{margin-left:5px;color:var(--muted);font-size:10px;font-style:normal}.panel{margin-top:16px;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}.section-head h2{margin:0;font-family:Georgia,"Songti SC",serif;font-size:21px}.controls label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}.controls select{min-width:122px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:11px}table{width:100%;min-width:1040px;border-collapse:collapse}th{padding:12px 14px;background:#e9dfd7;color:var(--muted);font-size:10px;text-align:right;white-space:nowrap}th:first-child{text-align:left}td{padding:14px;border-top:1px solid #eadfd7;font-size:11px;text-align:right;white-space:nowrap}td:first-child{text-align:left}tbody tr{cursor:pointer}tbody tr:hover,tbody tr.selected{background:#fbf2ec}.industry-name strong{display:block;font-size:12px}.industry-name small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.positive{color:var(--accent);font-weight:700}.negative{color:var(--green);font-weight:700}.signal-chip{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:700}.signal-chip.positive{background:#f3e3df}.signal-chip.negative{background:#e5f0e7}.method-note{margin:11px 3px 0;color:var(--muted);font-size:9px;line-height:1.65}.trend-head{align-items:center}.industry-tabs{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.industry-tabs button{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--muted);font-size:10px;cursor:pointer}.industry-tabs button.active{border-color:var(--accent);background:var(--accent);color:#fff}.selected-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:13px}.selected-summary div{padding:10px 12px;border-radius:9px;background:var(--soft)}.selected-summary span{display:block;color:var(--muted);font-size:9px}.selected-summary strong{display:block;margin-top:5px;font-family:Georgia,serif;font-size:16px}.chart-legend{display:flex;flex-wrap:wrap;gap:15px;margin:4px 0 8px;color:var(--muted);font-size:9px}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{display:inline-block}.chart-legend .bar{width:9px;height:11px;background:rgba(159,45,38,.55)}.chart-legend .ma,.chart-legend .price{width:20px;height:2px;background:var(--accent)}.chart-legend .price{background:var(--blue)}.chart-shell{height:390px;min-height:280px}.chart-shell canvas{width:100%;height:100%}.chart-axis{display:flex;justify-content:space-between;margin:7px 42px 0;color:var(--muted);font-size:9px}.note-panel{margin-top:16px;padding:16px 19px;border-left:4px solid var(--blue);border-radius:9px;background:#f8f2e8;color:var(--muted)}.note-panel strong{color:var(--ink);font-size:11px}.note-panel p{margin:6px 0 0;font-size:9px;line-height:1.7}footer{display:flex;justify-content:space-between;gap:20px;margin-top:22px;color:var(--muted);font-size:9px}.loading{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;gap:10px;background:rgba(238,232,225,.92);color:var(--muted);font-size:12px}.loading span{width:18px;height:18px;border:2px solid #dbcac2;border-top-color:var(--accent);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.hero{display:block;padding:24px}.asof{margin-top:18px}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head{align-items:flex-start;flex-direction:column}.industry-tabs{justify-content:flex-start}.selected-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-shell{height:320px}}
@media(max-width:560px){main{padding:18px 12px 36px}.hero h1{font-size:28px}.metric-strip{grid-template-columns:1fr 1fr}.metric-strip article{padding:14px}.metric-strip strong{font-size:21px}.panel{padding:16px}.selected-summary{grid-template-columns:1fr 1fr}footer{display:block}footer span{display:block;margin-top:5px}}
.section-nav{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0;padding:8px;border:1px solid var(--line);border-radius:12px;background:rgba(255,253,249,.94);box-shadow:var(--shadow);backdrop-filter:blur(10px)}.section-nav a{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:8px;color:var(--muted);font-size:11px;text-decoration:none}.section-nav a:hover,.section-nav a:focus-visible{background:var(--soft);color:var(--accent);outline:none}.section-nav b{color:var(--accent);font-family:Georgia,serif;font-size:11px}.module-block{scroll-margin-top:76px;margin-top:20px;padding:25px;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:14px;background:rgba(255,253,249,.7)}.module-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}.module-title>span{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:8px;background:var(--accent);color:#fff;font-family:Georgia,serif;font-size:13px;font-weight:700}.module-title h2{margin:0;font-family:Georgia,"Songti SC",serif;font-size:27px}.module-title p:last-child{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.65}.panel h3{margin:0;font-family:Georgia,"Songti SC",serif;font-size:21px}.legend-text{color:var(--muted);font-size:9px;line-height:1.5}.holdings-metrics article:nth-child(2) strong,.holdings-metrics article:nth-child(3) strong{font-size:20px}.wide-table{min-width:1500px}.tall-table{max-height:690px}.stock-list{max-width:220px;white-space:normal;line-height:1.6}.stock-list.add{color:var(--accent)}.stock-list.reduce{color:var(--green)}.percentile-chip{display:inline-flex;min-width:62px;justify-content:center;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:700}.percentile-chip.hot{background:#f3ded9;color:var(--accent)}.percentile-chip.cool{background:#e3efe6;color:var(--green)}.percentile-chip.neutral{background:#eee7e1;color:#675d58}.scatter-shell{height:590px;min-height:380px}.scatter-shell canvas,.bar-chart-shell canvas{width:100%;height:100%}.two-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bar-chart-shell{height:770px}.module-block>.panel:first-of-type{margin-top:0}
@media(max-width:1050px){.two-chart-grid{grid-template-columns:1fr}.bar-chart-shell{height:720px}}
@media(max-width:760px){.section-nav{grid-template-columns:1fr 1fr}.section-nav a{padding:9px}.module-block{padding:17px}.module-title h2{font-size:23px}.scatter-shell{height:480px}.bar-chart-shell{height:700px}}
