/* 知衡 · One visual system for the public story and research workspace. */
*,*:before,*:after{box-sizing:border-box}
@font-face{font-family:Zhiheng Sans;src:url('../fonts/zhiheng-sans.woff2') format('woff2');font-display:swap;font-weight:400}
@font-face{font-family:Zhiheng Serif;src:url('../fonts/zhiheng-serif.woff2') format('woff2');font-display:swap;font-weight:400}
:root{--primary:#8A3443;--primary-hover:#9F4353;--primary-active:#702937;--primary-light:#F3E8EA;--primary-lighter:#FAF4F3;--primary-rgb:138,52,67;--bg:#F7F4F0;--card:#fff;--border:#E2DAD7;--border-light:#EFE8E3;--hover-bg:#F8F4F1;--text-1:#342B2D;--text-2:#6B5D60;--text-3:#837477;--text-4:#94858A;--brass:#A88952;--flat:#837477;--flat-bg:#F1ECE8;--radius:14px;--radius-sm:8px;--radius-lg:20px;--shadow:0 3px 16px #342B2D05;--shadow-hover:0 8px 24px #342B2D10;--shadow-pop:0 12px 40px #342B2D20;--topbar-h:76px;--ticker-h:38px;--side-w:218px;--gap:20px;--sans:'Zhiheng Sans','Microsoft YaHei',sans-serif;--serif:'Zhiheng Serif','SimSun',serif;--mono:Consolas,monospace;--accent:var(--primary);--line:var(--border);--ease:cubic-bezier(.2,.7,.3,1);color-scheme:light}
body.terminal-theme{--bg:#201B1C;--card:#2A2325;--border:#4B3D40;--border-light:#3A3033;--hover-bg:#34292D;--text-1:#EFE5E2;--text-2:#D0C0C1;--text-3:#B9A5A9;--text-4:#AD999E;--flat-bg:#34292D;--brass:#D1B27D;--shadow:0 3px 16px #00000012;--shadow-pop:0 12px 40px #00000035;color-scheme:dark}
html,body{width:100%;max-width:100%;font-family:var(--sans);background:var(--bg);color:var(--text-1)}
body{line-height:1.65;font-size:14px}button,input,select,textarea{font-family:inherit}textarea{color:var(--text-1)}
[hidden]{display:none!important}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:4px}
::selection{background:var(--primary-light)}::-webkit-scrollbar-thumb{background:var(--border)}
.app{min-width:0;height:100vh;background:var(--bg)}.body,.main,.page,.grid>*{min-width:0}.main{padding:28px;overflow-x:hidden;background:var(--bg)}.page{max-width:1600px;margin:auto}
.topbar{height:var(--topbar-h);padding:0 28px;background:var(--card);border-bottom:1px solid var(--border-light);gap:24px;box-shadow:none}
.tb-left{flex:none;gap:12px}.tb-center{flex:1;display:flex;justify-content:center}.tb-right{gap:14px}.tb-logo{display:flex;align-items:center;gap:10px;color:var(--text-1)}
.tb-brand-image{width:46px;height:46px;object-fit:contain}.tb-logo>span{font:400 25px/1.3 var(--serif);letter-spacing:2px}.tb-logo b{display:block;font:11px/1.5 var(--sans);color:var(--text-3);letter-spacing:1px;margin:2px 0 0}
.global-search{width:390px;max-width:100%}#gsInput{height:40px;background:var(--bg);border-color:var(--border-light);border-radius:10px;color:var(--text-1)}#gsInput:focus{background:var(--card);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}
.gs-panel,.tb-menu{background:var(--card);border-color:var(--border)}.tb-avatar{background:var(--primary);color:var(--card)}.tb-user:focus-within .tb-menu{opacity:1;visibility:visible;transform:none}.tb-user{outline-offset:3px}
.ticker{background:var(--card);border-color:var(--border-light)}.ticker-inner{animation:none;transform:none!important;gap:28px;padding:0 28px}.ticker{overflow-x:auto;scrollbar-width:none}.ticker::-webkit-scrollbar{display:none}
.sidebar{background:var(--card);border-color:var(--border-light);padding:22px 14px}.sb-title{font-size:11px;color:var(--text-3);letter-spacing:1.5px;margin-bottom:9px}.sb-group{margin-bottom:20px}.sb-item{padding:10px 12px;border-radius:10px;gap:12px;font-size:14px}.sb-item.active{background:var(--primary-light);color:var(--primary)}.sb-item.active::before{display:none}.sbi-ico{color:var(--text-3)}.sb-item.active .sbi-ico{color:var(--primary)}.sb-card{background:var(--bg);border:1px solid var(--border-light);border-radius:12px;padding:12px}.sbc-row{font-size:11px}.sb-count{background:var(--primary-light);color:var(--primary)}
.card,.chart-card,.idx-card,.stock-hero,.set-nav,.set-panel,.stat-card,.stg-card,.ql-panel,.paper-panel,.ak-card{background:var(--card);border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow)}
.card-hd{height:auto;min-height:54px;padding:14px 20px;gap:12px;flex-wrap:wrap}.card-hd h3{font-size:15px}.card-hd h3::before{display:none}.card-bd{padding:20px}.page-head{margin-bottom:22px;gap:18px}.ph-title{font-size:25px;font-weight:600;letter-spacing:.5px}.ph-sub{font-size:13px;line-height:1.7;margin-top:7px;color:var(--text-3)}.ph-right{gap:8px}.stat-value{font-size:26px}.stat-card{padding:20px}
.btn-primary{background:var(--primary);color:var(--card);letter-spacing:.5px;border-radius:9px;transition:background var(--t-fast),transform var(--t-fast)}.btn-primary:hover{background:var(--primary-hover);box-shadow:none;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{background:var(--primary-light);color:var(--text-3);transform:none}
.btn-ghost,.tool-btn,.chip{background:var(--card);border-color:var(--border);color:var(--text-2)}.btn-ghost:hover,.tool-btn:hover,.chip:hover{background:var(--primary-lighter);border-color:var(--primary)}
input,select,textarea,.f-input,.field-control,.ak-input,.pt-ta,.pt-sel{background:var(--card);border-color:var(--border);color:var(--text-1)}input::placeholder,textarea::placeholder{color:var(--text-4)}.field-control:focus-within{background:var(--card);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}
.tbl-wrap,.ts-tbl-wrap{max-width:100%;overflow:auto}.tbl{width:100%;border-collapse:collapse}.tbl th{background:var(--hover-bg);color:var(--text-2);font-size:12px}.tbl td{font-size:13px;border-color:var(--border-light)}.tbl tbody tr:hover{background:var(--primary-lighter)}.tbl-name{color:var(--text-1)}.bar-cell,.fac-bar,.score-bar{background:var(--border-light)}
.tag{border-radius:5px;font-size:11px;color:var(--text-2);background:var(--flat-bg)}.tag-blue,.tag-green{background:var(--primary-light);color:var(--primary)}.tag-up{color:var(--up);background:var(--up-bg)}.tag-down{color:var(--down);background:var(--down-bg)}
.chart-tabs,.seg{background:var(--bg);border-radius:9px;padding:4px;gap:3px}.chart-tab{border-radius:6px;color:var(--text-2);font-size:12px}.chart-tab.active,.seg button.active{background:var(--card);color:var(--primary);box-shadow:var(--shadow)}
.modal,.toast,.chart-tip,.k-tip,.set-panel,.rpt-sec,.ra-item,.risk-item,.set-nav,.wl-head,.kpi,.stg-card{background:var(--card);color:var(--text-1);border-color:var(--border)}.modal{border-radius:18px}.modal p,.rpt-text,.risk-item span{color:var(--text-2)}.modal-mask{backdrop-filter:blur(4px)}.toast{box-shadow:var(--shadow-pop)}.modal .mhead,.risk-alert .mhead{background:var(--card)}
.warn-bar,.live-alert{background:var(--hover-bg);border:1px solid var(--brass);border-radius:12px;color:var(--text-2);box-shadow:none}.warn-bar .wb-text b,.live-alert-main b{color:var(--brass)}.live-alert-main span{color:var(--text-2)}.live-alert{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 18px;margin:0 0 20px}.live-alert-main b{display:block}.live-alert-actions{display:flex;gap:8px}.live-alert-actions button{white-space:nowrap}
.ql-panel:before,.paper-panel:before{display:none}.ql-hd{min-height:56px;padding:14px 18px;flex-wrap:wrap}.ql-hd h3{border:0;padding:0;font-size:15px}.ql-source{font-size:11px;white-space:normal}.ql-skills{border:1px solid var(--border-light);border-radius:12px;overflow:hidden;background:var(--border-light);margin-bottom:20px}.ql-skills span{height:48px;background:var(--card)}.ql-skills b{color:var(--brass)}.ql-layout{gap:20px;grid-template-columns:340px minmax(0,1fr)}.ql-form{padding:20px;gap:16px}.ql-field>span{font-size:12px;color:var(--text-2)}.ql-note,.ql-intro,.ql-foot{color:var(--text-3);font-size:12px;line-height:1.7}.ql-chart{padding:16px}.ql-metrics{border-color:var(--border-light)}.terminal-theme .ql-panel{background:var(--card)}.ql-metric,.ql-metrics>div{border-color:var(--border-light)}
.paper-page{--paper-panel:var(--card);--paper-line:var(--border-light);--paper-cyan:var(--primary);--paper-red:var(--up);--paper-green:var(--down)}.paper-hd{min-height:54px}.paper-hd h3{font-size:15px}.paper-panel:after{display:none}.paper-kpis{border-radius:14px;overflow:hidden;border-color:var(--border-light)}.paper-kpis div{background:var(--card);padding:20px}.paper-kpis span,.paper-rule,.paper-note{font-size:12px;color:var(--text-3)}.paper-suggest,.paper-side button,.paper-qty button{background:var(--hover-bg)}.paper-side button:last-child.active,.paper-submit.sell{color:var(--card)}.paper-link{color:var(--primary)}.paper-form{padding:20px}
/* Market overview: compact editorial panels, no decorative orbit. */
.market-screen{--ms-bg:var(--bg);--ms-panel:var(--card);--ms-line:var(--border-light);--ms-text:var(--text-1);--ms-muted:var(--text-3);--ms-cyan:var(--primary);--ms-red:var(--up);--ms-mint:var(--down);--ms-gold:var(--brass);--ms-blue:var(--primary);padding:0;background:var(--bg);border:0;min-height:0;color:var(--text-1);font-family:var(--sans);overflow:visible}
.ms-header{height:auto;min-height:90px;display:grid;grid-template-columns:1fr auto;gap:8px;padding:0 0 22px;border:0}.ms-title{grid-column:1;grid-row:1;text-align:left;display:block}.ms-title h1{font:400 32px/1.4 var(--serif);letter-spacing:1px}.ms-title i{display:none}.ms-date{grid-column:1;grid-row:2;display:flex;gap:12px;font-size:12px;color:var(--text-3)}.ms-source{grid-column:2;grid-row:1/3;align-self:center;font-size:11px;max-width:300px;text-align:right}.ms-source b{font-weight:400;font-size:11px}.ms-live-dot{box-shadow:none;animation:none;background:var(--primary)}
.ms-grid{grid-template-columns:minmax(220px,.8fr) minmax(300px,1.5fr) minmax(200px,.75fr);gap:20px}.ms-left,.ms-center,.ms-right{gap:20px}.ms-panel{background:var(--card);border:1px solid var(--border-light);border-radius:14px;box-shadow:var(--shadow)}.ms-panel:before,.ms-panel:after{display:none}.ms-panel-title{height:auto;min-height:52px;padding:14px 18px;border-color:var(--border-light);gap:10px;flex-wrap:wrap}.ms-panel-title span{font-size:14px;padding:0;border:0}.ms-panel-title small{font-size:10px}.ms-panel-title a{font-size:11px;color:var(--primary)}
.ms-kpis{padding:10px;gap:0}.ms-kpis div{border-color:var(--border-light);padding:10px}.ms-kpis span{font-size:11px}.ms-kpis b{font-size:23px;color:var(--text-1)}.ms-kpis b.text-up{color:var(--up)}.ms-kpis b.text-down{color:var(--down)}.ms-donut{width:132px;height:132px;margin:20px auto}.ms-donut>div{background:var(--card)}.ms-donut b{font-size:26px}.ms-donut span,.ms-legend span{font-size:11px}.ms-legend{padding-bottom:20px;gap:10px}.ms-index-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:6px 12px}.ms-index{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;border-color:var(--border-light);padding:17px 12px;min-width:0}.ms-index span{width:100%;font-size:12px}.ms-index b{font-size:23px;color:var(--text-1);letter-spacing:-.5px}.ms-index em{font-size:12px}.ms-bottom{gap:20px;margin-top:20px}.ms-rank-list,.ms-board-list{padding:10px 18px}.ms-rank-row{grid-template-columns:70px minmax(24px,1fr) 64px;gap:10px;padding:12px 0;border-bottom:1px solid var(--border-light)}.ms-rank-row>span,.ms-rank-row>b{font-size:12px}.ms-rank-row small{font-size:10px}.ms-rank-row>div,.ms-board-track{background:var(--border-light);border-radius:4px;overflow:hidden}.ms-mover-grid{padding:4px 12px 14px;gap:14px}.ms-movers h4{font-size:12px;margin:12px 0}.ms-mover{font-size:12px;gap:6px;padding:8px 0}.ms-mover b,.ms-mover em{font-size:12px}.ms-mover small{font-size:10px}.ms-board-row{padding:12px 0;grid-template-columns:80px 1fr 55px 52px}.ms-board-row>span,.ms-board-row b,.ms-board-row em{font-size:12px}.ms-board-row small{font-size:10px}.ms-bottom canvas{margin:14px 0}
.market-watch{padding:4px 18px}.market-watch-row{display:grid;grid-template-columns:1fr auto 76px;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid var(--border-light)}.market-watch-row:last-child{border:0}.market-watch-row span b{font-size:13px;font-weight:500}.market-watch-row small{display:block;font-size:11px;color:var(--text-3)}.market-watch-row>b{font-weight:500;font-variant-numeric:tabular-nums}.market-watch-row em{text-align:right;font-style:normal;font-size:12px}.market-watch-row:hover span b{color:var(--primary)}
/* Public entry and family story. */
.eyebrow{font:11px/1.5 var(--sans);letter-spacing:2.4px;color:var(--brass);margin-bottom:12px}.login-page{position:fixed;inset:0;overflow:auto;background:var(--bg);color:var(--text-1);display:block}.login-bg{display:none}.login-wrap{display:grid;grid-template-columns:1.25fr minmax(320px,410px);gap:90px;align-items:center;width:min(1160px,calc(100% - 96px));max-width:none;min-height:100vh;margin:0 auto;padding:72px 0;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;animation:none}.login-brand{padding:0;background:transparent;overflow:visible;position:relative}.login-brand:after{content:none}.brand-logo{display:flex;align-items:center;gap:14px;margin-bottom:60px}.brand-image{width:64px;height:64px;object-fit:contain}.brand-name{display:block;font:400 34px/1.4 var(--serif);color:var(--text-1);letter-spacing:5px}.hero-kicker{font-size:10px;color:var(--brass);letter-spacing:2.5px;margin-bottom:20px}.brand-title{font:400 clamp(38px,4.2vw,56px)/1.45 var(--serif);color:var(--text-1);letter-spacing:1px;margin-bottom:24px}.hero-lead{font-size:16px;line-height:2;color:var(--text-2);margin-bottom:20px}.brand-desc{color:var(--text-3);font-size:13px;line-height:1.9;margin-bottom:24px}.story-link{display:inline-flex;gap:35px;font-size:13px;color:var(--primary);padding-bottom:8px;border-bottom:1px solid var(--primary)}.story-link:hover span{transform:translate(2px,-2px)}.story-link span{transition:transform var(--t-fast)}.hero-chain{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;color:var(--text-3);font-size:11px}.hero-chain li+li:before{content:'·';margin-right:12px;color:var(--brass)}
.login-panel{padding:40px 36px 28px;background:var(--card);border:1px solid var(--border-light);border-radius:20px;box-shadow:0 16px 60px #342B2D09;position:relative;overflow:hidden}.login-panel:before{content:'';height:3px;width:55px;background:var(--brass);position:absolute;left:36px;top:0}.lf-title{font:400 25px/1.4 var(--serif);color:var(--text-1);margin-bottom:8px}.lf-sub{color:var(--text-3);font-size:13px}.field-label{color:var(--text-2);font-size:13px}.field-control{height:46px;border-radius:8px}.fc-input{color:var(--text-1);font-size:14px}.fc-icon{color:var(--text-3)}.lg-submit{height:46px;margin-top:24px}.login-copy{position:static;text-align:left;color:var(--text-3);font-size:11px;line-height:1.8;margin-top:24px;padding-top:18px;border-top:1px solid var(--border-light)}.login-copy strong{display:block;font-size:11px;color:var(--text-2);font-weight:400}.lg-demo,.lg-tip,.lg-divider,#lgDemo{display:none!important}.login-brand>*{animation:zhReveal 260ms var(--ease) both}.login-brand>.brand-title{animation-delay:50ms}.login-brand>.hero-lead{animation-delay:100ms}.login-panel{animation:zhReveal 280ms var(--ease) 100ms both}
.public-shell{min-height:100vh;background:var(--bg);padding:0 40px}.public-header{max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0;border-bottom:1px solid var(--border)}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-lockup img{width:48px;height:48px}.brand-lockup b{font:400 26px var(--serif);letter-spacing:3px}.brand-lockup span{font-size:11px;color:var(--text-3);padding-left:10px;border-left:1px solid var(--border)}
.about-page{max-width:1200px;margin:auto}.about-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;padding:60px 0 70px;align-items:center}.about-copy h1{font:400 clamp(34px,4vw,54px)/1.5 var(--serif);margin-bottom:26px;letter-spacing:1px}.about-copy h1 em{color:var(--primary);font-style:normal}.about-copy>p{color:var(--text-2);font-size:15px;line-height:2;max-width:580px}.about-copy .eyebrow{font-size:11px;color:var(--brass)}.about-copy .about-lead{font-size:18px;margin-bottom:16px}.about-copy strong{font-weight:600;color:var(--text-1)}.about-signature{display:flex;gap:24px;font-size:12px;color:var(--text-3);margin-top:32px;padding-top:20px;border-top:1px solid var(--border);max-width:380px}.about-art{min-height:330px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle,var(--primary-light),transparent 68%)}.about-art img{width:220px;height:220px;object-fit:contain;z-index:1}.about-art span{margin-top:32px;font:12px var(--serif);letter-spacing:4px;color:var(--text-3)}.about-orbit{position:absolute;width:300px;height:300px;border:1px solid var(--border);border-radius:50%;transform:rotate(-20deg)}.about-orbit:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--brass);position:absolute;top:39px;left:39px}
.about-section{border-top:1px solid var(--border);padding:40px 0 50px}.about-section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:28px}.about-section h2,.about-boundary h2{font:400 25px/1.6 var(--serif)}.about-section-head>p{font-size:12px;color:var(--text-3)}.about-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.about-feature{background:var(--card);border:1px solid var(--border-light);border-radius:14px;padding:26px;transition:transform var(--t),border-color var(--t)}.about-feature:hover{transform:translateY(-3px);border-color:var(--border)}.feature-number{font:13px var(--mono);color:var(--brass)}.about-feature h3{font:400 23px var(--serif);margin:18px 0 12px}.about-feature>b{font-size:12px;color:var(--primary);font-weight:500}.about-feature p{font-size:13px;color:var(--text-2);line-height:1.9;margin-top:12px}.about-feature a{display:flex;justify-content:space-between;color:var(--primary);font-size:12px;margin-top:20px}.about-boundary{display:grid;grid-template-columns:1fr 2fr;gap:60px;border-top:1px solid var(--border);padding:40px 0}.about-boundary p{font-size:13px;color:var(--text-2);line-height:1.9;margin-bottom:16px}.about-boundary small{font-size:11px;color:var(--text-3)}.about-footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--border);padding:22px 0 30px;font-size:11px;color:var(--text-3)}.about-footer a{color:var(--primary)}
.page-enter{animation:none}.reveal{transition:opacity var(--t) var(--ease),transform var(--t) var(--ease)}@keyframes zhReveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.top-progress{background:var(--primary);box-shadow:none}.modal{animation:zhReveal 240ms var(--ease) both}.btn-loading i{animation:none;border-color:var(--card);opacity:.6}.ms-news>div{animation:none}.fac-bar i{transition:none}
.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-off .reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
@media(max-width:1180px){.main{padding:22px}.ms-grid{grid-template-columns:minmax(220px,.8fr) minmax(0,1.3fr)}.ms-right{grid-column:1/-1;display:block}.ms-bottom{grid-template-columns:1fr}.tb-status .tb-time{display:none}.login-wrap{gap:50px}.ql-layout{grid-template-columns:310px minmax(0,1fr)}}
@media(max-width:1024px){:root{--side-w:218px}.sidebar{position:fixed;left:0;top:var(--topbar-h);bottom:0;transform:translateX(-100%);z-index:110;height:calc(100vh - var(--topbar-h));transition:transform var(--t);box-shadow:var(--shadow-pop)}.sidebar.open{transform:translateX(0)}.tb-menu-btn,.sb-close{display:flex}.ql-layout{grid-template-columns:1fr}.ql-skills{grid-template-columns:repeat(3,1fr)}.login-wrap{width:min(1050px,calc(100% - 64px));gap:40px;grid-template-columns:1.1fr minmax(300px,380px)}.about-hero{gap:30px}.about-art img{width:180px;height:180px}.about-orbit{width:250px;height:250px}.ms-index b{font-size:24px}}
@media(max-width:768px){:root{--topbar-h:66px;--ticker-h:0px;--gap:14px}.main{padding:18px 14px}.topbar{padding:0 14px;gap:14px}.tb-center{display:none}.tb-right{margin-left:auto;gap:8px}.tb-logo>span{font-size:23px}.tb-logo b{display:none}.tb-brand-image{width:36px;height:36px}.tb-status{font-size:11px}.tb-icon-btn{width:28px}.tb-user{padding:4px}.tb-uname,.tb-caret{display:none}.tb-menu{top:34px}.page-head{margin-bottom:18px}.ph-title{font-size:22px}.ph-sub{font-size:12px}.card-hd{padding:12px 16px}.card-bd{padding:16px}.ql-hd{padding:12px 16px}.ql-hd>span{flex-wrap:wrap}.ql-source{width:100%}.ql-skills span{font-size:10px;padding:8px;height:42px;gap:6px}.ql-form{padding:16px}.ql-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ql-source.ok{overflow-wrap:anywhere}.ql-metrics>div{min-width:0}.ql-note{overflow-wrap:anywhere}.sc-filter{position:static}.ak-grid{grid-template-columns:1fr}.live-alert{flex-direction:column;align-items:stretch}.live-alert-actions{flex-wrap:wrap}.paper-kpis div{padding:16px}.ms-header{grid-template-columns:1fr;padding-bottom:18px}.ms-title{grid-column:1;grid-row:1}.ms-title h1{font-size:29px}.ms-date{grid-row:2}.ms-source{grid-column:1;grid-row:3;text-align:left;max-width:none;justify-content:flex-start}.ms-grid{grid-template-columns:1fr;gap:16px}.ms-center{order:-1}.ms-right{grid-column:auto}.ms-left,.ms-right,.ms-center{gap:16px}.ms-panel-title{padding:13px 16px}.ms-index b{font-size:24px}.ms-index{padding:15px 10px}.ms-bottom{margin-top:16px;gap:16px}.ms-board-row{grid-template-columns:70px 1fr 55px 46px;gap:8px}.ms-board-row>span,.ms-board-row b,.ms-board-row em{font-size:11px}.market-watch-row{grid-template-columns:1fr auto 68px;gap:10px}.login-wrap{width:min(530px,calc(100% - 40px));grid-template-columns:1fr;gap:34px;padding:36px 0;min-height:100vh}.login-brand{display:block}.brand-logo{margin-bottom:30px}.brand-image{width:48px;height:48px}.brand-name{font-size:28px}.brand-title{font-size:36px;margin-bottom:20px}.hero-kicker{font-size:9px;margin-bottom:16px}.hero-lead{font-size:14px}.brand-desc{font-size:12px}.hero-chain{margin-top:22px;font-size:10px;gap:8px}.hero-chain li+li:before{margin-right:8px}.login-panel{padding:32px 26px 24px}.public-shell{padding:0 20px}.public-header{padding:18px 0}.brand-lockup{gap:8px}.brand-lockup span{display:none}.brand-lockup img{width:36px;height:36px}.brand-lockup b{font-size:23px}.about-hero{grid-template-columns:1fr;gap:20px;padding:36px 0}.about-copy h1{font-size:35px;margin-bottom:22px}.about-copy>p{font-size:14px}.about-copy .about-lead{font-size:17px}.about-art{min-height:240px}.about-art img{width:150px;height:150px}.about-orbit{width:215px;height:215px}.about-art span{margin-top:20px;font-size:11px}.about-section-head{display:block}.about-section-head>p{margin-top:12px}.about-section h2,.about-boundary h2{font-size:23px}.about-features{grid-template-columns:1fr}.about-feature{padding:24px}.about-boundary{grid-template-columns:1fr;gap:22px}.about-footer{flex-wrap:wrap}}
@media print{.public-header,.about-footer a{display:none}.main,.public-shell{padding:0}.about-page{color:#342B2D}.about-feature{break-inside:avoid}.card,.ql-panel{box-shadow:none}}

.terminal-theme .tb-brand-image{background:#F7F4F0;border-radius:9px;padding:3px}.terminal-theme .about-art img{background:#F7F4F0;border-radius:24px;padding:12px}

.lg-submit{width:100%}.ms-header:after{display:none}.ms-title h1{text-align:left;color:var(--text-1)}.tb-user.menu-open .tb-menu{opacity:1;visibility:visible;transform:none}.sb-close{display:none}@media(max-width:1024px){.sb-close{display:flex}}

.sc-layout{grid-template-columns:270px minmax(0,1fr)}.sc-result{min-width:0}.tbl-scroll{min-width:0;max-width:100%;overflow:auto}table.tbl th{background:var(--hover-bg);color:var(--text-2);border-color:var(--border-light)}table.tbl td{border-color:var(--border-light);color:var(--text-2)}table.tbl td.text-up{color:var(--up)}table.tbl td.text-down{color:var(--down)}table.tbl td.text-flat{color:var(--flat)}table.tbl tbody tr:hover{background:var(--primary-lighter)}@media(max-width:1024px){.sc-layout{grid-template-columns:1fr}}

:root{--chart-ma10:#36659B;--chart-ma20:#836B9A}body.terminal-theme{--chart-ma10:#87ADDE;--chart-ma20:#C0A2D5}.switch{border:0;padding:0;flex:none}.tb-icon-btn.spinning svg{animation:zhReveal 240ms var(--ease) both}.fin-loader i{height:18px;animation:zhReveal 260ms var(--ease) both}.sk{background:var(--hover-bg);animation:zhReveal 240ms var(--ease) both}body{font-variant-numeric:tabular-nums}

.terminal-theme .public-header img,.terminal-theme .brand-image{background:#F7F4F0;border-radius:10px;padding:3px}

.idx-card:hover,.heat-cell:hover{transform:translateY(-2px)}.star:hover,.cp:hover{transform:translateY(-1px)}.cb-box:after{transform:rotate(-45deg);opacity:0;transition:opacity var(--t-fast)}.checkbox input:checked+.cb-box:after{transform:rotate(-45deg);opacity:1}

/* Editorial display typography; dense research values keep their familiar sans face. */
@font-face{font-family:Zhiheng Display;src:url('../fonts/zhiheng-display-light.woff2') format('woff2');font-display:swap;font-weight:300}
@font-face{font-family:Zhiheng Display;src:url('../fonts/zhiheng-display-semibold.woff2') format('woff2');font-display:swap;font-weight:600}
@font-face{font-family:Zhiheng Editorial;src:url('../fonts/cormorant-garamond-italic.woff2') format('woff2');font-display:swap;font-style:italic;font-weight:400}
:root{--display:'Zhiheng Display','Zhiheng Serif','SimSun',serif;--editorial:'Zhiheng Editorial',serif;--ease:cubic-bezier(.22,.72,.25,1)}
.brand-name,.tb-logo>span,.brand-lockup b{font-family:var(--display);font-weight:600;letter-spacing:3px}
.brand-title{font-family:var(--display);font-weight:300;font-size:clamp(42px,4.4vw,64px);line-height:1.5;letter-spacing:1.5px;margin-bottom:28px}
.hero-lead{font:300 22px/1.85 var(--display);color:var(--text-1);max-width:540px}
.value-signature{font:italic 30px/1.5 var(--editorial);color:var(--brass);margin:26px 0 12px;letter-spacing:.3px}
.hero-chain{margin-top:14px}.hero-kicker{color:var(--primary);font-size:10px;letter-spacing:2.5px}
.lf-title{font-family:var(--display);font-weight:600;font-size:27px}.login-panel{box-shadow:0 24px 80px #582C3510}
.login-brand>*{animation:zhReveal 560ms var(--ease) both}.login-brand>.brand-title{animation-delay:70ms}.login-brand>.hero-lead{animation-delay:140ms}.login-brand>.brand-desc{animation-delay:190ms}.login-brand>.story-link{animation-delay:240ms}.login-brand>.value-signature{animation-delay:280ms}.login-panel{animation:zhReveal 560ms var(--ease) 180ms both}
.about-copy h1{font-family:var(--display);font-weight:300;font-size:clamp(42px,4.5vw,62px);line-height:1.48}.about-copy h1 em{font-weight:600}.about-copy .about-lead{font:300 24px/1.8 var(--display)}
.about-section h2,.about-boundary h2{font-family:var(--display);font-weight:600}.about-feature h3{font-family:var(--display);font-size:26px;font-weight:600}
.ms-title h1{font-family:var(--display);font-weight:300;font-size:44px;line-height:1.4;letter-spacing:1.5px}.ms-title h1 em{font-style:normal;color:var(--primary);font-weight:600}.market-value{font:300 16px/1.8 var(--display);color:var(--text-2);margin-top:9px;letter-spacing:1.5px}
.ms-header{padding:8px 0 24px;border-bottom:1px solid var(--border);margin-bottom:24px}.ms-title .eyebrow{color:var(--brass);letter-spacing:3px}.ms-date{margin-top:12px}.ms-source{border-left:1px solid var(--border);padding-left:22px;max-width:360px}
.ms-panel-title small{color:var(--text-3);font-size:9px;letter-spacing:.9px}.ms-index b{font-size:26px;font-weight:400;letter-spacing:-.4px}.ms-panel-title span{font-weight:500}.ms-panel,.card,.chart-card,.about-feature{transition:transform 280ms var(--ease),box-shadow 280ms var(--ease),border-color 240ms var(--ease)}
.ms-panel:hover,.chart-card:hover{box-shadow:0 10px 32px #582C3509;border-color:var(--border)}.about-feature:hover{transform:translateY(-4px);box-shadow:0 14px 36px #582C350E}
.ms-index{position:relative;transition:background 220ms var(--ease)}.ms-index:hover{background:var(--primary-lighter)}.market-watch-row{transition:background 180ms var(--ease),transform 180ms var(--ease)}.market-watch-row:hover{background:var(--primary-lighter);transform:translateX(3px)}
.btn-primary,.btn-ghost,.tool-btn{transition:background 180ms var(--ease),color 180ms var(--ease),transform 180ms var(--ease),box-shadow 180ms var(--ease)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 18px #8A34431C}.btn-primary:active,.btn-ghost:active,.tool-btn:active{transform:translateY(1px);box-shadow:none}
.sb-item{position:relative;z-index:1;transition:color 180ms var(--ease),transform 240ms var(--ease)}.sb-item.active{background:transparent}.sb-item:hover{transform:translateX(3px);background:transparent}.sb-selection{position:absolute;left:14px;right:14px;top:0;pointer-events:none;border:1px solid #8A34430A;border-radius:10px;background:var(--primary-light);z-index:0}.sb-selection:before{content:'';position:absolute;left:0;top:25%;bottom:25%;width:2px;background:var(--primary);border-radius:2px}.sb-selection.ready{transition:transform 320ms var(--ease),height 180ms var(--ease)}
@media(min-width:1025px){.sidebar{position:relative;top:0}}
.tb-menu{transition:opacity 220ms var(--ease),transform 220ms var(--ease),visibility 220ms}.tb-menu a{transition:background 180ms var(--ease),padding-left 180ms var(--ease)}.tb-menu a:hover{padding-left:20px}.modal{animation:zhReveal 320ms var(--ease) both}
.story-link{position:relative;border-bottom:0;overflow:hidden;padding-bottom:10px}.story-link:after{content:'';height:1px;background:var(--primary);position:absolute;left:0;right:0;bottom:0;transform:translateX(-35%);transition:transform 380ms var(--ease)}.story-link:hover:after,.story-link:focus-visible:after{transform:translateX(0)}
.about-feature a span{transition:transform 240ms var(--ease)}.about-feature:hover a span{transform:translate(3px,-3px)}.global-search:focus-within #gsInput{box-shadow:0 0 0 4px var(--primary-light)}
.terminal-theme .ms-panel:hover,.terminal-theme .chart-card:hover,.terminal-theme .about-feature:hover{box-shadow:0 14px 36px #0002}.terminal-theme .ms-rank-row>div i,.terminal-theme .ms-board-track i{background:var(--primary)}
@media(max-width:1024px){.ms-title h1{font-size:38px}.sb-selection{left:14px;right:14px}}
@media(max-width:768px){.brand-title{font-size:40px;line-height:1.5}.hero-lead{font-size:19px}.value-signature{font-size:27px;margin-top:22px}.about-copy h1{font-size:39px}.about-copy .about-lead{font-size:21px}.ms-title h1{font-size:34px;letter-spacing:.4px}.market-value{font-size:14px;letter-spacing:1px}.ms-source{border-left:0;padding-left:0}.ms-index b{font-size:25px}.ms-header{padding-top:2px}.login-wrap{padding-top:30px;gap:26px}}

.ms-header{border:0;border-bottom:1px solid var(--border)}.card:focus-within,.paper-panel:focus-within,.ql-panel:focus-within{border-color:var(--primary)}

.ms-date small{color:var(--text-3)}

/* Personal and platform forms share the existing design tokens. */
.model-actions,.admin-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0}.model-actions .f-input{width:auto;min-width:140px}.model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.check-row{display:flex;align-items:center;gap:8px;margin:16px 0}.model-form .f-item{margin-bottom:18px}.model-form .f-input{width:100%}.ts-field{display:grid;gap:8px;margin-bottom:18px}.admin-tabs{margin-bottom:24px}@media(max-width:600px){.model-grid,.model-card{grid-template-columns:1fr}.model-actions .f-input{width:100%}.modal{max-height:90vh;overflow-y:auto}}

.model-actions>button,.admin-tabs>button{padding:10px 16px;white-space:normal}.model-actions>.btn-primary,.admin-tabs>.btn-primary{width:auto}

.tb-user-trigger{display:flex;align-items:center;gap:8px;background:transparent;border:0;color:inherit;cursor:pointer;padding:0}.tb-menu button{display:flex;align-items:center;gap:12px;width:100%;padding:10px 16px;text-align:left;background:transparent;color:inherit;border:0;cursor:pointer}.tb-menu button:hover{background:var(--primary-light)}

/* 邮箱注册沿用登录页的字体、留白与酒红色交互。 */
#registerBox[hidden],#loginFormBox[hidden]{display:none!important}.registration-link{margin-top:24px;text-align:center;font-size:13px;color:var(--text-3)}.registration-link a{margin-left:8px}.register-steps{display:flex;gap:12px;padding:0;margin:22px 0;list-style:none;font-size:12px;color:var(--text-3)}.register-steps li{flex:1;border-bottom:1px solid var(--border);padding-bottom:10px}.register-steps li.is-current{color:var(--primary);border-color:var(--primary)}.register-field{display:flex;flex-direction:column;gap:9px;margin-bottom:18px;font-size:13px;color:var(--text-2)}.register-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.register-code-row button{white-space:nowrap}.register-note{font-size:12px;line-height:1.8;color:var(--text-3);margin:12px 0}.register-status{font-size:13px;line-height:1.7;min-height:24px;color:var(--primary);overflow-wrap:anywhere}.register-status.is-error{color:var(--danger,#b33a49)}.register-email{font-size:14px;color:var(--primary);overflow-wrap:anywhere;margin-bottom:20px}#registerBox .btn-primary{min-height:42px}#registerBox .f-input{min-width:0;width:100%;box-sizing:border-box}#registerBox .lf-title{font-family:var(--serif);font-weight:600}#registerBox .registration-back{display:block;text-align:center;margin-top:20px;font-size:13px}

.login-page:has(#registerBox:not([hidden])) .login-wrap{max-height:none}.login-page:has(#registerBox:not([hidden])) .login-brand{align-self:start}.login-page:has(#registerBox:not([hidden])) .brand-logo{margin-bottom:40px}
