
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;700&family=Syne:wght@600;700;800&display=swap');
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg-void:#050810;--bg-base:#070a14;--bg-surface:#0a0f1e;
  --bg-card:#0d1424;--bg-raised:#111828;--bg-hover:#16203a;
  --border-dim:rgba(255,255,255,0.05);--border-mid:rgba(255,255,255,0.09);
  --border-bright:rgba(255,255,255,0.15);
  --cyan:#06b6d4;--amber:#f59e0b;--violet:#a855f7;
  --green:#10b981;--red:#ef4444;--blue:#3b82f6;
  --text-1:#e2e8f0;--text-2:#94a3b8;--text-3:#64748b;--text-4:#4a5568;
  --font-display:'Syne',sans-serif;--font-mono:'JetBrains Mono','Courier New',monospace;
  --radius-sm:6px;--radius-md:10px;--radius-lg:14px;
}
html,body{height:100%;overflow:hidden}
body{background:#050810;color:#e2e8f0;font-family:var(--font-mono);display:flex;flex-direction:column;font-size:13px;line-height:1.5}
::-webkit-scrollbar{width:3px;height:3px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.1);border-radius:2px}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes fadeIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes slideIn{from{transform:translateX(110%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes alertSlideIn{from{transform:translateY(-60px) scale(0.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
@keyframes alertPulse{0%,100%{box-shadow:0 0 0 0 rgba(16,185,129,0.4)}50%{box-shadow:0 0 0 20px rgba(16,185,129,0)}}

/* ── 顶部主导航 ── */
.v5-topnav{background:rgba(5,8,16,0.97);border-bottom:1px solid rgba(255,255,255,0.06);padding:0 24px;height:58px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:300;flex-shrink:0;backdrop-filter:blur(12px)}
.v5-logo{display:flex;align-items:center;gap:10px;cursor:default;user-select:none}
.v5-logo-icon{width:36px;height:36px;flex-shrink:0;animation:logoBreath 3s ease-in-out infinite}
@keyframes logoBreath{0%,100%{filter:drop-shadow(0 0 4px rgba(16,185,129,0.35)) drop-shadow(0 0 10px rgba(16,185,129,0.15))}50%{filter:drop-shadow(0 0 10px rgba(16,185,129,0.8)) drop-shadow(0 0 22px rgba(16,185,129,0.4)) drop-shadow(0 0 36px rgba(6,182,212,0.2))}}
.v5-logo-text{font-size:20px;font-weight:900;letter-spacing:8px;background:linear-gradient(135deg,#f1f5f9 0%,#cbd5e1 60%,#94a3b8 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:'Courier New',monospace;line-height:1;text-shadow:none}
.v5-logo-ver{font-size:8px;color:rgba(16,185,129,0.7);letter-spacing:2.5px;font-family:var(--font-mono);margin-top:2px;text-transform:uppercase}
.v5-logo-badge{display:flex;flex-direction:column;justify-content:center}
.v5-section-nav{display:flex;align-items:center;gap:2px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:10px;padding:4px}
.v5-sec-btn{padding:7px 22px;border-radius:8px;border:none;font-family:var(--font-mono);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;color:var(--text-3);background:none;display:flex;align-items:center;gap:6px;white-space:nowrap;letter-spacing:0.3px}
.v5-sec-btn:hover{background:var(--bg-hover);color:var(--text-2)}
.v5-sec-btn.act-m{background:linear-gradient(135deg,rgba(6,182,212,0.2),rgba(6,182,212,0.08));color:var(--cyan);border:1px solid rgba(6,182,212,0.35);box-shadow:0 0 14px rgba(6,182,212,0.15),inset 0 1px 0 rgba(6,182,212,0.15);font-weight:600}
.v5-sec-btn.act-t{background:linear-gradient(135deg,rgba(245,158,11,0.2),rgba(245,158,11,0.08));color:var(--amber);border:1px solid rgba(245,158,11,0.35);box-shadow:0 0 14px rgba(245,158,11,0.15),inset 0 1px 0 rgba(245,158,11,0.15);font-weight:600}
.v5-sec-btn.act-u{background:linear-gradient(135deg,rgba(139,92,246,0.2),rgba(139,92,246,0.08));color:var(--violet);border:1px solid rgba(139,92,246,0.35);box-shadow:0 0 14px rgba(139,92,246,0.15),inset 0 1px 0 rgba(139,92,246,0.15);font-weight:600}
.v5-topright{display:flex;align-items:center;gap:7px}
.v5-tbtn{padding:5px 12px;border-radius:6px;border:1px solid var(--border-dim);background:none;color:var(--text-3);font-family:var(--font-mono);font-size:11px;cursor:pointer;transition:all .12s;white-space:nowrap}
.v5-tbtn:hover{border-color:var(--border-mid);color:var(--text-2);background:var(--bg-hover)}
.v5-live{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:10px;background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.25);font-size:11px;color:#10b981;font-weight:600}
.v5-live::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--green);animation:pulse 1.5s infinite;display:inline-block}

/* ── 二级 Tab 栏 ── */
.v5-subtabs{background:rgba(6,8,15,0.95);border-bottom:1px solid rgba(255,255,255,0.06);padding:0 24px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;min-height:46px;backdrop-filter:blur(10px);overflow:visible;position:relative;z-index:100}
.v5-tablist{display:flex;align-items:stretch;overflow-x:auto;scrollbar-width:none}
.v5-tablist::-webkit-scrollbar{display:none}
.v5-tab{padding:0 16px;height:46px;border:none;background:none;font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--text-3);cursor:pointer;transition:all .15s;white-space:nowrap;border-bottom:2px solid transparent;display:flex;align-items:center;gap:5px;letter-spacing:0.3px}
.v5-tab:hover{color:var(--text-2);background:rgba(255,255,255,0.02)}
.sec-m .v5-tab.active{color:var(--cyan);border-bottom-color:var(--cyan)}
.sec-t .v5-tab.active{color:var(--amber);border-bottom-color:var(--amber)}
.sec-u .v5-tab.active{color:var(--violet);border-bottom-color:var(--violet)}

/* 行情工具栏 */
.v5-mktbar{display:flex;align-items:center;gap:10px;flex:1;overflow:visible;min-width:0;position:relative}
.v5-pairwrap{position:relative;flex-shrink:0}
.pair-btn{background:var(--bg-raised);border:1px solid var(--border-mid);border-radius:7px;padding:6px 14px;color:var(--text-1);cursor:pointer;font-family:var(--font-mono);font-size:15px;font-weight:700;white-space:nowrap;transition:all .15s}
.pair-btn:hover{border-color:var(--cyan);color:var(--cyan)}
.dropdown{position:fixed;top:0;left:0;background:#0d1828;border:1px solid var(--border-mid);border-radius:8px;padding:10px;z-index:99999;width:280px;box-shadow:0 20px 60px rgba(0,0,0,0.95),0 0 0 1px rgba(255,255,255,0.05);display:none}
.dropdown.open{display:flex;flex-direction:column}
.dropdown input{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(16,185,129,0.2);border-radius:7px;padding:9px 12px 9px 32px;color:var(--text-1);font-family:var(--font-mono);font-size:13px;margin-bottom:6px;outline:none;box-sizing:border-box;transition:border-color .15s;flex-shrink:0}.dropdown input:focus{border-color:rgba(16,185,129,0.5);background:rgba(16,185,129,0.04)}
.dropdown-search-wrap{position:relative;flex-shrink:0}.dropdown-search-wrap::before{content:'⌕';position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-4);font-size:14px;pointer-events:none;z-index:1}
.pair-item{padding:8px 12px;cursor:pointer;border-radius:6px;font-size:13px;color:var(--text-2);transition:all .1s;user-select:none;flex-shrink:0}
.pair-item:hover{background:rgba(6,182,212,0.1);color:var(--cyan);padding-left:16px}
.pair-item.active{background:rgba(16,185,129,0.12);color:#10b981;font-weight:600}
.v5-wlbar{display:flex;align-items:center;gap:2px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}
.v5-wlbar::-webkit-scrollbar{display:none}
.v5-wlchip{padding:4px 11px;border-radius:6px;background:var(--bg-raised);border:1px solid var(--border-dim);font-size:12px;color:var(--text-2);cursor:pointer;white-space:nowrap;transition:all .1s;display:flex;align-items:center;gap:5px;flex-shrink:0}
.v5-wlchip:hover,.v5-wlchip.act{background:rgba(6,182,212,0.1);border-color:rgba(6,182,212,0.3);color:var(--cyan)}
.v5-wlchip .wlpx{font-size:11px;color:var(--text-3)}
.v5-wlchip.act .wlpx{color:rgba(6,182,212,0.7)}
.v5-wladd{padding:3px 8px;border-radius:4px;background:none;border:1px dashed var(--border-dim);font-size:10px;color:var(--text-4);cursor:pointer;flex-shrink:0}
.v5-wladd:hover{border-color:var(--cyan);color:var(--cyan)}
.v5-pricebar{display:flex;align-items:center;gap:10px;flex-shrink:0}
.v5-price-main{font-size:28px;font-weight:700;color:#0ecb81;font-family:var(--font-mono);letter-spacing:-1px;line-height:1;font-variant-numeric:tabular-nums;transition:color .25s ease;display:inline-block;min-width:160px}
@keyframes flashUp{0%{opacity:0.5;transform:translateY(2px)}100%{opacity:1;transform:translateY(0)}}
@keyframes flashDn{0%{opacity:0.5;transform:translateY(-2px)}100%{opacity:1;transform:translateY(0)}}
.price-flash-up{animation:flashUp 0.25s ease forwards}
.price-flash-dn{animation:flashDn 0.25s ease forwards}
.v5-statusbar{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--text-3);flex-shrink:0}

/* 时间段按钮（全局复用） */
.interval-btn{background:none;border:1px solid var(--border-dim);border-radius:4px;padding:5px 9px;color:var(--text-3);cursor:pointer;font-family:var(--font-mono);font-size:11px;transition:all .1s}
.interval-btn.active{background:rgba(16,185,129,0.15);border-color:rgba(16,185,129,0.4);color:var(--green)}
.interval-btn:hover:not(.active){border-color:var(--border-mid);color:var(--text-2)}

/* ── 内容区 ── */
.v5-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px 20px;animation:fadeIn .2s ease}
/* 行情分析内容区：居中限宽 */
#mktContent .v5-tabpanel{max-width:1280px;margin:0 auto;width:100%;}
.v5-section{display:none;flex-direction:column;flex:1;overflow:hidden}
.v5-section.active{display:flex}
.v5-tabpanel{display:none}
.v5-tabpanel.active{display:block;animation:fadeIn .2s ease}

/* ── 通用组件 ── */
.card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:10px;padding:16px}
.grid4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:10px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.metric{padding:14px 16px;background:var(--bg-surface);border:1px solid var(--border-dim);border-radius:8px}
.lbl{font-size:10px;letter-spacing:1.8px;color:var(--text-3);margin-bottom:7px;text-transform:uppercase;font-weight:500}
.val{font-size:22px;font-weight:700;margin-bottom:3px;line-height:1.2;letter-spacing:-0.3px}
.sub{font-size:11px;color:var(--text-3)}
.engine{background:var(--bg-surface);border:1px solid var(--border-dim);border-radius:8px;overflow:hidden}
.engine-head{padding:12px 16px;border-bottom:1px solid var(--border-dim);display:flex;justify-content:space-between;font-size:12px}
.engine-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.row{display:flex;justify-content:space-between;align-items:center}
.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--bg-raised);border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}
.trade-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;padding:10px 0;border-bottom:1px solid var(--border-dim);align-items:center;font-size:13px}
.tg-toast{position:fixed;bottom:24px;right:24px;background:#0d1424;border:1px solid rgba(16,185,129,0.3);border-radius:10px;padding:16px 20px;z-index:9999;animation:slideIn .3s ease;max-width:340px;box-shadow:0 8px 32px rgba(0,0,0,0.8);font-size:13px}
.fear-bar{height:10px;border-radius:5px;background:linear-gradient(90deg,#ef4444,#f59e0b,#10b981);position:relative;margin:8px 0}
.fear-needle{position:absolute;top:-3px;width:4px;height:16px;background:#fff;border-radius:2px;transform:translateX(-50%);transition:left .5s ease}
.signal-alert{position:fixed;top:80px;left:50%;transform:translateX(-50%);z-index:99999;min-width:420px;max-width:560px;border-radius:16px;padding:28px 32px;animation:alertSlideIn .4s cubic-bezier(.34,1.56,.64,1)}
.signal-alert.aplus{background:linear-gradient(135deg,rgba(16,185,129,0.2),rgba(5,8,16,1));border:2px solid rgba(16,185,129,0.7);box-shadow:0 12px 48px rgba(0,0,0,0.8);animation:alertSlideIn .4s cubic-bezier(.34,1.56,.64,1),alertPulse 2s ease-in-out 3}
.signal-alert.a{background:linear-gradient(135deg,rgba(16,185,129,0.15),rgba(5,8,16,1));border:2px solid rgba(16,185,129,0.5);box-shadow:0 12px 48px rgba(0,0,0,0.8)}
.alert-close{position:absolute;top:12px;right:16px;background:none;border:none;color:var(--text-3);cursor:pointer;font-size:20px;line-height:1}
.alert-close:hover{color:var(--text-1)}
.modal{display:none;position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,0.75);backdrop-filter:blur(4px);align-items:center;justify-content:center}
.modal.open{display:flex}
.modal-box{background:#0d1424;border:1px solid rgba(255,255,255,0.1);border-radius:12px;padding:28px;width:500px;max-width:96vw;max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px rgba(0,0,0,0.8);font-size:13px}
.login-wrap{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:#050810;background-image:radial-gradient(ellipse at 20% 50%,rgba(16,185,129,0.04),transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(6,182,212,0.03),transparent 60%)}
.login-box{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:16px;padding:44px;width:380px;box-shadow:0 40px 80px rgba(0,0,0,0.8)}
.login-input{width:100%;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:12px 16px;color:#e2e8f0;font-family:var(--font-mono);font-size:14px;outline:none;transition:all .15s}
.login-input:focus{border-color:var(--cyan)}
.login-btn{width:100%;padding:14px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:9px;color:#fff;font-family:var(--font-mono);font-size:14px;font-weight:700;cursor:pointer;letter-spacing:3px;transition:all .18s}
.login-btn:hover{background:rgba(6,182,212,0.2);border-color:var(--cyan)}
.login-err{font-size:12px;color:var(--red);margin-top:6px;min-height:16px}
.user-row{display:grid;grid-template-columns:1fr 60px 1fr 60px 50px;gap:10px;padding:10px 0;font-size:13px;align-items:center}

/* ── v5 UI 精细化 ── */
.pm-stat{transition:transform .1s,border-color .1s}
.pm-stat:hover{transform:translateY(-1px);border-color:var(--border-mid)}
.pm-hrow:last-child{border-bottom:none}
.sig-row{display:grid;gap:6px;padding:11px 14px;font-size:13px;border-bottom:1px solid var(--border-dim);align-items:center;transition:background .1s;cursor:pointer}
.sig-row:hover{background:var(--bg-hover)}
.sig-row:last-child{border-bottom:none}
.grade-aplus{background:rgba(16,185,129,0.15);color:#10b981;border:1px solid rgba(16,185,129,0.35);padding:3px 9px;border-radius:5px;font-size:11px;font-weight:700;display:inline-block;text-align:center}
.grade-a{background:rgba(6,182,212,0.12);color:#06b6d4;border:1px solid rgba(6,182,212,0.3);padding:3px 9px;border-radius:5px;font-size:11px;font-weight:700;display:inline-block;text-align:center}
.grade-b{background:rgba(148,163,184,0.08);color:var(--text-2);border:1px solid var(--border-mid);padding:3px 9px;border-radius:5px;font-size:11px;font-weight:700;display:inline-block;text-align:center}
.dir-long{color:var(--green);font-weight:700}
.dir-short{color:var(--red);font-weight:700}
.metric{cursor:default;transition:border-color .12s}
.metric:hover{border-color:var(--border-mid)}
.v5-wlchip{border-radius:6px;transition:all .15s}
.v5-wlchip.act{box-shadow:0 0 0 1px rgba(6,182,212,0.4)}

/* 隐藏旧 tab 按钮 */
.tab,.tab-btn{display:none}
/* 仓位管理 */
.pm-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pm-stat{background:var(--bg-surface);border:1px solid var(--border-dim);border-radius:8px;padding:12px;text-align:center}
.pm-stat .pmv{font-size:24px;font-weight:700;margin:6px 0;line-height:1.2}
.pm-stat .pml{font-size:11px;color:var(--text-3);letter-spacing:1px;font-weight:500}
.pm-hrow{display:grid;gap:6px;padding:11px 14px;font-size:13px;border-bottom:1px solid var(--border-dim);align-items:center;transition:background .1s}
.pm-hrow:hover{background:var(--bg-hover)}
.pm-hhdr{font-size:11px;color:var(--text-3);letter-spacing:1px;padding:8px 14px;border-bottom:1px solid var(--border-dim);font-weight:500}
/* 用户中心 */
.uc-card{background:var(--bg-surface);border:1px solid var(--border-dim);border-radius:10px;padding:20px}
/* 浅色主题 */
body.light-theme{--bg-void:#f0f4f8;--bg-base:#ffffff;--bg-surface:#f8fafc;--bg-card:#ffffff;--bg-raised:#f1f5f9;--bg-hover:#e8eef4;--border-dim:rgba(0,0,0,0.07);--border-mid:rgba(0,0,0,0.12);--text-1:#1e293b;--text-2:#475569;--text-3:#94a3b8;--text-4:#cbd5e1;--font-mono:'JetBrains Mono',monospace}
body.light-theme .v5-nav{background:rgba(255,255,255,0.95);border-bottom:1px solid rgba(0,0,0,0.1)}
body.light-theme .v5-section{background:#f8fafc}
body.light-theme .v5-tab{color:#475569}
body.light-theme .v5-tab.active{color:#1e293b;border-bottom-color:#10b981}
body.light-theme .v5-price-main{color:#0d9668}
body.light-theme .card{background:#ffffff;border-color:rgba(0,0,0,0.08)}
body.light-theme .metric{background:#f8fafc;border-color:rgba(0,0,0,0.08)}
body.light-theme .pm-stat{background:#f8fafc;border-color:rgba(0,0,0,0.08)}

body.light-theme{--bg-void:#f0f4f8;--bg-app:#e8edf5;--bg-surface:#ffffff;--bg-card:#ffffff;--bg-panel:#f8fafc;--border-dim:rgba(0,0,0,0.08);--border-mid:rgba(0,0,0,0.12);--text-1:#0f172a;--text-2:#1e293b;--text-3:#475569;--text-4:#94a3b8}
body.light-theme .v5-topbar{background:#ffffff;border-bottom:1px solid rgba(0,0,0,0.1)}
body.light-theme .v5-section{background:#f0f4f8}
body.light-theme .card,.light-theme .v5-card{background:#ffffff;border-color:rgba(0,0,0,0.08)}
body.light-theme .v5-price-main{color:#0d9668}
body.light-theme .v5-tab{color:#475569}
body.light-theme .v5-tab.active{color:#0f172a;border-bottom-color:#10b981}
body.light-theme #mainApp{background:#f0f4f8}
body.light-theme .pair-btn{background:#ffffff;border-color:rgba(0,0,0,0.12);color:#1e293b}
body.light-theme .v5-tbtn{background:rgba(0,0,0,0.05);color:#475569}
body.light-theme input,body.light-theme select,body.light-theme textarea{background:#ffffff;border-color:rgba(0,0,0,0.15);color:#1e293b}
body.light-theme .login-wrap{background:var(--bg-void)}
body.light-theme .v5-subtabs{background:rgba(0,0,0,0.03);border-bottom:1px solid rgba(0,0,0,0.08)}
body.light-theme .v5-tabpanel{color:#1e293b}
body.light-theme .interval-btn{background:rgba(0,0,0,0.05);color:#475569;border-color:rgba(0,0,0,0.1)}
body.light-theme .interval-btn.active{background:rgba(16,185,129,0.15);color:#0d9668;border-color:rgba(16,185,129,0.4)}
body.light-theme .spinner{border-color:rgba(0,0,0,0.1);border-top-color:#10b981}
body.light-theme #loadingChart{background:#f0f4f8;color:#475569}
body.light-theme .v5-wlchip{background:rgba(0,0,0,0.04);border-color:rgba(0,0,0,0.1);color:#475569}
body.light-theme .v5-wlchip.act{background:rgba(16,185,129,0.12);border-color:rgba(16,185,129,0.4);color:#0d9668}
body.light-theme .pm-hhdr{color:#94a3b8;border-bottom-color:rgba(0,0,0,0.08)}
body.light-theme .pm-hrow{border-bottom-color:rgba(0,0,0,0.05);color:#1e293b}
body.light-theme .signal-card{background:#ffffff;border-color:rgba(0,0,0,0.1)}
body.light-theme .v5-topnav{background:rgba(248,250,252,0.97)}
body.light-theme #dropdown{background:#ffffff;border-color:rgba(0,0,0,0.12)}
body.light-theme #searchInput{background:#f8fafc;color:#1e293b;border-color:rgba(0,0,0,0.1)}
body.light-theme #pairList button{color:#1e293b}
body.light-theme #pairList button:hover{background:rgba(0,0,0,0.05)}
body.light-theme .toast-item{background:#1e293b;color:#e2e8f0}
body.light-theme .uc-card{background:#ffffff;border-color:rgba(0,0,0,0.08)}
body.light-theme .modal-box{background:#ffffff;border-color:rgba(0,0,0,0.1)}
body.light-theme .v5-botnav{background:rgba(255,255,255,0.97);border-top-color:rgba(0,0,0,0.1)}
body.light-theme .v5-mbtn{color:#94a3b8}
body.light-theme #at-panel, body.light-theme #at-cfg-panel{background:#f8fafc;border-color:rgba(0,0,0,0.08)}
body.light-theme .position-card{background:#ffffff;border-color:rgba(0,0,0,0.1)}
body.light-theme #tradingview_widget{filter:invert(0)}
body.light-theme .v5-mktbar{background:rgba(248,250,252,0.95);border-bottom-color:rgba(0,0,0,0.08)}
body.light-theme .v5-wlbar{border-bottom-color:rgba(0,0,0,0.08)}
body.light-theme [id^="wlcard-"]{background:#f8fafc;border-color:rgba(0,0,0,0.08)}
/* 移动端增强 */
@media(max-width:768px){
  .v5-price-main{font-size:20px!important;min-width:100px!important}
  .v5-pricebar{gap:6px!important;flex-wrap:wrap}
  .v5-pricebar .badge-box{display:none}
  .v5-nav-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .v5-nav-tabs::-webkit-scrollbar{display:none}
  .v5-tab{white-space:nowrap;font-size:11px!important;padding:8px 10px!important}
  .card{padding:10px!important}
  .metric{padding:8px!important}
  .pm-stat-grid{grid-template-columns:1fr 1fr!important}
  .pm-stat .pmv{font-size:18px!important}
}
/* 移动端 */
.mobile-price-bar{display:none;background:var(--bg-surface);border-bottom:1px solid var(--border-dim);padding:6px 12px;justify-content:space-between;align-items:center;flex-shrink:0}
#mobileMenuBtn{display:none}
@media(max-width:768px){
  .v5-topnav{padding:0 12px}
  .v5-logo-ver,.v5-live,.v5-tbtn:not(#mobileMenuBtn){display:none}
  #mobileMenuBtn{display:flex!important;align-items:center;justify-content:center;width:32px;height:32px}
  .v5-mktbar .v5-wlbar,.v5-mktbar .v5-pricebar{display:none}
  .v5-subtabs{padding:0 8px}
  .v5-tab{padding:0 10px;font-size:9px}
  .v5-content{padding:10px}
  .grid4{grid-template-columns:1fr 1fr!important}
  .grid3{grid-template-columns:1fr 1fr!important}
  .grid2{grid-template-columns:1fr!important}
  .mobile-price-bar{display:flex}
  #tvWidgetWrap{height:280px!important}
  .v5-botnav{display:flex!important}
  .pm-stat-grid{grid-template-columns:1fr 1fr!important}
}
.v5-botnav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--bg-base);border-top:1px solid var(--border-dim);padding:6px 0}
.v5-mbtn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;color:var(--text-4);cursor:pointer;border:none;background:none;padding:4px 0;transition:color .1s}
.v5-mbtn.act-m{color:var(--cyan)}.v5-mbtn.act-t{color:var(--amber)}.v5-mbtn.act-u{color:var(--violet)}
.v5-mbtn .mi{font-size:16px}

/* ── 移动端额外修复 ── */
@media(max-width:480px){
  /* Tab 栏横向滚动 + 字号 */
  .v5-tablist{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}
  .v5-tab{font-size:10px!important;padding:6px 8px!important;flex-shrink:0;scroll-snap-align:start}
  /* 价格栏紧凑 */
  .v5-price-main{font-size:22px!important;letter-spacing:-0.5px!important;min-width:80px!important}
  /* 信号卡片全宽 */
  .signal-cards-grid{grid-template-columns:1fr!important}
  /* 持仓卡片按钮 wrap */
  .position-actions{flex-wrap:wrap!important;gap:4px!important}
  .position-actions button{flex:1 1 45%!important;font-size:9px!important;padding:5px!important}
  /* 仓位管理统计 2列 */
  .pm-stat-grid,.v5-grid-stats{grid-template-columns:1fr 1fr!important}
  /* TradingView 图表高度 */
  #tvWidgetWrap{height:240px!important}
  /* 导航 tab 字号 */
  .v5-nav-tabs .v5-tab{min-width:fit-content}
  /* 卡片间距 */
  .v5-content{padding:6px!important;gap:8px!important}
  /* 大额交易表格文字 */
  .trades-table td{font-size:10px!important}
  /* 搜索框 */
  #searchInput{font-size:14px!important}
  /* 信号弹窗按钮在小屏幕上换行 */
  .signal-alert-actions{flex-wrap:wrap!important;gap:5px!important}
  .signal-alert-actions button{flex:1 1 45%!important;min-width:80px!important}
  /* 市场情绪 多币种网格 手机上2列 */
  #multiSentimentGrid{grid-template-columns:1fr 1fr!important}
  /* 庄家追踪 图表高度限制 */
  #whale-chart-wrap{height:160px!important}
  /* 指标Metric卡片 2列 */
  .v5-metrics{grid-template-columns:1fr 1fr!important}
  /* 盈亏区4格→2格 */
  .m-metrics-grid{grid-template-columns:1fr 1fr!important}
  /* 底部导航安全区 */
  .v5-section{padding-bottom:70px!important}
  /* 大额交易列表字号 */
  #tradesList .trade-row{font-size:10px!important;padding:5px 8px!important}
  /* 自动交易配置垂直排列 */
  .at-config-grid{grid-template-columns:1fr!important}
  /* 模态弹窗适配 */
  .signal-modal{width:95vw!important;max-width:95vw!important;max-height:85vh!important;overflow-y:auto}
  /* TradingView高度 */
  #tvWidgetWrap{height:260px!important}
  /* 庄家追踪 2列→1列 */
  #whaleJudge .grid2{grid-template-columns:1fr!important}
}


/* ════════════════════════════════════════
   APEX UI Enhancement v5.1
   ════════════════════════════════════════ */

/* ── 顶部导航优化 ── */
.v5-topnav {
  background: rgba(5,8,16,0.97);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  height: 58px;
  padding: 0 24px;
}

/* .v5-logo-hex deprecated */

/* 一级导航按钮重设计 */
.v5-section-nav {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 10px;
  padding: 4px;
  gap: 2px;
}

.v5-sec-btn {
  padding: 7px 22px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.2px;
  transition: all 0.2s cubic-bezier(0.4,0,0.2,1);
  position: relative;
  overflow: hidden;
}

.v5-sec-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.2s;
  border-radius: 7px;
}

.v5-sec-btn:hover::before { opacity: 1; }
.v5-sec-btn:hover { color: var(--text-1); }

.v5-sec-btn.active-m {
  background: linear-gradient(135deg, rgba(16,185,129,0.18) 0%, rgba(16,185,129,0.08) 100%);
  color: #10b981;
  border: 1px solid rgba(16,185,129,0.35);
  box-shadow: 0 0 12px rgba(16,185,129,0.15), inset 0 1px 0 rgba(16,185,129,0.15);
}

.v5-sec-btn.active-t {
  background: linear-gradient(135deg, rgba(245,158,11,0.18) 0%, rgba(245,158,11,0.08) 100%);
  color: #f59e0b;
  border: 1px solid rgba(245,158,11,0.35);
  box-shadow: 0 0 12px rgba(245,158,11,0.15), inset 0 1px 0 rgba(245,158,11,0.15);
}

.v5-sec-btn.active-u {
  background: linear-gradient(135deg, rgba(168,85,247,0.18) 0%, rgba(168,85,247,0.08) 100%);
  color: #a855f7;
  border: 1px solid rgba(168,85,247,0.35);
  box-shadow: 0 0 12px rgba(168,85,247,0.15), inset 0 1px 0 rgba(168,85,247,0.15);
}

/* ── 二级Tab优化 ── */
.v5-subtabs {
  background: rgba(5,8,16,0.95);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  padding: 0 24px;
  min-height: 46px;
  backdrop-filter: blur(8px);
}

.v5-tab {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.3px;
  padding: 0 16px;
  height: 46px;
  color: var(--text-3);
  transition: color 0.15s, border-color 0.15s;
  border-bottom: 2px solid transparent;
}

.v5-tab:hover { color: var(--text-2); }

.v5-tab.active {
  font-weight: 600;
}

/* ── 卡片全面升级 ── */
.card {
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px;
  padding: 18px 20px;
  transition: border-color 0.2s, box-shadow 0.2s;
  position: relative;
  overflow: hidden;
}

.card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.06), transparent);
  pointer-events: none;
}

.card:hover {
  border-color: rgba(255,255,255,0.1);
  box-shadow: 0 4px 24px rgba(0,0,0,0.4);
}

.uc-card {
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px;
  padding: 22px 24px;
  transition: border-color 0.2s, box-shadow 0.2s;
  position: relative;
}

.uc-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.06), transparent);
  pointer-events: none;
}

.uc-card:hover {
  border-color: rgba(255,255,255,0.1);
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}

/* ── 数据指标升级 ── */
.metric {
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px;
  padding: 16px 18px;
  transition: all 0.2s;
}

.metric:hover {
  border-color: rgba(16,185,129,0.2);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.4);
}

.lbl {
  font-size: 9px;
  letter-spacing: 1.5px;
  color: var(--text-4);
  margin-bottom: 6px;
  text-transform: uppercase;
  font-weight: 500;
}

.val {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}

/* ── pm-stat 交易统计卡片升级 ── */
.pm-stat {
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px;
  transition: transform .15s, border-color .15s, box-shadow .15s;
}

.pm-stat:hover {
  transform: translateY(-2px);
  border-color: rgba(16,185,129,0.25);
  box-shadow: 0 8px 24px rgba(0,0,0,0.4);
}

/* ── 输入框升级 ── */
.login-input {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 8px;
  color: var(--text-1);
  font-family: var(--font-mono);
  font-size: 12px;
  padding: 10px 14px;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
  outline: none;
}

.login-input:focus {
  border-color: rgba(16,185,129,0.5);
  background: rgba(16,185,129,0.05);
  box-shadow: 0 0 0 3px rgba(16,185,129,0.08);
}

.login-input::placeholder { color: var(--text-4); }

/* ── 信号行升级 ── */
.sig-row {
  border-radius: 8px;
  margin: 2px 0;
  transition: background 0.15s, transform 0.1s;
  border-bottom: none !important;
}

.sig-row:hover {
  background: rgba(255,255,255,0.04);
  transform: translateX(2px);
}

/* ── 风控日志行 ── */
#at-risk-events-list > div,
#risk-events-list > div {
  border-radius: 6px;
  margin: 2px 0;
  transition: background 0.15s;
}

#at-risk-events-list > div:hover,
#risk-events-list > div:hover {
  background: rgba(255,255,255,0.03);
}

/* ── 订单记录表格升级 ── */
#at-orders-tbody tr {
  transition: background 0.12s;
}

#at-orders-tbody tr:hover td {
  background: rgba(255,255,255,0.025) !important;
}

/* ── 按钮全局优化 ── */
button {
  transition: all 0.15s cubic-bezier(0.4,0,0.2,1);
}

/* ── 进度徽章升级 ── */
.grade-aplus {
  background: linear-gradient(135deg, rgba(16,185,129,0.2), rgba(16,185,129,0.1));
  border: 1px solid rgba(16,185,129,0.35);
  box-shadow: 0 0 8px rgba(16,185,129,0.1);
}

.grade-a {
  background: linear-gradient(135deg, rgba(6,182,212,0.2), rgba(6,182,212,0.1));
  border: 1px solid rgba(6,182,212,0.35);
  box-shadow: 0 0 8px rgba(6,182,212,0.1);
}

/* ── 滚动条美化 ── */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.1);
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.18); }

/* ── 自选快捷栏芯片升级 ── */
.v5-wl-chip {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 10px;
  font-family: var(--font-mono);
  color: var(--text-3);
  cursor: pointer;
  transition: all 0.15s;
  white-space: nowrap;
}

.v5-wl-chip:hover {
  background: rgba(6,182,212,0.1);
  border-color: rgba(6,182,212,0.3);
  color: var(--cyan);
}

.v5-wl-chip.active {
  background: rgba(6,182,212,0.15);
  border-color: rgba(6,182,212,0.4);
  color: var(--cyan);
}

/* ── 状态徽章升级 ── */
[id*="backend-scanner-status"] {
  font-size: 9px;
  padding: 2px 8px;
  border-radius: 10px;
  font-weight: 600;
  letter-spacing: 0.3px;
}

/* ── Toast 升级 ── */
#toast {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 8px 32px rgba(0,0,0,0.5);
  border-radius: 10px;
}

/* ── 分区内容区填充 ── */
.v5-content {
  padding: 20px 24px;
  overflow-y: auto;
  flex: 1;
}

/* ── 交易中心 & 用户中心：内容居中限宽 ── */
/* tabpanel 直接撑满 v5-content，用 max-width 在 tabpanel 层控制 */
#tradeContent .v5-tabpanel {
  max-width: 1280px !important;
  margin: 0 auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* ── 用户中心：所有tabpanel统一居中限宽，对齐自动交易1200px ── */
#userContent .v5-tabpanel {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}

/* ── 用户中心账号设置卡片 — 三列布局 ── */
#usr-account > div {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: none !important;
}

/* ── 交易统计grid升级 ── */
.grid4 { gap: 12px; }
.grid2 { gap: 12px; }

/* ── 仓位持仓header ── */
#trd-positions .card:first-child {
  border-color: rgba(6,182,212,0.12);
}

/* ── 导航右侧按钮 ── */
.v5-tbtn {
  padding: 5px 12px;
  border-radius: 7px;
  font-size: 10px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
  transition: all 0.15s;
}

.v5-tbtn:hover {
  border-color: rgba(255,255,255,0.15);
  background: rgba(255,255,255,0.06);
  color: var(--text-1);
}

/* ── 实时脉冲动画增强 ── */
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

/* ── 卡片标题样式 ── */
.card > div:first-child > span:first-child,
.uc-card > div:first-child {
  font-weight: 600;
  letter-spacing: 0.2px;
}

/* ── interval-btn升级 ── */
.interval-btn {
  padding: 5px 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 6px;
  color: var(--text-3);
  cursor: pointer;
  font-family: var(--font-mono);
  font-size: 10px;
  transition: all 0.15s;
}

.interval-btn:hover {
  background: rgba(255,255,255,0.07);
  border-color: rgba(255,255,255,0.14);
  color: var(--text-2);
}

.interval-btn.active {
  background: linear-gradient(135deg, rgba(6,182,212,0.18), rgba(6,182,212,0.08));
  border-color: rgba(6,182,212,0.4);
  color: var(--cyan);
  box-shadow: 0 0 8px rgba(6,182,212,0.12);
}

/* ── 用户中心Tab面板间距 ── */
#usr-account, #usr-scanner, #usr-admin {
  padding: 4px 0;
}

/* ── 背景微纹理 ── */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image: 
    radial-gradient(ellipse at 20% 50%, rgba(6,182,212,0.03) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 20%, rgba(139,92,246,0.03) 0%, transparent 50%),
    radial-gradient(ellipse at 60% 80%, rgba(245,158,11,0.02) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}

#mainApp, #loginPage { position: relative; z-index: 1; }



/* ════════════════════════════════════════
   APEX UI v6 — v4.2配色风格移植版
   Deep Navy Black + Emerald Green
   ════════════════════════════════════════ */

/* 全局字体补充 */
input, button, select, textarea {
  font-size: 13px;
}

/* 导航阴影 */
.v5-topnav {
  box-shadow: 0 1px 0 rgba(255,255,255,0.04), 0 4px 20px rgba(0,0,0,0.6);
}

/* Logo 版本号 */
.v5-logo-ver {
  font-size: 8px;
  color: rgba(16,185,129,0.7);
  letter-spacing: 2.5px;
  display: block;
}

/* active tab v4.2色系 */
.v5-tab.active { font-weight: 600; }
.v5-tab.act-m.active { color: #10b981; border-bottom-color: #10b981; }
.v5-tab.act-t.active { color: #f59e0b; border-bottom-color: #f59e0b; }
.v5-tab.act-u.active { color: #a855f7; border-bottom-color: #a855f7; }

/* 卡片标题 */
.card-title, .section-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-2);
  letter-spacing: 0.5px;
}

/* 输入框全局统一 */
input[type=text], input[type=number], input[type=password] {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 7px;
  padding: 9px 13px;
  color: #e2e8f0;
  font-family: var(--font-mono);
  font-size: 13px;
  outline: none;
  transition: all .15s;
}
input[type=text]:focus, input[type=number]:focus, input[type=password]:focus {
  border-color: rgba(16,185,129,0.5);
  background: rgba(16,185,129,0.05);
  box-shadow: 0 0 0 3px rgba(16,185,129,0.08);
}

/* 按钮全局 */
button { font-size: 13px; }

/* 绿色涨幅 */
.up, .bull, .long, [class*=green] { color: var(--green) !important; }
/* 红色跌幅 */
.down, .bear, .short, [class*=red] { color: var(--red) !important; }

/* 持仓卡片发光边框（多头） */
.pos-long { border-left: 3px solid var(--green) !important; box-shadow: inset 3px 0 14px rgba(48,208,144,0.08), 0 0 0 1px rgba(48,208,144,0.06) !important; }
.pos-short { border-left: 3px solid var(--red) !important; box-shadow: inset 3px 0 14px rgba(240,64,96,0.08), 0 0 0 1px rgba(240,64,96,0.06) !important; }

/* 信号行 hover 发光 */
.sig-row:hover {
  background: rgba(16,185,129,0.04) !important;
  border-left: 2px solid rgba(16,185,129,0.3);
}

/* pm-stat 数字发光 */
.pm-stat .pmv.pos { color: var(--green); text-shadow: 0 0 12px rgba(0,229,160,0.4); }
.pm-stat .pmv.neg { color: var(--red); text-shadow: 0 0 12px rgba(255,77,106,0.4); }

/* 扫描引擎状态条 */
.engine {
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px;
}

/* 自选快捷栏 active 高亮 */
.v5-wlchip.active, .v5-wlchip:hover {
  background: rgba(16,185,129,0.08) !important;
  border-color: rgba(16,185,129,0.25) !important;
  color: #10b981 !important;
}

/* 下单面板升级 */
.v5-order-panel input {
  font-size: 14px !important;
  padding: 10px 14px !important;
}
.v5-order-panel input:focus {
  border-color: rgba(16,185,129,0.5) !important;
  box-shadow: 0 0 0 3px rgba(16,185,129,0.08) !important;
}

/* 滚动条加宽一点点 */
::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-thumb { background: #1e2d4a; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(16,185,129,0.3); }

/* 发光动画按钮 */
.btn-glow {
  box-shadow: 0 0 16px rgba(16,185,129,0.15);
  transition: box-shadow .2s;
}
.btn-glow:hover { box-shadow: 0 0 24px rgba(16,185,129,0.3); }

/* 金色强调 */
.accent-gold { color: var(--gold) !important; }
.accent-gold-bg { background: var(--gold-dim) !important; border-color: rgba(247,201,72,0.3) !important; }

/* 背景网格微纹（增加科技感） */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    linear-gradient(rgba(16,185,129,0.015) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,185,129,0.015) 1px, transparent 1px);
  background-size: 48px 48px;
}

/* 保证内容层级在网格之上 */
.v5-topnav, .v5-subtabs, .v5-content, #mainContent, .v5-botnav {
  position: relative;
  z-index: 1;
}

/* ── 移动端补强 Phase3 #8 ── */
@media(max-width:600px){
  .v5-nav{padding:0 8px}
  .v5-pricebar{flex-wrap:wrap;gap:4px;padding:6px 8px}
  .v5-price-main{font-size:20px !important;min-width:120px !important}
  .v5-tbtn{padding:4px 8px;font-size:10px}
  .v5-tablist{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}
  .v5-tab{white-space:nowrap;flex-shrink:0;padding:8px 10px;font-size:10px}
  .v5-content{padding:8px}
  .card{padding:12px}
  .grid2{grid-template-columns:1fr !important}
  #section-market .v5-content{padding:6px}
  .v5-wlbar{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .v5-wlchip{flex-shrink:0}
  #mktContent{overflow-x:hidden}
  /* 交易中心手机布局 */
  #tradeContent .v5-content{padding:6px}
  .pm-stat{padding:10px 8px}
  .pm-hhdr{display:none !important}
}

/* ══ Phase3 #8 移动端深度补强 ══ */
@media(max-width:600px){
  /* 搜索下拉全屏 */
  #dropdown{ width:92vw !important; left:4vw !important; right:4vw !important; }

  /* 行情信号卡片全宽 */
  .sig-card, .signal-card{ width:100% !important; min-width:unset !important; }

  /* 结构分析 4格 → 2格 */
  .struct-grid{ grid-template-columns:1fr 1fr !important; }

  /* 仓位管理历史表格改为卡片式 */
  #pm-order-list .pm-hrow{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:4px !important;
    padding:8px !important;
    font-size:10px !important;
  }

  /* 自动交易面板双列 → 单列 */
  #at-panel-grid{ grid-template-columns:1fr !important; }

  /* 底栏导航不遮挡内容 */
  .v5-content{ padding-bottom:60px !important; }

  /* 登录框居中适配 */
  .login-box{ width:88vw !important; padding:24px 20px !important; }

  /* 弹窗全屏 */
  .modal-box{ width:94vw !important; max-height:85vh; overflow-y:auto; }

  /* 图表高度 */
  #tvWidgetWrap{ height:240px !important; min-height:220px !important; }

  /* 合约数据 tab 内容换行 */
  .futures-grid{ grid-template-columns:1fr 1fr !important; }

  /* 指标卡片 */
  .metric-grid, .v5-metrics{ grid-template-columns:1fr 1fr !important; }
}

/* 超小屏 (≤380px iPhone SE) */
@media(max-width:380px){
  .v5-price-main{ font-size:18px !important; }
  .v5-tab{ font-size:9px !important; padding:6px 7px !important; }
  #tvWidgetWrap{ height:200px !important; }
}

/* ══ 移动端深度优化 v2 ══ */
@media(max-width:768px){
  /* 1. 二级tab栏 — 隐藏溢出 + 横向滚动 */
  .v5-subtabs{ overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding:0 6px; }
  .v5-subtabs::-webkit-scrollbar{ display:none; }
  .v5-tablist{ flex-wrap:nowrap; }
  .v5-tab{ flex-shrink:0; white-space:nowrap; padding:0 10px !important; height:38px !important; font-size:11px !important; }

  /* 2. 图表区域扩展 — 给TV图更多垂直空间 */
  #tradingview_widget{ min-height:280px; }
  #tvWidgetWrap{ height:300px !important; }

  /* 3. 顶部导航 — 三段式紧凑 */
  .v5-topnav{ height:44px !important; padding:0 8px !important; }
  .v5-logo-icon{ width:28px !important; height:28px !important; }
  .v5-logo-text{ font-size:15px !important; letter-spacing:5px !important; }
  .v5-section-nav{ display:none !important; } /* 移动端用底部导航代替 */
  .v5-topright{ gap:4px !important; }

  /* 4. 底部信号卡片 — 2x2网格 */
  .v5-metrics, .m-metrics-grid, #mkt-metrics{ 
    display:grid !important; 
    grid-template-columns:1fr 1fr !important; 
    gap:6px !important; 
  }
  .metric{ padding:10px 8px !important; }
  .metric .val{ font-size:16px !important; }
  .metric .lbl{ font-size:9px !important; }
  .metric .sub{ font-size:8px !important; }

  /* 5. 交易中心配置面板 — 全宽堆叠 */
  .at-panel-wrap, #at-panel-grid, .trade-config-grid{
    grid-template-columns:1fr !important;
  }

  /* 6. 触控友好 — 最小点击区域 44px */
  .v5-tbtn, .interval-btn, .v5-wlchip{ min-height:36px; min-width:36px; }
  .pair-btn{ padding:8px 12px !important; font-size:14px !important; }

  /* 7. 仓位卡片优化 */
  .pos-card-grid{ grid-template-columns:1fr 1fr !important; }
  .pos-card-actions{ flex-wrap:wrap; gap:4px; }
  .pos-card-actions button{ flex:1 1 45%; font-size:9px; padding:6px 4px; }

  /* 8. 顶部价格栏 + ticker行 */
  .v5-mktbar{ flex-wrap:wrap; gap:4px; }
  .v5-wlbar{ max-width:100%; }
  .v5-pairwrap{ order:-1; }
}

/* 横屏 + 平板 */
@media(min-width:769px) and (max-width:1024px){
  .v5-content{ padding:12px 14px; }
  #mktContent .v5-tabpanel{ max-width:100%; }
  .v5-tab{ font-size:11px; padding:0 12px; }
}
