/* =========================================================
   我的工具 · 银行家
   作用域：全部收在 .bnk-page 里，令牌用 --bnk-* 前缀，不写全局 :root，
   免得这套暗金令牌漏进浅色页面。这是站里唯一的深色页面，弹窗与抽屉
   一律用页面内 absolute（不是 fixed），离开这一页时被整块带走。
   ========================================================= */
.bnk-page{
  --bnk-bg:#0c0a13;
  --bnk-bg2:#15111f;
  --bnk-panel:#16121f;
  --bnk-panel2:#221b30;
  --bnk-cyan:#d9b25a;      /* 主金：边框与强调 */
  --bnk-magenta:#f5c451;   /* 亮金：玩家箱与大奖 */
  --bnk-gold:#f5c451;
  --bnk-green:#46c98a;
  --bnk-red:#e0556b;
  --bnk-txt:#f4ecd9;
  --bnk-sub:#9c8d6b;
  --bnk-line:#3a2e1f;
  --bnk-ink:#1a1300;       /* 金底上的深色字 */
  --bnk-r-lg:22px;
  --bnk-r-md:14px;
  --bnk-r-sm:10px;
  --bnk-serif:Georgia,"Times New Roman","Songti SC",serif;
  position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;
  color:var(--bnk-txt);
  /* 原素材 bg-app.svg 的等价画法：40px 网格线 + 对角两枚暗点 */
  background-color:var(--bnk-bg);
  background-image:
    linear-gradient(90deg,#1c160f 1px,transparent 1px),
    linear-gradient(#1c160f 1px,transparent 1px),
    radial-gradient(circle at 0 0,#2a2218 1.1px,transparent 1.2px),
    radial-gradient(circle at 40px 40px,#2a2218 1.1px,transparent 1.2px);
  background-size:40px 40px;
  user-select:none;-webkit-user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.bnk-page button,.bnk-page input{font-family:inherit}
.bnk-page svg{display:block}

/* ---------- 页头 ---------- */
.bnk-head{
  flex:0 0 auto;display:flex;align-items:center;gap:8px;
  padding:max(10px,env(safe-area-inset-top)) 12px 4px;
}
.bnk-icon-btn{
  width:36px;height:36px;flex:0 0 auto;border-radius:12px;
  background:var(--bnk-panel);border:1px solid var(--bnk-line);color:var(--bnk-cyan);
  display:grid;place-items:center;transition:transform .15s ease;
}
.bnk-icon-btn svg{width:18px;height:18px}
.bnk-icon-btn:active{transform:scale(.92)}
.bnk-title{
  flex:1;min-width:0;font-family:var(--bnk-serif);font-size:20px;font-weight:800;
  letter-spacing:2px;color:var(--bnk-cyan);text-align:center;
  text-shadow:0 0 6px rgba(217,178,90,.7),0 0 18px rgba(217,178,90,.35);
}

/* ---------- 轮次与自己的箱子 ---------- */
.bnk-status{
  flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:8px;
  padding:6px 12px 0;font-size:13px;color:var(--bnk-sub);
}
.bnk-pill{background:var(--bnk-panel);border:1px solid var(--bnk-line);padding:4px 10px;border-radius:999px}
.bnk-mycase{
  background:rgba(217,178,90,.12);color:var(--bnk-cyan);border:1px solid rgba(217,178,90,.4);
  font-weight:700;padding:4px 10px;border-radius:999px;font-size:13px;
}
.bnk-mycase.is-empty{background:var(--bnk-panel);color:var(--bnk-sub);border:1px dashed var(--bnk-line);font-weight:400}

/* ---------- 奖金摘要条 ---------- */
.bnk-prizes{
  flex:0 0 auto;display:flex;align-items:center;gap:5px;padding:8px 12px 10px;
  overflow-x:auto;scrollbar-width:none;
}
.bnk-prizes::-webkit-scrollbar{display:none}
.bnk-stat{
  flex:1 1 auto;min-width:0;background:var(--bnk-panel);border:1px solid var(--bnk-line);
  border-radius:var(--bnk-r-sm);padding:4px 5px;font-size:13px;color:var(--bnk-sub);
  text-align:center;white-space:nowrap;
}
.bnk-stat b{color:var(--bnk-cyan);font-weight:800}
.bnk-board-btn{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;
  background:var(--bnk-cyan);color:var(--bnk-ink);border:none;border-radius:var(--bnk-r-sm);
  padding:5px 9px;font-size:13px;font-weight:800;white-space:nowrap;cursor:pointer;
  box-shadow:0 0 14px rgba(217,178,90,.4);transition:transform .12s ease;
}
.bnk-board-btn svg{width:14px;height:14px}
.bnk-board-btn:active{transform:scale(.96)}

/* ---------- 棋盘 ---------- */
.bnk-scroll{
  flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:10px 12px 8px;touch-action:pan-y;scrollbar-width:none;
}
.bnk-scroll::-webkit-scrollbar{display:none}
.bnk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:4px 2px}
.bnk-case{
  position:relative;aspect-ratio:4/3;border:none;border-radius:var(--bnk-r-sm);
  padding:0;background:var(--bnk-cyan);color:var(--bnk-ink);overflow:hidden;cursor:pointer;
  touch-action:manipulation;transition:transform .12s ease;
}
.bnk-case:active{transform:scale(.96)}
.bnk-case-num{
  position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;
  font-size:19px;font-weight:900;line-height:1;color:var(--bnk-ink);
}
.bnk-case-amt{
  position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;
  text-align:center;font-size:17px;font-weight:800;color:var(--bnk-gold);
  padding:0 6px;opacity:0;transform:scale(.4);word-break:break-all;
}
.bnk-cup{display:inline-flex;margin-right:3px;color:var(--bnk-gold)}
.bnk-cup svg{width:14px;height:14px;filter:drop-shadow(0 0 4px rgba(217,178,90,.5))}
/* 自己的箱子：高对比描边 + 星形角标，颜色和形状双重识别，不依赖文字 */
.bnk-case.is-mine{outline:3px solid #fff3cf;outline-offset:0}
.bnk-case-tag{
  position:absolute;top:4px;right:4px;z-index:3;width:18px;height:18px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(20,15,5,.92);border-radius:5px;color:var(--bnk-cyan);pointer-events:none;
}
.bnk-case-tag svg{width:13px;height:13px}
.bnk-case.is-opened{cursor:default;background:var(--bnk-panel2)}
.bnk-case.is-opened .bnk-case-num{opacity:0}
.bnk-case.is-opened .bnk-case-amt{opacity:1;transform:none}
.bnk-case.is-opened.is-hi .bnk-case-amt{color:var(--bnk-gold)}
/* 开箱：底色转暗，金额从 0.4 倍弹到位 */
.bnk-case.is-opening{transform:scale(1.05);z-index:5;background:var(--bnk-panel2)}
.bnk-case.is-opening .bnk-case-num{opacity:0}
.bnk-case.is-opening .bnk-case-amt{animation:bnk-amt-in .45s .12s ease forwards}
.bnk-case.is-opening.is-hi .bnk-case-amt{color:#fff;text-shadow:0 0 12px rgba(255,209,102,.9)}
@keyframes bnk-amt-in{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}
.bnk-case.is-pop{animation:bnk-pop .35s ease}
@keyframes bnk-pop{0%{transform:scale(1)}40%{transform:scale(1.12)}100%{transform:scale(1)}}

/* ---------- 提示条 ---------- */
.bnk-hint{
  flex:0 0 auto;margin:0 12px calc(10px + env(safe-area-inset-bottom));min-height:20px;
  text-align:center;font-size:14px;color:var(--bnk-txt);line-height:1.45;
  padding:8px 10px;background:var(--bnk-panel);border:1px solid var(--bnk-line);border-radius:var(--bnk-r-md);
}

/* ---------- 蒙层与全屏弹窗 ---------- */
.bnk-scrim{
  position:absolute;inset:0;z-index:45;background:rgba(8,6,12,.5);
  opacity:0;visibility:hidden;transition:opacity .25s ease;pointer-events:none;
}
.bnk-scrim.is-show{opacity:1;visibility:visible}
.bnk-modal{
  position:absolute;inset:0;z-index:50;display:none;align-items:center;justify-content:center;
  padding:20px;overflow-y:auto;overscroll-behavior:contain;
  background:rgba(8,6,12,.82);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.bnk-modal.is-show{display:flex;animation:bnk-fade .25s ease}
@keyframes bnk-fade{from{opacity:0}to{opacity:1}}
.bnk-card{
  width:100%;max-width:360px;margin:auto;flex:0 0 auto;text-align:center;
  background:linear-gradient(180deg,var(--bnk-bg2),#100d17);
  border:1px solid var(--bnk-line);border-radius:20px;padding:22px 20px;
  box-shadow:0 0 40px rgba(217,178,90,.12),0 20px 60px rgba(0,0,0,.6);
}
.bnk-card h2{margin:4px 0 12px;font-size:20px;color:var(--bnk-txt)}
.bnk-card p{margin:6px 0;font-size:14px;color:var(--bnk-sub);line-height:1.6}
.bnk-caller{
  display:flex;align-items:center;justify-content:center;gap:6px;
  font-size:13px;letter-spacing:2px;color:var(--bnk-cyan);margin-bottom:6px;
}
.bnk-dot{width:8px;height:8px;border-radius:50%;background:var(--bnk-green);box-shadow:0 0 8px var(--bnk-green);animation:bnk-blink 1s infinite}
.bnk-dot.is-gold{background:var(--bnk-gold);box-shadow:0 0 8px var(--bnk-gold);animation:none}
@keyframes bnk-blink{50%{opacity:.25}}
.bnk-amt{
  margin:6px 0 2px;font-size:40px;font-weight:800;color:#fff;letter-spacing:1px;
  text-shadow:0 0 18px rgba(217,178,90,.4);
}
.bnk-sub{margin-bottom:18px;font-size:12px;color:var(--bnk-sub);line-height:1.5}
.bnk-sub b{color:var(--bnk-cyan)}
.bnk-big{margin:8px 0;font-size:30px;font-weight:800;color:var(--bnk-gold);text-shadow:0 0 16px rgba(255,209,102,.4)}
.bnk-sep{height:2px;margin:4px 0;opacity:.6;background:linear-gradient(90deg,transparent,rgba(217,178,90,.9) 50%,transparent)}
.bnk-row{display:none;gap:10px;margin-top:16px}
.bnk-row.is-show{display:flex}
.bnk-winner{margin:6px 0 8px;font-size:24px;font-weight:900;letter-spacing:2px;text-align:center}
.bnk-winner.is-win{color:var(--bnk-green);text-shadow:0 0 18px rgba(70,201,138,.5)}
.bnk-winner.is-lose{color:var(--bnk-gold);text-shadow:0 0 18px rgba(255,209,102,.5)}
.bnk-winner.is-draw{color:var(--bnk-sub)}
.bnk-detail{display:block;margin:6px 0;font-size:14px;color:var(--bnk-sub);line-height:1.7}
.bnk-detail .bnk-line{display:block}
.bnk-score-line{margin:8px 0 0;font-size:12px;color:var(--bnk-cyan);letter-spacing:.5px}
.bnk-compare{display:none;margin-top:10px}
.bnk-compare:not([hidden]){display:block}
.bnk-cmp{
  margin:6px 0;padding:12px;font-size:15px;font-weight:600;color:var(--bnk-sub);
  background:var(--bnk-panel);border:1px solid var(--bnk-line);border-radius:var(--bnk-r-md);
}
.bnk-cmp b{margin-left:6px;font-size:20px;font-weight:800;color:var(--bnk-gold)}
.bnk-cmp.is-pop{animation:bnk-pop .5s ease}
.bnk-spinner{
  width:34px;height:34px;margin:14px auto;border:4px solid var(--bnk-line);
  border-top-color:var(--bnk-cyan);border-radius:50%;animation:bnk-spin .9s linear infinite;
}
@keyframes bnk-spin{to{transform:rotate(360deg)}}

/* ---------- 按钮 ---------- */
.bnk-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:1;
  padding:14px;border:none;border-radius:var(--bnk-r-md);font-size:16px;font-weight:800;
  color:var(--bnk-ink);cursor:pointer;touch-action:manipulation;transition:transform .1s ease,box-shadow .15s ease;
}
.bnk-btn svg{width:20px;height:20px}
.bnk-btn:active{transform:scale(.96)}
.bnk-btn.is-deal{background:linear-gradient(135deg,#46c98a,#36a874);color:#04130d;box-shadow:0 0 18px rgba(70,201,138,.35)}
.bnk-btn.is-nodeal{background:linear-gradient(135deg,#e0556b,#b83a4e);color:#2a0410;box-shadow:0 0 18px rgba(224,85,107,.35)}
.bnk-btn.is-gold{background:var(--bnk-gold);color:var(--bnk-ink);box-shadow:0 0 18px rgba(245,196,81,.35)}
.bnk-btn.is-ghost{background:var(--bnk-panel);color:var(--bnk-txt);border:1px solid var(--bnk-line)}
.bnk-btn.is-lite{background:var(--bnk-panel2);color:var(--bnk-txt);border:1px solid var(--bnk-line)}
.bnk-btn-row{display:flex;gap:12px;margin-top:6px}

/* ---------- 底部抽屉（报价 / 决策） ---------- */
.bnk-sheet{
  position:absolute;left:0;right:0;bottom:0;z-index:50;margin:0 auto;
  width:100%;max-width:480px;display:flex;flex-direction:column;gap:8px;
  padding:8px 18px calc(16px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,var(--bnk-bg2),#100d17);
  border:1px solid var(--bnk-line);border-bottom:none;
  border-radius:var(--bnk-r-lg) var(--bnk-r-lg) 0 0;
  box-shadow:0 0 36px rgba(217,178,90,.12),0 -14px 44px rgba(0,0,0,.6);
  transform:translateY(106%);pointer-events:none;
  transition:transform .34s cubic-bezier(.2,.85,.25,1);
}
.bnk-sheet.is-show{transform:translateY(0);pointer-events:auto}
.bnk-grab{width:42px;height:4px;border-radius:3px;background:var(--bnk-line);margin:2px auto}
.bnk-sheet .bnk-caller{margin-bottom:2px}
.bnk-sheet .bnk-amt{text-align:center;font-size:36px;margin:0 0 2px}
.bnk-sheet .bnk-sub{text-align:center;margin-bottom:6px}
.bnk-min{
  position:absolute;top:10px;right:12px;z-index:5;display:inline-flex;align-items:center;gap:5px;
  min-height:38px;padding:8px 14px;border-radius:var(--bnk-r-sm);
  font-size:13px;font-weight:600;color:var(--bnk-sub);
  background:rgba(16,13,23,.85);border:1px solid var(--bnk-line);cursor:pointer;
  transition:color .15s ease,border-color .15s ease,transform .1s ease;
}
.bnk-min svg{width:14px;height:14px}
.bnk-min:active{transform:scale(.95)}
.bnk-input{
  width:100%;margin:6px 0;padding:14px;border-radius:var(--bnk-r-md);
  border:1px solid var(--bnk-line);background:#100d17;color:var(--bnk-cyan);
  font-size:22px;font-weight:800;text-align:center;
}
.bnk-input.is-shake{animation:bnk-shake .4s}
@keyframes bnk-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}
.bnk-fab{
  position:absolute;left:50%;bottom:calc(66px + env(safe-area-inset-bottom));z-index:40;
  transform:translateX(-50%);width:calc(100% - 32px);max-width:448px;padding:14px;
  border:none;border-radius:var(--bnk-r-md);background:var(--bnk-cyan);color:var(--bnk-ink);
  font-size:16px;font-weight:800;text-align:center;display:none;cursor:pointer;
  box-shadow:0 0 26px rgba(217,178,90,.5);
}
.bnk-fab.is-show{display:block;animation:bnk-fab-in .22s ease}
/* 淡入只走位移，不缩放，避免按钮大小跳一下 */
@keyframes bnk-fab-in{from{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}

/* ---------- 首页：英雄区 + 三张模式卡 ---------- */
/* 菜单盖住页头，返回按钮得留在卡里：左上角、和页头同款箭头，开屏就在（小屏也滚不到看不见的地方） */
.bnk-start{position:relative;max-width:380px}
.bnk-start-back{
  position:absolute;top:10px;left:10px;z-index:2;
  width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
  background:var(--bnk-panel);border:1px solid var(--bnk-line);color:var(--bnk-cyan);
  cursor:pointer;touch-action:manipulation;transition:transform .15s ease;
}
.bnk-start-back svg{width:18px;height:18px}
.bnk-start-back:active{transform:scale(.92)}
.bnk-hero{margin:2px 0 16px;text-align:center;animation:bnk-fade .3s ease}
.bnk-badge{
  width:56px;height:56px;margin:0 auto 10px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:var(--bnk-cyan);
  background:radial-gradient(circle at 50% 35%,rgba(217,178,90,.22),rgba(217,178,90,.04));
  border:1px solid var(--bnk-line);box-shadow:0 0 22px rgba(217,178,90,.18);
}
.bnk-badge svg{width:30px;height:30px}
.bnk-hero-title{
  margin:0;font-family:var(--bnk-serif);font-size:30px;font-weight:800;letter-spacing:4px;
  color:var(--bnk-cyan);text-shadow:0 0 10px rgba(217,178,90,.55),0 0 24px rgba(217,178,90,.3);
}
.bnk-slogan{margin:6px 0 0;font-size:12px;letter-spacing:2px;color:var(--bnk-sub)}
.bnk-modes{display:flex;flex-direction:column;gap:12px}
.bnk-mode{
  display:flex;align-items:center;gap:14px;width:100%;padding:14px;
  border-radius:var(--bnk-r-md);border:1px solid var(--bnk-line);text-align:left;cursor:pointer;
  background:linear-gradient(160deg,var(--bnk-panel2),var(--bnk-panel));color:var(--bnk-txt);
  animation:bnk-card-in .42s cubic-bezier(.2,.85,.25,1) both;transition:border-color .15s ease,transform .1s ease;
}
.bnk-mode:active{transform:scale(.985)}
.bnk-mode:hover{border-color:var(--bnk-cyan);box-shadow:0 0 18px rgba(217,178,90,.18)}
.bnk-modes .bnk-mode:nth-child(1){animation-delay:.06s}
.bnk-modes .bnk-mode:nth-child(2){animation-delay:.14s}
.bnk-modes .bnk-mode:nth-child(3){animation-delay:.22s}
@keyframes bnk-card-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.bnk-mode-ic{
  flex:0 0 auto;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  color:var(--bnk-cyan);background:rgba(217,178,90,.1);border:1px solid rgba(217,178,90,.3);
}
.bnk-mode-ic svg{width:24px;height:24px}
.bnk-mode-body{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0}
.bnk-mode-name{font-size:16px;font-weight:800;color:var(--bnk-cyan)}
.bnk-mode-vs{font-size:12px;font-weight:700;color:var(--bnk-magenta);letter-spacing:.5px}
.bnk-mode-desc{font-size:12px;color:var(--bnk-sub);line-height:1.5}
.bnk-mode-go{flex:0 0 auto;font-size:24px;line-height:1;font-weight:800;color:var(--bnk-sub);transition:color .15s ease,transform .15s ease}
.bnk-mode:hover .bnk-mode-go{color:var(--bnk-cyan);transform:translateX(2px)}
.bnk-record{
  display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;
  padding:9px 12px;border-radius:var(--bnk-r-sm);background:var(--bnk-panel);border:1px solid var(--bnk-line);
  font-size:12.5px;color:var(--bnk-sub);
}
.bnk-record b{color:var(--bnk-cyan);font-weight:800}
.bnk-record-clear{
  padding:4px 8px;border-radius:7px;font-size:11px;color:var(--bnk-sub);
  border:1px solid var(--bnk-line);background:transparent;transition:color .15s ease,background .15s ease;
}
.bnk-record-clear:active{background:var(--bnk-panel2)}
.bnk-record-clear.is-armed{color:var(--bnk-red);border-color:var(--bnk-red)}
.bnk-record-tip{margin:6px 0 0;font-size:11px;color:var(--bnk-sub);text-align:left;line-height:1.5}
.bnk-record-tip.is-hidden{display:none}
.bnk-rules{
  margin-top:14px;text-align:left;overflow:hidden;
  border:1px solid var(--bnk-line);border-radius:var(--bnk-r-md);background:var(--bnk-panel);
}
.bnk-rules summary{
  display:flex;align-items:center;justify-content:space-between;padding:10px 14px;
  list-style:none;cursor:pointer;font-size:13px;font-weight:700;color:var(--bnk-cyan);
}
.bnk-rules summary::-webkit-details-marker{display:none}
.bnk-rules summary::after{content:'›';font-size:18px;color:var(--bnk-sub);transform:rotate(90deg);transition:transform .2s ease}
.bnk-rules[open] summary::after{transform:rotate(-90deg)}
.bnk-rules p{margin:0;padding:0 14px 12px;font-size:12px;color:var(--bnk-sub);line-height:1.6}

/* ---------- 奖金板 ---------- */
.bnk-board-sum{margin-bottom:2px;font-size:13px;color:var(--bnk-sub);text-align:center}
.bnk-board-sum b{color:var(--bnk-cyan)}
.bnk-board-list{
  max-height:54vh;overflow-y:auto;margin:12px 0;padding-right:4px;
  display:flex;flex-direction:column;gap:6px;
}
.bnk-chip{
  position:relative;flex:none;display:flex;align-items:center;justify-content:space-between;
  padding:9px 12px;border-radius:var(--bnk-r-sm);font-size:14px;font-weight:600;
  background:var(--bnk-panel);border:1px solid var(--bnk-line);color:var(--bnk-gold);
}
/* 行底一条中间亮两边渐隐的金线（原 divider.svg） */
.bnk-chip::after{
  content:'';position:absolute;left:10px;right:10px;bottom:0;height:2px;opacity:.7;
  background:linear-gradient(90deg,transparent,rgba(217,178,90,.9) 50%,transparent);
}
.bnk-chip-s{font-size:11px;font-weight:600;color:var(--bnk-sub)}
.bnk-chip.is-gone{color:var(--bnk-sub);opacity:.45;text-decoration:line-through;border-color:transparent}
.bnk-chip.is-big{color:#fff;border-color:var(--bnk-magenta);box-shadow:0 0 12px rgba(245,196,81,.3)}

/* ---------- 平板与窄屏 ---------- */
@media (min-width:768px){
  .bnk-head,.bnk-status,.bnk-prizes,.bnk-scroll{padding-left:24px;padding-right:24px}
  .bnk-grid{max-width:520px;margin:0 auto}
  .bnk-hint{margin-left:24px;margin-right:24px}
}
@media (max-width:359px){
  .bnk-grid{gap:9px}
  .bnk-case-amt{font-size:15px}
  .bnk-title{font-size:18px}
}

@media (prefers-reduced-motion:reduce){
  .bnk-case,.bnk-mode,.bnk-card,.bnk-caller,.bnk-dot,.bnk-spinner{animation:none}
  .bnk-sheet,.bnk-case{transition:none}
}
