/* =========================================================
   v9.4 逼翰卡市 BHX（看盤軟體風：深色螢幕、紅漲綠跌）＋籤筒
   ========================================================= */
.gp-market{background:linear-gradient(#141a26,#0c1019);box-shadow:inset 2px 2px 0 #2a3650,inset -2px -2px 0 #06080d,0 8px 0 #00000080,0 16px 40px #000a}
.gp-market .gp-head{background:linear-gradient(#232c3e,#161d2b)}
.gp-market .gp-tt b{color:#fff}
.gp-market .gp-body{flex-direction:column;gap:6px;padding:7px 9px 8px}
.up{--ud:#f0404a}.dn{--ud:#2fbf5a}
.mk-bhi{font-size:11.5px;font-weight:800;color:#9aa6bf}
.mk-bhi b{font-size:13px;color:#fff;font-variant-numeric:tabular-nums}
.mk-bhi i{font-style:normal;font-weight:900;color:var(--ud)}
.mk-wrap{flex:1;min-height:0;display:flex;gap:8px}
.mk-left{flex:0 0 330px;min-height:0;display:flex;flex-direction:column;gap:4px}
.mk-bar{display:flex;gap:3px;flex-wrap:wrap}
.mk-bar .pc-f,.mk-bar .pc-s{padding:2px 6px;font-size:10.5px}
.mk-bar.s{justify-content:flex-end}
.mk-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:3px;background:#0a0e16;border:2px solid #000;box-shadow:inset 0 0 0 1px #243049}
.mk-row{display:grid;grid-template-columns:44px 1fr 56px 56px 58px;align-items:center;gap:4px;padding:3px 4px;cursor:pointer;font-family:inherit;text-align:left;color:#dfe6f5;
  background:#121a28;border:0;border-bottom:1px solid #1c2638}
.mk-row:hover{background:#1a2438}
.mk-row.sel{background:#243452;box-shadow:inset 3px 0 0 #ffd75e}
.mk-code{font-size:11px;font-weight:900;color:#9aa6bf;font-variant-numeric:tabular-nums}
.mk-nm{min-width:0;display:flex;align-items:center;gap:3px}
.mk-nm b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:900;color:#fff}
.mk-nm i{flex:0 0 auto;font-style:normal;font-size:8.5px;font-weight:900;padding:0 3px;line-height:13px;color:#10141d;background:var(--rc)}
.mk-nm em{flex:0 0 auto;font-style:normal;font-size:8.5px;font-weight:900;padding:0 3px;line-height:13px;color:#1c1206;background:#ffd75e}
.mk-p,.mk-c{font-size:12px;font-weight:900;text-align:right;color:var(--ud);font-variant-numeric:tabular-nums}
.mk-c{font-size:11px}
.mk-sp{width:58px;height:18px}
.mk-right{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:5px}
.mk-top{display:flex;align-items:center;gap:8px;padding:4px 8px;background:#121a28;border:2px solid #000;box-shadow:inset 0 0 0 1px #243049}
.mk-card{flex:0 0 auto;height:52px;display:grid;place-items:center;overflow:hidden}
.mk-card .tcard.sz-xs{zoom:.52}
.mk-name{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.mk-name b{font-size:16px;font-weight:900;color:#fff}
.mk-name small{font-size:10.5px;font-weight:800;color:#9aa6bf}
.mk-fav{align-self:flex-start;padding:0 6px;cursor:pointer;font-family:inherit;font-size:10.5px;font-weight:900;color:#9aa6bf;background:#0a0e16;border:2px solid #3a4660}
.mk-fav.on{color:#1c1206;background:#ffd75e;border-color:#000}
.mk-px{display:flex;flex-direction:column;align-items:flex-end;color:var(--ud)}
.mk-px b{font-size:26px;font-weight:900;line-height:1;font-variant-numeric:tabular-nums}
.mk-px small{font-size:11.5px;font-weight:900;font-variant-numeric:tabular-nums}
.mk-stats{display:flex;gap:4px;flex-wrap:wrap}
.mk-stats span{display:flex;align-items:baseline;gap:4px;padding:1px 6px;font-size:10px;font-weight:800;color:#9aa6bf;background:#0a0e16;border:1px solid #243049}
.mk-stats b{font-size:11.5px;font-weight:900;color:#fff;font-variant-numeric:tabular-nums}
.mk-stats b.up,.mk-stats b.dn{color:var(--ud)}
.mk-chart{position:relative;flex:1;min-height:96px;border:2px solid #000;box-shadow:inset 0 0 0 1px #243049}
.mk-chart canvas{position:absolute;inset:0;width:100%;height:100%}
.mk-rng{position:absolute;right:50px;top:3px;z-index:1;display:flex;gap:2px}
.mk-rng button{padding:0 6px;cursor:pointer;font-family:inherit;font-size:10px;font-weight:900;line-height:16px;color:#9aa6bf;background:#0a0e16;border:1px solid #3a4660}
.mk-rng button.on{color:#1c1206;background:#ffd75e;border-color:#000}
.mk-trade{display:grid;grid-template-columns:110px 1fr 104px;grid-template-rows:auto auto;gap:4px 8px;align-items:center;padding:5px 7px;background:#121a28;border:2px solid #000;box-shadow:inset 0 0 0 1px #243049}
.mk-side{grid-row:1/3;display:flex;flex-direction:column;gap:4px}
.mk-side button{padding:5px 0;cursor:pointer;font-family:inherit;font-size:13px;font-weight:900;color:#9aa6bf;background:#0a0e16;border:2px solid #3a4660}
.mk-side button.b.on{color:#fff;background:#d8303f;border-color:#000;box-shadow:inset 2px 2px 0 #ff8a8a}
.mk-side button.s.on{color:#fff;background:#23994a;border-color:#000;box-shadow:inset 2px 2px 0 #8ef0a8}
.mk-qty{display:flex;align-items:center;gap:8px}
.mk-qty input[type=range]{flex:1;accent-color:#ffd75e}
.mk-qn{display:flex;align-items:center;gap:4px}
.mk-qn input{width:62px;padding:1px 4px;font-family:inherit;font-size:15px;font-weight:900;color:#fff;background:#0a0e16;border:2px solid #3a4660;outline:0;font-variant-numeric:tabular-nums}
.mk-qn small{font-size:10px;font-weight:800;color:#9aa6bf;white-space:nowrap}
.mk-prev{display:flex;gap:4px 10px;flex-wrap:wrap;font-size:10.5px;font-weight:800;color:#9aa6bf}
.mk-prev span{display:flex;align-items:baseline;gap:3px}
.mk-prev b{font-size:11.5px;color:#fff;font-variant-numeric:tabular-nums}
.mk-prev .tot b{display:inline-flex;align-items:center;gap:2px;font-size:14px;color:#ffd75e}
.mk-prev .tot .pxi{width:15px;height:15px}
.mk-prev .dim{color:#6f7c96}
.mk-go{grid-column:3;grid-row:1/3;height:100%;font-size:16px !important}
.mk-news{flex:0 0 auto !important;display:flex;align-items:center;gap:6px;height:22px;padding:0 6px;overflow:hidden;background:#0a0e16;border:2px solid #000;box-shadow:inset 0 0 0 1px #243049}
.mk-news>.pxi{width:15px;height:15px;flex:0 0 auto}
.mk-nt{flex:1;min-width:0;overflow:hidden;white-space:nowrap}
.mk-nt span{display:inline-block;padding-left:100%;font-size:11px;font-weight:800;color:#dfe6f5;animation:mk-ticker 38s linear infinite}
.mk-nt b{font-weight:900;margin-right:3px}
.mk-nt b.up{color:#f0404a}.mk-nt b.dn{color:#2fbf5a}
@keyframes mk-ticker{to{transform:translateX(-100%)}}
/* 我的持股 */
.mk-port{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px}
.mk-sum{display:flex;gap:6px}
.mk-sum span{flex:1;display:flex;flex-direction:column;padding:4px 8px;background:#121a28;border:2px solid #000;box-shadow:inset 0 0 0 1px #243049}
.mk-sum small{font-size:10.5px;font-weight:800;color:#9aa6bf}
.mk-sum b{font-size:17px;font-weight:900;color:#fff;font-variant-numeric:tabular-nums}
.mk-sum b.up,.mk-sum b.dn{color:var(--ud)}
.mk-pt{flex:1;min-height:0;display:flex;gap:8px}
.mk-ptl{flex:1;min-width:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column;background:#0a0e16;border:2px solid #000}
.mk-ptl .grx-empty{color:#9aa6bf}
.mk-tbl{width:100%;border-collapse:collapse;font-size:12px;font-weight:800;color:#dfe6f5}
.mk-tbl th{position:sticky;top:0;padding:4px 6px;font-size:10.5px;color:#9aa6bf;text-align:right;background:#161d2b;border-bottom:2px solid #000}
.mk-tbl th:nth-child(2),.mk-tbl td:nth-child(2){text-align:left}
.mk-tbl td{padding:4px 6px;text-align:right;border-bottom:1px solid #1c2638;font-variant-numeric:tabular-nums}
.mk-tbl td.up,.mk-tbl td.dn{color:var(--ud)}
.mk-tbl td small{font-size:9.5px;opacity:.85}
.mk-tbl tr[data-go]{cursor:pointer}
.mk-tbl tr[data-go]:hover td{background:#1a2438}
.mk-ptr{flex:0 0 280px;min-height:0;display:flex;flex-direction:column}
.mk-ptr .grx-h{color:#dfe6f5}
.mk-log{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:3px;background:#0a0e16;border:2px solid #000}
.mk-lg{display:grid;grid-template-columns:62px 18px 1fr auto;align-items:center;gap:4px;padding:2px 4px;font-size:10.5px;font-weight:800;color:#dfe6f5;border-bottom:1px solid #1c2638}
.mk-lg small{font-size:9.5px;color:#6f7c96}
.mk-lg>b{display:grid;place-items:center;width:18px;height:16px;font-size:10px;color:#fff;border:1px solid #000}
.mk-lg.buy>b{background:#d8303f}.mk-lg.sell>b{background:#23994a}
.mk-lg em{font-style:normal;font-weight:900;color:#ffd75e;text-align:right;font-variant-numeric:tabular-nums}
.mk-lg em i{display:block;font-style:normal;font-size:9.5px;color:var(--ud)}
/* 兌換 */
.mk-bank{flex:1;display:flex;gap:12px;padding:6px}
.mk-bk-l,.mk-bk-r{flex:1;display:flex;flex-direction:column;gap:8px;padding:10px;background:#121a28;border:2px solid #000;box-shadow:inset 0 0 0 1px #243049}
.mk-bank .grx-h{color:#dfe6f5}.mk-bank .grx-h small{color:#9aa6bf}
.mk-bk-box{display:flex;flex-direction:column;gap:10px;align-items:stretch;padding:12px;background:#0a0e16;border:2px solid #000}
.mk-bk-io{display:flex;align-items:center;justify-content:center;gap:14px}
.mk-bk-io span{display:flex;align-items:center;gap:4px;font-size:26px;font-weight:900;color:#fff;font-variant-numeric:tabular-nums}
.mk-bk-io .pxi{width:30px;height:30px}
.mk-bk-io i{font-style:normal;font-size:22px;font-weight:900;color:#ffd75e}
.mk-bk-box input{accent-color:#3fd66b}
.mk-how{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px}
.mk-how li{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;line-height:1.45;color:#dfe6f5}
.mk-how .pxi{width:22px;height:22px;flex:0 0 auto}
.mk-how b{color:#ffd75e}
.mk-bank .lab-dim{margin:0}
/* 鑑定卡倉庫的「卡市 ▲3.2%」小標籤 */
.mk-tag{margin-left:6px;padding:0 4px;font-style:normal;font-size:10px;font-weight:900;color:#fff;background:var(--ud);border:1.5px solid #000}

/* ---------- 籤筒 ---------- */
.fo{width:520px;display:flex;flex-direction:column;align-items:center;gap:10px}
.fo-stage{position:relative;width:420px;height:280px;display:flex;align-items:flex-end;justify-content:center;background:radial-gradient(60% 55% at 50% 60%,#ffd75e33,#0000 70%)}
.fo-tube{position:relative;width:90px;height:150px;margin-bottom:10px;background:linear-gradient(90deg,#8e0a1e,#c8102e 35%,#e8404a 50%,#c8102e 70%,#8e0a1e);border:4px solid #000;
  box-shadow:inset 0 10px 0 #ffd75e,inset 0 -12px 0 #ffd75e,0 6px 0 #0008;transform-origin:50% 100%;transition:opacity .3s,transform .3s}
.fo-tube b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:52px;display:grid;place-items:center;font-size:28px;font-weight:900;color:#c8102e;background:#fbf8ef;border:3px solid #000}
.fo-stick{position:absolute;left:30px;top:-40px;width:7px;height:52px;background:linear-gradient(90deg,#e0b47a,#c98a4a);border:2px solid #3d2308;transform:rotate(-8deg)}
.fo-stick.b{left:44px;top:-50px;height:60px;transform:rotate(4deg)}
.fo-stick.c{left:56px;top:-34px;height:46px;transform:rotate(12deg)}
.fo-tube.shake{animation:fo-shake .18s linear 7}
@keyframes fo-shake{25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}
.fo.pop .fo-stick.b{animation:fo-pop .5s cubic-bezier(.2,1.6,.4,1) forwards}
@keyframes fo-pop{to{top:-110px;transform:rotate(0)}}
.fo-slip{position:absolute;left:50%;top:6px;width:230px;padding:10px 12px 12px;display:flex;flex-direction:column;align-items:center;gap:4px;opacity:0;transform:translate(-50%,40px) scale(.6);
  background:linear-gradient(#fffdf3,#f7ecd0);border:3px solid #3d2308;box-shadow:inset 0 0 0 2px #c8102e,0 8px 20px #000a;transition:opacity .35s,transform .45s cubic-bezier(.2,1.4,.4,1)}
.fo.open .fo-slip{opacity:1;transform:translate(-50%,0) scale(1)}
.fo.open .fo-tube{opacity:.25;transform:scale(.9)}
.fo-slip small{font-size:11px;font-weight:900;color:#8a5a12;letter-spacing:2px}
.fo-slip>b{font-size:40px;font-weight:900;line-height:1.05;letter-spacing:6px;text-shadow:2px 2px 0 #0002}
.fo-poem{display:flex;flex-direction:row-reverse;gap:8px;margin-top:2px}
.fo-poem span{writing-mode:vertical-rl;font-size:15px;font-weight:800;letter-spacing:3px;color:#3d2308}
.fo-msg{min-height:44px;font-size:13px;font-weight:800;line-height:1.7;color:#e8dcc0;text-align:center}
.fo-msg b{color:#8ef07a}
.fo-msg small{color:#c9b27a}
.fo-tip{display:inline-block;margin-top:2px;padding:2px 10px;color:#1c1206;background:#ffd75e;border:2px solid #000;font-weight:900}
