@charset "UTF-8";
/* Readable data typography, including compact laptop and mobile views. */
:root{--paper:#f6f5f1;--white:#fff;--ink:#252b39;--muted:#838690;--line:#e8e8e4;--blue:#2447ce;--blue-light:#edf1ff;--red:#ce554b;--green:#298370;--amber:#be8736;--rail:210px;--shadow:0 20px 80px #20273718}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Microsoft YaHei UI","PingFang SC",sans-serif;font-size:13px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button{border:0;background:none;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:4px}a{color:inherit;text-decoration:none}.hidden{display:none!important}.muted,.subtle{color:var(--muted)}.numeric,.num{font-family:"Bahnschrift","DIN Alternate",monospace;font-variant-numeric:tabular-nums}.positive{color:var(--red)}.negative{color:var(--green)}
.rail{position:fixed;inset:0 auto 0 0;width:var(--rail);padding:34px 20px 22px;background:#fcfcfa;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:12px;align-items:center;padding:0 8px;color:#25374f}.brand svg{width:37px;height:40px;stroke:var(--blue);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}.brand span{font-size:25px;font-weight:700;letter-spacing:4px}.brand small{display:block;font-size:8px;letter-spacing:1.7px;margin-top:4px;font-family:monospace;color:#7e838c}.rail-label{font-size:10px;letter-spacing:2px;color:#9a9ba0;margin:53px 12px 14px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;margin:5px 0;border-radius:7px;padding:15px 13px;color:#757983;text-align:left;font-size:12px;transition:.18s}.nav-item>span{font-size:18px;width:19px}.nav-item b{margin-left:auto;font:10px "Bahnschrift",monospace;font-weight:400;opacity:.55}.nav-item.active{background:var(--blue);color:white;box-shadow:0 7px 14px #2447ce17}.nav-item:not(.active):hover{background:#eceef3}.rail-note{margin-top:65px;padding:0 12px}.little-line{display:block;width:25px;height:2px;background:#b99b70;margin-bottom:18px}.rail-note h3{font-size:13px;letter-spacing:1px;font-weight:500}.rail-note p{font-size:11px;line-height:2.1;color:#96989f}.rail-chips{font-size:10px;color:#9b9da4;margin-top:23px}.rail-chips span{margin:0 10px;color:#ccc}.rail-bottom{margin-top:auto;padding-top:30px}.rail-bottom button{display:flex;align-items:center;gap:12px;width:100%;padding:15px 12px;border-top:1px solid var(--line);color:#757a87;text-align:left}.rail-bottom button span{flex:1}.rail-bottom small{display:block;text-align:center;font-size:9px;color:#aaacb1;margin-top:12px}
main{margin-left:var(--rail)}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:#fcfcfa}.breadcrumb{font-size:11px;color:#90939a}.breadcrumb span{margin:0 14px;color:#c6c7cd}.breadcrumb strong{font-weight:500;color:#535965}.top-actions{display:flex;gap:19px;align-items:center}.connection{font-size:10px;color:#858a91;display:flex;align-items:center;gap:7px}.connection i{height:5px;width:5px;background:#75a596;border-radius:50%}.connection.warning i{background:var(--amber)}.icon-button{border:1px solid var(--line);background:white;border-radius:50%;width:29px;height:29px;font-size:19px;color:#8b909c}.refresh{padding:9px 13px;background:white;border:1px solid #dce0e6;border-radius:5px;color:#606673;font-size:11px;white-space:nowrap}.refresh span{margin-right:6px;font-size:15px}.refresh:hover{border-color:var(--blue);color:var(--blue)}.workspace{max-width:1740px;margin:auto;padding:33px 38px 20px}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:31px;gap:20px}.eyebrow{font:9px "Bahnschrift",monospace;letter-spacing:1.8px;color:#9398a4;display:flex;align-items:center;gap:7px}.eyebrow>span{width:5px;height:5px;background:var(--blue)}h1{font-size:29px;letter-spacing:1px;line-height:1.55;margin:12px 0 9px;font-weight:500}h1 em{font-style:normal;color:var(--blue)}.intro p{margin:0;font-size:11px;color:#9699a2}.market-note{text-align:right;border-left:1px solid var(--line);padding:5px 0 5px 32px;min-width:168px}.market-note>span{font-size:10px;color:#9a9da4}.market-note strong{display:block;font:29px "Bahnschrift",monospace;margin:9px 0 4px}.market-note small{font-size:9px;color:#9c9da5}
.overview{background:var(--white);border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:1.1fr repeat(4,1fr);padding:25px 0;margin-bottom:31px;box-shadow:0 4px 10px #262f4802}.overview>div{border-left:1px solid var(--line);padding:0 27px;min-width:0}.overview>div:first-child{border:0}.overview-title{display:flex;align-items:center;gap:16px;color:#5a606e;font-size:12px}.orb{flex:none;width:36px;height:36px;border:1px solid #d6dff9;border-radius:50%;position:relative;background:linear-gradient(135deg,#eff3ff,#fbfcff)}.orb:after{content:"";position:absolute;inset:9px;border:1px solid #7591e6;border-radius:50%}.orb:before{content:"";position:absolute;inset:16px;background:#4464cc;border-radius:50%}.overview small{display:block;color:#a0a3ab;font-size:9px;margin-top:8px;line-height:1.5}.metric-name{font-size:10px;color:#8a8e98;display:flex;justify-content:space-between;align-items:center}.overview strong{font:30px "Bahnschrift",monospace;display:block;margin:10px 0 0;color:#3c4251}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;margin-right:5px}.dot.amber{background:var(--amber)}.dot.blue{background:var(--blue)}.dot.red{background:var(--red)}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:25px;align-items:start}.radar-panel{min-width:0;background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:23px 22px;gap:12px}.panel-heading>div{display:flex;align-items:center;gap:10px}.panel-heading h2{font-size:14px;margin:0;font-weight:600;letter-spacing:.5px}.panel-heading .subtle{font-size:9px}.section-no{font:10px "Bahnschrift",monospace;letter-spacing:1px;color:#aeb4bf;margin-right:1px}.phase-tabs{display:flex;gap:23px;padding:0 22px;border-bottom:1px solid var(--line);overflow:auto}.phase-tabs button{position:relative;white-space:nowrap;padding:0 0 16px;color:#9499a2;font-size:11px}.phase-tabs button.active{color:var(--blue);font-weight:600}.phase-tabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--blue)}.phase-tabs button span{font:9px "Bahnschrift",monospace;padding:2px 6px;border-radius:4px;background:var(--blue-light);margin-left:4px}.table-toolbar{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:18px 22px}.search{display:flex;align-items:center;gap:7px;color:#9da3ad}.search>span{font-size:22px}.search input{border:0;background:none;outline-offset:3px;width:230px;padding:6px 0;font-size:10px;color:var(--ink)}.search input::placeholder{color:#a9adb6}.sort-label{color:#a3a7af;white-space:nowrap;font-size:10px}select{border:1px solid var(--line);background:#fff;padding:6px 7px;color:#6c7280;border-radius:4px;font-size:10px;max-width:100%}.sort-label select{margin-left:7px;border:0}.table-scroll{overflow-x:auto}.radar-table,.catalog-table{border-collapse:collapse;width:100%;white-space:nowrap}.radar-table th,.catalog-table th{background:#f9fafb;padding:12px 12px;text-align:left;color:#9ba1ad;font-size:9px;font-weight:400;border-top:1px solid #f2f3f6;border-bottom:1px solid #edf0f4}.radar-table th.numeric{text-align:right}.radar-table td{padding:20px 12px;border-bottom:1px solid #f0f1f4;vertical-align:middle}.radar-table td.numeric{text-align:right}.radar-table tr:hover{background:#fafbff}.radar-table .star-col{width:36px;padding-left:18px;padding-right:0}.star-btn{font-size:17px;color:#c4c9d3;padding:0 0 0 7px}.star-btn.on{color:#c49a4a}.etf-main{display:block;font-size:12px;font-weight:500;line-height:1.5;margin-bottom:5px;text-align:left;padding:0}.etf-main:hover{color:var(--blue)}.etf-sub{font-size:9px;color:#a1a7b1;max-width:153px;overflow:hidden;text-overflow:ellipsis;display:block}.code{font-family:monospace;margin-right:6px}.tag{font-size:9px;border-radius:3px;display:inline-block;padding:5px 7px;line-height:1;background:#f0f2f5;color:#8c95a3}.tag.warming{color:#b18438;background:#faf3e7}.tag.breakout{color:#3b5cc1;background:#edf1ff}.tag.pullback{color:#317e83;background:#edf7f7}.tag.hot{color:#c07762;background:#faf0eb}.tag.weak{color:#7f8898;background:#f0f2f4}.basis{display:block;color:#a4a8b2;font-size:8px;margin-top:7px}.numeric .secondary{font-size:10px;color:#8e95a2;display:block;margin-top:7px}.score{font-size:14px;font-family:"Bahnschrift",monospace}.score-bar{height:2px;width:33px;background:#ecedf3;margin:7px 0 0 auto}.score-bar i{height:100%;display:block;background:#8b9bc9}.spark{display:block;width:75px;height:28px}.detail-arrow{color:#a4aabd;font-size:15px}.table-foot{font-size:8px;color:#a7adb7;padding:15px 21px;display:flex;justify-content:space-between;gap:10px}.empty{text-align:center;padding:42px 22px 48px}.empty-radar{font-size:40px;color:#a9b5d9;margin-bottom:14px}.empty h3{font-size:13px;font-weight:500}.empty p{max-width:420px;margin:10px auto;color:#969da9;font-size:11px;line-height:1.9}
.method-card{border-radius:8px;background:#eaeef9;padding:24px;color:#3c4c80;position:relative;overflow:hidden}.method-card:after{content:"";position:absolute;width:120px;height:120px;border:1px solid #d5ddef;border-radius:50%;top:-48px;right:-44px;box-shadow:0 0 0 13px #e0e6f500,0 0 0 14px #dce3f2,0 0 0 28px #dce3f200,0 0 0 29px #dfe5f3;pointer-events:none}.card-eyebrow{font:8px "Bahnschrift",monospace;letter-spacing:1.4px;display:flex;justify-content:space-between;color:#8290b6}.card-eyebrow span{font-size:15px}.method-card h2{font-family:"Microsoft YaHei UI",sans-serif;font-size:21px;font-weight:500;margin:19px 0 9px;letter-spacing:1px}.method-card>p{font-size:10px;color:#8693b4;margin:0}.phase-road{border-left:1px solid #c7d0e8;margin:27px 0 24px 4px}.phase-road>div{position:relative;padding:0 0 23px 18px}.phase-road>div:last-child{padding-bottom:0}.phase-road i{position:absolute;left:-4px;top:4px;width:7px;height:7px;border-radius:50%;background:#eaeef9;border:1px solid #8090bb}.phase-road>div:nth-child(2) i{background:#4560b7;border-color:#4560b7;box-shadow:0 0 0 4px #dce3f5}.phase-road b{font-size:11px;font-weight:500}.phase-road small{font-size:9px;color:#8793b1;display:block;margin-top:6px}.method-note{border-top:1px solid #d8dfef;padding-top:15px;font-size:9px;color:#93a0bc;line-height:1.9}.inbox{margin-top:24px}.inbox .panel-heading{padding:0 0 16px}.inbox .panel-heading h2{font-size:12px}.text-button{font-size:9px;color:#9ba2ae}.live-dot{width:5px;height:5px;background:#afbad4;border-radius:50%}.event{padding:15px 0;border-bottom:1px solid #e6e8ed;display:grid;grid-template-columns:7px 1fr;gap:12px}.event>i{width:4px;height:4px;margin-top:6px;background:#97a9d4;border-radius:50%}.event-title{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#5a6476}.event-title small{font:9px "Bahnschrift",monospace;color:#a9adb7}.event p{font-size:10px;color:#8d96a7;line-height:1.7;margin:7px 0 0}.event .event-meta{font-size:8px;color:#b0b5be;margin-top:6px}.empty-small{font-size:10px;padding:22px 0;line-height:1.8}.data-note{display:flex;gap:10px;margin-top:25px;color:#a5acb8}.data-note>span{font-size:16px}.data-note p{font-size:9px;margin:0;line-height:1.9}footer{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.4px;color:#b0b3bd;border-top:1px solid var(--line);margin-top:34px;padding:17px 0}footer b{font-weight:400;margin:0 7px}.banner{padding:13px 17px;border:1px solid #e9d8b7;background:#fcf7ed;color:#9d7a3c;font-size:11px;line-height:1.8;border-radius:6px;margin-bottom:24px}.standalone{background:white;border:1px solid var(--line);padding:0 24px 24px;border-radius:8px}.standalone .panel-heading{padding-left:0;padding-right:0}.standalone>p{line-height:1.8;font-size:11px}.standalone .event{grid-template-columns:7px 1fr;padding:20px 0}.catalog-table td{padding:15px 12px;border-bottom:1px solid var(--line);font-size:11px}.catalog-table .refresh{font-size:10px}
dialog{border:1px solid var(--line);border-radius:12px;padding:28px;width:440px;max-width:calc(100vw - 30px);max-height:90vh;color:var(--ink);box-shadow:var(--shadow);background:#fcfcfa}dialog::backdrop{background:#1a234d70;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.dialog-top h2{margin:0;font-size:19px;font-weight:500}.close-dialog{font-size:25px;color:#848c9c;line-height:1;padding:4px}.detail-dialog{width:880px}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.detail-header h2{font-size:23px;font-weight:500;margin:0 0 9px}.detail-header p{font-size:11px;margin:0;color:#999faa}.detail-price{font:29px "Bahnschrift",monospace;text-align:right}.detail-price small{font-size:13px;display:block;margin-top:5px}.detail-badges{display:flex;align-items:center;gap:10px;margin:22px 0}.detail-badges .basis{margin:0}.detail-sweet{display:flex;align-items:flex-start;gap:10px;margin:-10px 0 22px;font-size:10px;line-height:1.65;color:#8b93a3}.detail-sweet .sweet-badge{flex:0 0 auto}.chart-wrap{background:#fff;border:1px solid var(--line);border-radius:7px;padding:12px 18px}.chart-toolbar{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#939baa}.chart-toolbar button{font-size:10px;padding:6px 10px;border-radius:3px}.chart-toolbar button.active{background:var(--blue-light);color:var(--blue)}.large-chart{width:100%;height:215px;display:block;margin-top:10px}.chart-caption{font-size:9px;color:#9ca4b1;min-height:22px}.detail-metrics{display:grid;grid-template-columns:repeat(4,1fr);margin:23px 0;gap:12px}.detail-metrics>div{background:#f1f3f7;padding:15px;border-radius:5px}.detail-metrics span{font-size:10px;color:#969eac}.detail-metrics strong{font:18px "Bahnschrift",monospace;display:block;margin-top:10px}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px}.detail-columns h3,.replay h3{font-size:12px;font-weight:500}.reason{font-size:11px;color:#778297;line-height:1.9;display:flex;gap:8px;margin:7px 0}.reason>span{color:#8096ce}.risk>span{color:#cba377}.detail-first{padding:14px;background:#eef1fa;margin-top:20px;font-size:11px;color:#6e7fa6;border-radius:5px;line-height:1.9}.replay{border-top:1px solid var(--line);margin-top:23px;padding-top:15px}.replay p,.detail-provenance{font-size:10px;color:#959eaf;line-height:1.9}.replay-numbers{display:flex;gap:25px;font:17px "Bahnschrift",monospace}.replay-numbers small{font-size:9px;color:#9da5b3;margin-right:6px}.detail-provenance{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}form{display:flex;flex-direction:column;gap:18px}form label{font-size:11px;color:#7b8595;display:flex;flex-direction:column;gap:9px}form input{border:1px solid #d9dfe9;border-radius:5px;background:white;padding:11px 12px;width:100%;color:var(--ink)}form .muted,dialog>p.muted{font-size:11px;line-height:1.9}.primary{padding:13px;background:var(--blue);color:white;border-radius:5px;font-size:12px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#2f3b59;color:white;padding:13px 24px;border-radius:7px;z-index:100;font-size:12px;box-shadow:var(--shadow);max-width:90vw;line-height:1.7}
@media(min-width:1500px){:root{--rail:225px}.workspace{padding:40px 45px}.topbar{padding:0 45px}.content-grid{grid-template-columns:minmax(0,1fr) 290px;gap:30px}.radar-table td{padding-top:22px;padding-bottom:22px}.spark{width:98px}.etf-sub{max-width:200px}h1{font-size:34px}.overview{padding:28px 0}.overview strong{font-size:35px}}
@media(max-width:1250px){:root{--rail:180px}.rail{padding-left:13px;padding-right:13px}.workspace{padding:28px 24px}.topbar{padding:0 24px}.content-grid{grid-template-columns:minmax(0,1fr) 220px;gap:18px}.method-card{padding:19px}.overview>div{padding:0 18px}.overview-title{gap:10px}.orb{width:28px;height:28px}.orb:after{inset:6px}.orb:before{inset:12px}.radar-table td{padding:18px 8px}.radar-table th{padding:12px 8px}.etf-sub{max-width:120px}.phase-tabs{gap:19px}.search input{width:190px}.spark{width:60px}.table-foot{flex-direction:column}.brand span{font-size:22px}.brand svg{width:30px}.brand small{font-size:7px}}
@media(max-width:1050px){.content-grid{grid-template-columns:1fr}.insight-column{display:grid;grid-template-columns:1fr 1fr;gap:23px}.inbox{margin:0}.data-note{grid-column:1/-1;margin-top:0}.method-card{padding:23px}.overview-title{display:none}.overview{grid-template-columns:repeat(4,1fr)}.overview>div:nth-child(2){border:0}.table-foot{flex-direction:row}.radar-table td{padding:20px 12px}.spark{width:90px}}
@media(max-width:760px){:root{--rail:0px}.rail{height:66px;width:100%;flex-direction:row;align-items:center;border:0;border-bottom:1px solid var(--line);padding:0 17px}.brand{padding:0;gap:8px}.brand svg{width:25px;height:30px}.brand span{font-size:18px;letter-spacing:2px}.brand small{display:none}.rail-label,.rail-note,.rail-bottom,.nav-item b{display:none}.rail nav{display:flex;margin-left:auto;gap:4px}.nav-item{width:auto;padding:10px;margin:0;font-size:11px;gap:5px}.nav-item>span{display:none}.nav-item.active{box-shadow:none;background:#edf1ff;color:var(--blue)}main{margin-top:66px}.topbar{height:55px;padding:0 18px}.top-actions{gap:10px}.connection{font-size:9px}.breadcrumb{font-size:10px}.breadcrumb span{margin:0 8px}.workspace{padding:24px 18px 14px}.intro{margin-bottom:23px}.intro p{font-size:10px;line-height:1.8;max-width:340px}h1{font-size:23px;letter-spacing:0}.eyebrow{font-size:7px;letter-spacing:1.2px}.market-note{display:none}.overview{padding:19px 0;margin-bottom:23px}.overview>div{padding:0 13px}.overview strong{font-size:25px}.overview small{font-size:8px}.metric-name{font-size:9px}.metric-name .dot{display:none}.panel-heading{padding:20px 16px}.panel-heading h2{font-size:13px}.phase-tabs{padding:0 16px;gap:22px}.table-toolbar{padding:14px 16px;gap:5px}.search input{width:185px;font-size:10px}.sort-label{font-size:9px}.sort-label select{margin-left:0;font-size:9px}.radar-table th:nth-child(7),.radar-table td:nth-child(7),.radar-table th:nth-child(8),.radar-table td:nth-child(8){display:none}.radar-table td{padding:17px 9px}.radar-table th{padding:11px 9px}.radar-table th.star-col{padding-left:12px}.etf-main{font-size:11px}.etf-sub{max-width:130px}.tag{font-size:8px}.numeric{font-size:12px}.table-foot{padding:12px 15px;font-size:8px;flex-direction:column}.insight-column{grid-template-columns:1fr}.method-card{display:none}.data-note{margin-top:0}.inbox{padding:12px 3px}.inbox .event:nth-child(n+4){display:none}footer{flex-direction:column;gap:9px;margin-top:20px;line-height:1.8}dialog{padding:22px}.detail-metrics{grid-template-columns:1fr 1fr}.detail-columns{grid-template-columns:1fr;gap:4px}.detail-header h2{font-size:20px}.detail-price{font-size:24px}.detail-dialog{max-height:94vh}.large-chart{height:190px}.replay-numbers{gap:12px;flex-wrap:wrap;font-size:15px}.standalone{padding:0 15px 15px}.standalone .panel-heading{align-items:flex-start}.standalone .subtle{font-size:9px;max-width:170px}.catalog-table th,.catalog-table td{padding:13px 10px}.banner{font-size:10px}}
.rotation-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quadrant{background:#f4f6fb;border:1px solid #e5e9f1;border-radius:8px;padding:20px}.quadrant h3{margin:0;font-size:16px;font-weight:500}.quadrant h3 small{float:right;color:#7c88a3}.quadrant>p{font-size:12px;color:#858d9c;line-height:1.8}.q0{background:#eef3ff}.q2{background:#eff6f3}.rotation-row{display:flex;justify-content:space-between;gap:10px;width:100%;padding:13px 0;border-bottom:1px solid #dde3ed;text-align:left;font-size:13px}.rotation-row:hover{color:var(--blue)}.rotation-row small{color:var(--red);font-size:11px}.nav-item{font-size:13px}.intro p,.overview small,.metric-name,.phase-tabs button,.search input,select,.radar-table th,.catalog-table th,.etf-sub,.tag,.basis,.table-foot,.event p,.event-meta,.data-note p,.method-note,.phase-road small,.chart-caption,.detail-provenance,.replay p{font-size:12px}.etf-main{font-size:14px}.basis{font-size:10px}.etf-sub{max-width:160px}.overview>div{padding-left:18px;padding-right:18px}.table-foot{flex-wrap:wrap}.numeric .secondary{font-size:11px}.method-note{color:#6f7f9f}.table-toolbar{flex-wrap:wrap}
@media(max-width:760px){.rail{height:106px;bottom:auto;min-height:66px;flex-wrap:wrap;padding:10px 12px;gap:8px}.rail nav{overflow:auto;max-width:100%;margin:0;width:100%;justify-content:space-between}.nav-item{font-size:12px;padding:8px 6px;white-space:nowrap}.brand{width:100%}.rail-bottom{display:block;position:absolute;right:14px;top:8px;padding:0;margin:0}.rail-bottom button{border:0;padding:5px}.rail-bottom small{display:none}main{margin-top:106px}.rotation-grid{grid-template-columns:1fr}.topbar{gap:8px}.connection{max-width:105px;overflow:hidden;white-space:nowrap}.breadcrumb{white-space:nowrap}.workspace{padding-left:12px;padding-right:12px}.overview small{font-size:10px}.metric-name{font-size:11px}.overview>div{padding:0 10px}.etf-main{font-size:13px}.etf-sub{font-size:11px}.tag{font-size:11px}.chart-toolbar{flex-wrap:wrap;gap:8px}.detail-provenance{overflow-wrap:anywhere}.radar-table{min-width:600px}.phase-tabs{gap:20px}.search input{width:180px}.top-actions{gap:6px}}
.muted,.subtle,.etf-sub,.basis,.intro p,.overview small,.metric-name,.radar-table th,.catalog-table th,.table-foot,.search input::placeholder,.data-note,.chart-caption,.detail-provenance,.replay p{color:#697588}.event p{color:#637087}.rotation-row{min-height:44px}
@media(prefers-reduced-motion:no-preference){.intro,.overview,.content-grid{animation:appear .45s ease both}.overview{animation-delay:.06s}.content-grid{animation-delay:.12s}@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}}

/* ---------- 登录页 ---------- */
.auth-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px;background:linear-gradient(160deg,#eef1f8 0%,var(--paper) 55%,#e9ecf4 100%)}
.auth-card{width:100%;max-width:392px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:34px 32px 26px;box-shadow:var(--shadow)}
.auth-brand{display:flex;align-items:center;gap:11px;color:#25374f}
.auth-brand svg{width:32px;height:34px;stroke:var(--blue);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
.auth-brand strong{display:block;font-size:20px;letter-spacing:3px}
.auth-brand small{display:block;font-size:8px;letter-spacing:1.6px;font-family:monospace;color:#7e838c;margin-top:2px}
.auth-card h1{font-size:15px;font-weight:600;margin:24px 0 6px;letter-spacing:.4px}
.auth-hint{color:var(--muted);font-size:11px;line-height:1.7;margin:0 0 22px}
#auth-form{display:flex;flex-direction:column;gap:7px}
#auth-form label{font-size:11px;color:#6c7280;letter-spacing:.5px;margin-top:9px}
#auth-form input{border:1px solid var(--line);background:#fbfbfa;border-radius:8px;padding:11px 12px;font-size:13px;color:var(--ink);transition:border-color .15s,background .15s}
#auth-form input:focus{outline:none;border-color:var(--blue);background:var(--white);box-shadow:0 0 0 3px var(--blue-light)}
#auth-form button{margin-top:20px;background:var(--blue);color:#fff;border-radius:8px;padding:12px;font-size:13px;font-weight:600;letter-spacing:1px;transition:filter .15s}
#auth-form button:hover:not(:disabled){filter:brightness(1.08)}
.auth-error{margin-top:16px;padding:10px 12px;border-radius:8px;background:#fdf0ee;border:1px solid #f3d6d2;color:var(--red);font-size:11px;line-height:1.6}
.auth-foot{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}
@media (max-width:520px){.auth-card{padding:26px 20px 20px}.auth-body{padding:16px}}

/* ---------- 退出登录 ---------- */
#logout-button{display:block;width:100%;text-align:left;margin-top:7px;padding:7px 9px;border-radius:6px;color:#8a8f99;font-size:10px;letter-spacing:.6px;transition:background .15s,color .15s}
#logout-button:hover{background:#f2f3f6;color:#5c6270}

/* ---------- 甜品区档位 ---------- */
.sweet-badge{display:inline-block;padding:2px 7px;border-radius:5px;font-size:10px;font-weight:600;letter-spacing:.4px;white-space:nowrap}
.sweet-badge.sweet{background:#e6f6ec;color:#0b7a44;border:1px solid #b7e6ca}
.sweet-badge.healthy{background:#eef4fb;color:#3a6ea5;border:1px solid #cfe0f2}
.sweet-badge.extended{background:#fdf3e3;color:#9a6712;border:1px solid #f0dcb4}
.sweet-badge.early{background:#f2f3f6;color:#7b8290;border:1px solid #e2e5ea}
.sweet-badge.chased{background:#fdeceb;color:#b3302a;border:1px solid #f3c9c6}
.sweet-badge.broken{background:#f2f3f6;color:#8a8f99;border:1px solid #e2e5ea}
