/* ===== DataNexus Lab 主題 ===== */
:root{
  --bg:#05060b; --panel:rgba(11,15,28,.84); --line:rgba(34,230,255,.18);
  --text:#e6ecff; --muted:#8f97ba; --cy:#22e6ff; --vi:#c08bff;
  --up:#2ee6a6; --down:#ff6b93; --warn:#ffb547;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:'Microsoft JhengHei','PingFang TC','Noto Sans TC',system-ui,sans-serif;min-height:100%}
a{color:var(--cy)}a:hover{color:#8ff3ff}
button{font-family:inherit}
.hidden{display:none!important}

/* 背景：透視網格地板、地平線光暈、掃描線 */
.sky{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 40% at 50% 100%,rgba(176,108,255,.16),transparent 70%);z-index:0}
.floor{position:fixed;left:-50%;width:200%;bottom:-8vh;height:62vh;pointer-events:none;transform:perspective(520px) rotateX(72deg);transform-origin:50% 100%;background-image:linear-gradient(rgba(34,230,255,.32) 1px,transparent 1px),linear-gradient(90deg,rgba(34,230,255,.32) 1px,transparent 1px);background-size:64px 64px;animation:fly 3s linear infinite;-webkit-mask-image:linear-gradient(to top,#000 10%,transparent 85%);mask-image:linear-gradient(to top,#000 10%,transparent 85%);z-index:0}
@keyframes fly{to{background-position:0 64px}}
.scanlines{position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.018) 0 1px,transparent 1px 3px);z-index:0}

.wrap{position:relative;z-index:1;max-width:1360px;margin:0 auto;padding:24px 20px 64px;display:flex;flex-direction:column;gap:20px}
.glass{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:14px;backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 14px 44px rgba(0,0,0,.55);transition:transform .35s ease,box-shadow .35s ease}
.hud::before,.hud::after{content:'';position:absolute;width:16px;height:16px;pointer-events:none}
.hud::before{top:-1px;left:-1px;border-top:2px solid var(--cy);border-left:2px solid var(--cy);border-top-left-radius:14px;filter:drop-shadow(0 0 4px var(--cy))}
.hud::after{bottom:-1px;right:-1px;border-bottom:2px solid var(--vi);border-right:2px solid var(--vi);border-bottom-right-radius:14px;filter:drop-shadow(0 0 4px var(--vi))}
.tilt:hover{transform:perspective(1000px) rotateX(4deg) rotateY(-4deg) translateY(-5px);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 24px 60px rgba(0,0,0,.6),0 0 28px rgba(34,230,255,.2)}
.pad{padding:20px}
.row{display:flex;flex-wrap:wrap;gap:20px}
.col{display:flex;flex-direction:column;gap:12px}
.grow{flex:999 1 560px;min-width:0}
.side{flex:1 1 300px;min-width:0}
.between{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.grid-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}

.orb{font-family:'Microsoft JhengHei','PingFang TC','Noto Sans TC',system-ui,sans-serif;letter-spacing:.08em}
.disp{font-family:'Microsoft JhengHei','PingFang TC','Noto Sans TC',system-ui,sans-serif;letter-spacing:.02em}
.mono{font-family:ui-monospace,'Cascadia Mono',Consolas,'SF Mono',Menlo,monospace;font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}.small{font-size:13px}.xs{font-size:12px}
.up{color:var(--up)}.down{color:var(--down)}.cy{color:var(--cy)}.vi{color:var(--vi)}.warn{color:var(--warn)}
.glowc{text-shadow:0 0 16px rgba(34,230,255,.55)}
h2.h2{margin:0;font-size:18px;font-weight:700}

/* 3D 核心 */
.core-wrap{perspective:400px;flex:0 0 auto}
.core{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:coreSpin 9s linear infinite}
.core .r{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(34,230,255,.75);box-shadow:0 0 10px rgba(34,230,255,.5)}
.core .r2{transform:rotateY(60deg);border-color:rgba(192,139,255,.8);box-shadow:0 0 10px rgba(192,139,255,.5)}
.core .r3{transform:rotateY(120deg)}
.core .r4{transform:rotateX(90deg);border-color:rgba(46,230,166,.6);box-shadow:0 0 10px rgba(46,230,166,.4)}
.core .nucleus{position:absolute;left:50%;top:50%;width:28%;height:28%;transform:translate(-50%,-50%);border-radius:50%;background:var(--cy);box-shadow:0 0 18px var(--cy),0 0 36px rgba(34,230,255,.6)}
.core.violet .nucleus{background:var(--vi);box-shadow:0 0 22px var(--vi),0 0 44px rgba(192,139,255,.6)}
@keyframes coreSpin{from{transform:rotateX(-20deg) rotateY(0)}to{transform:rotateX(-20deg) rotateY(360deg)}}

/* 市場星球 */
.stage{perspective:1000px;display:flex;align-items:center;justify-content:center;min-height:400px;flex:1 1 360px}
.globe{--r:170px;position:relative;width:340px;height:340px;transform-style:preserve-3d;animation:globe 36s linear infinite}
.stage:hover .globe{animation-play-state:paused}
@keyframes globe{from{transform:rotateX(-16deg) rotateY(0)}to{transform:rotateX(-16deg) rotateY(360deg)}}
.mer{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(34,230,255,.2)}
.par{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(192,139,255,.22);transform:rotateX(90deg)}
.par.n{transform:translateY(calc(var(--r) * -0.643)) rotateX(90deg) scale(.766)}
.par.s{transform:translateY(calc(var(--r) * 0.643)) rotateX(90deg) scale(.766)}
.node{--lat:0deg;--lon:0deg}
.node{transform:rotateY(var(--lon)) rotateX(var(--lat)) translateZ(var(--r))}
.node{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d}
.node .lab{position:absolute;transform:translate(-50%,-50%);backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;background:rgba(5,6,11,.85);border:1px solid currentColor;font:600 12px ui-monospace,'Cascadia Mono',Consolas,'SF Mono',Menlo,monospace;white-space:nowrap;box-shadow:0 0 12px currentColor}
.node .pt{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor}

/* 元件 */
.tab{min-height:44px;padding:0 18px;border-radius:10px;border:1px solid rgba(34,230,255,.22);background:transparent;color:#cfd6f5;font:500 15px 'Microsoft JhengHei','PingFang TC','Noto Sans TC',system-ui,sans-serif;cursor:pointer;transition:all .2s}
.tab:hover{border-color:var(--cy);color:#fff;box-shadow:0 0 14px rgba(34,230,255,.3)}
.tab.on{background:var(--cy);color:#041016;border-color:var(--cy);box-shadow:0 0 22px rgba(34,230,255,.55)}
.btn{min-height:40px;padding:0 14px;border-radius:9px;border:1px solid rgba(34,230,255,.35);background:rgba(34,230,255,.08);color:#bff6ff;font:500 14px 'Microsoft JhengHei','PingFang TC','Noto Sans TC',system-ui,sans-serif;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;white-space:nowrap}
.btn:hover{background:rgba(34,230,255,.18);box-shadow:0 0 14px rgba(34,230,255,.35)}
.btn:disabled{opacity:.5;cursor:wait}
.btn.vio{border-color:rgba(192,139,255,.45);background:rgba(192,139,255,.1);color:#e3ccff}
.btn.danger{border-color:rgba(255,107,147,.55);background:rgba(255,107,147,.1);color:#ffc2d3}
.btn.danger:hover{box-shadow:0 0 16px rgba(255,107,147,.45)}
.btn.big{min-height:46px;padding:0 22px}
.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;border:1px solid rgba(255,255,255,.12);white-space:nowrap}
.dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:0 0 auto}
.dot.run{background:var(--up);box-shadow:0 0 8px var(--up)}.dot.stop{background:var(--warn);box-shadow:0 0 8px var(--warn)}.dot.off{background:#5a6080}
.tag{display:inline-block;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap}
.tag.scan{background:rgba(34,230,255,.12);color:#8ff3ff}.tag.ai{background:rgba(192,139,255,.15);color:#dcc0ff}
.tag.long{background:rgba(46,230,166,.13);color:#7dffd0}.tag.short{background:rgba(255,107,147,.13);color:#ffb3c8}.tag.hold{background:rgba(255,255,255,.07);color:#aab2d4}
.tblbox{overflow-x:auto}
table.tbl{width:100%;border-collapse:collapse;font-size:14px;min-width:760px}
.tbl th{text-align:left;font-weight:500;color:var(--muted);font-size:12px;padding:10px 12px;border-bottom:1px solid rgba(34,230,255,.14);white-space:nowrap}
.tbl td{padding:12px;border-bottom:1px solid rgba(255,255,255,.05);white-space:nowrap}
.tbl tr:hover td{background:rgba(34,230,255,.05)}
.lnk{background:none;border:none;color:var(--text);font:700 15px 'Microsoft JhengHei','PingFang TC','Noto Sans TC',system-ui,sans-serif;cursor:pointer;padding:6px 0;min-height:32px}
.lnk:hover{color:var(--cy);text-shadow:0 0 10px rgba(34,230,255,.6)}
.bar{height:6px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden;min-width:60px}
.bar>div{height:100%;border-radius:3px}
.kpi{padding:18px 20px;display:flex;flex-direction:column;gap:8px}
.kpi .v{font-size:24px;font-weight:600}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 6px 6px 12px;border-radius:999px;border:1px solid rgba(255,107,147,.35);background:rgba(255,107,147,.08);font-size:13px}
.chip button{width:28px;height:28px;border-radius:50%;border:none;background:rgba(255,255,255,.08);color:#ffc2d3;cursor:pointer}
.field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}
.field input{min-height:42px;border-radius:9px;border:1px solid rgba(34,230,255,.25);background:rgba(0,0,0,.35);color:var(--text);padding:0 12px;font:500 15px ui-monospace,'Cascadia Mono',Consolas,'SF Mono',Menlo,monospace}
.field input:focus{outline:none;border-color:var(--cy);box-shadow:0 0 12px rgba(34,230,255,.35)}
.sw{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:transparent;color:#aab2d4;cursor:pointer;font:500 13px 'Microsoft JhengHei','PingFang TC','Noto Sans TC',system-ui,sans-serif}
.sw.on{border-color:var(--cy);color:#041016;background:var(--cy)}
.toast{position:fixed;right:20px;bottom:20px;z-index:50;max-width:420px;padding:14px 16px;border-color:rgba(192,139,255,.5)}
.toast.bad{border-color:rgba(255,107,147,.6)}
.chart-box{position:relative;height:340px;border-radius:10px;background:rgba(0,0,0,.35);overflow:hidden}
.tv-box{height:520px;border-radius:10px;overflow:hidden;border:1px solid rgba(192,139,255,.3)}
/* 第 10.46 版：K 線區的「清算」大圖（幣種頁，管理員） */
.lb-box{display:flex;flex-direction:column;gap:8px;min-width:0}
.lb-box .sw{min-height:30px;padding:0 10px;font-size:12px}
.lb-stage{position:relative;min-width:0}
.lb-stage canvas{display:block;width:100%;touch-action:none;cursor:crosshair;border-radius:8px}
.lb-zf{position:absolute;display:flex;gap:4px}
.lb-zf .sw{min-width:32px;padding:0 8px;background:rgba(13,16,22,.85)}
.lb-tip{position:absolute;pointer-events:none;z-index:2;background:rgba(14,17,23,.95);border:1px solid rgba(255,255,255,.14);border-radius:7px;padding:6px 9px;font:11.5px/1.55 ui-monospace,Consolas,monospace;color:#d6dbe4;white-space:nowrap}
.lb-tip .muted{color:#8b93a3}
.lb-hint{margin-left:auto}
@media (max-width:640px){.lb-hint{margin-left:0;flex-basis:100%}}
.empty{padding:28px;text-align:center;color:var(--muted)}
.holo{transform:perspective(900px) rotateX(14deg);transform-origin:50% 100%}
.loading{opacity:.55;transition:opacity .2s}

/* 持倉字卡 */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:16px}
.pcard{padding:18px;display:flex;flex-direction:column;gap:12px;border-left:3px solid var(--up)}
.pcard.is-short{border-left-color:var(--down)}
.ladder{position:relative;height:12px;border-radius:6px;background:rgba(255,255,255,.06);margin:6px 0 0}
.ladder .zone{position:absolute;top:0;bottom:0}
.ladder .zone.loss{left:0;background:linear-gradient(90deg,rgba(255,107,147,.55),rgba(255,107,147,.12));border-radius:6px 0 0 6px}
.ladder .zone.win{background:linear-gradient(90deg,rgba(46,230,166,.12),rgba(46,230,166,.55));border-radius:0 6px 6px 0}
.ladder .tick{position:absolute;top:-3px;bottom:-3px;width:2px;background:#e6ecff;transform:translateX(-1px)}
.ladder .tick.tp{background:var(--up)}.ladder .tick.sl{background:var(--warn)}
.ladder .now{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;transform:translate(-50%,-50%);background:currentColor;border:2px solid #05060b;box-shadow:0 0 10px currentColor}
.ladder-lab{position:relative;height:16px;color:var(--muted)}
.ladder-lab span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}
.ladder-lab span:first-child{left:0;transform:none}
.ladder-lab span[style*="right:0"]{transform:none}
.pcells{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;padding:12px;border-radius:10px;background:rgba(0,0,0,.28)}

/* 異常訊號 */
.sgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px;align-items:start}
.scard{padding:16px;display:flex;flex-direction:column;gap:10px;border-top:3px solid #5a6080}
.scard.long{border-top-color:var(--up)}.scard.short{border-top-color:var(--down)}
.fchip{display:inline-flex;gap:4px;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.06);font:500 12px ui-monospace,'Cascadia Mono',Consolas,'SF Mono',Menlo,monospace}
.paper{padding:10px 12px;border-radius:10px;border:1px dashed rgba(192,139,255,.4);background:rgba(192,139,255,.06)}

/* 效能模式（預設開啟）：關掉毛玻璃、背景動畫、3D 傾斜，捲動與切換更順 */
body.lite .glass{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(11,15,28,.96);transition:none}
body.lite .floor{animation:none;opacity:.5}
body.lite .scanlines{display:none}
body.lite .tilt:hover{transform:none}
body.lite .core,body.lite .globe{animation-duration:60s}
body.lite .holo{transform:none}
body.lite .hud::before,body.lite .hud::after{filter:none}
body.lite .tab.on,body.lite .btn:hover{box-shadow:none}

/* 登入 */

@media (prefers-reduced-motion: reduce){.floor,.core,.globe{animation:none}.tilt:hover{transform:none}}
@media (max-width:640px){.wrap{padding:16px 12px 48px}.grid-kpi{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{padding:14px}.kpi .v{font-size:20px}.globe{--r:130px;width:260px;height:260px}}

/* 圖表（第四版） */
.hbars{display:flex;flex-direction:column;gap:6px}
.hb{display:grid;grid-template-columns:minmax(90px,30%) 1fr minmax(64px,auto);align-items:center;gap:10px;font-size:13px;min-height:24px}
.hb-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.hb-t{position:relative;height:12px;border-radius:3px;background:rgba(255,255,255,.05)}
.hb-z{position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:rgba(255,255,255,.3)}
.hb-b{position:absolute;top:0;bottom:0;border-radius:3px}
.hb-b.up{background:var(--up)}.hb-b.down{background:var(--down)}.hb-b.cy-bg{background:var(--cy)}
.hb-v{text-align:right;white-space:nowrap}
.up-bg{background:var(--up)}.down-bg{background:var(--down)}.flat-bg{background:#5a6080}
.expbar,.probbar{position:relative;display:flex;gap:2px;height:14px;border-radius:4px;overflow:hidden;background:rgba(255,255,255,.05)}
.expbar span,.probbar span{height:100%;display:block}
.probbar i{position:absolute;top:0;bottom:0;width:1px;background:rgba(255,255,255,.75)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}
.steps span{font-size:11px;text-align:center;padding:4px 0;border-radius:4px;background:rgba(255,255,255,.05);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.steps span.done{background:rgba(34,230,255,.18);color:#bff6ff}
.steps span.now{background:var(--cy);color:#041016;font-weight:700}
.tbl td.wrapcell{white-space:normal;min-width:180px;max-width:320px}
.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.45;word-break:break-word}
details summary{cursor:pointer}
@media (max-width:640px){.hb{grid-template-columns:minmax(70px,34%) 1fr auto;font-size:12px}.tv-box{height:420px}}

/* ---------- 第 5.2 版：自製圖表、搜尋 ---------- */
.lwc-wrap{position:relative}
.lwc-box{height:420px;border-radius:10px;overflow:hidden;border:1px solid rgba(34,230,255,.25);background:#060a14}
.lwc-tip{position:absolute;left:10px;top:8px;right:80px;z-index:3;pointer-events:none;display:flex;flex-direction:column;gap:3px;
  text-shadow:0 0 4px #060a14,0 0 8px #060a14;line-height:1.45;max-height:60%;overflow:hidden}
.lwc-tip1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}   /* 第 10.15 版：K 線上方說明預設只排一行 */
/* 第 10.15 版：今日頁市場階段摘要的資料小圖 */
.tviz{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;min-width:0}
.tviz-c{display:flex;flex-direction:column;gap:5px;min-width:0;padding:10px;border:1px solid var(--line,rgba(255,255,255,.08));border-radius:10px;background:rgba(255,255,255,.02)}
.tviz-wide{grid-column:1/-1}
.tviz-gauge{position:relative;height:8px;border-radius:4px;background:linear-gradient(90deg,#ff5d73,#5cb8ff 50%,#3ddc97)}
.tviz-gauge i{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #0b1416;transform:translate(-50%,-50%);box-shadow:0 0 0 2px rgba(255,255,255,.25)}
.tviz-therm,.tviz-adv{height:8px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}
.tviz-therm b,.tviz-adv b{display:block;height:100%;border-radius:4px}
.tviz-adv{background:#ff5d73}
.tviz-adv b{background:#3ddc97}
.tviz-sp{display:flex;flex-direction:column;gap:2px;min-width:0}
.tviz-sp svg{width:100%;height:36px;display:block}
.tviz-sp.empty-sp{height:36px;justify-content:center}
.tviz-strip{display:flex;height:14px;border-radius:4px;overflow:hidden}
.tviz-strip i{flex:1 1 0;min-width:0}
.tviz-dot{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px;vertical-align:middle}
@media (max-width:600px){.tviz{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tviz-c{padding:8px}}
#coinQ{min-height:32px;width:180px;padding:4px 10px;font-size:13px;border-radius:8px;background:rgba(6,10,20,.7);
  border:1px solid rgba(34,230,255,.35);color:inherit}
#coinQ:focus{outline:2px solid rgba(34,230,255,.6);outline-offset:1px}
@media (max-width:640px){.lwc-box{height:340px}#coinQ{width:140px}.lwc-tip{right:60px;font-size:10px}}

/* ---------- 第 5.6 版：沉穩風格（特效關閉時，預設）、子選單、底部導覽、ⓘ 說明 ---------- */
body.lite{--bg:#0d0f13;--panel:#15181e;--line:rgba(255,255,255,.08);--text:#e7e9ee;--muted:#8b93a3;--cy:#f5b544;--vi:#a78bfa;--up:#34d399;--down:#f87171;--warn:#f5b544;background:#0d0f13}
body.lite .sky,body.lite .floor,body.lite .scanlines,body.lite .core-wrap{display:none}
body.lite .glass{background:var(--panel);border-color:var(--line);box-shadow:none;border-radius:12px}
body.lite .hud::before,body.lite .hud::after{display:none}
body.lite .glowc{text-shadow:none}
body.lite .orb{font-family:'Microsoft JhengHei','PingFang TC','Noto Sans TC',system-ui,sans-serif;letter-spacing:.04em}
body.lite .tab{border-color:transparent;color:var(--muted);min-height:38px;padding:0 14px;font-size:14px}
body.lite .tab:hover{color:var(--text);background:rgba(255,255,255,.04)}
body.lite .tab.on{background:rgba(245,181,68,.12);color:#f5b544;border-color:rgba(245,181,68,.35)}
body.lite .btn,body.lite .btn.vio{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:var(--text)}
body.lite .btn:hover{background:rgba(255,255,255,.08)}
body.lite .btn.danger{border-color:rgba(248,113,113,.5);color:#fecaca}
body.lite .sw.on{background:#f5b544;border-color:#f5b544;color:#1a1204}
body.lite .tbl th{border-bottom-color:var(--line)}
body.lite .tbl tr:hover td{background:rgba(255,255,255,.03)}
body.lite a,body.lite .lnk:hover{color:#f5b544;text-shadow:none}
body.lite .lwc-box{border-color:var(--line)}
.eyebrow{font:600 11px 'Microsoft JhengHei','PingFang TC','Noto Sans TC',system-ui,sans-serif;letter-spacing:.14em;color:var(--cy)}
.subnav{display:flex;gap:4px;flex-wrap:wrap;margin-top:-8px}
.subtab{min-height:32px;padding:0 12px;border:none;border-bottom:2px solid transparent;background:none;color:var(--muted);cursor:pointer;font-size:13px}
.subtab.on{color:var(--text);border-bottom-color:var(--cy)}
.kgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px}
.sgrid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:14px}
.nrow{display:flex;flex-direction:column;gap:3px;padding:9px 0;border-bottom:1px solid var(--line)}
.ntitle{font-size:14px;line-height:1.45;color:var(--text);text-decoration:none;word-break:break-word}
a.ntitle:hover{text-decoration:underline}
.banner{padding:10px 14px;border-radius:10px;border:1px solid rgba(245,181,68,.45);background:rgba(245,181,68,.08);font-size:13px}
.ii{position:relative;display:inline-block;cursor:help;color:var(--muted);font-size:12px;outline:none}
.ii:hover::after,.ii:focus::after{content:attr(data-tip);position:absolute;z-index:20;left:-8px;top:130%;width:min(260px,70vw);padding:8px 10px;border-radius:8px;background:#1d2128;border:1px solid var(--line);color:var(--text);font-size:12px;line-height:1.5;white-space:normal;font-weight:400}
dl.guide{display:grid;grid-template-columns:minmax(90px,160px) 1fr;gap:8px 16px;margin:0}
dl.guide dt{font-weight:700}dl.guide dd{margin:0;color:var(--muted);line-height:1.6}
.bnav{display:none}
.sheet{position:fixed;right:12px;bottom:72px;z-index:40;display:flex;flex-direction:column;padding:6px;min-width:160px}
.sheet button,.bnav button{background:none;border:none;color:var(--text);font:500 14px 'Microsoft JhengHei','PingFang TC','Noto Sans TC',system-ui,sans-serif;cursor:pointer;min-height:44px}
@media (max-width:760px){#nav{display:none!important}.wrap{padding-bottom:88px}#botPills{display:none!important}
  .bnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--panel);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
  .bnav button{flex:1;color:var(--muted)}.bnav button.on{color:var(--cy)}dl.guide{grid-template-columns:1fr}}

/* ---------- 第 5.7 版：幣種圖示、持倉數、敘事資訊卡、敘事排行 ---------- */
.cico{display:inline-block;width:16px;height:16px;border-radius:50%;vertical-align:-3px;margin-right:5px;object-fit:cover;background:rgba(255,255,255,.06)}
.cico.ph{display:inline-flex;align-items:center;justify-content:center;color:var(--muted);font-weight:700;line-height:1;border:1px solid var(--line)}
.cnt{display:inline-block;min-width:18px;margin-left:6px;padding:0 5px;border-radius:9px;background:var(--cy);color:#14100a;font-size:11px;line-height:18px;text-align:center;font-weight:700}
.modal{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px 24px;background:rgba(0,0,0,.6);overflow:auto}
.mcard{width:min(640px,100%);max-width:100%}
body.noscroll{overflow:hidden}
.nrank{display:flex;gap:10px;align-items:center;padding:9px 4px;border-bottom:1px solid var(--line);cursor:pointer;border-radius:6px}
.nrank:hover{background:rgba(255,255,255,.03)}
.axrow{display:grid;grid-template-columns:44px 1fr 40px;gap:10px;align-items:center}
.axrow .bar{width:100%}
@media (max-width:640px){.modal{padding:12px 8px 88px}.mcard.pad{padding:14px}}
.sw.on .mono{color:inherit!important}

/* ---------- 第 5.9 版：一排式 K 線工具列、下拉選單、資金等級、自選星號、重點整理、骨架載入 ---------- */
.ctool{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ctool .sw{min-height:32px;padding:0 11px;font-size:12.5px}
.seg{display:inline-flex;gap:3px;align-items:center;flex-wrap:wrap}
.dd{position:relative}
.dd>summary{list-style:none;display:inline-flex;align-items:center}
.dd>summary::-webkit-details-marker{display:none}
.dd[open]>summary{border-color:var(--cy);color:var(--text)}
.dd-body{position:absolute;z-index:30;top:38px;left:0;width:min(92vw,440px);max-height:62vh;overflow:auto;padding:12px 14px;background:var(--panel,#15181e);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.55)}
.dd.flip .dd-body{left:auto;right:0}
.chk{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px}
.chk label{display:flex;gap:6px;align-items:center;cursor:pointer}
.hr{border:none;border-top:1px solid var(--line);margin:4px 0}
.grade{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:5px;font:700 12px ui-monospace,Consolas,monospace;vertical-align:middle;border:1px solid currentColor;cursor:help}
.grade.gS{color:#f5b544;background:rgba(245,181,68,.12)}.grade.gA{color:#34d399;background:rgba(52,211,153,.1)}
.grade.gB{color:#8b93a3}.grade.gC{color:#fb923c;background:rgba(251,146,60,.08)}.grade.gD{color:#f87171;background:rgba(248,113,113,.1)}
.star{background:none;border:none;color:#8b93a3;font-size:20px;line-height:1;cursor:pointer;padding:0 6px 0 0;vertical-align:middle}
.star.on{color:#f5b544}
.star:hover{color:#f5b544}
ul.brief{margin:0;padding:0 0 0 2px;list-style:none;display:flex;flex-direction:column;gap:7px}
ul.brief li{position:relative;padding-left:16px;font-size:14px;line-height:1.55}
ul.brief li::before{content:'';position:absolute;left:2px;top:.6em;width:6px;height:6px;border-radius:50%;background:#8b93a3}
ul.brief li.warn::before{background:#fb923c;box-shadow:0 0 6px #fb923c}
.mono,.tbl td,.kpi .v{font-variant-numeric:tabular-nums}
.skel{display:flex;flex-direction:column;gap:14px}
.skel i{display:block;height:84px;border-radius:12px;background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.08),rgba(255,255,255,.04));background-size:200% 100%;animation:skel 1.2s linear infinite}
.skel i:nth-child(2){height:180px}.skel i:nth-child(3){height:120px}
@keyframes skel{to{background-position:-200% 0}}
@media (prefers-reduced-motion: reduce){.skel i{animation:none}}
@media (max-width:640px){.chartsec{margin:0 -12px;border-radius:0;padding:10px 0 12px}.chartsec .ctool,.chartsec>.col{padding:0 10px}.chartsec .lwc-box{border-radius:0;border-left:none;border-right:none}.ctool .sw{min-height:30px;padding:0 8px}}

/* ---------- 第 6.0 版：K 線右側資訊欄（桌機） ---------- */
.coingrid{display:block}
.coinside{display:none}
@media (min-width:1280px){.coingrid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px;align-items:start}.coinside{display:flex;gap:10px;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}}

/* 第 6.6 版：期權頁（ECharts）與可排序表格 */
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px}
.ecbox{min-width:0}
.thbtn{background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:0;white-space:nowrap}
.thbtn:hover{color:var(--amber,#d9b45a)}
details.lv>summary::-webkit-details-marker{display:none}
/* ===== 第 6.7 版：石墨薄荷綠主題。特效開 / 關是同一個主題：關＝安靜版（預設），開＝多了背景流動光、玻璃質感、卡片浮起與光暈 ===== */
body,body.lite{--bg:#0e1011;--panel:#151819;--line:rgba(255,255,255,.09);--text:#e6eaeb;--muted:#7d878a;--acc:#3ddc97;--cy:#3ddc97;--vi:#5cb8ff;
  --up:#3ddc97;--down:#ff5d73;--warn:#ffd166;--amber:#3ddc97;background:#0e1011}
body ::selection{background:rgba(61,220,151,.35)}
body{scrollbar-color:#2c3336 #0e1011}
body .wrap,body.lite .wrap{max-width:1400px}
body .glass,body.lite .glass{background:#151819;border:1px solid var(--line);border-radius:12px;box-shadow:none;transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease}
body section.glass:hover,body.lite section.glass:hover{border-color:rgba(61,220,151,.28)}
body h2.h2,body.lite h2.h2{font-family:inherit;font-weight:600;font-size:18px;letter-spacing:.01em;color:#f1f4f5}
body .eyebrow,body.lite .eyebrow{color:var(--acc);letter-spacing:.14em;font-weight:600;font-size:11px}
body .orb,body.lite .orb{font-family:inherit;font-style:normal;font-weight:800;letter-spacing:.06em;background:none;color:#f1f4f5;-webkit-text-fill-color:currentColor}
body .glowc,body.lite .glowc{text-shadow:none}
body header.glass,body.lite header.glass{border-radius:12px}
body .mono,body.lite .mono{font-family:'Cascadia Mono',ui-monospace,Consolas,'SF Mono',Menlo,monospace}
body a,body.lite a{color:var(--acc)}
body a:hover,body.lite a:hover{color:#8ff0c4}
body .lnk:hover,body.lite .lnk:hover{color:var(--acc);text-shadow:none}
body #nav,body.lite #nav{gap:2px;border-bottom:1px solid var(--line);padding-bottom:0}
body .tab,body.lite .tab{border:none;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--muted);min-height:42px;padding:0 16px;font-size:15px;letter-spacing:.02em;box-shadow:none;transition:color .2s,border-color .2s}
body .tab:hover,body.lite .tab:hover{color:var(--text);background:none;box-shadow:none}
body .tab.on,body.lite .tab.on{background:none;color:#f1f4f5;border-bottom-color:var(--acc);box-shadow:none}
body .subtab,body.lite .subtab{transition:color .2s,border-color .2s}
body .subtab.on,body.lite .subtab.on{color:#f1f4f5;border-bottom-color:var(--acc)}
body .sw,body.lite .sw{border-color:rgba(255,255,255,.13);color:#a9b3b6;border-radius:8px;min-height:36px;transition:all .18s}
body .sw:hover,body.lite .sw:hover{border-color:var(--acc);color:var(--text)}
body .sw.on,body.lite .sw.on{background:var(--acc);border-color:var(--acc);color:#06281a;font-weight:700}
body .btn,body.lite .btn{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:var(--text);border-radius:8px;transition:all .18s;box-shadow:none}
body .btn.vio,body.lite .btn.vio{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:var(--text)}
body .btn:hover,body.lite .btn:hover{background:rgba(61,220,151,.10);border-color:var(--acc);box-shadow:none}
body .btn.big,body.lite .btn.big{background:var(--acc);border-color:var(--acc);color:#06281a;font-weight:700}
body .btn.danger,body.lite .btn.danger{border-color:rgba(255,93,115,.55);color:#ffc2cb;background:rgba(255,93,115,.06)}
body .pill,body.lite .pill{border-color:rgba(255,255,255,.14);border-radius:6px}
body .tag,body.lite .tag{border-radius:5px}
body .tbl th,body.lite .tbl th{border-bottom:1px solid rgba(255,255,255,.14);letter-spacing:.04em;font-size:11.5px}
body .tbl td,body.lite .tbl td{border-bottom-color:rgba(255,255,255,.05)}
body .tbl tr:hover td,body.lite .tbl tr:hover td{background:rgba(61,220,151,.05)}
body .field input,body.lite .field input{border-color:rgba(255,255,255,.14);background:rgba(0,0,0,.35);border-radius:8px}
body #coinQ,body.lite #coinQ{border-color:rgba(255,255,255,.14);background:rgba(0,0,0,.35);border-radius:8px}
body .field input:focus,body.lite .field input:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px rgba(61,220,151,.16)}
body #coinQ:focus,body.lite #coinQ:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px rgba(61,220,151,.16)}
body .toast,body.lite .toast{border-color:rgba(61,220,151,.5)}
body .hr,body.lite .hr{border-color:var(--line)}
body .lwc-box,body.lite .lwc-box{border-color:var(--line)}
body .skel i,body.lite .skel i{background:linear-gradient(90deg,rgba(255,255,255,.03),rgba(255,255,255,.08),rgba(255,255,255,.03));background-size:200% 100%}
body .bnav,body.lite .bnav{background:#111314;border-top:1px solid var(--line)}
body .bnav button.on,body.lite .bnav button.on{color:var(--acc)}
body .login form,body.lite .login form{border-color:rgba(255,255,255,.14)}
body .kgrid>.col,body.lite .kgrid>.col{padding-left:12px;border-left:2px solid rgba(255,255,255,.08)}
body .nextexp,body.lite .nextexp{border-color:rgba(61,220,151,.35)}
body .nextexp .kpi,body.lite .nextexp .kpi{padding-left:14px;border-left:2px solid rgba(255,255,255,.08)}
body .banner,body.lite .banner{border:1.5px solid var(--warn);border-radius:10px;background:rgba(255,209,102,.07);color:#ffe9b0;padding:10px 14px}
/* 重要訊息三級：重要（亮色外框，一頁最多一兩個）、留意（左側色條）、一般（不標） */
.imp{border:1.5px solid var(--acc);border-radius:10px;padding:10px 14px;background:rgba(61,220,151,.05);box-shadow:0 0 0 4px rgba(61,220,151,.07)}
.imp.bad{border-color:var(--down);background:rgba(255,93,115,.06);box-shadow:0 0 0 4px rgba(255,93,115,.08)}
.imp.warn{border-color:var(--warn);background:rgba(255,209,102,.06);box-shadow:0 0 0 4px rgba(255,209,102,.08);color:inherit}
.imp-l{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--acc);margin-bottom:3px}
.imp.bad .imp-l{color:var(--down)}.imp.warn .imp-l{color:var(--warn)}
.note{border-left:3px solid var(--warn);background:rgba(255,209,102,.05);padding:8px 12px;border-radius:0 8px 8px 0}
.note-l{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--warn);margin-right:8px}
/* 特效開：同一個配色，多一些效果 */
body:not(.lite) .sky{background:radial-gradient(ellipse 70% 45% at 20% 0%,rgba(61,220,151,.16),transparent 70%),radial-gradient(ellipse 60% 40% at 85% 10%,rgba(92,184,255,.12),transparent 70%);animation:aur 18s ease-in-out infinite alternate}
@keyframes aur{from{transform:translate3d(-3%,0,0) scale(1)}to{transform:translate3d(3%,2%,0) scale(1.08)}}
body:not(.lite) .floor{background-image:linear-gradient(rgba(61,220,151,.20) 1px,transparent 1px),linear-gradient(90deg,rgba(61,220,151,.20) 1px,transparent 1px);opacity:.55}
body:not(.lite) .scanlines{display:none}
body:not(.lite) .glass{background:rgba(21,24,25,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 14px 40px rgba(0,0,0,.45)}
body:not(.lite) section.glass:hover{transform:translateY(-3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 20px 50px rgba(0,0,0,.5),0 0 26px rgba(61,220,151,.14)}
body:not(.lite) .tilt:hover{transform:perspective(1000px) rotateX(3deg) rotateY(-3deg) translateY(-4px);box-shadow:0 22px 56px rgba(0,0,0,.55),0 0 26px rgba(61,220,151,.18)}
body:not(.lite) .hud::before{border-color:var(--acc);filter:drop-shadow(0 0 4px var(--acc))}
body:not(.lite) .hud::after{border-color:var(--vi);filter:drop-shadow(0 0 4px var(--vi))}
body:not(.lite) .sw.on,body:not(.lite) .btn.big{box-shadow:0 0 18px rgba(61,220,151,.35)}
body:not(.lite) .tab.on{text-shadow:0 0 14px rgba(61,220,151,.5)}
body:not(.lite) .eyebrow{text-shadow:0 0 12px rgba(61,220,151,.45)}
body:not(.lite) .imp{box-shadow:0 0 0 4px rgba(61,220,151,.08),0 0 28px rgba(61,220,151,.18)}
body:not(.lite) .core .r{border-color:rgba(61,220,151,.8);box-shadow:0 0 10px rgba(61,220,151,.5)}
body:not(.lite) .core .r2{border-color:rgba(92,184,255,.8);box-shadow:0 0 10px rgba(92,184,255,.5)}
body:not(.lite) .core .r4{border-color:rgba(255,209,102,.6);box-shadow:0 0 10px rgba(255,209,102,.4)}
body:not(.lite) .mer{border-color:rgba(61,220,151,.2)}
body:not(.lite) .par{border-color:rgba(92,184,255,.22)}
/* 即時跑馬燈（兩種模式都有） */
.ticker{display:block;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.tk-track{display:inline-flex;gap:34px;white-space:nowrap;animation:tk 70s linear infinite;padding-left:20px}
.ticker:hover .tk-track{animation-play-state:paused}
.tk{display:inline-flex;gap:8px;align-items:baseline;font-size:13px;text-decoration:none;color:var(--text)}
.tk b{color:#f1f4f5;font-weight:700;letter-spacing:.04em}
@keyframes tk{to{transform:translateX(-50%)}}
/* 價格變動閃色、數字滾動 */
.fu{animation:fu .9s ease-out}.fd{animation:fd .9s ease-out}
@keyframes fu{0%{color:#b6f5d3;text-shadow:0 0 10px rgba(61,220,151,.7)}100%{text-shadow:none}}
@keyframes fd{0%{color:#ffc3cc;text-shadow:0 0 10px rgba(255,93,115,.7)}100%{text-shadow:none}}
.rolling{color:var(--acc)!important;transition:color .4s}
/* 換頁：卡片依序滑入 */
#page.enter>*{animation:rise .55s cubic-bezier(.2,.7,.2,1) both}
#page.enter>*>.glass,#page.enter>*>section,#page.enter>*>div{animation:rise .6s cubic-bezier(.2,.7,.2,1) both}
#page.enter>*>:nth-child(2){animation-delay:.06s}#page.enter>*>:nth-child(3){animation-delay:.12s}#page.enter>*>:nth-child(4){animation-delay:.18s}
#page.enter>*>:nth-child(5){animation-delay:.24s}#page.enter>*>:nth-child(6){animation-delay:.30s}#page.enter>*>:nth-child(n+7){animation-delay:.36s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
#page.enter svg path{animation:draw 1.1s ease-out both}
@keyframes draw{from{opacity:0}to{opacity:1}}
.vdot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:2px;animation:vpulse 2.4s ease-in-out infinite}
@keyframes vpulse{0%,100%{box-shadow:0 0 0 0 currentColor;opacity:1}50%{box-shadow:0 0 0 6px transparent;opacity:.75}}
@media (prefers-reduced-motion: reduce){.tk-track,.vdot,.fu,.fd,#page.enter>*,#page.enter>*>*,#page.enter svg path,body:not(.lite) .sky{animation:none!important}}
@media (max-width:640px){body .tab,body.lite .tab{padding:0 12px;font-size:14px}.tk{font-size:12px}}
/* 登入畫面不顯示手機底部導覽 */
#login:not(.hidden)~.bnav{display:none}

/* 第 6.8 版：期權熱表 / Delta 偏斜表（斜紋＝沒有這個合約或取不到，不補 0） */
.tbl.hm td, .tbl.hm th { padding: 4px 6px; }
.tbl.hm td.hm-na { background: repeating-linear-gradient(45deg, rgba(255,255,255,.06) 0 3px, transparent 3px 7px); }
.optex details summary::-webkit-details-marker { display: none; }

/* 第 6.9 版：AI 產生的文字一律金色；熱表的「沒掛牌」淡底與數字；可收合區塊 */
.ai-gold, .ai-gold b { color: #e3b341 !important; }
.tbl.hm td.hm-nl { background: rgba(255,255,255,.025); }
.hm-na-chip { background: repeating-linear-gradient(45deg, rgba(255,255,255,.12) 0 3px, transparent 3px 7px); border-radius: 4px; }
.hm-nl-chip { background: rgba(255,255,255,.06); border-radius: 4px; }
.tbl.hm td.hm-v { text-align: center; font-size: 10.5px; }
#page section.glass > .between:has(.eyebrow) { cursor: pointer; }
section.glass.fold > :not(.between):not(.imp-l) { display: none !important; }
section.glass.fold > .between h2::after, section.glass.fold > .between .h2::after { content: '（已收合，點一下展開）'; font-size: 12px; color: var(--muted); margin-left: 8px; font-weight: 400; }

/* ================= 第 7.1 版：中強度動態與質感（動態開關 body.nomo 全部關；系統減少動態全部關；手機減量） ================= */
body, body.lite { font-family: 'Noto Sans TC', 'Microsoft JhengHei', system-ui, sans-serif; }
.mono, body.lite .mono, .kpiv { font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace !important; font-feature-settings: 'tnum' 1; }
/* 頂端進度條 */
#topbar { position: fixed; top: 0; left: 0; height: 2px; width: 0; z-index: 9999; background: linear-gradient(90deg, #3ddc97, #5cb8ff); box-shadow: 0 0 8px #3ddc97; opacity: 0; pointer-events: none; }
#topbar.run { opacity: 1; width: 80%; transition: width 2.5s cubic-bezier(.1, .7, .2, 1); }
#topbar.done { width: 100%; opacity: 0; transition: width .2s, opacity .35s .15s; }
/* LIVE 即時價 */
.livepill { gap: 6px; border-color: rgba(61, 220, 151, .45) !important; }
.ldot { width: 7px; height: 7px; border-radius: 50%; background: #3ddc97; position: relative; display: inline-block; }
.ldot::after { content: ''; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid #3ddc97; animation: ldot 1.6s infinite; }
@keyframes ldot { 0% { transform: scale(.5); opacity: 1 } 100% { transform: scale(1.8); opacity: 0 } }
/* 卡片：內層光暈＋細格線、滑過浮起與亮邊 */
#page section.glass { background-image: radial-gradient(120% 80% at 0% 0%, rgba(61, 220, 151, .055), transparent 60%),
  linear-gradient(rgba(255, 255, 255, .018) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .018) 1px, transparent 1px);
  background-size: auto, 24px 24px, 24px 24px; transition: transform .25s, border-color .25s, box-shadow .25s; }
#page section.glass:hover { transform: translateY(-2px); border-color: rgba(61, 220, 151, .38); box-shadow: 0 10px 28px rgba(0, 0, 0, .35), 0 0 0 1px rgba(61, 220, 151, .12); }
.secico { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; vertical-align: -2px; margin-right: 5px; }
/* 選單滑動底線 */
#nav, #subnav { position: relative; }
#nav .ink, #subnav .ink { position: absolute; height: 2px; background: #3ddc97; box-shadow: 0 0 8px rgba(61, 220, 151, .6); pointer-events: none; transition: left .35s cubic-bezier(.2, .8, .2, 1), width .35s cubic-bezier(.2, .8, .2, 1); }
/* KPI 迷你走勢線、數字閃色 */
.spark { width: 100%; height: 24px; margin-top: 2px; }
.spark path { fill: none; stroke: #3ddc97; stroke-width: 1.6; vector-effect: non-scaling-stroke; stroke-dasharray: 400; stroke-dashoffset: 400; animation: spk 1.4s ease forwards; }
@keyframes spk { to { stroke-dashoffset: 0 } }
/* 表格列依序淡入、格子漣漪、收合展開 */
#page .tbl tbody tr { animation: rowin .45s both; }
#page .tbl tbody tr:nth-child(2) { animation-delay: .03s } #page .tbl tbody tr:nth-child(3) { animation-delay: .06s } #page .tbl tbody tr:nth-child(4) { animation-delay: .09s }
#page .tbl tbody tr:nth-child(5) { animation-delay: .12s } #page .tbl tbody tr:nth-child(6) { animation-delay: .15s } #page .tbl tbody tr:nth-child(7) { animation-delay: .18s }
#page .tbl tbody tr:nth-child(8) { animation-delay: .21s } #page .tbl tbody tr:nth-child(n+9) { animation-delay: .24s }
@keyframes rowin { from { opacity: 0; transform: translateY(4px) } }
td[data-rip] { animation: rip 1s 2; }
@keyframes rip { 0% { box-shadow: inset 0 0 0 0 rgba(61, 220, 151, .8) } 100% { box-shadow: inset 0 0 0 12px rgba(61, 220, 151, 0) } }
details[open] > :not(summary) { animation: open .3s ease; }
section.glass.unfold > :not(.between) { animation: open .35s ease; }
@keyframes open { from { opacity: 0; transform: translateY(-6px) } }
/* 骨架屏閃光 */
.skel i { background: linear-gradient(90deg, #1c2123 25%, #2a3133 50%, #1c2123 75%) !important; background-size: 200% 100% !important; animation: shimmer 1.3s infinite !important; }
@keyframes shimmer { to { background-position: -200% 0 } }
/* 新事件滑入 */
.evtoast { position: fixed; right: 16px; bottom: 76px; z-index: 9998; max-width: 320px; background: #1a1f21; border: 1px solid #2a2f31; border-left: 3px solid #b79cff;
  border-radius: 10px; padding: 10px 14px; transform: translateX(140%); transition: transform .45s cubic-bezier(.2, .8, .2, 1); box-shadow: 0 10px 30px rgba(0, 0, 0, .4); }
.evtoast.show { transform: none; }
/* 空狀態插圖 */
.empty::before { content: ''; display: block; width: 46px; height: 46px; margin: 0 auto 8px; opacity: .55;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%237d878a' stroke-width='2'%3E%3Crect x='10' y='14' width='44' height='36' rx='6'/%3E%3Cpath d='M18 40l8-10 7 6 13-14'/%3E%3C/svg%3E") no-repeat center / contain; }
.empty.small::before { width: 30px; height: 30px; margin-bottom: 4px; }
/* 動態關閉 / 系統減少動態 / 手機減量 */
body.nomo *, body.nomo *::before, body.nomo *::after { animation: none !important; transition: none !important; }
body.nomo #page section.glass:hover { transform: none; box-shadow: none; }
body.nomo #topbar { display: none; }
@media (prefers-reduced-motion: reduce) { #page .tbl tbody tr, .spark path, td[data-rip], .ldot::after, details[open] > :not(summary) { animation: none !important; } #page section.glass { transition: none; } #topbar { display: none; } }
@media (max-width: 640px) { #page section.glass:hover { transform: none; box-shadow: none; } #page .tbl tbody tr { animation: none; }
  #page section.glass { background-image: radial-gradient(120% 80% at 0% 0%, rgba(61, 220, 151, .05), transparent 60%); } .livepill b { display: none; } }
@media (max-width:760px){#moBtn{display:none!important}}   /* 第 7.1 版：手機上「動態」開關收進「更多」選單 */

/* ===== 第 7.8 版：DataNexus Lab 圖示、說明收合、手機表格、子選單分組、手機細列、大數字卡、標籤四色 ===== */
.brand-ico { width: 46px; height: 46px; border-radius: 11px; flex: none; display: block; }
/* 標籤收斂成四種：多（綠）、空（紅）、中性（灰）、提醒（琥珀） */
body .tag.warn, body .tag.ai, body .tag.scan { background: rgba(255, 209, 102, .13); color: #ffe2a0; }
/* TradingView 小按鈕 */
.tvb { display: inline-flex; align-items: center; margin-left: 8px; padding: 1px 7px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 6px; font-size: 11px; line-height: 18px; color: var(--muted) !important; text-decoration: none; vertical-align: middle; white-space: nowrap; }
.tvb:hover { border-color: var(--acc); color: var(--text) !important; }
/* 長說明預設收成兩行 */
.nfold { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nbtn { align-self: flex-start; background: none; border: none; color: var(--acc); font-size: 12px; cursor: pointer; padding: 0; min-height: 28px; margin-top: -6px; }
/* 大數字卡 */
.kstrip { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }
.kcard { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: #151819; }
.kcard .kpiv { font-size: 22px; font-weight: 800; line-height: 1.25; overflow-wrap: anywhere; }
/* 空白狀態：預計何時有資料、去哪裡看 */
.empty .xs { display: block; margin-top: 4px; line-height: 1.6; }
.empty .btn { display: inline-flex; align-items: center; margin-top: 10px; min-height: 32px; padding: 0 12px; font-size: 12px; text-decoration: none; }
/* 子選單分組 */
.subgrp { align-self: center; flex: none; padding: 0 2px 0 12px; font-size: 11px; letter-spacing: .08em; color: var(--muted); opacity: .75; white-space: nowrap; border-left: 1px solid var(--line); margin-left: 6px; }
.subgrp:first-child { padding-left: 0; border-left: none; margin-left: 0; }
.minibar { display: none; }
@media (max-width: 760px) {
  .subnav { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; margin-right: -12px; padding-right: 24px;
    -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent); }
  .subnav::-webkit-scrollbar { display: none; }
  .subtab { flex: none; white-space: nowrap; min-height: 38px; }
  /* 往下捲時頂部收成一條細列 */
  .minibar { display: flex; position: fixed; top: 0; left: 0; right: 0; z-index: 45; align-items: center; gap: 10px; padding: 7px 12px; padding-top: calc(7px + env(safe-area-inset-top));
    background: rgba(17, 19, 20, .97); border: none; border-bottom: 1px solid var(--line); color: var(--text); text-align: left; cursor: pointer; transform: translateY(-110%); transition: transform .22s ease; }
  body.scrolled .minibar { transform: none; }
  .minibar img { border-radius: 6px; flex: none; }
  .minibar b { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; font-weight: 700; }
  .brand-ico { width: 38px; height: 38px; }
  .kstrip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .kcard { padding: 12px; } .kcard .kpiv { font-size: 18px; }
  /* 寬表格：第一欄固定 */
  .tbl.stick1 th:first-child, .tbl.stick1 td:first-child { position: sticky; left: 0; z-index: 2; background: #151819; box-shadow: 1px 0 0 rgba(255, 255, 255, .09); }
  /* 欄位多的表格：一筆一張卡片 */
  .tbl.cardy { display: block; min-width: 0 !important; }
  .tbl.cardy thead { display: none; }
  .tbl.cardy tbody { display: flex; flex-direction: column; gap: 10px; }
  .tbl.cardy tr { display: block; padding: 6px 12px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255, 255, 255, .02); }
  .tbl.cardy td { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; padding: 6px 0; white-space: normal; text-align: right; border-bottom: 1px solid rgba(255, 255, 255, .05); }
  .tbl.cardy td:last-child { border-bottom: none; }
  .tbl.cardy td::before { content: attr(data-l); flex: none; color: var(--muted); font-size: 12px; text-align: left; font-family: 'Noto Sans TC', 'Microsoft JhengHei', system-ui, sans-serif; }
  .tbl.cardy td:empty { display: none; }
}

/* ===== 第 8.0／8.1 版：名詞小卡、說明書改版、加密貨幣入門、帳號頁 ===== */
.linkbtn{background:none;border:0;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:6px 0;align-self:center}
.linkbtn:hover{color:var(--text)}
#whoami{cursor:pointer}
#whoami.todo::after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--warn);margin-left:6px;vertical-align:middle}

/* 名詞小卡 */
.gloss{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:6px}
.gl{--c:var(--muted);border:1px solid var(--line);border-left:3px solid var(--c);border-radius:10px;padding:10px 12px;background:color-mix(in srgb,var(--c) 6%,transparent);display:flex;flex-direction:column;gap:4px}
.gl b{color:var(--c);font-size:13px}
.gl span{font-size:12.5px;line-height:1.6;color:var(--text);opacity:.86}
.gl i{font-style:normal;color:var(--c);font-weight:600}

/* 捲到才出現 */
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}

/* 說明書：流程圖 */
.gx-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;margin:8px 0 2px}
.gx-step{--c:var(--acc);position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 6px;background:none;border:0;color:inherit;font:inherit;cursor:pointer;text-align:center}
.gx-step::before{content:"";position:absolute;top:21px;left:-50%;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--c));opacity:.45}
.gx-step:first-child::before{display:none}
.gx-dot{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--c);color:var(--c);font-weight:800;font-family:'JetBrains Mono',monospace;background:var(--panel);position:relative;z-index:1;animation:gxPulse 7.5s infinite;animation-delay:calc(var(--i)*1.5s)}
.gx-step b{font-size:14px}
.gx-step small{font-size:12px;color:var(--muted);line-height:1.5}
.gx-step.on .gx-dot{background:var(--c);color:#0e1011}
@keyframes gxPulse{0%,14%{box-shadow:0 0 0 0 color-mix(in srgb,var(--c) 70%,transparent);transform:scale(1.12)}20%,100%{box-shadow:0 0 0 14px transparent;transform:scale(1)}}
.gx-more{border-left:3px solid var(--c,var(--acc));padding:10px 14px;border-radius:8px;background:color-mix(in srgb,var(--c,var(--acc)) 7%,transparent);font-size:13.5px;line-height:1.75}
/* 說明書：分頁圖卡 */
.gx-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.gx-card{--c:var(--acc);display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:14px;border:1px solid var(--line);border-top:3px solid var(--c);background:linear-gradient(180deg,color-mix(in srgb,var(--c) 9%,transparent),transparent 60%);text-decoration:none;color:inherit;transition:transform .2s ease,border-color .2s ease}
.gx-card:hover{transform:translateY(-3px);border-color:var(--c)}
.gx-ico{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c)}
.gx-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gx-card h3{margin:0;font-size:16px}
.gx-card p{margin:0;font-size:13px;color:var(--muted);line-height:1.6}
.gx-terms{display:flex;flex-wrap:wrap;gap:6px}
.gx-terms span{font-size:11.5px;padding:2px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c) 45%,transparent);color:var(--c)}
/* 說明書：完整條目 */
.gx-q{width:100%;min-height:40px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:inherit;font:inherit;padding:0 12px}
.gx-sec{--c:var(--acc);border:1px solid var(--line);border-left:3px solid var(--c);border-radius:12px;padding:0 14px;background:var(--panel)}
.gx-sec>summary{cursor:pointer;padding:13px 0;font-weight:700;color:var(--c);list-style:none;display:flex;justify-content:space-between;align-items:center}
.gx-sec>summary::-webkit-details-marker{display:none}
.gx-sec>summary::after{content:"＋";color:var(--muted);font-weight:400}
.gx-sec[open]>summary::after{content:"－"}
.gx-sec dl{margin:0 0 14px}
.gx-none{display:none!important}

/* 入門頁 */
.in-hero{position:relative;overflow:hidden;border-radius:18px;padding:34px 26px;border:1px solid var(--line);background:radial-gradient(120% 140% at 0% 0%,rgba(92,184,255,.16),transparent 55%),radial-gradient(120% 140% at 100% 100%,rgba(183,156,255,.16),transparent 55%),var(--panel)}
.in-hero h1{margin:0 0 8px;font-size:clamp(24px,4vw,34px);line-height:1.25}
.in-hero p{margin:0;color:var(--muted);max-width:60ch;line-height:1.8}
.in-toc{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.in-toc a{--c:var(--acc);font-size:12.5px;padding:5px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c) 50%,transparent);color:var(--c);text-decoration:none}
.in-sec{--c:var(--acc);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:26px;align-items:center;padding:26px;border-radius:18px;border:1px solid var(--line);background:var(--panel);scroll-margin-top:70px}
.in-sec.flip .in-art{order:-1}
.in-sec.full{grid-template-columns:1fr}
.in-no{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.14em;color:var(--c)}
.in-sec h2{margin:4px 0 10px;font-size:22px}
.in-sec p{margin:0 0 10px;line-height:1.85;color:var(--text);opacity:.9;font-size:14.5px}
.in-sec p.k{border-left:3px solid var(--c);padding:6px 12px;background:color-mix(in srgb,var(--c) 8%,transparent);border-radius:6px;font-size:13.5px}
.in-art{border-radius:14px;background:color-mix(in srgb,var(--c) 6%,transparent);border:1px dashed color-mix(in srgb,var(--c) 35%,transparent);padding:14px;min-height:170px;display:grid;place-items:center}
.in-art svg{width:100%;height:auto;max-height:240px}
.in-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.in-card{--c:var(--acc);border-radius:14px;padding:16px;border:1px solid color-mix(in srgb,var(--c) 40%,transparent);background:color-mix(in srgb,var(--c) 7%,transparent);display:flex;flex-direction:column;gap:6px}
.in-card svg{width:46px;height:46px}
.in-card b{color:var(--c);font-size:15px}
.in-card span{font-size:13px;line-height:1.7;opacity:.9}
.in-card small{font-size:12px;color:var(--muted);line-height:1.6}
.in-card a{color:var(--c);font-size:12.5px}
.in-lev{display:flex;flex-direction:column;gap:10px;width:100%}
.in-lev input[type=range]{width:100%;accent-color:var(--warn)}
.in-bar{height:14px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}
.in-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--up),var(--warn),var(--down));transition:width .25s ease}
.in-big{font-family:'JetBrains Mono',monospace;font-size:26px;font-weight:700}
/* 入門頁的小動畫 */
.a-blk{opacity:0;animation:aBlk 6s infinite}
.a-blk:nth-of-type(2){animation-delay:.9s}.a-blk:nth-of-type(3){animation-delay:1.8s}.a-blk:nth-of-type(4){animation-delay:2.7s}
@keyframes aBlk{0%{opacity:0;transform:translateY(10px)}12%,82%{opacity:1;transform:none}100%{opacity:0}}
.a-link{stroke-dasharray:30;stroke-dashoffset:30;animation:aLink 6s infinite}
.a-link.l2{animation-delay:.9s}.a-link.l3{animation-delay:1.8s}
@keyframes aLink{0%,10%{stroke-dashoffset:30}24%,82%{stroke-dashoffset:0}100%{stroke-dashoffset:30}}
.a-grow{transform-box:fill-box;transform-origin:bottom;animation:aGrow 3.2s ease-in-out infinite}
.a-grow.g2{animation-delay:.25s}.a-grow.g3{animation-delay:.5s}.a-grow.g4{animation-delay:.75s}
@keyframes aGrow{0%,100%{transform:scaleY(.35)}55%{transform:scaleY(1)}}
.a-slide{animation:aSlide 2.6s ease-in-out infinite}
@keyframes aSlide{0%,100%{transform:translateX(-14px);opacity:.3}50%{transform:translateX(14px);opacity:1}}
.a-ring{transform-box:fill-box;transform-origin:center;animation:aRing 2.4s ease-out infinite}
.a-ring.r2{animation-delay:.8s}.a-ring.r3{animation-delay:1.6s}
@keyframes aRing{0%{transform:scale(.3);opacity:.9}100%{transform:scale(1.5);opacity:0}}
.a-tilt{transform-box:fill-box;transform-origin:center;animation:aTilt 5s ease-in-out infinite}
@keyframes aTilt{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
.a-draw{stroke-dasharray:420;stroke-dashoffset:420;animation:aDraw 5s ease-in-out infinite}
@keyframes aDraw{0%{stroke-dashoffset:420}60%,90%{stroke-dashoffset:0}100%{stroke-dashoffset:420}}
.a-float{animation:aFloat 4s ease-in-out infinite}
@keyframes aFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.in-tl{display:flex;flex-direction:column;gap:12px}
.in-tr{--c:var(--acc);display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;padding:14px;border-radius:12px;border:1px solid var(--line);border-left:3px solid var(--c)}
.in-tr .gx-ico{width:44px;height:44px}
.in-tr h3{margin:0 0 4px;font-size:15.5px;color:var(--c)}
.in-tr p{margin:0 0 6px;font-size:13.5px}
.in-pc{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12.5px;line-height:1.65}
.in-pc div{padding:8px 10px;border-radius:8px;background:rgba(255,255,255,.035)}
.in-pc b{display:block;font-size:11.5px;letter-spacing:.06em;margin-bottom:2px}
@media (max-width:760px){
  .gx-flow{grid-template-columns:1fr;gap:10px}
  .gx-step{flex-direction:row;text-align:left;align-items:center;gap:12px;padding:0}
  .gx-step::before{display:none}
  .gx-step small{display:block}
  .in-sec{grid-template-columns:1fr;padding:18px}
  .in-sec.flip .in-art{order:0}
  .in-pc{grid-template-columns:1fr}
  .in-hero{padding:24px 18px}
}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  .gx-dot,.a-blk,.a-link,.a-grow,.a-slide,.a-ring,.a-tilt,.a-draw,.a-float{animation:none!important;opacity:1;stroke-dashoffset:0}
}
body.nomo .rv,body.nomo .a-blk{opacity:1;transform:none}body.nomo .a-link,body.nomo .a-draw{stroke-dashoffset:0}

/* ===== 入門頁：主視覺插圖、和傳統金融的對照 ===== */
.in-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;align-items:center}
.in-hart svg{width:100%;height:auto;max-height:250px;display:block}
.a-spin{transform-box:fill-box;transform-origin:center;animation:aSpin 26s linear infinite}
.a-spin.rev{animation-duration:38s;animation-direction:reverse}
@keyframes aSpin{to{transform:rotate(360deg)}}
.a-glow{animation:aGlow 3.6s ease-in-out infinite}
@keyframes aGlow{0%,100%{opacity:.35}50%{opacity:.8}}
.in-vs{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.in-vr{display:grid;grid-template-columns:150px 1fr 1fr;gap:0;border-top:1px solid var(--line);font-size:13.5px;line-height:1.7}
.in-vr:first-child{border-top:0}
.in-vr>*{padding:10px 14px}
.in-vr>b{color:var(--c);background:color-mix(in srgb,var(--c) 6%,transparent);font-size:13px}
.in-vr.head>*{font-weight:700;font-size:12.5px;letter-spacing:.06em;background:rgba(255,255,255,.04)}
.in-vr.head .tf{color:var(--blue,#5cb8ff)}.in-vr.head .cr{color:var(--c)}
.in-vr>span+span{border-left:1px solid var(--line)}
.in-pros{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.in-pros ul{margin:6px 0 0;padding-left:18px;font-size:13px;line-height:1.75}
.in-pros .in-card b.up{color:var(--up)}.in-pros .in-card b.down{color:var(--down)}

/* ===== 股票 → 跨市場總覽 ===== */
.xm-warn{border:1px solid rgba(255,209,102,.5);background:rgba(255,209,102,.08);border-radius:12px;padding:12px 16px;font-size:13.5px;line-height:1.75}
.xm-warn b{color:var(--warn);margin-right:10px}
.xm-layers{display:flex;flex-wrap:wrap;gap:8px}
.xm-layers span{padding:6px 14px;border-radius:999px;border:1px solid var(--line);font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px}
.xm-layers span.on{color:var(--acc);border-color:var(--acc);background:color-mix(in srgb,var(--acc) 10%,transparent);font-weight:600}
.xm-layers small{font-size:10.5px;padding:1px 6px;border-radius:999px;background:rgba(255,255,255,.07)}
.xm-pts{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.75}
.xm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.xm-card{--c:var(--acc);display:flex;flex-direction:column;gap:7px;padding:14px;border-radius:14px;border:1px solid var(--line);border-top:3px solid var(--c);background:linear-gradient(180deg,color-mix(in srgb,var(--c) 7%,transparent),transparent 55%)}
.xm-card>div>b{font-size:14px}
.xm-last{font-size:22px;font-weight:700}
.xm-spark{width:100%;height:36px;display:block}
.xm-rows{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--muted)}
.xm-range{position:relative;height:5px;border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,.16))}
.xm-range i{position:absolute;top:-3px;width:3px;height:11px;border-radius:2px;background:var(--c);transform:translateX(-50%)}
.xm-corr{display:flex;flex-direction:column;gap:2px}
.xm-crow{display:grid;grid-template-columns:minmax(110px,1.3fr) minmax(60px,1fr) 46px minmax(60px,1fr) 46px minmax(64px,.7fr);gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}
.xm-crow.head{border-bottom:0;padding:0}
.xm-cbar{position:relative;height:8px;border-radius:999px;background:rgba(255,255,255,.06)}
.xm-cbar::after{content:"";position:absolute;left:50%;top:-3px;width:1px;height:14px;background:rgba(255,255,255,.3)}
.xm-cbar i{position:absolute;top:0;height:100%;border-radius:999px}
.xm-cbar i.p{background:var(--up)}.xm-cbar i.n{background:var(--down)}
@media (max-width:760px){
  .in-hero{grid-template-columns:1fr}
  .in-hart svg{max-height:170px}
  .in-vr{grid-template-columns:1fr}
  .in-vr.head{display:none}
  .in-vr>span{border-left:0!important;padding-top:4px}
  .in-vr>span::before{content:attr(data-l);display:block;font-size:11px;letter-spacing:.06em;color:var(--muted)}
  .xm-crow{grid-template-columns:minmax(84px,1.2fr) minmax(40px,1fr) 42px minmax(40px,1fr) 42px}
  .xm-cw{display:none}
  .bnav button{font-size:13px;padding:0 2px}
}
@media (prefers-reduced-motion:reduce){.a-spin,.a-glow{animation:none!important}}
body.nomo .a-spin,body.nomo .a-glow{animation:none!important}

/* ===== 回報問題 ===== */
.field textarea,.field select{border-radius:9px;border:1px solid var(--line);background:rgba(0,0,0,.35);color:var(--text);padding:10px 12px;font:inherit;font-size:14.5px;line-height:1.7}
.field select{min-height:42px;padding:0 10px}
.field textarea{resize:vertical;min-height:72px}
.field textarea:focus,.field select:focus{outline:none;border-color:var(--acc)}
.sup-item{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02)}
.sup-text{white-space:pre-wrap;word-break:break-word;line-height:1.75}
.sup-reply{border-left:3px solid var(--acc);padding:8px 12px;border-radius:6px;background:color-mix(in srgb,var(--acc) 7%,transparent);display:flex;flex-direction:column;gap:4px}
.sup-reply b{color:var(--acc);font-size:12.5px}
/* 第 8.5 版：股票頁分層（分頁按鈕、可排序表格、篩選條件） */
.xm-layers button{padding:8px 16px;min-height:38px;border-radius:999px;border:1px solid var(--line);font:500 13px 'Microsoft JhengHei','PingFang TC','Noto Sans TC',system-ui,sans-serif;color:var(--muted);background:transparent;cursor:pointer}
.xm-layers button:hover{color:var(--text);border-color:rgba(255,255,255,.3)}
.xm-layers button.on{color:var(--acc);border-color:var(--acc);background:color-mix(in srgb,var(--acc) 10%,transparent);font-weight:600}
.xm-last small{font-size:12px;font-weight:500;color:var(--muted)}
.st-tbl th.num,.st-tbl td.num{text-align:right}
.st-tbl td{padding:9px 12px}
.st-th{all:unset;cursor:pointer;font:inherit;color:inherit}
.st-th:hover,.st-th.on{color:var(--acc)}
.st-th:focus-visible{outline:2px solid var(--cy);outline-offset:2px;border-radius:4px}
.st-tbl .st-key{position:sticky;left:0;background:var(--panel);z-index:1}
.st-pos{position:relative;display:inline-block;width:64px;height:5px;border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,.2));vertical-align:middle}
.st-pos i{position:absolute;top:-3px;width:3px;height:11px;border-radius:2px;background:var(--acc);transform:translateX(-50%)}
.st-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.st-f{min-width:150px;flex:0 1 180px}
.st-f input,.st-f select{min-height:38px}
@media (max-width:640px){.st-f{flex:1 1 44%;min-width:0}.st-tbl td,.st-tbl th{padding:8px 9px}}

/* ===== 第 8.6 版：股票頁的 TradingView 連結、選擇權未平倉圖、消息清單 ===== */
.st-tv{color:inherit;text-decoration:none;white-space:nowrap}
.st-tv i{font-style:normal;font-size:10px;margin-left:3px;color:var(--muted,#8b949e);opacity:.7}
.st-tv:hover b,.st-tv:hover span,.st-tv:focus-visible b{text-decoration:underline}
.st-tv:hover i{opacity:1;color:var(--cy,#34d399)}
.opt-oi{width:100%;min-width:560px;height:auto;display:block}
.st-news{display:flex;flex-direction:column}
.st-nrow{display:grid;grid-template-columns:92px minmax(90px,170px) minmax(0,1fr);gap:10px;align-items:baseline;padding:9px 2px;border-bottom:1px solid var(--line)}
.st-nrow>a{color:inherit;text-decoration:none;line-height:1.55;overflow-wrap:anywhere}
.st-nrow>a:hover{text-decoration:underline}
@media (max-width:640px){
  .st-nrow{grid-template-columns:auto minmax(0,1fr);row-gap:2px}
  .st-nrow>a{grid-column:1 / -1}
}

/* ---- 第 8.7 版：股票個股面板、AI 白話整理、相對位置、資金流向、幣種量表 ---- */
.st-sym{all:unset;cursor:pointer;font:inherit;color:inherit;white-space:nowrap;border-bottom:1px dashed rgba(255,255,255,.35)}
.st-sym:hover b,.st-sym:focus-visible b{color:var(--acc)}
.st-sym:focus-visible{outline:2px solid var(--cy);outline-offset:2px;border-radius:4px}
.st-kp{scroll-margin-top:84px;border-color:rgba(183,156,255,.35)}
.st-kbox{height:400px;width:100%;min-width:0;border-radius:10px;overflow:hidden;background:#060a14;border:1px solid var(--line)}
.st-kbox .empty{height:100%;display:flex;align-items:center;justify-content:center;padding:16px;text-align:center}
.st-tvw{width:100%;min-width:0;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#060a14}
.st-ai{border-left:3px solid var(--warn,#ffd166)}
.st-poscs{display:flex;flex-wrap:wrap;gap:6px}
.st-posc{font-size:12px;padding:4px 9px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);white-space:nowrap}
.st-posc.pu b{color:var(--up)}.st-posc.pd b{color:var(--down)}.st-posc.pm b{color:var(--muted,#8fa3a8)}
.st-chips{display:flex;flex-wrap:wrap;gap:8px}
.st-chip{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:1px;padding:7px 11px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.03);min-width:74px;max-width:150px;box-sizing:border-box}
.st-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-chip:hover,.st-chip:focus-visible{border-color:var(--acc)}
.st-nai{grid-column:3;font-size:12px;line-height:1.6;color:var(--warn,#ffd166);overflow-wrap:anywhere}
.rot-ctl{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:flex-end}
.rot-play{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rot-play input[type=range]{flex:1 1 180px;min-width:0;accent-color:var(--acc)}
.rot-main{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}
.rot-chart{flex:1 1 380px;min-width:0}
.rot-svg{width:100%;height:auto;display:block}
.rot-side{flex:1 1 300px;min-width:0}
.rot-rk{all:unset;cursor:pointer;display:flex;justify-content:space-between;gap:8px;padding:5px 8px;border-radius:8px;font-size:13px;border:1px solid transparent;box-sizing:border-box;width:100%}
.rot-rk:hover,.rot-rk.on{border-color:var(--line);background:rgba(255,255,255,.04)}
.rot-rk span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.tbl tr.on td{background:rgba(255,255,255,.05)}
.cs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.cs-card{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.025);min-width:0}
.cs-total{font-size:26px;font-weight:800;line-height:1}
.cs-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) 46px;gap:8px;align-items:center}
.cs-row>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cs-row>span:last-child{text-align:right}
.cs-bar{height:6px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}
.cs-bar i{display:block;height:100%;border-radius:999px}
@media (max-width:640px){
  .st-kbox{height:340px}
  .st-nai{grid-column:1 / -1}
  .cs-grid{grid-template-columns:1fr}
  .st-chip{flex:1 1 28%;max-width:none}
}

/* ================= 第 8.8 版 ================= */
/* 圖表進場動畫（.an 只在剛換頁或剛按了東西時才會被加上；body.nomo 與系統「減少動態」全部關） */
.an.ch-line{animation:chWipe 1.1s cubic-bezier(.2,.7,.2,1) both}
@keyframes chWipe{from{clip-path:inset(-20% 100% -20% 0)}to{clip-path:inset(-20% -3% -20% 0)}}
.an.ch-bars rect{transform-box:fill-box;transform-origin:50% 100%;animation:chBar .7s cubic-bezier(.2,.8,.2,1) both}
@keyframes chBar{from{transform:scaleY(0)}}
.an.ch-dots circle{transform-box:fill-box;transform-origin:center;animation:chPop .6s cubic-bezier(.2,1.2,.4,1) both}
.an.ch-dots polyline,.an.ch-fade{animation:chFade .8s ease-out both}
@keyframes chPop{from{transform:scale(0);opacity:0}}
@keyframes chFade{from{opacity:0}}
#page.enter .bar>div,#page.enter .cs-bar>i{transform-origin:0 50%;animation:chGrowX .8s cubic-bezier(.2,.8,.2,1) both}
@keyframes chGrowX{from{transform:scaleX(0)}}
/* 資金動能：一個來源 → 四條市值線 */
.mf{display:grid;grid-template-columns:minmax(190px,1fr) clamp(56px,9vw,110px) minmax(0,1.7fr);align-items:stretch}
.mf-src{position:relative;align-self:center;display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:16px;border:1px solid color-mix(in srgb,var(--up) 55%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--up) 13%,transparent),transparent 70%)}
.mf-src.dn{border-color:color-mix(in srgb,var(--down) 55%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--down) 11%,transparent),transparent 70%)}
.mf-ring{position:absolute;right:14px;top:14px;width:10px;height:10px;border-radius:50%;background:var(--up);box-shadow:0 0 0 0 color-mix(in srgb,var(--up) 60%,transparent);animation:mfRing 2.2s ease-out infinite}
.mf-src.dn .mf-ring{background:var(--down)}
@keyframes mfRing{to{box-shadow:0 0 0 14px transparent}}
.mf-big{font-size:26px;font-weight:700;line-height:1.15}
.mf-kv{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:baseline;font-size:12.5px;padding-top:6px;border-top:1px dashed var(--line)}
.mf-links{width:100%;height:100%;min-height:340px;overflow:visible}
.mf-links path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}
.mf-base{opacity:.2}.mf-base.up,.mf-run.up{stroke:var(--up)}.mf-base.dn,.mf-run.dn{stroke:var(--down)}.mf-base.fl,.mf-base.na,.mf-run.fl,.mf-run.na{stroke:var(--muted)}
.mf-run{stroke-dasharray:7 11}.mf-run.up{animation:mfFlow 1.1s linear infinite}.mf-run.dn{animation:mfFlow 1.1s linear infinite reverse}.mf-run.fl,.mf-run.na{stroke-dasharray:3 7;opacity:.6}
@keyframes mfFlow{to{stroke-dashoffset:-18}}
.mf-dst{display:grid;grid-auto-rows:1fr;gap:10px}
.mf-box{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(70px,34%);grid-template-areas:"h s" "v s" "n n";gap:2px 12px;align-items:center;padding:10px 14px;border-radius:14px;border:1px solid var(--line);border-left:3px solid var(--c);background:rgba(255,255,255,.025);min-height:76px}
.mf-bh{grid-area:h;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.mf-bh b{color:var(--c)}
.mf-w{font-size:11.5px;padding:1px 7px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.mf-box.up .mf-w{color:var(--up);border-color:color-mix(in srgb,var(--up) 45%,transparent)}.mf-box.dn .mf-w{color:var(--down);border-color:color-mix(in srgb,var(--down) 45%,transparent)}
.mf-bv{grid-area:v;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.mf-chg{font-size:20px;font-weight:700}
.mf-box.up .mf-chg{color:var(--up)}.mf-box.dn .mf-chg{color:var(--down)}
.mf-sp{grid-area:s;width:100%;height:38px}.mf-box>.xs{grid-area:n}
.mf-leg{display:flex;gap:6px 16px;flex-wrap:wrap}.mf-leg span{display:inline-flex;align-items:center;gap:6px}
.mf-l{display:inline-block;width:18px;height:0;border-top:3px solid var(--up)}.mf-l.dn{border-color:var(--down)}.mf-l.fl{border-top:2px dashed var(--muted)}
.an.mf .mf-src{animation:mfIn .6s cubic-bezier(.2,.8,.2,1) both}
.an.mf .mf-box{animation:mfInR .6s cubic-bezier(.2,.8,.2,1) both}.an.mf .mf-box:nth-child(2){animation-delay:.08s}.an.mf .mf-box:nth-child(3){animation-delay:.16s}.an.mf .mf-box:nth-child(4){animation-delay:.24s}
.an.mf .mf-links{animation:chWipe .9s .25s cubic-bezier(.2,.7,.2,1) both}
@keyframes mfIn{from{opacity:0;transform:translateX(-18px)}}@keyframes mfInR{from{opacity:0;transform:translateX(18px)}}
@media (max-width:720px){.mf{grid-template-columns:1fr;gap:10px}.mf-links{display:none}.mf-src{align-self:stretch}.mf-dst{grid-template-columns:1fr 1fr;grid-auto-rows:auto}
  .mf-box{grid-template-columns:1fr;grid-template-areas:"h" "v" "s" "n"}.mf-chg{font-size:18px}}
.rot-chart .rot-play{margin-top:8px}.rot-chart .rot-ctl{margin-top:10px}
@media (prefers-reduced-motion:reduce){.an,.an *,.mf-ring,.mf-run{animation:none!important}}
/* 手機：輸入框小於 16px 時 iPhone 會自動放大畫面，鍵盤收起後底部選單會卡在畫面中間。輸入框一律 16px，輸入時先把底部選單收起來 */
@media (max-width:760px){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px!important}
  body.kb .bnav,body.kb .sheet{display:none!important}}
/* 選幣：卡片牆 */
.pk-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pk-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:12px}
.pk-card{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:14px;border:1px solid var(--line);border-top:3px solid var(--c);background:linear-gradient(180deg,color-mix(in srgb,var(--c) 7%,transparent),transparent 46%);min-width:0;transition:transform .2s,border-color .2s}
.pk-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--c) 55%,var(--line))}
.pk-top{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.pk-coin{font-size:17px;font-weight:700}.pk-when{margin-left:auto}
.pk-score{display:grid;grid-template-columns:auto auto 1fr auto;gap:8px;align-items:center}.pk-score small{color:var(--muted);font-size:12px}.pk-score b{font-size:19px}
.pk-meter{height:6px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}.pk-meter i{display:block;height:100%;border-radius:3px;background:var(--c);transform-origin:0 50%}
.pk-mid{line-height:1.7}.pk-tags{display:flex;gap:5px;flex-wrap:wrap}.pk-tags:empty{display:none}
.pk-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:auto;padding-top:8px;border-top:1px dashed var(--line)}
.pk-nums span{display:flex;flex-direction:column;gap:1px;min-width:0}.pk-nums small{color:var(--muted);font-size:11px}.pk-nums b{font-size:14px;font-weight:600}
.pk-wall.an .pk-card{animation:rise .5s cubic-bezier(.2,.7,.2,1) both}.pk-wall.an .pk-card:nth-child(2){animation-delay:.04s}.pk-wall.an .pk-card:nth-child(3){animation-delay:.08s}
.pk-wall.an .pk-card:nth-child(4){animation-delay:.12s}.pk-wall.an .pk-card:nth-child(5){animation-delay:.16s}.pk-wall.an .pk-card:nth-child(n+6){animation-delay:.2s}
.pk-wall.an .pk-meter i{animation:chGrowX .8s .15s cubic-bezier(.2,.8,.2,1) both}
/* 股票 K 線：新手模式與指標開關 */
.st-inds{display:flex;gap:6px;flex-wrap:wrap}
.st-inds .sw{min-height:34px;padding:0 12px;font-size:12.5px;white-space:nowrap}
.st-easy{display:flex;gap:6px 18px;flex-wrap:wrap;font-size:13px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.03);border:1px dashed var(--line)}
.st-easy span{display:inline-flex;align-items:center;gap:7px}
.st-easy i{display:inline-block;width:10px;height:16px;border-radius:2px}.st-easy i.ln{width:20px;height:3px;background:#f5b544}.st-easy i.vb{width:10px;height:12px;background:rgba(255,255,255,.3);align-self:flex-end}
.st-read ul{margin:6px 0;padding-left:20px;line-height:1.85;font-size:14px}.st-read:empty{display:none}
.st-how{border:1px solid var(--line);border-radius:10px;padding:8px 12px}.st-how summary{cursor:pointer;font-size:13px;color:var(--muted)}
.st-howb{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding-top:8px}.st-howb svg{width:250px;max-width:100%;flex:none}.st-howb .small{flex:1 1 240px;line-height:1.8}
.st-howb .t{font-size:10px;fill:var(--muted)}.st-howb .t.b{font-size:12px;font-weight:700}

/* ===== 第 8.9 版：輕度立體風格（厚度、高光、陰影；不用透視，數字照樣好讀）===== */
.glass{box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 -1px 0 rgba(0,0,0,.45),0 2px 0 rgba(0,0,0,.55),0 5px 0 rgba(0,0,0,.28),0 18px 40px rgba(0,0,0,.55)}
.glass:not(.hud)::before{content:"";position:absolute;left:1px;right:1px;top:1px;height:42%;max-height:90px;border-radius:13px 13px 60% 60%/13px 13px 18px 18px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,0));pointer-events:none}
.kcard{background:linear-gradient(180deg,#1b1f22,#121516);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 3px 0 rgba(0,0,0,.5),0 10px 22px rgba(0,0,0,.4)}
.sw{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.01));box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 2px 0 rgba(0,0,0,.5);transition:transform .12s ease,box-shadow .12s ease}
.sw:active,.btn:active{transform:translateY(2px);box-shadow:inset 0 2px 4px rgba(0,0,0,.5)}
.sw.on{background:linear-gradient(180deg,#8ff5cf,var(--cy) 48%,#19a777);border-color:#19a777;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 3px 0 #0d6b4c,0 8px 18px rgba(46,230,166,.28)}
.btn{box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 2px 0 rgba(0,0,0,.5)}
.tag{box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 1px 0 rgba(0,0,0,.5)}
.bar{box-shadow:inset 0 2px 3px rgba(0,0,0,.6);height:8px;border-radius:4px}
.bar>div{border-radius:4px;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -2px 0 rgba(0,0,0,.25)}
.hb-t{height:14px;border-radius:5px;background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(255,255,255,.04));box-shadow:inset 0 2px 3px rgba(0,0,0,.6)}
.hb-b{border-radius:4px;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -3px 0 rgba(0,0,0,.28),0 2px 6px rgba(0,0,0,.5)}
.hb-b.up{background:linear-gradient(180deg,#8ff5cf,var(--up) 50%)}.hb-b.down{background:linear-gradient(180deg,#ffb3c8,var(--down) 50%)}
svg.ch-bars{overflow:visible}
.b3 .b3t{filter:brightness(1.45)}.b3 .b3s{filter:brightness(.55)}.b3 .b3h{opacity:.16;pointer-events:none}
.b3{filter:drop-shadow(0 3px 3px rgba(0,0,0,.45))}
.ch-line .l3{filter:drop-shadow(0 0 5px var(--c))}
.cico{box-shadow:0 2px 0 rgba(0,0,0,.5),0 4px 8px rgba(0,0,0,.45);border-radius:50%}
.brand svg,.bnav svg,.nav svg,.sec-ico,.eyebrow svg{filter:drop-shadow(0 2px 0 rgba(0,0,0,.6)) drop-shadow(0 0 6px rgba(46,230,166,.35))}
/* 統計圖 */
.sg{display:flex;flex-direction:column;gap:9px}
/* 期權損益試算：交易邏輯卡 */
.lg{padding:14px;border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.18));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 3px 0 rgba(0,0,0,.45)}
.lg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px}
.lg-c{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:10px;background:rgba(0,0,0,.28);box-shadow:inset 0 2px 3px rgba(0,0,0,.5),inset 0 -1px 0 rgba(255,255,255,.05);line-height:1.6}
@media (prefers-reduced-motion:reduce){.sw,.btn{transition:none}}

/* ===== 第 9.0 版：資金方向迷你儀表 ===== */
.grade.gg,.grade.gg.gS,.grade.gg.gA,.grade.gg.gB,.grade.gg.gC,.grade.gg.gD{width:24px;min-width:24px;height:24px;padding:0;border:0;background:none;border-radius:0;overflow:visible}
.grade.gg svg{display:block;width:24px;height:24px;overflow:visible}
.grade.gg.gS,.grade.gg.gA{color:#34d399}.grade.gg.gC,.grade.gg.gD{color:#f87171}.grade.gg.gB{color:#8b93a3}
.gg-a{fill:none;stroke:rgba(255,255,255,.15);stroke-width:3.2}
.gg-on{fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round}
.gg-t{stroke:rgba(255,255,255,.55);stroke-width:1.2;stroke-linecap:round}
.gg-c{fill:currentColor}
.grade.gg.gS svg{filter:drop-shadow(0 0 4px rgba(52,211,153,.75))}.grade.gg.gD svg{filter:drop-shadow(0 0 4px rgba(248,113,113,.75))}
.grade.gg.ggin .gg-on{animation:chFade .5s .1s both}
@keyframes ggIn{from{transform:rotate(0deg)}to{transform:rotate(var(--a))}}

/* ===== 第 9.0 版：統計圖改成細線森林圖（圓點＝數值、橫線＝95% 區間、直的虛線＝基準） ===== */
.sg-sum{display:flex;gap:6px 18px;flex-wrap:wrap;align-items:center;font-size:12.5px;padding:0 0 10px;border-bottom:1px solid var(--line)}
.sg{gap:0}.sg>.xs.muted:last-child{margin-top:10px}
.sg-row{display:grid;grid-template-columns:minmax(120px,1.1fr) minmax(0,2.4fr) 78px 96px;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.sg-l{display:flex;flex-direction:column;gap:1px;min-width:0}.sg-l b{font-size:13.5px;font-weight:600;overflow-wrap:anywhere}
.sg-t{position:relative;height:18px;color:#8b97a8;background:linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px) 0 0/25% 100%;border-right:1px solid rgba(255,255,255,.06)}
.sg-t::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(255,255,255,.07)}
.sg-t i{position:absolute;display:block}
.sg-base{top:-10px;bottom:-10px;width:0;border-left:1px dashed rgba(255,255,255,.42)}
.sg-ci{top:50%;height:2px;margin-top:-1px;background:currentColor;border-radius:1px}
.sg-ci::before,.sg-ci::after{content:"";position:absolute;top:-4px;width:2px;height:10px;background:currentColor;border-radius:1px}
.sg-ci::before{left:0}.sg-ci::after{right:0}
.sg-b{top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:currentColor;box-shadow:0 0 0 2px var(--panel)}
.sg-row.good .sg-t{color:var(--up)}.sg-row.bad .sg-t{color:var(--down)}.sg-row.ref .sg-t{color:#5b6472}
.sg-row.good .sg-b{box-shadow:0 0 0 2px var(--panel),0 0 10px var(--up)}.sg-row.bad .sg-b{box-shadow:0 0 0 2px var(--panel),0 0 10px var(--down)}
.sg-row.few .sg-b{background:var(--panel);border:1.5px solid #5b6472;box-shadow:none}
.sg-row.few .sg-l b,.sg-row.unk .sg-l b{color:#aab2c4!important}.sg-row.few .sg-v{color:#6b7385}
.sg-v{text-align:right;font-weight:600;font-size:13.5px}
.sg-row.good .sg-v{color:var(--up)}.sg-row.bad .sg-v{color:var(--down)}
.sg-lamp{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;white-space:nowrap;color:#8b97a8}
.sg-lamp i{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.sg-lamp.good{color:var(--up)}.sg-lamp.bad{color:var(--down)}.sg-lamp.few{color:#5b6472}.sg-lamp.few i{background:none;border:1.5px solid currentColor}
.sg-lamp.ref{font-weight:500;color:#5b6472}
.sg-ax{display:grid;grid-template-columns:minmax(120px,1.1fr) minmax(0,2.4fr) 78px 96px;gap:12px;padding-top:6px}
.sg-axt{display:flex;justify-content:space-between;gap:8px;font-size:11px}
.sg-fold>summary{cursor:pointer;font-size:13px;color:var(--cy);padding:8px 2px;list-style-position:inside}
.an.sg .sg-ci{animation:sgGrow .6s cubic-bezier(.2,.8,.2,1) both;transform-origin:center}
.an.sg .sg-b{animation:chFade .4s .35s both}
@keyframes sgGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (max-width:720px){.sg-row{grid-template-columns:minmax(0,1fr) auto auto;gap:7px 10px}.sg-l{grid-area:1/1}.sg-v{grid-area:1/2}.sg-k{grid-area:1/3}.sg-t{grid-area:2/1/3/-1}.sg-base{top:-3px;bottom:-3px}.sg-ax{display:block}}
body.nomo .an.sg .sg-b,body.nomo .an.sg .sg-ci,body.nomo .grade.gg.ggin .gg-on{animation:none}
@media (prefers-reduced-motion:reduce){.an.sg .sg-b,.an.sg .sg-ci,.grade.gg.ggin .gg-on{animation:none}}

/* ===== 第 9.0 版：登入頁（左邊說明這是什麼站、右邊登入；手機上下排）與進站動畫 ===== */
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;z-index:1;background:#090a0b;overflow:hidden}
.lgx-bg{position:absolute;inset:-64px;pointer-events:none;background:radial-gradient(ellipse 55% 45% at 22% 18%,rgba(240,185,11,.13),transparent 70%),radial-gradient(ellipse 45% 40% at 88% 92%,rgba(61,220,151,.08),transparent 70%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/64px 64px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/64px 64px;animation:lgxDrift 14s linear infinite}
@keyframes lgxDrift{to{transform:translate3d(64px,64px,0)}}
.lgx{position:relative;width:100%;max-width:1080px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);border:1px solid rgba(240,185,11,.22);border-radius:18px;background:rgba(17,18,19,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 30px 80px rgba(0,0,0,.6);overflow:hidden;animation:lgxUp .7s cubic-bezier(.2,.8,.2,1) both}
@keyframes lgxUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.lgx-intro{padding:28px 32px 32px;border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:14px;min-width:0}
.lgx-hud{display:flex;justify-content:space-between;gap:10px;font-size:10.5px;letter-spacing:.18em;color:#8a8266}
.lgx-live{display:inline-block;width:7px;height:7px;border-radius:50%;background:#3ddc97;margin-right:7px;box-shadow:0 0 8px #3ddc97;animation:lgxBlink 1.6s ease-in-out infinite}
@keyframes lgxBlink{50%{opacity:.25}}
.lgx-vis{position:relative;height:180px;border:1px solid rgba(240,185,11,.2);border-radius:12px;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(240,185,11,.1),rgba(0,0,0,.35) 70%)}
.lgx-vis svg{display:block;width:100%;height:100%}
.lgx-grid path{fill:none;stroke:rgba(255,255,255,.05);stroke-width:1}
.lgx-ring{fill:none;stroke:rgba(240,185,11,.38);stroke-width:1}.lgx-ring.d{stroke-dasharray:3 6;animation:lgxSpin 40s linear infinite reverse;transform-origin:160px 90px}
.lgx-sweep{transform-origin:160px 90px;animation:lgxSpin 5s linear infinite}.lgx-sweep line{stroke:#f0b90b;stroke-width:1.2;opacity:.8}
@keyframes lgxSpin{to{transform:rotate(360deg)}}
.lgx-line{fill:none;stroke:#3ddc97;stroke-width:1.6;stroke-linejoin:round;stroke-dasharray:520;stroke-dashoffset:520;opacity:.85;animation:lgxDraw 5s ease-in-out infinite}
@keyframes lgxDraw{0%{stroke-dashoffset:520}55%,85%{stroke-dashoffset:0;opacity:.85}100%{stroke-dashoffset:0;opacity:0}}
.lgx-dots circle{fill:#fcd535;animation:lgxBlink 2.4s ease-in-out infinite}.lgx-dots circle:nth-child(2){animation-delay:.6s}.lgx-dots circle:nth-child(3){animation-delay:1.2s}.lgx-dots circle:nth-child(4){animation-delay:1.8s}
.lgx-eye{font-size:10.5px;letter-spacing:.24em;color:#c9a227;margin-top:6px}
.lgx-h{margin:0;font-size:27px;line-height:1.4;font-weight:700;letter-spacing:.02em;color:#f4f1e6}
.lgx-p{margin:0;font-size:14px;line-height:1.85;color:#a7adb0}
.lgx-pts{list-style:none;margin:6px 0 0;padding:0}
.lgx-pts li{display:grid;grid-template-columns:34px minmax(96px,auto) minmax(0,1fr);gap:10px;align-items:baseline;padding:12px 0;border-top:1px solid rgba(255,255,255,.08);font-size:13.5px}
.lgx-pts span{font-size:11px;color:#c9a227}.lgx-pts b{color:#f1f4f5;font-weight:600}.lgx-pts em{font-style:normal;color:#8f989b;line-height:1.7}
.lgx-intro>*{animation:lgxUp .7s cubic-bezier(.2,.8,.2,1) both}.lgx-intro>:nth-child(2){animation-delay:.08s}.lgx-intro>:nth-child(3){animation-delay:.14s}.lgx-intro>:nth-child(4){animation-delay:.2s}.lgx-intro>:nth-child(5){animation-delay:.26s}.lgx-intro>:nth-child(6){animation-delay:.32s}
.lgx-side{padding:32px;display:flex;flex-direction:column;justify-content:center;gap:16px;min-width:0}
.lgx-card{position:relative;border:1px solid rgba(240,185,11,.3);border-radius:14px;background:linear-gradient(180deg,#191a1b,#111213);padding:26px 24px;box-shadow:0 18px 46px rgba(0,0,0,.5);overflow:hidden;animation:lgxUp .7s .18s cubic-bezier(.2,.8,.2,1) both}
.lgx-card::before{content:"";position:absolute;top:0;left:0;width:38%;height:2px;background:linear-gradient(90deg,transparent,#f0b90b,transparent);animation:lgxScan 3.6s linear infinite}
@keyframes lgxScan{from{transform:translateX(-110%)}to{transform:translateX(290%)}}
.auth{display:flex;flex-direction:column;gap:15px}
.auth-top{display:flex;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:.2em;color:#8a8266}.auth-top span:first-child{color:#c9a227}
.auth-h{margin:0;font-size:23px;font-weight:700;color:#f4f1e6;letter-spacing:.04em}
.auth-d{margin-top:6px;font-size:13px;line-height:1.75;color:#9aa2a5}
body .lgx-card .field{color:#9aa2a5;font-size:12.5px}
body .lgx-card .field input{min-height:44px;width:100%;border-color:rgba(255,255,255,.14);background:rgba(0,0,0,.42);font-family:inherit;font-size:15px}
body .lgx-card .field input::placeholder{color:#565d60}
body .lgx-card .field input:focus{outline:none;border-color:#f0b90b;box-shadow:0 0 0 3px rgba(240,185,11,.18)}
.pw{position:relative;display:block}.pw input{padding-right:62px}
.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:32px;padding:0 10px;border:0;border-radius:6px;background:none;color:#9aa2a5;font:inherit;font-size:12.5px;cursor:pointer}
.pw-eye:hover{color:#f0b90b;background:rgba(240,185,11,.08)}
body .lgx-card .btn.big{min-height:46px;background:linear-gradient(180deg,#f7cf55,#e0ab12);border-color:#f0b90b;color:#1b1402;font-weight:700;font-size:15px;letter-spacing:.2em;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 8px 22px rgba(240,185,11,.22)}
body .lgx-card .btn.big:hover{background:linear-gradient(180deg,#ffe07a,#f0b90b);border-color:#fcd535;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 10px 28px rgba(240,185,11,.35)}
.auth-links{display:flex;justify-content:space-between;align-items:center;gap:8px 14px;flex-wrap:wrap;font-size:13px;color:#8f989b}.auth-links.one{justify-content:center}
.auth-links .linkbtn{align-self:auto;min-height:32px}.linkbtn.gd{color:#e7c14a;margin-left:4px}.linkbtn.gd:hover{color:#fcd535}
.lgx-foot{margin:0;text-align:center;font-size:12px;line-height:1.8;color:#6f777a}
@media (max-width:860px){
  .login{padding:14px;align-items:flex-start}
  .lgx{grid-template-columns:minmax(0,1fr)}
  .lgx-intro{padding:16px 16px 14px;border-right:0;border-bottom:1px solid rgba(255,255,255,.08);gap:10px}
  .lgx-vis{height:108px}.lgx-h{font-size:20px}.lgx-p,.lgx-pts{display:none}
  .lgx-side{padding:16px}.lgx-card{padding:22px 18px}
}
.enterfx{position:fixed;inset:0;z-index:9999;background:#060606;color:#f4f1e6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;touch-action:none;overflow:hidden;transition:opacity .5s ease}
.enterfx canvas{position:absolute;inset:0;width:100%;height:100%}
.enterfx.out{opacity:0;pointer-events:none}.enterfx.out .en-core{transform:scale(2.6);opacity:0}
.en-hud{position:absolute;top:22px;left:24px;right:24px;display:flex;justify-content:space-between;font-size:10.5px;letter-spacing:.2em;color:#6f6a58}
.en-hud div{display:flex;flex-direction:column;gap:7px}.en-hud .r{align-items:flex-end}.en-hud b{color:#e7c14a;font-weight:600}.en-hud i{font-style:normal;color:#e7c14a}
.en-core{position:relative;width:240px;height:240px;display:flex;align-items:center;justify-content:center;transition:transform .55s cubic-bezier(.5,0,.8,.4),opacity .5s;background:radial-gradient(circle,rgba(240,185,11,.16),transparent 62%)}
.en-core svg{position:absolute;inset:0;width:100%;height:100%}.en-core img{position:relative;border-radius:20px;box-shadow:0 0 34px rgba(240,185,11,.45);animation:enPulse 2s ease-in-out infinite}
.en-r1,.en-r2,.en-r3{fill:none;stroke:rgba(240,185,11,.5);stroke-width:1;transform-origin:120px 120px}
.en-r2{stroke-dasharray:4 7;animation:lgxSpin 9s linear infinite}.en-r3{stroke:rgba(240,185,11,.22);stroke-dasharray:1 9;animation:lgxSpin 22s linear infinite reverse}
.en-x{stroke:rgba(240,185,11,.3);stroke-width:1}
@keyframes enPulse{50%{box-shadow:0 0 56px rgba(240,185,11,.7)}}
.en-txt{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;width:min(420px,78vw);text-align:center}
.en-eye{font-size:11px;letter-spacing:.42em;color:#c9a227}.en-h{font-size:26px;font-weight:700;letter-spacing:.08em}
.en-hint{font-size:12.5px;letter-spacing:.14em;color:#8f989b;border:1px solid rgba(240,185,11,.3);border-radius:999px;padding:9px 20px}
.en-bar{width:100%;height:2px;background:rgba(255,255,255,.1);margin-top:8px}.en-bar i{display:block;height:100%;width:0;background:#f0b90b;box-shadow:0 0 10px #f0b90b}
.en-skip{position:absolute;right:22px;bottom:22px;min-height:40px;padding:0 14px;border:0;background:none;color:#8f989b;font:inherit;font-size:13px;letter-spacing:.2em;cursor:pointer}.en-skip:hover{color:#f4f1e6}
body.nomo .lgx-bg,body.nomo .lgx,body.nomo .lgx-intro>*,body.nomo .lgx-card,body.nomo .lgx-card::before,body.nomo .lgx-sweep,body.nomo .lgx-ring.d,body.nomo .lgx-line,body.nomo .lgx-dots circle,body.nomo .lgx-live{animation:none}body.nomo .lgx-line{stroke-dashoffset:0}
@media (prefers-reduced-motion:reduce){.lgx-bg,.lgx,.lgx-intro>*,.lgx-card,.lgx-card::before,.lgx-sweep,.lgx-ring.d,.lgx-line,.lgx-dots circle,.lgx-live{animation:none}.lgx-line{stroke-dashoffset:0}}

/* ===== 第 9.1 版：選幣卡片切換不卡（不再逐張上浮；畫面外的卡片延後繪製） ===== */
.pk-wall.an .pk-card{animation:chFade .16s ease both;animation-delay:0s!important}
.pk-wall.an .pk-meter i{animation:none}
.pk-card{content-visibility:auto;contain-intrinsic-size:auto 236px;transition:border-color .2s}
.pk-card:hover{transform:none}
.pk-card .grade.gg svg{filter:none}
.pk-card .grade.gg.ggin .gg-on{animation:none}

/* ===== 第 9.1 版：標題小字、外框、標誌周圍改金色（按鈕與選中的分頁維持原色；漲跌與統計顏色不動） ===== */
body,body.lite{--gd:#f0b90b;--gd2:#e7c14a}
body .eyebrow,body.lite .eyebrow{color:var(--gd2)}
body:not(.lite) .eyebrow{text-shadow:0 0 12px rgba(240,185,11,.4)}
.eyebrow svg,.sec-ico{filter:drop-shadow(0 2px 0 rgba(0,0,0,.6)) drop-shadow(0 0 6px rgba(240,185,11,.35))}
body .glass,body.lite .glass,body:not(.lite) .glass{border-color:rgba(240,185,11,.17)}
body:not(.lite) .hud::before{border-color:var(--gd);filter:drop-shadow(0 0 4px var(--gd))}
body:not(.lite) .hud::after{border-color:#b8860b;filter:drop-shadow(0 0 4px #b8860b)}
body:not(.lite) section.glass:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 20px 50px rgba(0,0,0,.5),0 0 26px rgba(240,185,11,.12)}
#app>header.glass{border-color:rgba(240,185,11,.34);background-image:linear-gradient(180deg,rgba(240,185,11,.06),transparent 60%)}
.brand-home{text-decoration:none;color:inherit;border-radius:12px;outline-offset:4px}
.brand-home .brand-ico{box-shadow:0 0 0 1px rgba(240,185,11,.45),0 0 18px rgba(240,185,11,.22);transition:box-shadow .2s}
.brand-home:hover .brand-ico,.brand-home:focus-visible .brand-ico{box-shadow:0 0 0 1px #f0b90b,0 0 26px rgba(240,185,11,.5)}
.brand-home:hover .orb{color:#fbe7a1}

/* ===== 第 9.1 版：首頁 ===== */
.hm-hero{position:relative;padding:34px 30px;border:1px solid rgba(240,185,11,.3);border-radius:16px;overflow:hidden;background:radial-gradient(ellipse 60% 90% at 88% 10%,rgba(240,185,11,.14),transparent 70%),linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0/48px 48px,#111213}
.hm-hero::before{content:"";position:absolute;top:0;left:0;width:30%;height:2px;background:linear-gradient(90deg,transparent,#f0b90b,transparent);animation:lgxScan 4.5s linear infinite}
.hm-eye{font-size:11px;letter-spacing:.3em;color:#c9a227}
.hm-hero h1{margin:12px 0 0;font-size:30px;line-height:1.4;font-weight:700;color:#f4f1e6;letter-spacing:.02em}
.hm-hero p{margin:12px 0 0;max-width:640px;font-size:14.5px;line-height:1.85;color:#a7adb0}
.hm-cta{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.hm-cta .btn{display:inline-flex;align-items:center;min-height:40px;padding:0 18px;text-decoration:none}
.hm-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hm-kpi{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.22);min-width:0}
.hm-kpi small{font-size:12px;color:var(--muted)}.hm-kpi b{font-size:26px;font-weight:700;line-height:1.2}.hm-lv{font-size:12.5px;font-weight:600;font-family:inherit}
.hm-row{display:grid;grid-template-columns:30px minmax(96px,150px) 86px minmax(0,1fr);gap:10px;align-items:baseline;padding:11px 0;border-top:1px solid rgba(255,255,255,.07);font-size:13.5px}
.hm-row>span:first-child{font-size:11px;color:#c9a227}.hm-row b{font-weight:600}.hm-v{font-size:15px;font-weight:600}.hm-row em{font-style:normal;color:var(--muted);line-height:1.7}
body .hm-more{font-size:13px;color:var(--gd2);text-decoration:none;white-space:nowrap}body .hm-more:hover{color:#fcd535}
.hm-fun{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.hm-step{position:relative;display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.22);min-width:0}
.hm-step:not(:last-child)::after{content:"→";position:absolute;right:-18px;top:50%;transform:translateY(-50%);color:#c9a227;font-size:15px}
.hm-no{font-size:11px;color:#c9a227}.hm-step>b{font-size:14.5px}.hm-big{font-size:21px;font-weight:700;color:#f4f1e6;font-variant-numeric:tabular-nums}
.hm-step p{margin:0;font-size:12.5px;line-height:1.75;color:var(--muted)}
.hm-vw{display:flex;gap:4px 12px;flex-wrap:wrap;font-size:12.5px;margin-top:2px}
.hm-gos{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.hm-go{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px 38px 14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);text-decoration:none;color:var(--text);transition:border-color .2s}
.hm-go b{font-size:15px;color:#f1f4f5}.hm-go span{font-size:12.5px;color:var(--muted)}.hm-go i{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-style:normal;color:#c9a227}
.hm-go:hover{border-color:rgba(240,185,11,.6);color:var(--text)}
.hm-sec.an .hm-kpi,.hm-sec.an .hm-step,.hm-hero.an>*{animation:lgxUp .5s cubic-bezier(.2,.8,.2,1) both}
.hm-sec.an .hm-kpi:nth-child(2),.hm-sec.an .hm-step:nth-child(2){animation-delay:.06s}.hm-sec.an .hm-kpi:nth-child(3),.hm-sec.an .hm-step:nth-child(3){animation-delay:.12s}.hm-sec.an .hm-step:nth-child(4){animation-delay:.18s}
@media (max-width:860px){
  .hm-hero{padding:22px 18px}.hm-hero h1{font-size:22px}.hm-hero h1 br{display:none}
  .hm-kpis{grid-template-columns:minmax(0,1fr)}.hm-kpi{flex-direction:row;justify-content:space-between;align-items:baseline}.hm-kpi b{font-size:21px}
  .hm-row{grid-template-columns:26px minmax(0,1fr) auto;gap:4px 10px}.hm-row em{grid-column:2/-1}
  .hm-fun{grid-template-columns:minmax(0,1fr);gap:22px}.hm-step:not(:last-child)::after{content:"↓";right:auto;left:50%;top:auto;bottom:-21px;transform:translateX(-50%)}
}
body.nomo .hm-hero::before,body.nomo .hm-sec.an .hm-kpi,body.nomo .hm-sec.an .hm-step,body.nomo .hm-hero.an>*{animation:none}
@media (prefers-reduced-motion:reduce){.hm-hero::before,.hm-sec.an .hm-kpi,.hm-sec.an .hm-step,.hm-hero.an>*{animation:none}}

/* ===== 第 10.0 版：霧銀改版（先前「風格試穿」的共用骨架收進來，顏色固定成霧銀；橫式大字選單、掃描登入頁、新進站動畫） ===== */
html[data-th],html[data-th] body{--bg:#06070a;--panel:#0e1014;--line:rgba(255,255,255,.1);--text:#eef2f7;--muted:#8a93a3;--acc:#9fd0ff;--cy:#9fd0ff;--vi:#cfe6ff;--gd:#9fd0ff;--gd2:#9fd0ff;--t-on:#06080c;--t-r:10px;--t-r2:7px;--t-r3:999px;--t-card:rgba(10,12,16,.62);--t-btn:rgba(255,255,255,.04);--t-hov:rgba(159,208,255,.45);--t-sh:0 30px 60px -30px #000;--t-shh:0 30px 60px -24px #000,0 0 0 1px rgba(159,208,255,.22);--t-blur:blur(22px);--t-glow:0 8px 24px -8px rgba(159,208,255,.6);--t-title:#eef2f7;--t-ls:.01em;--t-tsh:none;--t-head:'Sora','Noto Sans TC',sans-serif;--t-body:'Sora','Noto Sans TC',sans-serif;--t-mono:'JetBrains Mono',monospace;--t-hero:rgba(10,12,16,.5);--t-grid:rgba(159,208,255,.28)}
html[data-th] body.lite{--t-blur:none;--t-card:#0e1014}
@media (max-width:760px){html[data-th] body{--t-blur:none;--t-card:rgba(14,16,20,.94)}}
html[data-th]{background:var(--bg)}
html[data-th] body{background:transparent;font-family:var(--t-body);color:var(--text)}
html[data-th] body .sky,html[data-th] body .floor,html[data-th] body .scanlines{display:none}
html[data-th] body .glass{background:var(--t-card);border:1px solid var(--line);border-radius:var(--t-r);box-shadow:var(--t-sh);backdrop-filter:var(--t-blur);-webkit-backdrop-filter:var(--t-blur)}
html[data-th] body section.glass:hover{border-color:var(--t-hov);box-shadow:var(--t-shh);transform:none}
html[data-th] body #app>header.glass{border-color:var(--t-hov);border-radius:var(--t-r);box-shadow:var(--t-sh)}
html[data-th] body .hud::before,html[data-th] body .hud::after{display:none}
html[data-th] body h2.h2,html[data-th] body .orb,html[data-th] body .hm-hero h1,html[data-th] body .hm-h,html[data-th] body .lgx-h,html[data-th] body .auth-h,html[data-th] body .en-h{font-family:var(--t-head);color:var(--t-title);letter-spacing:var(--t-ls);text-shadow:var(--t-tsh)}
html[data-th] body .eyebrow,html[data-th] body .lgx-eye,html[data-th] body .en-eye,html[data-th] body .auth-top span:first-child,html[data-th] body .lgx-pts span{color:var(--gd2);text-shadow:none;font-family:var(--t-mono)}
html[data-th] body .mono,html[data-th] body .kpiv{font-family:var(--t-mono)!important}
html[data-th] body a{color:var(--acc)}
html[data-th] body #nav{border-bottom-color:var(--line)}
html[data-th] body .tab{font-family:var(--t-body)}
html[data-th] body .tab.on{color:var(--t-title);border-bottom-color:var(--acc);text-shadow:none}
html[data-th] body .subtab.on{color:var(--t-title);border-bottom-color:var(--acc)}
html[data-th] body #nav .ink,html[data-th] body #subnav .ink{background:var(--acc);box-shadow:0 0 8px color-mix(in srgb,var(--acc) 50%,transparent)}
html[data-th] body .sw{border-radius:var(--t-r2);border-color:var(--line)}
html[data-th] body .sw:hover{border-color:var(--acc)}
html[data-th] body .sw.on{background:var(--acc);border-color:var(--acc);color:var(--t-on);box-shadow:var(--t-glow)}
html[data-th] body .btn{border-radius:var(--t-r2);border-color:var(--line);background:var(--t-btn);color:var(--text)}
html[data-th] body .btn:hover{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 14%,transparent);box-shadow:none}
html[data-th] body .btn.big,html[data-th] body .lgx-card .btn.big{background:var(--acc);border-color:var(--acc);color:var(--t-on);box-shadow:var(--t-glow)}
html[data-th] body .pill,html[data-th] body .tag{border-radius:var(--t-r3)}
html[data-th] body .pk-card{border-radius:var(--t-r);background:var(--t-card);border-color:var(--line);border-top-color:var(--c);box-shadow:var(--t-sh)}
html[data-th] body .pk-meter i{background:var(--acc)}
html[data-th] body .hm-hero{border-radius:var(--t-r);border-color:var(--t-hov);background:var(--t-hero);box-shadow:var(--t-sh)}
html[data-th] body .hm-hero::before,html[data-th] body .lgx-card::before{background:linear-gradient(90deg,transparent,var(--acc),transparent)}
html[data-th] body .hm-kpi,html[data-th] body .hm-go{border-radius:var(--t-r2);border-color:var(--line);background:var(--t-card)}
html[data-th] body .hm-go:hover{border-color:var(--acc)}
html[data-th] body .hm-go i,html[data-th] body .hm-more,html[data-th] body .linkbtn.gd{color:var(--gd2)}
html[data-th] body .field input,html[data-th] body #coinQ{border-radius:var(--t-r2);border-color:var(--line)}
html[data-th] body .field input:focus,html[data-th] body #coinQ:focus,html[data-th] body .lgx-card .field input:focus{border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 20%,transparent)}
html[data-th] body .tbl tr:hover td{background:color-mix(in srgb,var(--acc) 7%,transparent)}
html[data-th] body .bnav{background:var(--panel);border-top-color:var(--line)}
html[data-th] body .bnav button.on{color:var(--acc)}
html[data-th] body .toast{border-color:var(--acc)}
html[data-th] body ::selection{background:color-mix(in srgb,var(--acc) 40%,transparent)}
html[data-th] body .brand-home .brand-ico{box-shadow:0 0 0 1px color-mix(in srgb,var(--gd) 50%,transparent),0 0 18px color-mix(in srgb,var(--gd) 22%,transparent)}
/* 統計圖 */
html[data-th] body .sg-t{background:linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/25% 100%;border-right-color:var(--line)}
html[data-th] body .sg-row{border-bottom-color:var(--line)}
html[data-th] body .sg-ci{height:6px;margin-top:-3px;border-radius:99px;opacity:.55}
html[data-th] body .sg-ci::before,html[data-th] body .sg-ci::after{display:none}
html[data-th] body .sg-b{width:12px;height:12px;margin:-6px 0 0 -6px;box-shadow:0 0 0 3px var(--panel)}
html[data-th] body .lwc-box{border-color:var(--line);border-radius:min(var(--t-r),14px);overflow:hidden}
/* 登入頁 */
html[data-th] body .lgx-card{border-color:var(--line);border-radius:var(--t-r);background:var(--t-card);box-shadow:var(--t-sh)}
html[data-th] .t3d{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateZ(0)!important;transition:transform .18s ease-out,border-color .2s,box-shadow .2s;will-change:transform}
html[data-th] .t3d.t3on{box-shadow:var(--t-shh)}
html[data-th] .t3d{transform:none!important}
html[data-th] body #page section.glass{background-image:none}
html[data-th] body a:hover{color:#d7ecff}
html[data-th] body #topbar{background:linear-gradient(90deg,var(--acc),#fff);box-shadow:0 0 8px var(--acc)}
html[data-th] body .pw-eye:hover{color:var(--acc);background:rgba(159,208,255,.08)}
/* 背景：緩慢流動的煙霧（特效關或關掉動態時靜止） */
#thbg{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
#thbg>*{position:absolute}
#thbg .b{width:720px;height:720px;border-radius:50%;filter:blur(110px);opacity:.5}
#thbg .b1{left:-10%;top:-22%;background:#2b3442}#thbg .b2{right:-12%;top:20%;background:#1c2430}#thbg .b3{left:28%;bottom:-34%;background:#232a36}
body:not(.lite):not(.nomo) #thbg .b{animation:thDrift 24s ease-in-out infinite alternate}body:not(.lite):not(.nomo) #thbg .b2{animation-duration:31s;animation-direction:alternate-reverse}
@keyframes thDrift{to{transform:translate(120px,90px) scale(1.18)}}
#thbg .grain{inset:0;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
@media (prefers-reduced-motion:reduce){#thbg *{animation:none!important}}
@media (max-width:760px){#thbg .b{width:380px;height:380px;filter:blur(70px)}}
/* 頁首：標誌＋橫式大字選單＋工具 */
html[data-th] body #app>header.glass{background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:4px 0 0!important;gap:8px 30px;align-items:center}
html[data-th] body #app>header.glass:hover{transform:none}
html[data-th] body .brand-home{gap:10px!important;text-decoration:none}
html[data-th] body .brand-home .brand-ico,html[data-th] body .brand-home:hover .brand-ico{width:40px;height:40px;border-radius:0;box-shadow:none;filter:drop-shadow(0 0 7px rgba(159,208,255,.7));transition:filter .2s}
html[data-th] body .brand-home:hover .brand-ico{filter:drop-shadow(0 0 12px rgba(159,208,255,1))}
html[data-th] body .brand-home .orb{font-size:18px!important;letter-spacing:0;white-space:nowrap}
html[data-th] body header #nav{flex:1 1 auto;gap:2px 20px!important;border-bottom:0;padding:0;align-items:center}
html[data-th] body #nav .tab{font:800 21px/1.4 var(--t-head);min-height:38px;padding:0;border:0;letter-spacing:0;color:color-mix(in srgb,var(--muted) 55%,transparent);transition:color .18s,transform .18s}
html[data-th] body #nav .tab:hover{color:var(--text);transform:translateY(-2px)}
html[data-th] body #nav .tab.on{color:var(--acc);border:0}
html[data-th] body #nav .tab.on::after{content:"";display:inline-block;width:8px;height:8px;margin-left:7px;border-radius:50%;background:var(--acc);box-shadow:0 0 12px var(--acc);vertical-align:middle}
html[data-th] body #nav .ink{display:none}
html[data-th] body #nav .tab .cnt{font-size:11px;vertical-align:top;margin-left:4px}
html[data-th] body .hdr-tools{margin-left:auto;gap:6px!important;justify-content:flex-end}
html[data-th] body .hdr-tools .btn,html[data-th] body .hdr-tools .pill{min-height:30px!important;font-size:12px}
html[data-th] body #coinQ{min-height:30px;width:170px;border-radius:999px;padding:0 12px;background:rgba(255,255,255,.03)}
html[data-th] body .minibar{background:rgba(6,7,10,.96)}
html[data-th] body .minibar img{border-radius:0}
/* 登入頁：左邊標誌掃描、右邊表單 */
html[data-th] body .login{background:transparent;padding:24px}
.lgs{position:relative;display:grid;grid-template-columns:auto minmax(0,400px);gap:70px;align-items:center;animation:lgxUp .7s cubic-bezier(.2,.8,.2,1) both}
.lgs-scan{position:relative;text-align:center;padding:28px 30px 20px;border:1px solid rgba(159,208,255,.5);background:rgba(6,7,10,.4)}
.lgs-scan img{display:block;margin:0 auto;filter:drop-shadow(0 0 12px rgba(159,208,255,.7))}
.lgs-scan canvas.lgs-3d{display:block;margin:0 auto;cursor:grab;touch-action:pan-y;filter:drop-shadow(0 0 12px rgba(159,208,255,.55))}
.lgs-scan canvas.lgs-3d:active{cursor:grabbing}
.lgs-scan>i{position:absolute;left:0;right:0;top:0;height:2px;background:#9fd0ff;box-shadow:0 0 20px 4px #9fd0ff;animation:lgsScan 2.4s ease-in-out infinite alternate}
@keyframes lgsScan{to{top:100%}}
.lgs-scan::before,.lgs-scan::after{content:"";position:absolute;width:18px;height:18px;border:2px solid #9fd0ff}
.lgs-scan::before{left:-2px;top:-2px;border-right:0;border-bottom:0}.lgs-scan::after{right:-2px;bottom:-2px;border-left:0;border-top:0}
.lgs-eye{margin-top:12px;font-size:11.5px;letter-spacing:.24em;color:#9fd0ff}.lgs-sub{margin-top:8px;font-size:11px;color:#8a93a3}
.lgs-cnr{position:absolute;display:flex;align-items:center;gap:9px;font-size:12px;color:#8a93a3}
.lgs-cnr.tl{left:26px;top:20px;color:#eef2f7;font:700 16px 'Sora','Noto Sans TC',sans-serif}.lgs-cnr.tl img{filter:drop-shadow(0 0 6px rgba(159,208,255,.7))}
.lgs-cnr.tr{right:26px;top:24px}.lgs-cnr.bl{left:26px;bottom:20px}.lgs-cnr.br{right:26px;bottom:20px}
html[data-th] body .lgx-card{border:1px solid rgba(159,208,255,.34);border-radius:4px;background:rgba(6,7,10,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:none}
html[data-th] body .lgx-card .field input{background:rgba(0,0,0,.42)}
html[data-th] body .lgx-card .btn.big{background:linear-gradient(90deg,#9fd0ff,#fff);border-color:transparent;color:#06080c;letter-spacing:.2em}
html[data-th] body .lgx-card .btn.big:hover{background:linear-gradient(90deg,#b9dcff,#fff);box-shadow:0 8px 24px -8px rgba(159,208,255,.7)}
.lgs-say{margin:14px 0 0;text-align:center;font-size:13px;color:#8a93a3}
.lgs-side .lgx-foot{display:none;margin-top:10px}
body.nomo .lgs,body.nomo .lgs-scan>i{animation:none}
@media (prefers-reduced-motion:reduce){.lgs,.lgs-scan>i{animation:none}}
@media (max-width:860px){
  html[data-th] body .login{padding:64px 14px 20px;align-items:flex-start}
  .lgs{grid-template-columns:minmax(0,1fr);gap:16px;width:100%;max-width:420px}
  .lgs-scan{display:flex;align-items:center;gap:14px;text-align:left;padding:14px}.lgs-scan img{width:72px;height:72px;margin:0}.lgs-eye{margin-top:0}
  .lgs-cnr.tr,.lgs-cnr.bl,.lgs-cnr.br{display:none}.lgs-side .lgx-foot{display:block}
}
/* 進站動畫：標誌彈出並睜眼、外圈描繪、三行載入文字 */
html[data-th] body .enterfx{background:rgba(6,7,10,.95);color:#eef2f7;gap:0}
.en-c{position:relative;width:150px;height:150px;animation:enPop .7s both;transition:transform .55s cubic-bezier(.5,0,.8,.4),opacity .5s}
@keyframes enPop{from{transform:scale(.6);opacity:0}}
.enterfx.out .en-c{transform:scale(1.7);opacity:0}
.en-rg{position:absolute;left:50%;top:50%;width:300px;height:300px;margin:-150px 0 0 -150px}
.en-rg circle{fill:none;stroke-linecap:round;transform-origin:150px 150px}
.en-rg .a{stroke:#9fd0ff;stroke-width:3;stroke-dasharray:820;stroke-dashoffset:820;animation:enDraw 1.5s .2s forwards}
.en-rg .b{stroke:#fff;stroke-width:1.5;stroke-dasharray:3 9;animation:lgxSpin 14s linear infinite}
@keyframes enDraw{to{stroke-dashoffset:0}}
.en-logo{position:relative;display:block;overflow:visible;filter:drop-shadow(0 0 10px rgba(159,208,255,.75))}
.en-logo .en-e{transform-box:fill-box;transform-origin:center;animation:enEye 1.5s .35s both}
@keyframes enEye{0%,35%{transform:scaleY(.06)}55%{transform:scaleY(1)}66%{transform:scaleY(.08)}78%,100%{transform:scaleY(1)}}
.en-name{margin-top:94px;font:700 21px 'Sora','Noto Sans TC',sans-serif;letter-spacing:.08em;animation:lgxUp .6s .9s both}
.en-log{margin-top:12px;font-size:12px;line-height:1.9;color:#8a93a3;text-align:left}.en-log p{margin:0;opacity:0;transition:opacity .3s}.en-log p.on{opacity:1}.en-log em{font-style:normal;color:var(--up)}
html[data-th] body .en-bar{width:220px;height:3px;margin-top:14px;border-radius:9px;background:rgba(255,255,255,.1);overflow:hidden}
html[data-th] body .en-bar i{background:linear-gradient(90deg,#9fd0ff,#fff);box-shadow:none}
/* 首頁與小標題：舊的金色改成主色 */
html[data-th] body .hm-eye,html[data-th] body .hm-row>span:first-child,html[data-th] body .hm-no,html[data-th] body .hm-go i,html[data-th] body .hm-step:not(:last-child)::after{color:var(--acc)}
html[data-th] body .eyebrow{text-shadow:none}html[data-th] body .eyebrow svg,html[data-th] body .sec-ico{filter:none}
html[data-th] body .hm-more:hover{color:#d7ecff}html[data-th] body .hm-big{color:var(--text)}
html[data-th] body .hm-hero h1{font-weight:800}

/* 輸入框＋按鈕同一列時，輸入框可以縮，按鈕不會被擠出面板 */
html[data-th] body label.field{min-width:0}
html[data-th] body label.field input,html[data-th] body label.field select{box-sizing:border-box;max-width:100%;min-width:0}

/* ===== 第 10.1 版：立體棋盤位置圖、排行長條、覆蓋率堆疊長條、設定欄位說明 ===== */
.rot3d{perspective:1100px;perspective-origin:50% 0;padding:48px 0 44px;overflow:hidden;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.rot3d:active{cursor:grabbing}
.rot-plane{position:relative;aspect-ratio:640/420;width:78%;margin:0 auto;transform:rotateX(var(--rx)) rotateZ(var(--rz));transform-style:preserve-3d;border-radius:14px}
.rot-plane::before{content:"";position:absolute;inset:-1px;border-radius:15px;transform:translateZ(-14px);background:#04060a;box-shadow:0 0 0 1px rgba(159,208,255,.14),0 50px 70px -10px rgba(0,0,0,.85)}
.rot-q{position:absolute;width:50%;height:50%;box-sizing:border-box;padding:10px 14px;display:flex;flex-direction:column;gap:2px;background:linear-gradient(135deg,color-mix(in srgb,var(--c) 17%,#0b0d12),color-mix(in srgb,var(--c) 5%,#0b0d12));border:1px solid color-mix(in srgb,var(--c) 28%,transparent)}
.rot-q b{font-size:16px;color:var(--c);letter-spacing:.06em}.rot-q span{font-size:11.5px;color:var(--muted)}
.rot-q.q0{border-radius:14px 0 0 0}.rot-q.q1{border-radius:0 14px 0 0}.rot-q.q2{border-radius:0 0 0 14px}.rot-q.q3{border-radius:0 0 14px 0}
.rot-q{align-items:center;text-align:center}.rot-q.q2,.rot-q.q3{justify-content:flex-end}
.rot-tr{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;transform:translateZ(1px)}
.rot-shd{position:absolute;width:calc(var(--r)*2.4);height:calc(var(--r)*1.3);margin:calc(var(--r)*-.65) 0 0 calc(var(--r)*-1.2);border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.7),transparent);transform:translateZ(1px);pointer-events:none}
.rot-ball{position:absolute;width:calc(var(--r)*2);height:calc(var(--r)*2);margin:calc(var(--r)*-2) 0 0 calc(var(--r)*-1);transform-origin:50% 100%;transform:rotateZ(calc(var(--rz)*-1)) rotateX(calc(var(--rx)*-1));cursor:pointer;outline:none}
.rot-sph{display:block;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.9),var(--c) 42%,color-mix(in srgb,var(--c) 42%,#000) 100%);box-shadow:0 0 14px color-mix(in srgb,var(--c) 55%,transparent);transition:transform .18s}
.rot-ball:hover .rot-sph,.rot-ball:focus-visible .rot-sph{transform:scale(1.14)}
.rot-ball.on .rot-sph{box-shadow:0 0 0 2px #fff,0 0 20px var(--c)}.rot-ball.dim{opacity:.32}
.rot-lb{position:absolute;white-space:nowrap;font-size:12px;font-weight:600;color:var(--text);text-shadow:0 1px 3px #000,0 0 8px #000;pointer-events:none}
.rot-lb.r{left:calc(100% + 5px);top:50%;translate:0 -50%}.rot-lb.l{right:calc(100% + 5px);top:50%;translate:0 -50%}
.rot-lb.t{left:50%;bottom:calc(100% + 3px);translate:-50% 0}.rot-lb.b{left:50%;top:calc(100% + 3px);translate:-50% 0}
@keyframes rotDrop{from{opacity:0;margin-top:calc(var(--r)*-2 - 46px)}}
.rot3d.an .rot-ball{animation:rotDrop .55s cubic-bezier(.2,.9,.3,1.2) both}
body.nomo .rot3d.an .rot-ball{animation:none}
.rot-rk span:last-child{flex:0 1 auto;max-width:62%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rot-side .row>.col{min-width:0}
@media (max-width:760px){.rot-rk span:last-child{max-width:48%}.rot-plane{width:94%}.rot-q b{font-size:14px}.rot-q span{display:none}.rot-lb{font-size:11px}}
.rk-row{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr) 78px 104px;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.rk-l{display:flex;flex-direction:column;min-width:0}.rk-l b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rk-t{position:relative;height:22px;background:linear-gradient(90deg,rgba(255,107,147,.06),transparent 50%,rgba(46,230,166,.06));border-radius:4px}
.rk-t::after{content:"";position:absolute;left:50%;top:-5px;bottom:-5px;border-left:1px dashed rgba(255,255,255,.4)}
.rk-bar{position:absolute;top:3px;height:16px;border-radius:4px;background:#8b97a8}
.rk-row.good .rk-bar{background:var(--up)}.rk-row.bad .rk-bar{background:var(--down)}
.rk-ci{position:absolute;top:10px;height:2px;background:#fff;opacity:.6;border-radius:1px}
.rk-v{text-align:right;font-weight:700;font-size:14px}.rk-row.good .rk-v{color:var(--up)}.rk-row.bad .rk-v{color:var(--down)}
.rk-ax{display:flex;justify-content:space-between;gap:8px;padding:6px 194px 0 202px}
.rk-few{margin:12px 0;border:1px dashed var(--line);border-radius:10px;padding:10px 14px}
.rk-few summary{cursor:pointer;color:var(--muted);font-size:13px}
.rk-few div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.rk-few div span{border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:12.5px;color:var(--muted)}
@keyframes rkIn{from{transform:scaleX(0)}}
.rk.an .rk-bar{animation:rkIn .7s cubic-bezier(.2,.8,.2,1) both}.rk-bar.pos{transform-origin:0 50%}.rk-bar.neg{transform-origin:100% 50%}
body.nomo .rk.an .rk-bar{animation:none}
@media (max-width:760px){.rk-row{grid-template-columns:minmax(0,1fr) auto}.rk-t{grid-column:1/-1;grid-row:2}.rk-k{grid-column:1/-1;grid-row:3}.rk-ax{padding:6px 0 0}}
.cv-leg{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:10px}
.cv-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.cv-main{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px}
.cv-y{display:flex;flex-direction:column;justify-content:space-between;height:220px;text-align:right}
.cv-bars{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:clamp(2px,1.2%,14px);height:220px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 8px;background:repeating-linear-gradient(0deg,transparent 0 54px,rgba(255,255,255,.05) 54px 55px)}
.cv-col{display:flex;flex-direction:column-reverse;height:100%;width:100%;max-width:76px;justify-self:center;border-radius:5px 5px 0 0;overflow:hidden;min-width:0}
.cv-col .cv-s{display:flex;align-items:center;justify-content:center;font:700 11px 'JetBrains Mono',monospace;color:#06070a;overflow:hidden}
.cv-s.up{background:var(--up)}.cv-s.cy{background:var(--acc,#9fd0ff)}.cv-s.down{background:var(--down)}.cv-s.muted{background:#5b6472}
.cv-x{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:clamp(2px,1.2%,14px);padding:6px 8px 0 56px;text-align:center}
.cv-x span{white-space:nowrap;overflow:visible}
@keyframes cvIn{from{transform:scaleY(0)}}
.cv.an .cv-col{transform-origin:50% 100%;animation:cvIn .6s cubic-bezier(.2,.8,.2,1) both}
body.nomo .cv.an .cv-col{animation:none}
.fhint{display:block;margin-top:6px;font-size:12px;line-height:1.6;color:var(--muted);font-weight:400}
.fhint .mono{display:block;font-size:11px;opacity:.75;margin-top:2px}
.lockrow{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;padding:7px 10px;border:1px dashed var(--line);border-radius:8px}
.lock-n{font-size:13px;font-weight:600}

/* ---------------- 第 10.2 版：漲跌方塊圖、字母圖示配色 ---------------- */
.htm{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-rows:56px;grid-auto-flow:dense;gap:6px}
.htm-c{appearance:none;font:inherit;color:var(--text);cursor:pointer;min-width:0;padding:4px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  border:1px solid color-mix(in srgb,var(--c) 34%,transparent);border-radius:10px;background:color-mix(in srgb,var(--c) var(--a,20%),transparent);transition:transform .15s ease,border-color .15s ease}
.htm-c.up{--c:var(--up)}.htm-c.dn{--c:var(--down)}
.htm-c.b{grid-column:span 2;grid-row:span 2}.htm-c.w{grid-column:span 2;flex-direction:row;gap:6px}
.htm-c b{font-size:12px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.htm-c.b b{font-size:20px}.htm-c.w b{font-size:14px}
.htm-c small{font-size:11px;color:rgba(255,255,255,.94)}.htm-c.b small{font-size:14px}
.htm-c .cico{margin:0;vertical-align:0;flex:none}
.htm-c:hover{transform:translateY(-1px);border-color:var(--c)}.htm-c:focus-visible{outline:2px solid var(--cy);outline-offset:2px}
body.nomo .htm-c{transition:none}
@media (max-width:640px){.htm{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:52px}.htm-c.b b{font-size:17px}}
.cico.ph{background:hsl(var(--h,210) 30% 24%);color:hsl(var(--h,210) 70% 86%);border-color:hsl(var(--h,210) 32% 38%)}

/* ---------------- 第 10.3 版：訊號卡片精簡（細節收進展開）、今日頁方塊圖 ---------------- */
.scmore>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;min-height:30px;font-size:12px;color:var(--muted);user-select:none}
.scmore>summary::-webkit-details-marker{display:none}
.scmore>summary::before{content:'▸';font-size:11px}.scmore[open]>summary::before{content:'▾'}
.scmore>summary:hover{color:var(--text)}.scmore>summary:focus-visible{outline:2px solid var(--cy);outline-offset:2px;border-radius:6px}
.scmore[open]>summary .o0,.scmore:not([open])>summary .o1{display:none}
.scmore .scbody{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.scline{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;min-width:0}
.scline>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.htm-c.tw b{font-size:12px}.htm-c.tw.b b{font-size:19px}.htm-c.tw.w b{font-size:14px}

/* ---------------- 第 10.4 版：寬表格固定表頭與第一欄、手機圖表工具列一排可滑、選單改底部面板、方塊圖小格圖示 ---------------- */
.tblbox{overflow:auto;max-height:min(72vh,700px);--tb:#12151a}
.tblbox>.tbl:not(.cardy) thead th{position:sticky;top:0;z-index:3;background:var(--tb);box-shadow:inset 0 -1px 0 rgba(255,255,255,.12)}
.tblbox>.tbl.fix1 th:first-child,.tblbox>.tbl.fix1 td:first-child{position:sticky;left:0;z-index:2;background:var(--tb);box-shadow:inset -1px 0 0 rgba(255,255,255,.09)}
.tblbox>.tbl.fix1 thead th:first-child{z-index:4;box-shadow:inset -1px 0 0 rgba(255,255,255,.09),inset 0 -1px 0 rgba(255,255,255,.12)}
.tblbox>.tbl.fix1 tr:hover td:first-child,.tblbox>.tbl.fix1 tr.on td:first-child{background:#181c23}
.tblbox.more-r{box-shadow:inset -22px 0 16px -16px rgba(150,190,255,.38)}
@media (max-width:640px){
  .tblbox{max-height:70vh}
  .tblbox>.tbl.cardy thead th{position:static}
  .tblbox>.tbl.fix1 th:first-child,.tblbox>.tbl.fix1 td:first-child{max-width:38vw;overflow:hidden;text-overflow:ellipsis}
  .chartsec .ctool{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px;mask-image:linear-gradient(90deg,#000 calc(100% - 26px),transparent)}
  .chartsec .ctool::-webkit-scrollbar{display:none}
  .chartsec .ctool .seg{flex-wrap:nowrap;flex:none}.chartsec .ctool>*,.chartsec .ctool #lwcTools>*,.chartsec .ctool #lwcPro>*{flex:none}
  .chartsec .ctool .sw{white-space:nowrap}
}
.htm-c b .cico{margin:0 4px 0 0;vertical-align:-2px}
.ddsheet{position:fixed;inset:0;z-index:400;display:flex;align-items:flex-end;background:rgba(0,0,0,.58)}
.ddsheet-in{width:100%;max-height:74vh;display:flex;flex-direction:column;background:#12151a;border-top:1px solid rgba(255,255,255,.16);border-radius:16px 16px 0 0;padding:8px 16px calc(18px + env(safe-area-inset-bottom));animation:ddup .22s ease-out}
.ddsheet-in::before{content:'';width:42px;height:4px;border-radius:2px;background:rgba(255,255,255,.28);margin:0 auto 6px;flex:none}
.ddsheet-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 0 10px;flex:none}
.ddsheet-h .sw{min-height:40px;padding:0 16px}
html body .ddsheet .dd-body{position:static!important;width:auto!important;max-height:none!important;min-height:0;overflow:auto;border:0!important;box-shadow:none!important;background:none!important;padding:0 0 4px!important;overscroll-behavior:contain;backdrop-filter:none!important}
.ddsheet .dd-body label{min-height:38px;display:inline-flex;align-items:center}
body.ddlock{overflow:hidden}
body.nomo .ddsheet-in{animation:none}
@keyframes ddup{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}

/* ---------------- 第 10.5 版：幣安補幣種的標記、K 線繪圖工具 ---------------- */
.bnm{font-size:10px;font-weight:600;letter-spacing:.02em;color:#f0b90b;margin-left:3px;vertical-align:super;line-height:1;white-space:nowrap}
.tag.bnx{color:#f0b90b;border-color:rgba(240,185,11,.4);background:rgba(240,185,11,.08)}
.dwbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.dwbar .sw{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.dwbar .dwi{font-size:13px;line-height:1;opacity:.85}
.dwsw{display:inline-flex;gap:5px;align-items:center;padding:0 4px}
.dwc{width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.18);background:var(--c);cursor:pointer;padding:0;flex:none}
.dwc.on{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.18)}
.dwc:focus-visible{outline:2px solid #9fd0ff;outline-offset:2px}
.lwc-box.dw-on,.lwc-box.dw-on *{touch-action:none!important}
.lwc-box.dw-on{cursor:crosshair}
@media (max-width:640px){
  .dwbar{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px;mask-image:linear-gradient(90deg,#000 calc(100% - 26px),transparent)}
  .dwbar::-webkit-scrollbar{display:none}
  .dwbar>*{flex:none}.dwbar .sw{min-height:38px}.dwc{width:28px;height:28px}
}

/* ---------------- 第 10.6 版：搜尋的交易所篩選 ---------------- */
#coinEx{min-height:30px;padding:0 8px;font-size:12px;border-radius:999px;border:1px solid var(--line,rgba(255,255,255,.14));background:rgba(255,255,255,.03);color:inherit;cursor:pointer}
#coinEx:focus-visible{outline:2px solid var(--acc,#3ddc97);outline-offset:1px}
#coinEx option{background:#15181e;color:#e8ecf4}
@media (max-width:640px){#coinEx{min-height:36px}}

/* ---------------- 第 10.7 版：資金方向圓環、方塊圖文字對比、價格軸 A / L 按鍵、繪圖設定、指標參數 ---------------- */
/* 方塊圖：字不再用和底色同色系的紅綠——深色格子白字，亮色格子（.ink，由 tileInk() 依底色亮度判斷）深色字 */
.htm-c{color:#fff}.htm-c b,.htm-c small{text-shadow:0 1px 2px rgba(0,0,0,.6)}
.htm-c.ink,.htm-c.ink small{color:#04130c}.htm-c.ink b,.htm-c.ink small{text-shadow:none}
.htm-c.ink small{font-weight:600}
/* 價格軸右下角：A＝自動貼合、L＝對數刻度 */
.lwc-box,.st-kbox{position:relative}
.axb{position:absolute;right:3px;bottom:2px;z-index:4;display:flex;gap:2px}
.axb button{appearance:none;width:24px;height:22px;padding:0;border-radius:5px;border:1px solid rgba(255,255,255,.16);background:rgba(10,12,16,.92);color:#8a93a3;font:600 11px ui-monospace,Consolas,monospace;cursor:pointer;line-height:1}
.axb button:hover{color:#e6eaee;border-color:rgba(255,255,255,.35)}
.axb button.on{color:#0a0c10;background:#9fd0ff;border-color:#9fd0ff}
.axb button:focus-visible{outline:2px solid #9fd0ff;outline-offset:1px}
@media (pointer:coarse){.axb button{width:30px;height:26px;font-size:12px}}
/* 均線自訂過的提醒：壓在圖的左下角，不擋 K 線頂端的資訊列 */
.emawarn{position:absolute;left:10px;bottom:34px;z-index:4;display:flex;gap:8px;align-items:center;padding:4px 6px 4px 10px;border-radius:8px;font-size:12px;
  color:#ffd166;background:rgba(10,12,16,.9);border:1px solid rgba(255,209,102,.45)}
.emawarn .sw{min-height:24px;padding:0 8px;font-size:12px}
.emawarn.hidden{display:none}
/* 第 10.23 版：K 線圖上的賽克斯多週期方向（管理員） */
.sykmtf{position:absolute;right:72px;top:8px;z-index:4;display:flex;gap:8px;align-items:center;padding:3px 8px;border-radius:8px;font-size:11px;
  color:#cbd5e1;background:rgba(10,12,16,.82);border:1px solid rgba(224,184,74,.4);pointer-events:none;white-space:nowrap}
.sykmtf b{font-weight:600}.sykmtf .up{color:#22c55e}.sykmtf .dn{color:#ef4444}.sykmtf .nt{color:#94a3b8}
@media (max-width:640px){.sykmtf{right:62px;top:auto;bottom:58px;font-size:10px}}
/* 斐波那契設定列、指標參數 */
.dwfib{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.dwfib.hidden{display:none}
.dwfib .chk{display:flex;flex-wrap:wrap;gap:4px 12px}
.cpg{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.cpi{display:inline-flex;gap:6px;align-items:center;font-size:12px;white-space:nowrap}
.cpi .inp{width:68px;min-height:28px;padding:2px 6px}
.dwfib .cpi .inp{width:112px}
.cpnote{color:var(--warn)}.cpnote:empty{display:none}
@media (max-width:640px){.emawarn{left:6px;right:70px;bottom:32px;font-size:11px}.cpi .inp{min-height:34px}}

/* ================= 第 10.8 版：繪圖自訂顏色 ================= */
.dwsw{flex-wrap:wrap;row-gap:4px}
.dwcp{position:relative;width:22px;height:22px;border-radius:50%;border:2px dashed rgba(255,255,255,.4);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none;font-size:12px;line-height:1;color:#cbd5e1;overflow:hidden}
.dwcp input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;border:0}
.dwcp.on{border-style:solid;border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.18)}
.dwcp:focus-within{outline:2px solid #9fd0ff;outline-offset:2px}
@media (max-width:640px){.dwcp{width:28px;height:28px}.dwsw{flex-wrap:nowrap}}

/* ===== 第 10.11 版：會員聊天室（懸浮視窗＋分頁共用同一個元件） =====
   第 10.12 版：改成「交易終端」樣式（#03）：等寬字、一行一則 [時間] 頭貼 名字 > 內容，名字依帳號上色 */
.ch-fab{position:fixed;right:18px;bottom:18px;z-index:9990;width:52px;height:52px;border-radius:12px;display:grid;place-items:center;cursor:pointer;
  background:#07090c;color:var(--acc,#9fd0ff);border:1px solid color-mix(in srgb,var(--acc,#9fd0ff) 45%,transparent);box-shadow:0 14px 30px -12px #000,0 0 0 4px rgba(6,7,10,.5);transition:transform .15s,background .15s}
.ch-fab:hover,.ch-fab.on{background:color-mix(in srgb,var(--acc,#9fd0ff) 14%,#07090c)}
.ch-fab:active{transform:scale(.94)}
.ch-fab:focus-visible,.ch button:focus-visible,.ch textarea:focus-visible,.ch input:focus-visible,.ch a:focus-visible{outline:2px solid var(--acc,#9fd0ff);outline-offset:2px}
.ch-badge{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:4px;background:var(--acc,#9fd0ff);color:#06080c;font:700 11px/20px 'JetBrains Mono',monospace;text-align:center}
.ch-badge.at{background:#ffd166}
.ch-panel{position:fixed;right:18px;bottom:82px;z-index:9991;width:400px;height:min(620px,calc(100vh - 120px));display:flex}
.ch{--ch-bg:#07090c;--ch-mono:'JetBrains Mono','Noto Sans TC',ui-monospace,monospace;
  position:relative;display:flex;flex-direction:column;width:100%;min-height:0;background:var(--ch-bg);border:1px solid var(--line);border-radius:6px;
  box-shadow:var(--t-sh,0 30px 60px -30px #000);overflow:hidden;color:var(--text);font:13px/1.6 var(--ch-mono)}
.ch-panel .ch{box-shadow:0 30px 70px -20px #000,0 0 0 1px rgba(159,208,255,.12)}
.ch.pg{height:min(72vh,780px);min-height:420px}
.ch.pg .ch-x{display:none}
.ch-hd{position:relative;display:flex;align-items:center;gap:6px;padding:9px 10px 9px 14px;border-bottom:1px solid var(--line)}
.ch-ttl{display:flex;align-items:baseline;gap:10px;flex:1;min-width:0}
.ch-ttl b{font-size:14px;color:var(--t-title,#eef2f7);letter-spacing:.04em}
.ch-st{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ch-st.bad{color:#ffb3c0}
.ch-on{display:flex;align-items:center;gap:6px;background:none;border:1px solid var(--line);border-radius:4px;color:var(--muted);font:12px var(--ch-mono);padding:3px 8px;cursor:pointer;white-space:nowrap}
.ch-on:hover,.ch-hb:hover,.ch-hb[aria-expanded="true"]{color:var(--text);border-color:var(--t-hov,rgba(159,208,255,.45))}
.ch-on .ldot{width:7px;height:7px;border-radius:50%;background:#3ddc97;box-shadow:0 0 6px #3ddc97}
.ch-hb{flex:none;width:28px;height:28px;display:grid;place-items:center;background:none;border:1px solid var(--line);border-radius:4px;color:var(--muted);cursor:pointer}
.ch-x{background:none;border:none;color:var(--muted);font-size:15px;cursor:pointer;width:28px;height:28px;border-radius:4px}.ch-x:hover{color:var(--text);background:rgba(255,255,255,.06)}
.ch-onl,.ch-menu{position:absolute;right:10px;top:calc(100% + 6px);z-index:7;width:230px;max-height:300px;overflow:auto;padding:8px;display:flex;flex-direction:column;gap:4px;background:#0d1015;border:1px solid var(--line);border-radius:6px;box-shadow:0 20px 40px -16px #000}
/* 第 10.45 版：管理員的聊天室連線紀錄（在線名單下方） */
.ch-onl:has(.ch-clog){width:min(340px,calc(100vw - 40px));max-height:min(70vh,520px)}
.ch-clog{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding-top:8px;border-top:1px solid var(--line)}
.ch-clog .sw{align-self:flex-start;min-height:28px}
.ch-clogl{display:flex;flex-direction:column;gap:2px;margin-top:4px;word-break:break-all}
.ch-menu{width:260px;gap:6px}
.ch-ou{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:3px 2px}
.ch-mi{display:flex;gap:10px;align-items:flex-start;padding:6px 4px;cursor:pointer;border-radius:4px}
.ch-mi:hover{background:rgba(255,255,255,.03)}
.ch-mi input{margin-top:3px;accent-color:var(--acc,#9fd0ff)}
.ch-mi span{display:flex;flex-direction:column;gap:1px;min-width:0}.ch-mi b{font-size:12.5px;font-weight:600}.ch-mi small{font-size:11px;color:var(--muted);line-height:1.45}
.ch-mi-t{align-self:flex-start;margin:2px 4px;background:none;border:1px solid var(--line);border-radius:4px;color:var(--muted);font:11.5px var(--ch-mono);padding:3px 8px;cursor:pointer}.ch-mi-t:hover{color:var(--text)}
.ch-srch{display:flex;flex-direction:column;gap:6px;padding:8px 12px;border-bottom:1px solid var(--line);background:#0a0d11;max-height:46%;min-height:0}
.ch-srch input{width:100%;padding:7px 10px;border-radius:4px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text);font:13px var(--ch-mono)}
.ch-srch input:focus{outline:none;border-color:color-mix(in srgb,var(--acc,#9fd0ff) 60%,transparent)}
.ch-sres{overflow:auto;display:flex;flex-direction:column;min-height:0}
.ch-sr{display:flex;gap:8px;align-items:baseline;text-align:left;width:100%;padding:5px 4px;border:none;border-bottom:1px solid rgba(255,255,255,.04);background:none;color:var(--text);font:12.5px/1.5 var(--ch-mono);cursor:pointer}
.ch-sr:hover{background:rgba(159,208,255,.06)}
.ch-sr time{flex:none;color:var(--muted);font-size:11px}.ch-sr span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ch-sr mark{background:rgba(255,209,102,.25);color:#ffd166;border-radius:2px}
.ch-pin{display:flex;align-items:center;gap:6px;padding:0 8px 0 14px;border-bottom:1px solid var(--line);background:rgba(159,208,255,.05)}
.ch-pin-t{flex:1;min-width:0;display:block;padding:7px 0;border:none;background:none;color:var(--text);font:12.5px var(--ch-mono);text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-pin-k{color:var(--acc,#9fd0ff);font-weight:700;margin-right:8px}.ch-pin-k::before{content:"📌 "}
.ch-pin-x{flex:none;background:none;border:none;color:var(--muted);cursor:pointer;width:26px;height:26px;border-radius:4px}.ch-pin-x:hover{color:var(--text);background:rgba(255,255,255,.06)}
.ch-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 8px 6px;display:flex;flex-direction:column;gap:1px;scrollbar-width:thin}
.ch-top{align-self:center;font-size:11px;color:var(--muted);padding:6px 0 10px}
.ch-top[data-ch="more"]{cursor:pointer}.ch-top[data-ch="more"]:hover{color:var(--text)}
.ch-day{display:flex;align-items:center;gap:10px;margin:10px 6px 4px;color:var(--muted);font-size:11px}
.ch-day::before,.ch-day::after{content:"";flex:1;height:1px;background:var(--line)}
.ch-empty{margin:auto;text-align:center;display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12.5px;max-width:260px}
.ch-empty b{color:var(--text);font-size:13.5px}
.ch-m{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:0 6px;padding:3px 6px;border-radius:3px;margin-top:4px}
.ch-m.cont{margin-top:0;padding-top:0}
.ch-m:hover{background:rgba(255,255,255,.025)}
.ch-m.ment{background:rgba(255,209,102,.06);box-shadow:inset 2px 0 0 #ffd166}
.ch-m.flash{animation:chFlash 1.4s ease-out}
@keyframes chFlash{0%{background:rgba(159,208,255,.22)}100%{background:transparent}}
.ch-tm{color:var(--muted);font-size:11.5px;line-height:21px;font-variant-numeric:tabular-nums;white-space:nowrap}
.ch-tm:not(:empty)::before{content:"["}.ch-tm:not(:empty)::after{content:"]"}
.ch-b{min-width:0}
.ch-ln{overflow-wrap:anywhere;line-height:1.6}
.ch-av{display:inline-grid;place-items:center;flex:none;width:18px;height:18px;border-radius:4px;vertical-align:-4px;margin-right:6px;overflow:hidden;
  font:700 10.5px/1 var(--ch-mono,monospace);color:hsl(var(--h,205) 70% 82%);background:hsl(var(--h,205) 35% 22%);border:1px solid hsl(var(--h,205) 40% 34%)}
.ch-av.adm{border-color:var(--acc,#9fd0ff)}
.ch-av.fox{background:hsl(var(--h,205) 30% 13%)}
.ch-av.fox svg{display:block}
.ch-av.img{background:#0e1014;border-color:rgba(255,255,255,.12)}
.ch-av img{width:100%;height:100%;object-fit:cover;display:block}
.ch-ou .ch-av,.ch-su .ch-av{width:22px;height:22px;margin-right:0;vertical-align:middle}
.ch-nm{color:hsl(var(--h,205) 75% 76%);font-weight:600}
.ch-m.me .ch-nm{color:var(--acc,#9fd0ff)}
.ch-gt{color:var(--muted);margin:0 6px 0 4px}
.ch-adm{font-size:10px;padding:0 5px;margin-left:5px;border-radius:2px;border:1px solid color-mix(in srgb,var(--acc,#9fd0ff) 50%,transparent);color:var(--acc,#9fd0ff);vertical-align:1px}
.ch-t{color:var(--text)}
.ch-t a{text-decoration:underline;text-underline-offset:2px}
.ch-at{font-weight:600;color:var(--acc,#9fd0ff)}.ch-at.me{color:#ffd166}
.ch-coin{color:#ffd28a!important;font-weight:600;text-decoration:underline!important;text-decoration-color:rgba(255,210,138,.4)!important;text-underline-offset:3px}
.ch-coin:hover{text-decoration-color:#ffd28a!important}
.ch-q{display:block;max-width:100%;text-align:left;margin:0 0 1px;padding:0;border:none;background:none;color:var(--muted);font:11.5px var(--ch-mono);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-q b{color:var(--text);font-weight:600}
.ch-q:hover{color:var(--text)}
.ch-img{display:block;margin:5px 0 2px;padding:0;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:#0a0c10;cursor:zoom-in;max-width:min(300px,100%)}
.ch-img img{display:block;max-width:100%;max-height:260px;height:auto}
.ch-rx{display:flex;gap:4px;flex-wrap:wrap;margin:4px 0 2px}
.ch-rc{display:inline-flex;align-items:center;gap:3px;padding:0 7px;height:22px;border:1px solid var(--line);border-radius:3px;background:rgba(255,255,255,.03);color:var(--text);font:12px var(--ch-mono);cursor:pointer;font-variant-numeric:tabular-nums}
.ch-rc:hover{border-color:var(--t-hov,rgba(159,208,255,.45))}
.ch-rc.mine{border-color:var(--acc,#9fd0ff);color:var(--acc,#9fd0ff);background:rgba(159,208,255,.1)}
.ch-act{position:absolute;right:6px;top:-11px;display:flex;gap:1px;padding:2px;background:#151a21;border:1px solid rgba(159,208,255,.28);border-radius:4px;opacity:0;pointer-events:none;transition:opacity .12s;z-index:2}
.ch-m:hover .ch-act,.ch-act:focus-within{opacity:1;pointer-events:auto}
.ch-act button{width:26px;height:24px;border:none;background:none;border-radius:3px;color:#c9d4e0;cursor:pointer;font-size:13px;line-height:1}
.ch-act button:hover{color:var(--text);background:rgba(255,255,255,.07)}
@media (pointer:coarse){.ch-act{display:none}.ch-m.tap .ch-act{display:flex;position:static;grid-column:2;justify-self:start;opacity:1;pointer-events:auto;margin-top:4px}.ch-act button{width:40px;height:32px;font-size:15px}}
/* 第 10.47 版：貼圖、收回 / 編輯、幣種小卡 */
.ch-stkp{position:absolute;left:12px;right:12px;bottom:60px;z-index:8;max-height:min(330px,60%);display:flex;flex-direction:column;background:#0d1015;border:1px solid var(--line);border-radius:8px;box-shadow:0 20px 40px -16px #000}
.ch-stk-tb{display:flex;gap:4px;align-items:center;padding:6px 8px;border-bottom:1px solid var(--line)}
.ch-stk-tb [role=tab]{border:1px solid var(--line);background:none;color:var(--muted);border-radius:5px;padding:3px 12px;font-size:12px;cursor:pointer}
.ch-stk-tb [role=tab][aria-selected=true]{color:var(--text);border-color:rgba(159,208,255,.5);background:rgba(159,208,255,.08)}
.ch-stk-x{margin-left:auto;border:none;background:none;color:var(--muted);cursor:pointer;font-size:14px;min-width:32px;min-height:32px}
.ch-stk-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:4px;padding:8px;overflow-y:auto}
.ch-stk-g button{border:1px solid transparent;background:none;border-radius:6px;padding:2px;cursor:pointer;aspect-ratio:1}
.ch-stk-g button:hover,.ch-stk-g button:focus-visible{border-color:var(--line);background:rgba(255,255,255,.04)}
.ch-stk-g svg{width:100%;height:100%;display:block}
.ch-stk1{display:block;width:96px;height:96px;margin:4px 0 2px}
.ch-stk1 svg{width:100%;height:100%;display:block}
.ch-gone{color:var(--muted);font-style:italic}
.ch-edt{color:var(--muted);font-size:11px;margin-left:4px}
.ch-cc{position:absolute;z-index:9;width:236px;display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:#0d1015;border:1px solid var(--line);border-radius:8px;box-shadow:0 20px 40px -16px #000;font-size:12.5px}
.ch-cc-h{display:flex;align-items:baseline;gap:8px}
.ch-cc-h button{margin-left:auto;border:none;background:none;color:var(--muted);cursor:pointer;min-width:28px;min-height:28px}
.ch-cc-p{display:flex;align-items:baseline;gap:8px;font-size:15px}
.ch-cc-s{width:100%;height:44px;display:block}
.ch-cc-go{align-self:flex-start;min-height:32px;font-size:12px}
.ch-cc-o{display:flex;flex-direction:column;gap:3px;max-height:220px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}
.ch-pick{position:absolute;z-index:8;display:grid;grid-template-columns:repeat(4,36px);gap:2px;padding:5px;background:#0d1015;border:1px solid var(--line);border-radius:6px;box-shadow:0 18px 36px -14px #000}
.ch-pick button{width:36px;height:34px;border:none;border-radius:4px;background:none;font-size:18px;cursor:pointer}
.ch-pick button:hover,.ch-pick button:focus-visible{background:rgba(255,255,255,.08)}
.ch-pick button.mine{background:rgba(159,208,255,.16)}
/* 經濟數據公布：實際（依解讀上色）／預期（藍）／前值（灰） */
.ch-m.sys{margin:8px 0 4px}
.ch-sys{border:1px solid rgba(159,208,255,.28);border-left:3px solid var(--acc,#9fd0ff);border-radius:3px;background:rgba(159,208,255,.045);padding:8px 10px;display:flex;flex-direction:column;gap:6px}
.ch-sys-h{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.ch-sys-k{color:var(--acc,#9fd0ff);font-size:11px}.ch-sys-k::before{content:"◆ "}
.ch-sys-h b{font-size:13px}
.ch-sys-i{font-size:10px;padding:0 5px;border:1px solid rgba(255,93,115,.5);color:#ff8a9b;border-radius:2px}
.ch-sys-n{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ch-sys-n span{display:flex;flex-direction:column}
.ch-sys-n small{font-size:10.5px;color:var(--muted)}
.ch-sys-n b{font-size:16px;font-variant-numeric:tabular-nums}
.ch-sys-v{font-size:12px;line-height:1.5}
.ch-sys-f{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}
.ch-sys-f a{color:var(--acc,#9fd0ff)}
.v-a b{color:var(--text)}.v-a.up b,.ch-sys-v .up{color:var(--up,#3ddc97)}.v-a.down b,.ch-sys-v .down{color:var(--down,#ff5d73)}
.v-f b{color:#9fd0ff}.v-p b{color:#8a93a3}
.ch-new{position:absolute;left:50%;bottom:112px;transform:translateX(-50%);z-index:4;border:1px solid var(--acc,#9fd0ff);background:#0d1218;color:var(--acc,#9fd0ff);border-radius:4px;padding:4px 12px;font:12px var(--ch-mono);cursor:pointer;box-shadow:0 10px 24px -10px #000}
.ch-typing{min-height:18px;padding:0 14px;font-size:11px;color:var(--muted)}
.ch-reply{display:flex;align-items:center;gap:8px;margin:0 12px 6px;padding:5px 10px;border-left:2px solid var(--acc,#9fd0ff);background:rgba(159,208,255,.06);border-radius:0 3px 3px 0;font-size:12px;color:var(--muted)}
.ch-reply span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-reply b{color:var(--text)}
.ch-reply button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px}
.ch-sug{position:absolute;left:12px;bottom:60px;z-index:6;display:flex;flex-direction:column;min-width:190px;padding:4px;background:#0d1015;border:1px solid var(--line);border-radius:6px;box-shadow:0 20px 40px -16px #000}
.ch-su{display:flex;align-items:center;gap:8px;padding:5px 8px;border:none;background:none;color:var(--text);font:12.5px var(--ch-mono);border-radius:4px;cursor:pointer;text-align:left}
.ch-su.on,.ch-su:hover{background:rgba(159,208,255,.12)}
.ch-cmp{display:flex;align-items:flex-end;gap:6px;padding:8px 10px 10px;border-top:1px solid var(--line)}
.ch-ps{flex:none;color:var(--acc,#9fd0ff);font-weight:700;line-height:38px;padding-left:4px}
.ch-cmp textarea{flex:1;min-width:0;resize:none;overflow-y:hidden;max-height:140px;padding:9px 10px;border-radius:4px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text);font:13.5px/1.45 var(--ch-mono)}
.ch-cmp textarea:focus{border-color:color-mix(in srgb,var(--acc,#9fd0ff) 60%,transparent);outline:none}
.ch-ib{flex:none;width:36px;height:38px;display:grid;place-items:center;border-radius:4px;border:1px solid var(--line);background:none;color:var(--muted);cursor:pointer}
.ch-ib:hover{color:var(--acc,#9fd0ff);border-color:var(--t-hov,rgba(159,208,255,.45))}
.ch-send{flex:none;height:38px;padding:0 14px;border-radius:4px;border:1px solid var(--acc,#9fd0ff);background:var(--acc,#9fd0ff);color:#06080c;font:700 13px var(--ch-mono);cursor:pointer}
.ch-send:disabled{opacity:.6;cursor:wait}
.ch-drop{position:absolute;inset:0;z-index:9;display:grid;place-items:center;background:rgba(6,8,12,.85);border:2px dashed var(--acc,#9fd0ff);border-radius:inherit;color:var(--acc,#9fd0ff);font-weight:600;pointer-events:none}
.ch-zoom{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px;background:rgba(3,4,6,.92);cursor:zoom-out}
.ch-zoom img{max-width:100%;max-height:calc(100vh - 110px);border-radius:4px;box-shadow:0 30px 80px -20px #000}
.ch .hidden,.ch-panel.hidden,.ch-fab.hidden{display:none!important}
@media (max-width:760px){
  .ch-fab{bottom:calc(70px + env(safe-area-inset-bottom));right:14px;width:48px;height:48px}
  .ch-panel{inset:0;width:auto;height:auto;z-index:9995}
  .ch-panel .ch{border-radius:0;border:none;padding-bottom:env(safe-area-inset-bottom)}
  .ch.pg{height:calc(100vh - 230px);min-height:360px}
  .ch-new{bottom:104px}
  .ch-m{grid-template-columns:38px minmax(0,1fr)}
  .ch-tm{font-size:10.5px}
  body.ch-lock{overflow:hidden}
  body.ch-fab-on .evtoast{bottom:calc(130px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){.ch-m.flash{animation:none}.ch-fab,.ch-act{transition:none}}

/* ===== 第 10.12 版：大頭貼（右上角帳號、帳號頁、會員管理） ===== */
#whoami .ch-av.who{width:20px;height:20px;margin-right:6px;vertical-align:-5px;font-size:11px}
.av-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.av-row>.col{flex:1;min-width:200px}
.ch-av.big{width:88px;height:88px;border-radius:10px;font-size:34px;margin:0;vertical-align:middle}
.av-cv{width:240px;height:240px;max-width:100%;border-radius:10px;border:1px solid var(--line);cursor:grab;touch-action:none;background:#0e1014}
.av-cv:active{cursor:grabbing}
.av-cell{display:inline-flex;align-items:center;gap:0}
.av-cell .ch-av{margin-right:8px}

/* ===== 第 10.12 版：經濟行事曆（實際／預期／前值用顏色區分、倒數、新數字閃一下） ===== */
.cal-a,.cal-a b{color:var(--text)}
.cal-a.up,.cal-a.up b{color:var(--up,#3ddc97)}
.cal-a.down,.cal-a.down b{color:var(--down,#ff5d73)}
.cal-f,.cal-f b{color:#9fd0ff}
.cal-p,.cal-p b{color:#8a93a3}
th.cal-a{color:var(--text)}th.cal-f{color:#9fd0ff}th.cal-p{color:#8a93a3}
.cal-tbl td.cal-a b{font-size:1.05em}
.cal-legend{display:flex;gap:6px 14px;flex-wrap:wrap;align-items:center;color:var(--muted)}
.cal-legend span{display:inline-flex;align-items:center;gap:5px;font-weight:600}
.cal-legend span::before{content:"";width:9px;height:9px;border-radius:2px;background:currentColor}
.cal-legend .cal-a{color:var(--up,#3ddc97)}
.cal-live{color:#ffd166;border:1px solid rgba(255,209,102,.4);border-radius:3px;padding:0 5px;white-space:nowrap}
.cal-cd{color:#ffd166;white-space:nowrap}
.cal-new{animation:calNew 2.4s ease-out}
@keyframes calNew{0%,30%{background:rgba(255,209,102,.18)}100%{background:transparent}}
@media (prefers-reduced-motion:reduce){.cal-new{animation:none;background:rgba(255,209,102,.1)}}
/* 第 10.16 版：期權重點摘要 */
.obr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.obr{padding:12px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--line,rgba(255,255,255,.08))}
.obr-off{opacity:.6}
.obr-rows{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:3px 10px;align-items:baseline}
.obr-rows>div{overflow-wrap:anywhere}
.obr-l{display:inline-block;font-size:11px;padding:1px 6px;border-radius:4px;margin-right:6px;background:rgba(212,175,55,.14);color:var(--gold,#d4af37)}
.obr-n{background:rgba(120,160,255,.14);color:var(--blue,#7aa0ff)}
@media (max-width:600px){.obr-grid{grid-template-columns:minmax(0,1fr)}.obr-rows{grid-template-columns:minmax(0,1fr)}}
/* 第 10.16 版：外觀（淺色＝整頁反相再把圖片、影片、嵌入圖轉回來；字級＝主內容縮放）、通知鈴鐺、全站搜尋 */
html[data-light="1"]{filter:invert(1) hue-rotate(180deg);background:#06070a}
html[data-light="1"] img,html[data-light="1"] video,html[data-light="1"] iframe,html[data-light="1"] .tradingview-widget-container,html[data-light="1"] .noinv{filter:invert(1) hue-rotate(180deg)}
html[data-fs="l"] #page,html[data-fs="l"] #subnav{zoom:1.1}
html[data-fs="xl"] #page,html[data-fs="xl"] #subnav{zoom:1.22}
.bell{position:relative;display:inline-flex;align-items:center;gap:4px;text-decoration:none}
.bell-n{position:absolute;top:-6px;right:-6px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#ff5d73;color:#fff;font-size:10.5px;line-height:17px;text-align:center;font-weight:700}
.gs{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.55);display:flex;justify-content:center;align-items:flex-start;padding:10vh 16px 16px}
.gs.hidden{display:none}
.gs-panel{width:min(640px,100%);max-height:76vh;display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--panel,#0e1014)}
.gs-panel input{flex:1;min-width:0;font-size:16px;padding:10px 12px}
.gs-r{overflow:auto;display:flex;flex-direction:column;gap:2px}
.gs-g{flex-shrink:0;font-size:11px;color:var(--muted);margin:8px 0 2px;letter-spacing:.06em}
.gs-i{display:flex;flex-direction:column;flex-shrink:0;gap:2px;padding:8px 10px;border-radius:8px;color:var(--text);text-decoration:none;min-height:40px;justify-content:center}
.gs-i:hover,.gs-i:focus{background:rgba(255,255,255,.06);outline:none}
.ntc{display:flex;gap:10px;padding:10px 12px;border-radius:8px;border-left:3px solid var(--line);background:rgba(255,255,255,.025);text-decoration:none;color:var(--text);overflow-wrap:anywhere;min-width:0}   /* 第 10.22 版：錯誤訊息裡的長網址也要斷行，不然手機上整頁會被撐寬 */
.ntc.new{border-left-color:#9fd0ff;background:rgba(159,208,255,.06)}
.ntc.adm{border-left-color:#ff5d73}
.ntc.fixed{border-left-color:var(--up,#3ad29f);opacity:.62}   /* 第 12.4 版：已經恢復的資料源異常 */
.sb-pass{color:#3ddc97;font-weight:700}.sb-fail{color:var(--muted)}.sb-wait{color:#ffd166}
.prog{height:8px;border-radius:5px;background:rgba(255,255,255,.07);overflow:hidden}.prog>i{display:block;height:100%;background:#9fd0ff}
html[data-fs="l"],html[data-fs="xl"]{overflow-x:clip}

/* ---------------- 第 10.26 版：K 線經典交易台版面（工具列兩列、左側畫圖直欄、圖例、重播控制列、價位梯、新手三張卡） ---------------- */
.ctrow2{padding-top:6px;border-top:1px solid var(--line)}
.ctsep{width:1px;height:22px;background:var(--line);margin:0 2px;flex:none}
.desk{display:flex;gap:8px;align-items:flex-start}
.desk>.lwc-wrap{flex:1;min-width:0}
.desk.hidden{display:none}
.dwhint{position:absolute;top:54px;left:10px;z-index:5;padding:4px 12px;border-radius:999px;font-size:12px;background:rgba(10,12,16,.86);border:1px solid var(--line);color:#cbd5e1;pointer-events:none;white-space:nowrap;max-width:min(560px,62%);overflow:hidden;text-overflow:ellipsis}
.dwhint.hidden,.mkleg.hidden{display:none}
.dwc.cur{display:inline-block;width:16px;height:16px;border-width:1px;cursor:inherit;vertical-align:middle}
.dwpal{position:relative;display:block}
.dwpop{position:absolute;left:calc(100% + 8px);top:-6px;z-index:35;display:grid;grid-template-columns:repeat(4,26px);gap:7px;padding:10px;background:var(--panel,#15181e);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.55)}
.dwpop .dwc,.dwpop .dwcp{width:26px;height:26px}
@media (min-width:641px){
  .dwcol{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:4px;width:46px;flex:none;padding:4px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02)}
  .dwcol.wide{width:156px}
  .dwcol .sw{width:100%;min-height:34px;padding:0 9px;justify-content:flex-start;gap:8px}
  .dwcol:not(.wide) .sw{padding:0;justify-content:center}
  .dwcol:not(.wide) .dwl{display:none}
  .dwcol .dwi{font-size:15px;width:16px;text-align:center;flex:none}
  .dwcol .dwl{overflow:hidden;text-overflow:ellipsis}
  .dwgap{height:1px;background:var(--line);margin:3px 2px}
  .dwcol:not(.wide) [data-mag]{position:relative}
  .dwcol:not(.wide) [data-mag="1"]::after,.dwcol:not(.wide) [data-mag="2"]::after{position:absolute;right:2px;bottom:1px;font-size:9px;line-height:1;color:#f5b544}
  .dwcol:not(.wide) [data-mag="1"]::after{content:'弱'}.dwcol:not(.wide) [data-mag="2"]::after{content:'強'}
}
.mkleg{position:absolute;top:8px;right:70px;z-index:5;min-width:180px;max-width:300px;padding:6px 8px 7px;border-radius:8px;background:rgba(10,12,16,.84);border:1px solid var(--line);font-size:11.5px;line-height:1.35;backdrop-filter:blur(3px)}
.lwc-wrap.hasleg .lwc-tip{right:310px}
.mkl-h{display:flex;gap:8px;align-items:center;margin-bottom:3px}.mkl-h b{font-size:12px}.mkl-h .muted:last-of-type{margin-left:auto}
.mkl-x{border:0;background:none;color:var(--muted);font-size:15px;line-height:1;cursor:pointer;padding:0 2px;min-width:22px;min-height:22px}
.mkl-x:hover{color:var(--text)}
.mkl-r{display:grid;grid-template-columns:8px minmax(0,1fr) auto auto;gap:6px;align-items:center;padding:1px 0}
.mkl-r i{width:8px;height:8px;border-radius:50%}
.mkl-n{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.mkl-s{font-family:var(--mono,ui-monospace,monospace);text-align:right;white-space:nowrap}.mkl-s small{color:var(--muted)}.mkl-s.few{opacity:.5}
.mkl-f{margin-top:4px;font-size:10.5px;line-height:1.45;max-width:280px}
.mkl-e{padding:2px 0}
.rpdock{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;padding:8px 10px;border:1px solid rgba(245,181,68,.35);border-radius:10px;background:rgba(245,181,68,.05)}
.rpdock.hidden{display:none}
.rpdock .sw{min-height:32px}
.rpd-tag{font-size:11px;font-weight:700;color:#f5b544;letter-spacing:.06em}
.rpd-seek{flex:1 1 220px;min-width:140px;accent-color:#f5b544;cursor:pointer}
.rpd-note{flex-basis:100%}
.lad-r{display:grid;grid-template-columns:8px minmax(0,1fr) auto 64px;gap:6px;align-items:center;font-size:12px;padding:2px 0}
.lad-r i{width:8px;height:8px;border-radius:2px}
.lad-r>span:nth-child(3),.lad-r>span:nth-child(4){text-align:right}
.lad-r.now{border-top:1px dashed rgba(245,181,68,.7);border-bottom:1px dashed rgba(245,181,68,.7);color:#f5b544;font-weight:700;padding:3px 0}
.lad-r.now i{background:#f5b544}
.clamp1{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ezc{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:8px}
.ezc-c{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.03)}
.ezc-w{font-size:20px;line-height:1.25}
.ezc-g{position:relative;height:6px;border-radius:3px;margin-top:4px;background:linear-gradient(90deg,rgba(255,93,115,.55),rgba(255,255,255,.14),rgba(61,220,151,.55))}
.ezc-c[data-k="vol"] .ezc-g{background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(245,181,68,.65))}
.ezc-g i{position:absolute;top:-4px;width:4px;height:14px;margin-left:-2px;border-radius:2px;background:#e8eefc;box-shadow:0 0 0 2px rgba(0,0,0,.45)}
.ezc-gl{display:flex;justify-content:space-between}
.ezc-t{line-height:1.75}
@media (min-width:1280px){.ctinfo{display:none}}
@media (max-width:640px){
  .desk{display:block}
  .desk .dwbar{padding:0 10px;margin-bottom:6px}
  .dwgap{width:1px;height:22px;background:var(--line);margin:0 2px;flex:none}
  .dwx{display:none!important}
  .dwpal{display:inline-flex;align-items:center;gap:6px}
  .dwpop{position:static;display:inline-flex;gap:6px;padding:0;border:0;background:none;box-shadow:none}
  .mkleg{top:auto;bottom:40px;left:6px;right:auto;min-width:0;max-width:210px;font-size:10.5px}
  .mkl-f{display:none}
  .rpdock{margin:0 10px}
  .rpd-note{display:none}
}
/* ---------------- 第 10.30 版：手機版 ---------------- */
@media (max-width:640px){
  html[data-th] body header.hdr{padding:10px 12px!important;row-gap:8px}
  html[data-th] body .hdr-tools{flex-wrap:nowrap!important;overflow-x:auto;width:100%;margin-left:0;justify-content:flex-start;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  html[data-th] body .hdr-tools{-webkit-mask-image:linear-gradient(90deg,#000 86%,transparent);mask-image:linear-gradient(90deg,#000 86%,transparent);padding-right:24px}
  html[data-th] body .hdr-tools::-webkit-scrollbar{display:none}
  html[data-th] body .hdr-tools>*{flex:0 0 auto}
  #coinSearch{display:none!important}
  .ch-fab{width:44px!important;height:44px!important;transition:transform .2s ease,opacity .2s ease}
  body.ch-fab-away .ch-fab:not(.on){transform:translateY(96px);opacity:0;pointer-events:none}
  .lwc-tip{font-size:12px}
  .sykmtf{font-size:12px}
}
@media (max-width:640px) and (prefers-reduced-motion:reduce){.ch-fab{transition:none}}
/* 第 10.32 版：幣種頁資金費率柱狀圖（上半正值、下半負值）＋沒有資料的區塊收成一行 */
.fbars{display:flex;gap:3px;height:84px;align-items:stretch;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line)}
.fbar{flex:1 1 0;min-width:0;display:grid;grid-template-rows:1fr 1fr}
.fbar i{display:block;width:100%;border-radius:2px}
.fbar i.pos{grid-row:1;align-self:end;background:var(--up)}
.fbar i.neg{grid-row:2;align-self:start;background:var(--down)}
.cgone{border:1px dashed var(--line);border-radius:12px;padding:10px 14px}
.cgone summary{cursor:pointer;font-size:13px;color:var(--muted,#9aa3b2);overflow-wrap:anywhere}
/* 第 10.33 版：頁首 A（單行精簡）：64px 一行、選單 15px、工具按鈕 36px；顯示設定與帳號收進彈出框 .hpop */
html[data-th] body header.hdr{min-height:64px;padding:8px 24px!important;flex-wrap:nowrap;gap:20px}
html[data-th] body header #nav{flex:0 0 auto;gap:0 2px!important;flex-wrap:nowrap!important}
html[data-th] body #nav .tab{font:600 15px/1.4 var(--t-body,inherit);min-height:36px;padding:0 10px;white-space:nowrap}
html[data-th] body #nav .tab:hover{transform:none}
html[data-th] body #nav .tab.on{color:var(--text);box-shadow:inset 0 -2px 0 var(--acc)}
html[data-th] body #nav .tab.on::after{display:none}
html[data-th] body .hdr-tools{flex:0 1 auto;min-width:0;flex-wrap:nowrap!important;gap:8px!important}
html[data-th] body .brand-home{flex:none}
html[data-th] body .hdr-tools .btn.hbtn,html[data-th] body .hdr-tools .hacct{min-height:36px!important;height:36px;border-radius:10px}
.hbtn{width:40px;padding:0;display:inline-grid;place-items:center}
.hsrch{display:flex;align-items:center;gap:8px;height:36px;box-sizing:border-box;padding:0 6px 0 12px;border:1px solid var(--line);border-radius:10px;color:var(--muted);min-width:0}
.hsrch:focus-within{border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 18%,transparent)}
.hs-ico{flex:none}
html[data-th] body .hsrch #coinQ,.hsrch #coinQ{width:190px;min-height:0;height:30px;padding:0;border:0!important;border-radius:0;background:none!important;box-shadow:none!important;outline:none;color:var(--text);font-size:13px}
.hsrch #coinEx{flex:none;height:24px;padding:0 2px;font-size:11px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--muted)}
.hs-k{flex:none;min-width:22px;height:22px;padding:0 5px;border:1px solid var(--line);border-radius:5px;background:none;color:var(--muted);font:500 11px 'JetBrains Mono',monospace;cursor:pointer}
.hs-k:hover{color:var(--text);border-color:var(--acc)}
.hacct{display:inline-flex;align-items:center;gap:8px;padding:0 10px 0 4px;white-space:nowrap}
.hacct #whoami{display:inline-flex;align-items:center;font-size:13px}
.hacct #whoami.hidden{display:none!important}
.hacct #whoami .ch-av.who{width:28px;height:28px;margin-right:8px;vertical-align:0;font-size:12px;border-radius:8px}
.hpop{position:fixed;z-index:70;min-width:240px;padding:8px;border-radius:12px;display:flex;flex-direction:column;gap:2px;box-shadow:0 18px 40px rgba(0,0,0,.45)}
html[data-th] body .hpop{background:var(--panel,#10151d);border:1px solid var(--line)}
.hp-t{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:4px 8px 8px;font-weight:700;font-size:13px;border-bottom:1px solid var(--line);margin-bottom:4px}
.hp-r{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:0 8px;font-size:14px}
.hp-r .btn{min-height:32px;font-size:12px}
.hpop a,.hpop>button{display:flex;align-items:center;min-height:44px;padding:0 12px;border:0;border-radius:8px;background:none;color:var(--text);font:inherit;font-size:14px;text-align:left;text-decoration:none;cursor:pointer}
.hpop a:hover,.hpop>button:hover,.hpop a:focus-visible,.hpop>button:focus-visible{background:color-mix(in srgb,var(--acc) 10%,transparent)}
.hpop>#logoutBtn{color:var(--down);border-top:1px solid var(--line);border-radius:0 0 8px 8px;margin-top:4px}
.hconn{display:inline-flex;align-items:center;gap:8px;padding:0 12px;white-space:nowrap}
.cdot{width:8px;height:8px;border-radius:50%;background:var(--up,#3ddc97);flex:none}
.hconn[data-st="stop"] .cdot{background:var(--warn,#f2c14e)}.hconn[data-st="off"] .cdot{background:var(--down,#ff6b81)}
html[data-th] body .hdr-tools .btn.hconn{min-height:36px!important;height:36px;border-radius:10px}
.hp-pills{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:4px 8px 6px}
.hp-pills .pill{white-space:nowrap}
html[data-th] body .hdr-tools>*{flex:none}html[data-th] body .hdr-tools>.hsrch{flex:0 1 auto}html[data-th] body .hsrch #coinQ{flex:1 1 auto;min-width:70px}
/* 第 10.45 版：寬螢幕（選單文字全顯示）時搜尋框被擠到比內容還窄，「全部」和「/」跑出框外壓到「連線」。搜尋框最窄只到內容寬度；拿掉 datalist 自己的下拉箭頭，讓出空間給輸入框 */
@media (min-width:641px){
  html[data-th] body .hdr-tools{flex:none;min-width:max-content}
  html[data-th] body .hdr-tools>.hsrch{min-width:max-content}
  html[data-th] body header #nav{flex:0 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
  html[data-th] body header #nav::-webkit-scrollbar{display:none}
  html[data-th] body header #nav.ovf{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
  html[data-th] body header #nav.ovf.end{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px);mask-image:linear-gradient(90deg,transparent,#000 28px)}
}
html[data-th] body .hsrch #coinQ{width:150px}.hsrch #coinQ::-webkit-calendar-picker-indicator{display:none!important}
@media (min-width:1501px){html[data-th] body .hsrch #coinQ{width:110px}}
html[data-th] body #nav .tab{padding:0 8px}html[data-th] body .hsrch{gap:6px}
@media (max-width:1500px){html[data-th] body .brand-home .orb{display:none}}
@media (max-width:1360px){html[data-th] body .hsrch #coinQ{width:96px}html[data-th] body .hacct #whoami{font-size:0}html[data-th] body .hacct #whoami .ch-av.who{margin-right:0}}
@media (max-width:1180px){html[data-th] body #nav .tab{padding:0 7px;font-size:14px}}
@media (max-width:1100px){html[data-th] body .hsrch #coinQ,html[data-th] body .hsrch #coinEx{display:none}html[data-th] body .hsrch{padding:0 6px 0 10px}}
@media (max-width:760px){html[data-th] body header.hdr{gap:10px}}
@media (max-width:640px){html[data-th] body header.hdr{min-height:56px;padding:8px 12px!important}html[data-th] body .hdr-tools{width:auto;margin-left:auto;padding-right:0;-webkit-mask-image:none;mask-image:none;justify-content:flex-end}
  html[data-th] body .hacct #whoami{font-size:0}html[data-th] body .hacct #whoami .ch-av.who{margin-right:0}}
/* 第 10.33 版：幣種頁 C（雙欄）：左 K 線＋三張小卡，右欄 380px 分頁（資金費率 / 資金流 / 訊號 / 摘要），頁尾一整塊可展開清單 */
.coingrid.c2{display:flex;flex-direction:column;gap:16px}
@media (min-width:1280px){.coingrid.c2{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;align-items:start}
  .ccol{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}}
.ccol{gap:14px}
.ctabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:2px;padding:4px;border-radius:10px;background:rgba(0,0,0,.28)}
.ctabs button{font:inherit;font-size:13px;min-height:36px;padding:0 4px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;white-space:nowrap}
.ctabs button:hover{color:var(--text)}
.ctabs button[aria-selected="true"]{background:color-mix(in srgb,var(--acc) 16%,transparent);color:var(--text);font-weight:600}
.ctabs button:focus-visible{outline:2px solid var(--acc);outline-offset:1px}
.ctpane{display:none;gap:12px;min-width:0}
.ctpane.on{display:flex}
.ctpane .tblbox{overflow:auto}
.cmini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cmini:empty{display:none}
.cmini-c{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02);min-width:0;cursor:help}
.cmini-c b{font-size:17px;line-height:1.3}
.fhero{display:flex;align-items:center;gap:16px}
.fring{flex:none}
.fring .fr-bg{stroke:var(--line)}.fring .fr-fg{stroke:var(--acc)}
.fring .fr-t{fill:var(--text);font-family:'JetBrains Mono',monospace}.fring .fr-s{fill:var(--muted)}
.fkv{display:grid;grid-template-columns:1fr auto;row-gap:8px;column-gap:12px;font-size:13px;padding-top:12px;border-top:1px solid var(--line)}
.clist{display:flex;flex-direction:column;padding:0;overflow:hidden}
.crow{border-bottom:1px solid var(--line)}
.crow>summary{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 20px;cursor:pointer;list-style:none}
.crow>summary::-webkit-details-marker{display:none}
.crow>summary::before{content:"";width:7px;height:7px;flex:none;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .15s}
.crow[open]>summary::before{transform:rotate(45deg)}
.crow>summary:hover .crow-t{color:var(--acc)}
.crow-t{font-weight:600}
.crow.cwait{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 20px 0 39px}   /* 第 10.34 版：幣種資訊回來前的清單樣子 */
.crow.cwait .muted{animation:cwPulse 1.4s ease-in-out infinite}
@keyframes cwPulse{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.crow.cwait .muted{animation:none}}
.crow-b{padding:4px 20px 16px 39px;display:flex;flex-direction:column;gap:10px;min-width:0}
.clist>.cgone{border:0;border-radius:0;padding:14px 20px}
@media (max-width:640px){.cmini{gap:8px}.cmini-c{padding:10px}.cmini-c b{font-size:14px}.crow>summary,.crow.cwait{padding:0 14px}.crow-b{padding:4px 14px 14px}.clist>.cgone{padding:12px 14px}}
@media (prefers-reduced-motion:reduce){.crow>summary::before{transition:none}}
/* 第 10.33 版：首頁 A：主視覺左文字、右邊 460px「現在的市場」；市場子選單分組名稱金色、分頁做成按鈕 */
.hm-hero.hm-a{display:grid;grid-template-columns:minmax(0,1fr) 460px;padding:0;min-height:360px}
.hm-a>.hm-l{padding:40px 44px;display:flex;flex-direction:column;justify-content:center}
.hm-now{position:relative;display:flex;flex-direction:column;gap:16px;padding:26px 28px;border-left:1px solid var(--line);background:rgba(0,0,0,.22)}
.hm-btc{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.hm-px{font-size:30px;line-height:1.15}
.hm-spark{flex:none;max-width:45%}
.hm-ncs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hm-nc{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--line);border-radius:10px;min-width:0}
.hm-nc small{font-size:12px;color:var(--muted)}
.hm-nc b{font-size:20px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-secs{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--line)}
@media (max-width:1100px){.hm-hero.hm-a{grid-template-columns:minmax(0,1fr)}.hm-now{border-left:0;border-top:1px solid var(--line)}}
@media (max-width:640px){.hm-a>.hm-l{padding:22px 18px}.hm-now{padding:18px}.hm-px{font-size:24px}.hm-nc{padding:10px 8px}.hm-nc b{font-size:16px}}
html[data-th] body .subnav{gap:6px;align-items:center;margin-top:0;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}
html[data-th] body .subgrp{color:#d9b56a;opacity:1;font-size:12px;font-weight:600;letter-spacing:.06em;padding:0 4px 0 14px;margin-left:8px}
html[data-th] body .subgrp:first-child{padding-left:0;margin-left:0}
html[data-th] body .subtab{min-height:32px;padding:0 12px;border:1px solid var(--line);border-radius:8px;color:color-mix(in srgb,var(--text) 82%,transparent)}
html[data-th] body .subtab:hover{color:var(--text);border-color:color-mix(in srgb,var(--acc) 50%,var(--line))}
html[data-th] body .subtab.on{color:var(--text);border-color:var(--acc);background:color-mix(in srgb,var(--acc) 14%,transparent)}
html[data-th] body #subnav .ink{display:none}
@media (max-width:640px){html[data-th] body .subnav{padding:8px 10px;border-radius:12px;margin-right:0}html[data-th] body .subtab{min-height:36px}}

/* 第 10.35 版：清算地圖（管理員） */
.lm-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.lm-c{gap:4px;min-width:0}
.lm-c b{font-size:20px}
.lm-bar{display:block;height:6px;border-radius:3px;background:rgba(61,220,151,.55);overflow:hidden}
.lm-bar i{display:block;height:100%;background:rgba(255,93,115,.85)}
.lm-chart{height:600px;min-height:300px}
.lm-q{height:36px;padding:0 10px;border-radius:8px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);font-size:13px}
.lm-q:focus{outline:2px solid var(--acc);outline-offset:1px}
.lm-legend{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.lm-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:-1px}
@media (max-width:900px){.lm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.lm-chart{height:480px}.lm-c b{font-size:17px}}
/* 第 10.37 版：K 線合併面板（兩條 CVD、OI＋巨鯨）左上角的名稱 */
.pane-lg{position:absolute;left:8px;z-index:3;display:flex;gap:10px;pointer-events:none;font-size:11px;color:#c9d1dc;background:rgba(10,12,16,.72);padding:2px 7px;border-radius:5px}
.pane-lg span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.pane-lg i{width:8px;height:8px;border-radius:50%;display:inline-block}
.pane-lg small{color:#8a93a3;font-size:10px}
/* 第 10.40 版：大波動預警（進度環卡片、狀態小標、詳細面板） */
.rd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px}
.rd-card{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:12px 8px;border:1px solid var(--line);border-radius:12px;background:#151819;color:var(--text);font:inherit;cursor:pointer;text-align:center}
.rd-card:hover{border-color:var(--gd2)}.rd-card.on{border-color:var(--gd);box-shadow:0 0 0 1px var(--gd) inset}
.rd-card:focus-visible{outline:2px solid var(--gd2);outline-offset:2px}
.rd-top{display:flex;gap:6px;align-items:baseline;justify-content:center;max-width:100%}.rd-top b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rd-ring{display:block;margin:2px 0}.rd-trk{stroke:rgba(255,255,255,.08)}.rd-arc{stroke:var(--gd)}.rd-hit{stroke:var(--up)}
.rd-v{font:600 12px 'JetBrains Mono',ui-monospace,monospace;fill:var(--text)}.rd-v.up{fill:var(--up)}.rd-v.down{fill:var(--down)}.rd-s{font-size:9.5px;fill:var(--muted)}
.rd-chip{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:10px;font-size:11px;font-weight:700;white-space:nowrap;background:rgba(255,255,255,.06);color:var(--text)}
.rd-chip.new{background:rgba(143,176,240,.16);color:#9fbcf5}.rd-chip.hit{background:rgba(61,220,151,.14);color:var(--up)}
.rd-chip.miss{background:rgba(255,93,115,.14);color:var(--down)}.rd-chip.pend{background:rgba(240,185,11,.14);color:var(--gd2)}.rd-chip.tf{background:transparent;color:var(--muted);border:1px solid var(--line)}
.rd-path{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}.rd-path>div{display:flex;flex-direction:column;gap:2px;min-width:0}.rd-path b{font-size:16px}
.rd-kvs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 18px}.rd-kv{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13px}
@media (max-width:640px){.rd-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
/* 第 11.1 版：指標設定視窗（使用者選的第 7 款：左邊指標清單＋右邊「輸入 / 樣式 / 可見性」）、趨勢雲帶面板 */
.isd-bk{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.55)}
.isd{--isd-bg:#121722;--isd-bg2:#1a2030;--isd-ln:rgba(255,255,255,.1);display:flex;flex-direction:column;width:min(100%,640px);max-height:min(560px,calc(100vh - 32px));background:var(--isd-bg);border:1px solid var(--isd-ln);border-radius:8px;box-shadow:0 18px 50px rgba(0,0,0,.55);color:var(--text);font-size:13px;min-width:0}
.isd-h{display:flex;align-items:center;gap:8px;padding:12px 14px 6px}
.isd-t{font-weight:700;font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.isd-x{margin-left:auto;min-width:36px;min-height:36px;background:none;border:0;color:var(--muted);font-size:16px;cursor:pointer;border-radius:6px}
.isd-x:hover{background:var(--isd-bg2);color:var(--text)}
.isd-tabs{display:flex;gap:18px;padding:0 14px;border-bottom:1px solid var(--isd-ln)}
.isd-tabs button{position:relative;background:none;border:0;color:var(--muted);font:inherit;font-size:14px;font-weight:600;padding:9px 0;cursor:pointer;min-height:40px}
.isd-tabs button[aria-selected=true]{color:var(--text)}
.isd-tabs button[aria-selected=true]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:2px;background:var(--text)}
.isd-b{display:flex;flex:1;min-height:0}
.isd-l{display:flex;flex-direction:column;gap:2px;padding:6px;border-right:1px solid var(--isd-ln);overflow:auto;width:184px;flex:none}
.isd-li{display:flex;align-items:center;gap:6px;text-align:left;white-space:nowrap;background:none;border:0;border-radius:5px;padding:7px 8px;color:var(--muted);font:inherit;font-size:12px;cursor:pointer;min-height:32px}
.isd-li::before{content:"";width:6px;height:6px;border-radius:50%;flex:none;background:transparent;border:1px solid rgba(255,255,255,.2)}
.isd-li.on::before{background:#00bcd4;border-color:#00bcd4}
.isd-li i{font-style:normal;font-size:10px;color:#6f7d90;margin-left:auto}
.isd-li:hover{color:var(--text)}
.isd-li.sel{background:var(--isd-bg2);color:var(--text)}
.isd-p{flex:1;min-width:0;overflow:auto;padding:8px 14px 12px}
.isd-grp{font-size:11px;color:#6f7d90;margin:12px 0 4px;letter-spacing:.04em}
.isd-grp:first-child{margin-top:2px}
.isd-row{display:flex;align-items:center;gap:8px;padding:3px 0;min-width:0;font-size:12px}
.isd-row label{flex:1;min-width:0;line-height:1.35}
.isd-ctl{width:118px;padding:6px 9px;border-radius:7px;border:1px solid #3a4252;background:#0e1219;color:var(--text);font:inherit;font-family:ui-monospace,Consolas,monospace;font-size:13px;flex:none}
.isd-dt{width:190px;font-family:inherit;font-size:12px}
.isd-ctl:focus,.isd-col:focus,.isd-sw:focus-visible,.isd-li:focus-visible,.isd-tabs button:focus-visible,.isd-b2:focus-visible,.isd-x:focus-visible{outline:2px solid #5cb8ff;outline-offset:1px}
.isd-sw{appearance:none;-webkit-appearance:none;width:34px;height:18px;border-radius:999px;background:#3a4558;position:relative;cursor:pointer;flex:none;margin:0;transition:background .15s}
.isd-sw::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .15s}
.isd-sw:checked{background:#00bcd4}.isd-sw:checked::after{left:18px}
.isd-col{width:36px;height:26px;padding:0;border:1px solid #3a4252;border-radius:5px;background:none;cursor:pointer;flex:none}
.isd-rng{display:flex;align-items:center;gap:8px;width:170px;flex:none}.isd-rng input{flex:1;accent-color:#00bcd4}.isd-rng output{font-family:ui-monospace,Consolas,monospace;width:30px;text-align:right}
.isd-tfs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.isd-tfs label{display:flex;gap:6px;align-items:center;font-size:12px;padding:8px;border:1px solid var(--isd-ln);border-radius:6px;cursor:pointer}
.isd-chk{width:16px;height:16px;accent-color:#00bcd4}
.isd-note{margin:12px 0 0;font-size:12px;line-height:1.6;color:var(--muted)}
.isd-f{display:flex;gap:8px;align-items:center;padding:10px 14px;border-top:1px solid var(--isd-ln)}
.isd-b2{min-height:36px;padding:0 14px;border-radius:6px;border:1px solid var(--isd-ln);background:var(--isd-bg2);color:var(--text);font:inherit;font-size:13px;cursor:pointer}
.isd-b2:disabled{opacity:.4;cursor:default}
.isd-b2.sp{margin-left:auto}
.isd-b2.pri{background:var(--text);color:#0b0f17;border-color:var(--text);font-weight:700}
.isd .ii:hover::after,.isd .ii:focus::after{left:auto;right:-8px}
body.lite .isd{--isd-bg:#15181e;--isd-bg2:#1d2128}
@media (max-width:640px){
  .isd-bk{align-items:flex-end;padding:0}
  .isd{width:100%;max-height:88vh;border-radius:14px 14px 0 0}
  .isd-b{flex-direction:column}
  .isd-l{flex-direction:row;width:auto;border-right:0;border-bottom:1px solid var(--isd-ln);overflow-x:auto;overflow-y:hidden;flex:none}
  .isd-li{white-space:nowrap;flex:none}
  .isd-ctl{width:104px}.isd-dt{width:170px}
  .isd-f{padding-bottom:max(10px,env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){.isd-sw,.isd-sw::after{transition:none}}
.nfpanel{position:absolute;z-index:4;display:flex;flex-direction:column;gap:1px;min-width:150px;padding:6px 8px;border-radius:8px;border:1px solid rgba(38,166,154,.7);background:rgba(13,15,20,.88);font-size:11px;line-height:1.35;pointer-events:none}
.nfpanel.nf-tr{right:72px;top:40px}.nfpanel.nf-br{right:72px;bottom:40px}.nfpanel.nf-tl{left:8px;top:40px}.nfpanel.nf-bl{left:8px;bottom:40px}
.nfpanel .nfh{color:#f0c040;font-weight:700;margin-bottom:2px}
.nfpanel .nftf{display:flex;gap:3px;flex-wrap:wrap;margin-bottom:3px}
.nfpanel .nftf span{padding:1px 4px;border-radius:3px;background:rgba(255,255,255,.06);color:#fff;font-size:10px}
.nfpanel .nfr{display:flex;justify-content:space-between;gap:10px}.nfpanel .nfr span{color:#94a3b8}.nfpanel .nfr b{font-weight:600;color:#e6ecff}
.nfpanel .nfn{color:#6b7280;font-size:10px;margin-top:2px}
@media (max-width:640px){.nfpanel{font-size:10px;min-width:0;padding:4px 6px}.nfpanel.nf-tr,.nfpanel.nf-br{right:58px}.nfpanel .nfr:not([data-m]),.nfpanel .nfn{display:none}}
/* 第 11.4 版：迷因雷達（pages/meme.js） */
.mm-st{display:inline-block;width:9px;height:9px;border-radius:2px;vertical-align:middle;background:rgba(255,255,255,.12)}
.mm-st.ok{background:var(--up)}.mm-st.warn{background:var(--warn)}.mm-st.bad{background:var(--down)}
.mm-dots{display:inline-flex;gap:2px;align-items:center;white-space:nowrap}.mm-gap{display:inline-block;width:4px}
.mm-vd{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:10px;font-size:11px;font-weight:700;white-space:nowrap}
.mm-vd.pass{background:rgba(61,220,151,.14);color:var(--up)}.mm-vd.watch{background:rgba(255,209,102,.14);color:var(--warn)}
.mm-vd.drop{background:rgba(255,255,255,.06);color:var(--muted)}.mm-vd.fatal{background:var(--down);color:#111}
.mm-amber{color:var(--warn)}
.mm-prog{display:inline-block;width:64px;height:6px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden;vertical-align:middle}
.mm-prog i{display:block;height:100%;background:#8fb0f0}.mm-prog.g i{background:var(--up)}
.mm-ico{display:inline-grid;place-items:center;flex:none;border-radius:50%;font:700 10px 'JetBrains Mono',ui-monospace,monospace;color:#111;object-fit:cover;background:#222}
.mm-nm{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mm-row{cursor:pointer}.mm-row:hover td{background:rgba(255,255,255,.03)}.mm-row.on td{background:rgba(255,255,255,.05)}
.mm-row:focus-visible{outline:2px solid var(--gd2);outline-offset:-2px}
.mm-ws{display:inline-flex;gap:3px;flex-wrap:wrap;max-width:140px}.mm-wd{display:inline-block;width:11px;height:11px;border-radius:50%}
.mm-wd.sm{background:var(--up)}.mm-wd.kol{background:#8fb0f0}.mm-wd.tr{background:var(--warn)}
.mm-ringv{font:600 18px 'JetBrains Mono',ui-monospace,monospace;fill:var(--text)}
.mm-bar{height:8px;border-radius:4px;background:rgba(255,255,255,.07);overflow:hidden}.mm-bar i{display:block;height:100%;border-radius:4px}
.mm-full{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px 22px}.mm-ck{padding:3px 0;border-bottom:1px solid rgba(255,255,255,.05);gap:10px}
/* 第 11.6 版：迷因雷達全鏈 — 鏈別標籤、巨鯨點、統計三欄 */
.mm-ch{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;white-space:nowrap;background:rgba(255,255,255,.07);color:var(--muted)}
.mm-ch.c501{background:rgba(153,69,255,.16);color:#c9a7ff}.mm-ch.c56{background:rgba(240,185,11,.15);color:#f0c64b}
.mm-ch.c8453{background:rgba(0,82,255,.18);color:#8fb0ff}.mm-ch.c1{background:rgba(160,170,200,.14);color:#c3c9dc}
.mm-ch.c196{background:rgba(255,255,255,.1);color:#e6e6e6}.mm-ch.c195{background:rgba(255,60,60,.14);color:#ff8a8a}
.mm-wd.wh{background:#c9a7ff}
.mm-grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.mm-grid3 table.tbl{min-width:0}.mm-grid3 .tbl th,.mm-grid3 .tbl td{padding:8px 8px}
/* 第 11.9 版：交易員排行點開的錢包持倉 */
.mm-wal{margin-top:12px;padding:12px;border:1px solid rgba(34,230,255,.14);border-radius:12px;background:rgba(255,255,255,.02)}
