:root{
  --ink:#0A1729;--ink-2:#0C1E33;--surface:#102740;--surface-2:#0E2138;
  --line:rgba(255,255,255,.09);--line-2:rgba(255,255,255,.05);
  --text:#EAF1F8;--muted:#8DA1B6;--muted-2:#6F8499;
  --gold:#C7A35B;--gold-soft:rgba(199,163,91,.10);--buy:#7FD8A8;--purple:#A87FE8;--purple-soft:rgba(168,127,232,.10);
  --sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;
  --serif:Georgia,"Times New Roman","Songti SC",serif;
  --mono:ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace;
  --wrap:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--text);font-family:var(--sans);line-height:1.7;-webkit-font-smoothing:antialiased;letter-spacing:.01em;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}
header{position:sticky;top:0;z-index:50;background:rgba(10,23,41,.72);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-2)}
nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;flex-shrink:0}
.brand .mark{width:40px;height:40px;display:block;flex-shrink:0;object-fit:contain;border-radius:0;filter:drop-shadow(0 3px 10px rgba(199,163,91,.18))}
.brand-text{display:flex;flex-direction:column;gap:5px}
.brand-name{font-size:16px;font-weight:600;letter-spacing:.2em;color:var(--fg);line-height:1}
.brand-en{font-family:var(--mono);font-size:9px;color:var(--muted-2);letter-spacing:.12em;text-transform:uppercase;line-height:1}
.links{display:flex;gap:30px;align-items:center}
.links a{font-size:14.5px;color:var(--muted);transition:color .2s}
.links a:hover{color:var(--text)}
.btn{font-size:14px;padding:9px 18px;border-radius:8px;transition:all .2s;cursor:pointer;border:1px solid transparent;font-family:var(--sans);letter-spacing:.02em;display:inline-block}
.btn-ghost{color:var(--muted)}.btn-ghost:hover{color:var(--text)}
.btn-gold{background:var(--gold);color:#1a1306;font-weight:500}.btn-gold:hover{background:#d7b873;transform:translateY(-1px)}
.btn-line{border:1px solid var(--line);color:var(--text)}.btn-line:hover{border-color:var(--gold);color:var(--gold)}
.btn-lg{padding:14px 28px;font-size:15px;border-radius:9px}
.hero{position:relative;padding:104px 0 80px;overflow:hidden;background:radial-gradient(ellipse 65% 80% at 80% -15%,rgba(40,100,215,.24) 0%,transparent 58%),radial-gradient(ellipse 50% 60% at -8% 115%,rgba(199,163,91,.16) 0%,transparent 52%),var(--ink)}
.hero-bg{position:absolute;inset:0;z-index:0;opacity:.58}
.hero-grid{animation:grid-breathe 10s ease-in-out infinite}
.chart-guides line{stroke:rgba(255,255,255,.035);stroke-width:1;vector-effect:non-scaling-stroke}
.trend-line{vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.trend-main{opacity:.72;filter:drop-shadow(0 0 5px rgba(199,163,91,.12));animation:trend-glow 9s ease-in-out infinite}
.trend-secondary{opacity:.16}
.trend-marker{filter:drop-shadow(0 0 7px rgba(199,163,91,.45));opacity:.88}
.chart-labels text{font-family:var(--mono);font-size:14px;fill:rgba(199,163,91,.46);letter-spacing:.02em;animation:label-breathe 8s ease-in-out infinite}
.chart-labels text:nth-child(2){fill:rgba(141,161,182,.38);animation-delay:-2s}
.chart-labels text:nth-child(3){fill:rgba(127,216,168,.34);animation-delay:-4s}
.chart-labels text:nth-child(4){fill:rgba(199,163,91,.38);animation-delay:-6s}
.math-symbols{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.math-symbols span{position:absolute;font-family:var(--serif);font-style:italic;color:rgba(199,163,91,.17);text-shadow:0 0 40px rgba(199,163,91,.11);user-select:none;--rot:rotate(0deg);--float-x:20px;--float-y:24px;transform:translate3d(0,0,0) var(--rot);animation:math-float 9s ease-in-out infinite;will-change:transform,opacity}
.math-symbols .s1{left:7%;top:18%;font-size:46px;--rot:rotate(-12deg);--float-x:22px;--float-y:26px;animation-duration:9s}
.math-symbols .s4{left:44%;top:72%;font-size:58px;color:rgba(141,161,182,.13);--rot:rotate(-4deg);--float-x:-24px;--float-y:26px;animation-duration:14s;animation-delay:-4s}
.math-symbols .s5{left:57%;top:24%;font-size:22px;font-family:var(--mono);font-style:normal;color:rgba(199,163,91,.20);--float-x:24px;--float-y:-22px;animation-duration:11s;animation-delay:-2s}
.math-symbols .s7{left:82%;top:18%;font-size:64px;color:rgba(199,163,91,.15);--rot:rotate(7deg);--float-x:20px;--float-y:30px;animation-duration:15s;animation-delay:-8s}
.math-symbols .s8{left:88%;top:76%;font-size:20px;font-family:var(--mono);font-style:normal;color:rgba(141,161,182,.18);--float-x:-20px;--float-y:-20px;animation-duration:9s;animation-delay:-3s}
@keyframes grid-breathe{
  0%,100%{opacity:.82}
  50%{opacity:.48}
}
@keyframes trend-glow{
  0%,100%{opacity:.58}
  50%{opacity:.84}
}
@keyframes label-breathe{
  0%,100%{opacity:.45}
  50%{opacity:.82}
}
@keyframes math-float{
  0%,100%{transform:translate3d(0,0,0) var(--rot);opacity:.58}
  34%{transform:translate3d(var(--float-x),calc(var(--float-y) * -1),0) var(--rot);opacity:.98}
  68%{transform:translate3d(calc(var(--float-x) * -0.75),var(--float-y),0) var(--rot);opacity:.44}
}
@media (prefers-reduced-motion:reduce){
  .math-symbols span{animation-duration:22s;opacity:.55;will-change:auto}
  .hero-grid,.trend-line,.chart-labels text{animation-duration:22s;will-change:auto}
}
.hero .wrap{position:relative;z-index:1;max-width:880px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;color:var(--gold);letter-spacing:.18em;text-transform:uppercase;font-family:var(--mono);margin-bottom:20px;border:1px solid var(--gold-soft);background:var(--gold-soft);padding:6px 14px;border-radius:100px}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}
h1{font-size:clamp(36px,5.4vw,62px);line-height:1.15;font-weight:500;letter-spacing:-.01em;margin-bottom:20px}
h1 .accent{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--gold)}
.lead{font-size:clamp(16px,2vw,18.5px);color:var(--muted);max-width:640px;margin-bottom:30px}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.rv{opacity:0;transform:translateY(18px);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes rise{to{opacity:1;transform:none}}
.d1{animation-delay:.05s}.d2{animation-delay:.18s}.d3{animation-delay:.31s}.d4{animation-delay:.44s}
.quad{border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);background:var(--ink-2)}
.quad .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-2)}
.qitem{background:var(--ink-2);padding:28px 22px;transition:background .2s}
.qitem:hover{background:var(--surface-2)}
.qitem .qn{font-family:var(--mono);font-size:11px;color:var(--gold);letter-spacing:.1em;margin-bottom:10px}
.qitem .qt{font-size:16px;font-weight:500;margin-bottom:4px}
.qitem .qs{font-size:13px;color:var(--muted)}
section{padding:80px 0}
.sec-head{max-width:680px;margin-bottom:40px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-tag{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:12px}
.sec-tag .free{color:var(--buy);border:1px solid rgba(127,216,168,.3);background:rgba(127,216,168,.08);padding:2px 10px;border-radius:100px;font-size:10.5px;letter-spacing:.08em}
.sec-tag .sub{color:var(--gold);border:1px solid var(--gold-soft);background:var(--gold-soft);padding:2px 10px;border-radius:100px;font-size:10.5px;letter-spacing:.08em}
h2{font-size:clamp(26px,3.3vw,36px);font-weight:500;line-height:1.25;letter-spacing:-.01em;margin-bottom:16px}
.sec-head p{color:var(--muted);font-size:16px}
.page-head{padding:64px 0 6px}
.page-head .sec-head{margin-bottom:0}
.research-tab-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:-16px}
.research-tab-group+.research-tab-group{margin-top:10px}
.research-tab-label{min-width:62px;color:var(--muted-2);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.research-tabs{display:flex;gap:8px;flex-wrap:wrap}
.sec-head+.research-tabs{margin-top:-18px}
.research-tabs-primary{margin-bottom:0}
.research-tabs-secondary{margin-top:0}
.research-tab{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 16px;border:1px solid var(--line);border-radius:8px;background:rgba(14,33,56,.58);color:var(--muted);font-size:13px;line-height:1;font-family:var(--sans);transition:border-color .18s,color .18s,background .18s}
.research-tab.active{border-color:rgba(199,163,91,.46);background:rgba(199,163,91,.1);color:var(--text)}
.research-tab.futures-active{border-color:rgba(125,184,232,.46);background:rgba(125,184,232,.09)}
.research-tab.muted{color:var(--muted-2);cursor:default;background:rgba(10,23,41,.24)}
.research-tab-note{max-width:720px;margin-top:12px;border-left:2px solid rgba(199,163,91,.38);background:rgba(14,33,56,.5);padding:12px 14px;border-radius:0 8px 8px 0;color:var(--muted);font-size:13.5px;line-height:1.75}
.research-tab-note.futures-note{border-left-color:rgba(125,184,232,.4)}
.news{border:1px solid var(--line-2);border-radius:16px;overflow:hidden}
.nrow{display:flex;align-items:center;gap:18px;padding:20px 26px;border-bottom:1px solid var(--line-2);transition:background .2s}
.nrow:last-child{border-bottom:0}
.nrow:hover{background:var(--surface-2)}
.nrow .ntime{font-family:var(--mono);font-size:12.5px;color:var(--gold);white-space:nowrap}
.nrow .ntxt{flex:1;font-size:15px}
.nrow .nsrc{font-size:12px;color:var(--muted-2);white-space:nowrap}
.announce-head{padding-bottom:0}
.announce-head .sec-head{margin-bottom:14px}
.announce-section{padding-top:18px}
.announce-shell{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.announce-card{border:1px solid var(--line);border-radius:16px;background:linear-gradient(160deg,var(--surface),var(--surface-2));padding:30px 32px;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.announce-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;color:var(--gold);font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase}
.announce-card h3{font-size:21px;font-weight:500;line-height:1.4;margin-bottom:14px}
.announce-card h3 .tag-inline{vertical-align:middle;margin-right:9px;position:relative;top:-2px}
.announce-summary{font-size:14px;color:var(--muted);line-height:1.75;border-bottom:1px solid var(--line-2);padding-bottom:16px;margin-bottom:18px}
.announce-body{font-size:14.5px;color:var(--text);line-height:1.85;white-space:normal}
.announce-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line-2);margin-top:26px;padding-top:14px;color:var(--muted-2);font-size:12px}
.announce-admin{border:1px solid var(--line);border-radius:16px;background:var(--surface-2);padding:20px}
.announce-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line-2);padding-bottom:14px;margin-bottom:16px}
.announce-admin-kicker{font-size:10.5px;color:var(--gold);font-family:var(--mono);letter-spacing:.12em;margin-bottom:3px}
.announce-admin h4{font-size:15px;font-weight:500}
.announce-admin-head span{font-size:11px;color:var(--gold);font-family:var(--mono);white-space:nowrap}
.announce-admin label{display:flex;flex-direction:column;gap:6px;color:var(--muted-2);font-size:11.5px;margin-bottom:12px}
.announce-admin input,.announce-admin textarea{border:1px solid var(--line);border-radius:9px;background:var(--ink);color:var(--text);font-family:var(--sans);font-size:13px;line-height:1.6;padding:10px 12px;outline:none}
.announce-admin input:focus,.announce-admin textarea:focus{border-color:var(--gold)}
.announce-admin textarea{resize:vertical;min-height:190px}
.announce-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:14px}
/* 公告栏：管理条 */
.announce-admin-bar{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:14px}
.announce-admin-bar .btn{font-size:12.5px;padding:8px 16px}
/* 公告栏：清单式（紧凑，参考机构公告栏） */
.announce-list{list-style:none;border-top:1px solid var(--line-2)}
.announce-row{border-bottom:1px solid var(--line-2)}
.announce-row.is-pinned{background:linear-gradient(90deg,rgba(198,161,91,.05),transparent 55%)}
.announce-row.is-draft{opacity:.55}
.announce-row a{display:flex;align-items:baseline;justify-content:space-between;gap:28px;padding:17px 8px;text-decoration:none;color:inherit;transition:padding-left .16s ease,background .16s ease}
.announce-row a:hover{padding-left:14px;background:rgba(255,255,255,.012)}
.row-main{min-width:0}
.announce-row h3{font-size:15.5px;font-weight:500;line-height:1.5;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.row-title{transition:color .16s ease}
.announce-row a:hover .row-title{color:var(--gold)}
.row-main p{font-size:13px;color:var(--muted-2);line-height:1.65;margin-top:4px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.row-date{flex:none;font-family:var(--mono);font-size:12px;color:var(--muted-2);letter-spacing:.03em;white-space:nowrap;padding-top:3px}
.tag-pin{font-size:10px;letter-spacing:.06em;color:var(--gold);border:1px solid var(--gold-soft);background:var(--gold-soft);padding:1px 7px;border-radius:4px;font-family:var(--mono)}
.tag-draft{font-size:10px;letter-spacing:.06em;color:var(--muted-2);border:1px solid var(--line);background:var(--surface-2);padding:1px 7px;border-radius:4px;font-family:var(--mono)}
/* 公告栏：空态 */
.announce-empty{border-top:1px solid var(--line-2);padding:52px 8px;color:var(--muted-2)}
.announce-empty p{font-size:13.5px;line-height:1.8}
/* 公告详情：面包屑 */
.announce-crumb{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px}
.announce-crumb a{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--muted);text-decoration:none;padding:7px 15px;border:1px solid var(--line);border-radius:8px;transition:border-color .16s ease,color .16s ease}
.announce-crumb a:hover{color:var(--gold);border-color:var(--gold-soft)}
.announce-crumb .edit-link{color:var(--gold);border-color:var(--gold-soft)}
/* 公告详情：侧栏更多 */
.announce-more{border:1px solid var(--line);border-radius:16px;background:var(--surface-2);padding:22px}
.announce-more-head{font-size:12px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--line-2);padding-bottom:12px;margin-bottom:6px}
.announce-more ul{list-style:none}
.announce-more li{border-bottom:1px solid var(--line-2)}
.announce-more li:last-child{border-bottom:none}
.announce-more li a{display:block;padding:13px 0;text-decoration:none;color:inherit}
.announce-more li a:hover .m-title{color:var(--gold)}
.announce-more .m-date{display:block;font-family:var(--mono);font-size:11px;color:var(--muted-2);letter-spacing:.06em;margin-bottom:4px}
.announce-more .m-title{font-size:13.5px;line-height:1.5;color:var(--text);transition:color .18s ease}
.announce-more-empty{font-size:13px;color:var(--muted-2);padding-top:12px}
@media(max-width:900px){.announce-shell{grid-template-columns:1fr}.announce-card{padding:24px}.announce-foot{align-items:flex-start;flex-direction:column}.announce-meta{align-items:flex-start;flex-direction:column;gap:6px}.announce-row a{flex-direction:column;gap:6px;align-items:flex-start}.row-date{padding-top:0;order:-1}.announce-admin-bar{justify-content:flex-start}}
.split{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center}
.panel{border:1px solid var(--line);border-radius:16px;background:linear-gradient(160deg,var(--surface),var(--surface-2));padding:26px}
.panel .ph{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.panel .ph .pt{font-size:14px;color:var(--muted)}
.panel .ph .pb{font-size:11px;color:var(--gold);font-family:var(--mono);border:1px solid var(--gold-soft);padding:3px 9px;border-radius:100px}
.chart{position:relative;border-radius:10px;overflow:hidden;background:rgba(0,0,0,.15)}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:10px;overflow:hidden;margin-top:16px}
.metric{background:var(--surface-2);padding:14px 10px;text-align:center}
.metric .ml{font-size:11px;color:var(--muted-2);margin-bottom:5px}
.metric .mv{font-family:var(--mono);font-size:15px}
.metric .mv.lock{color:var(--gold);font-size:12px}
.bt-note{font-size:12px;color:var(--muted-2);margin-top:14px;line-height:1.7}
.stat-tip{font-size:10px;color:var(--muted-2);cursor:help;vertical-align:middle}
.bt-explain-row{display:flex;flex-direction:column;gap:5px;margin:10px 0 20px;padding:12px 14px;background:var(--surface-2);border-left:2px solid rgba(199,163,91,.4);border-radius:0 6px 6px 0;font-size:12px;color:var(--muted);line-height:1.75}
.chart-sec-hd{margin-bottom:8px}
.chart-sec-title{font-size:13px;font-weight:600;color:var(--text);letter-spacing:.02em}
.chart-sec-en{font-size:10px;font-family:var(--mono);color:var(--muted-2);letter-spacing:.1em;margin-left:8px;text-transform:uppercase}
.chart-sec-desc{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.6}
.dist-box{border:1px solid var(--line);border-radius:16px;background:linear-gradient(160deg,var(--surface),var(--surface-2));padding:26px}
.locked-block{border:1px dashed var(--line);border-radius:14px;padding:40px;text-align:center;color:var(--muted);background:var(--surface-2);margin-top:8px}
.locked-block .pill{display:inline-block;font-size:13px;color:var(--gold);border:1px solid var(--gold-soft);background:rgba(10,23,41,.6);padding:9px 18px;border-radius:100px;margin-bottom:14px}
.custom{border:1px solid var(--line);border-radius:18px;background:var(--surface-2);padding:48px 44px;text-align:center}
.custom h2{margin-bottom:14px}.custom p{color:var(--muted);max-width:560px;margin:0 auto 28px;font-size:16px}
.form{max-width:480px;margin:0 auto;text-align:left}
.field{margin-bottom:16px}
.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:7px}
.field input,.field textarea{width:100%;padding:12px 14px;border-radius:9px;border:1px solid var(--line);background:var(--ink);color:var(--text);font-family:var(--sans);font-size:15px}
.field textarea{min-height:96px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
.verify-row{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:10px;align-items:center}
.verify-row input{min-width:0}
.verify-btn{height:45px;padding:0 12px;font-size:13px;white-space:nowrap;background:transparent}
.verify-btn:disabled{opacity:.55;cursor:not-allowed}
.verify-msg{min-height:18px;margin-top:7px;font-size:12.5px;color:var(--muted-2);line-height:1.45}
/* 登录/注册方式切换标签（密码/短信、手机/邮箱） */
.auth-tabs{display:flex;gap:4px;padding:4px;margin-bottom:24px;border:1px solid var(--line);border-radius:12px;background:var(--ink)}
.auth-tab{flex:1;text-align:center;padding:9px 8px;font-size:13.5px;color:var(--muted);background:transparent;border:none;border-radius:9px;cursor:pointer;font-family:var(--sans);letter-spacing:.02em;transition:color .18s,background .18s}
.auth-tab:hover{color:var(--text)}
.auth-tab.active{color:var(--gold);background:var(--gold-soft);font-weight:600}
.auth-panel{display:none}
.auth-panel.active{display:block}
/* 图形验证码控件 */
.captcha-row{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:10px;align-items:center}
.captcha-row input{min-width:0}
.captcha-img{height:45px;width:130px;border-radius:9px;border:1px solid var(--line);background:#fff;display:block}
.captcha-hint{font-size:12px;color:var(--muted-2);margin-top:6px}
/* 账户信息卡片：信息行 + 就地展开的绑定/换绑操作 */
.acct-row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.acct-value{display:inline-flex;align-items:center;gap:10px;min-width:0}
.acct-value>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct-edit{appearance:none;-webkit-appearance:none;flex-shrink:0;border:none;border-bottom:1px solid transparent;background:transparent;color:var(--gold);font-family:var(--sans);font-size:12.5px;line-height:1.4;padding:1px 0;cursor:pointer;white-space:nowrap}
.acct-edit:hover{border-bottom-color:rgba(199,163,91,.5)}
.acct-hint{font-size:12px;color:var(--muted-2);line-height:1.6;margin-bottom:11px}
/* 改密验证方式切换（短信 / 邮箱） */
.pw-methods{display:flex;gap:4px;padding:4px;margin-bottom:13px;border:1px solid var(--line-2);border-radius:9px;background:rgba(9,25,43,.42)}
.pw-method{flex:1;appearance:none;-webkit-appearance:none;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font-family:var(--sans);font-size:12.5px;font-weight:600;padding:7px 10px;cursor:pointer;white-space:nowrap;transition:background .16s,border-color .16s,color .16s}
.pw-method:hover:not(.active){color:var(--text);background:rgba(255,255,255,.035)}
.pw-method.active{color:var(--gold);border-color:rgba(199,163,91,.35);background:rgba(199,163,91,.1)}
.sub-band{background:linear-gradient(150deg,rgba(199,163,91,.05) 0%,var(--ink-2) 38%,var(--ink-2) 62%,rgba(122,185,255,.04) 100%);border-top:1px solid var(--line-2);text-align:center}
.sub-band h2{margin-bottom:14px}
.sub-band .sec-head{max-width:900px}
.sub-band .sec-head p{white-space:nowrap}
.sub-band>.wrap>p{color:var(--muted);margin-bottom:28px;font-size:16px;max-width:520px;margin-left:auto;margin-right:auto}
.sub-form{display:flex;gap:12px;max-width:460px;margin:0 auto;flex-wrap:wrap;justify-content:center}
.sub-form input{flex:1;min-width:220px;padding:14px 16px;border-radius:9px;border:1px solid var(--line);background:var(--ink);color:var(--text);font-family:var(--sans);font-size:15px}
.sub-form input:focus{outline:none;border-color:var(--gold)}
.sub-note{font-size:12.5px;color:var(--muted-2);margin-top:16px}
footer{border-top:1px solid var(--line-2);background:var(--ink);padding:56px 0 40px}
.foot-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px;margin-bottom:40px}
.foot-links{display:flex;gap:52px;flex-wrap:wrap}
.foot-col h4{font-size:13px;color:var(--text);margin-bottom:16px;font-weight:500}
.foot-col a{display:block;color:var(--muted);font-size:13.5px;padding:5px 0;transition:color .2s}
.foot-col a:hover{color:var(--gold)}
.disclaimer{border-top:1px solid var(--line-2);padding-top:26px;color:var(--muted-2);font-size:12.5px;line-height:1.9}
.disclaimer .legal{color:#5d7088}
@media(max-width:860px){
  .links{display:none}
  .nav-welcome{display:none}
  .quad .wrap{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr;gap:32px}
  .metrics{grid-template-columns:repeat(2,1fr)}
  .hero{padding:68px 0 52px}section{padding:52px 0}
  .page-head{padding:44px 0 6px}
  .sec-head{margin-bottom:32px}
  .math-symbols .s4,.math-symbols .s7{display:none}
}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:40px 0 52px}
.subscribe-wrap{max-width:1240px}
.pricing-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch;text-align:left}
.pricing-card{position:relative;overflow:hidden;border:1px solid rgba(141,161,182,.18);border-radius:8px;background:rgba(14,33,56,.72);padding:24px 20px 22px;display:flex;flex-direction:column;min-height:100%;box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transition:border-color .18s,background .18s}
.pricing-card::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:rgba(199,163,91,.34);opacity:.7}
.pricing-card.paid{border-color:rgba(141,161,182,.2);background:rgba(13,31,53,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.pricing-card:hover,.pricing-card.paid:hover{border-color:rgba(199,163,91,.34);background:rgba(16,39,64,.8)}
.btn-paid{width:100%;min-height:40px;text-align:center}
.btn-metal{position:relative;overflow:hidden;isolation:isolate;--card-light-x:-18%;--card-light-y:-4%;--card-light-rot:-2deg;--card-border-x:50%;--card-border-y:50%;width:100%;min-height:40px;text-align:center;border:2px solid transparent;background:linear-gradient(150deg,rgba(6,16,30,.96),rgba(10,24,42,.94)) padding-box,linear-gradient(135deg,rgba(255,229,166,.74),rgba(87,176,212,.34) 34%,rgba(255,255,255,.30) 50%,rgba(117,87,34,.58) 68%,rgba(255,224,150,.42)) border-box;box-shadow:inset 0 1px 0 rgba(255,255,255,.10),inset 0 -1px 0 rgba(199,163,91,.10),0 0 0 1px rgba(0,0,0,.18);color:var(--text);font-weight:500;transition:transform .28s ease,box-shadow .28s ease,background .28s ease}
.btn-metal::after{content:'';position:absolute;inset:-45%;z-index:0;pointer-events:none;background:linear-gradient(115deg,transparent 34%,rgba(84,195,230,.08) 39%,rgba(180,220,255,.04) 44%,rgba(255,230,120,.22) 48%,rgba(255,218,90,.28) 50%,rgba(255,210,80,.20) 52%,rgba(255,200,80,.08) 57%,rgba(199,163,91,.10) 62%,transparent 67%),radial-gradient(ellipse 18% 70% at 51% 49%,rgba(255,220,100,.16),transparent 65%),radial-gradient(ellipse 62% 50% at 36% 65%,rgba(199,163,91,.10),transparent 85%),radial-gradient(ellipse 55% 42% at 64% 36%,rgba(84,185,230,.07),transparent 80%);opacity:.10;filter:blur(9px);mix-blend-mode:screen;backface-visibility:hidden;will-change:transform,opacity;transform:translate3d(var(--card-light-x),var(--card-light-y),0) rotate(var(--card-light-rot)) skewX(-6deg);transition:transform .18s ease-out,opacity .28s ease}
.btn-metal::before{content:'';position:absolute;inset:-2px;z-index:0;pointer-events:none;border-radius:inherit;padding:2px;background:linear-gradient(120deg,rgba(255,229,166,.20),rgba(84,185,230,.08) 34%,rgba(255,255,255,.18) 48%,rgba(255,229,166,.10) 62%,rgba(117,87,34,.16));background-size:220% 220%;background-position:var(--card-border-x) var(--card-border-y);opacity:0;filter:saturate(1.05);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;will-change:background-position,opacity;transition:opacity .28s ease,background-position .18s ease-out}
.btn-metal:hover::after{opacity:.54}
.btn-metal:hover::before{opacity:1}
.btn-metal:hover{transform:translateY(-3px);background:linear-gradient(150deg,rgba(4,12,23,.98),rgba(7,19,35,.96)) padding-box,linear-gradient(135deg,rgba(255,229,166,.62),rgba(87,176,212,.26) 34%,rgba(255,255,255,.24) 50%,rgba(117,87,34,.50) 68%,rgba(255,224,150,.34)) border-box;box-shadow:0 10px 28px rgba(0,0,0,.30),0 0 16px rgba(199,163,91,.06),inset 0 1px 0 rgba(255,255,255,.08),inset 0 -1px 0 rgba(199,163,91,.08)}
button.btn-metal{background:linear-gradient(150deg,rgba(6,16,30,.96),rgba(10,24,42,.94)) padding-box,linear-gradient(135deg,rgba(255,229,166,.74),rgba(87,176,212,.34) 34%,rgba(255,255,255,.30) 50%,rgba(117,87,34,.58) 68%,rgba(255,224,150,.42)) border-box}
button.btn-metal:hover{background:linear-gradient(150deg,rgba(4,12,23,.98),rgba(7,19,35,.96)) padding-box,linear-gradient(135deg,rgba(255,229,166,.62),rgba(87,176,212,.26) 34%,rgba(255,255,255,.24) 50%,rgba(117,87,34,.50) 68%,rgba(255,224,150,.34)) border-box}
/* 合约订阅按钮：默认金属描边偏透明、按钮感弱，这里把边框调实成清晰的一圈金边 */
.btn-metal.btn-ring{border-width:1px;background:linear-gradient(150deg,rgba(8,20,36,.97),rgba(12,28,48,.96)) padding-box,linear-gradient(135deg,rgba(255,231,170,.5),rgba(255,255,255,.34) 50%,rgba(214,178,104,.5)) border-box}
.btn-metal.btn-ring:hover{background:linear-gradient(150deg,rgba(5,14,26,.98),rgba(8,22,40,.97)) padding-box,linear-gradient(135deg,rgba(255,231,170,.68),rgba(255,255,255,.46) 50%,rgba(214,178,104,.68)) border-box}
@media (hover:none) and (pointer:coarse){.btn-metal::after{opacity:.28;transition:opacity .28s ease}.btn-metal::before{opacity:.52;transition:opacity .28s ease}}
.pricing-card .btn-line{width:100%;min-height:40px;text-align:center;background:rgba(10,23,41,.18)}
.plan-name{font-size:10.5px;color:rgba(141,161,182,.76);font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;margin-bottom:17px;padding-bottom:13px;border-bottom:1px solid rgba(141,161,182,.14)}
.plan-kicker{font-size:10px;color:rgba(199,163,91,.88);font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px}
.plan-title{font-size:15.5px;font-weight:600;color:var(--text);letter-spacing:.02em;margin-bottom:13px;line-height:1.35}
.plan-price{font-size:38px;font-weight:500;font-family:var(--mono);color:var(--text);margin-bottom:6px;line-height:1}
.plan-price .period{font-size:14px;color:var(--muted);font-weight:400}
.plan-desc{font-size:13.2px;color:var(--muted);margin-bottom:18px;line-height:1.72;border-bottom:1px solid rgba(141,161,182,.14);padding-bottom:18px}
.plan-features{list-style:none;margin-bottom:24px;flex:1;display:flex;flex-direction:column;gap:0}
.plan-features li{font-size:13.1px;padding:8px 0;border-bottom:1px solid rgba(141,161,182,.1);display:flex;align-items:flex-start;gap:8px;line-height:1.48;color:rgba(234,241,248,.88)}
.plan-features li:last-child{border-bottom:0}
.plan-features .ck{color:rgba(127,216,168,.82);flex:0 0 auto;margin-top:0;font-size:12px;line-height:1.48}
.plan-features .dk{color:var(--muted-2);flex-shrink:0;margin-top:1px}
@media(max-width:1100px){.pricing-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.sub-band .sec-head p{white-space:normal}}
@media(max-width:700px){.pricing-grid-4{grid-template-columns:1fr}.pricing-card{padding:24px 22px}}
.sub-register{border-top:1px solid var(--line-2);padding-top:48px;text-align:center}
.sub-tabs{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:20px}
.sub-tab{padding:10px 28px;font-size:14px;color:var(--muted);cursor:pointer;background:transparent;border:none;font-family:var(--sans);transition:all .2s}
.sub-tab.active{background:var(--gold);color:#1a1306;font-weight:500}
.sub-input-wrap{display:flex;gap:12px;max-width:460px;margin:0 auto;flex-wrap:wrap;justify-content:center}
.sub-input-wrap input{flex:1;min-width:220px;padding:14px 16px;border-radius:9px;border:1px solid var(--line);background:var(--ink);color:var(--text);font-family:var(--sans);font-size:15px}
.sub-input-wrap input:focus{outline:none;border-color:var(--gold)}
.about-timeline{display:flex;flex-direction:column;margin-top:40px}
.atl-item{display:grid;grid-template-columns:72px 1fr;gap:28px;padding:30px 0;border-bottom:1px solid var(--line-2);align-items:start}
.atl-item:last-child{border-bottom:none;padding-bottom:0}
.atl-num{font-family:var(--mono);font-size:36px;font-weight:700;color:var(--gold);opacity:.22;line-height:1;padding-top:2px;user-select:none}
.atl-body h3{font-size:16px;font-weight:500;margin-bottom:8px;color:var(--text)}
.atl-body p{color:var(--muted);font-size:14.5px;line-height:1.8}
#hero-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:start}
.contact-methods{display:flex;flex-direction:column;gap:16px;margin-top:8px}
.contact-method{border:1px solid var(--line);border-radius:14px;background:var(--surface-2);padding:22px 24px;display:flex;align-items:flex-start;gap:18px}
.cm-icon{width:44px;height:44px;border-radius:10px;background:var(--gold-soft);border:1px solid rgba(199,163,91,.2);display:grid;place-items:center;flex-shrink:0}
.cm-icon svg{width:20px;height:20px;stroke:var(--gold);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cm-body h4{font-size:15px;font-weight:500;margin-bottom:4px}
.cm-body p{color:var(--muted);font-size:13.5px;line-height:1.6}
.faq{margin-top:8px}
.faq-item{border-bottom:1px solid var(--line-2);padding:20px 0}
.faq-item:last-child{border-bottom:0}
.faq-item h4{font-size:15px;font-weight:500;margin-bottom:8px}
.faq-item p{color:var(--muted);font-size:14px;line-height:1.8}
@media(max-width:860px){.pricing-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}}
@media(max-width:640px){.atl-item{grid-template-columns:48px 1fr;gap:16px}.atl-num{font-size:26px}}
.billing-head{padding-bottom:28px}
.billing-section{padding-top:28px}
.billing-groups{display:flex;flex-direction:column;gap:42px;text-align:left}
.billing-group{border-top:1px solid var(--line-2);padding-top:30px}
.billing-group:first-child{border-top:0;padding-top:0}
.billing-group-head{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;margin-bottom:18px}
.billing-group-head h3{font-size:24px;font-weight:500;margin:0}
.billing-group-head p{max-width:500px;color:var(--muted);font-size:13.5px;line-height:1.75;margin:0}
.pricing-grid-pay{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}
.billing-group:nth-child(2) .pricing-grid-pay,.billing-group:nth-child(3) .pricing-grid-pay{grid-template-columns:repeat(2,minmax(300px,1fr));max-width:860px}
.pricing-grid-pay .pricing-card{border-radius:8px;padding:24px 22px;min-height:100%;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.pricing-grid-pay .pricing-card h4{font-size:16.5px;font-weight:600;margin:0 0 12px;color:var(--text);line-height:1.35;word-break:keep-all}
.plan-badge{align-self:flex-start;margin-bottom:12px;border:1px solid rgba(199,163,91,.28);background:rgba(199,163,91,.08);color:var(--gold);border-radius:6px;padding:3px 9px;font-size:11px;font-family:var(--mono);letter-spacing:.06em}
body.modal-open{overflow:hidden}
.billing-modal{position:fixed;inset:0;z-index:9000;display:none;align-items:center;justify-content:center;background:rgba(4,12,22,.72);backdrop-filter:blur(8px);padding:24px}
.billing-modal.open{display:flex}
.billing-modal-panel{width:min(1080px,100%);max-height:min(760px,calc(100vh - 48px));display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);box-shadow:0 26px 80px rgba(0,0,0,.45);overflow:hidden;text-align:left}
.billing-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 26px 18px;border-bottom:1px solid var(--line-2)}
.billing-modal-head h3{font-size:22px;font-weight:600;margin:0 0 6px}
.billing-modal-head p{font-size:13.5px;color:var(--muted);line-height:1.75;margin:0;max-width:640px}
.billing-modal-close{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);font-size:22px;line-height:1;cursor:pointer;flex:0 0 auto}
.billing-modal-close:hover{border-color:rgba(232,120,120,.4);color:#e87878}
.billing-modal-tabs{display:flex;gap:8px;padding:14px 26px;border-bottom:1px solid var(--line-2);overflow-x:auto}
.billing-modal-tab{height:34px;padding:0 16px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);font-size:13px;font-family:var(--sans);cursor:pointer;white-space:nowrap}
.billing-modal-tab.active{background:var(--gold);border-color:var(--gold);color:#1a1306;font-weight:600}
.billing-modal-body{overflow:auto;padding:22px 26px 24px}
.billing-modal-panel-inner{display:none}
.billing-modal-panel-inner.active{display:block}
.billing-modal-intro{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:16px}
.billing-modal-intro h4{font-size:17px;font-weight:600;margin:0}
.billing-modal-intro p{width:100%;max-width:none;margin:0;color:var(--muted);font-size:12.5px;line-height:1.7;white-space:nowrap}
.billing-modal-intro strong{font-weight:600;color:var(--text)}
.billing-modal-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.billing-modal-card{border:1px solid rgba(141,161,182,.2);border-radius:8px;background:rgba(10,23,41,.34);padding:18px;display:flex;flex-direction:column;gap:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.billing-modal-card-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px}
.billing-modal-card h5{font-size:15.5px;font-weight:600;margin:4px 0 0;line-height:1.35;word-break:keep-all}
.billing-modal-card p{color:var(--muted);font-size:13px;line-height:1.7;margin:0;flex:1}
.billing-modal-price{font-family:var(--mono);font-size:23px;font-weight:500;color:var(--text);text-align:right;white-space:nowrap;line-height:1}
.billing-modal-price span{display:block;margin-top:2px;font-size:11px;color:var(--muted-2);font-family:var(--sans)}
.billing-modal-sub{font-size:12px;color:var(--muted);font-family:var(--sans);margin-top:-4px}
.billing-modal-card.is-featured{border-color:rgba(199,163,91,.42);background:rgba(199,163,91,.05)}
.billing-modal-card .btn{width:100%;min-height:40px;text-align:center;margin-top:auto}
/* 定价页卡片：折合月均 / 推荐高亮 / 推荐角标 */
.plan-sub{font-size:12.5px;color:var(--muted);margin:-2px 0 4px}
.plan-sub b,.billing-modal-sub b{color:var(--gold);font-weight:600}
.pricing-card.is-featured{border-color:rgba(199,163,91,.42);background:rgba(199,163,91,.05)}
.plan-rec{display:inline-block;font-family:var(--sans);font-size:9.5px;letter-spacing:.04em;color:var(--gold);border:1px solid rgba(199,163,91,.55);border-radius:100px;padding:1px 7px;margin-left:7px;vertical-align:middle}
.billing-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 26px;border-top:1px solid var(--line-2);background:rgba(10,23,41,.34);font-size:12.5px;color:var(--muted)}
.billing-modal-foot a{color:var(--gold)}
.checkout-page{padding:70px 0 88px;background:var(--ink-2)}
.checkout-shell{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:24px;align-items:start}
.checkout-main,.checkout-side,.order-status-card{border:1px solid var(--line);border-radius:8px;background:var(--surface-2);box-shadow:0 18px 50px rgba(0,0,0,.18)}
.checkout-main{padding:34px}
.checkout-side{position:sticky;top:88px;padding:0}
.checkout-kicker{font-size:12px;color:var(--gold);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px}
.checkout-main h1,.order-status-card h1{font-size:34px;margin-bottom:12px}
.checkout-lead{color:var(--muted);font-size:15px;line-height:1.85;max-width:720px;margin-bottom:26px}
.checkout-product{border:1px solid var(--line-2);border-radius:8px;background:rgba(10,23,41,.42);padding:24px;margin-bottom:18px}
.checkout-product h2{font-size:24px;margin-bottom:8px;line-height:1.35;word-break:keep-all}
.checkout-product p{color:var(--muted);font-size:14px;line-height:1.75;margin-bottom:14px}
.checkout-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.checkout-meta span{border:1px solid var(--line-2);border-radius:6px;padding:5px 10px;color:var(--muted);font-size:12px;font-family:var(--mono)}
.checkout-features{margin-bottom:0}
.checkout-notice{border:1px solid rgba(127,216,168,.22);border-radius:8px;background:rgba(127,216,168,.06);padding:20px 22px;color:var(--muted);font-size:13.5px;line-height:1.85}
.checkout-notice h3{font-size:15px;color:var(--text);margin-bottom:8px}
.checkout-notice p+p{margin-top:8px}
.checkout-notice strong{color:var(--text)}
.notice-strong{border-color:rgba(199,163,91,.35);background:rgba(199,163,91,.08)}
.pay-box{padding:24px;display:flex;flex-direction:column;gap:16px}
.pay-title{font-size:12px;color:var(--muted);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase}
.pay-amount{font-size:42px;line-height:1;font-family:var(--mono);color:var(--text)}
.pay-sub{font-size:13px;color:var(--muted);border-bottom:1px solid var(--line-2);padding-bottom:16px;line-height:1.65;word-break:keep-all}
.pay-error{border:1px solid rgba(232,120,120,.35);background:rgba(232,120,120,.08);color:#ffd1d1;border-radius:8px;padding:10px 12px;font-size:13px}
.pay-methods{display:grid;grid-template-columns:1fr;gap:10px}
.pay-method{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;padding:13px 14px;cursor:pointer;background:rgba(10,23,41,.38)}
.pay-method input{accent-color:var(--gold);width:16px;height:16px}
.pay-method span{display:flex;flex-direction:column;line-height:1.35}
.pay-method b{font-size:14px;color:var(--text)}
.pay-method small{font-size:11px;color:var(--muted-2);font-family:var(--mono)}
.terms-check{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;color:var(--muted);line-height:1.7;cursor:pointer}
.terms-check input{margin-top:4px;accent-color:var(--gold);flex-shrink:0}
.pay-submit,.pay-back{width:100%;text-align:center}
.order-status-card{max-width:620px;margin:0 auto;padding:38px}
.order-state{display:inline-flex;border-radius:6px;padding:5px 10px;font-size:12px;font-family:var(--mono);margin-bottom:20px;border:1px solid var(--line)}
.order-state-paid{color:var(--buy);border-color:rgba(127,216,168,.35);background:rgba(127,216,168,.08)}
.order-state-pending{color:var(--gold);border-color:rgba(199,163,91,.35);background:rgba(199,163,91,.08)}
.order-state-failed,.order-state-cancelled{color:#e87878;border-color:rgba(232,120,120,.35);background:rgba(232,120,120,.08)}
.order-state-refunded{color:var(--muted);border-color:var(--line-2);background:rgba(255,255,255,.04)}
.order-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:8px;overflow:hidden;margin:8px 0 22px}
.order-grid div{background:rgba(10,23,41,.45);padding:16px}
.order-grid span{display:block;color:var(--muted-2);font-size:11px;font-family:var(--mono);margin-bottom:5px}
.order-grid b{font-size:13.5px;color:var(--text);word-break:break-word}
.order-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}

.orders-list-card{max-width:760px}
.order-grid .cell-wide{grid-column:1/-1}
.orders-list{display:flex;flex-direction:column;gap:18px}
.order-row{border:1px solid var(--line);border-radius:8px;padding:20px;background:rgba(10,23,41,.3)}
.order-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.order-row-head .order-state{margin-bottom:0}
.order-row-id{font-family:var(--mono);font-size:13px;color:var(--text);word-break:break-all}
.order-row .order-grid{margin:14px 0 0}
.order-row .btn{margin-top:16px}

.qr-pay-block{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;max-width:300px;margin:26px auto 6px}
.qr-provider-badge{display:inline-flex;align-items:center;gap:7px;border-radius:6px;padding:5px 12px;font-size:11.5px;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid}
.qr-provider-badge i{width:7px;height:7px;border-radius:50%;display:block;flex-shrink:0}
.qr-provider-badge--wechat{color:#4FD07A;border-color:rgba(7,193,96,.32);background:rgba(7,193,96,.08)}
.qr-provider-badge--wechat i{background:#07C160}
.qr-provider-badge--alipay{color:#5B9CFF;border-color:rgba(22,119,255,.32);background:rgba(22,119,255,.08)}
.qr-provider-badge--alipay i{background:#1677FF}
.qr-card{background:#fff;border-radius:16px;padding:18px;box-shadow:0 20px 46px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.04);line-height:0}
.qr-card canvas{display:block;width:200px;height:200px}
.qr-pay-status{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);font-family:var(--mono);letter-spacing:.04em}
.qr-pulse-dot{position:relative;width:8px;height:8px;border-radius:50%;background:var(--gold);flex-shrink:0}
.qr-pulse-dot::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--gold);animation:qrPulse 1.8s ease-out infinite}
@keyframes qrPulse{0%{transform:scale(.4);opacity:.9}100%{transform:scale(1.7);opacity:0}}
.qr-hint{font-size:12px;color:var(--muted-2);line-height:1.7}
.qr-fallback{margin-top:2px;font-size:12.5px;padding:8px 16px}
@media(max-width:980px){
  .pricing-grid-pay,.billing-group:nth-child(2) .pricing-grid-pay,.billing-group:nth-child(3) .pricing-grid-pay{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
  .checkout-shell{grid-template-columns:1fr}
  .checkout-side{position:static}
  .order-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .billing-group-head{align-items:flex-start;flex-direction:column}
  .pricing-grid-pay,.billing-group:nth-child(2) .pricing-grid-pay,.billing-group:nth-child(3) .pricing-grid-pay{grid-template-columns:1fr}
  .billing-modal{padding:12px;align-items:flex-end}
  .billing-modal-panel{max-height:calc(100vh - 24px)}
  .billing-modal-head{padding:20px 18px 14px}
  .billing-modal-tabs{padding:12px 18px}
  .billing-modal-body{padding:18px}
  .billing-modal-intro{align-items:flex-start;flex-direction:column;gap:6px}
  .billing-modal-intro p{white-space:normal}
  .billing-modal-plans{grid-template-columns:1fr}
  .billing-modal-card-top{flex-direction:column;gap:8px}
  .billing-modal-price{text-align:left}
  .billing-modal-foot{align-items:flex-start;flex-direction:column;padding:14px 18px}
  .checkout-main,.order-status-card{padding:24px}
  .order-grid{grid-template-columns:1fr}
}
.nav-actions{display:flex;gap:10px;align-items:center}
.nav-actions form{margin:0;display:flex}
.nav-welcome{font-size:12.5px;color:var(--muted);font-family:var(--mono);white-space:nowrap;border-left:1px solid var(--line-2);padding-left:2px;margin-left:2px}
button.btn{background:none;-webkit-appearance:none;appearance:none;line-height:1.5;vertical-align:middle}
button.btn-gold{background:var(--gold);color:#1a1306}
button.btn-gold:hover{background:#d7b873}
button.btn-primary{background:linear-gradient(135deg,#c7a35b 0%,#d9bd82 55%,#b88d3e 100%);border-color:rgba(231,203,141,.72);color:#071625;font-weight:650;box-shadow:0 4px 14px rgba(199,163,91,.18)}
button.btn-primary:hover{background:linear-gradient(135deg,#d0ad66 0%,#e2c98f 55%,#c09645 100%);border-color:rgba(242,218,164,.88);color:#071625;transform:translateY(-1px);box-shadow:0 7px 20px rgba(199,163,91,.27)}
button.btn-danger{background:linear-gradient(135deg,#b83939 0%,#dc5151 55%,#a72f35 100%);border-color:rgba(238,104,104,.62);color:#fff4f4;font-weight:650;box-shadow:0 4px 14px rgba(220,50,50,.18)}
button.btn-danger:hover{background:linear-gradient(135deg,#c94444 0%,#e76060 55%,#b9383d 100%);border-color:rgba(255,135,135,.78);color:#fff;transform:translateY(-1px);box-shadow:0 7px 20px rgba(220,50,50,.27)}
button.btn-success{background:linear-gradient(135deg,#287c55 0%,#3b9b6d 55%,#226b4a 100%);border-color:rgba(94,194,139,.58);color:#effff6;font-weight:650;box-shadow:0 4px 14px rgba(60,160,110,.16)}
button.btn-success:hover{background:linear-gradient(135deg,#2f8b60 0%,#46aa79 55%,#287956 100%);border-color:rgba(122,218,166,.72);color:#fff;transform:translateY(-1px);box-shadow:0 7px 20px rgba(60,160,110,.24)}
button.btn-primary:disabled,button.btn-danger:disabled,button.btn-success:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.dash-header{background:var(--ink-2);border-bottom:1px solid var(--line-2);padding:40px 0 36px}
.dash-welcome{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:32px}
.dash-name{font-size:clamp(20px,2.8vw,28px);font-weight:500;margin-bottom:8px}
.dash-sub{font-size:14px;color:var(--muted);display:flex;align-items:center;gap:10px}
.tier-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:100px;font-size:11.5px;font-family:var(--mono);letter-spacing:.06em;font-weight:600}
.tier-free{background:rgba(127,216,168,.08);border:1px solid rgba(127,216,168,.3);color:var(--buy)}
.tier-equity{background:var(--gold-soft);border:1px solid rgba(199,163,91,.3);color:var(--gold)}
.tier-futures{background:rgba(125,184,232,.1);border:1px solid rgba(125,184,232,.36);color:#7db8e8}
.tier-comprehensive{background:rgba(199,163,91,.12);border:1px solid var(--gold);color:var(--gold)}
.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:12px;overflow:hidden}
.dash-stat{background:var(--surface-2);padding:18px 22px}
.ds-label{font-size:11px;color:var(--muted-2);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px}
.ds-val{font-size:16px;font-weight:500}
.dash-body{padding:48px 0}
.dash-grid{display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:start}
.dash-section{margin-bottom:28px}
.dash-section-title{font-size:11px;font-family:var(--mono);color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.content-card{border:1px solid var(--line);border-radius:14px;background:var(--surface-2);overflow:hidden;margin-bottom:14px}
.cc-head{padding:16px 22px;border-bottom:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:center}
.cc-head h3{font-size:15px;font-weight:500}
.cc-locked{padding:32px 22px;text-align:center;color:var(--muted)}
.cc-locked .lock-icon{font-size:26px;margin-bottom:10px}
.cc-locked p{font-size:14px;margin-bottom:16px;line-height:1.7;max-width:360px;margin-left:auto;margin-right:auto}
.side-card{border:1px solid var(--line);border-radius:14px;background:var(--surface-2);padding:22px;margin-bottom:16px}
.side-card>h4{font-size:14px;font-weight:500;margin-bottom:16px}
.notif-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line-2)}
.notif-row:last-child{border-bottom:0}
.notif-label{font-size:14px;color:var(--text);margin-bottom:2px}
.notif-sub{font-size:12px;color:var(--muted-2)}
.toggle{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}
.toggle input{opacity:0;width:0;height:0;position:absolute}
.toggle-slider{position:absolute;inset:0;background:var(--line);border-radius:100px;cursor:pointer;transition:background .2s}
.toggle-slider::before{content:'';position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s}
.toggle input:checked+.toggle-slider{background:var(--gold)}
.toggle input:checked+.toggle-slider::before{transform:translateX(18px)}
@media(max-width:860px){.dash-stats{grid-template-columns:repeat(2,1fr)}.dash-grid{grid-template-columns:1fr}}
.dash-tabs-wrap{position:relative}
.dash-tabs{display:flex;border-bottom:1px solid var(--line-2);margin-bottom:32px;overflow-x:auto;scrollbar-width:none;gap:0}
.dash-tabs::-webkit-scrollbar{display:none}
.dash-tab{padding:13px 22px;font-size:14px;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;white-space:nowrap;cursor:pointer;font-family:var(--sans);transition:color .2s;line-height:1.5}
@media(max-width:700px){.dash-tabs{flex-wrap:wrap;overflow-x:visible;border-bottom:none;margin-bottom:0;white-space:normal}.dash-tabs-wrap{border-bottom:1px solid var(--line-2);margin-bottom:24px}.dash-tab{flex:0 0 33.33%;font-size:12px;padding:10px 4px;text-align:center;line-height:1.35;white-space:normal;word-break:keep-all}.dash-tabs-wrap.tabs-has-more::after{display:none}}
@media(min-width:701px) and (max-width:860px){.dash-tabs-wrap.tabs-has-more::after{content:'';position:absolute;top:0;right:0;bottom:1px;width:60px;background:linear-gradient(to right,transparent,var(--ink));pointer-events:none;z-index:2}.dash-tab{padding:11px 14px;font-size:13px}}
.dash-tab:hover:not(.locked){color:var(--text)}
.dash-tab.active{color:var(--gold);border-bottom-color:var(--gold)}
.dash-tab.locked{color:var(--muted-2);cursor:default;opacity:.45}
.dash-pane{display:none}.dash-pane.active{display:block}
.pane-subnav{display:flex;align-items:stretch;gap:8px;margin:-10px 0 24px;padding:6px;border:1px solid var(--line-2);border-radius:10px;background:rgba(9,25,43,.42);overflow-x:auto;scrollbar-width:none}
.pane-subnav::-webkit-scrollbar{display:none}
.pane-subtab{appearance:none;-webkit-appearance:none;min-width:132px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);padding:9px 12px;text-align:left;cursor:pointer;font-family:var(--sans);transition:background .16s,border-color .16s,color .16s}
.pane-subtab span{display:block;font-size:13.5px;font-weight:600;line-height:1.2;color:inherit;white-space:nowrap}
.pane-subtab b{display:block;margin-top:4px;font-size:10px;font-weight:500;line-height:1;color:var(--muted-2);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.pane-subtab:hover{color:var(--text);background:rgba(255,255,255,.035)}
.pane-subtab.active{color:var(--gold);border-color:rgba(199,163,91,.35);background:rgba(199,163,91,.1)}
.pane-subtab.active b{color:rgba(199,163,91,.78)}
.fut-v2-admin-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 -8px;padding:9px 12px;border-top:1px solid rgba(199,163,91,.28);border-bottom:1px solid rgba(199,163,91,.16);background:linear-gradient(90deg,rgba(199,163,91,.055),transparent)}
.fut-v2-admin-title{display:flex;align-items:baseline;gap:8px}.fut-v2-admin-title b{font-size:12px;color:var(--gold);letter-spacing:.08em}.fut-v2-admin-title span{font-size:9px;color:var(--muted-2);font-family:var(--mono);letter-spacing:.06em}
.fut-v2-selfcheck-control{display:flex;align-items:center;gap:9px;min-width:176px;padding:6px 9px;border:1px solid rgba(199,163,91,.24);border-radius:8px;background:rgba(199,163,91,.045);cursor:pointer;flex:0 0 auto;user-select:none}
.fut-v2-selfcheck-copy{display:flex;flex-direction:column;gap:2px;line-height:1.05}.fut-v2-selfcheck-copy b{font-size:11.5px;color:var(--muted);font-weight:650;white-space:nowrap}.fut-v2-selfcheck-copy small{font-size:8.5px;color:var(--muted-2);font-family:var(--mono);letter-spacing:.06em}
.fut-v2-selfcheck-control input{position:absolute;opacity:0;pointer-events:none}.fut-v2-selfcheck-track{position:relative;width:30px;height:16px;border-radius:999px;background:rgba(141,161,182,.25);box-shadow:inset 0 0 0 1px rgba(141,161,182,.28);transition:background .18s,box-shadow .18s;flex:0 0 auto}.fut-v2-selfcheck-track::after{content:'';position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#8DA1B6;transition:transform .18s,background .18s}.fut-v2-selfcheck-control input:checked+.fut-v2-selfcheck-track{background:rgba(199,163,91,.26);box-shadow:inset 0 0 0 1px rgba(199,163,91,.55)}.fut-v2-selfcheck-control input:checked+.fut-v2-selfcheck-track::after{transform:translateX(14px);background:var(--gold)}.fut-v2-selfcheck-control:focus-within{outline:1px solid rgba(199,163,91,.55);outline-offset:2px}
[data-v2-selfcheck][hidden]{display:none!important}
.pane-catnav{display:flex;align-items:center;gap:8px;margin:-10px 0 12px;padding:6px;border:1px solid var(--line-2);border-radius:10px;background:rgba(9,25,43,.42);overflow-x:auto;scrollbar-width:none}
.pane-catnav::-webkit-scrollbar{display:none}
.pane-catnav .cat-spacer{margin-left:auto}
.pane-catnav+.pane-subnav{margin-top:0}
.pane-cattab{appearance:none;-webkit-appearance:none;min-width:104px;border:1px solid var(--line-2);border-radius:8px;background:rgba(255,255,255,.02);color:var(--muted);padding:8px 14px;text-align:center;cursor:pointer;font-family:var(--sans);font-size:13.5px;font-weight:600;line-height:1.2;white-space:nowrap;transition:background .16s,border-color .16s,color .16s}
.pane-cattab:hover:not([disabled]){color:var(--text);border-color:var(--line);background:rgba(255,255,255,.05)}
.pane-cattab.active{color:var(--gold);border-color:rgba(199,163,91,.35);background:rgba(199,163,91,.1)}
.pane-cattab[disabled]{color:var(--muted-2);border-color:rgba(141,161,182,.14);background:transparent;opacity:.5;cursor:not-allowed}
.section-pane{display:none}
.section-pane.active{display:block}
.overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}
.ov-card{border:1px solid var(--line);border-radius:14px;background:var(--surface-2);padding:20px 22px;cursor:pointer;transition:background .2s;text-align:left;width:100%;font-family:var(--sans)}
.ov-card:hover:not([disabled]){background:var(--surface)}
.ov-card[disabled]{opacity:.45;cursor:default}
.ov-label{font-size:11px;color:var(--gold);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.ov-title{font-size:15px;font-weight:500;color:var(--text);margin-bottom:4px}
.ov-sub{font-size:13px;color:var(--muted)}
.dist-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}
.dist-card{border:1px solid var(--line);border-radius:14px;background:var(--surface-2);padding:16px 18px}
.dc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}
.dc-name{font-size:14px;font-weight:500}
.dc-contract{font-size:11px;color:var(--gold);font-family:var(--mono)}
.dc-canvas{position:relative;height:100px;margin:10px 0 8px}
.dc-stats{display:flex;gap:16px;font-size:12px;color:var(--muted-2)}
.dc-stats b{color:var(--text);font-family:var(--mono);font-weight:500}
.interp-card{border:1px solid var(--line);border-radius:14px;background:var(--surface-2);overflow:hidden;margin-bottom:20px}
.interp-head{padding:14px 20px;border-bottom:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:center}
.interp-head h3{font-size:14px;font-weight:500}
.idate{font-size:12px;color:var(--muted-2);font-family:var(--mono)}
.interp-row{display:flex;align-items:center;gap:10px;padding:11px 20px;border-bottom:1px solid var(--line-2);font-size:13.5px}
.interp-row:last-child{border-bottom:0}
.interp-sym{font-family:var(--mono);font-size:12px;color:var(--gold);min-width:48px}
.dir-up{font-size:11px;font-family:var(--mono);color:#e87878;border:1px solid rgba(220,80,80,.3);background:rgba(220,80,80,.08);padding:2px 9px;border-radius:100px}
.dir-dn{font-size:11px;font-family:var(--mono);color:var(--buy);border:1px solid rgba(127,216,168,.3);background:rgba(127,216,168,.08);padding:2px 9px;border-radius:100px}
.dir-neu{font-size:11px;font-family:var(--mono);color:var(--muted);border:1px solid var(--line);padding:2px 9px;border-radius:100px}
.interp-text{color:var(--muted);flex:1}
.obs-list{display:flex;flex-direction:column;gap:12px}
.obs-card{border:1px solid var(--line);border-radius:14px;background:var(--surface-2);padding:20px 22px;transition:background .2s}
.obs-card:hover{background:var(--surface)}
.obs-meta{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.obs-date{font-size:12px;color:var(--muted-2);font-family:var(--mono)}
.obs-tag{font-size:11px;color:var(--gold);border:1px solid var(--gold-soft);background:var(--gold-soft);padding:2px 8px;border-radius:100px}
.obs-title{font-size:15px;font-weight:500;margin-bottom:6px;color:var(--text)}
.obs-excerpt{font-size:13.5px;color:var(--muted);line-height:1.7}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start;width:100%;min-width:0}
#pane-settings,.settings-grid>div,.settings-grid .side-card{min-width:0;max-width:100%}
#pane-settings .acct-row>span:last-child{min-width:0;overflow-wrap:anywhere;text-align:right}
#pane-settings .notif-row>div{min-width:0;padding-right:12px}
@media(max-width:860px){.pane-subnav{margin-top:-6px}.pane-catnav{margin-top:-6px;gap:5px;overflow-x:visible}.pane-catnav .cat-spacer{display:none}.pane-catnav+.pane-subnav{margin-top:0}.pane-cattab{flex:1 1 0;min-width:0;padding:8px 4px;font-size:12px}.pane-subtab{min-width:118px;padding:8px 10px}.overview-grid{grid-template-columns:1fr}.dist-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){#pane-settings .settings-grid{gap:16px}#pane-settings .side-card{padding:18px 16px}#pane-settings .acct-row{align-items:flex-start}#pane-settings .pw-method{min-width:0;padding:7px 6px;white-space:normal;line-height:1.35}}
@media(max-width:360px){#pane-settings .verify-row,#pane-settings .captcha-row{grid-template-columns:minmax(0,1fr)}#pane-settings .verify-btn,#pane-settings .captcha-img{width:100%}#pane-settings .captcha-img{object-fit:contain}}
.eq-scan-card{margin:18px 22px;border:1px solid var(--line-2);border-radius:12px;background:linear-gradient(135deg,rgba(16,39,64,.72),rgba(9,25,43,.54));box-shadow:inset 0 1px 0 rgba(255,255,255,.03);padding:16px}
.eq-scan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.eq-scan-kicker{font-size:10.5px;color:var(--gold);font-family:var(--mono);letter-spacing:.14em;margin-bottom:5px}
.eq-scan-title{font-size:15px;font-weight:600;color:var(--text)}
.eq-scan-title span{font-family:var(--mono);color:var(--text)}
.eq-scan-source{font-size:11.5px;color:var(--muted-2);margin-top:5px;line-height:1.5}
.eq-scan-edit-btn{height:30px;border:1px solid rgba(199,163,91,.36);border-radius:8px;background:rgba(199,163,91,.1);color:var(--gold);font-size:12px;font-family:var(--mono);font-weight:600;padding:0 12px;cursor:pointer;white-space:nowrap}
.eq-scan-edit-btn:hover,.eq-scan-edit-btn.active{background:rgba(199,163,91,.16);border-color:rgba(199,163,91,.55)}
.eq-scan-result{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line-2);padding-top:13px}
.eq-scan-message{font-size:13.5px;color:var(--muted);line-height:1.6}
.eq-scan-codes{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;max-width:58%}
.eq-scan-codes.is-empty{display:none}
.eq-scan-code{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(127,216,168,.3);border-radius:999px;background:rgba(127,216,168,.08);color:var(--buy);font-family:var(--mono);font-size:12.5px;font-weight:600;padding:4px 9px}
.eq-scan-code small{font-size:10.5px;color:var(--muted);font-weight:500}
.eq-scan-empty{border:1px solid rgba(141,161,182,.22);border-radius:999px;background:rgba(255,255,255,.025);color:var(--muted-2);font-size:12px;font-family:var(--mono);padding:4px 10px}
.eq-scan-empty.is-hidden{display:none}
.eq-scan-editor{display:none;margin-top:14px;border-top:1px solid var(--line-2);padding-top:14px}
.eq-scan-editor.open{display:block}
.eq-scan-check{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12.5px;margin-bottom:12px}
.eq-scan-check input{accent-color:var(--gold)}
.eq-scan-form-grid{display:grid;grid-template-columns:180px 1fr;gap:10px;margin-bottom:10px}
.eq-scan-form-grid label,.eq-scan-textarea-label{display:flex;flex-direction:column;gap:6px;color:var(--muted-2);font-size:11.5px}
.eq-scan-form-grid input,.eq-scan-textarea-label textarea{border:1px solid var(--line-2);border-radius:8px;background:rgba(6,18,32,.72);color:var(--text);font-size:12.5px;line-height:1.5;padding:8px 10px;outline:none}
.eq-scan-form-grid input:focus,.eq-scan-textarea-label textarea:focus{border-color:rgba(199,163,91,.5);box-shadow:0 0 0 2px rgba(199,163,91,.08)}
.eq-scan-textarea-label textarea{resize:vertical;min-height:72px;font-family:var(--mono)}
.eq-scan-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:11px}
.eq-scan-actions span{margin-right:auto;color:var(--muted-2);font-size:11px;font-family:var(--mono)}
.eq-scan-cancel,.eq-scan-save{height:29px;border-radius:7px;font-size:12px;font-family:var(--mono);cursor:pointer;padding:0 12px}
.eq-scan-cancel{border:1px solid var(--line-2);background:rgba(255,255,255,.03);color:var(--muted)}
.eq-scan-save{border:1px solid rgba(199,163,91,.45);background:rgba(199,163,91,.16);color:var(--gold);font-weight:600}
.eq-analysis-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;flex-shrink:0}
.eq-analysis-actions button{padding:7px 16px;border-radius:7px;border:1px solid var(--line);background:transparent;color:var(--text);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.eq-analysis-actions button:hover{border-color:var(--gold);color:var(--gold)}
.eq-analysis-actions button:disabled{opacity:.45;cursor:not-allowed;border-color:var(--line);color:var(--muted)}
.eq-analysis-actions .eq-primary-action{padding:7px 20px;background:var(--accent,#C7A35B);color:#fff;border-color:transparent;flex-shrink:0}
.eq-analysis-actions .eq-primary-action:hover{background:#d7b873;border-color:transparent;color:#fff}
.eq-analysis-actions .eq-primary-action:disabled{background:rgba(199,163,91,.35);border-color:transparent;color:rgba(255,255,255,.72)}
.eq-analysis-actions .eq-upload-action{background:rgba(127,216,168,.12);border:1px solid rgba(127,216,168,.35);color:var(--buy)}
.eq-analysis-actions .eq-upload-action:hover{background:rgba(127,216,168,.22);border-color:rgba(127,216,168,.6);color:var(--buy)}
.eq-analysis-actions .eq-upload-action.active{background:rgba(127,216,168,.22);border-color:rgba(127,216,168,.6)}
.eq-upload-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line-2);flex-wrap:wrap}
.eq-upload-row:last-child{border-bottom:none}
.eq-upload-code{font-family:var(--mono);font-size:13.5px;font-weight:600;color:var(--fg);min-width:58px}
.eq-upload-file{flex:1;min-width:0;font-size:12px;color:var(--muted-2)}
.eq-upload-btn{padding:5px 16px;border-radius:6px;border:1px solid var(--line);background:var(--bg-2);color:var(--fg);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}
.eq-upload-btn:hover{border-color:var(--gold);color:var(--gold)}
.eq-upload-status{font-size:11.5px;color:var(--muted);min-width:160px}
.eq-upload-status.ok{color:var(--buy)}
.eq-upload-status.err{color:#e87878}
.eq-report-result{margin:16px 22px;padding:20px 22px;border:1px solid var(--line);border-radius:14px;background:rgba(16,39,64,.56)}
.eq-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line-2)}
.eq-report-kicker{font-family:var(--mono);font-size:11px;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
.eq-report-title{font-size:16px;font-weight:600;color:var(--text);line-height:1.2}
.eq-report-close{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:7px;padding:5px 10px;font-size:12px;cursor:pointer;flex-shrink:0}
.eq-report-close:hover{border-color:var(--gold);color:var(--gold)}
.eq-report-body{font-size:13.5px;color:var(--muted);line-height:1.8}
.eq-report-caption{font-size:10.5px;color:var(--muted-2);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.eq-report-caption b{color:var(--gold);font-weight:600;text-transform:none;letter-spacing:0}
.eq-report-frame{border:1px solid var(--line-2);border-radius:12px;background:var(--ink);padding:14px}
.eq-report-body img{display:block;width:100%;max-width:980px;margin:0 auto;border-radius:8px}
.eq-report-wait{border:1px dashed rgba(199,163,91,.35);background:rgba(199,163,91,.07);border-radius:10px;padding:14px 16px;color:var(--text)}
.eq-report-wait b{color:var(--gold)}
@media(max-width:700px){.eq-report-result{margin:14px 16px;padding:16px}}
.custom-analysis-grid{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:20px;align-items:start}
.ca-request-card,.ca-list-card{overflow:hidden}
.ca-form{padding:22px;display:grid;gap:14px}
.ca-form label{display:grid;gap:7px;font-size:12px;color:var(--muted);font-weight:600}
.ca-form input{width:100%;box-sizing:border-box;height:38px;border:1px solid var(--line-2);border-radius:7px;background:var(--bg-2);color:var(--fg);padding:0 12px;font-size:13.5px;outline:none}
.ca-form input:focus{border-color:rgba(199,163,91,.5)}
.ca-form .btn{height:38px;border:none;cursor:pointer}
.ca-disclaimer{margin:0 22px 18px;padding:14px 16px;background:rgba(199,163,91,.06);border:1px solid rgba(199,163,91,.2);border-radius:8px}
.ca-disclaimer-title{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--gold);text-transform:uppercase;margin-bottom:10px}
.ca-disclaimer-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
.ca-disclaimer-list li{font-size:12.5px;color:var(--muted-2);line-height:1.65}
.ca-disclaimer-list strong{color:var(--fg)}
.ca-submit-status{min-height:20px;padding:0 22px 20px;font-size:12.5px;color:var(--muted)}
.ca-submit-status.ok{color:var(--buy)}
.ca-submit-status.err{color:#e87878}
.ca-list{padding:6px 22px 22px}
.ca-item{padding:16px 0;border-bottom:1px solid var(--line-2)}
.ca-item:last-child{border-bottom:none}
.ca-item-main{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.ca-code{font-family:var(--mono);font-size:18px;font-weight:700;color:var(--text);letter-spacing:.03em}
.ca-meta{margin-top:5px;font-size:12px;color:var(--muted-2)}
.ca-status{flex-shrink:0;border:1px solid var(--line-2);border-radius:999px;padding:4px 10px;font-size:11px;color:var(--muted);background:rgba(255,255,255,.03)}
.ca-status-completed{color:var(--buy);border-color:rgba(127,216,168,.32);background:rgba(127,216,168,.08)}
.ca-status-pending,.ca-status-accepted{color:var(--gold);border-color:rgba(199,163,91,.32);background:rgba(199,163,91,.08)}
.ca-status-rejected{color:#c05050;border-color:rgba(220,80,80,.3);background:rgba(220,80,80,.07)}
.ca-note{margin-top:10px;font-size:13px;line-height:1.7;color:var(--muted)}
.ca-report{margin-top:14px;border:1px solid var(--line-2);border-radius:9px;background:rgba(10,23,41,.32);padding:12px}
.ca-report-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:11.5px;color:var(--muted-2);font-family:var(--mono)}
.ca-report img{display:block;width:100%;max-height:520px;object-fit:contain;border-radius:7px;background:var(--ink)}
.ca-pending{margin-top:12px;border:1px dashed rgba(199,163,91,.28);border-radius:8px;background:rgba(199,163,91,.06);padding:12px 14px;font-size:12.5px;line-height:1.7;color:var(--muted)}
.ca-empty{padding:28px 0;text-align:center;color:var(--muted-2);font-size:13px}
@media(max-width:900px){.custom-analysis-grid{grid-template-columns:1fr}.ca-item-main{flex-direction:column}.ca-status{align-self:flex-start}}
/* ── Admin CA upload panel ── */
.ca-admin-pane{max-width:860px}
.ca-admin-has-report{margin-top:5px;font-size:11px;color:var(--buy);font-family:var(--mono)}
.ca-admin-list{display:flex;flex-direction:column}
.ca-admin-item{padding:11px 0;border-bottom:1px solid var(--line-2);transition:opacity .2s}
.ca-admin-item:last-child{border-bottom:none}
.ca-admin-item.ca-admin-done{opacity:.55}
.ca-admin-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ca-admin-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.ca-admin-code{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--text);letter-spacing:.03em}
.ca-admin-meta{font-size:11px;color:var(--muted-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ca-admin-actions{display:flex;align-items:center;gap:7px;flex-shrink:0}
.ca-admin-upload-btn{font-size:11.5px;padding:4px 11px;border-radius:6px;border:1px solid rgba(199,163,91,.45);background:rgba(199,163,91,.1);color:var(--gold);cursor:pointer;font-family:var(--sans);transition:background .15s}
.ca-admin-upload-btn:hover{background:rgba(199,163,91,.2)}
.ca-admin-accept-btn{font-size:11.5px;padding:4px 11px;border-radius:6px;border:1px solid rgba(80,190,120,.45);background:rgba(80,190,120,.1);color:#3aab6a;cursor:pointer;font-family:var(--sans);transition:background .15s}
.ca-admin-accept-btn:hover{background:rgba(80,190,120,.22)}
.ca-admin-reject-btn{font-size:11.5px;padding:4px 11px;border-radius:6px;border:1px solid rgba(220,80,80,.35);background:rgba(220,80,80,.07);color:#c05050;cursor:pointer;font-family:var(--sans);transition:background .15s}
.ca-admin-reject-btn:hover{background:rgba(220,80,80,.16)}
.ca-channel-bar{display:flex;align-items:center;gap:10px;padding:10px 20px;margin-bottom:14px;background:rgba(255,255,255,.025);border:1px solid var(--line-2);border-radius:10px}
.ca-channel-bar-label{font-size:12px;color:var(--muted);font-weight:600}
.ca-channel-badge{font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:5px;letter-spacing:.04em}
.ca-channel-open{background:rgba(80,190,120,.12);color:#3aab6a;border:1px solid rgba(80,190,120,.35)}
.ca-channel-closed-badge{background:rgba(220,80,80,.08);color:#c05050;border:1px solid rgba(220,80,80,.3)}
.ca-channel-closed{margin:18px 22px 8px;padding:22px 20px;background:rgba(220,80,80,.04);border:1px solid rgba(220,80,80,.2);border-radius:10px;text-align:center}
.ca-channel-closed-icon{font-size:28px;margin-bottom:8px}
.ca-channel-closed-title{font-size:14px;font-weight:700;color:var(--fg);margin-bottom:6px}
.ca-channel-closed-desc{font-size:12.5px;color:var(--muted-2);line-height:1.7}
.ca-channel-closed-desc strong{color:var(--fg)}
.ca-admin-client-note{margin:6px 0 4px;padding:7px 10px;font-size:12px;color:var(--muted-2);line-height:1.6;background:rgba(199,163,91,.05);border-left:2px solid rgba(199,163,91,.3);border-radius:0 5px 5px 0}
.ca-admin-client-note-label{display:inline-block;font-size:10px;font-weight:700;color:var(--gold);letter-spacing:.06em;text-transform:uppercase;margin-right:7px;opacity:.8}
.ca-admin-form{display:none;margin-top:10px;padding:12px 14px;background:rgba(255,255,255,.025);border:1px solid var(--line-2);border-radius:8px}
.ca-admin-prev-note{font-size:11.5px;color:var(--muted);margin-bottom:10px;padding:7px 10px;background:rgba(199,163,91,.06);border-left:2px solid rgba(199,163,91,.4);border-radius:0 5px 5px 0}
.ca-admin-label{display:grid;gap:5px;font-size:11.5px;color:var(--muted);font-weight:600}
.ca-admin-file{font-size:12px;color:var(--muted-2);cursor:pointer}
.ca-admin-note{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--line-2);border-radius:6px;background:rgba(255,255,255,.03);color:var(--text);font-size:12.5px;line-height:1.6;resize:vertical;outline:none;font-family:var(--sans)}
.ca-admin-note:focus{border-color:rgba(199,163,91,.5)}
.ca-admin-result{font-size:12px;color:var(--muted-2)}
.ca-admin-result.ok{color:var(--buy)}
.ca-admin-result.err{color:#e87878}
@media(max-width:760px){.eq-scan-card{margin:14px}.eq-scan-head,.eq-scan-result{flex-direction:column;align-items:flex-start}.eq-scan-codes{justify-content:flex-start;max-width:100%}.eq-scan-codes-split{justify-content:flex-start;max-width:100%}.eq-scan-form-grid{grid-template-columns:1fr}.eq-scan-edit-btn{align-self:flex-start}}
@media(max-width:640px){.eq-ai-toolbar{align-items:stretch!important}.eq-ai-toolbar>div:first-child{flex:1 1 100%;min-width:0;line-height:1.7}.eq-analysis-actions{width:100%;display:grid;grid-template-columns:1fr;gap:8px}.eq-analysis-actions button,.eq-analysis-actions .eq-primary-action{width:100%;min-width:0;white-space:normal;line-height:1.35;text-align:center;padding:9px 12px;flex-shrink:1}.eq-upload-row{align-items:stretch}.eq-upload-code,.eq-upload-file,.eq-upload-btn,.eq-upload-status{flex:1 1 100%;min-width:0}.eq-upload-btn{width:100%}}
.strat-tabs{display:flex;border-bottom:1px solid var(--line-2);margin-bottom:20px}
.strat-tab{padding:10px 18px;font-size:13.5px;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;font-family:var(--sans);transition:color .15s;white-space:nowrap}
.strat-tab:hover{color:var(--text)}
.strat-tab.active{color:var(--gold);border-bottom-color:var(--gold)}
.drawdown-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.drawdown-card{border:1px solid var(--line-2);border-radius:10px;background:rgba(0,0,0,.15);padding:12px;transition:border-color .18s,background .18s}
.drawdown-card.active{border-color:var(--gold-soft);background:rgba(199,163,91,.08)}
.dd-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:12px;color:var(--muted);white-space:nowrap}
.dd-head strong{font-family:var(--mono);font-size:13px;color:#e87878;font-weight:500}
.dd-chart{height:82px}
@media(max-width:860px){.drawdown-grid{grid-template-columns:1fr}.dd-chart{height:96px}}

/* ── 期货预测卡片 ── */
.fut-module-panel{position:relative;overflow:visible;border:1px solid var(--line);border-radius:14px;background:rgba(16,39,64,.56);padding:16px}
.fut-module-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line-2)}
.fut-module-title{font-size:15px;font-weight:600;color:var(--text);line-height:1.2}
.fut-module-sub{font-size:11px;color:var(--muted-2);font-family:var(--mono);letter-spacing:.08em;margin-top:4px;text-transform:uppercase}
.fut-module-head span{font-size:11px;color:var(--gold);font-family:var(--mono)}
.fut-grid{display:flex;flex-direction:column;gap:22px}
.fut-card{position:relative;overflow:visible;background:var(--card-bg);border:1px solid var(--line-2);border-radius:14px;padding:20px 22px}
.fut-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.fut-head-left{display:flex;align-items:center;gap:10px}
.fut-head-right{display:flex;align-items:center;gap:8px;flex-shrink:0}
.fut-name{font-size:16px;font-weight:600;color:var(--text)}
.fut-contract{font-size:11.5px;color:var(--muted);font-family:var(--mono);background:rgba(255,255,255,.06);padding:2px 8px;border-radius:4px}
/* V1 自我诊断状态徽标：颜色随风险等级递进 */
.fut-diag-badge{font-size:11px;font-weight:600;padding:2px 9px;border-radius:999px;border:1px solid transparent;white-space:nowrap;cursor:default}
.fut-diag-badge::before{content:"●";font-size:8px;margin-right:5px;vertical-align:1px}
.fut-diag-lv0{color:#7fe0a8;background:rgba(109,191,140,.14);border-color:rgba(109,191,140,.4)}
.fut-diag-lv1{color:#e8d27a;background:rgba(199,163,91,.14);border-color:rgba(199,163,91,.45)}
.fut-diag-lv2{color:#f0b46a;background:rgba(232,160,80,.16);border-color:rgba(232,160,80,.5)}
.fut-diag-lv3{color:#ef9a6a;background:rgba(232,120,80,.16);border-color:rgba(232,120,80,.52)}
.fut-diag-lv4{color:#ff9c9c;background:rgba(232,80,80,.18);border-color:rgba(232,80,80,.6)}
.fut-diag-lvna{color:var(--muted-2);background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.fut-time{font-size:11px;color:var(--muted-2);font-family:var(--mono)}
.fut-risk-area{position:relative;flex:1;min-width:0;display:flex;align-items:center;gap:8px}
.fut-risk-alert{display:none;align-items:center;gap:7px;max-width:min(460px,100%);min-height:28px;border:1px solid rgba(232,120,120,.32);border-radius:8px;background:linear-gradient(135deg,rgba(232,120,120,.14),rgba(199,163,91,.08));box-shadow:0 8px 22px rgba(0,0,0,.12);padding:5px 9px;color:#ffd1d1;font-size:12px;line-height:1.35}
.fut-risk-alert.active{display:flex}
.fut-risk-dot{width:7px;height:7px;border-radius:50%;background:#e87878;box-shadow:0 0 0 4px rgba(232,120,120,.12);flex:0 0 auto}
.fut-risk-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fut-risk-edit{height:28px;border:1px solid rgba(199,163,91,.34);border-radius:8px;background:rgba(199,163,91,.1);color:var(--gold);font-size:11.5px;font-family:var(--mono);font-weight:600;padding:0 10px;cursor:pointer;white-space:nowrap}
.fut-risk-edit:hover,.fut-risk-edit.active{background:rgba(199,163,91,.16);border-color:rgba(199,163,91,.55)}
.fut-risk-editor{display:none;position:absolute;top:calc(100% + 8px);left:0;width:min(380px,calc(100vw - 56px));z-index:20;border:1px solid rgba(199,163,91,.28);border-radius:10px;background:rgba(13,32,54,.98);box-shadow:0 18px 42px rgba(0,0,0,.32);padding:12px;backdrop-filter:blur(10px)}
.fut-risk-editor.open{display:block}
.fut-risk-switch{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12.5px;margin-bottom:9px}
.fut-risk-switch input{accent-color:var(--gold)}
.fut-risk-editor textarea{width:100%;resize:vertical;min-height:74px;border:1px solid var(--line-2);border-radius:8px;background:rgba(6,18,32,.78);color:var(--text);font-size:12.5px;line-height:1.55;padding:9px 10px;outline:none}
.fut-risk-editor textarea:focus{border-color:rgba(199,163,91,.5);box-shadow:0 0 0 2px rgba(199,163,91,.08)}
.fut-risk-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px}
.fut-risk-actions span{margin-right:auto;color:var(--muted-2);font-size:11px;font-family:var(--mono)}
.fut-risk-cancel,.fut-risk-save{height:28px;border-radius:7px;font-size:12px;font-family:var(--mono);cursor:pointer;padding:0 11px}
.fut-risk-cancel{border:1px solid var(--line-2);background:rgba(255,255,255,.03);color:var(--muted)}
.fut-risk-save{border:1px solid rgba(199,163,91,.45);background:rgba(199,163,91,.16);color:var(--gold);font-weight:600}
.fut-hist-strip{position:relative;display:flex;align-items:center;gap:6px;flex-shrink:0}
.fut-hist-date-chip{font-size:10.5px;font-family:var(--mono);color:#C7A35B;background:rgba(199,163,91,.12);padding:1px 6px;border-radius:4px;letter-spacing:.03em;white-space:nowrap}
.fut-hist-strip-btn{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 10px;font-size:11px;font-family:var(--mono);background:rgba(199,163,91,.07);border:1px solid rgba(199,163,91,.2);border-radius:20px;color:#957840;cursor:pointer;transition:background .15s,border-color .15s,color .15s;letter-spacing:.03em;white-space:nowrap;flex-shrink:0}
.fut-hist-strip-btn:hover{background:rgba(199,163,91,.15);border-color:rgba(199,163,91,.42);color:#C7A35B}
.fut-hist-strip-btn.hist-active{background:rgba(199,163,91,.13);border-color:rgba(199,163,91,.46);color:#C7A35B}
.fut-hist-strip-btn:disabled{opacity:.45;cursor:default}
.fut-hist-ic{width:11px;height:11px;flex-shrink:0}
.fut-hist-caret{font-size:8px;margin-left:1px;transition:transform .15s;display:inline-block}
.fut-hist-strip-btn.open .fut-hist-caret{transform:rotate(180deg)}
.fut-hist-exit-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:rgba(199,163,91,.1);border:1px solid rgba(199,163,91,.26);color:#C7A35B;cursor:pointer;font-size:12px;line-height:1;transition:background .15s;flex-shrink:0}
.fut-hist-exit-btn:hover{background:rgba(199,163,91,.22)}
.fut-hist-dropdown{display:none;position:absolute;top:calc(100% + 5px);right:0;min-width:132px;max-height:240px;overflow-y:auto;background:#091b30;border:1px solid rgba(199,163,91,.28);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.6);z-index:300;padding:5px}
.fut-hist-dropdown.open{display:block}
.fut-hist-date-item{display:block;width:100%;padding:7px 10px;font-size:12px;font-family:var(--mono);color:var(--text);background:none;border:none;border-radius:5px;text-align:left;cursor:pointer;transition:background .1s;letter-spacing:.03em;white-space:nowrap}
.fut-hist-date-item:hover{background:rgba(255,255,255,.06)}
.fut-hist-date-item.active{color:#C7A35B;background:rgba(199,163,91,.12);font-weight:600}
.fut-hist-empty{font-size:12px;color:var(--muted-2);text-align:center;padding:12px 8px}
.fut-hist-picker{padding:2px 4px 8px;margin-bottom:5px;border-bottom:1px solid rgba(199,163,91,.16)}
.fut-hist-dateinput{width:100%;box-sizing:border-box;padding:6px 8px;font-size:12px;font-family:var(--mono);color:var(--text);background:#0c2138;border:1px solid rgba(199,163,91,.28);border-radius:6px;cursor:pointer;letter-spacing:.03em;color-scheme:dark}
.fut-hist-dateinput:focus{outline:none;border-color:rgba(199,163,91,.6)}
.fut-hist-dateinput::-webkit-calendar-picker-indicator{filter:invert(.72) sepia(.5) saturate(3) hue-rotate(2deg);cursor:pointer}
.fut-hist-pickhint{display:none;font-size:10.5px;color:#e0a34b;margin-top:6px;line-height:1.4}
.fut-hist-pickhint.show{display:block}
.fut-hist-list{display:flex;flex-direction:column}
.fut-hist-backdrop{display:none;position:fixed;inset:0;z-index:299;background:rgba(0,0,0,.46)}
.fut-hist-backdrop.show{display:block}
.fut-card.hist-loading{opacity:.55;pointer-events:none}
.fut-metrics{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:16px;background:linear-gradient(180deg,rgba(16,39,64,.55),rgba(14,33,56,.85))}
.fut-metric{flex:1;padding:10px 10px;border-right:1px solid var(--line);text-align:center}
.fut-metric:last-child{border-right:none}
.fut-final-decision{background:linear-gradient(180deg,rgba(199,163,91,.10),rgba(199,163,91,.025))}
.fut-final-decision .admin-only-mark{display:inline-block;margin-left:4px;padding:1px 4px;border:1px solid rgba(199,163,91,.35);border-radius:3px;color:var(--gold);font-size:8px;line-height:1.2;letter-spacing:.04em;vertical-align:1px}
.fut-final-decision .fm-value{font-weight:800;letter-spacing:.08em}
.fut-final-decision .fm-value.is-up{color:#e87878}
.fut-final-decision .fm-value.is-down{color:#7FD8A8}
.fut-final-decision .fm-value.is-flat{color:#8DA1B6}
.fut-final-hit-toggle{border-color:rgba(199,163,91,.32);background:rgba(199,163,91,.055)}
.fm-label{font-size:10px;color:var(--muted-2);font-family:var(--mono);margin-bottom:4px;white-space:nowrap;letter-spacing:.06em;text-transform:uppercase}
.fm-value{font-size:14px;font-weight:600;color:var(--text);font-family:var(--mono)}
.fm-up{color:#e87878!important}
.fm-dn{color:var(--buy)!important}
.v1-ptrs{display:flex;flex:1;align-items:stretch}
.v1-ptr-card{flex:1;display:flex;flex-direction:row;align-items:center;padding:10px 20px;gap:14px;transition:background .25s,box-shadow .25s;border-top:2px solid transparent}
.v1-ptr-card.ptr-up{background:rgba(232,120,120,.06);border-top-color:rgba(232,120,120,.45)}
.v1-ptr-card.ptr-dn{background:rgba(127,216,168,.06);border-top-color:rgba(127,216,168,.45)}
.v1-ptr-card.ptr-flat{background:rgba(141,161,182,.04);border-top-color:rgba(141,161,182,.30)}
.v1-ptr-card.resonant{box-shadow:inset 0 0 0 1px rgba(232,142,44,.40);border-top-color:rgba(232,142,44,.70)!important}
.v1-ptr-arrow{font-size:28px;line-height:1;flex-shrink:0}
.v1-ptr-info{display:flex;flex-direction:column;gap:1px}
.v1-ptr-sys{font-size:10px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.06em;font-weight:500}
.v1-ptr-dir{font-size:17px;font-weight:700;font-family:var(--mono);line-height:1.2}
.v1-ptr-pct,.v1-ptr-sub{font-size:11px;color:var(--muted);font-family:var(--mono)}
.v1-ptr-sep{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 12px;border-left:1px solid var(--line);border-right:1px solid var(--line);gap:3px;min-width:48px}
.v1-ptr-sep .sep-ico{font-size:15px}
.v1-ptr-sep .sep-txt{font-size:10px;font-weight:700;font-family:var(--mono);letter-spacing:.04em}
.fut-guide-btn{font-size:11px;font-family:var(--mono);font-weight:700;color:rgba(199,163,91,.85);background:rgba(199,163,91,.10);border:1px solid rgba(199,163,91,.35);border-radius:11px;padding:2px 10px;cursor:pointer;letter-spacing:.05em;transition:color .2s,background .2s,border-color .2s;line-height:1.6}
.fut-guide-btn:hover{color:#C7A35B;background:rgba(199,163,91,.18);border-color:rgba(199,163,91,.6)}
.fut-guide-btn.open{color:#C7A35B;background:rgba(199,163,91,.15);border-color:rgba(199,163,91,.55)}
.fut-guide-panel{display:none;margin-bottom:12px;border:1px solid rgba(199,163,91,.2);border-left:3px solid rgba(199,163,91,.5);border-radius:0 8px 8px 0;padding:14px 18px;background:rgba(16,39,64,.50)}
.fut-guide-panel.open{display:block}
.fut-guide-row{display:flex;gap:20px}
.fut-guide-item{flex:1;min-width:0}
.fgi-title{font-size:10.5px;font-weight:700;color:var(--text);font-family:var(--mono);display:flex;align-items:center;gap:6px;margin-bottom:6px;letter-spacing:.03em}
.fgi-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}
.fgi-body{font-size:11.5px;color:var(--muted);line-height:1.65}
.fgi-body b{color:var(--text);font-weight:600}
.fut-chart-label{font-size:10.5px;color:var(--muted);font-family:var(--mono);letter-spacing:.1em;margin-bottom:6px}
.fut-main-row{display:block;position:relative;margin-bottom:16px}
.fut-main-chart{min-width:0}
.fut-dist-canvas{height:240px;margin-bottom:0}
.fut-pc-hint{font-size:10.5px;color:#e87878;font-family:var(--mono);letter-spacing:.04em;padding:2px 8px;border:1px solid rgba(232,120,120,.35);border-radius:4px;white-space:nowrap;flex-shrink:0}
.fut-bottom{display:grid;grid-template-columns:1fr 1.6fr;gap:14px;margin-bottom:14px}
/* grid 轨道的最小尺寸默认是 min-content，内部 canvas 的固有宽度(300px)会把列顶开，
   在窄屏上撑出容器并被 body 的 overflow-x:hidden 裁掉。min-width:0 让列可以真正收缩。 */
.fut-bottom>*{min-width:0}
.fut-bottom canvas{max-width:100%}
.fut-sub-title{font-size:10px;color:var(--muted);font-family:var(--mono);letter-spacing:.1em;margin-bottom:6px;text-transform:uppercase}
.fut-gate-canvas{height:130px}
.fut-expert-canvas{height:160px}
.fut-cheby{font-size:11px;color:var(--muted);font-family:var(--mono);display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;padding:10px 14px;background:rgba(168,127,232,.06);border:1px solid rgba(168,127,232,.16);border-left:3px solid rgba(168,127,232,.5);border-radius:0 6px 6px 0}
.fut-cheby span{white-space:nowrap}
.cheby-val{color:var(--purple);font-weight:600}.cheby-val-3{color:rgba(67,220,235,1);font-weight:600}
.mag-val{color:rgb(232,142,44);font-weight:600}
.fut-hit-stack{position:absolute;left:calc(100% + 18px);top:28px;width:278px;z-index:9;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.fut-hit-pct{display:inline-block;margin-left:7px;padding:0 6px;border-radius:5px;background:rgba(199,163,91,.14);color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.02em;vertical-align:baseline}
.fut-hit-toggle{position:static;width:fit-content;padding:2px 10px;line-height:1.6;white-space:nowrap;border:1px solid var(--line-2);border-radius:8px;background:rgba(16,39,64,.88);color:var(--gold);font-size:11.5px;font-family:var(--mono);font-weight:600;letter-spacing:.04em;cursor:pointer;backdrop-filter:blur(8px)}
.fut-hit-toggle:hover,.fut-hit-toggle.active{border-color:rgba(199,163,91,.45);background:rgba(199,163,91,.12)}
.fut-hit-panel{display:none;border:1px solid var(--line-2);border-radius:10px;background:rgba(0,0,0,.14);padding:10px 12px}
.fut-hit-panel.open{display:block}
.fut-main-row .fut-hit-panel{position:static;width:100%;margin-top:0;backdrop-filter:blur(8px)}
.fut-hit-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}
.fut-hit-title{font-size:11.5px;font-weight:600;color:var(--muted);letter-spacing:.06em;font-family:var(--mono)}
.fut-hit-sub{font-size:10.5px;color:var(--muted-2);font-family:var(--mono);margin-top:2px}
.fut-hit-rate{min-width:auto;text-align:right;font-family:var(--mono);font-size:12px;line-height:1.1;color:var(--gold);font-weight:600}
.fut-hit-days{display:grid;grid-template-columns:repeat(5,44px);gap:7px;overflow:visible;scrollbar-width:none;padding-bottom:0}
.fut-hit-days::-webkit-scrollbar{display:none}
.fut-hit-day{width:44px;height:42px;border:1px solid var(--line-2);border-radius:7px;background:rgba(255,255,255,.025);display:grid;grid-template-columns:15px 1fr;align-items:center;justify-items:center;font-family:var(--mono);line-height:1;text-align:center;padding:5px 5px 5px 4px}
.fut-hit-day b{display:block;font-size:13px;font-weight:700;line-height:13px}
.fut-hit-day span{display:block;font-size:9px;line-height:10px;color:var(--muted-2);letter-spacing:0}
.fut-hit-day span em{display:block;font-style:normal}
.fut-hit-day.hit{border-color:rgba(127,216,168,.32);background:rgba(127,216,168,.08);color:var(--buy)}
.fut-hit-day.miss{border-color:rgba(232,120,120,.34);background:rgba(232,120,120,.08);color:#e87878}
.fut-hit-day.pending{border-color:rgba(199,163,91,.32);background:rgba(199,163,91,.08);color:var(--gold)}
.fut-hit-day.empty{border-color:rgba(255,255,255,.045);background:rgba(255,255,255,.012);color:transparent}
.fut-hit-day.empty span{color:var(--muted-2);opacity:.55}
.fut-img-wrap{margin-top:14px;border-radius:8px;overflow:hidden;background:var(--surface-2)}
.fut-pred-img{width:100%;display:block;border-radius:8px}
/* 脱离绝对定位后 width:278px 会撑破窄容器，需一并放开 */
@media(max-width:1400px){.fut-hit-stack{position:static;margin-top:10px;max-width:100%}.fut-main-row .fut-hit-panel{position:static;width:100%;max-width:100%;margin-top:0}}
@media(max-width:700px){.fut-hit-panel{width:100%}}
@media(min-width:1000px){.fut-pc-hint{display:none}}
@media(max-width:700px){.fut-card{padding:14px 16px}.fut-head{align-items:center;flex-wrap:wrap}.fut-risk-area{order:3;flex:1 1 100%;width:100%}.fut-risk-alert{max-width:100%}.fut-risk-edit{margin-left:auto}.fut-metrics{flex-wrap:wrap}.fut-metric{flex:1 1 33%;border-bottom:1px solid var(--line-2)}.fut-bottom{grid-template-columns:1fr}.fut-hit-days{grid-template-columns:repeat(5,40px)}.fut-hit-day{width:40px;height:40px}.fut-chart-label{font-size:9.5px;letter-spacing:.02em}.fut-dist-canvas{height:180px}.fut-pc-hint{font-size:10px;padding:2px 6px}.fut-hist-dropdown{position:fixed;bottom:0;left:0;right:0;width:100%;max-height:55vh;border-radius:14px 14px 0 0;top:auto;border-left:none;border-right:none;border-bottom:none;padding:4px 12px 28px;min-width:0;z-index:400}.fut-hist-dropdown::before{content:'';display:block;width:36px;height:3px;background:rgba(255,255,255,.15);border-radius:2px;margin:10px auto 12px}.fut-hist-date-item{padding:11px 12px;font-size:13px}.v1-ptrs{flex:1 1 100%}.v1-ptr-card{padding:10px 14px}.v1-ptr-sep{min-width:36px;padding:4px 8px}.v1-ptr-arrow{font-size:22px}.fut-guide-row{flex-direction:column;gap:12px}}
/* 手机端窄屏下这段英文标签会把图例挤到换行 */
@media(max-width:700px){.dist-study-label{display:none}}
.stat-explain{font-size:11.5px;color:var(--muted);line-height:1.8;display:flex;flex-direction:column;gap:2px;margin-bottom:18px;padding:10px 14px;background:var(--surface-2);border-radius:8px;border-left:2px solid rgba(199,163,91,.35)}
.stat-explain b{color:var(--text)}
.stat-benchmark{font-size:10px;color:var(--muted-2);font-family:var(--mono);margin-top:2px}
.chart-hd{margin-bottom:10px}
.chart-hd-title{font-size:13.5px;font-weight:500;color:var(--text);margin-bottom:3px}
.chart-hd-en{font-size:10px;color:var(--muted-2);font-family:var(--mono);letter-spacing:.1em;margin-left:7px;text-transform:uppercase}
.chart-hd-desc{font-size:12px;color:var(--muted-2);line-height:1.65}
.dl-row{display:flex;align-items:center;justify-content:space-between;padding:15px 22px;border-bottom:1px solid var(--line-2);gap:16px;flex-wrap:wrap}
.dl-row:last-child{border-bottom:none}
.dl-title{font-size:14.5px;font-weight:500;margin-bottom:3px}
.dl-desc{font-size:12.5px;color:var(--muted)}
.monthly-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:10px;flex-wrap:wrap}
.monthly-tabs{margin:0;align-self:flex-end;max-width:100%;overflow:visible;scrollbar-width:none}
.monthly-tabs::-webkit-scrollbar{display:none}
.monthly-tab{appearance:none;-webkit-appearance:none}
.monthly-meta{font-size:11.5px;color:var(--muted-2);font-family:var(--mono);margin-bottom:8px}
.monthly-table-wrap{max-height:188px;overflow-y:auto;overflow-x:hidden;border:1px solid var(--line-2);border-radius:8px;background:rgba(9,25,43,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.025);scrollbar-width:none;-ms-overflow-style:none}
.monthly-table-wrap::-webkit-scrollbar{display:none}
.monthly-table-wrap table{width:100%;border-collapse:collapse;font-size:12.5px}
.monthly-table-wrap thead tr{box-shadow:0 1px 0 var(--line-2)}
.monthly-table-wrap tbody tr{background:rgba(255,255,255,.008)}
.monthly-table-wrap tbody tr:hover{background:rgba(199,163,91,.045)}
.btn-sm{font-size:12.5px;padding:6px 14px}
.strat-block{margin-bottom:16px;padding:13px 16px;background:var(--surface-2);border-radius:8px;border-left:2px solid rgba(199,163,91,.35)}
.sb-title{font-size:11.5px;font-weight:600;color:var(--gold);letter-spacing:.06em;text-transform:uppercase;margin-bottom:7px;font-family:var(--mono)}
.sb-body{font-size:13.5px;color:var(--muted);line-height:1.85;margin:0}
/* ── Range selector ── */
.range-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding:10px 0 14px;border-bottom:1px solid var(--line-2)}
.range-label-pre{font-size:12px;color:var(--muted);font-family:var(--mono)}
.range-btns{display:flex;gap:4px}
.range-btn{font-size:11.5px;padding:4px 12px;border-radius:100px;border:1px solid var(--line-2);background:transparent;color:var(--muted);cursor:pointer;font-family:var(--mono);transition:all .15s}
.range-btn:hover{border-color:var(--gold-soft);color:var(--text)}
.range-btn.active{background:rgba(199,163,91,.12);border-color:var(--gold-soft);color:var(--gold)}
.range-custom{display:flex;align-items:center;gap:5px}
.range-custom-sep{font-size:11px;color:var(--muted-2);font-family:var(--mono)}
.range-custom-date{height:26px;border:1px solid var(--line-2);border-radius:6px;background:transparent;color:var(--muted);font-size:11px;font-family:var(--mono);padding:0 7px;cursor:pointer;transition:border-color .15s;color-scheme:dark}
.range-custom-date:hover{border-color:rgba(199,163,91,.4)}
.range-custom-date:focus{outline:none;border-color:var(--gold-soft);color:var(--text)}
/* ── Two-column scan codes ── */
.eq-scan-codes-split{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end;max-width:62%}
.eq-scan-codes-split.is-empty{display:none}
.eq-scan-board-col{display:flex;flex-direction:column;gap:6px;min-width:120px}
.eq-scan-board-label{font-size:10.5px;color:var(--muted-2);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase}
.eq-scan-board-codes{display:flex;flex-wrap:wrap;gap:5px}
.eq-scan-cyb-warning{font-size:10.5px;color:#e87878;line-height:1.4;max-width:200px}
/* ── Market selector (backtest tab) ── */
.market-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:14px;border-bottom:2px solid var(--line-2)}
.market-bar-label{font-size:12px;color:var(--muted-2);font-family:var(--mono);white-space:nowrap}
.market-btns{display:flex;gap:5px}
.market-btn{font-size:12.5px;padding:5px 16px;border-radius:100px;border:1px solid var(--line-2);background:transparent;color:var(--muted);cursor:pointer;font-family:var(--sans);transition:all .15s;white-space:nowrap}
.market-btn:hover{border-color:rgba(122,185,255,.5);color:var(--text)}
.market-btn.active{background:rgba(122,185,255,.13);border-color:rgba(122,185,255,.55);color:#7AB9FF;font-weight:600}
.market-btn:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:640px){.market-bar,.range-bar{align-items:flex-start;flex-direction:column;gap:8px}.market-btns,.range-btns{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.market-btn,.range-btn{width:100%;white-space:normal;text-align:center;padding:6px 8px;line-height:1.35}.range-custom{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.range-custom-date{width:100%;min-width:0}.fut-ai-toolbar{align-items:stretch!important}.fut-ai-toolbar>div:first-child{flex:1 1 100%;min-width:0}#fut-ai-btn{width:100%;white-space:normal;line-height:1.35}}
/* ── Equity page pillars ── */
.eq-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:4px}
@media(max-width:640px){.eq-pillars{grid-template-columns:1fr}}
.eq-pillar{padding:20px 18px;background:var(--surface-2);border-radius:10px;border:1px solid var(--line-2)}
.ep-icon{font-size:20px;color:var(--gold);font-family:var(--mono);margin-bottom:10px;opacity:.75}
.ep-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:9px}
.ep-body{font-size:13px;color:var(--muted);line-height:1.8;margin:0}
.eq-locked-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 24px;margin-top:14px;text-align:left}
.eq-locked-item{font-size:13.5px;color:var(--muted);display:flex;align-items:flex-start;gap:8px}
@media(max-width:560px){.eq-locked-grid{grid-template-columns:1fr}}
/* ── 左图 + 右锁定列表 两栏布局 ── */
.eq-split{display:grid;grid-template-columns:1.32fr 1fr;gap:22px;align-items:stretch;max-width:1040px;margin:0 auto}
.eq-split .panel{max-width:none;margin:0}
.eq-split .locked-block{margin-top:0;text-align:left;padding:28px 26px;display:flex;flex-direction:column}
.eq-split .locked-block .pill{align-self:flex-start}
.eq-split .locked-block .eq-locked-grid{grid-template-columns:1fr;gap:10px;margin-top:6px}
.eq-split .locked-block .btn-gold{width:100%;justify-content:center;margin-top:auto}
@media(max-width:880px){.eq-split{grid-template-columns:1fr;max-width:760px}.eq-split .locked-block .btn-gold{margin-top:22px}}
/* ── 期货指标说明 ── */
.fut-guide{display:flex;flex-direction:column;gap:0}
.fg-item{padding:14px 0;border-bottom:1px solid var(--line-2)}
.fg-item:last-child{border-bottom:none}
.fg-label{font-size:12.5px;font-weight:600;color:var(--gold);font-family:var(--mono);letter-spacing:.04em;margin-bottom:6px}
.fg-body{font-size:13.5px;color:var(--muted);line-height:1.85}
/* ── 站内信按钮 ── */
.inbox-btn{display:flex;align-items:center;gap:6px;position:relative;padding:7px 14px;border:1px solid var(--line-2);border-radius:8px;background:transparent;color:var(--muted);font-size:13px;cursor:pointer;transition:border-color .15s,color .15s;white-space:nowrap}
.inbox-btn:hover{border-color:rgba(199,163,91,.4);color:var(--fg)}
.inbox-badge{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#e87878;color:#fff;font-size:10px;font-weight:700;font-family:var(--mono);display:flex;align-items:center;justify-content:center;line-height:1}
/* ── 站内信面板 ── */
.inbox-panel{position:fixed;top:0;right:-400px;width:380px;max-width:95vw;height:100vh;background:var(--bg-card,var(--surface));border-left:1px solid var(--line-2);z-index:9200;display:flex;flex-direction:column;transition:right .25s ease;box-shadow:-8px 0 32px rgba(0,0,0,.35)}
.inbox-panel.open{right:0}
.inbox-panel-head{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid var(--line-2);flex-shrink:0}
.inbox-panel-title{font-size:15px;font-weight:600;color:var(--fg);margin-bottom:3px}
.inbox-panel-sub{font-size:11.5px;color:var(--muted-2)}
.inbox-close-btn{width:28px;height:28px;border-radius:7px;border:1px solid var(--line-2);background:transparent;color:var(--muted);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.inbox-close-btn:hover{border-color:rgba(232,120,120,.4);color:#e87878}
.inbox-read-all-btn{font-size:11.5px;padding:4px 10px;border-radius:6px;border:1px solid var(--line-2);background:transparent;color:var(--muted);cursor:pointer;white-space:nowrap}
.inbox-read-all-btn:hover{border-color:rgba(199,163,91,.4);color:var(--gold)}
.inbox-list{flex:1;overflow-y:auto;padding:8px 0}
.inbox-loading,.inbox-empty{padding:32px 20px;text-align:center;font-size:13px;color:var(--muted-2)}
.inbox-msg{display:flex;align-items:flex-start;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line-2);position:relative}
.inbox-msg-unread{background:rgba(199,163,91,.06)}
.inbox-msg-unread::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold,#C7A35B);border-radius:0 2px 2px 0}
.inbox-msg-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;margin-top:1px}
.inbox-icon-accepted{background:rgba(127,216,168,.15);color:#7FD8A8}
.inbox-icon-rejected{background:rgba(232,120,120,.12);color:#e87878}
.inbox-icon-completed{background:rgba(199,163,91,.15);color:var(--gold,#C7A35B)}
.inbox-msg-body{flex:1;min-width:0}
.inbox-msg-text{font-size:13px;color:var(--text);line-height:1.7;margin-bottom:5px;word-break:break-word}
.inbox-msg-time{font-size:11px;color:var(--muted-2);font-family:var(--mono)}
/* ── 客户端删除按钮 ── */
.ca-delete-btn{width:22px;height:22px;border-radius:5px;border:1px solid var(--line-2);background:transparent;color:var(--muted-2);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;transition:border-color .15s,color .15s}
.ca-delete-btn:hover{border-color:rgba(232,120,120,.45);color:#e87878}
/* ── Overview card: latest trade snippet ── */
.ov-card-equity{display:flex;flex-direction:column}
.ov-trade{display:flex;align-items:center;gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line-2);flex-wrap:wrap}
.ov-trade-label{font-size:10px;color:var(--muted-2);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.ov-trade-code{font-size:13px;font-weight:600;font-family:var(--mono);color:var(--text)}
.ov-trade-blur{filter:blur(4px);user-select:none;color:var(--muted)}
.ov-trade-pnl{font-size:14px;font-weight:700;font-family:var(--mono);letter-spacing:.02em}
.ov-trade-win{color:var(--buy,#7FD8A8)}
.ov-trade-loss{color:#e87878}
.ov-trade-date{font-size:11px;color:var(--muted-2);font-family:var(--mono);margin-left:auto;white-space:nowrap}
/* ── 限时免费 ── */
.free-period-banner{display:flex;align-items:center;gap:10px;padding:11px 16px;margin-bottom:18px;background:rgba(127,216,168,.08);border:1px solid rgba(127,216,168,.3);border-radius:8px;font-size:13px;color:#7FD8A8;line-height:1.6}
.fp-banner-icon{font-size:14px;flex-shrink:0;opacity:.8}
.tab-free-badge{display:inline-block;margin-left:5px;padding:1px 6px;border-radius:4px;font-size:9.5px;font-weight:700;background:rgba(127,216,168,.2);color:#7FD8A8;vertical-align:middle;letter-spacing:.04em}
.fp-status-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:600;font-family:var(--mono);white-space:nowrap}
.fp-status-on{background:rgba(127,216,168,.15);color:#7FD8A8;border:1px solid rgba(127,216,168,.35)}
.fp-status-off{background:rgba(255,255,255,.05);color:var(--muted-2);border:1px solid var(--line-2)}
/* ── 样本深度分析 section ── */
.analysis-block-title{font-size:12px;font-weight:600;color:var(--muted-2);letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px}
.analysis-block-desc{font-size:12px;color:var(--muted-2);margin-bottom:14px;line-height:1.6}
.yearly-table-wrap{overflow-x:auto}
.yearly-table{width:100%;border-collapse:collapse;font-size:13px}
.yearly-table thead tr{background:var(--surface-2)}
.yearly-table th{text-align:left;padding:8px 16px;font-size:11.5px;font-weight:500;color:var(--muted-2);white-space:nowrap}
.yearly-table th:not(:first-child){text-align:right}
.yearly-table td{padding:10px 16px;border-top:1px solid var(--line-2);vertical-align:middle}
.yearly-table td:not(:first-child){text-align:right;font-family:var(--mono);font-size:13px}
.yt-yr{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap}
.yt-val{color:var(--text)}
.yt-ret{font-weight:600}
.yt-partial{margin-left:7px;font-size:10px;font-weight:500;font-family:var(--mono);color:var(--muted-2);letter-spacing:.04em;vertical-align:middle}
.yt-loading{text-align:center;padding:20px 14px;color:var(--muted);font-size:13px}
.pnl-hist-wrap{position:relative;height:220px}

/* ── 站内信 tabs ── */
.inbox-tabs{display:flex;gap:4px;padding:0 16px 12px;border-bottom:1px solid var(--line-2)}
.inbox-tab{flex:1;padding:6px 0;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:12px;cursor:pointer;transition:all .15s;font-family:inherit}
.inbox-tab.active{border-color:rgba(199,163,91,.35);background:rgba(199,163,91,.1);color:var(--gold);font-weight:600}
.inbox-tab:hover:not(.active){background:rgba(255,255,255,.04);color:var(--fg)}
/* ── 站内信消息行（可点击）── */
.inbox-msg{cursor:pointer;transition:background .12s}
.inbox-msg:hover{background:rgba(255,255,255,.04)}
.inbox-msg-title{font-size:13.5px;font-weight:600;color:var(--fg);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* ── 详情弹窗（邮件风格）── */
.inbox-detail-overlay{display:none;position:fixed;inset:0;z-index:9300;background:rgba(0,0,0,.65);backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:16px}
.inbox-detail-overlay.open{display:flex}
.inbox-detail-modal{width:520px;max-width:100%;max-height:88vh;overflow-y:auto;border-radius:14px;background:#071625;box-shadow:0 24px 60px rgba(0,0,0,.7);border:1px solid rgba(199,163,91,.15)}
.inbox-detail-head{background:#071625;border-radius:14px 14px 0 0;padding:18px 24px 16px;border-bottom:1px solid rgba(199,163,91,.2);display:flex;align-items:center;justify-content:space-between}
.inbox-detail-brand{display:flex;align-items:center;gap:10px}
.inbox-detail-brand-text .inbox-detail-brand-name{font-size:14px;font-weight:700;color:#e4d1a0;letter-spacing:.05em;line-height:1}
.inbox-detail-brand-text .inbox-detail-brand-en{font-size:9px;color:rgba(199,163,91,.55);letter-spacing:.24em;text-transform:uppercase;margin-top:3px}
.inbox-detail-tag{font-size:10px;color:#C7A35B;letter-spacing:.16em;text-transform:uppercase;font-family:var(--mono)}
.inbox-detail-body{background:#0b1c2e;padding:24px 24px 28px}
.inbox-detail-meta{font-size:11px;color:#C7A35B;letter-spacing:.18em;text-transform:uppercase;font-family:var(--mono);margin-bottom:10px}
.inbox-detail-title{font-size:20px;font-weight:700;color:#f4ecd8;letter-spacing:-.01em;line-height:1.3;margin-bottom:14px}
.inbox-detail-text{font-size:14px;line-height:1.9;color:rgba(220,232,244,.78);white-space:pre-wrap}
.inbox-detail-footer{background:#0b1c2e;padding:16px 24px 20px;border-top:1px solid rgba(199,163,91,.12);display:flex;align-items:center;justify-content:space-between;border-radius:0 0 14px 14px}
.inbox-detail-footer-left{font-size:11px;color:rgba(220,232,244,.35);font-family:var(--mono);letter-spacing:.04em}
.inbox-detail-close-btn{display:inline-block;background:rgba(199,163,91,.12);border:1px solid rgba(199,163,91,.3);color:#C7A35B;font-size:12px;font-weight:600;padding:8px 18px;border-radius:7px;cursor:pointer;letter-spacing:.02em;transition:background .15s;font-family:inherit}
.inbox-detail-close-btn:hover{background:rgba(199,163,91,.22)}
/* ── 管理员：站内信推送卡片 ── */
.sm-card-head{padding:0 0 14px;border-bottom:1px solid var(--line-2);margin-bottom:16px}
.sm-card-icon-wrap{width:34px;height:34px;border-radius:9px;background:rgba(199,163,91,.1);border:1px solid rgba(199,163,91,.2);display:flex;align-items:center;justify-content:center;font-size:17px;color:var(--gold);flex-shrink:0}
.sm-section{margin-bottom:14px}
.sm-label{font-size:11px;color:var(--muted-2);letter-spacing:.1em;text-transform:uppercase;font-family:var(--mono);margin-bottom:7px}
.sm-input{width:100%;box-sizing:border-box;background:rgba(255,255,255,.04);border:1px solid var(--line-2);border-radius:8px;color:var(--fg);font-size:13px;padding:8px 12px;outline:none;transition:border-color .15s;font-family:inherit}
.sm-input:focus{border-color:rgba(199,163,91,.45)}
.sm-textarea{resize:vertical;min-height:88px;line-height:1.65}
.sm-target-group{display:flex;gap:8px;flex-wrap:wrap}
.sm-chip{cursor:pointer}
.sm-chip input[type=radio]{display:none}
.sm-chip span{display:inline-block;padding:5px 13px;border-radius:20px;border:1px solid var(--line-2);font-size:12px;color:var(--muted);transition:all .15s}
.sm-chip:hover span{border-color:rgba(255,255,255,.2);color:var(--fg)}
.sm-chip:has(input:checked) span{border-color:rgba(199,163,91,.5);background:rgba(199,163,91,.12);color:var(--gold);font-weight:600}
.sm-icon-group{display:flex;gap:8px;flex-wrap:wrap}
.sm-icon-chip{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:12px;color:var(--muted);padding:5px 11px;border-radius:20px;border:1px solid var(--line-2);transition:all .15s}
.sm-icon-chip input[type=radio]{display:none}
.sm-icon-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.sm-icon-info .sm-icon-dot{background:rgba(141,161,182,.6)}
.sm-icon-success .sm-icon-dot{background:rgba(127,216,168,.65)}
.sm-icon-warning .sm-icon-dot{background:rgba(199,163,91,.8)}
.sm-icon-chip:hover{border-color:rgba(255,255,255,.2);color:var(--fg)}
.sm-icon-chip:has(input:checked){border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:var(--fg)}
.sm-icon-info:has(input:checked) .sm-icon-dot{background:#8DA1B6}
.sm-icon-success:has(input:checked) .sm-icon-dot{background:#7FD8A8}
.sm-icon-warning:has(input:checked) .sm-icon-dot{background:#C7A35B}
.sm-result{padding:10px 14px;border-radius:8px;font-size:13px;line-height:1.6;margin-bottom:2px}
.sm-result.ok{background:rgba(127,216,168,.1);border:1px solid rgba(127,216,168,.3);color:#4aad7a}
.sm-result.err{background:rgba(232,120,120,.1);border:1px solid rgba(232,120,120,.3);color:#c04444}
.sm-footer{display:flex;justify-content:flex-end;margin-top:16px}
.sm-send-btn{min-width:120px}
/* ── 收件箱：删除按钮 ── */
.inbox-del-btn{flex-shrink:0;width:26px;height:26px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--muted-2);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,border-color .15s,color .15s}
.inbox-msg:hover .inbox-del-btn{opacity:1}
.inbox-del-btn:hover{border-color:rgba(232,120,120,.4);color:#e87878;background:rgba(232,120,120,.08)}
/* ── 管理员：金色发送按钮 ── */
.sm-send-btn-gold{display:inline-flex;align-items:center;gap:8px;padding:11px 24px;border-radius:10px;border:none;background:linear-gradient(135deg,#C7A35B 0%,#d4b472 50%,#b8913f 100%);color:#071625;font-size:13.5px;font-weight:700;cursor:pointer;letter-spacing:.04em;transition:filter .15s,transform .08s;box-shadow:0 2px 12px rgba(199,163,91,.35);font-family:inherit}
.sm-send-btn-gold:hover{filter:brightness(1.1);box-shadow:0 4px 18px rgba(199,163,91,.5)}
.sm-send-btn-gold:active{transform:scale(.97)}
.sm-send-btn-gold:disabled{opacity:.55;cursor:default;filter:none;transform:none}
/* ── 管理员：已发送消息列表 ── */
.sm-sent-section{margin-top:16px;border-top:1px solid var(--line-2);padding-top:14px}
.sm-sent-toggle{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:7px;border:1px solid var(--line-2);background:transparent;color:var(--muted);font-size:12px;cursor:pointer;transition:all .15s;font-family:inherit}
.sm-sent-toggle:hover,.sm-sent-toggle.active{border-color:rgba(199,163,91,.4);color:var(--gold)}
.sm-sent-list{margin-top:10px}
.sm-sent-loading,.sm-sent-empty{font-size:12px;color:var(--muted-2);padding:10px 2px;text-align:center}
.sm-sent-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line-2)}
.sm-sent-item:last-child{border-bottom:none}
.sm-sent-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.sm-sent-icon-info{background:rgba(141,161,182,.15);color:#8DA1B6}
.sm-sent-icon-success{background:rgba(127,216,168,.15);color:#7FD8A8}
.sm-sent-icon-warning{background:rgba(199,163,91,.15);color:#C7A35B}
.sm-sent-info{flex:1;min-width:0}
.sm-sent-title{font-size:12.5px;color:var(--fg);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sm-sent-meta{font-size:11px;color:var(--muted-2);margin-top:2px;font-family:var(--mono)}
.sm-recall-btn{flex-shrink:0;padding:3px 10px;border-radius:5px;border:1px solid rgba(232,120,120,.35);background:rgba(232,120,120,.08);color:#e87878;font-size:11px;cursor:pointer;transition:all .15s;font-family:inherit}
.sm-recall-btn:hover{background:rgba(232,120,120,.16);border-color:rgba(232,120,120,.6)}
