/* ============================================================================
 * niu.css — 疯狂牛仔 · 牛牛「牛仔」皮肤（方案 C）
 * ----------------------------------------------------------------------------
 * 皮革木纹底 + 红绒布台面 + 黄铜包边。
 *
 * ⚠ 规矩：
 *   1) 语义色（底/台面/黄铜/字/牌面/输赢/各种描边）全部走 :root 变量；
 *   2) 筹码、牌背这类「一件材质的渐变配方」留在规则里 —— 它们是一整块配方，
 *      拆成变量反而看不出层次；换筹码/换牌背时整段替换，不要逐个改色值；
 *   3) 下面不许再出现新的语义色字面量。
 *   设计画布 420×912（外层 #app 会 transform:scale）。
 *   顶部一律叠 safe-area，避免刘海盖住顶栏。
 * ========================================================================== */

:root{
  /* —— 木纹底 —— */
  --nz-wood-3:#3A2417;
  --nz-wood-1:#2B1B12;
  --nz-wood-2:#160D08;
  /* —— 红绒布台面 —— */
  --nz-felt-1:#9E3340;
  --nz-felt-2:#751D2A;
  --nz-felt-3:#4A1019;
  /* —— 黄铜 —— */
  --nz-brass-1:#F6E39C;
  --nz-brass-2:#D4A72C;
  --nz-brass-3:#8A6512;
  --nz-brass-4:#54390A;
  /* —— 皮革（面板/按钮） —— */
  --nz-leather-1:#4A3120;
  --nz-leather-2:#2B1B10;
  /* —— 文字 —— */
  --nz-ink:#F6EBD8;
  --nz-dim:#C0A98D;
  --nz-mute:#8A7358;
  /* —— 输赢（赢=金，输=青绿） —— */
  --nz-win:#FFD75E;
  --nz-lose:#4EC9A0;
  /* —— 牌面 —— */
  --nz-card-face:#FCF5E6;
  --nz-card-edge:#D9C49A;
  --nz-card-ink:#231409;
  --nz-card-red:#B3261E;
  --nz-card-back-1:#5B3B23;
  --nz-card-back-2:#241509;
  /* —— 材质细节（渐变里的固定档，换皮时按材质成组改） —— */
  --nz-brass-ink:#3A2506;   /* 铜牌上的深色字 */
  --nz-brass-hi:#FFF1B8;    /* 铜高光 */
  --nz-brass-lo:#9A7418;    /* 铜暗部 */
  --nz-brass-edge:#6B4A12;  /* 铜件描边 */
  --nz-btn-ink:#F0DCA8;     /* 皮钮上的米字 */
  --nz-btn-edge:#6B4A20;    /* 皮钮描边 */
  --nz-ink-2:#E0CDB0;       /* 次级正文 */
  --nz-felt-edge:#6E4A1C;   /* 台面包边 */
  --nz-card-back-3:#33200F; /* 牌背渐变中段 */
  --nz-shade-rgb:0,0,0;     /* 阴影用（rgba 需要分量） */
  /* —— 版面尺寸（换版式只改这里） —— */
  /* 画布内一律 0：刘海偏移已由 .nz-root 的 translate 处理，重复补会推两次 */
  --nz-safe:0px;
  --nz-top-h:58px;
  --nz-felt-top:66px;
  --nz-felt-h:688px;
  --nz-grid-top:202px;
  --nz-grid-w:292px;
  --nz-slot-h:156px;
  --nz-cd-top:544px;
  --nz-bar-h:158px;
}

/* ============================== 容器 / 台面 ============================== */
/* 自己带盒模型：- 以前依赖宿主页的全局 *{box-sizing:border-box}，
   一旦单独加载（比如截图/嵌入）高度就整体多出 padding+border，牌位会把倒计时顶掉。 */
.nz-root,.nz-root *{box-sizing:border-box}
.nz-root{
  /* 固定设计画布：420×912，由 JS 算 --nz-scale 等比缩放到真实视口。
     这样任何机型上元素相对位置都一致，绝不会出现「底部条顶上来撞横幅」。
     --nz-x/--nz-y 由 JS 给（含刘海安全区偏移），画布内不再重复补安全区。 */
  position:absolute;left:0;top:0;width:420px;height:912px;
  transform-origin:0 0;
  transform:translate(var(--nz-x,0px),var(--nz-y,0px)) scale(var(--nz-scale,1));
  overflow:hidden;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",sans-serif;
  color:var(--nz-ink);-webkit-user-select:none;user-select:none;
  background:
    repeating-linear-gradient(92deg,rgba(255,255,255,.022) 0 2px,transparent 2px 7px),
    repeating-linear-gradient(88deg,rgba(var(--nz-shade-rgb),.16) 0 1px,transparent 1px 11px),
    linear-gradient(160deg,var(--nz-wood-3),var(--nz-wood-1) 40%,var(--nz-wood-2));
}
/* 皮革颗粒 */
.nz-root::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
  background:radial-gradient(rgba(255,255,255,.05) .5px,transparent .6px) 0 0/4px 4px;
}
.nz-felt{
  position:absolute;left:8px;right:8px;top:calc(var(--nz-felt-top) + var(--nz-safe));height:var(--nz-felt-h);
  border-radius:26px;border:2px solid var(--nz-felt-edge);
  background:
    radial-gradient(ellipse 70% 55% at 50% 34%,rgba(255,140,120,.20) 0,transparent 62%),
    radial-gradient(ellipse at 50% 42%,var(--nz-felt-1) 0,var(--nz-felt-2) 46%,var(--nz-felt-3) 100%);
  box-shadow:inset 0 0 0 3px rgba(var(--nz-shade-rgb),.35),inset 0 2px 10px rgba(var(--nz-shade-rgb),.5),
    inset 0 -30px 60px rgba(var(--nz-shade-rgb),.42),0 12px 30px rgba(var(--nz-shade-rgb),.5);
}
.nz-felt::before{
  content:"";position:absolute;inset:0;border-radius:24px;opacity:.16;
  background:repeating-linear-gradient(45deg,rgba(var(--nz-shade-rgb),.5) 0 1px,transparent 1px 3px);
}
.nz-felt::after{
  content:"";position:absolute;inset:9px;border-radius:18px;border:1.5px dashed rgba(246,227,156,.28);
}

