:root{color-scheme:dark;--bg: #0b1220;--bg-deep: #07101d;--panel: #111827;--panel-2: #141f31;--panel-3: #182234;--border: #26344a;--border-soft: rgba(87, 111, 148, .22);--text: #e5e7eb;--muted: #94a3b8;--faint: #64748b;--red: #ff4d6d;--red-2: #ff2f6d;--orange: #f59e0b;--green: #10b981;--blue: #3b82f6;--purple: #8b5cf6;--shadow: 0 18px 48px rgba(0, 0, 0, .34);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,PingFang SC,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-width:320px;background:radial-gradient(circle at 24% 0%,rgba(255,77,109,.09),transparent 32rem),radial-gradient(circle at 82% 18%,rgba(59,130,246,.11),transparent 30rem),linear-gradient(180deg,var(--bg-deep),var(--bg));color:var(--text)}button,input{font:inherit}button{border:0;color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.72}.dashboard{min-height:100vh;padding:24px}.shell{width:min(1536px,calc(100vw - 48px));margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.eyebrow{margin:0 0 4px;color:#ff9aae;font-size:13px;font-weight:800}h1,h2,h3,p{margin:0}h1{font-size:26px;line-height:1.1}.controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.date-control,.switch-control,.primary-button,.ghost-button{min-height:40px;border-radius:8px;border:1px solid var(--border);background:#111827d1;display:inline-flex;align-items:center;gap:8px;padding:0 12px;color:var(--text)}.date-control span{color:var(--muted);font-size:13px}.date-control input{width:135px;border:0;color:var(--text);background:transparent;outline:none}.date-control input::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.75}.switch-control input{accent-color:var(--red)}.primary-button{background:linear-gradient(135deg,#ff2f6d,#fb7185);border-color:#ff4d6dbd;font-weight:800;box-shadow:0 10px 26px #ff2f6d38}.ghost-button{background:#141f31e0;font-weight:800}.loading-state,.error-banner,.source-strip{border:1px solid var(--border);border-radius:8px;background:#111827db}.loading-state{min-height:320px;display:grid;place-items:center;align-content:center;gap:12px;color:var(--muted)}.loading-state strong{color:var(--text);font-size:20px}.error-banner{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding:12px 14px;color:#fecdd3;border-color:#ff4d6d80;background:#7f1d1d47}.error-banner button{min-height:32px;margin-left:auto;border-radius:7px;padding:0 12px;background:#ff4d6d3d;font-weight:800}.source-strip{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:-4px 0 22px;padding:11px 14px;color:var(--muted);font-size:13px;font-weight:800}.source-strip span{display:inline-flex;align-items:center;gap:6px}.sample-audit{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-12px 0 22px;color:var(--muted);font-size:12px;font-weight:900}.sample-audit span,.sample-audit b,.sample-audit em{min-height:24px;border:1px solid rgba(87,111,148,.24);border-radius:7px;padding:4px 9px;background:#07101d6b;font-style:normal}.sample-audit span{color:#93c5fd}.sample-audit b{color:#cbd5e1}.explain-inline{position:relative;display:inline-grid;place-items:center;line-height:1}.explain-button{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid rgba(148,163,184,.28);border-radius:999px;color:#9fb5d9;background:#0f172aad;vertical-align:middle}.explain-button:hover,.explain-button:focus-visible,.explain-button.active{color:#fff;border-color:#ff4d6d9e;background:#ff4d6d2e;outline:none}.explain-popover{position:absolute;z-index:30;left:calc(100% + 9px);top:50%;transform:translateY(-50%);display:grid;width:min(360px,calc(100vw - 54px));gap:7px;border:1px solid rgba(87,111,148,.46);border-radius:8px;padding:12px 13px;color:#cbd5e1;background:#09111ffa;box-shadow:0 16px 36px #00000059;font-size:12px;font-weight:800;line-height:1.55;text-align:left}.explain-popover:before{content:"";position:absolute;left:-6px;top:50%;width:10px;height:10px;transform:translateY(-50%) rotate(45deg);border-left:1px solid rgba(87,111,148,.46);border-bottom:1px solid rgba(87,111,148,.46);background:#09111ffa}.explain-popover-title{color:#ff8aa3;font-size:13px}.explain-popover-label{margin-top:2px;color:#93c5fd}.hero-panel,.section,.metric-card{border:1px solid var(--border-soft);border-radius:8px;background:linear-gradient(180deg,#162032eb,#111827eb),var(--panel);box-shadow:var(--shadow)}.hero-panel{margin-bottom:22px;border-color:#ff2f6d40;background:linear-gradient(90deg,#ff2f6d2e,#8b5cf612 52%,#ff4d6d1c),#161727}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.25fr;gap:0;min-height:218px}.hero-block{padding:26px 22px;border-right:1px solid rgba(255,47,109,.18)}.hero-block:last-child{border-right:0}.hero-meta,.update-time{color:var(--muted);font-size:13px;font-weight:700}.update-time{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:18px}.label-row{display:flex;align-items:center;gap:7px;margin-top:18px;color:#ff8aa3;font-weight:900}.score-line{display:flex;align-items:center;gap:12px;margin-top:8px}.score-line strong{font-size:34px;line-height:1}.index-score{display:flex;align-items:center;gap:9px;margin-top:17px;color:var(--muted);font-weight:800}.index-score b{color:#ff86a0;font-family:SFMono-Regular,Consolas,monospace;font-size:28px}.hero-block h2{margin-bottom:18px;color:#ff7f9b;font-size:16px}.position-options{display:grid;grid-template-columns:1fr 1fr;row-gap:8px;color:var(--text)}.position-options span{color:var(--text);font-weight:800}.position-options b{color:#ffd166;text-align:right}.range-bar,.score-track{height:9px;border-radius:999px;overflow:hidden;background:#334155}.range-bar{margin:16px 0 6px}.range-bar span{display:block;width:10%;height:100%;background:linear-gradient(90deg,var(--red-2),#f43f5e)}.position-block p{color:var(--muted);text-align:right;font-size:13px;font-weight:700}.style-block ul{display:grid;gap:10px;margin:0;padding:0;list-style:none;color:var(--muted);font-weight:800}.style-block li:before{content:"–";margin-right:8px}.style-block .good{color:#50e3be}.time-plan{display:grid;row-gap:14px;color:var(--muted)}.time-plan b{color:#e7d676}.time-plan-row{display:grid;grid-template-columns:68px 1fr;gap:0}.section{padding:18px;margin-bottom:22px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-title{display:flex;align-items:center;gap:10px}.section-title h2{font-size:18px}.icon-shell{width:25px;height:25px;display:inline-grid;place-items:center;border-radius:6px;color:#9ec5ff;background:#3b82f621}.index-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:14px}.index-card{min-height:110px;border:1px solid var(--border);border-radius:8px;padding:14px;background:#0c152394}.card-head,.down-row,.chart-head,.x-axis{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-head span{color:#cbd5e1;font-weight:800}.card-head em,.down-row,.x-axis,.chart-head span{color:var(--muted);font-style:normal;font-size:13px}.index-card strong{display:block;margin:10px 0 6px;color:#5ef0a7;font-family:SFMono-Regular,Consolas,monospace;font-size:28px}.down-row span:first-child,.down-row .down-text{color:#6ee7b7}.down-row .up-text{color:#ff8aa3}.diagnosis{margin-top:14px;border:1px solid var(--border);border-radius:8px;padding:12px 14px;color:var(--muted);background:#07101d8c}.diagnosis b{color:var(--text)}.formula-line{margin-top:8px;color:#93a4bd;font-size:12px;font-weight:700;line-height:1.45}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}.metric-card{min-height:132px;padding:18px 20px}.metric-title{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-weight:900}.metric-title span{display:inline-flex;align-items:center;gap:6px}.metric-card strong{display:block;margin-top:12px;font-family:SFMono-Regular,Consolas,monospace;font-size:38px;line-height:1}.metric-card p{margin-top:10px;color:var(--muted);font-weight:800}.metric-card .formula-line{color:#7890b0;font-weight:700}.tone-red strong,.tone-red h3,.tone-red .metric-title svg{color:#ff85a0}.tone-orange strong,.tone-orange h3,.tone-orange .metric-title svg{color:#facc15}.tone-blue strong,.tone-blue h3,.tone-blue .metric-title svg{color:#86b7ff}.tone-green strong,.tone-green h3,.tone-green .metric-title svg{color:#5ee9ad}.tone-purple strong,.tone-purple h3{color:#c4b5fd}.two-column{display:grid;grid-template-columns:minmax(360px,.7fr) minmax(560px,1.42fr);gap:18px}.cycle-axis{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:10px 0 28px;color:var(--muted);text-align:center;font-weight:900}.cycle-axis:before{content:"";position:absolute;left:5%;right:5%;top:14px;height:2px;background:#334155}.cycle-axis span{position:relative;padding-top:32px}.cycle-axis span:before{content:"";position:absolute;left:50%;top:4px;width:20px;height:20px;transform:translate(-50%);border-radius:999px;background:#475569;box-shadow:0 0 0 5px #4755692e}.cycle-axis .active{color:#7db8ff}.cycle-axis .active:before{background:var(--blue);box-shadow:0 0 0 8px #3b82f647}.cycle-stats{display:grid;gap:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.cycle-stats div{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}.cycle-stats div:last-child{border-bottom:0}.cycle-stats span{color:var(--muted);font-weight:800}.cycle-stats b{text-align:right;font-family:SFMono-Regular,Consolas,monospace}.cycle-stats small{display:block;margin-top:4px;color:var(--muted);font-family:inherit;font-size:12px;font-weight:800}.cycle-stats em{color:var(--green);font-style:normal;font-family:inherit;font-size:13px}.cycle-stats .warm{color:#fde047}.cycle-stats .risk{color:#fb7185}.chart-card,.conclusion{margin-top:16px;border:1px solid var(--border);border-radius:8px;padding:14px;background:#0c152394}.interactive-chart-card{padding:0;overflow:hidden;background:linear-gradient(180deg,#0d233ec2,#0a1423b8)}.interactive-chart-card .chart-head{min-height:48px;border-bottom:1px solid rgba(87,111,148,.22);padding:13px 14px 0}.trend-explorer{padding:14px}.trend-toolbar{display:inline-flex;gap:4px;border:1px solid rgba(87,111,148,.34);border-radius:8px;padding:3px;background:#060f1c94}.trend-toolbar button{min-height:28px;border-radius:6px;padding:0 10px;color:var(--muted);background:transparent;font-size:12px;font-weight:900}.trend-toolbar button.active{color:#fff;background:#3b82f657}.trend-readout{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:12px}.trend-readout span{color:#93c5fd;font-size:13px;font-weight:900}.trend-readout b{color:#fff;font-family:SFMono-Regular,Consolas,monospace;font-size:18px}.trend-chart{display:block;width:100%;height:238px;margin-top:4px}.trend-grid{stroke:#576f9440;stroke-width:1}.trend-cross{stroke:#93c5fd8c;stroke-dasharray:4 5;stroke-width:1.5}.trend-active-dot{stroke:#fff;stroke-width:2}.trend-hit{fill:transparent;cursor:crosshair;outline:none}.trend-label{fill:#8fb5dc;font-size:12px;font-weight:800}.trend-detail-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:4px}.trend-detail-grid button{display:grid;gap:4px;min-height:74px;border:1px solid rgba(87,111,148,.26);border-radius:8px;padding:9px;color:#cbd5e1;background:#07101d73;text-align:left}.trend-detail-grid button.active,.trend-detail-grid button:hover,.trend-detail-grid button:focus-visible{border-color:#ff4d6d85;background:#ff4d6d1c;outline:none}.trend-detail-grid span{color:#93c5fd;font-size:12px;font-weight:900}.trend-detail-grid b{color:#ff8ab1;font-family:SFMono-Regular,Consolas,monospace;font-size:18px}.trend-detail-grid em,.trend-detail-grid strong{color:var(--muted);font-size:11px;font-style:normal;font-weight:800}.conclusion b{color:var(--muted)}.conclusion p{margin-top:7px;font-weight:800}.legend,.watch-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-pill{min-height:28px;border:1px solid var(--border);border-radius:7px;padding:0 10px;color:var(--muted);background:#0c1523a3;font-size:13px;font-weight:900}.filter-pill.active{color:#ffd166;border-color:#f59e0b73;background:#f59e0b24}.pill{display:inline-flex;align-items:center;min-height:24px;border-radius:7px;padding:2px 9px;font-size:13px;font-weight:900}.pill.red{color:#ff8aa3;background:#ff4d6d2e;border:1px solid rgba(255,77,109,.28)}.pill.orange{color:#fcd34d;background:#f59e0b26;border:1px solid rgba(245,158,11,.3)}.pill.blue{color:#93c5fd;background:#3b82f626;border:1px solid rgba(59,130,246,.3)}.sector-list{display:grid;gap:14px}.sector-row{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:8px;padding:18px 18px 14px;background:linear-gradient(90deg,#ff4d6d14,#131b2ae0)}.sector-row:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--red)}.sector-row.support:before{background:var(--orange)}.sector-row.rotation:before{background:var(--blue)}.sector-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.sector-top h3{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:22px}.sector-top em{color:var(--muted);font-size:14px;font-style:normal}.strength{width:140px;flex:0 0 auto;text-align:right}.strength strong{color:#8fc5ff;font-family:SFMono-Regular,Consolas,monospace;font-size:20px}.strength span{display:block;height:7px;margin-top:8px;border-radius:999px;background:#334155;overflow:hidden}.strength i,.score-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--red-2),#fb7185)}.sector-row.support .strength i{background:linear-gradient(90deg,var(--blue),#60a5fa)}.sector-details{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px 24px;color:#cbd5e1;font-weight:800}.sector-row p{margin-top:10px;color:var(--muted);font-weight:800}.sector-row p b{color:#cbd5e1}.sector-row>.formula-line{border-top:1px solid rgba(38,52,74,.72);margin-top:12px;padding-top:10px}.representatives{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.representatives span{display:inline-flex;align-items:center;gap:7px;min-height:28px;border:1px solid rgba(148,163,184,.2);border-radius:7px;padding:4px 10px;color:#dbeafe;background:#0f172a8a;font-size:13px;font-weight:900}.representatives em{color:#fb7185;font-style:normal;font-family:SFMono-Regular,Consolas,monospace}.methods-section{margin-top:2px}.method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.method-panel{border:1px solid var(--border);border-radius:8px;padding:16px;background:#0c152394}.method-panel div:first-child{display:flex;justify-content:space-between;gap:12px}.method-panel h3{font-size:17px}.method-panel span{color:#fcd34d;font-weight:900}.score-track{margin:14px 0;height:8px}.method-panel p{color:var(--muted);font-weight:700;line-height:1.55}.pool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px}.pool-grid article{min-height:236px;border:1px solid var(--border);border-radius:8px;padding:14px;background:#07101d75}.pool-grid h3{margin-bottom:10px;color:#cbd5e1;font-size:15px}.pool-grid span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:30px;border-top:1px solid rgba(38,52,74,.72);padding:7px 0}.pool-grid span:first-of-type{border-top:0}.pool-grid b{overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.pool-grid em{color:#fb7185;font-style:normal;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;white-space:nowrap}.pool-grid article:nth-child(2) em,.pool-grid article:nth-child(4) em{color:#6ee7b7}.pool-grid p{margin-top:18px;color:var(--muted);font-weight:800}.bottom-column{grid-template-columns:1fr 1fr}.risk-list{display:grid;gap:12px}.risk-item{display:flex;justify-content:space-between;gap:16px;min-height:100px;border:1px solid var(--border);border-radius:8px;padding:16px;background:#ff4d6d14}.risk-item.tone-orange{background:#f59e0b14}.risk-item.tone-green{background:#10b98114}.risk-item p{margin:7px 0 10px;color:var(--text);font-weight:800}.risk-item span{color:#f8a4b6;font-size:13px;font-weight:900}.risk-item b{min-width:28px;color:inherit}.watch-section{overflow:hidden}.watch-table{border-top:1px solid var(--border);margin:0 -18px -18px}.watch-row{display:grid;grid-template-columns:1.05fr .75fr 1.7fr .55fr;gap:18px;align-items:center;min-height:64px;padding:10px 18px;border-bottom:1px solid var(--border);background:#11182770}.watch-row.head{min-height:44px;color:var(--muted);font-weight:900;background:#07101dbd}.watch-row.priority-A{background:#ff4d6d17}.watch-row.priority-B{background:#f59e0b12}.watch-row.priority-C{background:#3b82f614}.watch-row b{display:block;font-weight:900}.watch-row em{display:block;margin-top:3px;color:var(--muted);font-style:normal;font-size:13px}.watch-row i{display:inline-flex;min-width:42px;justify-content:center;border-radius:6px;padding:5px 8px;background:#64748b;color:#fff;font-style:normal;font-weight:900}.priority-A i{background:var(--red-2)}.priority-B i{background:var(--orange);color:#1f1300}.priority-C i{background:var(--blue)}.tip{display:flex;align-items:center;gap:8px;padding:12px 18px 0;color:var(--muted);font-size:13px;font-weight:800}.tip-list{padding-bottom:12px}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1280px){.hero-grid{grid-template-columns:1fr 1fr}.hero-block:nth-child(2n){border-right:0}.hero-block:nth-child(n+3){border-top:1px solid rgba(255,47,109,.18)}.index-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metrics-grid,.method-grid,.pool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column,.bottom-column{grid-template-columns:1fr}}@media(max-width:768px){.dashboard{padding:14px}.shell{width:100%}.topbar,.controls,.section-head,.sector-top{align-items:stretch;flex-direction:column}.controls{justify-content:stretch}.date-control,.switch-control,.primary-button,.ghost-button{width:100%;justify-content:center}.hero-grid,.metrics-grid,.method-grid,.pool-grid,.index-grid{grid-template-columns:1fr}.hero-block{border-right:0;border-top:1px solid rgba(255,47,109,.18)}.hero-block:first-child{border-top:0}.update-time{justify-content:flex-start}.sector-details{grid-template-columns:1fr 1fr}.strength{width:100%;text-align:left}.watch-table{overflow-x:auto}.watch-row{min-width:760px}.trend-detail-grid{grid-template-columns:1fr}.trend-chart{height:210px}.explain-popover{left:auto;right:0;top:calc(100% + 9px);transform:none}.explain-popover:before{left:auto;right:8px;top:-6px;transform:rotate(135deg)}}
