:root{--bg:#050607;--panel:#101113;--panel-2:#0b0c0e;--border:#ffffff14;--border-strong:#ff7a006b;--text:#f4f4f5;--muted:#8b8f98;--muted-2:#5e6470;--orange:#ff7a00;--orange-2:#ff9f1a;--green:#22d34f;--red:#ef3b2d;--blue:#2f80ff;--purple:#7c3cff;--cyan:#25d6a2}*{box-sizing:border-box}html,body{background:radial-gradient(circle at 55% 20%, #ff7a000d, transparent 26%), var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Inter,SF Pro Display,Segoe UI,Arial,sans-serif}button,input,select{font:inherit}button{color:inherit;cursor:pointer}.appShell{grid-template-columns:210px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);background:linear-gradient(#070809 0%,#050607 100%);flex-direction:column;height:100vh;padding:28px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;margin-bottom:34px;display:flex}.brandMark{background:#08090a;border-radius:8px;place-items:center;width:44px;height:44px;display:grid;overflow:hidden;box-shadow:0 0 22px #ff7a002e}.brandMark img{object-fit:cover;width:100%;height:100%;display:block}.brandName{font-size:22px;font-weight:800;line-height:1}.brandName span{color:var(--orange)}.brandSub{color:#d7d7d7;letter-spacing:.04em;margin-top:5px;font-size:10px;font-weight:700}.nav{gap:6px;display:grid}.navItem{color:#d5d5d8;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;min-height:48px;padding:0 14px;font-weight:700;text-decoration:none;display:flex}.navItem span{width:20px;color:var(--orange)}.navIcon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;display:block}.navItem:hover,.navItem:focus-visible{border-color:var(--border);background:#ffffff0d;outline:none}.navItem.active{box-shadow:inset -3px 0 0 var(--orange);background:linear-gradient(90deg,#ff7a005c,#ff7a0014);border-color:#ff7a0040}.sideCard{border:1px solid var(--border);background:#ffffff09;border-radius:8px;margin-top:auto;padding:16px;display:none}.updateDataButton{color:#fff;isolation:isolate;background:linear-gradient(#d96500,#9d3c00);border:1px solid #ff7a004d;border-radius:8px;min-height:42px;margin-top:auto;padding:0 14px;font-weight:800;position:relative;overflow:hidden;box-shadow:0 0 18px #ff7a0038}.updateDataButton:before{content:"";width:var(--update-progress,0%);z-index:-1;background:linear-gradient(90deg,#ffffff2e,#ffffff14);transition:width .22s;position:absolute;inset:0}.updateDataButton span{z-index:1;position:relative}.updateDataButton:hover,.updateDataButton:focus-visible{border-color:#ff9f1a8f;outline:none;box-shadow:0 0 0 3px #ff7a0029,0 0 18px #ff7a004d}.updateDataButton:disabled{cursor:wait;opacity:.76}.updateDataButton.accepted{background:linear-gradient(#15843a,#0f5f2a);border-color:#22d34f59;box-shadow:0 0 18px #22d34f2e}.updateDataButton.failed{background:linear-gradient(#b93425,#7c1f18);border-color:#ef3b2d6b;box-shadow:0 0 18px #ef3b2d33}.sideDataDate{color:var(--muted);justify-content:space-between;gap:10px;margin-top:10px;padding:0 2px;font-size:12px;display:flex}.sideDataDate strong{color:var(--text);font-weight:700}.sideCard h3{margin:0 0 14px;font-size:15px}.sideCard p,.disclaimer{color:var(--muted);font-size:12px;line-height:1.7}.semiGauge{background:conic-gradient(from 270deg, var(--orange), var(--orange-2) 130deg, #ff7a0026 132deg, transparent 180deg);border-radius:80px 80px 10px 10px;place-items:center;height:126px;margin-bottom:8px;display:grid;-webkit-mask:radial-gradient(circle at 50% 70%,#0000 0 46px,#000 47px);mask:radial-gradient(circle at 50% 70%,#0000 0 46px,#000 47px)}.semiGauge div{margin-top:44px;font-size:24px;font-weight:800}.semiGauge span{color:var(--muted);font-size:12px}.sideMetric{color:var(--muted);justify-content:space-between;margin-top:10px;font-size:12px;display:flex}.sideMetric strong,.statusDot{color:var(--green)}.statusDot{font-size:13px;font-weight:700}.statusDot:before{content:"";background:currentColor;border-radius:99px;width:8px;height:8px;margin-right:8px;display:inline-block}.statusDot.warn{color:var(--orange-2)}.disclaimer{margin:14px 0 18px}.content{max-width:1240px;padding:28px 24px 20px}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.topbar h1{margin:0;font-size:28px;line-height:1.2}.topbar p{color:var(--muted);margin:12px 0 0}.topControls{align-items:center;gap:12px;display:flex}.segmented,.tabs{border:1px solid var(--border);background:#ffffff06;border-radius:8px;padding:3px;display:inline-flex}.segmented button,.tabs button{color:#aeb0b8;background:0 0;border:0;border-radius:7px;min-width:54px;height:32px}.segmented button.active,.tabs button.active,.primary{color:#fff;background:linear-gradient(#d96500,#9d3c00);box-shadow:0 0 18px #ff7a004d}.smallInfo{border:1px solid var(--border);width:16px;height:16px;color:var(--muted);background:#ffffff09;border-radius:999px;place-items:center;font-size:11px;display:inline-grid}.offlineBanner{color:var(--orange-2);background:#ff9f1a14;border:1px solid #ff9f1a47;border-radius:8px;margin-bottom:14px;padding:10px 14px}.statGrid{grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:14px;display:grid}.statCard,.panel{border:1px solid var(--border);background:linear-gradient(145deg,#ffffff0e,#ffffff05);border-radius:8px}.statCard{text-align:left;min-height:150px;padding:18px;position:relative;overflow:hidden}.statCard.highlight{border-color:var(--border-strong);box-shadow:0 0 24px #ff7a001a}.statCard span,.panel h2{font-weight:800}.statCard strong{color:var(--green);margin-top:12px;font-size:26px;display:block}.statCard em{color:var(--muted);margin-top:8px;font-size:13px;font-style:normal;display:block}.miniLine{width:44%;height:44px;position:absolute;bottom:14px;right:16px;overflow:hidden}.miniBars{align-items:end;gap:7px;height:42px;display:flex;position:absolute;bottom:20px;right:18px}.miniBars i{background:var(--orange);border-radius:2px 2px 0 0;width:7px}.scoreCard{padding-right:92px}.gauge{background:conic-gradient(var(--orange) var(--deg), #ff7a0026 0);border-radius:999px;place-items:center;width:72px;height:72px;display:grid;position:absolute;bottom:22px;right:20px}.gauge:after{content:"";border-radius:inherit;background:var(--panel);position:absolute;inset:10px}.gaugeInner{z-index:1;text-align:center;position:relative}.gaugeInner strong{margin:0;font-size:16px;display:inline}.gaugeInner span{color:var(--muted);font-size:10px}.mainGrid{grid-template-columns:minmax(650px,1fr) 370px;align-items:start;gap:14px;display:grid}.mainGrid.single{grid-template-columns:1fr}.mainGrid>.heatmapPanel{min-height:680px}.bottomGrid{grid-template-columns:.86fr 1.24fr;gap:14px;margin-top:14px;display:grid}.panel{padding:18px}.panelHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel h2{margin:0 0 16px;font-size:18px}.panel select,.settingsPanel input,.settingsPanel select{height:34px;color:var(--text);border:1px solid var(--border);background:#0b0c0e;border-radius:8px;padding:0 10px}.heatTable{gap:2px;display:grid}.heatHead,.heatRow{grid-template-columns:150px repeat(6,minmax(70px,1fr)) 60px 86px;align-items:stretch;gap:2px;display:grid}.heatHead{color:var(--muted);font-size:12px}.heatHead span,.heatHead button{min-height:34px;color:var(--muted);background:0 0;border:0;place-items:center;display:grid}.heatHead button.active{color:#fff;background:#ff7a0029;border:1px solid #ff7a0073;border-radius:8px}.groupCell,.heat,.sparkButton{border:0;min-height:50px}.groupCell{text-align:left;background:#ffffff09;align-items:center;gap:10px;padding:0 10px;display:flex}.groupCell i{border-radius:999px;place-items:center;width:26px;height:26px;font-size:12px;font-style:normal;font-weight:800;display:grid}.groupCell strong,.groupCell em{display:block}.groupCell em{color:var(--muted-2);margin-top:3px;font-size:10px;font-style:normal}.heat{border-radius:3px;font-weight:800}.h5{background:#117d32d9}.h4{background:#125b2dd1}.h3{background:#5c4f13cc}.h2{background:#702a19d9}.h1{background:#7d1518e0}.score{background:#ffffff06;place-items:center;min-height:50px;font-weight:900;display:grid}.score.good{color:var(--green)}.score.mid{color:#ffdb1f}.score.bad{color:#ff4d23}.sparkButton{background:#ffffff07;border-radius:0 3px 3px 0;align-self:stretch;height:50px;display:block;position:relative;overflow:hidden}.sparkButton .miniLine{width:100%;max-width:none;height:100%;inset:0}.legend{color:var(--muted);align-items:center;gap:10px;margin-top:16px;font-size:12px;display:flex}.legend span{margin-right:auto}.legend i{background:linear-gradient(90deg, var(--red), var(--orange), var(--green));border-radius:99px;width:190px;height:10px}.sideStack{gap:14px;display:grid}.mainGrid>.sideStack{grid-template-rows:repeat(2,minmax(0,1fr));height:680px}.listPanel{flex-direction:column;min-height:0;display:flex}.mainGrid>.sideStack .listPanel{overflow:hidden}.sideStack.wide{grid-template-columns:repeat(2,minmax(300px,1fr))}.tabs{margin-bottom:14px}.rankingTabs{width:fit-content;margin-bottom:10px}.rankingTabs button{min-width:44px;height:28px;padding:0 10px;font-size:12px}.barList{gap:12px;display:grid}.listPanel .barList{scrollbar-width:thin;scrollbar-color:#ff7a0059 #ffffff0a;flex:1;align-content:space-between;min-height:0;padding-right:4px;overflow-y:auto}.barList button{text-align:left;background:0 0;border:0;grid-template-columns:22px 130px 1fr 58px;align-items:center;gap:10px;display:grid}.barList span{color:var(--muted)}.barList strong{font-size:13px}.barList i{background:#ffffff0f;border-radius:999px;height:6px;overflow:hidden}.barList b{border-radius:inherit;height:100%;display:block}.pos{background:linear-gradient(90deg, #116d2d, var(--green))}.neg{background:linear-gradient(90deg, var(--red), var(--orange))}.posText{color:var(--green)}.negText{color:var(--red)}.mutedText{color:var(--muted)}.emptyState{min-height:120px;color:var(--muted);background:#ffffff05;border:1px dashed #ffffff1f;border-radius:8px;place-items:center;display:grid}.trendPanel,.rrgPanel{min-height:460px}.rrgPanel{min-height:430px;overflow:hidden}.legendRow{flex-wrap:wrap;gap:12px;margin:10px 0 4px;display:flex}.legendRow button{color:#d8d8dc;background:0 0;border:0;align-items:center;gap:6px;font-size:12px;display:inline-flex}.legendRow i{border-radius:99px;width:12px;height:6px}.mutedLegend{opacity:.38}.trendSvg{width:100%;height:360px}.trendPanel .trendSvg{height:330px}.rrgSvg{aspect-ratio:560/308;width:100%;height:auto;max-height:360px;display:block}.trendSvg line{stroke:#ffffff0f}.trendSvg .chartAxis{stroke:#ffffff38}.trendSvg .chartTick{stroke:#ffffff47}.chartAxisLabel,.chartAxisTitle{fill:var(--muted-2);font-size:11px}.chartAxisTitle{fill:var(--muted);font-weight:700}.trendSvg path{fill:none;stroke-width:2px}.chartNote{color:var(--muted-2);margin:0;font-size:12px}.quad.improving{fill:#2f80ff1f}.quad.leading{fill:#22d34f21}.quad.lagging{fill:#ef3b2d1f}.quad.weakening{fill:#ff7a0024}.axis{stroke:#ffffff2e}.rrgSvg text{fill:var(--text);font-size:11px;font-weight:700}.rrgSvg .blue{fill:var(--blue)}.rrgSvg .green{fill:var(--green)}.rrgSvg .red{fill:var(--red)}.rrgSvg .orange{fill:var(--orange-2)}.settingsPanel,.placeholderPanel{max-width:720px}.settingsPanel label{color:var(--muted);gap:8px;margin-bottom:16px;display:grid}.settingsPanel .checkRow{align-items:center;display:flex}.settingNote{color:var(--muted);gap:8px;margin-bottom:16px;display:grid}.settingNote strong{border:1px solid var(--border);min-height:34px;color:var(--text);background:#ffffff06;border-radius:8px;padding:8px 10px;font-size:13px}.settingsActions{gap:10px;display:flex}.settingsActions button,.linkButton,.modal button{border:1px solid var(--border);background:#ffffff0a;border-radius:8px;min-height:40px;padding:0 16px}.linkButton{align-items:center;margin-top:12px;text-decoration:none;display:inline-flex}.detailGrid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.themeDetailLayout{grid-template-columns:minmax(360px,.9fr) minmax(460px,1.1fr);gap:14px;display:grid}.themeDetailLayout .trendPanel{grid-column:1/-1}.etfTrendPanel{grid-column:1/-1;min-height:340px}.etfTrendPanel .panelHeader span{color:var(--muted);font-size:13px;font-weight:700}.etfTrendSvg{height:230px}.detailTitleRow{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.detailHero strong{color:var(--green);margin-top:20px;font-size:44px;display:block}.detailStats{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;display:grid}.detailStats span{border:1px solid var(--border);color:var(--muted);background:#ffffff06;border-radius:8px;padding:10px}.detailStats b{color:var(--text);margin-top:4px;display:block}.toggleControl{min-height:34px;color:var(--muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.etfTable{gap:2px;display:grid}.etfHead,.etfRow{text-align:left;background:0 0;border:0;grid-template-columns:1fr 1fr 1.2fr .7fr;align-items:center;gap:2px;width:100%;display:grid}.etfHead span{color:var(--muted);font-size:12px}.etfHead span,.etfRow>*{background:#ffffff06;min-height:38px;padding:9px 10px}.etfRow strong{color:var(--orange-2)}.etfRow.active>*{background:#ff7a0024;box-shadow:inset 0 0 0 1px #ff7a0047}.holdingsPanel{grid-column:1/-1}.holdingTable{gap:2px;display:grid}.holdingHead,.holdingRow{grid-template-columns:.72fr minmax(0,1.55fr) .5fr .7fr .65fr;gap:2px;display:grid}.holdingHead span{color:var(--muted);font-size:12px}.holdingHead span,.holdingRow>*{background:#ffffff06;min-height:36px;padding:9px 10px}.holdingRow strong{color:var(--orange-2)}.holdingEmpty{min-height:56px;color:var(--muted);border:1px dashed var(--border);background:#ffffff0a;border-radius:8px;place-items:center;font-size:13px;display:grid}footer{color:var(--muted-2);justify-content:space-between;margin-top:18px;font-size:12px;display:flex}.modalBackdrop{z-index:10;background:#00000094;place-items:center;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--border);background:#101113;border-radius:8px;width:min(460px,100vw - 32px);padding:24px;box-shadow:0 24px 80px #00000080}@media (width<=1279px){.statGrid{grid-template-columns:repeat(2,1fr)}.mainGrid,.bottomGrid,.detailGrid{grid-template-columns:1fr}.mainGrid>.heatmapPanel{min-height:0}.mainGrid>.sideStack{grid-template-rows:none;height:auto}.listPanel .barList{overflow:visible}}@media (width<=900px){.appShell{grid-template-columns:74px 1fr}.sidebar{padding:16px 10px}.brand div:not(.brandMark),.navItem:not(.active),.navItem.active{font-size:0}.sideCard,.disclaimer{display:none}.topbar,.topControls{flex-direction:column;align-items:stretch}.heatHead,.heatRow{grid-template-columns:140px repeat(6,76px) 62px 82px;min-width:824px}.heatmapPanel{overflow-x:auto}}@media (width<=720px){.appShell{display:block}.sidebar{height:auto;position:relative}.content{padding:16px}.statGrid,.sideStack.wide{grid-template-columns:1fr}}
