/* 分厅（金厅 / 铂金厅 / 创始人厅）画面 + 分厅牌桌皮肤 + 桌边饮料弹层
   结构：#hallScreen > .content.hall = .fp-body（2:1 平面 / 立面，和大厅楼面图同一套舞台、门牌、悬停卡样式）+ .dock（饮料 · 回主楼面）
   画由 js/core/hall-ui.js（HallArt）生成；饮料弹层由 js/core/drink-ui.js 生成。尺寸都是 dp（整页 zoom = k）。
   design-system §5：不用 emoji、不用虚线、不用大面积金色填充——创始人厅按 vip-research §6.2 例外：金只在墙面 / 天花 / 柱子的细线上，
   面板 / 按钮 / 门牌仍是深色 + 黄铜细线；夜间把金压到 --ch-gold-b（亮金只留高光）。 */

#hallScreen > .content.hall{padding:0;display:grid;grid-template-rows:minmax(0,1fr) 64px;overflow:hidden;position:relative;}
.hp-body{background:radial-gradient(ellipse at 50% 0%,rgba(255,200,130,.05),transparent 60%),var(--ink-950);}
.hp-title{position:absolute;left:1.4%;top:1.6%;pointer-events:none;font:12px/1 var(--serif);letter-spacing:.34em;color:var(--brass-300);opacity:.8;
  text-shadow:0 1px 2px rgba(0,0,0,.9);}
