:root{--bg:#080a0d;--side:#0b0d11;--card:#101319;--card2:#151922;--bd:#242a35;--bd2:#303846;--tx:#eef2f6;--mut:#9aa4b2;--mut2:#687384;
--grn:#35c66b;--grnbg:#102417;--red:#ef5f63;--redbg:#2a1114;--blue:#7aa2ff;--blue2:#9bb8ff;--link:#b7c4d6;--link-hover:#e2e8f0;--gold:#f2c14e;--goldbg:#2a2211;--sh:none}
*{box-sizing:border-box}html,body{margin:0}
body{background:var(--bg);color:var(--tx);font-size:14px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-variant-numeric:tabular-nums}
a{color:inherit;text-decoration:none}
.layout{display:flex;min-height:100vh}
.side{width:216px;flex:none;background:var(--side);border-right:1px solid var(--bd);padding:18px 12px;position:sticky;top:0;height:100vh}
.brand{font-size:20px;font-weight:760;margin:0 8px 14px;letter-spacing:.01em}.dot{color:var(--gold)}
.authbtn{display:inline-flex;align-items:center;gap:7px;background:#101725;border:1px solid #334155;color:#dbe6ff;border-radius:7px;padding:6px 10px;font-size:12px;font-weight:760;cursor:pointer}
.authbtn:hover{border-color:var(--blue);background:#152036}.authdot{width:7px;height:7px;border-radius:50%;background:var(--grn);box-shadow:0 0 0 3px rgba(53,198,107,.12)}
.nav a{display:flex;align-items:center;gap:10px;padding:10px 10px;border-radius:7px;color:var(--mut);font-weight:620;margin-bottom:3px;border:1px solid transparent;cursor:pointer}
.nav a.on{background:var(--card2);border-color:var(--bd2);color:var(--tx)}.nav a:hover{background:#12161d;color:var(--tx)}
.navico{width:18px;height:18px;display:inline-grid;place-items:center;flex:none;color:#768397}.nav a.on .navico,.nav a:hover .navico{color:var(--blue2)}
.navico svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sidefoot{position:absolute;bottom:16px;left:14px;color:var(--mut2);font-size:11px;line-height:1.6;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.content{flex:1;min-width:0;padding:18px 20px 60px}
.eyebrow{color:var(--mut);font-size:12px}h1{font-size:24px;font-weight:720;margin:2px 0 14px;letter-spacing:0}
.grid{display:grid;gap:12px}.kpis{grid-template-columns:repeat(6,1fr)}
.card{background:var(--card);border:1px solid var(--bd);border-radius:8px;box-shadow:var(--sh);padding:14px}
.kpi{background:var(--card2);border-color:var(--bd2)}
.kpi .lbl{color:var(--mut);font-size:11.5px}.kpi .val{font-size:23px;font-weight:760;margin:7px 0 3px;letter-spacing:-.01em}.kpi .sub{color:var(--mut2);font-size:11px}
.kpi.hi{background:#111b15;border-color:#234f32}.kpi.hi .val{color:var(--grn)}
.sec{margin-top:14px}h3{font-size:14px;font-weight:680;margin:0 0 10px;letter-spacing:0}h3 .note{font-weight:400;color:var(--mut);font-size:12px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bar{height:8px;background:#0b0e13;border-radius:3px;overflow:hidden;margin:8px 0;border:1px solid var(--bd)}.bar>i{display:block;height:100%;background:var(--gold)}
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;font-size:13px;min-width:max-content}
th,td{text-align:left;padding:8px 9px;border-bottom:1px solid var(--bd);white-space:nowrap}
th{color:var(--mut2);font-weight:560;font-size:11px;background:#0c0f14}td.r,th.r{text-align:right}
tr:hover td{background:#121720}
th.sortable{cursor:pointer;user-select:none;transition:color .12s}th.sortable:hover{color:var(--tx)}
th.sortable.on{color:var(--blue);font-weight:700}th .arr{margin-left:3px;font-size:10px}
.pos{color:var(--red)}.neg{color:var(--grn)}.ok{color:var(--grn)}.err{color:var(--red)}.blue{color:var(--blue);font-weight:700}.gold{color:var(--gold);font-weight:700}.mut{color:var(--mut)}
.lnk{color:var(--link);cursor:pointer}.lnk:hover{color:var(--link-hover)}.av{width:30px;height:30px;border-radius:6px;vertical-align:middle;background:#0d1117;object-fit:cover}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
input,select{background:#0b0e13;border:1px solid var(--bd);color:var(--tx);border-radius:7px;padding:9px 11px;font-size:14px}
input:focus,select:focus{outline:2px solid rgba(122,162,255,.35);border-color:var(--blue)}
button{font:inherit;background:#0b0e13;border:1px solid var(--bd);color:var(--tx);border-radius:7px;padding:8px 12px;cursor:pointer}
button:hover:not(:disabled){border-color:var(--blue);color:#dbe6ff}
button:disabled{opacity:.42;cursor:not-allowed}
.chip{border:1px solid var(--bd);background:#0b0e13;border-radius:999px;padding:5px 11px;font-size:12px;cursor:pointer;color:var(--mut)}
.chip:hover{border-color:var(--bd2);color:var(--tx)}.chip.on{background:#182033;border-color:#40527a;color:#d8e3ff;font-weight:650}
.pager{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:12px}
.pager button{background:#0b0e13;border:1px solid var(--bd);color:var(--tx);border-radius:7px;padding:7px 13px;cursor:pointer}
.pager button:hover:not(:disabled){border-color:var(--blue);color:#dbe6ff}.pager button:disabled{opacity:.42;cursor:not-allowed}
.cat{font-size:10px;padding:1px 6px;border-radius:4px;margin-left:6px;font-weight:650;background:#171c24;color:#a8b3c2;border:1px solid var(--bd)}
.cat.knife{background:#2a161d;color:#ff8fa8}.cat.glove{background:#281e12;color:#f3bf68}.cat.rifle{background:#132036;color:#8fb5ff}
.lv{font-size:11px;padding:2px 9px;border-radius:999px;font-weight:700}
.lv.s3{background:var(--redbg);color:#ff8a8e}.lv.s2{background:#2b1d10;color:#f0a24b}.lv.s1{background:var(--goldbg);color:var(--gold)}.lv.s0{background:#171c24;color:#a8b3c2}
.cmpScore{display:inline-grid;grid-template-columns:44px 80px;align-items:center;gap:8px}.cmpScore b{font-size:16px}.cmpScore i{display:block;height:6px;background:#0b0e13;border:1px solid var(--bd);border-radius:999px;overflow:hidden}.cmpScore span{display:block;height:100%;background:var(--red)}
.cmpParts{display:flex;gap:5px;flex-wrap:wrap;color:var(--mut);font-size:11px}.cmpPart{display:inline-block;border:1px solid var(--bd);border-radius:999px;padding:1px 6px;color:var(--tx);background:#0b0e13}
.cmpGuide{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:10px}.cmpGuide b{font-size:14px}.cmpGuide span{color:var(--mut);font-size:12px}
.cmpBasket{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 10px;min-height:34px;padding:8px;border:1px dashed #2b3443;border-radius:8px;background:#0b0e13}
.cmpChip{display:inline-flex;align-items:center;gap:8px;max-width:360px;border:1px solid #354258;border-radius:999px;background:#121827;padding:5px 6px 5px 10px;color:#dbe6ff;font-size:12.5px;font-weight:650}.cmpChip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmpChip button{width:22px;height:22px;padding:0;display:grid;place-items:center;border-radius:999px;background:#0b0e13;color:var(--mut)}
.cmpEmpty{color:var(--mut);font-size:12px;align-self:center}.cmpActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.cmpPickBtn{padding:4px 8px;border-radius:6px;border-color:#40527a;background:#111b2d;color:#dbe6ff;font-size:12px;font-weight:720;white-space:nowrap}.cmpPickBtn:hover{background:#182642}.cmpPickBtn.cmpTiny{margin-left:7px;padding:2px 7px;font-size:11px;vertical-align:middle}
.cmpWinner{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #3b4c70;background:#111827;border-radius:8px;padding:12px;margin-bottom:10px}.cmpWinnerK{color:var(--gold);font-size:12px;font-weight:800}.cmpWinnerName{font-size:16px;font-weight:760;margin-top:2px}.cmpWinnerSub,.cmpReason{color:var(--mut);font-size:12px;margin-top:3px}.cmpWinnerScore{flex:none}
.tier{display:inline-block;min-width:18px;text-align:center;font-size:11px;padding:2px 7px;border-radius:5px;font-weight:800;letter-spacing:.5px;margin-left:4px}
.tier.S{background:#331215;color:#ff9296;box-shadow:0 0 0 1px #6f242b inset}
.tier.A{background:#30200d;color:#f2b15d;box-shadow:0 0 0 1px #725028 inset}
.tier.B{background:#13233e;color:#91b9ff}
.tier.C{background:#1d232c;color:#b0bac7}
.tier.D{background:#15191f;color:#798392}
.catbar{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.catbar .row{display:flex;align-items:center;gap:8px;font-size:12.5px}
.catbar .row .nm{width:48px;color:var(--mut);font-weight:600}
.catbar .row .bw{flex:1;height:12px;background:#0b0e13;border-radius:3px;overflow:hidden;border:1px solid var(--bd)}
.catbar .row .bw>i{display:block;height:100%}
.catbar .row .v{min-width:96px;text-align:right;color:var(--tx);font-weight:700}
.catbar .row .flo{min-width:80px;text-align:right;font-size:11.5px}
.rotbar{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.rotrow{display:grid;grid-template-columns:58px minmax(90px,1fr) 102px 78px minmax(120px,1.1fr);gap:8px;align-items:center;font-size:12.5px;padding:3px 0;border-bottom:1px solid rgba(36,43,55,.45)}
.rotrow:last-child{border-bottom:none}.rotcat{font-weight:700}.rottrack{height:11px;background:#0b0e13;border:1px solid var(--bd);border-radius:3px;overflow:hidden}.rottrack>i{display:block;height:100%}
.rotsig{padding:7px 9px;background:#0b0e13;border:1px solid var(--bd);border-radius:7px;color:var(--mut);font-size:12px;margin:6px 0 8px}
.rotlead{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sev{display:inline-block;min-width:34px;text-align:center;font-size:11px;padding:2px 7px;border-radius:5px;font-weight:800}
.sev.high{background:#331215;color:#ff9296;box-shadow:0 0 0 1px #6f242b inset}
.sev.medium{background:#30200d;color:#f2b15d;box-shadow:0 0 0 1px #725028 inset}
.sev.watch{background:#1d232c;color:#b0bac7}.sev.info{background:#13233e;color:#91b9ff}
/* 资产构成 legend */
.catlegend{font-size:12.5px;line-height:1.7;margin-top:8px}
.catlegend > span{display:inline-block;margin-right:14px;margin-bottom:2px}
/* .tw.scrolly utility:纵向滚动 + max-height(横向已有 .tw 的 overflow-x:auto) */
.tw.scrolly{max-height:520px;overflow-y:auto}
/* admin 后台 */
.svcrow{display:grid;grid-template-columns:1.4fr .9fr 1fr;gap:8px;padding:8px 6px;border-bottom:1px solid var(--bd);font-size:13px;align-items:center}
.svcrow:last-child{border-bottom:none}
.svcname b{font-weight:600}
.svctime{text-align:right}
.capkv{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--bd);font-size:13px}
.capkv:last-child{border-bottom:none}
.capkv b{color:var(--mut);font-weight:500;font-size:12px}
.capkv span{color:var(--tx);font-weight:600}
.admBtns{display:flex;flex-wrap:wrap;gap:8px}
.admBtn{background:#182033;border:1px solid #40527a;color:#d8e3ff;padding:9px 14px;border-radius:7px;cursor:pointer;font-size:13px;font-weight:600}
.admBtn:hover{background:#202a41}
.admBtn:disabled{opacity:.5;cursor:not-allowed}
.adminCardHead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.adminMetricGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.adminProgressGrid{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:8px}
.adminFormGrid{display:grid;grid-template-columns:repeat(6,minmax(0,auto));gap:8px;align-items:end;margin-bottom:10px}
.adminFormGrid input,.adminFormGrid select{width:100%;min-width:0}
.adminKeyForm{grid-template-columns:120px minmax(160px,.7fr) minmax(260px,1.4fr) 120px auto}
.adminBatchForm{grid-template-columns:minmax(160px,1fr) 112px 96px 96px minmax(160px,1fr) auto}
.adminCodeForm{grid-template-columns:minmax(180px,1fr) 96px 132px minmax(180px,1.1fr) minmax(160px,1fr) auto}
.adminLogToolbar select{min-width:220px}
/* 持仓明细列表(桌面模拟 6 列表格,手机折两行) */
.hlist{display:flex;flex-direction:column;max-height:560px;overflow-y:auto}
.hrow{display:grid;grid-template-columns:minmax(0,2.4fr) .7fr 1fr .8fr 1.1fr .8fr;gap:8px;padding:8px 6px;border-bottom:1px solid var(--bd);font-size:13px;align-items:center}
.hrow:hover{background:#121720}.hrow.head{font-size:11.5px;color:var(--mut);font-weight:500;border-bottom:1px solid var(--bd);position:sticky;top:0;background:#0c0f14;z-index:1}
.hrow > div{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hrow .r{text-align:right}
.hrow .nm a{color:var(--link);font-weight:500}.hrow .nm a:hover{color:var(--link-hover)}
.hrow .meta{display:none}
.asset-hero{border:1px solid var(--bd);background:#0d1016;border-radius:8px;padding:14px 16px}
.asset-top{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,1.75fr);gap:18px;align-items:start}
.asset-id{display:flex;gap:13px;align-items:center;min-width:0}
.asset-icon{width:62px;height:62px;border-radius:8px;border:1px solid var(--bd2);background:#0b0e13;display:grid;place-items:center;overflow:hidden;flex:none;color:var(--gold);font-weight:800}
.asset-icon img{width:100%;height:100%;object-fit:contain}
.asset-icon .fallback{font-size:20px;color:var(--mut)}
.asset-name{font-size:22px;font-weight:760;line-height:1.22;text-wrap:balance}
.asset-sub{color:var(--mut);font-size:12px;margin-top:4px;word-break:break-all}
.asset-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;align-items:center}
.invHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 10px}
.invHead h1{margin:0}.invTools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0 12px}
.invTools input{flex:1;min-width:220px}.invTools select{min-width:108px}.invToggle{display:inline-flex;align-items:center;gap:6px;color:var(--mut);font-size:12px}
.invTimeTools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.invTimeTools input,.invTimeTools select{min-width:190px}.invMsg{font-size:12px;color:var(--mut);min-height:18px}
.invToggle input{width:auto;padding:0}.invPanel{border:1px solid var(--bd);border-radius:8px;background:var(--card);overflow:hidden}
.invPanelBody{padding:12px}.invStatLine{display:flex;gap:16px;flex-wrap:wrap;color:var(--mut);font-size:12px;margin-top:3px}
.invStatLine b{color:var(--tx)}.invGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:10px}
.invCard{border:1px solid var(--bd);border-radius:8px;background:#0d1117;overflow:hidden;min-width:0;position:relative}
.invCard.clickable{cursor:pointer}.invCard.clickable:hover{border-color:#41527a;background:#101724}
.wearTrackBtn{position:absolute;right:12px;top:12px;z-index:3;width:28px;height:28px;padding:0;display:grid;place-items:center;border:1px solid #53627a;border-radius:5px;background:rgba(9,12,17,.72);color:#d9e2ef;font-size:18px;font-weight:780;line-height:1;cursor:pointer;backdrop-filter:blur(4px)}
.wearTrackIcon{display:block;line-height:1;transform:translateY(-1px)}
.wearTrackBtn:hover{border-color:#60a5fa;background:#101827;color:#fff}.wearTrackBtn.on{border-color:#fbbf24;background:#1a140b;color:#fbbf24}
.invArt{position:relative;aspect-ratio:1.28;background:#10151d;display:grid;place-items:center;border-bottom:1px solid var(--bd);overflow:hidden}
.invArt img{width:86%;height:86%;object-fit:contain}.invArt .emptyImg{color:var(--mut2);font-size:28px;font-weight:800}
.invQtyBadge{position:absolute;left:8px;top:8px;z-index:2;min-width:28px;height:24px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(122,162,255,.55);border-radius:6px;background:rgba(10,15,24,.78);color:#dbeafe;font-size:12px;font-weight:820;line-height:1;box-shadow:0 6px 20px rgba(0,0,0,.22);backdrop-filter:blur(4px)}
.invWear{position:absolute;left:8px;right:8px;bottom:7px;background:rgba(8,10,13,.72);border:1px solid rgba(36,42,53,.85);border-radius:6px;padding:4px 5px}
.invWearText{font-size:10.5px;color:#d6dee9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.floatBar{height:5px;margin-top:4px;border-radius:999px;overflow:hidden;display:grid;grid-template-columns:7fr 8fr 23fr 7fr 53fr;position:relative;background:#0b0e13}
.floatBar span:nth-child(1){background:#16a34a}.floatBar span:nth-child(2){background:#84cc16}.floatBar span:nth-child(3){background:#eab308}.floatBar span:nth-child(4){background:#f97316}.floatBar span:nth-child(5){background:#991b1b}
.floatBar i{position:absolute;top:-2px;width:2px;height:9px;background:#f8fafc;border-radius:2px;box-shadow:0 0 0 1px #0b0e13}
.invBody{padding:9px 10px}.invName{font-size:13px;font-weight:760;line-height:1.32;min-height:34px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.invMeta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:7px}.invMeta .cat{margin-left:0}
.invFoot{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-top:9px}.invPrice{font-weight:820;color:var(--red);font-size:14px}.invSub{font-size:11px;color:var(--mut);line-height:1.3}.invSeed{font-size:10.5px;color:var(--mut);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.invEmpty{border:1px dashed var(--bd2);border-radius:8px;padding:34px 16px;text-align:center;color:var(--mut);background:#0b0e13}
.assetModal{display:none}.assetPageShell{display:block}
.assetDetailOverlay{position:fixed;inset:0;z-index:80;background:rgba(3,6,12,.68);align-items:center;justify-content:center;padding:18px}
.assetDetailPanel{width:min(920px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow:auto;background:#0c1119;border:1px solid #253149;border-radius:10px;box-shadow:0 28px 80px rgba(0,0,0,.58)}
.assetDetailBody{padding:14px}.assetDetailHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid var(--bd)}
.assetDetailTitle{font-size:18px;font-weight:780}.assetDetailSub{color:var(--mut);font-size:12px;margin-top:3px;word-break:break-all}.assetClose{white-space:nowrap;border:1px solid var(--bd2);background:#111827;color:var(--tx);border-radius:7px;padding:7px 10px}
.assetDetailGrid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:12px}.assetArtLarge{background:#080c12;border:1px solid var(--bd);border-radius:8px;min-height:210px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.assetArtLarge img{max-width:92%;max-height:190px;object-fit:contain}
.assetFactGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.assetFact{border:1px solid var(--bd);border-radius:7px;background:#0a0e15;padding:9px 10px}.assetFact .k{font-size:11px;color:var(--mut)}.assetFact .v{font-weight:760;margin-top:3px;word-break:break-all}
.assetHolderRows{display:grid;gap:8px}.assetHolder{border:1px solid var(--bd);border-radius:7px;background:#0a0e15;padding:9px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.assetHolder .nm{font-weight:720;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assetHolder .sub{font-size:11px;color:var(--mut);margin-top:2px}.assetHolder .tag{font-size:11px;color:var(--mut);text-align:right}
@media (min-width:641px){.assetModal{display:flex}.assetPageShell{display:none}}
@media (max-width:640px){.assetDetailPanel{width:100%;max-height:none;border-radius:8px}.assetDetailHead{padding:12px}.assetDetailBody{padding:10px}.assetDetailGrid{grid-template-columns:minmax(0,1fr);gap:10px}.assetFactGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.assetArtLarge{min-height:190px}.assetArtLarge img{max-height:168px}.assetFact .v{font-size:14px;line-height:1.25}.assetHolder{grid-template-columns:minmax(0,1fr)}.assetHolder .tag{text-align:left}}
.wlBtn{background:transparent;border:1px solid #475569;color:#cbd5e1;padding:5px 11px;border-radius:6px;cursor:pointer;font-size:12.5px;font-family:inherit;transition:all .12s;line-height:1.2}
.wlBtn:hover{background:#1f2937;border-color:#3b82f6;color:#fff}
.wlBtn.on{background:#1a2440;border-color:#fbbf24;color:#fbbf24}
.wlBtn.on:hover{background:#27355c;color:#fcd34d}
.wlStarBtn{width:28px;height:28px;display:inline-grid;place-items:center;background:#0b0e13;border:1px solid var(--bd);border-radius:6px;color:#7d8796;cursor:pointer;font-size:15px;line-height:1;padding:0}
.wlStarBtn:hover{border-color:#3b82f6;color:#cbd5e1;background:#111827}
.wlStarBtn.on{border-color:#8a6426;background:#1a140b;color:#fbbf24}
.wlQuick{width:34px;text-align:center}
.wlBox{display:flex;flex-direction:column;gap:10px}
.wlSummary{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:0;border:1px solid var(--bd);border-radius:8px;overflow:hidden;background:#0b0e13}
.wlSummaryCell{padding:9px 10px;border-right:1px solid var(--bd);min-width:0}
.wlSummaryCell:last-child{border-right:0}
.wlSummaryCell .k{font-size:11px;color:var(--mut2)}
.wlSummaryCell .v{font-size:17px;font-weight:760;margin-top:3px}
.wlSummaryCell.action{display:flex;align-items:center;justify-content:flex-end}
.wlSummaryCell.action a{white-space:nowrap}
.wlHomeGrid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.wlHomeRecent,.wlHomeKinds{border:1px solid var(--bd);border-radius:8px;background:#0d1016;min-width:0;overflow:hidden}
.wlMiniHead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-bottom:1px solid var(--bd);background:#0c0f14}
.wlMiniTitle{font-size:12.5px;font-weight:720}.wlMiniNote{font-size:11px;color:var(--mut)}
.wlMiniList{display:flex;flex-direction:column;max-height:230px;overflow:auto}
.wlHomeRecent .wlMiniList{max-height:640px}
.wlMiniRow{display:grid;grid-template-columns:52px minmax(0,1fr) 68px;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid #161c25;font-size:12.5px}
.wlMiniRow:last-child{border-bottom:0}.wlMiniRow:hover{background:#111720}
.wlMiniRow a,.wlRow a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wlType{display:inline-flex;align-items:center;justify-content:center;height:21px;border:1px solid var(--bd);border-radius:5px;background:#111720;color:#aeb8c7;font-size:11px;font-weight:700}
.wlPageHero{border:1px solid var(--bd);background:#0d1016;border-radius:8px;padding:14px 16px;margin-bottom:12px}
.wlPageTop{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.wlPageTitle{font-size:22px;font-weight:760;line-height:1.2}.wlPageSub{font-size:12.5px;color:var(--mut);margin-top:5px;max-width:760px}
.wlStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--bd);border-radius:8px;overflow:hidden;background:#0b0e13;margin-top:12px}
.wlStat{padding:10px 12px;border-right:1px solid var(--bd);min-height:58px}.wlStat:last-child{border-right:0}
.wlStat .k{font-size:11px;color:var(--mut2)}.wlStat .v{font-size:18px;font-weight:760;margin-top:4px}
.wlTools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0}
.wlSearch{flex:1;min-width:220px;background:#0b0e13;border:1px solid var(--bd);border-radius:7px;color:var(--tx);padding:8px 10px;font-size:13px}
.wlSearch:focus{outline:none;border-color:#3b82f6}
.wlTabs{display:flex;gap:5px;flex-wrap:wrap}
.wlBoard{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:12px;align-items:start}
.wlMainStack{display:flex;flex-direction:column;gap:12px;min-width:0}
.wlPanel{border:1px solid var(--bd);border-radius:8px;background:var(--card);min-width:0;overflow:hidden}
.wlActivityPanel{position:sticky;top:12px;display:flex;flex-direction:column;min-height:calc(100vh - 110px)}
.wlPanelHead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--bd);background:#0c0f14}
.wlPanelTitle{font-size:13px;font-weight:720}.wlPanelMeta{font-size:11.5px;color:var(--mut)}
.wlFoldBtn{width:28px;height:28px;display:grid;place-items:center;background:#0b0e13;border:1px solid var(--bd);border-radius:6px;color:var(--mut);padding:0;font-size:14px;line-height:1;transition:border-color .12s,color .12s,background .12s}
.wlFoldBtn:hover{border-color:var(--bd2);color:var(--tx);background:#111720}
.wlPanel.is-collapsed .wlPageList,.wlPanel.is-collapsed .wlBatchBox{display:none}
.wlPanelTools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.wlPanelTools .admBtn{padding:5px 9px;font-size:11.5px}.wlToolMsg{font-size:11.5px;color:var(--mut);min-height:16px}
.wlBatchBox{display:none;border-bottom:1px solid var(--bd);background:#0a0e13;padding:10px 12px}.wlBatchBox textarea{width:100%;min-height:112px;resize:vertical;background:#080b10;border:1px solid var(--bd2);border-radius:7px;color:var(--tx);padding:9px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45}.wlBatchBox textarea:focus{outline:none;border-color:#3b82f6}.wlBatchActions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;flex-wrap:wrap}
.wlPageList{display:flex;flex-direction:column;max-height:520px;overflow:auto}
.wlActivityList{flex:1;max-height:calc(100vh - 182px);min-height:620px;overflow:auto;background:#0b0f14}
.wlRow{display:grid;grid-template-columns:42px minmax(0,1fr) 128px 76px;gap:10px;align-items:center;padding:9px 12px;border-bottom:1px solid #161c25;font-size:13px}
.wlRow:last-child{border-bottom:none}.wlRow:hover{background:#0d1117}
.wlName{display:flex;flex-direction:column;min-width:0;gap:2px}.wlName .sub{font-size:11px;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wlMeta{text-align:right;font-size:12px;color:var(--mut);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wlActions{display:flex;justify-content:flex-end;gap:4px;align-items:center}
.wlFloatTrackGroup{border-bottom:1px solid #1a202b;background:#0b0f14}
.wlFloatTrackGroup:last-child{border-bottom:0}.wlFloatTrackParent{grid-template-columns:42px minmax(0,1fr) 112px 64px;background:#101620;border-bottom:1px solid #1d2633}
.wlFloatTrackTitle{font-weight:760}.wlFloatTrackSub{font-size:11px;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wlFloatTrackStats{display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-size:11px;color:var(--mut);line-height:1.25}
.wlFloatTrackActions{display:flex;justify-content:flex-end;gap:4px;align-items:center}
.wlFloatChildren{background:#0a0d12}.wlFloatChildren .wlActivityRow{padding-left:62px;background:rgba(127,29,29,.10)}
.wlFloatFoundRow{grid-template-columns:38px minmax(0,1fr);display:grid;gap:10px;align-items:center;padding:11px 12px 11px 62px;border-bottom:1px solid #1a202b;background:rgba(127,29,29,.10);font-size:12.5px;min-height:72px}
.wlFloatFoundRow:last-child{border-bottom:0}.wlFloatFoundRow:hover{background:rgba(127,29,29,.16)}
.wlFloatFoundBody{min-width:0;display:flex;flex-direction:column;gap:4px}
.wlFloatFoundMeta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.wlFloatFoundFlow{font-size:13.5px;font-weight:780;color:var(--link);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wlFloatFoundAsset{font-size:13px;font-weight:720;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wlFloatFoundStats{display:flex;gap:8px;flex-wrap:wrap;color:var(--mut);font-size:11.5px;line-height:1.35}
.wlFloatChildren .empty{padding:12px 14px 14px 62px;text-align:left;font-size:12px;color:var(--mut)}
.wlFloatTrackGroup.is-collapsed .wlFloatChildren{display:none}
.wlFloatTrackFold{width:24px;height:24px;display:grid;place-items:center;background:#0b0e13;border:1px solid var(--bd);border-radius:6px;color:var(--mut);padding:0;font-size:13px;line-height:1;cursor:pointer}.wlFloatTrackFold:hover{border-color:var(--bd2);color:var(--tx)}
.wlNoteBtn{background:#111827;border:1px solid var(--bd);color:#b9c4d4;border-radius:5px;padding:2px 6px;font-size:11px;cursor:pointer}
.wlNoteBtn:hover{border-color:#3b82f6;color:#dbeafe}
.wlThumb{width:36px;height:36px;border-radius:7px;border:1px solid var(--bd);background:#0b0e13;display:grid;place-items:center;overflow:hidden;color:#9aa6b5;font-size:11px;font-weight:800}
.wlThumb img{width:100%;height:100%;object-fit:cover}.wlThumb.item img{object-fit:contain;padding:2px}.wlThumb.acct{border-radius:50%}
.wlThumb.hot{border-color:#8a6426;background:#1a140b;color:#fbbf24}.wlThumb.pos{border-color:#7f1d1d;background:#211014;color:#fca5a5}.wlThumb.neg{border-color:#1f6d40;background:#0b1b12;color:#4ade80}
.wlSignal{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700;border:1px solid var(--bd);background:#111720;color:#b8c3d0}
.wlSignal.pos{border-color:#7f1d1d;background:#211014;color:#fca5a5}.wlSignal.neg{border-color:#1f6d40;background:#0b1b12;color:#4ade80}.wlSignal.gold{border-color:#8a6426;background:#1a140b;color:#fbbf24}
.wlPageX,.wlCol .x{background:transparent;border:1px solid transparent;color:var(--mut);cursor:pointer;font-size:15px;padding:1px 6px;line-height:1;border-radius:5px}
.wlPageX:hover,.wlCol .x:hover{color:var(--red);border-color:#572027;background:#211014}
.wlEmpty{border:1px dashed var(--bd2);border-radius:8px;background:#0b0e13;padding:26px 18px;text-align:center;color:var(--mut);font-size:12.5px}
.wlActivityRow{display:grid;grid-template-columns:40px minmax(0,1fr) 164px;gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid #1a202b;font-size:12.5px;min-height:76px}
.wlActivityRow:last-child{border-bottom:0}.wlActivityRow:hover{background:#111720}.wlActivityRow.pos{background:rgba(127,29,29,.11)}.wlActivityRow.neg{background:rgba(22,101,52,.09)}
.wlActivityMain{min-width:0;display:flex;align-items:center;gap:7px;overflow:hidden;white-space:nowrap}.wlActivityMain a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wlActivityAccount{font-size:14.5px;font-weight:820;line-height:1.15;color:var(--link)}
.wlActivityAccount:hover{color:var(--link-hover)}
.wlActivitySub{font-size:11.5px;color:var(--mut);margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.45}.wlActivitySub a{color:var(--link)}.wlActivitySub a:hover{color:var(--link-hover)}
.wlActivityQty{display:grid;grid-template-columns:46px minmax(0,1fr);gap:8px;align-items:center;justify-content:end}.wlActivityQty .itemThumb{width:46px;height:46px;border-radius:7px}.wlActivityQty .nums{min-width:0;text-align:right;font-variant-numeric:tabular-nums}.wlActivityQty .nums>div:first-child{white-space:nowrap}.wlActivityQty .delta{font-size:16px;font-weight:820;line-height:1.05}
.wlActivityQty.compact{grid-template-columns:minmax(0,1fr)}
.wlActivityArrow{font-size:14px;font-weight:820;color:var(--mut2);padding:0 2px}.wlActivityNow{font-size:20px;font-weight:860;line-height:1;font-variant-numeric:tabular-nums}.wlActivityNow.pos{color:var(--red)}.wlActivityNow.neg{color:var(--grn)}.wlActivityNow.mut{color:var(--tx)}
.wlLoadMore{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;border-top:1px solid #1a202b;background:#0b0f14}.wlLoadMore .admBtn{padding:7px 12px;font-size:12px}
.wlMiniList .wlActivityRow{grid-template-columns:36px minmax(0,1fr) 74px;min-height:58px;padding:8px 10px}.wlMiniList .wlActivityAccount{font-size:13px}.wlMiniList .wlActivityNow{font-size:16px}.wlMiniList .wlActivityArrow{font-size:12px}.wlMiniList .wlActivityQty{grid-template-columns:minmax(0,1fr)}.wlMiniList .wlActivityQty .delta{font-size:15px}.wlMiniList .wlActivityQty .itemThumb{display:none}
.itemThumb{width:34px;height:34px;border:1px solid var(--bd);border-radius:6px;background:#0b0e13;display:inline-grid;place-items:center;overflow:hidden;vertical-align:middle;color:#7d8796;font-size:11px;font-weight:800;flex:none}
.itemThumb img{width:100%;height:100%;object-fit:contain;padding:2px}.itemCell{display:flex;align-items:center;gap:10px;min-width:0}.itemCell .itemText{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wlActivityLayer{border-bottom:1px solid var(--bd)}
.wlActivityLayer:last-child{border-bottom:0}.wlLayerHead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;background:#0b0f15;border-bottom:1px solid #161c25}
.wlLayerTitle{font-size:12.5px;font-weight:720}.wlLayerNote{font-size:11px;color:var(--mut)}
.wlActivityHead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;background:#0b0f15;border-bottom:1px solid #161c25}
.wlActivitySwitch{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.wlActivitySwitch .chip{cursor:pointer}.wlActivitySwitch .chip.on{border-color:#2563eb;background:#0d1b31;color:#bfdbfe}
@media(max-width:760px){.wlSummary,.wlStats{grid-template-columns:repeat(2,1fr)}.wlSummaryCell:nth-child(2n),.wlStat:nth-child(2n){border-right:0}.wlSummaryCell.action{justify-content:flex-start}.wlHomeGrid,.wlBoard{grid-template-columns:1fr}.wlHomeRecent .wlMiniList{max-height:70vh}.wlActivityPanel{position:static;min-height:0}.wlActivityList{min-height:0;max-height:none}.wlPageTop,.wlTools{flex-direction:column;align-items:stretch}.wlRow{grid-template-columns:38px minmax(0,1fr) 76px 62px}.wlMiniRow{grid-template-columns:48px minmax(0,1fr) 46px}.wlFloatTrackParent{grid-template-columns:38px minmax(0,1fr) 42px;grid-template-areas:"thumb name actions" ". meta actions";gap:6px 8px;align-items:center;padding:10px 10px 11px}.wlFloatTrackParent .wlThumb{grid-area:thumb}.wlFloatTrackParent .wlName{grid-area:name}.wlFloatTrackParent .wlMeta{grid-area:meta;text-align:left;white-space:normal}.wlFloatTrackParent .wlActions{grid-area:actions}.wlFloatTrackStats{align-items:flex-start;gap:4px}.wlFloatTrackStats .wlSignal{padding:1px 7px}.wlFloatTrackSub{white-space:normal;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.wlFloatTrackActions{flex-direction:column}.wlActivityRow{grid-template-columns:34px minmax(0,1fr) minmax(112px,34vw);gap:8px;padding:13px 8px;min-height:92px;align-items:center}.wlActivityMain{gap:5px}.wlSignal{padding:2px 6px}.wlActivitySub{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.45}.wlActivityQty{grid-template-columns:1fr}.wlActivityQty .itemThumb{display:none}.wlActivityQty .nums{overflow:visible}.wlActivityNow{font-size:18px}.wlActivityArrow{padding:0 1px}.wlFloatChildren .wlFloatFoundRow{padding-left:12px}.wlFloatFoundRow{grid-template-columns:34px minmax(0,1fr);gap:8px;padding:12px;min-height:78px}.wlFloatFoundMeta{font-size:11px;gap:5px}.wlFloatFoundFlow{font-size:13px;max-width:100%;white-space:normal}.wlFloatFoundAsset{font-size:12.5px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.wlFloatFoundStats{font-size:11px;gap:6px}}
.asset-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--bd);border-radius:8px;overflow:hidden;background:#0b0e13}
.metric{padding:10px 12px;border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);min-height:62px}
.metric:nth-child(4n){border-right:0}.metric:nth-last-child(-n+4){border-bottom:0}
.metric .k{color:var(--mut2);font-size:11px}.metric .v{font-size:18px;font-weight:760;margin-top:5px}.metric .s{font-size:11px;color:var(--mut);margin-top:2px}
.intel-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.intel-panel{background:var(--card);border:1px solid var(--bd);border-radius:8px;min-width:0;overflow:hidden}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-bottom:1px solid var(--bd);background:#0c0f14}
.panel-title{font-size:13px;font-weight:720}.panel-note{color:var(--mut);font-size:11.5px;font-weight:400}
.panel-body{padding:10px 12px}
.seg{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.seg .chip{padding:4px 9px;font-size:11.5px}
.spark{width:100%;height:206px;display:block;background:#0b0e13;border:1px solid var(--bd);border-radius:7px}
.range-row{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid var(--bd);border-radius:7px;overflow:hidden;margin-top:8px;background:#0b0e13}
.range-cell{padding:8px 9px;border-right:1px solid var(--bd)}.range-cell:last-child{border-right:0}
.range-cell .k{color:var(--mut2);font-size:10.5px}.range-cell .v{font-weight:720;margin-top:3px;font-size:12.5px}
.empty{color:var(--mut);font-size:12.5px;padding:18px 10px;text-align:center}
.feed-row{display:grid;grid-template-columns:92px 1fr 88px 78px;gap:8px;align-items:center;padding:8px 2px;border-bottom:1px solid var(--bd);font-size:12.5px}
.feed-row:last-child{border-bottom:0}.feed-who{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.feed-tag{font-weight:720}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.asset-shell .tw.scrolly{max-height:430px}
.asset-list-table th{position:sticky;top:0;z-index:1}
.acct-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.6fr);gap:12px;margin-top:12px}
.acct-panel{background:var(--card);border:1px solid var(--bd);border-radius:8px;min-width:0;overflow:hidden}
.acct-panel .panel-body{padding:12px}
.acct-statline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--bd);border-radius:7px;overflow:hidden;background:#0b0e13;margin-top:12px}
.acct-statline>div{padding:9px 10px;border-right:1px solid var(--bd)}
.acct-statline>div:last-child{border-right:0}.acct-statline b{display:block;font-size:15px}.acct-statline span{display:block;color:var(--mut);font-size:11px;margin-top:3px}
.acct-ledger{display:grid;grid-template-columns:84px 104px minmax(0,1fr) 86px 78px;gap:8px;align-items:center;padding:8px 2px;border-bottom:1px solid var(--bd);font-size:12.5px}
.acct-ledger:last-child{border-bottom:0}.acct-ledger .item{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pnl-cells{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--bd);border-radius:7px;overflow:hidden;background:#0b0e13}
.pnl-cell{padding:11px 12px;border-right:1px solid var(--bd);min-height:74px}.pnl-cell:last-child{border-right:0}
.pnl-cell .d{color:var(--mut2);font-size:11px}.pnl-cell .v{font-size:17px;font-weight:760;margin-top:5px}.pnl-cell .m{font-size:11px;color:var(--mut);margin-top:3px}
.risk-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.risk-item{background:#0b0e13;border:1px solid var(--bd);border-radius:7px;padding:9px 10px}.risk-item b{font-size:16px}.risk-item span{display:block;color:var(--mut);font-size:11.5px;margin-top:3px}
.home-hero{border:1px solid var(--bd);background:#0d1016;border-radius:8px;padding:14px 16px}
.home-top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:16px;align-items:start}
.home-title{font-size:24px;font-weight:780;line-height:1.2}.home-sub{color:var(--mut);font-size:12px;margin-top:6px;max-width:68ch}
.home-search{display:flex;gap:8px;margin-top:14px}.home-search input{background:#090c11;border:1px solid var(--bd2);border-radius:7px;color:var(--tx);padding:10px 12px;min-width:0}.home-search button{white-space:nowrap}
.homeSuggestWrap{position:relative;flex:1;min-width:0}.homeSuggestWrap input{width:100%}
.home-status{align-self:start;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--bd);border-radius:8px;overflow:hidden;background:#0b0e13}
.home-status .metric{min-height:58px;padding:9px 12px}.home-status .metric:nth-child(n){border-right:1px solid var(--bd);border-bottom:1px solid var(--bd)}.home-status .metric:nth-child(4n){border-right:0}.home-status .metric:nth-last-child(-n+4){border-bottom:0}
.home-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr);gap:12px;margin-top:12px}
.home-stack{display:grid;gap:12px}.home-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.home-panel{background:var(--card);border:1px solid var(--bd);border-radius:8px;min-width:0;overflow:hidden}
.home-panel .panel-body{padding:10px 12px}.home-panel .tw.scrolly{max-height:420px}
.cmpSuggestWrap{position:relative;flex:1;min-width:260px}
.cmpSuggestWrap input{width:100%}
.cmpSuggest{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;background:#0b0f15;border:1px solid var(--bd2);border-radius:8px;box-shadow:0 16px 42px rgba(0,0,0,.42);overflow:hidden;display:none;max-height:360px;overflow-y:auto}
.cmpSuggest.open{display:block}
.cmpSuggestRow{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;gap:9px;align-items:center;padding:8px 10px;border-bottom:1px solid #161c25;cursor:pointer}
.cmpSuggestRow:last-child{border-bottom:0}.cmpSuggestRow:hover,.cmpSuggestRow.on{background:#111827}
.cmpSuggestName{font-size:13px;font-weight:720;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--link)}
.cmpSuggestSub{font-size:11px;color:var(--mut);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmpSuggestMeta{text-align:right;font-size:11px;color:var(--mut);white-space:nowrap}
.cmpSuggestEmpty{padding:11px 12px;color:var(--mut);font-size:12.5px}
.friendMobileList{display:none}
.friendMobileRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--bd)}
.friendMobileRow:last-child{border-bottom:0}
.friendMobileMain{min-width:0}.friendMobileTitle{font-weight:740;line-height:1.35;overflow:hidden;text-overflow:ellipsis}.friendMobileSub{color:var(--mut);font-size:12px;line-height:1.45;margin-top:3px;overflow:hidden;text-overflow:ellipsis}.friendMobileMeta{color:var(--mut2);font-size:11px;line-height:1.4;margin-top:4px}.friendMobileValue{color:var(--blue);font-weight:780;white-space:nowrap;text-align:right}
.friendGraphTable table{min-width:720px}
/* ---- 手机端 (≤640px) 优化 ---- */
@media (max-width:640px){
 .content{padding:14px 12px 60px}
 h1{font-size:20px}
 .card{padding:12px;border-radius:8px}
 .kpis{grid-template-columns:repeat(2,1fr) !important;gap:8px}
 .kpi{padding:11px 12px}
 .kpi .lbl{font-size:11px}
 .kpi .val{font-size:18px;margin:5px 0 2px}
 .kpi .sub{font-size:10px}
 .row2{grid-template-columns:1fr !important;gap:10px}
 /* 资产构成 legend → 一行一项,卡片化 */
 .catlegend > span{display:flex;align-items:center;justify-content:space-between;margin:0 0 5px;padding:7px 10px;background:#0b0e13;border:1px solid var(--bd);border-radius:7px;font-size:12px;line-height:1.4}
 /* 持仓明细:折成两行 - 第一行 名+市值,第二行 .meta 元信息 */
 .hlist{max-height:65vh}
 .hrow{grid-template-columns:minmax(0,1fr) auto !important;grid-template-areas:"nm val" "meta meta";gap:3px 8px;padding:11px 6px}
 .hrow.head{display:none}
 .hrow .nm{grid-area:nm;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}
 .hrow .val{grid-area:val;font-weight:700;color:var(--blue);font-size:13.5px;white-space:nowrap}
 .hrow .meta{grid-area:meta;display:flex !important;flex-wrap:wrap;gap:4px 10px;font-size:11.5px;color:var(--mut);margin-top:2px}
 .hrow .meta b{font-weight:500;color:var(--tx)}
 /* 桌面端 6 列单独 cell 在手机隐藏 */
 .hrow .qty, .hrow .price, .hrow .chg, .hrow .pct{display:none}
 .rotrow{grid-template-columns:46px 1fr 88px;grid-template-areas:"cat val sa" "bar bar bar" "lead lead lead";gap:4px 8px;padding:8px 0}
 .rotcat{grid-area:cat}.rottrack{grid-area:bar}.rotval{grid-area:val;text-align:right}.rotsa{grid-area:sa;text-align:right}.rotlead{grid-area:lead;font-size:11.5px;color:var(--mut)}
 /* 所有 .tw 表格(整站)自动在手机端加"← 左右滑动 →"hint + 右边渐变阴影,免改 JS */
 .tw{position:relative}
 .tw::before{content:"← 左右滑动查看完整列 →";display:block;text-align:center;font-size:10.5px;color:var(--mut2);padding:0 0 5px;letter-spacing:.5px}
 .tw.scrolly{max-height:62vh}
 /* 右侧 sticky 渐变阴影暗示"还有更多列" */
 .tw{background:#0b0e13}
 table{font-size:12px;background:#0b0e13}
 th,td{padding:7px 8px}
 .asset-top{grid-template-columns:1fr;gap:12px}.asset-name{font-size:18px}.asset-icon{width:52px;height:52px}
 .invHead{align-items:flex-start;flex-direction:column}.invTools,.invTimeTools{align-items:stretch}.invTools input,.invTools select,.invTimeTools input,.invTimeTools select,.invTimeTools button{width:100%;min-width:0}.invGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.invBody{padding:8px}.invName{font-size:12px;min-height:32px}.invPrice{font-size:13px}.invWear{left:6px;right:6px;bottom:6px}.invWearText{font-size:9.5px}
 .asset-metrics{grid-template-columns:repeat(2,1fr)}.metric:nth-child(n){border-right:1px solid var(--bd);border-bottom:1px solid var(--bd)}.metric:nth-child(2n){border-right:0}.metric:nth-last-child(-n+2){border-bottom:0}
 .intel-grid,.acct-grid{grid-template-columns:1fr}.panel-head{align-items:flex-start;flex-direction:column}.range-row{grid-template-columns:repeat(2,1fr)}.range-cell{border-bottom:1px solid var(--bd)}.feed-row{grid-template-columns:1fr 70px;grid-template-areas:"t v" "w w" "tag tag";gap:4px 8px}.feed-time{grid-area:t;white-space:nowrap}.feed-who{grid-area:w}.feed-val{grid-area:v}.feed-tag{grid-area:tag}
 .acct-statline,.pnl-cells,.risk-list{grid-template-columns:1fr}.acct-statline>div,.pnl-cell{border-right:0;border-bottom:1px solid var(--bd)}.acct-statline>div:last-child,.pnl-cell:last-child{border-bottom:0}
 .acct-ledger{grid-template-columns:1fr 74px;grid-template-areas:"t val" "item item" "tag qty";gap:4px 8px}.acct-ledger .time{grid-area:t;white-space:nowrap}.acct-ledger .tag{grid-area:tag}.acct-ledger .item{grid-area:item}.acct-ledger .qty{grid-area:qty}.acct-ledger .val{grid-area:val}.acct-ledger .item2{grid-area:item2}
 .home-top,.home-grid,.home-strip{grid-template-columns:1fr}.home-title{font-size:20px}.home-search{flex-direction:column}.home-status{grid-template-columns:repeat(2,1fr)}.home-status .metric:nth-child(n){border-right:1px solid var(--bd);border-bottom:1px solid var(--bd)}.home-status .metric:nth-child(2n){border-right:0}.home-status .metric:nth-last-child(-n+2){border-bottom:0}
 .cmpGuide{gap:4px}.cmpGuide span{display:block;width:100%}.cmpBasket{padding:7px}.cmpChip{max-width:100%}.cmpActions button{width:100%}.cmpSuggestRow{grid-template-columns:32px minmax(0,1fr) auto}.cmpSuggestRow .cmpPickBtn{grid-column:2/4;justify-self:start;margin-top:2px}.cmpWinner{align-items:flex-start;flex-direction:column}.cmpWinnerScore{width:100%}
 .adminPage h1,.friendPage h1{margin-bottom:10px}
 .adminCardHead{align-items:flex-start;flex-direction:column}.adminCardHead button{width:100%}
 .adminMetricGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.adminMetricGrid .metric:first-child{grid-column:1/-1}
 .adminProgressGrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px}
 .adminFormGrid{grid-template-columns:minmax(0,1fr);gap:9px}.adminFormGrid>button{width:100%}
 .adminPage .admBtn,.adminPage button{min-height:44px}
 .adminPage .admBtns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .adminPage .admBtns .admBtn{padding:9px 8px;font-size:12px}
 .adminLogToolbar{display:grid;grid-template-columns:1fr;gap:8px}.adminLogToolbar select,.adminLogToolbar button{width:100%}
 .adminPage #admLog{max-height:56vh;font-size:11px}
 .friendHero{padding:12px}.friendPage .asset-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .friendMobileList{display:block}.friendTable{display:none}
 .friendMobileRow{grid-template-columns:minmax(0,1fr);gap:5px;padding:11px 2px}.friendMobileTitle{white-space:normal;overflow:visible}.friendMobileSub{white-space:normal;overflow:visible}.friendMobileValue{text-align:left}
 .friendGraphTable{margin-top:8px}.friendGraphTable::before{content:"详情表格可左右滑动";letter-spacing:0}
}
.alloc{display:flex;height:14px;border-radius:7px;overflow:hidden;margin:6px 0 12px;background:#0b0e13;border:1px solid var(--bd)}.alloc>i{height:100%}
.mini{display:flex;align-items:center;gap:9px;padding:5px 0}.mini .nm{flex:1.1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini .nm a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--link)}.mini .nm a:hover{color:var(--link-hover)}
.mini .mb{flex:1.3;height:8px;background:#0b0e13;border:1px solid var(--bd);border-radius:4px;overflow:hidden}.mini .mb>i{display:block;height:100%}.mini .v{min-width:84px;text-align:right;font-weight:600;line-height:1.2}.mini .v .sub2{display:block;font-weight:400;font-size:11px;color:var(--mut)}
@media (max-width:640px){
 .mini{display:grid;grid-template-columns:minmax(0,1fr) 92px;grid-template-areas:"nm v" "mb mb";gap:3px 8px;padding:8px 0;align-items:center}
 .mini .nm{grid-area:nm;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25;font-size:13px}
 .mini .nm a{white-space:normal;overflow:visible;text-overflow:clip}
 .mini .mb{grid-area:mb;flex:none;height:6px}
 .mini .v{grid-area:v;width:auto;text-align:right}
}
.authCard{border:1px solid var(--bd2);border-radius:8px;background:#0b0e13;padding:15px 16px;margin:14px 0}
.authCardTitle{font-size:18px;font-weight:800;margin-bottom:14px}.authField{padding:10px 0;border-top:1px solid var(--bd)}
.authField .k{font-size:11.5px;color:var(--mut)}.authField .v{font-size:18px;font-weight:760;margin-top:7px;word-break:break-all}.authField .v.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.modalTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.iconClose{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;background:#111720;border:1px solid var(--bd);color:var(--mut);font-size:20px;padding:0}.iconClose:hover{color:var(--tx);border-color:var(--blue)}
.loginFold{border:1px solid var(--bd);border-radius:8px;background:#0b0f14;margin:12px 0;overflow:hidden}.loginFoldHead{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#0d121a;border:0;border-bottom:1px solid transparent;color:var(--tx);padding:12px 14px;text-align:left}.loginFoldHead strong{font-size:14px}.loginFoldHead .mut{font-size:11px}.loginFoldHead[aria-expanded=true]{border-bottom-color:#1b2230}.loginFoldArrow{color:#8fa2bd;font-size:18px;line-height:1;transition:transform .16s}.loginFoldHead[aria-expanded=true] .loginFoldArrow{transform:rotate(180deg)}.loginFoldBody{padding:10px}.memberBenefits{max-height:420px;overflow:auto}.memberBenefits table{width:100%;border-collapse:collapse;font-size:12px}.memberBenefits th,.memberBenefits td{border-top:1px solid #1b2230;padding:8px 8px;text-align:left;vertical-align:top}.memberBenefits th{color:#cbd5e1;font-size:11px;background:#0d121a}.memberBenefits td:first-child{font-weight:760;color:#eef2f6;white-space:nowrap}.memberBenefits td:nth-child(2){color:#aeb9c8}.memberBenefits td:nth-child(3),.memberBenefits td:nth-child(4){color:#8fa2bd}.priceAmt{color:#ff6473!important;font-weight:820;white-space:nowrap}.caseCompare{color:#7fa6ff!important;font-weight:760;white-space:nowrap}.cdkBuyWrap{display:flex;margin-top:10px}.cdkBuyBtn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid #7f1d1d;border-radius:7px;background:#2a1114;color:#fecaca;font-size:13px;font-weight:820;box-shadow:0 0 0 1px rgba(239,95,99,.08) inset}.cdkBuyBtn:hover{border-color:#ef5f63;background:#351418;color:#fff}
.hdr{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.menubtn{display:none}
@media(max-width:900px){.kpis{grid-template-columns:repeat(3,1fr)}.row2{grid-template-columns:1fr}}
@media(max-width:760px){.layout{display:block}
 .side{width:auto;height:auto;position:sticky;top:0;z-index:9;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border-right:0;border-bottom:1px solid var(--bd)}
 .brand{margin:0;font-size:18px;white-space:nowrap}.menubtn{display:inline-grid;width:38px;height:38px;place-items:center;border:1px solid var(--bd2);border-radius:8px;background:#101725;color:var(--tx);font-size:20px;font-weight:800;line-height:1}.menubtn:active{transform:translateY(1px)}
 #userPill{justify-self:end;min-width:0;padding:0!important;margin:0!important;border-bottom:0!important}.authbtn{padding:7px 10px}.nav{display:none;grid-column:1/-1;flex-direction:column;gap:6px;margin:0;padding-top:8px;border-top:1px solid var(--bd);overflow:visible;min-width:0}.side.open .nav{display:flex}.nav a{padding:10px 12px;margin:0;font-size:14px;white-space:nowrap;flex:0 0 auto}
 .sidefoot{display:none}.content{padding:14px 12px 50px}.kpis{grid-template-columns:repeat(2,1fr)}.kpi .val{font-size:20px}}