/* ================================= 顶栏 ================================= */
.nz-top{position:absolute;left:0;right:0;top:var(--nz-safe);height:var(--nz-top-h);
  display:flex;align-items:center;gap:7px;padding:0 13px;z-index:6}
.nz-back{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;
  font-size:16px;color:var(--nz-btn-ink);border:1px solid var(--nz-btn-edge);
  background:linear-gradient(180deg,var(--nz-wood-3),#241509);
  box-shadow:inset 0 1px 0 rgba(255,225,160,.25)}
.nz-brand{font-size:11px;letter-spacing:2px;color:var(--nz-brass-2);font-weight:600;
  text-shadow:0 1px 0 #000;line-height:1.15}
.nz-brand i{display:block;font-size:7px;letter-spacing:1.2px;color:#9C7B42;font-style:normal}
.nz-sp{flex:1}
.nz-bankbtn{flex:0 0 auto;font-size:11.5px;font-weight:700;letter-spacing:.5px;color:var(--nz-brass-ink);
  padding:7px 11px;border-radius:8px;border:0;
  background:linear-gradient(180deg,var(--nz-brass-1),var(--nz-brass-2) 55%,var(--nz-brass-3));
  box-shadow:0 2px 0 var(--nz-brass-4),inset 0 1px 0 rgba(255,255,255,.6)}
.nz-pool{flex:0 0 auto;display:flex;align-items:center;gap:5px;padding:5px 9px;border-radius:8px;
  background:rgba(10,6,3,.62);border:1px solid rgba(212,167,44,.45);
  box-shadow:inset 0 1px 0 rgba(255,225,160,.12);cursor:pointer}
.nz-pool span{font-size:9.5px;color:#B79B6E;letter-spacing:.5px}
.nz-pool b{font-size:13px;font-family:Georgia,serif;color:var(--nz-win)}

/* ================================ 庄家 ================================= */
.nz-banker{position:absolute;left:0;right:0;top:calc(72px + var(--nz-safe));z-index:4;
  display:flex;flex-direction:column;align-items:center}
.nz-dealer{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:20px;margin-bottom:6px;
  background:rgba(10,6,3,.55);border:1px solid rgba(212,167,44,.4);
  font-size:9px;color:var(--nz-dim);letter-spacing:1.2px}
.nz-dealer b{font-size:11.5px;font-family:Georgia,serif;color:var(--nz-win);letter-spacing:0;margin:0 2px}
.nz-banker-cards{display:flex;flex-direction:column;align-items:center}
.nz-banker-cards .nz-row{display:flex;justify-content:center;align-items:center;gap:2px}

/* ================================= 牌 ================================== */
.nz-card{position:relative;width:46px;height:64px;border-radius:5px;flex:0 0 auto;
  background:var(--nz-card-face);border:1px solid var(--nz-card-edge);
  box-shadow:0 3px 8px rgba(var(--nz-shade-rgb),.45)}
.nz-card .nz-r{position:absolute;left:3px;top:1px;font-size:12px;font-weight:700;line-height:1.05;
  color:var(--nz-card-ink);font-family:Georgia,serif;letter-spacing:-.5px;font-style:normal}
.nz-card .nz-s{position:absolute;left:3px;top:15px;font-size:10px;line-height:1;color:var(--nz-card-ink);font-style:normal}
.nz-card .nz-big{position:absolute;right:4px;bottom:2px;font-size:17px;line-height:1;color:var(--nz-card-ink);
  opacity:.9;font-style:normal}
.nz-card.nz-red .nz-r,.nz-card.nz-red .nz-s,.nz-card.nz-red .nz-big{color:var(--nz-card-red)}
/* 牌背：皮革 + 黄铜双线 + ★ */
.nz-cardback{background:
    radial-gradient(circle at 50% 50%,rgba(246,227,156,.10) 0,transparent 60%),
    linear-gradient(135deg,var(--nz-card-back-1),var(--nz-card-back-3) 60%,var(--nz-card-back-2));
  border:1px solid #7E5A28}
.nz-cardback::before{content:"";position:absolute;inset:3px;border-radius:3px;border:1px solid rgba(212,167,44,.30)}
.nz-cardback::after{content:"★";position:absolute;inset:0;display:grid;place-items:center;
  font-size:15px;color:rgba(246,227,156,.88);text-shadow:0 1px 2px rgba(var(--nz-shade-rgb),.6);font-style:normal}

/* 牌型印章 */
.nz-seal{display:inline-block;margin-top:-7px;padding:3px 11px;border-radius:4px;
  transform:skewX(-8deg);font-family:Georgia,serif;font-weight:700;font-size:12px;color:var(--nz-brass-ink);
  background:linear-gradient(180deg,var(--nz-brass-hi),var(--nz-brass-2) 60%,var(--nz-brass-lo));
  border:1px solid var(--nz-brass-edge);box-shadow:0 3px 8px rgba(var(--nz-shade-rgb),.5)}
.nz-seal i{font-size:10px;font-style:normal;margin-left:2px}

/* ================================ 牌位 ================================= */
.nz-grid{position:absolute;left:64px;top:calc(var(--nz-grid-top) + var(--nz-safe));width:var(--nz-grid-w);
  display:grid;grid-template-columns:1fr 1fr;gap:9px;z-index:4}
.nz-slot{position:relative;height:var(--nz-slot-h);border-radius:12px;padding:7px 8px 6px;
  display:flex;flex-direction:column;
  background:linear-gradient(180deg,rgba(28,14,10,.72),rgba(16,8,5,.82));
  border:1px solid rgba(212,167,44,.34);
  box-shadow:inset 0 1px 0 rgba(255,225,160,.10),0 4px 12px rgba(var(--nz-shade-rgb),.4)}
.nz-slot-bet{border-color:rgba(255,215,94,.75);
  box-shadow:inset 0 1px 0 rgba(255,225,160,.2),0 0 0 1px rgba(255,215,94,.35),0 4px 14px rgba(var(--nz-shade-rgb),.45)}
/* 花色标：牌位左上角一个小字（黑红梅方），始终可见 —— 牌背会盖住大水印 */
.nz-stag{font-size:10px;line-height:1;font-style:normal;flex:0 0 auto;margin-right:3px;
  color:rgba(246,235,216,.72)}
.nz-stag-red{color:rgba(255,138,116,.9)}
.nz-slot-top{display:flex;align-items:center;justify-content:space-between;height:22px;flex:0 0 auto}
.nz-amt{font-family:Georgia,serif;font-size:15px;color:var(--nz-win);letter-spacing:.2px;
  text-shadow:0 1px 2px #000}
.nz-amt.nz-zero{color:var(--nz-mute)}
.nz-mine{font-size:9px;color:#0F3B2C;border-radius:5px;padding:2px 6px;font-weight:700;
  background:linear-gradient(180deg,#9FE3C4,var(--nz-lose))}

/* 牌位里的手牌要压在水印上面 */
.nz-slot .nz-hand,.nz-slot .nz-slot-top,.nz-slot .nz-foot{position:relative;z-index:1}

/* 3 + 2 两行：一行 3 张是「凑十」的三张，一行 2 张是点数 */
.nz-hand{flex:1;display:flex;flex-direction:column;justify-content:center;gap:3px;align-items:center}
.nz-hrow{display:flex;gap:3px}
.nz-slot .nz-card{width:34px;height:47px;border-radius:4px}
.nz-slot .nz-card .nz-r{font-size:10.5px;left:3px;top:1px}
.nz-slot .nz-card .nz-s{font-size:8.5px;left:3px;top:13px}
.nz-slot .nz-card .nz-big{font-size:12px;right:3px;bottom:2px;opacity:.5}
.nz-slot .nz-cardback::after{font-size:13px}
/* 牌位底部的印章不绝对定位：绝对定位会盖住第二行牌（v1 的实际 bug） */
.nz-slot .nz-seal{font-size:10px;padding:2px 8px;margin:0;transform:skewX(-6deg)}

/* 牌位底部这一行：印章 + 我的盈亏 / 只印章 / No Bet / 空（印章与盈亏并存，不是二选一） */
.nz-foot{height:20px;display:flex;align-items:center;justify-content:center;gap:5px;flex:0 0 auto;white-space:nowrap}
.nz-foot .nz-nobet{font-size:9.5px;letter-spacing:2px;color:rgba(246,235,216,.36)}
.nz-foot .nz-nobet.nz-lose{color:var(--nz-lose);letter-spacing:0;font-size:11.5px;font-family:Georgia,serif;font-weight:700}
.nz-foot .nz-nobet.nz-win{color:var(--nz-win);letter-spacing:0;font-size:11.5px;font-family:Georgia,serif;font-weight:700}
.nz-win{color:var(--nz-win)}
.nz-lose{color:var(--nz-lose)}

/* ============================== 8 个头位 =============================== */
.nz-av{position:absolute;width:48px;text-align:center;z-index:4}
.nz-av-L{left:7px}
.nz-av-R{right:7px}
.nz-av-row-0{top:calc(206px + var(--nz-safe))}
.nz-av-row-1{top:calc(290px + var(--nz-safe))}
.nz-av-row-2{top:calc(374px + var(--nz-safe))}
.nz-av-row-3{top:calc(458px + var(--nz-safe))}
.nz-av-face{display:grid;place-items:center;width:36px;height:36px;margin:0 auto;border-radius:50%;
  font-size:16px;font-style:normal;color:var(--nz-btn-ink);
  background:linear-gradient(180deg,var(--nz-leather-1),var(--nz-leather-2));
  box-shadow:0 0 0 2px var(--nz-felt-edge),0 0 0 3px rgba(212,167,44,.45),0 3px 8px rgba(var(--nz-shade-rgb),.5)}
.nz-av-on .nz-av-face{box-shadow:0 0 0 2px var(--nz-brass-2),0 0 0 3px rgba(255,215,94,.6),
  0 0 12px rgba(255,215,94,.35)}
.nz-av b{display:block;font-size:9px;color:#F7EEDC;margin-top:3px;font-weight:500;line-height:1.1;
  text-shadow:0 1px 2px rgba(var(--nz-shade-rgb),.9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nz-av span{display:block;font-size:8px;color:#C9AE87;font-family:Georgia,serif;line-height:1.2}
/* 空位：只留一圈暗铜，不抢戏 */
.nz-av-empty .nz-av-face{background:rgba(var(--nz-shade-rgb),.14);box-shadow:inset 0 0 0 1px rgba(212,167,44,.12)}

/* =============================== 倒计时 ================================ */
.nz-cd{position:absolute;left:0;right:0;top:calc(var(--nz-cd-top) + var(--nz-safe));z-index:4;
  display:flex;align-items:center;justify-content:center;gap:11px}
.nz-cd-ring{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;
  background:radial-gradient(circle at 50% 40%,#4A2A16,#1D1008 70%);
  box-shadow:0 0 0 2px var(--nz-felt-edge),0 0 0 4px rgba(212,167,44,.35),0 6px 16px rgba(var(--nz-shade-rgb),.55)}
.nz-cd-ring b{font-family:Georgia,serif;font-size:23px;color:var(--nz-win);line-height:1}
.nz-cd-txt{font-size:11px;color:var(--nz-ink-2);letter-spacing:3px}
.nz-cd-txt i{display:block;font-size:8.5px;letter-spacing:0;color:#94795A;font-style:normal;margin-top:3px}

/* 买定离手：盖在台面中段的黄铜横幅 */
.nz-lock{position:absolute;left:50%;top:calc(628px + var(--nz-safe));transform:translateX(-50%);z-index:8;
  padding:8px 24px;border-radius:10px;letter-spacing:6px;font-size:14px;font-weight:700;color:var(--nz-brass-ink);
  background:linear-gradient(180deg,var(--nz-brass-1),var(--nz-brass-2) 60%,var(--nz-brass-3));
  border:1px solid var(--nz-brass-edge);box-shadow:0 8px 26px rgba(var(--nz-shade-rgb),.6)}

/* 奖池中奖横幅 */
.nz-potwin{position:absolute;left:50%;top:calc(624px + var(--nz-safe));transform:translateX(-50%);z-index:9;
  display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 18px;border-radius:12px;
  background:linear-gradient(180deg,rgba(246,227,156,.96),rgba(200,140,30,.96));
  box-shadow:0 6px 22px rgba(var(--nz-shade-rgb),.45);animation:nzPop .45s ease-out}
.nz-potwin span{font-size:10px;color:#5A3306;letter-spacing:1px}
.nz-potwin b{font-size:20px;color:#3B1F02;font-variant-numeric:tabular-nums}
@keyframes nzPop{0%{transform:translateX(-50%) scale(.6);opacity:0}100%{transform:translateX(-50%) scale(1);opacity:1}}

/* ============================ 最近派奖滚屏 ============================= */
.nz-ticker{position:absolute;left:64px;right:64px;top:calc(628px + var(--nz-safe));z-index:4;
  display:flex;align-items:center;gap:7px;padding:7px 12px;border-radius:10px;
  background:rgba(10,6,3,.5);border:1px solid rgba(212,167,44,.22);
  box-shadow:inset 0 1px 0 rgba(255,225,160,.08)}
.nz-ticker .nz-dot{width:6px;height:6px;border-radius:50%;flex:0 0 auto;background:var(--nz-win);
  box-shadow:0 0 8px rgba(255,215,94,.85)}
.nz-ticker .nz-ttxt{flex:1;font-size:10.5px;color:#D9C6AB;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nz-ticker .nz-ttxt b{color:var(--nz-win);font-family:Georgia,serif;font-size:11.5px}
.nz-ticker .nz-tag{font-size:9px;color:var(--nz-mute);letter-spacing:1px;flex:0 0 auto}

/* ============================ 左右功能圆钮 ============================= */
.nz-side-l,.nz-side-r{position:absolute;top:calc(536px + var(--nz-safe));
  display:flex;flex-direction:column;gap:8px;z-index:6}
.nz-side-l{left:14px}
.nz-side-r{right:14px}
.nz-sbtn{position:relative;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  font-size:11.5px;font-weight:600;color:var(--nz-btn-ink);border:1px solid var(--nz-btn-edge);
  background:linear-gradient(180deg,var(--nz-leather-1),var(--nz-leather-2));
  box-shadow:inset 0 1px 0 rgba(255,225,160,.22),0 2px 6px rgba(var(--nz-shade-rgb),.45)}
.nz-sbtn svg{width:17px;height:17px;display:block;opacity:.92}
.nz-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;line-height:14px;border-radius:7px;
  background:#C0392B;color:#fff;font-size:8.5px;font-weight:700;padding:0 3px;border:1px solid #7A1F16}
.nz-dotred{position:absolute;top:1px;right:1px;width:7px;height:7px;border-radius:50%;background:#FF5A45}
/* 有未读时人数角标变红（两者同在右上角，同时出现会叠） */
.nz-badge-red{background:#FF5A45;border-color:#8A2418}

/* =============================== 底部条 ================================ */
.nz-bar{position:absolute;left:0;right:0;bottom:0;height:var(--nz-bar-h);z-index:6;
  padding:8px 14px calc(10px + env(safe-area-inset-bottom,0px));
  background:linear-gradient(180deg,rgba(11,7,4,0),rgba(11,7,4,.86) 30%,rgba(11,7,4,.97))}
.nz-chips{display:flex;justify-content:center;gap:11px;margin-bottom:12px}
/* 筹码配色按「第几枚」走，不按面值走：换筹码表不用动样式 */
.nz-chip{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;position:relative;
  font-family:Georgia,serif;font-size:11px;font-weight:700;color:#FFF6DC;
  text-shadow:0 1px 1px rgba(var(--nz-shade-rgb),.6);border:0}
.nz-chip::before{content:"";position:absolute;inset:5px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.42)}
.nz-ci0{background:radial-gradient(circle at 34% 28%,#7FD9A6,#1F6E45 70%);box-shadow:0 3px 8px rgba(var(--nz-shade-rgb),.5),inset 0 -3px 6px rgba(var(--nz-shade-rgb),.35)}
.nz-ci1{background:radial-gradient(circle at 34% 28%,#8FC4FF,#1D4C8C 70%);box-shadow:0 3px 8px rgba(var(--nz-shade-rgb),.5),inset 0 -3px 6px rgba(var(--nz-shade-rgb),.35)}
.nz-ci2{background:radial-gradient(circle at 34% 28%,#FFE08A,#A9760F 70%);box-shadow:0 3px 8px rgba(var(--nz-shade-rgb),.5),inset 0 -3px 6px rgba(var(--nz-shade-rgb),.35)}
.nz-ci3{background:radial-gradient(circle at 34% 28%,#FF9A85,#8E2A1B 70%);box-shadow:0 3px 8px rgba(var(--nz-shade-rgb),.5),inset 0 -3px 6px rgba(var(--nz-shade-rgb),.35)}
.nz-chip.nz-pick{transform:translateY(-5px);box-shadow:0 0 0 3px rgba(255,215,94,.85),0 8px 16px rgba(var(--nz-shade-rgb),.55)}
/* 记分牌 + 两侧小方钮：刻意不画通栏外框，避开「聊天输入框」的形状 */
.nz-wallet{display:flex;align-items:center;justify-content:space-between}
.nz-score{position:relative;display:flex;flex-direction:column;align-items:center;line-height:1.15}
.nz-score span{font-size:8.5px;color:var(--nz-dim);letter-spacing:2px}
.nz-score b{font-family:Georgia,serif;font-size:18px;color:var(--nz-win);letter-spacing:.5px;
  text-shadow:0 1px 3px rgba(var(--nz-shade-rgb),.85)}
.nz-soft{width:64px;height:32px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto;
  font-size:10.5px;color:#D8C4A4;letter-spacing:1px;border:1px solid rgba(212,167,44,.28);
  background:linear-gradient(180deg,var(--nz-wood-3),#22140A)}
.nz-soft.nz-off{opacity:.34}

/* ================================ 杂项 ================================= */
.nz-hint{display:none}
.nz-wait{position:absolute;inset:0;display:grid;place-items:center;color:var(--nz-dim);font-size:13px}

/* 等待面板（好友房凑人 / 系统庄发牌前） */
.nz-waitbox{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:300px;
  text-align:center;padding:24px 20px;border-radius:16px;z-index:5;
  background:linear-gradient(180deg,rgba(40,22,12,.94),rgba(20,11,6,.96));
  border:1px solid rgba(212,167,44,.38);
  box-shadow:0 14px 40px rgba(var(--nz-shade-rgb),.6),inset 0 1px 0 rgba(255,225,160,.14)}
.nz-mode{font-size:11px;color:var(--nz-dim);letter-spacing:1px;margin-bottom:14px}
.nz-codetip{font-size:10px;color:var(--nz-mute);letter-spacing:2px}
.nz-code{font-size:30px;font-weight:700;letter-spacing:6px;color:var(--nz-win);margin:4px 0 14px;
  font-family:Georgia,serif;font-variant-numeric:tabular-nums}
.nz-waitline{font-size:12px;color:var(--nz-ink-2);margin-bottom:8px}
.nz-seated{font-size:11px;color:var(--nz-mute);margin-bottom:16px}
.nz-copybtn{width:100%;padding:11px 0;border:0;border-radius:10px;font-size:13.5px;font-weight:700;
  color:var(--nz-brass-ink);background:linear-gradient(180deg,var(--nz-brass-1),var(--nz-brass-2) 55%,var(--nz-brass-3));
  box-shadow:0 2px 0 var(--nz-brass-4)}

/* =============================== 弹窗 ================================== */
.nz-mask{position:absolute;inset:0;background:rgba(var(--nz-shade-rgb),.62);z-index:20}
.nz-modal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:322px;z-index:21;
  border-radius:14px;overflow:hidden;text-align:center;
  background:linear-gradient(180deg,var(--nz-wood-3),#1A0F07);
  border:1px solid rgba(212,167,44,.55);
  box-shadow:0 16px 48px rgba(var(--nz-shade-rgb),.7),inset 0 1px 0 rgba(255,225,160,.16)}
.nz-mtitle{font-size:17px;font-weight:800;color:var(--nz-brass-1);padding:14px 0 6px;letter-spacing:2px}
.nz-mcond{font-size:11.5px;color:var(--nz-dim);padding-bottom:10px}
.nz-mcond b{color:var(--nz-win);font-family:Georgia,serif;font-size:13px}
.nz-bhead{display:flex;font-size:11px;color:var(--nz-mute);padding:6px 16px;border-bottom:1px solid rgba(212,167,44,.25)}
.nz-bhead span{flex:1;text-align:center}
.nz-bbody{max-height:180px;overflow-y:auto;min-height:70px}
.nz-brow{display:flex;font-size:12px;color:var(--nz-ink);padding:8px 16px;border-bottom:1px dashed rgba(212,167,44,.18)}
.nz-brow span{flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nz-bme{background:rgba(212,167,44,.16);font-weight:700}
.nz-bempty{font-size:11.5px;color:var(--nz-mute);padding:24px 0}
.nz-mfoot{font-size:10.5px;color:var(--nz-mute);padding:8px 0 4px}
.nz-mbtn{margin:6px 16px 14px;width:calc(100% - 32px);padding:11px 0;border:0;border-radius:10px;
  font-size:14px;font-weight:700;color:var(--nz-brass-ink);
  background:linear-gradient(180deg,var(--nz-brass-1),var(--nz-brass-2) 55%,var(--nz-brass-3));
  box-shadow:0 2px 0 var(--nz-brass-4)}
.nz-mbtn.nz-mbtn-off{background:linear-gradient(180deg,#6E5B44,#3A2E20);box-shadow:0 2px 0 #241A10;color:#B9A88F}
.nz-mbtn.nz-mbtn-tab{margin:6px 16px 0;background:linear-gradient(180deg,#4A3120,#2B1B10);
  border:1px solid rgba(212,167,44,.3);box-shadow:none;color:var(--nz-ink-2);font-size:12.5px;padding:9px 0}

/* =============================== 奖池面板 =============================== */
.nz-poolmodal{padding-bottom:4px}
.nz-pool-big{font-size:30px;font-weight:800;color:var(--nz-win);letter-spacing:1px;
  font-variant-numeric:tabular-nums;text-shadow:0 2px 10px rgba(255,215,94,.25)}
.nz-pool-sub{font-size:10.5px;color:var(--nz-dim);padding:2px 0 10px}
.nz-tabs{display:flex;gap:6px;padding:0 14px 10px}
.nz-tab{flex:1;font-size:11.5px;padding:7px 0;border-radius:8px;border:1px solid rgba(212,167,44,.3);
  background:rgba(var(--nz-shade-rgb),.28);color:var(--nz-dim)}
.nz-tab.on{background:linear-gradient(180deg,var(--nz-brass-1),var(--nz-brass-2) 55%,var(--nz-brass-3));
  color:var(--nz-brass-ink);border-color:transparent;font-weight:700}
.nz-pbody{max-height:200px;overflow-y:auto;padding:0 14px}
.nz-phead{display:flex;font-size:10.5px;color:var(--nz-mute);padding:4px 2px 6px;
  border-bottom:1px solid rgba(212,167,44,.25)}
.nz-phead span{flex:1;text-align:center}
.nz-prow{display:flex;align-items:center;font-size:12px;color:var(--nz-ink);padding:8px 2px;
  border-bottom:1px dashed rgba(212,167,44,.16)}
.nz-prank{width:26px;text-align:center;color:var(--nz-brass-2);font-weight:700}
.nz-pname{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.nz-pgain{width:86px;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.nz-pmine{font-size:10.5px;color:var(--nz-dim);padding:8px 0}
.nz-pdate{font-size:10.5px;color:var(--nz-dim);padding:6px 0}
.nz-prule{text-align:left;font-size:11.5px;line-height:1.55;color:#DCCBB2;padding:4px 0 2px}
.nz-prule p{margin:0 0 7px}
.nz-prule b{color:var(--nz-brass-1)}
.nz-pfeed{margin-top:6px;border-top:1px dashed rgba(212,167,44,.2);padding-top:6px;text-align:left}
.nz-frow{font-size:10.5px;color:var(--nz-dim);padding:3px 0}
.nz-frow b{color:var(--nz-win)}

/* ==================== 半屏侧栏面板（聊天·无座 / 打赏 / 历史牌型） ====================
   从右边滑出、占屏幕约一半面积，不是居中大弹窗。
   用户 2026-10-24：无座列表要和聊天集成在一起，做成占半屏的弹窗。 */
.nz-panel{position:absolute;right:8px;top:calc(116px + var(--nz-safe));width:268px;height:632px;
  z-index:21;display:flex;flex-direction:column;border-radius:14px;overflow:hidden;
  background:linear-gradient(180deg,rgba(38,21,12,.97),rgba(16,9,5,.985));
  border:1px solid rgba(212,167,44,.5);
  box-shadow:0 18px 44px rgba(var(--nz-shade-rgb),.66),inset 0 1px 0 rgba(255,225,160,.14)}
.nz-ptop{display:flex;align-items:center;gap:6px;padding:12px 12px 9px;flex:0 0 auto;
  border-bottom:1px solid rgba(212,167,44,.22)}
.nz-ptop b{font-size:14px;color:var(--nz-brass-1);letter-spacing:1px}
.nz-ptop span{flex:1;font-size:10px;color:var(--nz-mute);text-align:right}
.nz-px{width:24px;height:24px;border-radius:50%;flex:0 0 auto;padding:0;
  display:grid;place-items:center;font-size:15px;line-height:1;color:var(--nz-btn-ink);
  border:1px solid var(--nz-btn-edge);
  background:linear-gradient(180deg,var(--nz-leather-1),var(--nz-leather-2))}
.nz-psec{flex:0 0 auto;font-size:10px;letter-spacing:1.5px;color:var(--nz-brass-2);
  padding:10px 12px 6px}
.nz-pnone{font-size:11px;color:var(--nz-mute);padding:10px 12px;line-height:1.5}
.nz-pbtn{flex:0 0 auto;margin:10px 12px;padding:11px 0;border:0;border-radius:10px;
  font-size:13.5px;font-weight:700;color:var(--nz-brass-ink);
  background:linear-gradient(180deg,var(--nz-brass-1),var(--nz-brass-2) 55%,var(--nz-brass-3));
  box-shadow:0 2px 0 var(--nz-brass-4)}
.nz-pbtn.nz-pbtn-tab{background:linear-gradient(180deg,#4A3120,#2B1B10);box-shadow:none;
  border:1px solid rgba(212,167,44,.3);color:var(--nz-ink-2);font-size:12.5px;padding:9px 0}

/* —— 无座：横排小头像 —— */
.nz-pchips{flex:0 0 auto;display:flex;gap:8px;padding:0 12px 4px;overflow-x:auto}
.nz-pchip{flex:0 0 auto;width:50px;text-align:center}
.nz-poff{opacity:.42}
.nz-pchip b{display:block;font-size:9px;color:var(--nz-ink-2);font-weight:500;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nz-pchip span{display:block;font-size:8.5px;color:var(--nz-brass-2);font-family:Georgia,serif}
.nz-pav{display:grid;place-items:center;width:32px;height:32px;margin:0 auto 2px;border-radius:50%;
  font-size:15px;font-style:normal;
  background:linear-gradient(180deg,var(--nz-leather-1),var(--nz-leather-2));
  box-shadow:0 0 0 2px var(--nz-felt-edge),0 0 0 3px rgba(212,167,44,.4)}
.nz-pav-s{width:26px;height:26px;font-size:13px;display:inline-grid;margin:0 3px 0 0}

/* —— 聊天记录 —— */
.nz-msgs{flex:1;min-height:0;overflow-y:auto;padding:4px 12px 6px;text-align:left;
  display:flex;flex-direction:column;justify-content:flex-end}
.nz-cbar{flex:0 0 auto;display:flex;gap:6px;padding:8px 12px 12px;
  border-top:1px solid rgba(212,167,44,.18)}

/* —— 历史牌型走势：局号 + 黑红梅方四列 —— */
.nz-hgrid{flex:1;min-height:0;overflow-y:auto;padding:8px 12px 0}
.nz-hgr{display:flex;align-items:stretch;gap:2px;margin-bottom:3px}
.nz-hgh{margin-bottom:5px}
.nz-hr{flex:0 0 44px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-size:10px;color:var(--nz-mute);font-family:Georgia,serif;line-height:1.1}
.nz-hr i{font-size:8px;font-style:normal;color:var(--nz-brass-2)}
.nz-hc{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  height:34px;border-radius:7px;font-size:12px;font-weight:700;line-height:1.1;
  background:rgba(var(--nz-shade-rgb),.32);border:1px solid rgba(212,167,44,.18)}
.nz-hc i{font-size:8.5px;font-style:normal;font-weight:400;opacity:.85;margin-top:1px}
.nz-hgh .nz-hc{height:20px;font-size:13px;background:transparent;border:0}
.nz-hgh .nz-hred{color:var(--nz-card-red)}
.nz-hwin{color:var(--nz-brass-ink);border-color:transparent;
  background:linear-gradient(180deg,var(--nz-brass-1),var(--nz-brass-2) 60%,var(--nz-brass-3))}
.nz-hlose{color:#9FB9AE;border-color:rgba(78,201,160,.28);background:rgba(78,201,160,.09)}
.nz-hnone{color:var(--nz-mute);border-style:dashed}
.nz-hnew{position:relative}
.nz-hnew .nz-hr{color:var(--nz-win)}
.nz-hnew::before{content:"";position:absolute;left:-6px;top:3px;bottom:3px;width:2px;
  border-radius:1px;background:var(--nz-win);box-shadow:0 0 6px rgba(255,215,94,.7)}
.nz-hmine{flex:0 0 auto;font-size:11px;color:var(--nz-dim);text-align:center;padding:12px 0 2px}
.nz-hmine b{font-family:Georgia,serif;font-size:13px}

/* —— 打赏（全场） —— */
.nz-pflex{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center}
.nz-tipw{font-size:12.5px;color:var(--nz-ink-2);line-height:1.7;padding:16px 12px 6px;text-align:center}
.nz-tipw b{color:var(--nz-win);font-family:Georgia,serif;font-size:15px}
.nz-tipav{display:flex;flex-wrap:wrap;justify-content:center;padding:6px 12px}
.nz-tipsum{font-size:12px;color:var(--nz-dim);text-align:center;padding:8px 0 0}
.nz-tipsum b{color:var(--nz-brass-1);font-family:Georgia,serif;font-size:17px}
.nz-tipnote{font-size:10px;color:var(--nz-mute);text-align:center;padding:6px 12px 0}

/* ================= 系统打赏横幅 / 到账 +N ================= */
.nz-gift{position:absolute;left:50%;top:calc(700px + var(--nz-safe));transform:translateX(-50%);
  z-index:12;max-width:340px;padding:8px 18px;border-radius:10px;white-space:nowrap;
  font-size:12px;font-weight:700;color:var(--nz-win);letter-spacing:.5px;
  background:linear-gradient(180deg,rgba(58,36,23,.97),rgba(22,13,8,.98));
  border:1px solid rgba(212,167,44,.72);
  box-shadow:0 8px 24px rgba(var(--nz-shade-rgb),.6),inset 0 1px 0 rgba(255,225,160,.2)}
.nz-gift-sys{color:var(--nz-brass-1);border-color:rgba(246,227,156,.85)}
.nz-gain{position:absolute;left:100%;top:3px;margin-left:8px;white-space:nowrap;
  font-size:13px;font-weight:800;font-family:Georgia,serif;color:var(--nz-win);
  text-shadow:0 1px 6px rgba(var(--nz-shade-rgb),.9)}

/* =========================== 竖栏弹层（旧版容器，已并入 .nz-panel） ==================== */
.nz-note{font-size:10.5px;color:var(--nz-dim);padding:0 16px 8px}
.nz-sbody,.nz-cbody{max-height:190px;overflow-y:auto;padding:0 14px 6px;text-align:left}
.nz-sbody:empty{display:none}
.nz-srow{display:flex;align-items:center;gap:8px;padding:8px 2px;border-bottom:1px dashed rgba(212,167,44,.18)}
.nz-sname{flex:1;font-size:12px;color:var(--nz-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nz-off{font-size:9px;color:var(--nz-mute);margin-left:5px;font-style:normal}
.nz-swhere{font-size:10px;color:var(--nz-brass-2)}
.nz-tipbtn{font-size:10.5px;font-weight:700;color:var(--nz-brass-ink);border:0;border-radius:7px;padding:5px 9px;
  background:linear-gradient(180deg,var(--nz-brass-1),var(--nz-brass-2) 55%,var(--nz-brass-3))}
.nz-crow{font-size:12px;color:var(--nz-ink);padding:5px 2px;line-height:1.35}
.nz-crow b{color:var(--nz-brass-2);font-weight:600;margin-right:5px}
.nz-cme b{color:var(--nz-win)}
.nz-cin{flex:1;height:34px;border-radius:8px;border:1px solid rgba(212,167,44,.3);
  background:rgba(var(--nz-shade-rgb),.35);padding:0 10px;font-size:12px;color:var(--nz-ink)}
.nz-csend{width:58px;height:34px;border:0;border-radius:8px;font-size:12px;font-weight:700;flex:0 0 auto;
  color:var(--nz-brass-ink);
  background:linear-gradient(180deg,var(--nz-brass-1),var(--nz-brass-2) 55%,var(--nz-brass-3))}

/* 滚动条（弹窗内） */
.nz-bbody::-webkit-scrollbar,.nz-pbody::-webkit-scrollbar,
.nz-sbody::-webkit-scrollbar,.nz-cbody::-webkit-scrollbar,
.nz-msgs::-webkit-scrollbar,.nz-pchips::-webkit-scrollbar{width:4px;height:4px}
.nz-bbody::-webkit-scrollbar-thumb,.nz-pbody::-webkit-scrollbar-thumb,
.nz-sbody::-webkit-scrollbar-thumb,.nz-cbody::-webkit-scrollbar-thumb,
.nz-msgs::-webkit-scrollbar-thumb,.nz-pchips::-webkit-scrollbar-thumb{
  background:rgba(212,167,44,.35);border-radius:2px}
