:root{font-family:Inter,Noto Sans TC,system-ui,sans-serif;color:#e8edf8;background:#07101f;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 0,#172947 0,#07101f 42%,#050a14);min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{width:232px;flex:0 0 232px;min-height:100vh;position:fixed;inset:0 auto 0 0;z-index:20;padding:24px 14px 16px;background:#070f1deb;border-right:1px solid rgba(161,184,225,.12);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:width .22s,flex-basis .22s}.brand{display:flex;align-items:center;gap:11px;border:0;background:transparent;color:#fff;padding:2px 8px;font-size:25px;font-weight:800;letter-spacing:.08em}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,#47e5be,#568cff);color:#062032;font-size:20px;letter-spacing:0}.brand-subtitle{margin:10px 8px 28px;color:#8090ac;font-size:9px;letter-spacing:.12em;white-space:nowrap}.sidebar nav{display:grid;gap:7px}.nav-item{display:flex;align-items:center;gap:13px;width:100%;min-height:46px;border:1px solid transparent;border-radius:12px;padding:0 12px;background:transparent;color:#9fadc5;text-align:left;transition:.16s}.nav-item:hover{color:#f3f7ff;background:#14233d}.nav-item.active{color:#f5fbff;background:linear-gradient(90deg,#3cdbb32e,#5087ff24);border-color:#53d1c040}.nav-icon{width:22px;text-align:center;font-size:18px}.nav-label{white-space:nowrap;font-size:14px}.sidebar-footer{position:absolute;bottom:64px;left:22px;right:18px;display:flex;align-items:center;gap:8px;color:#71819c;font-size:11px;white-space:nowrap;overflow:hidden}.status-dot,.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#42e2aa;box-shadow:0 0 12px #42e2aa}.nav-collapse{position:absolute;bottom:15px;left:14px;width:calc(100% - 28px);height:34px;border:1px solid rgba(142,165,207,.17);border-radius:9px;color:#9aa9c1;background:#0d1930;text-align:left;padding:0 10px;font-size:21px;line-height:1}.nav-collapse-label{font-size:12px;margin-left:12px;vertical-align:2px}.content{width:calc(100% - 232px);margin-left:232px;padding:34px clamp(20px,4vw,64px) 70px;transition:width .22s,margin-left .22s}.nav-collapsed .sidebar{width:72px;flex-basis:72px}.nav-collapsed .content{width:calc(100% - 72px);margin-left:72px}.nav-collapsed .brand{padding-left:4px}.nav-collapsed .brand-name,.nav-collapsed .brand-subtitle,.nav-collapsed .nav-label,.nav-collapsed .sidebar-footer,.nav-collapsed .nav-collapse-label{display:none}.nav-collapsed .nav-item{justify-content:center;padding:0}.nav-collapsed .nav-collapse{text-align:center}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin:0 auto 28px;max-width:1420px}.eyebrow{margin:0 0 7px;color:#6edec7;font-size:11px;letter-spacing:.12em;font-weight:700}.topbar h1,.hero h2,.panel h2,.state-card h2{margin:0;color:#f5f8ff}.topbar h1{font-size:30px;letter-spacing:.04em}.release-meta{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(149,174,217,.18);border-radius:999px;background:#0d1d36b3;color:#aab8d0;font-size:12px}.hero,.panel,.metric,.state-card,.empty-list{max-width:1420px;margin-left:auto;margin-right:auto;border:1px solid rgba(141,171,222,.16);background:linear-gradient(145deg,#1a2d4ec7,#0b172dbd);box-shadow:0 18px 50px #0000002e}.hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:30px;border-radius:20px;margin-bottom:16px}.hero h2{font-size:25px}.hero p:not(.eyebrow){color:#aebbd1;line-height:1.7;margin:9px 0 0}.hero-badge{min-width:145px;padding:15px 17px;border-radius:14px;background:#060f1f70;border:1px solid rgba(132,172,233,.16)}.hero-badge span{display:block;color:#8394b1;font-size:12px}.hero-badge strong{display:block;margin-top:6px;color:#77e8cb;font-size:16px}.metrics-grid{max-width:1420px;margin:0 auto 16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric{border-radius:16px;padding:17px}.metric p,.metric small{display:block;margin:0;color:#9aa8c1;font-size:12px}.metric strong{display:block;margin:8px 0 5px;color:#f5f8ff;font-size:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric small{color:#6e7e9b}.panel{border-radius:18px;padding:23px;margin-bottom:16px}.state-card,.empty-list{padding:48px 28px;border-radius:20px;text-align:center;color:#aebbd1}.state-card h2{margin:9px 0}.loader{width:28px;height:28px;margin:auto;border:3px solid #385072;border-top-color:#60e3c3;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.table-wrap{max-width:1420px;margin:0 auto;overflow:auto;border:1px solid rgba(141,171,222,.16);border-radius:18px;background:#081224ad}table{border-collapse:collapse;width:100%;min-width:890px}th{text-align:left;color:#91a0b9;background:#182845cc;font-size:12px;letter-spacing:.04em}th,td{padding:14px 13px;border-bottom:1px solid rgba(148,174,216,.1);white-space:nowrap}td{color:#c6d1e4;font-size:13px}tr:last-child td{border:0}td strong{display:block;color:#f2f6fd}td small{display:block;color:#7d8ba5;margin-top:3px}.tag{padding:4px 8px;border-radius:7px;color:#93d9ff;background:#163254;font-size:11px}.positive{color:#ff7f92!important}.negative{color:#63d6a7!important}.star{border:0;background:transparent;color:#60708c;font-size:18px}.star.selected{color:#ffd366}.candidate-cards,.mobile-nav,.mobile-sheet-backdrop{display:none}@media(max-width:960px){.sidebar{width:72px;flex-basis:72px}.content{width:calc(100% - 72px);margin-left:72px}.brand{padding-left:4px}.brand-name,.brand-subtitle,.nav-label,.sidebar-footer,.nav-collapse-label{display:none}.nav-item{justify-content:center;padding:0}.nav-collapse{text-align:center}.nav-collapsed .sidebar{width:72px;flex-basis:72px}.nav-collapsed .content{width:calc(100% - 72px);margin-left:72px}}@media(max-width:650px){body{padding-bottom:76px}.app-shell{display:block}.sidebar{display:none}.content,.nav-collapsed .content{width:100%;margin:0;padding:22px 14px 24px}.topbar{margin-bottom:17px}.topbar h1{font-size:24px}.topbar .eyebrow{font-size:9px}.release-meta{font-size:10px;padding:7px 9px;white-space:nowrap}.hero{padding:21px 18px;border-radius:16px;align-items:flex-start}.hero h2{font-size:20px}.hero p:not(.eyebrow){font-size:13px}.hero-badge{min-width:102px;padding:11px}.hero-badge strong{font-size:13px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px}.metric{padding:13px;border-radius:13px}.metric strong{font-size:17px}.daily-metrics .metric:nth-child(3),.daily-metrics .metric:nth-child(4){display:none}.mobile-nav{display:flex;position:fixed;z-index:80;bottom:0;left:0;right:0;height:68px;padding:6px max(9px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-right));justify-content:space-around;background:#070f1df2;border-top:1px solid rgba(161,184,225,.16);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-nav button{min-width:0;flex:1;border:0;border-radius:11px;background:transparent;color:#91a0ba;display:grid;place-items:center;gap:1px;padding:4px}.mobile-nav button span{height:22px;font-size:18px;line-height:20px}.mobile-nav button small{font-size:10px}.mobile-nav button.active{color:#66e4c4;background:#3cdbb321}.mobile-sheet-backdrop{display:block;position:fixed;z-index:90;top:0;right:0;bottom:0;left:0;background:#01050d8f}.mobile-sheet{position:absolute;bottom:0;left:0;right:0;padding:9px 16px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:#101d34;border:1px solid rgba(155,182,227,.2);box-shadow:0 -16px 50px #00000059}.sheet-handle{width:36px;height:4px;margin:0 auto 14px;border-radius:9px;background:#52627d}.sheet-heading{display:flex;align-items:center;justify-content:space-between}.sheet-heading h2{margin:0;font-size:19px}.sheet-heading button{border:0;background:transparent;color:#bbc8dd;font-size:27px}.sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.sheet-actions button{padding:13px;border:1px solid rgba(150,177,222,.17);border-radius:12px;background:#172642;color:#dce7f7;text-align:left}.sheet-actions button span{margin-right:9px}.sheet-actions button.active{border-color:#4fceaf;background:#193a44}.candidate-cards{display:grid;gap:10px}.candidate-table-wrap{display:none}.candidate-card{border:1px solid rgba(141,171,222,.16);border-radius:15px;padding:15px;background:linear-gradient(145deg,#1a2d4ec7,#0b172dbd)}.candidate-card-top{display:flex;align-items:center;gap:8px}.candidate-card-top h3{margin:0;font-size:15px;color:#f4f7ff}.candidate-card-top h3 span{margin-left:4px;color:#8090ad;font-size:12px;font-weight:500}.candidate-card-top p{margin:3px 0 0;color:#8e9db6;font-size:11px}.candidate-score{margin-left:auto;padding:7px 9px;border-radius:9px;color:#6ce6c5;background:#12394a;font-size:17px}.candidate-values{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:13px;padding-top:11px;border-top:1px solid rgba(155,181,224,.12)}.candidate-values span,.candidate-values b{display:block}.candidate-values span{color:#7e8ca5;font-size:10px}.candidate-values b{margin-top:4px;color:#e8effb;font-size:12px}.panel{padding:17px;border-radius:15px}.empty-list{padding:30px 16px}.topbar+.state-card{margin-top:30px}}.filter-panel{display:flex;align-items:center;justify-content:space-between;gap:18px}.filter-panel h2,.section-title h2{font-size:19px}.filters{display:flex;gap:9px}.filters input,.filters select{border:1px solid rgba(147,173,216,.2);border-radius:10px;background:#0d1a31;color:#dce6f5;padding:10px 12px;font-size:13px}.filters input{min-width:230px}.structure-grid{max-width:1420px;margin:0 auto 16px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.structure-grid .panel{max-width:none;margin:0}.section-title{margin-bottom:17px}.index-row{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(151,177,218,.12);color:#aebbd0}.index-row strong{color:#f2f7ff;font-size:18px}.index-row b{font-size:13px}.index-note{margin-top:15px;color:#8797b2;font-size:12px}.breadth-row{padding:8px 0 14px}.breadth-row>div:first-child{display:flex;justify-content:space-between;margin-bottom:8px;font-size:13px}.breadth-row span{font-size:12px}.breadth-bar{display:flex;height:10px;overflow:hidden;border-radius:99px;background:#26354d}.breadth-bar i{display:block;height:100%}.breadth-bar .up{background:#ed7184}.breadth-bar .flat{background:#6d7c93}.breadth-bar .down{background:#54c99b}.breadth-foot{display:flex;gap:16px;margin-top:13px;padding-top:13px;border-top:1px solid rgba(151,177,218,.12);color:#8f9fba;font-size:12px}.breakout-list{display:grid;gap:3px}.breakout-row{display:grid;grid-template-columns:70px 1fr 1fr;gap:10px;padding:10px 0;border-bottom:1px solid rgba(151,177,218,.1);color:#9eacc4;font-size:13px}.breakout-row:last-child{border-bottom:0}.breakout-row strong{color:#dce6f5}.sector-list,.contributors{display:grid;gap:3px}.sector-row{display:grid;grid-template-columns:26px 1fr auto auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(151,177,218,.1);font-size:13px}.sector-row:last-child{border-bottom:0}.sector-row strong{color:#dbe5f4}.sector-row small{color:#7788a5;font-size:11px}.rank{color:#6f81a1;font-size:12px}.contributors>div{display:grid;grid-template-columns:25px 1fr auto auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(151,177,218,.1);font-size:12px}.contributors>div:last-child{border:0}.contributors strong{color:#e1eaf7;font-size:13px}.contributors strong small{display:block;margin-top:2px;color:#71819e;font-weight:400;font-size:10px}.contributors b{font-weight:600}.module-page pre{max-height:560px;overflow:auto;padding:16px;border-radius:12px;background:#081326;color:#b5c9e9;font-size:12px;line-height:1.55}@media(max-width:650px){.filter-panel{display:block}.filter-panel h2{margin-bottom:13px}.filters{display:grid;grid-template-columns:1fr 112px}.filters input{min-width:0;width:100%}.structure-grid{grid-template-columns:1fr;gap:11px;margin-bottom:11px}.structure-metrics .metric:nth-child(3),.structure-metrics .metric:nth-child(4){display:block}.structure-metrics .metric strong{font-size:15px}.index-row{gap:10px}.breakout-row{grid-template-columns:56px 1fr 1fr}.sector-row{grid-template-columns:22px 1fr auto;gap:6px}.sector-row small{display:none}.contributors>div{grid-template-columns:21px 1fr auto;gap:6px}.contributors>div>span:last-child{display:none}.contributor-grid{margin-bottom:0}.module-page pre{font-size:10px}.daily-hero .hero-badge{display:none}}
