dsh-poker 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.6] - 2026-08-20
4
+
5
+ - 没填对外地址时用黄色「仅本机」提醒:去设置里填才能把链接发给朋友一起玩。
6
+
7
+ ## [0.1.5] - 2026-08-20
8
+
9
+ - 安装时不再提示缺 `@deepseek-ai/cordis`。那是 Harness 自己的运行时,插件不会也不该再装一份。
10
+
3
11
  ## [0.1.4] - 2026-08-20
4
12
 
5
13
  - 牌面和角色图改为原尺寸高质量 WebP,静态图可长期缓存,打开牌桌不再反复拉数兆 PNG。
package/lib/client.js CHANGED
@@ -461,7 +461,7 @@ const PLUGIN_REPO = "https://github.com/lifefloating/dsh-doudizhu";
461
461
 
462
462
  //#endregion
463
463
  //#region \0dsh-css:/home/runner/work/dsh-doudizhu/dsh-doudizhu/src/client/styles.module.css.mjs
464
- const css = ".ZBNWaa_tabShell{z-index:1;pointer-events:auto;flex-direction:column;min-width:0;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.ZBNWaa_root,.ZBNWaa_gate{background:var(--dsw-alias-bg-base,#fff);min-width:0;color:var(--dsw-alias-label-primary,#1a1a1a);pointer-events:auto;flex-direction:column;font-family:inherit;display:flex;overflow:hidden}.ZBNWaa_root{flex:1;height:100%;min-height:0}.ZBNWaa_gate{min-height:100vh}.ZBNWaa_topbar{border-bottom:1px solid var(--dsw-alias-border-l2,#e8e8e8);background:var(--dsw-alias-bg-layer-3,#fff);align-items:center;gap:8px;min-width:0;padding:12px 20px;display:flex}.ZBNWaa_topbar:has(.ZBNWaa_codeBar){padding-top:8px;padding-bottom:8px}.ZBNWaa_topbar .ZBNWaa_codeBar{flex:auto;min-width:0}.ZBNWaa_topbarActions{flex:none;align-items:center;gap:4px;margin-left:auto;display:flex}.ZBNWaa_brand{letter-spacing:.01em;color:var(--dsw-alias-label-primary,#1a1a1a);white-space:nowrap;flex:none;font-size:15px;font-weight:600}.ZBNWaa_brandTitle{white-space:nowrap;flex:none;align-items:center;gap:6px;min-width:0;display:inline-flex}.ZBNWaa_brandDash{color:var(--dsw-alias-label-primary,#1a1a1a);flex:none;font-size:15px;font-weight:600}.ZBNWaa_brandTitle .ZBNWaa_titleBtn{font-size:15px}.ZBNWaa_muted{color:var(--dsw-alias-label-tertiary,#8a8a8a);font-size:13px}.ZBNWaa_close{appearance:none;border:1px solid var(--dsw-alias-border-l2,#e8e8e8);color:var(--dsw-alias-label-secondary,#5c5c5c);cursor:pointer;font:inherit;background:0 0;border-radius:8px;padding:5px 14px;font-size:13px}.ZBNWaa_close:hover{color:var(--dsw-alias-label-primary,#1a1a1a);border-color:var(--dsw-alias-label-dimmed,#c8c8c8)}.ZBNWaa_lobby,.ZBNWaa_settlement{flex:1;padding:24px 20px;overflow:auto}.ZBNWaa_card{background:var(--dsw-alias-bg-layer-3,#fff);border:1px solid var(--dsw-alias-border-l2,#e8e8e8);border-radius:14px;max-width:760px;margin:0 auto;padding:28px 28px 24px}.ZBNWaa_card h2,.ZBNWaa_card h3{margin:0 0 4px;font-size:17px;font-weight:600;line-height:1.4}.ZBNWaa_card>.ZBNWaa_primary{align-self:center;width:100%;margin-top:4px}.ZBNWaa_tabs{border-bottom:1px solid var(--dsw-alias-border-l2,#e8e8e8);gap:0;margin:-4px 0 16px;display:flex}.ZBNWaa_tab{appearance:none;font:inherit;color:var(--dsw-alias-label-tertiary,#8a8a8a);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:8px 12px;font-size:14px;font-weight:500}.ZBNWaa_tab:hover{color:var(--dsw-alias-label-primary,#1a1a1a)}.ZBNWaa_tabActive{color:var(--dsw-alias-label-primary,#1a1a1a);border-bottom-color:var(--dsw-alias-label-primary,#1a1a1a)}.ZBNWaa_row{flex-wrap:wrap;gap:12px;margin:4px 0 8px;display:flex}.ZBNWaa_createFields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 16px;display:grid}.ZBNWaa_createFields>.ZBNWaa_field{min-width:0}.ZBNWaa_createFields>.ZBNWaa_field+.ZBNWaa_field{border-top:0}.ZBNWaa_fieldWide{grid-column:1/-1}.ZBNWaa_createFields .ZBNWaa_select,.ZBNWaa_createFields .ZBNWaa_input{box-sizing:border-box;width:100%}.ZBNWaa_field{min-width:160px;color:var(--dsw-alias-label-primary,#1a1a1a);flex-direction:column;gap:6px;padding:12px 0;font-size:13px;font-weight:500;display:flex}.ZBNWaa_field+.ZBNWaa_field{border-top:1px solid var(--dsw-alias-border-l2,#e8e8e8)}.ZBNWaa_fieldRow{flex-direction:row;align-items:center;gap:8px}.ZBNWaa_joinForm{flex-direction:column;display:flex}.ZBNWaa_joinFields{flex-direction:column;width:100%;display:flex}.ZBNWaa_joinFields .ZBNWaa_primary{width:100%;height:44px;font-weight:600}.ZBNWaa_joinInline{gap:32px;padding:14px 0;display:flex}.ZBNWaa_joinField{flex:1 1 0;align-items:center;gap:16px;min-width:0;display:flex}.ZBNWaa_joinField .ZBNWaa_settingsLabel{white-space:nowrap;color:var(--dsw-alias-label-primary,#1a1a1a);flex:none;font-size:13px;font-weight:500;line-height:1.5}.ZBNWaa_joinField .ZBNWaa_input{box-sizing:border-box;flex:auto;width:100%;min-width:0}@media (width<=480px){.ZBNWaa_joinInline{flex-direction:column;gap:12px}.ZBNWaa_joinFields .ZBNWaa_input{height:44px}}.ZBNWaa_select,.ZBNWaa_input{border:1px solid var(--dsw-alias-border-l2,#e8e8e8);background:var(--dsw-alias-bg-layer-3,#fff);height:40px;color:var(--dsw-alias-label-primary,#1a1a1a);font:inherit;border-radius:10px;padding:0 14px;font-size:14px}.ZBNWaa_select:focus-visible,.ZBNWaa_input:focus-visible{border-color:var(--dsw-alias-brand-primary,#4d6bfe);outline:none}.ZBNWaa_primary,.ZBNWaa_ghost,.ZBNWaa_danger{appearance:none;cursor:pointer;font:inherit;border-radius:10px;padding:7px 16px;font-size:14px;line-height:1.5}.ZBNWaa_primary{background:var(--dsw-alias-label-primary,#1a1a1a);color:var(--dsw-alias-bg-layer-3,#fff);border:1px solid #0000}.ZBNWaa_ghost{color:var(--dsw-alias-label-secondary,#5c5c5c);border:1px solid var(--dsw-alias-border-l2,#e8e8e8);background:0 0}.ZBNWaa_ghost:hover:not(:disabled){color:var(--dsw-alias-label-primary,#1a1a1a);border-color:var(--dsw-alias-label-dimmed,#c8c8c8)}.ZBNWaa_danger{color:var(--dsw-alias-label-error,#d64545);border:1px solid var(--dsw-alias-label-error,#d64545);background:0 0}.ZBNWaa_primary:disabled,.ZBNWaa_ghost:disabled{opacity:.4;cursor:default}.ZBNWaa_hint{color:var(--dsw-alias-label-tertiary,#8a8a8a);margin:0 0 8px;font-size:13px;font-weight:400;line-height:1.5}.ZBNWaa_warn{color:var(--dsw-alias-label-secondary,#8a6a1a)}.ZBNWaa_error{color:var(--dsw-alias-label-error,#d64545);margin:8px 0 0;font-size:13px}.ZBNWaa_table{flex-direction:column;flex:1;gap:4px;min-width:0;min-height:0;padding:6px 20px 4px;display:flex;position:relative;overflow:hidden}.ZBNWaa_table:has([data-chat-composer]){padding-bottom:44px}.ZBNWaa_root:has([data-table]) .ZBNWaa_topbar{border-bottom:none}.ZBNWaa_opponents{flex:none;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;min-width:0;padding-top:32px;display:flex}.ZBNWaa_opponentsThree{justify-content:space-between}.ZBNWaa_seat{flex-direction:column;flex:1 1 0;align-items:flex-start;gap:4px;min-width:0;display:flex}.ZBNWaa_seatRight{align-items:flex-end}.ZBNWaa_seatCenter{align-items:center}.ZBNWaa_seatHead{align-items:center;gap:8px;min-width:0;max-width:100%;display:flex}.ZBNWaa_seatAvatarWrap{flex-direction:column;flex:none;align-items:center;display:flex;position:relative}.ZBNWaa_turnCue{pointer-events:none;z-index:2;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px;height:28px;display:flex;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.ZBNWaa_turnArrow{border-top:8px solid #f5c518;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0}.ZBNWaa_turnCueText{letter-spacing:.04em;color:#d4a017;white-space:nowrap;font-size:11px;font-weight:700}.ZBNWaa_seatRight .ZBNWaa_seatHead{flex-direction:row-reverse}.ZBNWaa_seatMeta{min-width:0;overflow:visible}.ZBNWaa_seatName{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:4px;font-size:15px;font-weight:600;display:flex}.ZBNWaa_selfRow{--self-seat-col:104px;width:100%;min-width:0;min-height:96px;padding-inline:var(--self-seat-col);box-sizing:border-box;flex-wrap:nowrap;flex:none;justify-content:center;align-items:flex-end;gap:16px;display:flex;position:relative}.ZBNWaa_selfSeat{z-index:4;width:var(--self-seat-col);pointer-events:none;flex-direction:column;flex:none;justify-content:flex-end;align-items:center;gap:10px;display:flex;position:absolute;bottom:0;left:0;overflow:visible}.ZBNWaa_selfSeat .ZBNWaa_seatName{align-self:flex-start;width:max-content}.ZBNWaa_selfPlay{isolation:isolate;box-sizing:border-box;flex-direction:column;flex:auto;align-self:stretch;align-items:center;gap:0;width:100%;min-width:0;padding-top:44px;display:flex;position:relative}.ZBNWaa_selfPlay .ZBNWaa_actions{z-index:3;pointer-events:auto;background:var(--dsw-alias-bg-base,#fff);box-sizing:border-box;width:100%;min-height:44px;padding:4px 8px;position:absolute;top:0;left:0;right:0}.ZBNWaa_selfPlay .ZBNWaa_actions .ZBNWaa_hint{margin:0}.ZBNWaa_selfPlay .ZBNWaa_hand{z-index:1;box-sizing:border-box;flex:none;justify-content:flex-start;width:auto;min-width:0;height:160px;padding:36px 8px 0 0;position:relative}.ZBNWaa_selfRow .ZBNWaa_hand{flex:auto;justify-content:flex-start;width:auto;min-width:0;padding-left:0}.ZBNWaa_settlementList{flex-direction:column;gap:8px;margin:12px 0;padding:0;list-style:none;display:flex}.ZBNWaa_settlementList li{flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:14px;display:flex}.ZBNWaa_settlementList li span:last-child{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.ZBNWaa_settlementWin span:last-child{color:#1a7f37}.ZBNWaa_settlementLose span:last-child{color:var(--dsw-alias-label-error,#d64545)}.ZBNWaa_settlementActions{gap:8px;margin-top:8px;display:flex}.ZBNWaa_settlementActions .ZBNWaa_primary,.ZBNWaa_settlementActions .ZBNWaa_danger{flex:1}.ZBNWaa_roleHero{flex-wrap:wrap;justify-content:center;gap:12px 16px;margin:12px 0 4px;display:flex}.ZBNWaa_roleHeroItem{color:var(--dsw-alias-label-secondary,#5c5c5c);flex-direction:column;align-items:center;gap:8px;margin:0;font-size:12px;font-weight:500;display:flex}.ZBNWaa_roleHeroItem figcaption{margin:0;line-height:1}.ZBNWaa_roleHeroImg{object-fit:contain;background:0 0;width:128px;height:128px}.ZBNWaa_badge{border:1.5px solid var(--dsw-alias-border-l2,#e8e8e8);color:var(--dsw-alias-label-secondary,#5c5c5c);box-sizing:border-box;background:0 0;border-radius:999px;flex:none;padding:2px 9px;font-size:13px;font-weight:600;display:inline-block}.ZBNWaa_badgeHost{color:#8a79b0;border-color:#8a79b0}.ZBNWaa_badgeLandlord{color:#dcc45c;border-color:#dcc45c}.ZBNWaa_badgeFarmer{color:#e86e6e;border-color:#e86e6e}.ZBNWaa_ready{color:var(--dsw-alias-label-success,#2f8f62);flex:none;font-size:13px;font-weight:600}.ZBNWaa_avatar{object-fit:contain;background:0 0;width:72px;height:72px}.ZBNWaa_avatarSelf{border-radius:50%;box-shadow:0 0 0 3px #4ea3ff,0 0 18px 6px #78c4ffb3}.ZBNWaa_remain{align-items:flex-end;gap:8px;max-width:100%;display:flex}.ZBNWaa_remainCompact{flex-direction:column;align-items:flex-start;gap:2px;min-height:0}.ZBNWaa_seatRight .ZBNWaa_remainCompact{align-items:flex-end}.ZBNWaa_backs{isolation:isolate;align-items:flex-end;min-width:0;display:flex}.ZBNWaa_backs>*{margin-left:-40px}.ZBNWaa_backs>:first-child{margin-left:0}.ZBNWaa_backsCompact{width:108px;min-width:0;max-width:100%;padding:0}.ZBNWaa_backsCompact>*{margin-left:-28px}.ZBNWaa_backsCompact>:first-child{margin-left:0}.ZBNWaa_backsCompact .ZBNWaa_cardBack{border-radius:8px;width:44px;min-width:44px;height:62px;box-shadow:1px 1px #00000014}.ZBNWaa_cardsLeft{font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-primary,#1a1a1a);min-width:1.25em;font-size:22px;font-weight:700;line-height:1}.ZBNWaa_centerPlay{flex:auto;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:132px;padding:16px 0;display:flex;position:relative;overflow:visible}.ZBNWaa_tableStatus{z-index:2;color:var(--dsw-alias-label-tertiary,#8a8a8a);text-align:center;white-space:nowrap;pointer-events:none;margin:0;font-size:15px;font-weight:400;line-height:1.5;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ZBNWaa_yourTurnToast{z-index:6;pointer-events:none;color:var(--dsw-alias-label-tertiary,#9a9a9a);letter-spacing:.04em;white-space:nowrap;text-shadow:0 0 10px var(--dsw-alias-bg-base,#fff);margin:0;font-size:16px;font-weight:500;animation:.18s ease-out ZBNWaa_yourTurnIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes ZBNWaa_yourTurnIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.ZBNWaa_yourTurnToast,.ZBNWaa_chatLogLine{animation:none}}.ZBNWaa_dealCanvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.ZBNWaa_readyCenter{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;max-width:280px;display:flex;position:relative}.ZBNWaa_readyCenter .ZBNWaa_hint{margin:0}.ZBNWaa_readyBtn,.ZBNWaa_unready,.ZBNWaa_start{appearance:none;min-width:148px;height:52px;font:inherit;letter-spacing:.08em;cursor:pointer;border-radius:999px;padding:0 28px;font-size:18px;font-weight:700}.ZBNWaa_readyBtn{color:#3a2a00;background:#f5c518;border:0;box-shadow:0 6px 18px #f5c51859}.ZBNWaa_readyBtn:hover{background:#ffd54a}.ZBNWaa_unready{color:#6a5200;background:#fff8d6;border:1px solid #d4a017}.ZBNWaa_start{color:#fff;background:#1a1a1a;border:0}.ZBNWaa_start:disabled{opacity:.35;cursor:default}.ZBNWaa_kick{appearance:none;border:1px solid var(--dsw-alias-label-error,#d64545);color:var(--dsw-alias-label-error,#d64545);font:inherit;cursor:pointer;background:0 0;border-radius:999px;margin-top:4px;padding:2px 10px;font-size:12px}.ZBNWaa_preview{flex-direction:column;gap:8px;display:flex}.ZBNWaa_previewList{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 16px;margin:8px 0 4px;display:grid}.ZBNWaa_previewList>div{justify-content:space-between;gap:12px;font-size:14px;display:flex}.ZBNWaa_previewList dt{color:var(--dsw-alias-label-tertiary,#8a8a8a);font-weight:500}.ZBNWaa_previewList dd{margin:0;font-weight:600}.ZBNWaa_previewSeats{flex-direction:column;gap:6px;margin:4px 0 8px;padding:0;list-style:none;display:flex}.ZBNWaa_previewSeats li{align-items:center;gap:8px;font-size:14px;display:flex}.ZBNWaa_previewActions{gap:8px;margin-top:8px;display:flex}.ZBNWaa_previewActions .ZBNWaa_primary,.ZBNWaa_previewActions .ZBNWaa_ghost{flex:1;height:44px}.ZBNWaa_bottom{flex-wrap:wrap;flex:none;justify-content:center;align-items:flex-end;gap:8px;display:flex}.ZBNWaa_bottom .ZBNWaa_cardFace,.ZBNWaa_bottom .ZBNWaa_cardBack,.ZBNWaa_bottom .ZBNWaa_flipScene{width:44px;height:62px}.ZBNWaa_bottom .ZBNWaa_remain,.ZBNWaa_bottom .ZBNWaa_backs{display:contents}.ZBNWaa_hand{flex:none;justify-content:center;width:100%;min-width:0;padding:8px 8px 0;display:flex;overflow:visible}.ZBNWaa_handInner{height:124px;margin:0 auto;position:relative}.ZBNWaa_handCard{appearance:none;cursor:grab;transform-origin:50% 100%;touch-action:none;background:0 0;border:0;width:88px;height:124px;margin:0 0 0 -44px;padding:0;position:absolute;bottom:0;left:50%}.ZBNWaa_handCard:active{cursor:grabbing}.ZBNWaa_handCard .ZBNWaa_cardFace{pointer-events:none}.ZBNWaa_selected{box-shadow:0 10px 18px #0000001f}.ZBNWaa_actions{flex-wrap:wrap;flex:none;justify-content:center;align-items:center;gap:8px;min-height:44px;display:flex}.ZBNWaa_cardFace,.ZBNWaa_cardBack{border:1px solid var(--dsw-alias-border-l2,#e0ddd6);color:#1a1a1a;background:#fff;border-radius:16px;flex-direction:column;flex:none;width:88px;height:124px;padding:0;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000f}.ZBNWaa_cardBack{color:#1a1a1a;background:#fff;justify-content:center;align-items:center;padding:0}.ZBNWaa_cardBackLandlord{box-shadow:0 0 0 2px #c62828}.ZBNWaa_backsCompact .ZBNWaa_cardBackLandlord{box-shadow:0 0 0 2px #c62828,1px 1px #00000014}.ZBNWaa_red{color:#c62828}.ZBNWaa_wild{box-shadow:0 0 0 2px var(--dsw-alias-brand-primary,#4d6bfe)}.ZBNWaa_rank{z-index:1;text-shadow:0 0 3px #fff,0 0 6px #fff;font-size:15px;font-weight:700;line-height:1;position:absolute;top:4px;left:6px}.ZBNWaa_suit{z-index:1;text-shadow:0 0 3px #fff,0 0 6px #fff;font-size:16px;line-height:1;position:absolute;bottom:4px;right:6px}.ZBNWaa_plainFace{justify-content:center;align-items:center}.ZBNWaa_suitCenter{font-size:36px;line-height:1}.ZBNWaa_jokerFace{justify-content:center;align-items:center;padding:0}.ZBNWaa_blackJoker{color:#1a1a1a}.ZBNWaa_jokerWord{z-index:1;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.08em;text-shadow:0 0 3px #fff,0 0 6px #fff;font-size:11px;font-weight:800;line-height:1.05;position:absolute;top:7px;left:6px}.ZBNWaa_jokerWordEnd{inset:auto 6px 7px auto;transform:rotate(180deg)}.ZBNWaa_jokerArt,.ZBNWaa_faceArt,.ZBNWaa_cardBackArt{pointer-events:none;object-fit:contain;background:0 0;width:100%;height:100%}.ZBNWaa_playFly{justify-content:center;align-items:flex-end;gap:4px;padding:6px 4px;display:flex;overflow:visible}.ZBNWaa_centerPlay .ZBNWaa_playFly .ZBNWaa_cardFace{border-radius:12px;width:72px;height:102px}.ZBNWaa_flipScene{perspective:720px;flex:none;width:52px;height:73px}.ZBNWaa_flipInner{width:100%;height:100%;transform-style:preserve-3d;position:relative}.ZBNWaa_flipFront,.ZBNWaa_flipBack{-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute;inset:0}.ZBNWaa_flipBack{transform:rotateY(180deg)}.ZBNWaa_flipScene .ZBNWaa_cardFace,.ZBNWaa_flipScene .ZBNWaa_cardBack,.ZBNWaa_flipFront .ZBNWaa_cardBack{width:100%;height:100%}@media (width<=720px){.ZBNWaa_table{padding:6px 10px 4px}.ZBNWaa_table:has([data-chat-composer]){padding-bottom:44px}.ZBNWaa_chatComposer{width:168px;left:10px}.ZBNWaa_chatLog{width:min(240px,48%)}.ZBNWaa_codeBar{flex-wrap:wrap;row-gap:4px}.ZBNWaa_codeMeta{flex:12em;min-width:8em}.ZBNWaa_avatar{width:48px;height:48px}.ZBNWaa_roleHeroImg{width:96px;height:96px}.ZBNWaa_selfRow{--self-seat-col:72px;gap:8px;min-height:72px}.ZBNWaa_selfSeat{flex-direction:column;gap:8px}.ZBNWaa_selfPlay .ZBNWaa_actions{padding-left:0;padding-right:0}.ZBNWaa_seatHead,.ZBNWaa_seatRight .ZBNWaa_seatHead{flex-direction:column;align-items:flex-start;gap:2px}.ZBNWaa_seatRight .ZBNWaa_seatHead{align-items:flex-end}.ZBNWaa_cardFace,.ZBNWaa_cardBack{width:72px;height:102px}.ZBNWaa_hand{padding-top:8px}.ZBNWaa_selfPlay .ZBNWaa_hand{height:116px;padding:8px 8px 0 0}.ZBNWaa_handInner{height:108px}.ZBNWaa_handCard{width:72px;height:102px;margin-left:-36px}.ZBNWaa_backs>*{margin-left:-32px}.ZBNWaa_backsCompact{width:78px;padding:0}.ZBNWaa_backsCompact .ZBNWaa_cardBack{border-radius:6px;width:30px;min-width:30px;height:42px}.ZBNWaa_backsCompact>*{margin-left:-18px}.ZBNWaa_cardsLeft{font-size:16px}.ZBNWaa_bottom .ZBNWaa_cardFace,.ZBNWaa_bottom .ZBNWaa_cardBack,.ZBNWaa_bottom .ZBNWaa_flipScene{width:44px;height:62px}}.ZBNWaa_sidebarSlot{box-sizing:border-box;width:100%;margin:0 2px 8px}.ZBNWaa_sidebarSlotRail{align-self:flex-start;width:36px;margin:0 0 12px}.ZBNWaa_sidebarBtn{border:1px solid var(--dsw-alias-border-l2,#e8e8e8);background:var(--dsw-alias-button-elevated-fill,#fff);width:100%;height:38px;color:inherit;cursor:pointer;box-sizing:border-box;font:inherit;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;display:flex}.ZBNWaa_sidebarBtn:hover{background:var(--dsw-alias-button-floating-hover,#0000000a)}.ZBNWaa_sidebarBtnActive{border-color:var(--dsw-alias-label-primary,#1a1a1a);background:var(--dsw-alias-bg-layer-2,#fafafa)}.ZBNWaa_sidebarBtnRail{background:0 0;border-color:#0000;width:36px;height:36px;padding:0}.ZBNWaa_reqList{flex-direction:column;gap:12px;margin:16px 0 12px;padding:0;list-style:none;display:flex}.ZBNWaa_reqItem{border:1px solid var(--dsw-alias-border-l2,#e8e8e8);border-radius:12px;padding:14px 16px}.ZBNWaa_reqItem[data-status=ok]{border-color:var(--dsw-alias-label-success,#2f8f62)}.ZBNWaa_reqItem[data-status=missing]{border-color:var(--dsw-alias-label-error,#d64545)}.ZBNWaa_reqTitle{margin-bottom:6px;font-size:14px;font-weight:600}.ZBNWaa_reqMeta{color:var(--dsw-alias-label-secondary,#5c5c5c);margin:0 0 8px;font-size:13px;line-height:1.5}.ZBNWaa_reqMeta a{color:var(--dsw-alias-label-primary,#1a1a1a);word-break:break-all}.ZBNWaa_reqMeta:last-child{margin-bottom:0}.ZBNWaa_installCmd{background:var(--dsw-alias-bg-module-platform,#f6f6f6);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;padding:8px 10px;font-size:12px;display:flex}.ZBNWaa_installCmd code{overflow-wrap:anywhere}.ZBNWaa_inviteBox{flex-direction:column;gap:8px;margin-top:12px;display:flex}.ZBNWaa_codeRow,.ZBNWaa_codeBar,.ZBNWaa_codeEdit{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.ZBNWaa_codeBar{width:100%;min-width:0;font-size:13px}.ZBNWaa_codeMeta{color:var(--dsw-alias-label-tertiary,#8a8a8a);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;font-size:13px;overflow:hidden}.ZBNWaa_codeBar>.ZBNWaa_muted{white-space:nowrap;flex:none}.ZBNWaa_codeBar .ZBNWaa_ghost{flex:none}.ZBNWaa_githubLink{width:32px;height:32px;color:var(--dsw-alias-label-secondary,#5c5c5c);border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.ZBNWaa_githubLink:hover{color:var(--dsw-alias-label-primary,#1a1a1a);background:var(--dsw-alias-button-floating-hover,#0000000a)}.ZBNWaa_codeValue{letter-spacing:.12em;background:var(--dsw-alias-bg-module-platform,#f3f3f3);user-select:all;cursor:pointer;border-radius:8px;flex:none;padding:4px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px;font-weight:700}.ZBNWaa_codeInput{letter-spacing:.12em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px;font-weight:700}.ZBNWaa_codeInput::placeholder{letter-spacing:0;font-size:13px;font-weight:500}.ZBNWaa_titleBtn{appearance:none;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.ZBNWaa_titleBtn:disabled{cursor:default}.ZBNWaa_miniHand{max-width:320px;display:flex;overflow:hidden}.ZBNWaa_miniHand>*{flex:none;width:52px;height:73px;margin-left:-26px}.ZBNWaa_miniHand .ZBNWaa_flipScene{width:52px;height:73px}.ZBNWaa_miniHand>:first-child{margin-left:0}.ZBNWaa_qr{border:1px solid var(--dsw-alias-border-l2,#e8e8e8);background:#fff;border-radius:8px;width:132px;height:132px}.ZBNWaa_timer{border:1px solid var(--dsw-alias-border-l2,#e8e8e8);background:var(--dsw-alias-bg-layer-3,#fff);max-width:280px;color:var(--dsw-alias-label-primary,#1a1a1a);border-radius:999px;justify-content:center;align-items:baseline;gap:6px;margin:0 auto;padding:6px 14px;font-size:13px;display:flex}.ZBNWaa_timer strong{font-variant-numeric:tabular-nums;font-size:22px;font-weight:650;line-height:1}.ZBNWaa_timerUrgent{border-color:var(--dsw-alias-label-error,#d64545);color:var(--dsw-alias-label-error,#d64545)}.ZBNWaa_banner{background:var(--dsw-alias-bg-module-platform,#f6f6f6);color:var(--dsw-alias-label-secondary,#5c5c5c);border-bottom:1px solid var(--dsw-alias-border-l2,#e8e8e8);padding:8px 16px;font-size:13px}.ZBNWaa_chatLog{z-index:4;pointer-events:auto;box-sizing:border-box;background:0 0;border-radius:12px;flex-direction:column;justify-content:flex-end;width:min(300px,38%);height:min(340px,100%);max-height:calc(100% - 16px);display:flex;position:absolute;top:8px;left:0}.ZBNWaa_chatLog:hover{background:#7ec8ff0f}.ZBNWaa_chatLogClose{color:#5eb0ff;text-align:center;cursor:pointer;opacity:0;pointer-events:none;z-index:1;background:#7ec8ff38;border:0;border-radius:50%;width:22px;height:22px;margin:0;padding:0;font-size:16px;font-weight:700;line-height:22px;position:absolute;top:0;right:0}.ZBNWaa_chatLog:hover .ZBNWaa_chatLogClose{opacity:1;pointer-events:auto}.ZBNWaa_chatLogClose:hover,.ZBNWaa_chatLogClose:focus-visible{color:#3a9dff;background:#7ec8ff66;outline:none}.ZBNWaa_chatLogScroll{scrollbar-width:none;max-height:100%;padding:24px 12px 8px 10px;overflow:hidden auto;-webkit-mask-image:linear-gradient(#0000 0,#000 28px 100%);mask-image:linear-gradient(#0000 0,#000 28px 100%)}.ZBNWaa_chatLogScroll::-webkit-scrollbar{display:none}.ZBNWaa_chatLogLine{color:var(--dsw-alias-label-secondary,#5c5c5c);text-shadow:0 0 8px var(--dsw-alias-bg-base,#fff);word-break:break-word;white-space:normal;font-size:13px;line-height:1.45;animation:.22s ease-out ZBNWaa_chatLogIn}.ZBNWaa_chatLogName{color:var(--dsw-alias-label-primary,#1a1a1a);font-weight:650}@keyframes ZBNWaa_chatLogIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.ZBNWaa_chatComposer{z-index:5;pointer-events:auto;flex:none;width:200px;max-width:calc(100% - 40px);margin:0;position:absolute;bottom:6px;left:20px}.ZBNWaa_chatInput{box-sizing:border-box;border-radius:10px;width:100%;height:36px}.ZBNWaa_settingsCard{border:1px solid var(--dsw-alias-border-l2,#e8e8e8);background:var(--dsw-alias-bg-layer-3,#fff);color:var(--dsw-alias-label-primary,#1a1a1a);border-radius:12px;list-style:none}.ZBNWaa_settingsCard:hover{border-color:var(--dsw-alias-label-dimmed,#c8c8c8)}.ZBNWaa_settingsOpen{background:var(--dsw-alias-bg-layer-2,#fafafa);border-color:var(--dsw-alias-label-dimmed,#c8c8c8)}.ZBNWaa_settingsHeader{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.ZBNWaa_settingsHeader:focus-visible{outline:2px solid var(--dsw-alias-brand-primary,#4d6bfe);outline-offset:-2px}.ZBNWaa_settingsHeadText{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.ZBNWaa_settingsName{color:var(--dsw-alias-label-primary,#1a1a1a);font-size:15px;font-weight:600;line-height:1.4}.ZBNWaa_settingsDesc{color:var(--dsw-alias-label-tertiary,#8a8a8a);font-size:13px;line-height:1.5}.ZBNWaa_settingsChevron{color:var(--dsw-alias-label-tertiary,#8a8a8a);flex:none;transition:transform .16s}.ZBNWaa_settingsChevronOpen{transform:rotate(180deg)}.ZBNWaa_settingsBody{border-top:1px solid var(--dsw-alias-border-l2,#e8e8e8);margin:0 16px;padding-bottom:8px}.ZBNWaa_settingsHint{color:var(--dsw-alias-label-tertiary,#8a8a8a);margin:12px 0 0;font-size:12px;line-height:1.5}.ZBNWaa_settingsField{flex-direction:column;gap:6px;padding:12px 0;display:flex}.ZBNWaa_settingsField+.ZBNWaa_settingsField{border-top:1px solid var(--dsw-alias-border-l2,#e8e8e8)}.ZBNWaa_settingsLabel{color:var(--dsw-alias-label-primary,#1a1a1a);font-size:13px;font-weight:500;line-height:1.5}.ZBNWaa_settingsSwitchRow{justify-content:space-between;align-items:center;gap:12px;display:flex}.ZBNWaa_settingsSwitch{appearance:none;cursor:pointer;background:0 0;border:0;flex:none;padding:0}.ZBNWaa_settingsSwitch:focus-visible{outline:2px solid var(--dsw-alias-brand-primary,#4d6bfe);outline-offset:2px;border-radius:999px}.ZBNWaa_settingsSwitchTrack{background:var(--dsw-alias-border-l2,#d9d9d9);border-radius:999px;width:36px;height:20px;transition:background .16s;display:block;position:relative}.ZBNWaa_settingsSwitchTrack[data-on]{background:var(--dsw-alias-label-primary,#1a1a1a)}.ZBNWaa_settingsSwitchThumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000029}.ZBNWaa_settingsSwitchTrack[data-on] .ZBNWaa_settingsSwitchThumb{transform:translate(16px)}.ZBNWaa_settingsInput{border:1px solid var(--dsw-alias-border-l2,#e8e8e8);background:var(--dsw-alias-bg-layer-3,#fff);height:34px;font:inherit;color:var(--dsw-alias-label-primary,#1a1a1a);border-radius:8px;padding:0 12px;font-size:13px;line-height:1.5}.ZBNWaa_settingsInput:focus-visible{border-color:var(--dsw-alias-brand-primary,#4d6bfe);outline:none}.ZBNWaa_settingsFieldHint{color:var(--dsw-alias-label-tertiary,#8a8a8a);margin:0;font-size:12px;line-height:1.5}.ZBNWaa_settingsActions{border-top:1px solid var(--dsw-alias-border-l2,#e8e8e8);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 0 16px;display:flex}.ZBNWaa_settingsSaveOk{color:var(--dsw-alias-label-success,#2f8f62);margin:0;font-size:12px;line-height:1.5}.ZBNWaa_settingsSaveError{color:var(--dsw-alias-label-error,#d64545);margin:0;font-size:12px;line-height:1.5}";
464
+ const css = ".ZBNWaa_tabShell{z-index:1;pointer-events:auto;flex-direction:column;min-width:0;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.ZBNWaa_root,.ZBNWaa_gate{background:var(--dsw-alias-bg-base,#fff);min-width:0;color:var(--dsw-alias-label-primary,#1a1a1a);pointer-events:auto;flex-direction:column;font-family:inherit;display:flex;overflow:hidden}.ZBNWaa_root{flex:1;height:100%;min-height:0}.ZBNWaa_gate{min-height:100vh}.ZBNWaa_topbar{border-bottom:1px solid var(--dsw-alias-border-l2,#e8e8e8);background:var(--dsw-alias-bg-layer-3,#fff);align-items:center;gap:8px;min-width:0;padding:12px 20px;display:flex}.ZBNWaa_topbar:has(.ZBNWaa_codeBar){padding-top:8px;padding-bottom:8px}.ZBNWaa_topbar .ZBNWaa_codeBar{flex:auto;min-width:0}.ZBNWaa_topbarActions{flex:none;align-items:center;gap:4px;margin-left:auto;display:flex}.ZBNWaa_brand{letter-spacing:.01em;color:var(--dsw-alias-label-primary,#1a1a1a);white-space:nowrap;flex:none;font-size:15px;font-weight:600}.ZBNWaa_brandTitle{white-space:nowrap;flex:none;align-items:center;gap:6px;min-width:0;display:inline-flex}.ZBNWaa_brandDash{color:var(--dsw-alias-label-primary,#1a1a1a);flex:none;font-size:15px;font-weight:600}.ZBNWaa_brandTitle .ZBNWaa_titleBtn{font-size:15px}.ZBNWaa_muted{color:var(--dsw-alias-label-tertiary,#8a8a8a);font-size:13px}.ZBNWaa_close{appearance:none;border:1px solid var(--dsw-alias-border-l2,#e8e8e8);color:var(--dsw-alias-label-secondary,#5c5c5c);cursor:pointer;font:inherit;background:0 0;border-radius:8px;padding:5px 14px;font-size:13px}.ZBNWaa_close:hover{color:var(--dsw-alias-label-primary,#1a1a1a);border-color:var(--dsw-alias-label-dimmed,#c8c8c8)}.ZBNWaa_lobby,.ZBNWaa_settlement{flex:1;padding:24px 20px;overflow:auto}.ZBNWaa_card{background:var(--dsw-alias-bg-layer-3,#fff);border:1px solid var(--dsw-alias-border-l2,#e8e8e8);border-radius:14px;max-width:760px;margin:0 auto;padding:28px 28px 24px}.ZBNWaa_card h2,.ZBNWaa_card h3{margin:0 0 4px;font-size:17px;font-weight:600;line-height:1.4}.ZBNWaa_card>.ZBNWaa_primary{align-self:center;width:100%;margin-top:4px}.ZBNWaa_tabs{border-bottom:1px solid var(--dsw-alias-border-l2,#e8e8e8);gap:0;margin:-4px 0 16px;display:flex}.ZBNWaa_tab{appearance:none;font:inherit;color:var(--dsw-alias-label-tertiary,#8a8a8a);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:8px 12px;font-size:14px;font-weight:500}.ZBNWaa_tab:hover{color:var(--dsw-alias-label-primary,#1a1a1a)}.ZBNWaa_tabActive{color:var(--dsw-alias-label-primary,#1a1a1a);border-bottom-color:var(--dsw-alias-label-primary,#1a1a1a)}.ZBNWaa_row{flex-wrap:wrap;gap:12px;margin:4px 0 8px;display:flex}.ZBNWaa_createFields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 16px;display:grid}.ZBNWaa_createFields>.ZBNWaa_field{min-width:0}.ZBNWaa_createFields>.ZBNWaa_field+.ZBNWaa_field{border-top:0}.ZBNWaa_fieldWide{grid-column:1/-1}.ZBNWaa_createFields .ZBNWaa_select,.ZBNWaa_createFields .ZBNWaa_input{box-sizing:border-box;width:100%}.ZBNWaa_field{min-width:160px;color:var(--dsw-alias-label-primary,#1a1a1a);flex-direction:column;gap:6px;padding:12px 0;font-size:13px;font-weight:500;display:flex}.ZBNWaa_field+.ZBNWaa_field{border-top:1px solid var(--dsw-alias-border-l2,#e8e8e8)}.ZBNWaa_fieldRow{flex-direction:row;align-items:center;gap:8px}.ZBNWaa_joinForm{flex-direction:column;display:flex}.ZBNWaa_joinFields{flex-direction:column;width:100%;display:flex}.ZBNWaa_joinFields .ZBNWaa_primary{width:100%;height:44px;font-weight:600}.ZBNWaa_joinInline{gap:32px;padding:14px 0;display:flex}.ZBNWaa_joinField{flex:1 1 0;align-items:center;gap:16px;min-width:0;display:flex}.ZBNWaa_joinField .ZBNWaa_settingsLabel{white-space:nowrap;color:var(--dsw-alias-label-primary,#1a1a1a);flex:none;font-size:13px;font-weight:500;line-height:1.5}.ZBNWaa_joinField .ZBNWaa_input{box-sizing:border-box;flex:auto;width:100%;min-width:0}@media (width<=480px){.ZBNWaa_joinInline{flex-direction:column;gap:12px}.ZBNWaa_joinFields .ZBNWaa_input{height:44px}}.ZBNWaa_select,.ZBNWaa_input{border:1px solid var(--dsw-alias-border-l2,#e8e8e8);background:var(--dsw-alias-bg-layer-3,#fff);height:40px;color:var(--dsw-alias-label-primary,#1a1a1a);font:inherit;border-radius:10px;padding:0 14px;font-size:14px}.ZBNWaa_select:focus-visible,.ZBNWaa_input:focus-visible{border-color:var(--dsw-alias-brand-primary,#4d6bfe);outline:none}.ZBNWaa_primary,.ZBNWaa_ghost,.ZBNWaa_danger{appearance:none;cursor:pointer;font:inherit;border-radius:10px;padding:7px 16px;font-size:14px;line-height:1.5}.ZBNWaa_primary{background:var(--dsw-alias-label-primary,#1a1a1a);color:var(--dsw-alias-bg-layer-3,#fff);border:1px solid #0000}.ZBNWaa_ghost{color:var(--dsw-alias-label-secondary,#5c5c5c);border:1px solid var(--dsw-alias-border-l2,#e8e8e8);background:0 0}.ZBNWaa_ghost:hover:not(:disabled){color:var(--dsw-alias-label-primary,#1a1a1a);border-color:var(--dsw-alias-label-dimmed,#c8c8c8)}.ZBNWaa_danger{color:var(--dsw-alias-label-error,#d64545);border:1px solid var(--dsw-alias-label-error,#d64545);background:0 0}.ZBNWaa_primary:disabled,.ZBNWaa_ghost:disabled{opacity:.4;cursor:default}.ZBNWaa_hint{color:var(--dsw-alias-label-tertiary,#8a8a8a);margin:0 0 8px;font-size:13px;font-weight:400;line-height:1.5}.ZBNWaa_warn{color:var(--dsw-alias-label-secondary,#8a6a1a)}.ZBNWaa_localOnlyBadge{color:#6b4e00;white-space:nowrap;background:#ffe066;border-radius:999px;flex:none;align-items:center;padding:2px 8px;font-size:12px;font-weight:650;line-height:1.4;display:inline-flex}.ZBNWaa_localOnlyNotice,.ZBNWaa_localOnlyBar{color:#7a5200;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;line-height:1.5;display:flex}.ZBNWaa_localOnlyNotice{background:#fff6cc;border:1px solid #f0c94d;border-radius:10px;margin:0 0 14px;padding:10px 12px}.ZBNWaa_localOnlyBar{background:#fff6cc;border-bottom:1px solid #f0c94d;padding:8px 20px}.ZBNWaa_error{color:var(--dsw-alias-label-error,#d64545);margin:8px 0 0;font-size:13px}.ZBNWaa_table{flex-direction:column;flex:1;gap:4px;min-width:0;min-height:0;padding:6px 20px 4px;display:flex;position:relative;overflow:hidden}.ZBNWaa_table:has([data-chat-composer]){padding-bottom:44px}.ZBNWaa_root:has([data-table]) .ZBNWaa_topbar{border-bottom:none}.ZBNWaa_opponents{flex:none;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;min-width:0;padding-top:32px;display:flex}.ZBNWaa_opponentsThree{justify-content:space-between}.ZBNWaa_seat{flex-direction:column;flex:1 1 0;align-items:flex-start;gap:4px;min-width:0;display:flex}.ZBNWaa_seatRight{align-items:flex-end}.ZBNWaa_seatCenter{align-items:center}.ZBNWaa_seatHead{align-items:center;gap:8px;min-width:0;max-width:100%;display:flex}.ZBNWaa_seatAvatarWrap{flex-direction:column;flex:none;align-items:center;display:flex;position:relative}.ZBNWaa_turnCue{pointer-events:none;z-index:2;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px;height:28px;display:flex;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.ZBNWaa_turnArrow{border-top:8px solid #f5c518;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0}.ZBNWaa_turnCueText{letter-spacing:.04em;color:#d4a017;white-space:nowrap;font-size:11px;font-weight:700}.ZBNWaa_seatRight .ZBNWaa_seatHead{flex-direction:row-reverse}.ZBNWaa_seatMeta{min-width:0;overflow:visible}.ZBNWaa_seatName{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:4px;font-size:15px;font-weight:600;display:flex}.ZBNWaa_selfRow{--self-seat-col:104px;width:100%;min-width:0;min-height:96px;padding-inline:var(--self-seat-col);box-sizing:border-box;flex-wrap:nowrap;flex:none;justify-content:center;align-items:flex-end;gap:16px;display:flex;position:relative}.ZBNWaa_selfSeat{z-index:4;width:var(--self-seat-col);pointer-events:none;flex-direction:column;flex:none;justify-content:flex-end;align-items:center;gap:10px;display:flex;position:absolute;bottom:0;left:0;overflow:visible}.ZBNWaa_selfSeat .ZBNWaa_seatName{align-self:flex-start;width:max-content}.ZBNWaa_selfPlay{isolation:isolate;box-sizing:border-box;flex-direction:column;flex:auto;align-self:stretch;align-items:center;gap:0;width:100%;min-width:0;padding-top:44px;display:flex;position:relative}.ZBNWaa_selfPlay .ZBNWaa_actions{z-index:3;pointer-events:auto;background:var(--dsw-alias-bg-base,#fff);box-sizing:border-box;width:100%;min-height:44px;padding:4px 8px;position:absolute;top:0;left:0;right:0}.ZBNWaa_selfPlay .ZBNWaa_actions .ZBNWaa_hint{margin:0}.ZBNWaa_selfPlay .ZBNWaa_hand{z-index:1;box-sizing:border-box;flex:none;justify-content:flex-start;width:auto;min-width:0;height:160px;padding:36px 8px 0 0;position:relative}.ZBNWaa_selfRow .ZBNWaa_hand{flex:auto;justify-content:flex-start;width:auto;min-width:0;padding-left:0}.ZBNWaa_settlementList{flex-direction:column;gap:8px;margin:12px 0;padding:0;list-style:none;display:flex}.ZBNWaa_settlementList li{flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:14px;display:flex}.ZBNWaa_settlementList li span:last-child{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.ZBNWaa_settlementWin span:last-child{color:#1a7f37}.ZBNWaa_settlementLose span:last-child{color:var(--dsw-alias-label-error,#d64545)}.ZBNWaa_settlementActions{gap:8px;margin-top:8px;display:flex}.ZBNWaa_settlementActions .ZBNWaa_primary,.ZBNWaa_settlementActions .ZBNWaa_danger{flex:1}.ZBNWaa_roleHero{flex-wrap:wrap;justify-content:center;gap:12px 16px;margin:12px 0 4px;display:flex}.ZBNWaa_roleHeroItem{color:var(--dsw-alias-label-secondary,#5c5c5c);flex-direction:column;align-items:center;gap:8px;margin:0;font-size:12px;font-weight:500;display:flex}.ZBNWaa_roleHeroItem figcaption{margin:0;line-height:1}.ZBNWaa_roleHeroImg{object-fit:contain;background:0 0;width:128px;height:128px}.ZBNWaa_badge{border:1.5px solid var(--dsw-alias-border-l2,#e8e8e8);color:var(--dsw-alias-label-secondary,#5c5c5c);box-sizing:border-box;background:0 0;border-radius:999px;flex:none;padding:2px 9px;font-size:13px;font-weight:600;display:inline-block}.ZBNWaa_badgeHost{color:#8a79b0;border-color:#8a79b0}.ZBNWaa_badgeLandlord{color:#dcc45c;border-color:#dcc45c}.ZBNWaa_badgeFarmer{color:#e86e6e;border-color:#e86e6e}.ZBNWaa_ready{color:var(--dsw-alias-label-success,#2f8f62);flex:none;font-size:13px;font-weight:600}.ZBNWaa_avatar{object-fit:contain;background:0 0;width:72px;height:72px}.ZBNWaa_avatarSelf{border-radius:50%;box-shadow:0 0 0 3px #4ea3ff,0 0 18px 6px #78c4ffb3}.ZBNWaa_remain{align-items:flex-end;gap:8px;max-width:100%;display:flex}.ZBNWaa_remainCompact{flex-direction:column;align-items:flex-start;gap:2px;min-height:0}.ZBNWaa_seatRight .ZBNWaa_remainCompact{align-items:flex-end}.ZBNWaa_backs{isolation:isolate;align-items:flex-end;min-width:0;display:flex}.ZBNWaa_backs>*{margin-left:-40px}.ZBNWaa_backs>:first-child{margin-left:0}.ZBNWaa_backsCompact{width:108px;min-width:0;max-width:100%;padding:0}.ZBNWaa_backsCompact>*{margin-left:-28px}.ZBNWaa_backsCompact>:first-child{margin-left:0}.ZBNWaa_backsCompact .ZBNWaa_cardBack{border-radius:8px;width:44px;min-width:44px;height:62px;box-shadow:1px 1px #00000014}.ZBNWaa_cardsLeft{font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-primary,#1a1a1a);min-width:1.25em;font-size:22px;font-weight:700;line-height:1}.ZBNWaa_centerPlay{flex:auto;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:132px;padding:16px 0;display:flex;position:relative;overflow:visible}.ZBNWaa_tableStatus{z-index:2;color:var(--dsw-alias-label-tertiary,#8a8a8a);text-align:center;white-space:nowrap;pointer-events:none;margin:0;font-size:15px;font-weight:400;line-height:1.5;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ZBNWaa_yourTurnToast{z-index:6;pointer-events:none;color:var(--dsw-alias-label-tertiary,#9a9a9a);letter-spacing:.04em;white-space:nowrap;text-shadow:0 0 10px var(--dsw-alias-bg-base,#fff);margin:0;font-size:16px;font-weight:500;animation:.18s ease-out ZBNWaa_yourTurnIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes ZBNWaa_yourTurnIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.ZBNWaa_yourTurnToast,.ZBNWaa_chatLogLine{animation:none}}.ZBNWaa_dealCanvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.ZBNWaa_readyCenter{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;max-width:280px;display:flex;position:relative}.ZBNWaa_readyCenter .ZBNWaa_hint{margin:0}.ZBNWaa_readyBtn,.ZBNWaa_unready,.ZBNWaa_start{appearance:none;min-width:148px;height:52px;font:inherit;letter-spacing:.08em;cursor:pointer;border-radius:999px;padding:0 28px;font-size:18px;font-weight:700}.ZBNWaa_readyBtn{color:#3a2a00;background:#f5c518;border:0;box-shadow:0 6px 18px #f5c51859}.ZBNWaa_readyBtn:hover{background:#ffd54a}.ZBNWaa_unready{color:#6a5200;background:#fff8d6;border:1px solid #d4a017}.ZBNWaa_start{color:#fff;background:#1a1a1a;border:0}.ZBNWaa_start:disabled{opacity:.35;cursor:default}.ZBNWaa_kick{appearance:none;border:1px solid var(--dsw-alias-label-error,#d64545);color:var(--dsw-alias-label-error,#d64545);font:inherit;cursor:pointer;background:0 0;border-radius:999px;margin-top:4px;padding:2px 10px;font-size:12px}.ZBNWaa_preview{flex-direction:column;gap:8px;display:flex}.ZBNWaa_previewList{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 16px;margin:8px 0 4px;display:grid}.ZBNWaa_previewList>div{justify-content:space-between;gap:12px;font-size:14px;display:flex}.ZBNWaa_previewList dt{color:var(--dsw-alias-label-tertiary,#8a8a8a);font-weight:500}.ZBNWaa_previewList dd{margin:0;font-weight:600}.ZBNWaa_previewSeats{flex-direction:column;gap:6px;margin:4px 0 8px;padding:0;list-style:none;display:flex}.ZBNWaa_previewSeats li{align-items:center;gap:8px;font-size:14px;display:flex}.ZBNWaa_previewActions{gap:8px;margin-top:8px;display:flex}.ZBNWaa_previewActions .ZBNWaa_primary,.ZBNWaa_previewActions .ZBNWaa_ghost{flex:1;height:44px}.ZBNWaa_bottom{flex-wrap:wrap;flex:none;justify-content:center;align-items:flex-end;gap:8px;display:flex}.ZBNWaa_bottom .ZBNWaa_cardFace,.ZBNWaa_bottom .ZBNWaa_cardBack,.ZBNWaa_bottom .ZBNWaa_flipScene{width:44px;height:62px}.ZBNWaa_bottom .ZBNWaa_remain,.ZBNWaa_bottom .ZBNWaa_backs{display:contents}.ZBNWaa_hand{flex:none;justify-content:center;width:100%;min-width:0;padding:8px 8px 0;display:flex;overflow:visible}.ZBNWaa_handInner{height:124px;margin:0 auto;position:relative}.ZBNWaa_handCard{appearance:none;cursor:grab;transform-origin:50% 100%;touch-action:none;background:0 0;border:0;width:88px;height:124px;margin:0 0 0 -44px;padding:0;position:absolute;bottom:0;left:50%}.ZBNWaa_handCard:active{cursor:grabbing}.ZBNWaa_handCard .ZBNWaa_cardFace{pointer-events:none}.ZBNWaa_selected{box-shadow:0 10px 18px #0000001f}.ZBNWaa_actions{flex-wrap:wrap;flex:none;justify-content:center;align-items:center;gap:8px;min-height:44px;display:flex}.ZBNWaa_cardFace,.ZBNWaa_cardBack{border:1px solid var(--dsw-alias-border-l2,#e0ddd6);color:#1a1a1a;background:#fff;border-radius:16px;flex-direction:column;flex:none;width:88px;height:124px;padding:0;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000f}.ZBNWaa_cardBack{color:#1a1a1a;background:#fff;justify-content:center;align-items:center;padding:0}.ZBNWaa_cardBackLandlord{box-shadow:0 0 0 2px #c62828}.ZBNWaa_backsCompact .ZBNWaa_cardBackLandlord{box-shadow:0 0 0 2px #c62828,1px 1px #00000014}.ZBNWaa_red{color:#c62828}.ZBNWaa_wild{box-shadow:0 0 0 2px var(--dsw-alias-brand-primary,#4d6bfe)}.ZBNWaa_rank{z-index:1;text-shadow:0 0 3px #fff,0 0 6px #fff;font-size:15px;font-weight:700;line-height:1;position:absolute;top:4px;left:6px}.ZBNWaa_suit{z-index:1;text-shadow:0 0 3px #fff,0 0 6px #fff;font-size:16px;line-height:1;position:absolute;bottom:4px;right:6px}.ZBNWaa_plainFace{justify-content:center;align-items:center}.ZBNWaa_suitCenter{font-size:36px;line-height:1}.ZBNWaa_jokerFace{justify-content:center;align-items:center;padding:0}.ZBNWaa_blackJoker{color:#1a1a1a}.ZBNWaa_jokerWord{z-index:1;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.08em;text-shadow:0 0 3px #fff,0 0 6px #fff;font-size:11px;font-weight:800;line-height:1.05;position:absolute;top:7px;left:6px}.ZBNWaa_jokerWordEnd{inset:auto 6px 7px auto;transform:rotate(180deg)}.ZBNWaa_jokerArt,.ZBNWaa_faceArt,.ZBNWaa_cardBackArt{pointer-events:none;object-fit:contain;background:0 0;width:100%;height:100%}.ZBNWaa_playFly{justify-content:center;align-items:flex-end;gap:4px;padding:6px 4px;display:flex;overflow:visible}.ZBNWaa_centerPlay .ZBNWaa_playFly .ZBNWaa_cardFace{border-radius:12px;width:72px;height:102px}.ZBNWaa_flipScene{perspective:720px;flex:none;width:52px;height:73px}.ZBNWaa_flipInner{width:100%;height:100%;transform-style:preserve-3d;position:relative}.ZBNWaa_flipFront,.ZBNWaa_flipBack{-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute;inset:0}.ZBNWaa_flipBack{transform:rotateY(180deg)}.ZBNWaa_flipScene .ZBNWaa_cardFace,.ZBNWaa_flipScene .ZBNWaa_cardBack,.ZBNWaa_flipFront .ZBNWaa_cardBack{width:100%;height:100%}@media (width<=720px){.ZBNWaa_table{padding:6px 10px 4px}.ZBNWaa_table:has([data-chat-composer]){padding-bottom:44px}.ZBNWaa_chatComposer{width:168px;left:10px}.ZBNWaa_chatLog{width:min(240px,48%)}.ZBNWaa_codeBar{flex-wrap:wrap;row-gap:4px}.ZBNWaa_codeMeta{flex:12em;min-width:8em}.ZBNWaa_avatar{width:48px;height:48px}.ZBNWaa_roleHeroImg{width:96px;height:96px}.ZBNWaa_selfRow{--self-seat-col:72px;gap:8px;min-height:72px}.ZBNWaa_selfSeat{flex-direction:column;gap:8px}.ZBNWaa_selfPlay .ZBNWaa_actions{padding-left:0;padding-right:0}.ZBNWaa_seatHead,.ZBNWaa_seatRight .ZBNWaa_seatHead{flex-direction:column;align-items:flex-start;gap:2px}.ZBNWaa_seatRight .ZBNWaa_seatHead{align-items:flex-end}.ZBNWaa_cardFace,.ZBNWaa_cardBack{width:72px;height:102px}.ZBNWaa_hand{padding-top:8px}.ZBNWaa_selfPlay .ZBNWaa_hand{height:116px;padding:8px 8px 0 0}.ZBNWaa_handInner{height:108px}.ZBNWaa_handCard{width:72px;height:102px;margin-left:-36px}.ZBNWaa_backs>*{margin-left:-32px}.ZBNWaa_backsCompact{width:78px;padding:0}.ZBNWaa_backsCompact .ZBNWaa_cardBack{border-radius:6px;width:30px;min-width:30px;height:42px}.ZBNWaa_backsCompact>*{margin-left:-18px}.ZBNWaa_cardsLeft{font-size:16px}.ZBNWaa_bottom .ZBNWaa_cardFace,.ZBNWaa_bottom .ZBNWaa_cardBack,.ZBNWaa_bottom .ZBNWaa_flipScene{width:44px;height:62px}}.ZBNWaa_sidebarSlot{box-sizing:border-box;width:100%;margin:0 2px 8px}.ZBNWaa_sidebarSlotRail{align-self:flex-start;width:36px;margin:0 0 12px}.ZBNWaa_sidebarBtn{border:1px solid var(--dsw-alias-border-l2,#e8e8e8);background:var(--dsw-alias-button-elevated-fill,#fff);width:100%;height:38px;color:inherit;cursor:pointer;box-sizing:border-box;font:inherit;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;display:flex}.ZBNWaa_sidebarBtn:hover{background:var(--dsw-alias-button-floating-hover,#0000000a)}.ZBNWaa_sidebarBtnActive{border-color:var(--dsw-alias-label-primary,#1a1a1a);background:var(--dsw-alias-bg-layer-2,#fafafa)}.ZBNWaa_sidebarBtnRail{background:0 0;border-color:#0000;width:36px;height:36px;padding:0}.ZBNWaa_reqList{flex-direction:column;gap:12px;margin:16px 0 12px;padding:0;list-style:none;display:flex}.ZBNWaa_reqItem{border:1px solid var(--dsw-alias-border-l2,#e8e8e8);border-radius:12px;padding:14px 16px}.ZBNWaa_reqItem[data-status=ok]{border-color:var(--dsw-alias-label-success,#2f8f62)}.ZBNWaa_reqItem[data-status=missing]{border-color:var(--dsw-alias-label-error,#d64545)}.ZBNWaa_reqTitle{margin-bottom:6px;font-size:14px;font-weight:600}.ZBNWaa_reqMeta{color:var(--dsw-alias-label-secondary,#5c5c5c);margin:0 0 8px;font-size:13px;line-height:1.5}.ZBNWaa_reqMeta a{color:var(--dsw-alias-label-primary,#1a1a1a);word-break:break-all}.ZBNWaa_reqMeta:last-child{margin-bottom:0}.ZBNWaa_installCmd{background:var(--dsw-alias-bg-module-platform,#f6f6f6);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;padding:8px 10px;font-size:12px;display:flex}.ZBNWaa_installCmd code{overflow-wrap:anywhere}.ZBNWaa_inviteBox{flex-direction:column;gap:8px;margin-top:12px;display:flex}.ZBNWaa_codeRow,.ZBNWaa_codeBar,.ZBNWaa_codeEdit{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.ZBNWaa_codeBar{width:100%;min-width:0;font-size:13px}.ZBNWaa_codeMeta{color:var(--dsw-alias-label-tertiary,#8a8a8a);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;font-size:13px;overflow:hidden}.ZBNWaa_codeBar>.ZBNWaa_muted,.ZBNWaa_codeBar>.ZBNWaa_localOnlyBadge{white-space:nowrap;flex:none}.ZBNWaa_codeBar .ZBNWaa_ghost{flex:none}.ZBNWaa_githubLink{width:32px;height:32px;color:var(--dsw-alias-label-secondary,#5c5c5c);border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.ZBNWaa_githubLink:hover{color:var(--dsw-alias-label-primary,#1a1a1a);background:var(--dsw-alias-button-floating-hover,#0000000a)}.ZBNWaa_codeValue{letter-spacing:.12em;background:var(--dsw-alias-bg-module-platform,#f3f3f3);user-select:all;cursor:pointer;border-radius:8px;flex:none;padding:4px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px;font-weight:700}.ZBNWaa_codeInput{letter-spacing:.12em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px;font-weight:700}.ZBNWaa_codeInput::placeholder{letter-spacing:0;font-size:13px;font-weight:500}.ZBNWaa_titleBtn{appearance:none;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.ZBNWaa_titleBtn:disabled{cursor:default}.ZBNWaa_miniHand{max-width:320px;display:flex;overflow:hidden}.ZBNWaa_miniHand>*{flex:none;width:52px;height:73px;margin-left:-26px}.ZBNWaa_miniHand .ZBNWaa_flipScene{width:52px;height:73px}.ZBNWaa_miniHand>:first-child{margin-left:0}.ZBNWaa_qr{border:1px solid var(--dsw-alias-border-l2,#e8e8e8);background:#fff;border-radius:8px;width:132px;height:132px}.ZBNWaa_timer{border:1px solid var(--dsw-alias-border-l2,#e8e8e8);background:var(--dsw-alias-bg-layer-3,#fff);max-width:280px;color:var(--dsw-alias-label-primary,#1a1a1a);border-radius:999px;justify-content:center;align-items:baseline;gap:6px;margin:0 auto;padding:6px 14px;font-size:13px;display:flex}.ZBNWaa_timer strong{font-variant-numeric:tabular-nums;font-size:22px;font-weight:650;line-height:1}.ZBNWaa_timerUrgent{border-color:var(--dsw-alias-label-error,#d64545);color:var(--dsw-alias-label-error,#d64545)}.ZBNWaa_banner{background:var(--dsw-alias-bg-module-platform,#f6f6f6);color:var(--dsw-alias-label-secondary,#5c5c5c);border-bottom:1px solid var(--dsw-alias-border-l2,#e8e8e8);padding:8px 16px;font-size:13px}.ZBNWaa_chatLog{z-index:4;pointer-events:auto;box-sizing:border-box;background:0 0;border-radius:12px;flex-direction:column;justify-content:flex-end;width:min(300px,38%);height:min(340px,100%);max-height:calc(100% - 16px);display:flex;position:absolute;top:8px;left:0}.ZBNWaa_chatLog:hover{background:#7ec8ff0f}.ZBNWaa_chatLogClose{color:#5eb0ff;text-align:center;cursor:pointer;opacity:0;pointer-events:none;z-index:1;background:#7ec8ff38;border:0;border-radius:50%;width:22px;height:22px;margin:0;padding:0;font-size:16px;font-weight:700;line-height:22px;position:absolute;top:0;right:0}.ZBNWaa_chatLog:hover .ZBNWaa_chatLogClose{opacity:1;pointer-events:auto}.ZBNWaa_chatLogClose:hover,.ZBNWaa_chatLogClose:focus-visible{color:#3a9dff;background:#7ec8ff66;outline:none}.ZBNWaa_chatLogScroll{scrollbar-width:none;max-height:100%;padding:24px 12px 8px 10px;overflow:hidden auto;-webkit-mask-image:linear-gradient(#0000 0,#000 28px 100%);mask-image:linear-gradient(#0000 0,#000 28px 100%)}.ZBNWaa_chatLogScroll::-webkit-scrollbar{display:none}.ZBNWaa_chatLogLine{color:var(--dsw-alias-label-secondary,#5c5c5c);text-shadow:0 0 8px var(--dsw-alias-bg-base,#fff);word-break:break-word;white-space:normal;font-size:13px;line-height:1.45;animation:.22s ease-out ZBNWaa_chatLogIn}.ZBNWaa_chatLogName{color:var(--dsw-alias-label-primary,#1a1a1a);font-weight:650}@keyframes ZBNWaa_chatLogIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.ZBNWaa_chatComposer{z-index:5;pointer-events:auto;flex:none;width:200px;max-width:calc(100% - 40px);margin:0;position:absolute;bottom:6px;left:20px}.ZBNWaa_chatInput{box-sizing:border-box;border-radius:10px;width:100%;height:36px}.ZBNWaa_settingsCard{border:1px solid var(--dsw-alias-border-l2,#e8e8e8);background:var(--dsw-alias-bg-layer-3,#fff);color:var(--dsw-alias-label-primary,#1a1a1a);border-radius:12px;list-style:none}.ZBNWaa_settingsCard:hover{border-color:var(--dsw-alias-label-dimmed,#c8c8c8)}.ZBNWaa_settingsOpen{background:var(--dsw-alias-bg-layer-2,#fafafa);border-color:var(--dsw-alias-label-dimmed,#c8c8c8)}.ZBNWaa_settingsHeader{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.ZBNWaa_settingsHeader:focus-visible{outline:2px solid var(--dsw-alias-brand-primary,#4d6bfe);outline-offset:-2px}.ZBNWaa_settingsHeadText{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.ZBNWaa_settingsName{color:var(--dsw-alias-label-primary,#1a1a1a);font-size:15px;font-weight:600;line-height:1.4}.ZBNWaa_settingsDesc{color:var(--dsw-alias-label-tertiary,#8a8a8a);font-size:13px;line-height:1.5}.ZBNWaa_settingsChevron{color:var(--dsw-alias-label-tertiary,#8a8a8a);flex:none;transition:transform .16s}.ZBNWaa_settingsChevronOpen{transform:rotate(180deg)}.ZBNWaa_settingsBody{border-top:1px solid var(--dsw-alias-border-l2,#e8e8e8);margin:0 16px;padding-bottom:8px}.ZBNWaa_settingsHint{color:var(--dsw-alias-label-tertiary,#8a8a8a);margin:12px 0 0;font-size:12px;line-height:1.5}.ZBNWaa_settingsField{flex-direction:column;gap:6px;padding:12px 0;display:flex}.ZBNWaa_settingsField+.ZBNWaa_settingsField{border-top:1px solid var(--dsw-alias-border-l2,#e8e8e8)}.ZBNWaa_settingsLabel{color:var(--dsw-alias-label-primary,#1a1a1a);font-size:13px;font-weight:500;line-height:1.5}.ZBNWaa_settingsSwitchRow{justify-content:space-between;align-items:center;gap:12px;display:flex}.ZBNWaa_settingsSwitch{appearance:none;cursor:pointer;background:0 0;border:0;flex:none;padding:0}.ZBNWaa_settingsSwitch:focus-visible{outline:2px solid var(--dsw-alias-brand-primary,#4d6bfe);outline-offset:2px;border-radius:999px}.ZBNWaa_settingsSwitchTrack{background:var(--dsw-alias-border-l2,#d9d9d9);border-radius:999px;width:36px;height:20px;transition:background .16s;display:block;position:relative}.ZBNWaa_settingsSwitchTrack[data-on]{background:var(--dsw-alias-label-primary,#1a1a1a)}.ZBNWaa_settingsSwitchThumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000029}.ZBNWaa_settingsSwitchTrack[data-on] .ZBNWaa_settingsSwitchThumb{transform:translate(16px)}.ZBNWaa_settingsInput{border:1px solid var(--dsw-alias-border-l2,#e8e8e8);background:var(--dsw-alias-bg-layer-3,#fff);height:34px;font:inherit;color:var(--dsw-alias-label-primary,#1a1a1a);border-radius:8px;padding:0 12px;font-size:13px;line-height:1.5}.ZBNWaa_settingsInput:focus-visible{border-color:var(--dsw-alias-brand-primary,#4d6bfe);outline:none}.ZBNWaa_settingsFieldHint{color:var(--dsw-alias-label-tertiary,#8a8a8a);margin:0;font-size:12px;line-height:1.5}.ZBNWaa_settingsActions{border-top:1px solid var(--dsw-alias-border-l2,#e8e8e8);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 0 16px;display:flex}.ZBNWaa_settingsSaveOk{color:var(--dsw-alias-label-success,#2f8f62);margin:0;font-size:12px;line-height:1.5}.ZBNWaa_settingsSaveError{color:var(--dsw-alias-label-error,#d64545);margin:0;font-size:12px;line-height:1.5}";
465
465
  const tagId = "dsh-poker/styles.module.css";