.hall[data-hall=sovereign] .hp-title{top:auto;bottom:2%;}
.hall[data-hall=chairmans] .hp-title{left:50%;transform:translateX(-50%);top:auto;bottom:2.2%;color:#c99a3b;opacity:.7;}
.hp-dock .dk .dv{font:400 13px/1 var(--serif);color:var(--brass-100);margin-left:2px;}
.hp-dock .dk .dv:empty{display:none;}

/* ---------- 共用：台布 / 盖布 / 射灯（hp 自己的渐变 id） ---------- */
.hp-svg .fp-t .felt{fill:url(#hpFelt-green);}
.hp-svg .fp-t.f-green-lt .felt{fill:url(#hpFelt-green-lt);}
.hp-svg .fp-t.f-navy .felt{fill:url(#hpFelt-navy);}
.hp-svg .fp-t.f-wine .felt{fill:url(#hpFelt-wine);}
.hp-svg .fp-t.off .felt,.hp-svg .fp-t.res .felt{fill:url(#hpCover);}
.hp-svg .fp-furn .backbar{fill:#1b120c;stroke:#6b4426;stroke-width:1;}
.hp-svg .fp-furn .bottle{fill:#3a2a1a;stroke:rgba(231,201,127,.35);stroke-width:.5;}
.hp-svg .fp-furn .espresso{fill:#2c2f33;stroke:#8f8f8f;stroke-width:.8;}
.hp-svg .fp-furn .planter{fill:#2a2019;stroke:var(--brass-700);stroke-width:1;}
.hp-svg .fp-furn .leaf{fill:#2c5440;stroke:#173325;stroke-width:.8;}
.hp-svg .fp-furn .counter{stroke-width:8;}
.hp-svg .chand{fill:#f4e2b8;}
.hp-svg .crystal{fill:rgba(238,244,251,.8);}

/* ---------- 铂金厅：港湾、落地窗、下沉式酒吧、包间、创始人厅门 ---------- */
.hp-svg .shore{fill:#05080c;}
.hp-svg .citylt{fill:#f2d59a;opacity:.75;}
.hp-svg .reflect{stroke:rgba(242,213,154,.28);stroke-width:1.2;stroke-linecap:round;}
.hp-svg .glass{fill:rgba(160,200,230,.18);stroke:rgba(200,225,245,.35);stroke-width:.8;}
.hp-svg .mullion{fill:#1d1a17;stroke:var(--brass-900);stroke-width:.6;}
.hp-svg .fp-furn .well{fill:url(#hpBarWell);stroke:var(--brass-700);stroke-width:1.4;}
.hp-svg .fp-furn .step{fill:none;stroke:rgba(201,160,82,.35);stroke-width:1;}
.hp-svg.sovereign .fp-furn .counter{fill:#241810;stroke:#7a4e2c;stroke-width:9;}
.hp-svg.sovereign .fp-furn .backbar{fill:#120c08;stroke:var(--brass-500);}
.hp-svg.sovereign .fp-furn .sofa{fill:none;stroke:#4a1e22;}
.hp-svg .fp-furn .salon{fill:#15110e;stroke:#050403;stroke-width:4;}
.hp-svg .fp-furn .salon-door{fill:#3a0d14;stroke:var(--brass-700);stroke-width:1;}
.hp-svg .fp-furn .fp-cover{fill:url(#hpCover);stroke:#3a2a1d;stroke-width:1.2;}
.hp-svg .fp-furn .salon-rug{fill:#1f0c10;stroke:rgba(201,160,82,.22);stroke-width:1;}
.hp-svg .fp-furn .salon-seam{stroke:#0a0203;stroke-width:1.2;}
.hp-svg .fp-furn .ch-wall{fill:none;stroke:#050403;stroke-width:5;}
.hp-svg .fp-furn .ch-vest{fill:#0a0806;stroke:#050403;stroke-width:4;}
.hp-svg .fp-furn .ch-door,.fp-svg .fp-furn .lift.ch{fill:#0a0806;stroke:#c99a3b;stroke-width:1;}
.hp-svg .fp-furn .ch-line,.fp-svg .fp-furn .lift-door.ch{stroke:rgba(201,154,59,.75);stroke-width:.8;fill:none;}
.fp-svg .ch-facet{fill:#dfe9f5;stroke:#8fa9c4;stroke-width:.6;}
/* 贵宾厅的桌：深胡桃木边、黄铜细线 */
.hp-svg.sovereign .fp-t .rail{fill:#3a2214;stroke:var(--brass-700);stroke-width:1;}
.hp-svg.sovereign .fp-t .ink{stroke:rgba(247,233,196,.6);}
.hp-svg.oasis .fp-t .rail{fill:#6b4426;stroke:#2e1c10;}

/* ---------- 创始人厅立面：黑漆 · 细金线 · 黑金大理石 · 切面钻石 · 成组吊灯 ---------- */
.hall[data-hall=chairmans]{--ch-gold-a:#f3dea0;--ch-gold-b:#c99a3b;--ch-gold-c:#6e4f17;}
.ch-svg .ch-mould{fill:none;stroke:var(--ch-gold-c);stroke-width:1.2;}
.ch-svg .ch-mould.hi{stroke:var(--ch-gold-b);stroke-width:1.6;}
.ch-svg .ch-rib{fill:none;stroke:rgba(201,154,59,.28);stroke-width:.8;}
.ch-svg .ch-line{fill:none;stroke:var(--ch-gold-b);stroke-width:1.2;}
.ch-svg .ch-line.a{stroke:var(--ch-gold-a);stroke-width:1.4;}
.ch-svg .ch-line.b{stroke:var(--ch-gold-b);stroke-width:1.6;}
.ch-svg .ch-line.c{stroke:var(--ch-gold-c);stroke-width:1;}
.ch-svg .ch-dentil{fill:var(--ch-gold-c);}
.ch-svg .ch-cap{fill:#16110b;stroke:var(--ch-gold-b);stroke-width:1;}
.ch-svg .ch-sconce{fill:#f6e3b8;opacity:.9;}
.ch-svg .ch-arch{fill:#0c0907;}
.ch-svg .ch-corr{fill:#060504;}
.ch-svg .ch-liftf{fill:#0e0b08;stroke:var(--ch-gold-c);stroke-width:1;}
.ch-svg .ch-liftd{fill:#120e0a;stroke:#050403;stroke-width:1;}
.ch-svg .ch-ind{fill:#050403;stroke:var(--ch-gold-c);stroke-width:.8;}
.ch-svg .ch-surround{fill:#0d0a07;}
.ch-svg .ch-seam{stroke:#0a0203;stroke-width:3;}
.ch-svg .ch-handle{fill:#4a3d28;stroke:#1a140c;stroke-width:.6;}
.ch-svg .ch-vein{fill:none;stroke:rgba(255,236,200,.22);stroke-width:1;}
.ch-svg .ch-shelf{fill:#0b0806;}
.ch-svg .ch-bottle{fill:rgba(20,12,6,.85);stroke:rgba(255,220,160,.25);stroke-width:.5;}
.ch-svg .ch-marblefront{fill:none;stroke:rgba(236,226,200,.12);stroke-width:1;}
.ch-svg .ch-glass{fill:none;stroke:rgba(238,244,251,.55);stroke-width:1;}
.ch-svg .ch-reflseam{stroke:rgba(0,0,0,.35);stroke-width:2;}
.ch-svg .ch-joint{stroke:rgba(236,226,200,.07);stroke-width:1;fill:none;}
.ch-svg .ch-fvein{fill:none;stroke-width:1.1;}
.ch-svg .ch-fvein.g{stroke:rgba(201,154,59,.28);}
.ch-svg .ch-fvein.w{stroke:rgba(236,226,200,.14);}
.ch-svg .ch-rod{stroke:#3a2c18;stroke-width:1.2;}
.ch-svg .ch-ring{fill:none;stroke:rgba(243,222,160,.55);stroke-width:1;}
.ch-svg .ch-drop{stroke:rgba(238,244,251,.4);stroke-width:.7;}
.ch-svg .ch-crys{fill:rgba(238,244,251,.92);}
.ch-svg .ch-bulb{fill:#fff4d8;}
html[data-night] .hall[data-hall=chairmans]{--ch-gold-a:#c99a3b;--ch-gold-b:#a57f33;--ch-gold-c:#5a4214;}
/* 门牌：黑底细金线的铭牌（没有大块金色），挂在门楣下 */
.hp-el .fp-sign{background:linear-gradient(180deg,rgba(12,9,6,.94),rgba(6,5,4,.94));border-color:#6e4f17;box-shadow:0 3px 12px rgba(0,0,0,.7),inset 0 1px 0 rgba(243,222,160,.12);}
.hp-el .fp-sign .nm{letter-spacing:.22em;color:#e9d6a6;}
.hp-el .fp-sign .mn{color:#c99a3b;border-left-color:#3a2a0e;}
.hp-el .fp-zone[role=button]:hover,.hp-el .fp-zone[role=button]:focus-visible{background-color:rgba(255,220,160,.035);box-shadow:inset 0 0 0 1px rgba(201,154,59,.55);}

/* ---------- 桌边饮料：HUD 顶栏的杯子 + 弹层 ---------- */
.th-drink .dv{font:400 var(--fs-s)/1 var(--serif);margin-left:2px;}
.th-drink .dv:empty{display:none;}
.dr-pop{position:fixed;z-index:900;width:404px;max-height:calc(var(--vh, 1vh) * 70);display:none;flex-direction:column;
  border:1px solid var(--brass-700);border-radius:var(--r-2);background:linear-gradient(180deg,#221912,#110c09);box-shadow:var(--shadow-3),var(--hi-brass);}
.dr-pop.on{display:flex;}
.dr-h{display:flex;align-items:center;gap:10px;padding:10px 10px 8px 14px;border-bottom:1px solid var(--hairline);}
.dr-h b{font:400 13px/1 var(--serif);letter-spacing:.26em;color:var(--brass-300);}
.dr-v{margin-left:auto;font-size:12px;color:var(--tx-2);white-space:nowrap;}
.dr-v b{font:400 15px/1 var(--serif);letter-spacing:0;color:var(--brass-100);margin-left:4px;}
.dr-x{margin-left:auto;width:26px;height:26px;border:0;border-radius:var(--r-1);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.dr-v + .dr-x{margin-left:6px;}
.dr-x .ic{width:15px;height:15px;fill:var(--cream-500);}
.dr-x:hover .ic{fill:var(--brass-300);}
.dr-body{overflow:auto;padding:8px 10px 10px;min-height:0;}
.dr-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;}
.dr-sep{height:1px;background:var(--hairline);margin:8px 2px;}
.dr-it{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;border-radius:var(--r-1);border:1px solid transparent;background:rgba(255,255,255,.02);
  color:var(--tx-1);font:13px/1.1 var(--sans);text-align:left;cursor:pointer;min-width:0;transition:border-color var(--t-fast),background var(--t-fast);}
.dr-it span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dr-it em{font:400 12.5px/1 var(--serif);font-style:normal;color:var(--tx-2);white-space:nowrap;font-variant-numeric:tabular-nums lining-nums;}
.dr-it em.f{color:var(--good);}
.dr-it em.v{color:var(--brass-100);border:1px solid var(--brass-700);border-radius:2px;padding:2px 4px;font-size:12px;}
.dr-it:hover{border-color:var(--brass-700);background:rgba(255,200,120,.05);}

/* ---------- 分厅牌桌皮肤（21 点 / 轮盘 / 百家乐创始人厅）：主楼面不变 ---------- */
.bj-root[data-hall=oasis] .th,.ru-root[data-hall=oasis] .th{--carpet-700:#3a1a12;--carpet-900:#1f0d09;--carpet-gold:rgba(231,201,127,.2);}
.bj-root[data-hall=sovereign] .th,.ru-root[data-hall=sovereign] .th{--carpet-700:#141826;--carpet-900:#0a0c14;--carpet-gold:rgba(201,160,82,.22);}
/* 金厅：亮一点的木边 + 单圈黄铜 */
.bj-root[data-hall=oasis] .bj-tbl,.ru-root[data-hall=oasis] .ru-tbl{
  background:repeating-linear-gradient(92deg,rgba(0,0,0,.14) 0 2px,transparent 2px 7px,rgba(255,255,255,.03) 7px 9px,transparent 9px 23px),
    linear-gradient(180deg,var(--wood-100),var(--wood-300) 10%,var(--wood-500) 40%,var(--wood-700));}
.bj-root[data-hall=oasis] .bj-cloth{box-shadow:0 0 0 2px var(--brass-500) inset,0 0 0 3px rgba(0,0,0,.6) inset,0 12px 30px rgba(0,0,0,.45) inset;}
.ru-root[data-hall=oasis] .ru-cloth{box-shadow:0 0 0 2px var(--brass-500) inset,0 0 0 3px rgba(0,0,0,.6) inset,0 12px 30px rgba(0,0,0,.4) inset;}
/* 铂金厅：深胡桃木高光边 + 黄铜双圈 + 更深的台布 + 皮质扶手 */
.bj-root[data-hall=sovereign] .bj-tbl,.ru-root[data-hall=sovereign] .ru-tbl,.bac-root[data-hall=chairmans] .bac-tbl{
  background:linear-gradient(90deg,rgba(0,0,0,.4),transparent 10%,transparent 90%,rgba(0,0,0,.4)),
    linear-gradient(180deg,rgba(255,230,190,.16),transparent 18%),
    repeating-linear-gradient(92deg,rgba(0,0,0,.16) 0 1px,transparent 1px 5px,rgba(255,255,255,.03) 5px 6px,transparent 6px 17px),
    linear-gradient(180deg,#5a3520,#3a2214 30%,#241409 70%,#170c05);
  box-shadow:0 -6px 30px rgba(0,0,0,.65),0 2px 0 rgba(255,220,160,.2) inset;}
.bj-root[data-hall=sovereign] .bj-cloth{--f5:#27477a;--f7:#172f55;--f9:#0b1a33;
  box-shadow:0 0 0 2px var(--brass-500) inset,0 0 0 3px rgba(0,0,0,.65) inset,0 0 0 6px var(--brass-900) inset,0 12px 30px rgba(0,0,0,.5) inset;}
.ru-root[data-hall=sovereign] .ru-cloth{--f5:#6e1a26;--f7:#4d111a;--f9:#2c080e;
  box-shadow:0 0 0 2px var(--brass-500) inset,0 0 0 3px rgba(0,0,0,.65) inset,0 0 0 6px var(--brass-900) inset,0 12px 30px rgba(0,0,0,.5) inset;}
.bj-root[data-hall=sovereign] .th-rail,.ru-root[data-hall=sovereign] .th-rail,.bac-root[data-hall=chairmans] .th-rail{
  background:linear-gradient(180deg,rgba(255,220,170,.08),transparent 10%,transparent 88%,rgba(0,0,0,.5)),
    radial-gradient(ellipse at 50% -30%,rgba(255,200,140,.08),transparent 60%),
    linear-gradient(180deg,#3a1d16,#24110c 45%,#160a07);
  border-top:2px solid var(--brass-500);box-shadow:0 -10px 30px rgba(0,0,0,.7),0 6px 0 -5px rgba(255,220,170,.12) inset;}
/* 创始人厅 salon：黑漆墙面（金细线）· 比铂金厅更暗的墨绿台布 · 深酒红丝绒扶手 */
.bac-root[data-hall=chairmans] .th{--carpet-700:#0f0c09;--carpet-900:#070504;--carpet-gold:rgba(201,154,59,.16);}
.bac-root[data-hall=chairmans] .bac-felt{--f5:#0f2e22;--f7:#0a1f17;--f9:#04100b;--ink:rgba(233,214,166,.85);--ink2:rgba(233,214,166,.42);
  box-shadow:0 0 0 1px #c99a3b inset,0 0 0 3px rgba(0,0,0,.7) inset,0 0 0 5px #6e4f17 inset,0 12px 34px rgba(0,0,0,.55) inset;}
.bac-root[data-hall=chairmans] .th-rail{background:linear-gradient(180deg,rgba(255,200,190,.06),transparent 12%,transparent 86%,rgba(0,0,0,.55)),linear-gradient(180deg,#3a0d14,#260910 50%,#14050a);
  border-top:1px solid #c99a3b;}

/* ---------- 手机（楼面图改成列表时）：厅名固定在画面左上角，别压在列表最后一项上 ---------- */
html.m.m-fplist .hall .hp-title,html.m.m-fplist .hall[data-hall] .hp-title{top:8px;bottom:auto;left:10px;transform:none;}