466
466
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
467
467
  const tag = document.createElement("style");
@@ -471,172 +471,191 @@ if (typeof document !== "undefined" && document.querySelector("style[data-plugin
471
471
  document.head.appendChild(tag);
472
472
  }
473
473
  var styles_module_css_default = {
474
- "flipInner": "ZBNWaa_flipInner",
475
- "settlementWin": "ZBNWaa_settlementWin",
476
474
  "settingsChevronOpen": "ZBNWaa_settingsChevronOpen",
477
- "banner": "ZBNWaa_banner",
478
- "hint": "ZBNWaa_hint",
479
- "opponentsThree": "ZBNWaa_opponentsThree",
480
- "settingsChevron": "ZBNWaa_settingsChevron",
481
- "jokerWord": "ZBNWaa_jokerWord",
482
- "seatCenter": "ZBNWaa_seatCenter",
483
- "handInner": "ZBNWaa_handInner",
484
- "codeInput": "ZBNWaa_codeInput",
475
+ "start": "ZBNWaa_start",
485
476
  "ready": "ZBNWaa_ready",
486
- "dealCanvas": "ZBNWaa_dealCanvas",
487
- "timer": "ZBNWaa_timer",
488
- "turnArrow": "ZBNWaa_turnArrow",
489
- "settingsSaveOk": "ZBNWaa_settingsSaveOk",
490
477
  "reqList": "ZBNWaa_reqList",
478
+ "error": "ZBNWaa_error",
479
+ "cardFace": "ZBNWaa_cardFace",
480
+ "remain": "ZBNWaa_remain",
491
481
  "reqItem": "ZBNWaa_reqItem",
482
+ "select": "ZBNWaa_select",
483
+ "seatCenter": "ZBNWaa_seatCenter",
484
+ "cardBackLandlord": "ZBNWaa_cardBackLandlord",
485
+ "lobby": "ZBNWaa_lobby",
486
+ "flipFront": "ZBNWaa_flipFront",
487
+ "settingsHeader": "ZBNWaa_settingsHeader",
488
+ "localOnlyBadge": "ZBNWaa_localOnlyBadge",
489
+ "table": "ZBNWaa_table",
490
+ "bottom": "ZBNWaa_bottom",
491
+ "handCard": "ZBNWaa_handCard",
492
+ "tabs": "ZBNWaa_tabs",
493
+ "turnCueText": "ZBNWaa_turnCueText",
494
+ "chatLogLine": "ZBNWaa_chatLogLine",
495
+ "avatarSelf": "ZBNWaa_avatarSelf",
492
496
  "settingsSaveError": "ZBNWaa_settingsSaveError",
493
- "gate": "ZBNWaa_gate",
494
- "topbar": "ZBNWaa_topbar",
495
- "selected": "ZBNWaa_selected",
496
- "blackJoker": "ZBNWaa_blackJoker",
497
- "chatLogScroll": "ZBNWaa_chatLogScroll",
498
- "kick": "ZBNWaa_kick",
499
- "fieldRow": "ZBNWaa_fieldRow",
500
- "selfRow": "ZBNWaa_selfRow",
501
- "settingsLabel": "ZBNWaa_settingsLabel",
502
- "previewSeats": "ZBNWaa_previewSeats",
503
- "flipScene": "ZBNWaa_flipScene",
504
- "settingsSwitch": "ZBNWaa_settingsSwitch",
505
- "settingsName": "ZBNWaa_settingsName",
506
- "close": "ZBNWaa_close",
507
- "cardsLeft": "ZBNWaa_cardsLeft",
508
- "tableStatus": "ZBNWaa_tableStatus",
509
- "brandTitle": "ZBNWaa_brandTitle",
510
- "sidebarBtn": "ZBNWaa_sidebarBtn",
511
- "yourTurnToast": "ZBNWaa_yourTurnToast",
512
- "selfPlay": "ZBNWaa_selfPlay",
513
- "sidebarBtnActive": "ZBNWaa_sidebarBtnActive",
514
- "settlementList": "ZBNWaa_settlementList",
515
- "topbarActions": "ZBNWaa_topbarActions",
516
- "badge": "ZBNWaa_badge",
517
- "ghost": "ZBNWaa_ghost",
518
- "hand": "ZBNWaa_hand",
497
+ "seatName": "ZBNWaa_seatName",
519
498
  "previewList": "ZBNWaa_previewList",
520
- "handCard": "ZBNWaa_handCard",
521
- "table": "ZBNWaa_table",
522
- "cardBackLandlord": "ZBNWaa_cardBackLandlord",
523
- "tabShell": "ZBNWaa_tabShell",
524
- "suit": "ZBNWaa_suit",
499
+ "githubLink": "ZBNWaa_githubLink",
500
+ "settingsLabel": "ZBNWaa_settingsLabel",
501
+ "seatRight": "ZBNWaa_seatRight",
502
+ "turnCue": "ZBNWaa_turnCue",
503
+ "yourTurnIn": "ZBNWaa_yourTurnIn",
504
+ "jokerWord": "ZBNWaa_jokerWord",
505
+ "tab": "ZBNWaa_tab",
525
506
  "codeRow": "ZBNWaa_codeRow",
526
- "input": "ZBNWaa_input",
507
+ "localOnlyBar": "ZBNWaa_localOnlyBar",
508
+ "row": "ZBNWaa_row",
509
+ "tabActive": "ZBNWaa_tabActive",
527
510
  "rank": "ZBNWaa_rank",
528
- "timerUrgent": "ZBNWaa_timerUrgent",
529
- "chatLog": "ZBNWaa_chatLog",
530
- "settingsActions": "ZBNWaa_settingsActions",
531
- "createFields": "ZBNWaa_createFields",
532
- "codeEdit": "ZBNWaa_codeEdit",
533
- "settingsCard": "ZBNWaa_settingsCard",
534
- "badgeLandlord": "ZBNWaa_badgeLandlord",
535
- "settlementLose": "ZBNWaa_settlementLose",
536
- "seatName": "ZBNWaa_seatName",
537
- "playFly": "ZBNWaa_playFly",
511
+ "seatHead": "ZBNWaa_seatHead",
538
512
  "warn": "ZBNWaa_warn",
539
- "titleBtn": "ZBNWaa_titleBtn",
513
+ "seatMeta": "ZBNWaa_seatMeta",
540
514
  "actions": "ZBNWaa_actions",
541
- "roleHeroItem": "ZBNWaa_roleHeroItem",
542
- "flipBack": "ZBNWaa_flipBack",
543
- "chatLogName": "ZBNWaa_chatLogName",
515
+ "reqMeta": "ZBNWaa_reqMeta",
516
+ "suit": "ZBNWaa_suit",
517
+ "miniHand": "ZBNWaa_miniHand",
518
+ "timerUrgent": "ZBNWaa_timerUrgent",
519
+ "selfRow": "ZBNWaa_selfRow",
520
+ "previewActions": "ZBNWaa_previewActions",
521
+ "chatLogClose": "ZBNWaa_chatLogClose",
522
+ "unready": "ZBNWaa_unready",
523
+ "selfPlay": "ZBNWaa_selfPlay",
544
524
  "selfSeat": "ZBNWaa_selfSeat",
545
- "settingsHint": "ZBNWaa_settingsHint",
546
- "codeBar": "ZBNWaa_codeBar",
547
- "wild": "ZBNWaa_wild",
548
- "joinFields": "ZBNWaa_joinFields",
549
- "tabActive": "ZBNWaa_tabActive",
550
- "brand": "ZBNWaa_brand",
551
- "field": "ZBNWaa_field",
552
- "jokerFace": "ZBNWaa_jokerFace",
553
- "qr": "ZBNWaa_qr",
554
- "brandDash": "ZBNWaa_brandDash",
525
+ "selected": "ZBNWaa_selected",
526
+ "seatAvatarWrap": "ZBNWaa_seatAvatarWrap",
527
+ "createFields": "ZBNWaa_createFields",
555
528
  "suitCenter": "ZBNWaa_suitCenter",
556
- "roleHeroImg": "ZBNWaa_roleHeroImg",
557
- "tab": "ZBNWaa_tab",
529
+ "fieldRow": "ZBNWaa_fieldRow",
530
+ "sidebarBtnRail": "ZBNWaa_sidebarBtnRail",
531
+ "opponents": "ZBNWaa_opponents",
532
+ "settlementList": "ZBNWaa_settlementList",
533
+ "centerPlay": "ZBNWaa_centerPlay",
534
+ "hand": "ZBNWaa_hand",
535
+ "codeEdit": "ZBNWaa_codeEdit",
536
+ "roleHero": "ZBNWaa_roleHero",
558
537
  "backs": "ZBNWaa_backs",
538
+ "roleHeroItem": "ZBNWaa_roleHeroItem",
539
+ "settlement": "ZBNWaa_settlement",
559
540
  "faceArt": "ZBNWaa_faceArt",
560
- "readyBtn": "ZBNWaa_readyBtn",
561
- "unready": "ZBNWaa_unready",
562
- "settingsSwitchTrack": "ZBNWaa_settingsSwitchTrack",
563
- "settingsInput": "ZBNWaa_settingsInput",
564
- "bottom": "ZBNWaa_bottom",
565
- "reqMeta": "ZBNWaa_reqMeta",
566
- "sidebarSlotRail": "ZBNWaa_sidebarSlotRail",
567
- "miniHand": "ZBNWaa_miniHand",
568
- "settingsDesc": "ZBNWaa_settingsDesc",
569
- "tabs": "ZBNWaa_tabs",
570
- "turnCue": "ZBNWaa_turnCue",
571
- "start": "ZBNWaa_start",
572
- "chatLogIn": "ZBNWaa_chatLogIn",
573
- "chatLogClose": "ZBNWaa_chatLogClose",
574
- "joinInline": "ZBNWaa_joinInline",
541
+ "joinFields": "ZBNWaa_joinFields",
542
+ "sidebarSlot": "ZBNWaa_sidebarSlot",
543
+ "codeInput": "ZBNWaa_codeInput",
544
+ "opponentsThree": "ZBNWaa_opponentsThree",
545
+ "settingsHeadText": "ZBNWaa_settingsHeadText",
546
+ "flipScene": "ZBNWaa_flipScene",
547
+ "sidebarBtnActive": "ZBNWaa_sidebarBtnActive",
548
+ "sidebarBtn": "ZBNWaa_sidebarBtn",
549
+ "red": "ZBNWaa_red",
550
+ "ghost": "ZBNWaa_ghost",
551
+ "settlementLose": "ZBNWaa_settlementLose",
552
+ "input": "ZBNWaa_input",
553
+ "codeValue": "ZBNWaa_codeValue",
554
+ "jokerWordEnd": "ZBNWaa_jokerWordEnd",
555
+ "topbarActions": "ZBNWaa_topbarActions",
556
+ "settingsChevron": "ZBNWaa_settingsChevron",
575
557
  "remainCompact": "ZBNWaa_remainCompact",
576
558
  "fieldWide": "ZBNWaa_fieldWide",
577
- "joinForm": "ZBNWaa_joinForm",
578
559
  "readyCenter": "ZBNWaa_readyCenter",
579
- "plainFace": "ZBNWaa_plainFace",
580
- "chatLogLine": "ZBNWaa_chatLogLine",
560
+ "settingsField": "ZBNWaa_settingsField",
561
+ "banner": "ZBNWaa_banner",
562
+ "joinForm": "ZBNWaa_joinForm",
563
+ "cardBack": "ZBNWaa_cardBack",
564
+ "dealCanvas": "ZBNWaa_dealCanvas",
565
+ "playFly": "ZBNWaa_playFly",
566
+ "chatLogName": "ZBNWaa_chatLogName",
567
+ "settingsDesc": "ZBNWaa_settingsDesc",
568
+ "badgeHost": "ZBNWaa_badgeHost",
581
569
  "backsCompact": "ZBNWaa_backsCompact",
582
- "cardFace": "ZBNWaa_cardFace",
583
- "sidebarBtnRail": "ZBNWaa_sidebarBtnRail",
570
+ "cardBackArt": "ZBNWaa_cardBackArt",
571
+ "settingsHint": "ZBNWaa_settingsHint",
572
+ "settingsInput": "ZBNWaa_settingsInput",
573
+ "flipInner": "ZBNWaa_flipInner",
574
+ "titleBtn": "ZBNWaa_titleBtn",
575
+ "cardsLeft": "ZBNWaa_cardsLeft",
576
+ "joinField": "ZBNWaa_joinField",
577
+ "plainFace": "ZBNWaa_plainFace",
578
+ "badgeLandlord": "ZBNWaa_badgeLandlord",
579
+ "topbar": "ZBNWaa_topbar",
580
+ "chatLogIn": "ZBNWaa_chatLogIn",
581
+ "settingsName": "ZBNWaa_settingsName",
582
+ "settingsSaveOk": "ZBNWaa_settingsSaveOk",
583
+ "codeBar": "ZBNWaa_codeBar",
584
584
  "reqTitle": "ZBNWaa_reqTitle",
585
- "settingsHeadText": "ZBNWaa_settingsHeadText",
586
- "card": "ZBNWaa_card",
587
- "root": "ZBNWaa_root",
588
- "settlement": "ZBNWaa_settlement",
589
- "danger": "ZBNWaa_danger",
590
- "preview": "ZBNWaa_preview",
591
- "previewActions": "ZBNWaa_previewActions",
592
- "roleHero": "ZBNWaa_roleHero",
593
- "jokerArt": "ZBNWaa_jokerArt",
585
+ "seat": "ZBNWaa_seat",
586
+ "timer": "ZBNWaa_timer",
594
587
  "primary": "ZBNWaa_primary",
595
- "select": "ZBNWaa_select",
596
- "remain": "ZBNWaa_remain",
597
- "jokerWordEnd": "ZBNWaa_jokerWordEnd",
598
- "seatRight": "ZBNWaa_seatRight",
599
- "joinField": "ZBNWaa_joinField",
600
- "chatComposer": "ZBNWaa_chatComposer",
601
- "sidebarSlot": "ZBNWaa_sidebarSlot",
602
- "installCmd": "ZBNWaa_installCmd",
603
- "centerPlay": "ZBNWaa_centerPlay",
604
- "avatar": "ZBNWaa_avatar",
605
- "yourTurnIn": "ZBNWaa_yourTurnIn",
606
- "githubLink": "ZBNWaa_githubLink",
607
- "lobby": "ZBNWaa_lobby",
608
- "cardBack": "ZBNWaa_cardBack",
609
- "flipFront": "ZBNWaa_flipFront",
610
- "settingsOpen": "ZBNWaa_settingsOpen",
611
- "opponents": "ZBNWaa_opponents",
612
- "error": "ZBNWaa_error",
613
- "row": "ZBNWaa_row",
588
+ "settingsSwitchTrack": "ZBNWaa_settingsSwitchTrack",
589
+ "kick": "ZBNWaa_kick",
590
+ "settingsSwitchThumb": "ZBNWaa_settingsSwitchThumb",
591
+ "settlementActions": "ZBNWaa_settlementActions",
592
+ "codeMeta": "ZBNWaa_codeMeta",
593
+ "brand": "ZBNWaa_brand",
594
+ "jokerArt": "ZBNWaa_jokerArt",
595
+ "tableStatus": "ZBNWaa_tableStatus",
596
+ "root": "ZBNWaa_root",
597
+ "localOnlyNotice": "ZBNWaa_localOnlyNotice",
598
+ "settlementWin": "ZBNWaa_settlementWin",
599
+ "previewSeats": "ZBNWaa_previewSeats",
600
+ "field": "ZBNWaa_field",
601
+ "blackJoker": "ZBNWaa_blackJoker",
602
+ "gate": "ZBNWaa_gate",
603
+ "card": "ZBNWaa_card",
604
+ "tabShell": "ZBNWaa_tabShell",
614
605
  "badgeFarmer": "ZBNWaa_badgeFarmer",
615
- "cardBackArt": "ZBNWaa_cardBackArt",
606
+ "wild": "ZBNWaa_wild",
607
+ "muted": "ZBNWaa_muted",
608
+ "badge": "ZBNWaa_badge",
609
+ "chatLog": "ZBNWaa_chatLog",
610
+ "settingsOpen": "ZBNWaa_settingsOpen",
611
+ "flipBack": "ZBNWaa_flipBack",
612
+ "installCmd": "ZBNWaa_installCmd",
613
+ "close": "ZBNWaa_close",
614
+ "turnArrow": "ZBNWaa_turnArrow",
615
+ "qr": "ZBNWaa_qr",
616
+ "settingsSwitch": "ZBNWaa_settingsSwitch",
617
+ "yourTurnToast": "ZBNWaa_yourTurnToast",
618
+ "readyBtn": "ZBNWaa_readyBtn",
619
+ "handInner": "ZBNWaa_handInner",
620
+ "jokerFace": "ZBNWaa_jokerFace",
616
621
  "inviteBox": "ZBNWaa_inviteBox",
617
- "codeMeta": "ZBNWaa_codeMeta",
622
+ "chatInput": "ZBNWaa_chatInput",
618
623
  "settingsSwitchRow": "ZBNWaa_settingsSwitchRow",
619
- "seatAvatarWrap": "ZBNWaa_seatAvatarWrap",
620
- "settingsBody": "ZBNWaa_settingsBody",
621
- "turnCueText": "ZBNWaa_turnCueText",
622
- "red": "ZBNWaa_red",
623
- "settingsSwitchThumb": "ZBNWaa_settingsSwitchThumb",
624
- "settingsHeader": "ZBNWaa_settingsHeader",
625
- "muted": "ZBNWaa_muted",
626
- "seat": "ZBNWaa_seat",
627
- "seatMeta": "ZBNWaa_seatMeta",
628
- "badgeHost": "ZBNWaa_badgeHost",
629
- "settingsField": "ZBNWaa_settingsField",
624
+ "brandTitle": "ZBNWaa_brandTitle",
630
625
  "settingsFieldHint": "ZBNWaa_settingsFieldHint",
631
- "settlementActions": "ZBNWaa_settlementActions",
632
- "avatarSelf": "ZBNWaa_avatarSelf",
633
- "codeValue": "ZBNWaa_codeValue",
634
- "seatHead": "ZBNWaa_seatHead",
635
- "chatInput": "ZBNWaa_chatInput"
626
+ "joinInline": "ZBNWaa_joinInline",
627
+ "preview": "ZBNWaa_preview",
628
+ "hint": "ZBNWaa_hint",
629
+ "settingsCard": "ZBNWaa_settingsCard",
630
+ "brandDash": "ZBNWaa_brandDash",
631
+ "sidebarSlotRail": "ZBNWaa_sidebarSlotRail",
632
+ "settingsBody": "ZBNWaa_settingsBody",
633
+ "settingsActions": "ZBNWaa_settingsActions",
634
+ "chatComposer": "ZBNWaa_chatComposer",
635
+ "danger": "ZBNWaa_danger",
636
+ "roleHeroImg": "ZBNWaa_roleHeroImg",
637
+ "avatar": "ZBNWaa_avatar",
638
+ "chatLogScroll": "ZBNWaa_chatLogScroll"
636
639
  };
637
640
 
638
641
  //#endregion
639
642
  //#region src/client/InviteDialog.tsx
643
+ const LOCAL_ONLY_COPY = "去设置里填对外地址,才能分享给朋友一起玩。";
644
+ function LocalOnlyHint({ variant = "card" }) {
645
+ if (variant === "badge") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
646
+ className: styles_module_css_default.localOnlyBadge,
647
+ title: LOCAL_ONLY_COPY,
648
+ children: "仅本机"
649
+ });
650
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
651
+ className: variant === "bar" ? styles_module_css_default.localOnlyBar : styles_module_css_default.localOnlyNotice,
652
+ role: "status",
653
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
654
+ className: styles_module_css_default.localOnlyBadge,
655
+ children: "仅本机"
656
+ }), LOCAL_ONLY_COPY]
657
+ });
658
+ }
640
659
  function InviteDialog({ roomCode, sitUrl, shareable }) {
641
660
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
642
661
  className: styles_module_css_default.inviteBox,
@@ -678,14 +697,7 @@ function InviteDialog({ roomCode, sitUrl, shareable }) {
678
697
  alt: "room qr",
679
698
  src: `https://api.qrserver.com/v1/create-qr-code/?size=132x132&data=${encodeURIComponent(sitUrl)}`
680
699
  })
681
- ] }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
682
- className: `${styles_module_css_default.hint} ${styles_module_css_default.warn}`,
683
- children: [
684
- "要给别的机器用,先在插件设置里填 publicBaseUrl(named tunnel 或反代到本机端口)。 生产环境的 dsh web 不能绑 0.0.0.0,所以局域网 IP 用不了。本机再开一个 DSH 标签点 dsh-poker 填房号,或打开 ",
685
- sitUrl || "loopback 邀请页",
686
- " 进入斗地主 tab。"
687
- ]
688
- })]
700
+ ] }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LocalOnlyHint, {})]
689
701
  });
690
702
  }
691
703
  function RoomCodeBar({ brand, title, roomCode, sitUrl, shareable, canRename, onRename, meta, aside }) {
@@ -765,10 +777,7 @@ function RoomCodeBar({ brand, title, roomCode, sitUrl, shareable, canRename, onR
765
777
  navigator.clipboard.writeText(sitUrl);
766
778
  },
767
779
  children: "复制链接"
768
- }) : sitUrl ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
769
- className: styles_module_css_default.muted,
770
- children: "仅本机"
771
- }) : null,
780
+ }) : sitUrl ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LocalOnlyHint, { variant: "badge" }) : null,
772
781
  meta ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
773
782
  className: styles_module_css_default.codeMeta,
774
783
  children: meta
@@ -1038,6 +1047,7 @@ function LobbyView({ tab, onTab, title, stakeM, maxMultiplier, seatCount, laiZi,
1038
1047
  })
1039
1048
  ] }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
1040
1049
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h2", { children: "创建房间" }),
1050
+ shareable ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LocalOnlyHint, {}),
1041
1051
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
1042
1052
  className: styles_module_css_default.hint,
1043
1053
  children: "好友局信房主这台机器上的账本。积分不是 DeepSeek 平台余额。"
@@ -8399,6 +8409,7 @@ function HostApp({ onClose }) {
8399
8409
  const [preview, setPreview] = (0, react.useState)(null);
8400
8410
  const [state, setState] = (0, react.useState)(emptyState);
8401
8411
  const [turnTimeoutSec, setTurnTimeoutSec] = (0, react.useState)(DEFAULT_TURN_TIMEOUT_SEC);
8412
+ const [configShareable, setConfigShareable] = (0, react.useState)(false);
8402
8413
  const [creating, setCreating] = (0, react.useState)(false);
8403
8414
  const [joining, setJoining] = (0, react.useState)(false);
8404
8415
  const [previewing, setPreviewing] = (0, react.useState)(false);
@@ -8438,8 +8449,9 @@ function HostApp({ onClose }) {
8438
8449
  (0, react.useEffect)(() => {
8439
8450
  let cancelled = false;
8440
8451
  fetchPluginReady().then((ready) => {
8441
- if (cancelled || typeof ready.turnTimeoutMs !== "number") return;
8442
- setTurnTimeoutSec(turnTimeoutSecFromMs(ready.turnTimeoutMs));
8452
+ if (cancelled) return;
8453
+ if (typeof ready.turnTimeoutMs === "number") setTurnTimeoutSec(turnTimeoutSecFromMs(ready.turnTimeoutMs));
8454
+ if (typeof ready.shareable === "boolean") setConfigShareable(ready.shareable);
8443
8455
  }).catch(() => {});
8444
8456
  return () => {
8445
8457
  cancelled = true;
@@ -8668,6 +8680,7 @@ function HostApp({ onClose }) {
8668
8680
  className: styles_module_css_default.banner,
8669
8681
  children: state.error
8670
8682
  }) : null,
8683
+ view && !state.shareable && view.room.phase === "waiting" && view.you.playerId === view.room.hostPlayerId ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LocalOnlyHint, { variant: "bar" }) : null,
8671
8684
  !state.view ? preview ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
8672
8685
  className: styles_module_css_default.lobby,
8673
8686
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
@@ -8707,7 +8720,7 @@ function HostApp({ onClose }) {
8707
8720
  roomCode: state.roomCode,
8708
8721
  sitUrl: state.sitUrl,
8709
8722
  watchUrl: state.watchUrl,
8710
- shareable: state.shareable,
8723
+ shareable: state.roomCode ? state.shareable : configShareable,
8711
8724
  welcomeAtoms: DEFAULT_WELCOME_ATOMS,
8712
8725
  turnTimeoutSec,
8713
8726
  join: {