:root{--rpx:calc(min(100vw,600px) / 750)}*{box-sizing:border-box}body{margin:0;background:#f5efdb;color:#302d25;font-family:system-ui,-apple-system,'PingFang SC',sans-serif}#app{max-width:600px;margin:auto;min-height:100dvh}button,input{font:inherit}button{cursor:pointer;border:0;padding:0 14px;line-height:1.4}button:disabled{cursor:default}img{max-width:100%;object-fit:cover}input{min-width:0}button::after{display:none}span{white-space:pre-wrap}.web-scroll-x{overflow-x:auto;overflow-y:hidden}.web-scroll-y{overflow-y:auto}.web-toast{position:fixed;bottom:22%;left:50%;transform:translateX(-50%);background:#403429;color:#fff;padding:14px 20px;border-radius:12px;z-index:5000;max-width:85%;pointer-events:none}.web-profile-shortcut{position:fixed;right:12px;top:12px;z-index:50;background:#ece1c9;color:#704329;border:1px solid #c6ad87;border-radius:20px;padding:8px 14px}.web-profile-sheet{position:fixed;inset:0;background:#211a1680;z-index:4000;display:grid;place-items:center}.web-profile-card{background:#faf4e5;border:1px solid #c8ad80;border-radius:18px;width:min(90vw,400px);padding:22px}.web-profile-card input{width:100%;padding:12px;margin:14px 0;border:1px solid #c8ad80;background:#fff9ee;border-radius:8px}.web-avatar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.web-avatar-grid img{width:60px;height:60px;border-radius:50%;border:3px solid transparent;cursor:pointer}.web-avatar-grid img.selected{border-color:#a86542}.web-profile-actions{display:flex;gap:12px;margin-top:18px}.web-profile-actions button{padding:12px;background:#a86542;color:white;border-radius:8px;flex:1}


body {
  min-height: 100vh;
  background: #f5f4ed;
  color: #141413;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", sans-serif;
}

.page {
  min-height: 100vh;
  box-sizing: border-box;
  padding: calc(var(--rpx) * 34) calc(var(--rpx) * 30) calc(var(--rpx) * 48);
  background:
    radial-gradient(circle at 88% 6%, rgba(201, 100, 66, 0.12), transparent calc(var(--rpx) * 190)),
    linear-gradient(180deg, rgba(232, 230, 220, 0.68), rgba(245, 244, 237, 0) calc(var(--rpx) * 280)),
    repeating-linear-gradient(90deg, rgba(232, 230, 220, 0.58) 0, rgba(232, 230, 220, 0.58) calc(var(--rpx) * 1), transparent calc(var(--rpx) * 1), transparent calc(var(--rpx) * 36)),
    #f5f4ed;
}

.title {
  color: #141413;
  font-family: Georgia, "Times New Roman", serif;
  font-size: calc(var(--rpx) * 48);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.08;
  margin: calc(var(--rpx) * 8) 0 calc(var(--rpx) * 10);
}

.subtitle {
  color: #5e5d59;
  font-size: calc(var(--rpx) * 26);
  line-height: 1.5;
}

.panel {
  background: rgba(250, 249, 245, 0.94);
  border: calc(var(--rpx) * 2) solid #f0eee6;
  border-radius: calc(var(--rpx) * 16);
  box-shadow: 0 0 0 calc(var(--rpx) * 2) rgba(240, 238, 230, 0.7);
  box-sizing: border-box;
  margin-bottom: calc(var(--rpx) * 24);
  padding: calc(var(--rpx) * 26);
}

.row {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: calc(var(--rpx) * 20);
}

.label {
  color: #5e5d59;
  font-size: calc(var(--rpx) * 23);
  font-weight: 700;
}

.value {
  color: #141413;
  font-size: calc(var(--rpx) * 34);
  font-weight: 900;
}

.input {
  background: linear-gradient(180deg, #faf9f5, rgba(232, 230, 220, 0.52));
  border: calc(var(--rpx) * 2) solid #e8e6dc;
  border-radius: calc(var(--rpx) * 14);
  box-sizing: border-box;
  color: #141413;
  height: calc(var(--rpx) * 86);
  margin-top: calc(var(--rpx) * 12);
  padding: 0 calc(var(--rpx) * 22);
}

.button {
  border: calc(var(--rpx) * 2) solid rgba(61, 61, 58, 0.2);
  border-radius: calc(var(--rpx) * 16);
  box-shadow: inset 0 0 0 calc(var(--rpx) * 2) rgba(250, 249, 245, 0.36);
  font-weight: 800;
  margin: 0;
}

.button.primary {
  background: #c96442;
  color: #faf9f5;
}

.button.secondary {
  background: #e8e6dc;
  color: #3d3d3a;
}

.button.danger {
  background: #b53333;
  color: #faf9f5;
}

.button.ghost {
  background: rgba(232, 230, 220, 0.72);
  color: #3d3d3a;
}

.stack {
  display: flex;
  flex-direction: column;
  gap: calc(var(--rpx) * 16);
}

.card {
  background: linear-gradient(135deg, #faf9f5 0%, #e8e6dc 100%);
  border: calc(var(--rpx) * 2) solid #e8e6dc;
  border-radius: calc(var(--rpx) * 16);
  box-shadow: 0 calc(var(--rpx) * 18) calc(var(--rpx) * 42) rgba(46, 25, 14, 0.12);
  padding: calc(var(--rpx) * 26);
}

.card-title {
  color: #141413;
  font-family: Georgia, "Times New Roman", serif;
  font-size: calc(var(--rpx) * 42);
  font-weight: 500;
}

.card-note {
  color: #5e5d59;
  font-size: calc(var(--rpx) * 24);
  margin-top: calc(var(--rpx) * 8);
}

.list {
  display: flex;
  flex-direction: column;
  gap: calc(var(--rpx) * 12);
}

.list-item {
  align-items: center;
  background: #faf9f5;
  border: calc(var(--rpx) * 2) solid #f0eee6;
  border-radius: calc(var(--rpx) * 16);
  display: flex;
  justify-content: space-between;
  padding: calc(var(--rpx) * 18);
}

.muted {
  color: #87867f;
}

.td-mask{position:fixed;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;padding:24px 20px;background:#1712179e;backdrop-filter:blur(5px);box-sizing:border-box}.td-dialog{position:relative;display:flex;flex-direction:column;box-sizing:border-box;width:min(100%,420px);max-height:calc(100dvh - 80px);border:3px solid #171217;border-radius:8px 23px 8px 23px;background:#fff6e3;box-shadow:7px 7px 0 #171217;padding:20px 18px 18px;color:#171217;animation:td-sticker-enter .24s cubic-bezier(.2,1.15,.3,1) both}.td-corner-sticker{position:absolute;left:19px;top:-19px;width:34px;height:34px;border:2px solid #171217;background:#edff42;box-shadow:2px 2px 0 #171217;border-radius:50%;font-size:24px;font-weight:1000;display:flex;align-items:center;justify-content:center;transform:rotate(-12deg)}.td-header{display:flex;align-items:center;justify-content:space-between;gap:15px;flex:none;margin:7px 0 18px}.td-title{font-size:22px;font-weight:1000;line-height:1.35;letter-spacing:-.6px;min-width:0;overflow-wrap:anywhere}.td-dialog button.td-close{display:flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;min-height:0;margin:0;padding:0;border:2px solid #171217;border-radius:50%;background:#8252e8;color:white;font-family:Arial,sans-serif;font-size:25px;font-weight:700;line-height:1;box-shadow:2px 2px 0 #171217;transform:rotate(8deg)}.td-dialog button.td-close::after{border:0}.td-content{display:block;min-height:0;overflow-y:auto;overscroll-behavior:contain;max-height:55dvh;font-size:14px;font-weight:600;line-height:1.8;word-break:break-word;color:#56485c;padding:0 2px 4px}.td-copy{white-space:pre-wrap}.td-dialog input.td-input{display:block;box-sizing:border-box;width:100%;height:49px;min-height:49px;margin:13px 0 5px;padding:10px 12px;border:2px solid #171217;border-radius:7px;background:#fffdf7;color:#171217;font-size:18px;font-weight:900;line-height:1.4;outline-offset:3px}.td-actions{display:flex;gap:12px;flex:none;margin-top:20px;padding-right:3px}.td-dialog .td-actions button{min-width:0;flex:1;width:auto;min-height:46px;margin:0;padding:11px 10px;border:2px solid #171217;border-radius:8px;background:#edff42;color:#171217;box-shadow:3px 3px 0 #171217;font-size:14px;font-weight:1000;line-height:1.4}.td-dialog .td-actions button.td-confirm{background:#8252e8;color:white}.td-dialog .td-actions button::after{border:0}.td-dialog .td-actions button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #171217}.td-dialog button:focus-visible{outline:3px solid #8252e8;outline-offset:4px}@keyframes td-sticker-enter{from{opacity:0;transform:translateY(15px) scale(.9) rotate(-4deg)}to{opacity:1;transform:none}}@media(max-width:350px){.td-mask{padding:20px 15px}.td-dialog{padding:18px 14px 16px;box-shadow:5px 5px 0 #171217}.td-title{font-size:19px}.td-actions{gap:8px}.td-dialog .td-actions button{font-size:12px}.td-content{font-size:13px}}@media(prefers-reduced-motion:reduce){.td-dialog{animation:none}}



.home-page{position:relative;box-sizing:border-box;min-height:100vh;padding:100px calc(var(--rpx) * 30) max(calc(var(--rpx) * 36),env(safe-area-inset-bottom));overflow:hidden;background:#f4efdf;color:#493a2b}
.paper-art{position:absolute;inset:0;width:100%;height:100%;opacity:.34;z-index:0;pointer-events:none}
.home-page::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(90deg,#cbbd9b0c 0,#cbbd9b0c calc(var(--rpx) * 1),transparent calc(var(--rpx) * 1),transparent calc(var(--rpx) * 40))}
.home-content{position:relative;z-index:2;display:flex;flex-direction:column;gap:calc(var(--rpx) * 22);max-width:calc(var(--rpx) * 900);margin:0 auto}
.panel{position:relative;box-sizing:border-box;padding:calc(var(--rpx) * 28) calc(var(--rpx) * 30) calc(var(--rpx) * 30);background:linear-gradient(145deg,#fffdf6ed,#f8f1e1ed);border:calc(var(--rpx) * 1) solid #d7c6a7;border-radius:calc(var(--rpx) * 20);box-shadow:0 calc(var(--rpx) * 7) calc(var(--rpx) * 24) #76522c10,0 calc(var(--rpx) * 1) calc(var(--rpx) * 2) #ffffff}
.section-title{margin-bottom:calc(var(--rpx) * 24);padding:calc(var(--rpx) * 4) 0 0;text-align:center;font-size:calc(var(--rpx) * 32);font-weight:700;line-height:1.4;color:#5b432f}
.game-type-grid,.tool-grid{display:grid;gap:calc(var(--rpx) * 12)}
.game-type-grid{margin-bottom:calc(var(--rpx) * 24)}
.game-type-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(var(--rpx) * 12)}
.game-type-card{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-width:0;min-height:calc(var(--rpx) * 92);position:relative;margin:0;padding:calc(var(--rpx) * 12) calc(var(--rpx) * 14);border:calc(var(--rpx) * 1) solid #ded0b6;border-radius:calc(var(--rpx) * 10);background:linear-gradient(145deg,#fffaf0,#eee2cc);color:#624b36;box-shadow:inset 0 0 0 calc(var(--rpx) * 4) #fff9ef80,0 calc(var(--rpx) * 2) calc(var(--rpx) * 3) #72533408;text-align:center;line-height:1.4;overflow:hidden}
.game-type-card.selected{background:linear-gradient(135deg,#79563c,#4d3527);border-color:#694d36;color:#fff4df;box-shadow:inset 0 0 0 calc(var(--rpx) * 4) #d2b18330,0 calc(var(--rpx) * 4) calc(var(--rpx) * 10) #5c3e2428}
.game-type-card.disabled{opacity:.46}
.game-type-name{max-width:100%;font-size:calc(var(--rpx) * 27);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.game-type-variant{margin-top:calc(var(--rpx) * 3);font-size:calc(var(--rpx) * 21);line-height:1.3;opacity:.85}
.home-page .home-button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;height:calc(var(--rpx) * 86);padding:0 calc(var(--rpx) * 20);border-radius:calc(var(--rpx) * 13);font-size:calc(var(--rpx) * 28);font-weight:800;line-height:1.4;text-align:center}
.home-page .create-button{width:100%;margin:0;border:calc(var(--rpx) * 1) solid #ad6040;background:linear-gradient(145deg,#cd8058,#ad5739);color:#fff8e8;box-shadow:inset 0 0 0 calc(var(--rpx) * 4) #f7caa844,0 calc(var(--rpx) * 4) calc(var(--rpx) * 8) #9b54332a}
.home-page .join-button{width:calc(var(--rpx) * 340);max-width:100%;margin:calc(var(--rpx) * 8) auto 0;border:calc(var(--rpx) * 1) solid #c6b491;background:linear-gradient(145deg,#fbf3e3,#e5d7be);color:#674b33;box-shadow:inset 0 0 0 calc(var(--rpx) * 4) #fff9ed80,0 calc(var(--rpx) * 3) calc(var(--rpx) * 8) #76523112}
.home-button::after,.tool-card::after{border:none}
.home-button[disabled]{opacity:.55}
.button-main{text-align:center}
.tool-card[disabled]{background:#f3ecdc;color:#624b36;opacity:.46}
.home-emblem{height:calc(var(--rpx) * 70);display:flex;align-items:center;justify-content:center;gap:calc(var(--rpx) * 30);pointer-events:none;margin-bottom:calc(var(--rpx) * 2)}
.emblem-rule{height:calc(var(--rpx) * 1);width:calc(var(--rpx) * 110);background:linear-gradient(90deg,transparent,#b97755aa);position:relative}.emblem-rule:last-child{transform:rotate(180deg)}.emblem-rule::after{content:'';position:absolute;right:calc(var(--rpx) * -5);top:calc(var(--rpx) * -4);width:calc(var(--rpx) * 8);height:calc(var(--rpx) * 8);border:calc(var(--rpx) * 1) solid #b97755;transform:rotate(45deg);background:#f3e8d0}
.emblem-fan{position:relative;width:calc(var(--rpx) * 110);height:calc(var(--rpx) * 70)}.emblem-card{position:absolute;bottom:0;left:calc(var(--rpx) * 29);width:calc(var(--rpx) * 46);height:calc(var(--rpx) * 62);display:flex;align-items:center;justify-content:center;border:calc(var(--rpx) * 1) solid #b99d6e;border-radius:calc(var(--rpx) * 5);background:linear-gradient(150deg,#fff8e7,#ecdfbd);box-shadow:inset 0 0 0 calc(var(--rpx) * 3) #fffaf066,0 calc(var(--rpx) * 3) calc(var(--rpx) * 5) #73543718;font-size:calc(var(--rpx) * 29);color:#624e36}.card-left{transform:translateX(calc(var(--rpx) * -24)) rotate(-20deg);color:#927748}.card-right{transform:translateX(calc(var(--rpx) * 24)) rotate(20deg);color:#b46b4c}.card-front{transform:translateY(calc(var(--rpx) * -5));color:#624e36}
.panel::after{content:'';position:absolute;inset:calc(var(--rpx) * 9);border:calc(var(--rpx) * 1) solid #d7c5a24d;border-radius:calc(var(--rpx) * 13);pointer-events:none}
.panel-ribbon{height:calc(var(--rpx) * 8);margin:0 0 calc(var(--rpx) * 17);background:repeating-linear-gradient(90deg,#bd775880 0,#bd775880 calc(var(--rpx) * 13),transparent calc(var(--rpx) * 13),transparent calc(var(--rpx) * 23));border-top:calc(var(--rpx) * 1) solid #cf94724d;border-bottom:calc(var(--rpx) * 1) solid #cf94724d;opacity:.85}
.section-title{display:flex;align-items:center;justify-content:center;gap:calc(var(--rpx) * 22);font-family:Georgia,'Times New Roman',serif;letter-spacing:calc(var(--rpx) * 2)}
.section-title::before,.section-title::after{content:'';height:calc(var(--rpx) * 1);width:calc(var(--rpx) * 45);background:#bd9d724d}
.game-type-card::before{content:'';position:absolute;top:calc(var(--rpx) * 7);left:calc(var(--rpx) * 7);width:calc(var(--rpx) * 7);height:calc(var(--rpx) * 7);border-top:calc(var(--rpx) * 1) solid #b9966260;border-left:calc(var(--rpx) * 1) solid #b9966260;pointer-events:none}
.game-type-card.selected::before{border-color:#e7c790aa}.game-type-card.selected::after{content:'';position:absolute;right:calc(var(--rpx) * 9);bottom:calc(var(--rpx) * 9);width:calc(var(--rpx) * 7);height:calc(var(--rpx) * 7);background:#dec491;transform:rotate(45deg);border:0;pointer-events:none}
.home-page .create-button{position:relative}.home-page .create-button::before{content:'◆';position:absolute;left:calc(var(--rpx) * 24);font-size:calc(var(--rpx) * 12);color:#ffe5c866}.home-page .create-button::after{content:'◆';position:absolute;right:calc(var(--rpx) * 24);left:auto;top:auto;bottom:auto;width:auto;height:auto;transform:none;font-size:calc(var(--rpx) * 12);color:#ffe5c866;border:0}
.tools-panel{background:linear-gradient(135deg,#fbf9f0ed,#f0e9d8ed)}.tools-panel .panel-ribbon{height:calc(var(--rpx) * 4);background:repeating-linear-gradient(90deg,#ae875455 0,#ae875455 calc(var(--rpx) * 5),transparent calc(var(--rpx) * 5),transparent calc(var(--rpx) * 15));border:0}

body{background:#f1e8d2}.profile-page{min-height:100vh;padding:calc(var(--rpx) * 80) calc(var(--rpx) * 32) calc(var(--rpx) * 48);box-sizing:border-box;background:linear-gradient(120deg,#eee4cd,#faf5e7)}.profile-card{max-width:calc(var(--rpx) * 620);margin:auto;background:#f7edd6;border:calc(var(--rpx) * 2) solid #d3bc92;border-radius:calc(var(--rpx) * 22);padding:calc(var(--rpx) * 38) calc(var(--rpx) * 30);box-shadow:0 calc(var(--rpx) * 10) calc(var(--rpx) * 35) #6c503417}.profile-title{font-size:calc(var(--rpx) * 42);font-weight:800;color:#51402d}.profile-page button{margin:0;line-height:1.5;font-size:calc(var(--rpx) * 29);border-radius:calc(var(--rpx) * 10)}.profile-page button::after{border:0}.profile-page .profile-avatar{display:flex;align-items:center;justify-content:center;width:calc(var(--rpx) * 160);height:calc(var(--rpx) * 160);margin:calc(var(--rpx) * 32) auto;background:#e8d7b7;color:#876642;border:calc(var(--rpx) * 2) solid #cbb18a;border-radius:50%;padding:0;font-size:calc(var(--rpx) * 23);overflow:hidden}.profile-avatar img{width:100%;height:100%}.profile-label{font-size:calc(var(--rpx) * 26);color:#796346;margin-bottom:calc(var(--rpx) * 12)}.profile-name{height:calc(var(--rpx) * 84);padding:calc(var(--rpx) * 14) calc(var(--rpx) * 18);background:#fffaf0;border:calc(var(--rpx) * 1) solid #cdb68c;border-radius:calc(var(--rpx) * 8);box-sizing:border-box;color:#51402d;font-size:calc(var(--rpx) * 30)}.profile-page .profile-confirm{width:100%;padding:calc(var(--rpx) * 20) calc(var(--rpx) * 12);margin-top:calc(var(--rpx) * 30);background:#995c35;color:#fff8e7;font-weight:700}.profile-page .profile-skip{margin-top:calc(var(--rpx) * 14);padding:calc(var(--rpx) * 18);background:#e6d8bd;color:#745638}.profile-page .profile-cancel{margin-top:calc(var(--rpx) * 18);background:transparent;color:#90734f;font-size:calc(var(--rpx) * 25)}.profile-page button[disabled]{opacity:.45}.profile-error{font-size:calc(var(--rpx) * 24);color:#a14f3d;line-height:1.5;margin-top:calc(var(--rpx) * 18)}
.profile-name{width:100%}.profile-page .profile-skip,.profile-page .profile-cancel{display:block;width:100%;box-sizing:border-box}

.rb-room { padding-top: calc(var(--rpx) * 150); color: #343b35; }
.rb-room .room-content { max-width: calc(var(--rpx) * 860); margin: 0 auto; }
.rb-room .room-hero { flex-direction: row; align-items: center; gap: calc(var(--rpx) * 12); }
.rb-room .room-hero .title { font-size: calc(var(--rpx) * 36); }
.rb-room .room-hero .subtitle { font-size: calc(var(--rpx) * 21); }
.rb-room .room-hero-actions { display: flex; flex-direction: column; gap: calc(var(--rpx) * 8); }
.rb-room .settings-button { min-width: calc(var(--rpx) * 86); padding: 0 calc(var(--rpx) * 14); }
.rb-eyebrow { font-size: calc(var(--rpx) * 21); letter-spacing: calc(var(--rpx) * 3); color: #88785b; }
.rb-order { margin-bottom: calc(var(--rpx) * 24); }
.rb-order-scroll { width: 100%; margin-top: calc(var(--rpx) * 14); }
.rb-seats { display: flex; gap: calc(var(--rpx) * 12); padding-bottom: calc(var(--rpx) * 8); }
.rb-seat { flex: 0 0 auto; display: flex; align-items: center; gap: calc(var(--rpx) * 9); border: calc(var(--rpx) * 1) solid #d9cfb9; padding: calc(var(--rpx) * 12) calc(var(--rpx) * 14); font-size: calc(var(--rpx) * 22); }
.rb-seat.current { border-color: #973d31; background: #eee1cc; }
.rb-seat-number { color: #973d31; font-family: Georgia, serif; }
.rb-seat-name { max-width: calc(var(--rpx) * 150); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rb-seat-status { color: #8b7e68; font-size: calc(var(--rpx) * 19); }
.rb-table { position: relative; text-align: center; border: calc(var(--rpx) * 1) solid #cbbd9f; padding: calc(var(--rpx) * 25) calc(var(--rpx) * 24) calc(var(--rpx) * 30); background: rgba(241, 231, 209, .65); box-shadow: inset 0 0 calc(var(--rpx) * 50) rgba(139, 111, 59, .06); }
.rb-stage-head, .rb-hand-heading { display: flex; align-items: center; justify-content: space-between; gap: calc(var(--rpx) * 12); }
.rb-phase { font-size: calc(var(--rpx) * 21); color: #8b3c31; }
.rb-questioner { font-size: calc(var(--rpx) * 36); font-weight: 600; margin: calc(var(--rpx) * 28) 0 calc(var(--rpx) * 16); overflow-wrap: anywhere; }
.rb-questioner span { font-size: calc(var(--rpx) * 22); color: #88785b; font-weight: 400; }
.rb-question { font-size: calc(var(--rpx) * 31); line-height: 1.5; margin: calc(var(--rpx) * 18) 0 calc(var(--rpx) * 28); overflow-wrap: anywhere; }
.rb-question-input { display: flex; align-items: center; border-bottom: calc(var(--rpx) * 1) solid #b4a78d; padding: calc(var(--rpx) * 20) 0; margin-top: calc(var(--rpx) * 14); text-align: left; }
.rb-question-input input { flex: 1; min-width: 0; font-size: calc(var(--rpx) * 26); }
.rb-question-input span { flex-shrink: 0; font-size: calc(var(--rpx) * 26); color: #973d31; padding-left: calc(var(--rpx) * 12); }
.rb-caption { font-size: calc(var(--rpx) * 23); line-height: 1.6; color: #85775e; }
.rb-heading { font-size: calc(var(--rpx) * 36); font-weight: 600; margin: calc(var(--rpx) * 26) 0 calc(var(--rpx) * 14); }
.rb-main { margin-top: calc(var(--rpx) * 26); width: 100%; }
.rb-room button[disabled] { opacity: .42; }
.rb-table-cards { display: flex; justify-content: center; flex-wrap: wrap; gap: calc(var(--rpx) * 10); padding: calc(var(--rpx) * 22) 0; perspective: calc(var(--rpx) * 900); }
.rb-table-card { width: calc(var(--rpx) * 80); height: calc(var(--rpx) * 114); }
.rb-table-card .tt-corner { font-size: calc(var(--rpx) * 12); }
.rb-table-card .tt-corner.top { top: calc(var(--rpx) * 5); left: calc(var(--rpx) * 5); }
.rb-table-card .tt-corner.bottom { bottom: calc(var(--rpx) * 5); right: calc(var(--rpx) * 5); }
.rb-table-card .tt-center-rank { font-size: calc(var(--rpx) * 31); }
.rb-table-card .tt-center-suit { font-size: calc(var(--rpx) * 26); }
.rb-empty-table { margin: calc(var(--rpx) * 35) auto; padding: calc(var(--rpx) * 35) calc(var(--rpx) * 10); width: calc(var(--rpx) * 200); border: calc(var(--rpx) * 1) dashed #c3b494; font-size: calc(var(--rpx) * 23); color: #9a8d71; }
.rb-progress { font-size: calc(var(--rpx) * 23); color: #85775e; margin: calc(var(--rpx) * 12) 0; }
.rb-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: calc(var(--rpx) * 12); margin-top: calc(var(--rpx) * 24); }
.rb-number { box-sizing: border-box; width: calc(var(--rpx) * 80); height: calc(var(--rpx) * 80); line-height: calc(var(--rpx) * 76); padding: 0; margin: 0; font-family: Georgia, serif; font-size: calc(var(--rpx) * 32); background: #f8f0df; color: #34433b; border: calc(var(--rpx) * 1) solid #c8b99b; border-radius: calc(var(--rpx) * 4); }
.rb-number.selected { background: #8b3c31; border-color: #8b3c31; color: #fff4df; }
.rb-count { font-size: calc(var(--rpx) * 27); color: #973d31; margin: calc(var(--rpx) * 10) 0; }
.rb-count span { font-family: Georgia, serif; font-size: calc(var(--rpx) * 90); padding-right: calc(var(--rpx) * 8); }
.rb-penalty { font-size: calc(var(--rpx) * 31); line-height: 1.5; margin-bottom: calc(var(--rpx) * 22); overflow-wrap: anywhere; }
.rb-result { display: flex; gap: calc(var(--rpx) * 15); align-items: center; padding: calc(var(--rpx) * 17) 0; border-top: calc(var(--rpx) * 1) solid #d8cbb2; font-size: calc(var(--rpx) * 24); }
.rb-result-name { flex: 1; text-align: left; min-width: 0; overflow-wrap: anywhere; }
.rb-result > span:not(:first-child) { flex-shrink: 0; }
.rb-loser { color: #973d31; font-weight: 600; }
.rb-hand-panel { padding: calc(var(--rpx) * 30) calc(var(--rpx) * 20); margin-top: calc(var(--rpx) * 20); border-top: calc(var(--rpx) * 1) solid #cbbd9f; }
.rb-hand { display: flex; justify-content: center; align-items: center; gap: calc(var(--rpx) * 26); min-height: calc(var(--rpx) * 280); padding-top: calc(var(--rpx) * 28); }
.rb-hand-card { width: calc(var(--rpx) * 168); height: calc(var(--rpx) * 236); transform: rotate(-6deg); transition: transform 220ms ease, box-shadow 220ms ease; }
.rb-hand-card:nth-child(2) { transform: rotate(6deg); }
.rb-hand-card.selected { transform: translateY(calc(var(--rpx) * -20)) rotate(0); box-shadow: 0 0 0 calc(var(--rpx) * 4) #9a4937; border-radius: calc(var(--rpx) * 10); }
.rb-idle-cards { display: flex; justify-content: center; margin-top: calc(var(--rpx) * 32); }
.rb-idle-card { width: calc(var(--rpx) * 140); height: calc(var(--rpx) * 200); line-height: calc(var(--rpx) * 200); background: #f8f0dc; color: #30443d; font-size: calc(var(--rpx) * 85); border: calc(var(--rpx) * 1) solid #baaa87; box-shadow: 0 calc(var(--rpx) * 8) calc(var(--rpx) * 18) #0001; transform: rotate(9deg); }
.rb-idle-card.red { color: #963d32; transform: rotate(-9deg); margin-right: calc(var(--rpx) * -20); }
.rb-profile { display: flex; align-items: center; gap: calc(var(--rpx) * 20); border-top: calc(var(--rpx) * 1) solid #d8cbb2; padding: calc(var(--rpx) * 20); font-size: calc(var(--rpx) * 23); color: #88785b; }
.rb-profile input { min-width: 0; flex: 1; color: #343b35; }
.rb-effect-deal .rb-hand-card { animation: rb-deal 650ms ease-out both; }
.rb-effect-deal .rb-hand-card:nth-child(2) { animation-delay: 140ms; }
.rb-effect-play .rb-table-card:last-child { animation: rb-play 550ms ease-out both; }
.rb-effect-reveal .rb-table-card { animation: rb-reveal 700ms ease-in-out both; }
.rb-effect-reveal .rb-count, .rb-effect-reveal .rb-result, .rb-effect-reveal .rb-penalty { animation: rb-result 950ms ease-out both; }
@keyframes rb-deal { from { opacity: 0; transform: translateY(calc(var(--rpx) * -180)) scale(.55) rotate(-18deg); } to { opacity: 1; } }
@keyframes rb-play { from { opacity: 0; transform: translateY(calc(var(--rpx) * 100)) scale(1.5) rotate(-12deg); } to { opacity: 1; transform: none; } }
@keyframes rb-reveal { 0% { transform: rotateY(90deg); opacity: .2; } 35% { transform: rotateY(90deg); opacity: .2; } 100% { transform: rotateY(0); opacity: 1; } }
@keyframes rb-result { 0%, 65% { opacity: 0; transform: translateY(calc(var(--rpx) * 12)); } 100% { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .rb-hand-card, .rb-table-card, .rb-count, .rb-result, .rb-penalty { animation: none !important; transition: none !important; } }

.hd-table { position: relative; padding-bottom: calc(var(--rpx) * 30); color: #453d2e; }
.hd-table.hd-playing { padding-bottom: calc(calc(var(--rpx) * 360) + env(safe-area-inset-bottom)); }
.hd-heading { display: flex; justify-content: space-between; align-items: center; gap: calc(var(--rpx) * 16); margin-bottom: calc(var(--rpx) * 24); }
.hd-heading > div:first-child { flex: 1; min-width: 0; }
.hd-kicker { font-size: calc(var(--rpx) * 25); font-weight: 700; letter-spacing: calc(var(--rpx) * 2); }
.hd-muted { font-size: calc(var(--rpx) * 22); color: #887c66; line-height: 1.65; }
.hd-title { font-size: calc(var(--rpx) * 31); font-weight: 700; line-height: 1.5; }
.hd-rule-button { margin: 0; padding: 0 calc(var(--rpx) * 14); font-size: calc(var(--rpx) * 23); line-height: calc(var(--rpx) * 60); background: transparent; color: #906044; flex-shrink: 0; }
.hd-rule-button::after { border: none; }
.hd-table-header { position: relative; min-height: calc(var(--rpx) * 64); padding-right: calc(var(--rpx) * 150); }
.hd-table-header .hd-open-rules { position: absolute; top: 0; right: 0; width: calc(var(--rpx) * 144); height: calc(var(--rpx) * 60); padding: 0; margin: 0; line-height: calc(var(--rpx) * 60); text-align: right; }
.hd-modal-header { position: relative; min-height: calc(var(--rpx) * 60); padding-right: calc(var(--rpx) * 110); }
.hd-modal-header .hd-close-rules { position: absolute; top: 0; right: 0; width: calc(var(--rpx) * 100); height: calc(var(--rpx) * 60); padding: 0; margin: 0; line-height: calc(var(--rpx) * 60); text-align: right; }
.hd-modal-header .hd-title { white-space: normal; line-height: 1.45; }
.hd-modal-backdrop { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.hd-modal-mask .hd-modal { position: relative; z-index: 1; }
.hd-win-badge { position: relative; display: inline-flex; align-items: center; justify-content: center; width: calc(var(--rpx) * 130); height: calc(var(--rpx) * 58); margin-top: calc(var(--rpx) * 6); flex-shrink: 0; overflow: hidden; border: calc(var(--rpx) * 2) double #d6ac42; border-radius: calc(var(--rpx) * 29); background: radial-gradient(circle at 35% 20%, #fffde1, #ffe078 65%, #e6b333); color: #87580b; animation: hd-win-glow 2600ms ease-in-out infinite; }
.hd-win-badge > span { font-family: Georgia, serif; font-size: calc(var(--rpx) * 32); line-height: 1; font-weight: 800; text-shadow: 0 calc(var(--rpx) * 1) #fffce5; }
.hd-win-badge::after { content: ''; position: absolute; top: -25%; bottom: -25%; left: -70%; width: 240%; background: linear-gradient(110deg, transparent 36%, rgba(255,255,242,.95) 48%, transparent 60%); animation: tt-gold-sweep 3200ms ease-in-out infinite; pointer-events: none; }
.hd-win-laurel { position: absolute; top: calc(var(--rpx) * 10); font-size: calc(var(--rpx) * 30); color: #b38419; }
.hd-win-laurel.left { left: calc(var(--rpx) * 7); transform: rotate(-70deg); }
.hd-win-laurel.right { right: calc(var(--rpx) * 7); transform: rotate(70deg) scaleX(-1); }
.hd-win-spark { position: absolute; right: calc(var(--rpx) * 21); top: calc(var(--rpx) * 3); color: #fff9cf; font-size: calc(var(--rpx) * 18); animation: tt-gold-particle 2300ms ease-out infinite; }
@keyframes hd-win-glow { 0%, 100% { box-shadow: 0 0 calc(var(--rpx) * 6) rgba(230,180,45,.3); } 50% { box-shadow: 0 0 calc(var(--rpx) * 20) calc(var(--rpx) * 3) rgba(230,180,45,.65); } }
@media (prefers-reduced-motion: reduce) { .hd-win-badge, .hd-win-badge::after, .hd-win-spark { animation: none !important; } .hd-win-badge::after, .hd-win-spark { display: none; } }
.hd-waiting, .hd-settings { box-sizing: border-box; padding: calc(var(--rpx) * 28); background: rgba(255,253,245,.8); border: calc(var(--rpx) * 1) solid #d7c9ac; border-radius: calc(var(--rpx) * 16); margin-bottom: calc(var(--rpx) * 24); }
.holdem-room .hd-waiting .button, .holdem-room .hd-results .button { width: 100%; box-sizing: border-box; min-height: calc(var(--rpx) * 80); font-size: calc(var(--rpx) * 27); }
.hd-waiting .button { margin-top: calc(var(--rpx) * 22); }
.hd-board { position: relative; margin: calc(var(--rpx) * 20) calc(var(--rpx) * -12) calc(var(--rpx) * 24); padding: calc(var(--rpx) * 26) calc(var(--rpx) * 18) calc(var(--rpx) * 20); background: #e6dfc9; border: calc(var(--rpx) * 3) double #b7a781; box-shadow: inset 0 0 0 calc(var(--rpx) * 7) #f3eddc; border-radius: calc(var(--rpx) * 28); }
.hd-board-heading { display: flex; justify-content: space-between; font-size: calc(var(--rpx) * 20); letter-spacing: calc(var(--rpx) * 1); color: #74674d; margin-bottom: calc(var(--rpx) * 20); }
.hd-board-cards { display: flex; gap: calc(var(--rpx) * 9); justify-content: center; }
.hd-board-slot { flex: 1; min-width: 0; height: calc(var(--rpx) * 184); }
.hd-board-slot .tt-corner { font-size: calc(var(--rpx) * 19); }
.hd-board-slot .tt-corner.top { top: calc(var(--rpx) * 8); left: calc(var(--rpx) * 7); }
.hd-board-slot .tt-corner.bottom { bottom: calc(var(--rpx) * 8); right: calc(var(--rpx) * 7); }
.hd-board-slot .tt-center-rank { font-size: calc(var(--rpx) * 47); top: 30%; }
.hd-board-slot .tt-center-suit { font-size: calc(var(--rpx) * 36); top: 58%; }
.hd-empty-card { box-sizing: border-box; border: calc(var(--rpx) * 2) dashed #b9ab8f; border-radius: calc(var(--rpx) * 10); height: 100%; display: flex; align-items: center; justify-content: center; color: #b4a68c; font-family: Georgia,serif; font-size: calc(var(--rpx) * 38); }
.hd-board-status { text-align: center; margin-top: calc(var(--rpx) * 20); font-size: calc(var(--rpx) * 24); color: #675538; font-weight: 700; }
.hd-my-hand { padding: calc(var(--rpx) * 24); border: calc(var(--rpx) * 1) solid #d8c8a8; background: rgba(255,252,239,.8); border-radius: calc(var(--rpx) * 12); }
.hd-state { color: #a65e3f; font-size: calc(var(--rpx) * 24); }
.hd-position { font-size: calc(var(--rpx) * 19); color: #96783d; font-weight: normal; }
.hd-hole-cards { display: flex; justify-content: center; gap: calc(var(--rpx) * 16); }
.hd-hole-card { width: calc(var(--rpx) * 150); height: calc(var(--rpx) * 210); }
.hd-hole-card:first-child { transform: rotate(-4deg); }
.hd-hole-card:last-child { transform: rotate(4deg); }
.hd-hand-label { text-align: center; color: #957128; font-weight: 700; font-size: calc(var(--rpx) * 25); margin-top: calc(var(--rpx) * 14); }
.hd-seats { margin-top: calc(var(--rpx) * 20); }
.hd-seat { display: flex; justify-content: space-between; align-items: center; gap: calc(var(--rpx) * 12); padding: calc(var(--rpx) * 17) calc(var(--rpx) * 14); border-bottom: calc(var(--rpx) * 1) solid #d8cdb6; border-left: calc(var(--rpx) * 5) solid transparent; }
.hd-seat.acting { border-left-color: #c26b45; background: #f8ead4; }
.hd-seat-info { min-width: 0; flex: 1; }
.hd-seat-name { font-size: calc(var(--rpx) * 27); overflow-wrap: anywhere; line-height: 1.5; }
.hd-mini-cards { display: flex; gap: calc(var(--rpx) * 6); flex-shrink: 0; }
.hd-mini-cards > div { width: calc(var(--rpx) * 52); height: calc(var(--rpx) * 75); }
.hd-mini-cards .tt-corner { display: none; }
.hd-mini-cards .tt-center-rank { font-size: calc(var(--rpx) * 27); top: 10%; }
.hd-mini-cards .tt-center-suit { font-size: calc(var(--rpx) * 24); top: 48%; }
.hd-seat.folded, .hd-hole-cards.folded, .hd-state.folded { opacity: .66; }
.hd-actions { position: fixed; bottom: 0; left: calc(var(--rpx) * 16); right: calc(var(--rpx) * 16); z-index: 8; padding: calc(var(--rpx) * 16) calc(var(--rpx) * 16) calc(calc(var(--rpx) * 16) + env(safe-area-inset-bottom)); background: #f7f0df; border: calc(var(--rpx) * 1) solid #c8b896; box-shadow: 0 calc(var(--rpx) * -8) calc(var(--rpx) * 22) rgba(68,48,21,.08); border-radius: calc(var(--rpx) * 16) calc(var(--rpx) * 16) 0 0; }
.hd-turn { text-align: center; font-size: calc(var(--rpx) * 26); font-weight: 700; margin-bottom: calc(var(--rpx) * 12); color: #a05938; }
.hd-turn-row { display: flex; align-items: center; gap: calc(var(--rpx) * 16); margin-bottom: calc(var(--rpx) * 12); }
.hd-turn-row .hd-turn { flex: 1; min-width: 0; margin: 0; text-align: left; }
.hd-action-grid { display: flex; flex-wrap: wrap; gap: calc(var(--rpx) * 8); }
.hd-action-grid button { box-sizing: border-box; width: calc(33.333% - calc(var(--rpx) * 6)); min-height: calc(var(--rpx) * 100); margin: 0; padding: calc(var(--rpx) * 14) calc(var(--rpx) * 8); background: #e8dec7; color: #564831; font-size: calc(var(--rpx) * 28); line-height: 1.3; border-radius: calc(var(--rpx) * 10); }
.hd-action-grid button span { display: block; font-size: calc(var(--rpx) * 20); margin-top: calc(var(--rpx) * 8); line-height: 1.4; }
.hd-action-grid .hd-all-in { background: #ac613f; color: #fff5de; }
.hd-action-grid .hd-fold { background: #dedbd1; color: #6f6b60; }
.hd-action-grid button[disabled] { opacity: .45; }
.hd-results { margin-top: calc(var(--rpx) * 24); padding: calc(var(--rpx) * 24); border: calc(var(--rpx) * 2) solid #b89b60; background: #fcf4df; border-radius: calc(var(--rpx) * 12); }
.hd-result { display: flex; justify-content: space-between; gap: calc(var(--rpx) * 12); align-items: center; padding: calc(var(--rpx) * 16) 0; border-bottom: calc(var(--rpx) * 1) solid #e0d2b6; font-size: calc(var(--rpx) * 25); }
.hd-result > div { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.hd-result > span { flex-shrink: 0; white-space: nowrap; font-weight: 700; }
.hd-result .hd-muted { display: block; }
.hd-result.winner { color: #9a752e; font-weight: 700; }
.hd-results .button { margin-top: calc(var(--rpx) * 22); }
.hd-mode-options, .hd-cap { display: flex; gap: calc(var(--rpx) * 12); margin: calc(var(--rpx) * 20) 0; }
.hd-mode-options button { flex: 1; width: 0; min-width: 0; margin: 0; padding: 0 calc(var(--rpx) * 12); height: calc(var(--rpx) * 76); line-height: calc(var(--rpx) * 76); font-size: calc(var(--rpx) * 26); background: #eee7d8; border-radius: calc(var(--rpx) * 10); }
.hd-mode-options .selected { background: #a96846; color: #fff7e5; }
.hd-cap { align-items: center; }
.hd-cap input { box-sizing: border-box; width: 0; min-width: 0; flex: 1; background: #fffdf8; padding: 0 calc(var(--rpx) * 20); height: calc(var(--rpx) * 80); border: calc(var(--rpx) * 1) solid #cebea0; border-radius: calc(var(--rpx) * 10); font-size: calc(var(--rpx) * 30); }
.hd-cap button { box-sizing: border-box; flex: 0 0 calc(var(--rpx) * 190); width: calc(var(--rpx) * 190); margin: 0; padding: 0 calc(var(--rpx) * 16); height: calc(var(--rpx) * 80); font-size: calc(var(--rpx) * 24); line-height: calc(var(--rpx) * 80); color: #fff9ed; background: #a96846; border-radius: calc(var(--rpx) * 10); }
.hd-settings .hd-rule-button { width: 100%; margin-top: calc(var(--rpx) * 16); border-top: calc(var(--rpx) * 1) solid #e1d6c0; border-radius: 0; }
.hd-settings button[disabled] { opacity: .5; }
.hd-modal-mask { position: fixed; inset: 0; z-index: 100; background: rgba(42,34,23,.5); display: flex; align-items: center; justify-content: center; padding: calc(var(--rpx) * 32); }
.hd-modal { box-sizing: border-box; width: 100%; max-width: calc(var(--rpx) * 650); padding: calc(var(--rpx) * 24); border-radius: calc(var(--rpx) * 20); background: #fcf6e8; box-shadow: 0 calc(var(--rpx) * 14) calc(var(--rpx) * 70) rgba(0,0,0,.2); }
.hd-modal .hd-title { font-size: calc(var(--rpx) * 29); }
.hd-rules-scroll { max-height: 65vh; height: calc(var(--rpx) * 850); }
.hd-rule-row { display: flex; gap: calc(var(--rpx) * 20); align-items: center; padding: calc(var(--rpx) * 13) calc(var(--rpx) * 10); border-bottom: calc(var(--rpx) * 1) solid #e4d9c1; font-size: calc(var(--rpx) * 25); }
.hd-rule-rank { width: calc(var(--rpx) * 30); flex-shrink: 0; color: #a57e3f; font-family: Georgia,serif; }
.hd-rule-content { flex: 1; min-width: 0; }
.hd-rule-cards { display: flex; gap: calc(var(--rpx) * 10); margin-top: calc(var(--rpx) * 12); }
.hd-rule-card { flex: 1; min-width: 0; max-width: calc(var(--rpx) * 76); height: calc(var(--rpx) * 108); }
.hd-rule-card .tt-corner { font-size: calc(var(--rpx) * 13); }
.hd-rule-card .tt-corner.top { top: calc(var(--rpx) * 5); left: calc(var(--rpx) * 5); }
.hd-rule-card .tt-corner.bottom { bottom: calc(var(--rpx) * 5); right: calc(var(--rpx) * 5); }
.hd-rule-card .tt-center-rank { font-size: calc(var(--rpx) * 28); top: 29%; }
.hd-rule-card .tt-center-suit { font-size: calc(var(--rpx) * 24); top: 58%; }
.hd-rule-note { margin-top: calc(var(--rpx) * 20); color: #7c6d55; font-size: calc(var(--rpx) * 22); line-height: 1.7; }
.hd-rule-note div { margin-top: calc(var(--rpx) * 12); }
.hd-effect { position: fixed; top: 30%; left: 15%; width: 70%; z-index: 20; pointer-events: none; text-align: center; padding: calc(var(--rpx) * 30) 0; color: #99702b; border: calc(var(--rpx) * 4) double #c3a567; background: radial-gradient(ellipse,#fff9de 30%,rgba(250,238,198,.94) 100%); box-shadow: 0 0 calc(var(--rpx) * 70) rgba(196,157,63,.5); font-size: calc(var(--rpx) * 42); font-weight: 800; border-radius: calc(var(--rpx) * 30); animation: hd-badge 450ms ease-out both; }
.hd-effect span { display: block; font-size: calc(var(--rpx) * 26); margin-top: calc(var(--rpx) * 10); }
.hd-effect-symbol { font-size: calc(var(--rpx) * 65); }
.hd-effect.fold { color: #797265; border-color: #9d9585; background: #eee9df; box-shadow: none; }
.hd-effect.all-in { color: #a95032; border-color: #c88453; }
.motion-deal .hd-hole-card { animation: hd-deal 650ms ease-out both; }
.motion-deal .hd-hole-card:last-child { animation-delay: 120ms; }
.motion-reveal .hd-board-slot .tt-poker { animation: hd-reveal 550ms ease-out both; }
.hd-effect.winner { border-color: #b18a32; box-shadow: 0 0 calc(var(--rpx) * 80) rgba(214,170,53,.7); animation: hd-winner 650ms ease-out both; }
.hd-effect.all-in { animation: hd-all-in 650ms ease-out both; }
@keyframes hd-winner { from { opacity: 0; transform: scale(.75) rotate(-7deg); } 60% { opacity: 1; transform: scale(1.05) rotate(2deg); } to { transform: scale(1); } }
@keyframes hd-all-in { from { opacity: 0; transform: translateY(calc(var(--rpx) * 25)) scale(.9); } 45% { opacity: 1; transform: translateX(calc(var(--rpx) * -6)); } 65% { transform: translateX(calc(var(--rpx) * 6)); } to { transform: none; } }
.effect-fold .hd-hole-cards.folded { animation: hd-fold 550ms ease-out; }
@keyframes hd-deal { from { opacity: 0; transform: translateY(calc(var(--rpx) * -180)) scale(.55) rotate(-12deg); } to { opacity: 1; } }
@keyframes hd-reveal { from { transform: rotateY(90deg); opacity: .4; } to { transform: rotateY(0); opacity: 1; } }
@keyframes hd-fold { 50% { transform: translateY(calc(var(--rpx) * 20)) rotate(-5deg); } }
@keyframes hd-badge { from { transform: scale(.7); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .hd-effect, .hd-effect.winner, .hd-effect.all-in, .motion-deal .hd-hole-card, .motion-reveal .hd-board-slot .tt-poker, .effect-fold .hd-hole-cards.folded { animation: none; } }
.hd-draft-total { position: relative; display: flex; align-items: center; justify-content: space-between; gap: calc(var(--rpx) * 12); padding: calc(var(--rpx) * 6) 0 calc(var(--rpx) * 14); font-size: calc(var(--rpx) * 23); }
.hd-draft-total span { display: inline-block; font-weight: 900; color: #ab682e; }
.hd-draft-total button { flex: 0 0 calc(var(--rpx) * 76); width: calc(var(--rpx) * 76); min-width: 0; margin: 0; padding: 0; line-height: calc(var(--rpx) * 48); font-size: calc(var(--rpx) * 22); }
.hd-draft-spark { position: absolute; right: calc(var(--rpx) * 90); top: calc(var(--rpx) * -16); animation: hd-chip-rise .5s ease-out both; pointer-events: none; }
.hd-draft-pop { animation: hd-number-pop .5s ease-out; }
.hd-action-grid .hd-confirm { color: #fff; background: #a96842; }
@keyframes hd-chip-rise { from { opacity: 1; transform: translateY(calc(var(--rpx) * 10)) scale(.8); } to { opacity: 0; transform: translateY(calc(var(--rpx) * -38)) scale(1.15); } }
@keyframes hd-number-pop { 40% { transform: scale(1.22); color: #e0aa31; } }
/* LUCKY web: real server-derived seats, one spatial table for Holdem only. */
.hd-table{color:#171217;padding-bottom:0}.hd-table.hd-playing{padding-bottom:0}.hd-table .hd-table-header{margin-bottom:12px;padding:0;min-height:42px;align-items:center}.hd-table .hd-kicker{font-size:13px;letter-spacing:0;color:#171217;font-weight:900}.hd-table .hd-muted{font-size:11px;line-height:1.45;color:#61516c}.hd-table .hd-title{font-size:18px;color:#171217}.hd-table .hd-open-rules{position:static;min-height:42px;font-size:11px;line-height:1.3;color:#171217;border:2px solid #171217;padding:8px;background:#fff6df;box-shadow:2px 2px 0 #171217}.hd-ring{position:relative;height:310px;margin:14px 0 18px}.hd-ring-dense{height:348px}.hd-ring-felt{position:absolute;inset:30px 28px;border:3px solid #171217;border-radius:46%;background:#8252e8;box-shadow:4px 5px 0 #171217}.hd-ring-stitch{position:absolute;inset:11px;border:2px dashed #edff42a0;border-radius:45%;transform:rotate(-3deg)}.hd-ring-center{position:absolute;inset:95px 42px 84px;display:flex;align-items:center;justify-content:center}.hd-ring .hd-board{margin:0;padding:0;border:0;box-shadow:none;background:none;width:100%;border-radius:0;min-width:0}.hd-ring .hd-board-heading{font-size:9px;color:#fff6df;display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin-bottom:9px}.hd-ring .hd-board-cards{gap:4px;display:flex;justify-content:center;margin:0}.hd-ring .hd-board-slot{width:33px;height:47px;flex:0 0 33px}.hd-ring .hd-empty-card{width:100%;height:100%;font-size:15px;border:1px dashed #edff4277;background:#ffffff0a;color:#edff4288;border-radius:2px}.hd-ring .tt-poker{width:100%;height:100%;border-radius:2px;border:1px solid #171217}.hd-ring .tt-center-rank{font-size:18px}.hd-ring .tt-center-suit{font-size:10px}.hd-ring .tt-corner{font-size:6px;line-height:1}.hd-ring .hd-board-status{font-size:10px;color:#fff6df;margin:10px -13px 0;text-align:center;line-height:1.4;font-weight:700}.hd-ring-seat{position:absolute;transform:translate(-50%,-50%);width:68px;display:flex;flex-direction:column;align-items:center;gap:2px;z-index:2;cursor:pointer}.hd-ring-avatar{position:relative;width:32px;height:32px;border:2px solid #171217;border-radius:50%;background:#fff6df;box-shadow:2px 2px 0 #171217;display:flex;align-items:center;justify-content:center}.hd-ring-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.hd-ring-avatar>span{font-size:12px}.hd-ring-avatar .hd-dealer{position:absolute;right:-7px;bottom:-3px;background:#edff42;color:#171217;border:1px solid #171217;border-radius:50%;width:14px;height:14px;font:900 9px Arial;display:flex;align-items:center;justify-content:center}.hd-ring-name{font-size:10px;line-height:1.3;font-weight:800;max-width:68px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff6df;border:1px solid #171217;padding:1px 3px}.hd-ring-amount{font-size:10px;font-weight:800;line-height:1.25;background:#edff42;padding:1px 2px;max-width:80px;white-space:nowrap}.hd-ring-status{font-size:9px;line-height:1.2;color:#171217;background:#edff42;max-width:82px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hd-ring-seat.acting .hd-ring-avatar{outline:3px solid #fff6df;outline-offset:1px}.hd-ring-seat.folded .hd-ring-avatar{filter:grayscale(1)}.hd-ring-seat.folded .hd-ring-status{color:#685079}.hd-ring-seat.winner .hd-ring-avatar{box-shadow:0 0 14px #e4b743;outline:2px solid #e4b743}.hd-table .hd-my-hand{margin:12px 0;padding:12px;border:3px solid #171217;border-radius:0;background:#fff6df;box-shadow:3px 3px 0 #171217}.hd-my-hand .hd-heading{margin-bottom:6px}.hd-table .room-hand-toggle{min-height:42px;padding:7px;color:#6e3ac9;font-size:11px;background:transparent}.hd-table .hd-hole-cards{display:flex;justify-content:center;gap:10px;margin:10px 0 4px}.hd-table .hd-hole-card{width:63px;height:91px}.hd-hole-card .tt-poker{width:100%;height:100%;border:2px solid #171217;border-radius:3px}.hd-table .hd-hand-label{font-size:11px;color:#6e3ac9;margin:8px 0 0}.hd-seat-detail{border:2px solid #171217;background:#fff6df;padding:12px;margin:12px 0}.hd-seat-detail .hd-heading{margin-bottom:7px}.hd-seat-detail .hd-mini-cards{display:flex;justify-content:center;gap:7px}.hd-seat-detail .hd-mini-cards>div{width:41px;height:59px}.hd-seat-detail button{font-size:11px;border:1px solid #171217;padding:8px;background:#edff42;min-height:38px}.hd-table .hd-actions{position:relative;inset:auto;left:auto;right:auto;bottom:auto;max-height:none;overflow:visible;z-index:auto;margin:15px 0 0;padding:12px;background:#fff6df;border:3px solid #171217;border-radius:0;box-shadow:3px 3px 0 #171217}.hd-table .hd-turn-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.hd-table .hd-turn{font-size:12px;color:#171217;font-weight:900}.hd-table .room-actions-toggle{font-size:11px;padding:8px;min-height:40px;color:#6e3ac9;background:transparent}.hd-table .hd-draft-total{font-size:11px;border-bottom:2px dashed #171217;padding:8px 0 10px;margin:0}.hd-table .hd-draft-total span{font-size:22px;color:#8252e8}.hd-table .hd-draft-total button{min-height:40px;font-size:11px;line-height:1.2}.hd-table .hd-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:11px}.hd-table .hd-action-grid button{width:100%;min-width:0;min-height:46px;padding:8px 3px;margin:0;border:2px solid #171217;border-radius:0;font-size:13px;font-weight:900;line-height:1.2;background:#edff42;color:#171217;box-shadow:2px 2px 0 #171217}.hd-table .hd-action-grid button span{display:block;font-size:8px;font-weight:400;margin-top:4px;line-height:1.2}.hd-table .hd-action-grid .hd-all-in{background:#171217;color:#edff42;font-size:10px}.hd-table .hd-action-grid .hd-fold{grid-column:span 2;background:#fff6df;font-size:12px}.hd-table .hd-action-grid .hd-confirm{grid-column:span 2;background:#8252e8;color:#fff6df}.hd-table .hd-results{margin:18px 0;padding:13px;background:#fff6df;border:3px solid #171217;border-radius:0}.hd-table .hd-result{border-bottom:2px dashed #171217;padding:13px 0;border-radius:0;gap:12px;font-size:12px}.hd-table .hd-result .hd-muted{font-size:10px}.hd-table .hd-results>.button{margin-top:15px;background:#8252e8;color:#fff6df;min-height:44px;border:2px solid #171217}.hd-table .hd-waiting{background:#fff6df;border:3px solid #171217;border-radius:0;padding:16px;margin:12px 0}.hd-table .hd-waiting .button{background:#8252e8;color:#fff6df;min-height:44px}.hd-effect{max-width:calc(100% - 35px);background:#fff6df;border:3px solid #171217;color:#6e3ac9;border-radius:0}.hd-modal-mask .hd-modal{background:#fff6df;border:3px solid #171217;border-radius:0}.hd-modal .hd-title{color:#171217}.hd-modal .hd-close-rules{font-size:12px;color:#171217;min-height:42px}.hd-modal .hd-rule-row{border-color:#171217;font-size:13px}.hd-modal .hd-rule-note{font-size:11px;color:#4c3c57}.hd-settings{border:3px solid #171217;border-radius:0;background:#fff6df}.hd-settings .hd-title{color:#171217}.hd-settings button{border:2px solid #171217;border-radius:0;min-height:44px}.hd-settings .hd-mode-options .selected{background:#8252e8;color:#fff6df}@media(max-width:350px){.hd-ring{height:295px}.hd-ring-dense{height:330px}.hd-ring-center{inset:90px 36px 80px}.hd-ring-seat{width:60px}.hd-ring-name{max-width:60px;font-size:9px}.hd-ring-amount{font-size:9px}.hd-ring-avatar{width:29px;height:29px}.hd-ring .hd-board-slot{width:29px;height:43px;flex-basis:29px}.hd-ring .hd-board-cards{gap:3px}.hd-ring .hd-board-status{font-size:9px}.hd-table .hd-action-grid{gap:5px}.hd-table .hd-action-grid button{font-size:11px}}@media(prefers-reduced-motion:reduce){.hd-ring-seat,.hd-ring-avatar{animation:none;transition:none}}

/* Row heights/transforms are owned by seating-ui.js: preserve its 48px minimum. */
.seat-panel{padding:calc(var(--rpx) * 22) calc(var(--rpx) * 16);margin:calc(var(--rpx) * 24) 0;border:calc(var(--rpx) * 4) solid #171217;background:#fff6df;border-radius:0;box-shadow:calc(var(--rpx) * 5) calc(var(--rpx) * 5) 0 #171217;color:#171217}.seat-title{font-size:calc(var(--rpx) * 31);font-weight:900}.seat-caption{font-size:calc(var(--rpx) * 21);color:#514658;line-height:1.6;margin-top:calc(var(--rpx) * 9)}.seat-list{position:relative;margin-top:calc(var(--rpx) * 20)}.room-seat-row{position:absolute;top:0;left:0;right:0;display:flex;flex-wrap:nowrap!important;align-items:center;gap:calc(var(--rpx) * 5);padding:3px 0;box-sizing:border-box;border-bottom:calc(var(--rpx) * 2) dashed #171217;background:#fff6df;transition:transform .15s}.room-seat-row.dragging{z-index:5;background:#b99aff;box-shadow:calc(var(--rpx) * 4) calc(var(--rpx) * 4) 0 #171217;transition:none}.seat-drag-handle{display:flex;align-items:center;gap:calc(var(--rpx) * 9);flex:1;min-width:0;overflow:hidden;height:100%;touch-action:pan-y}.room-seat-row.dragging .seat-drag-handle{touch-action:none}.seat-number{flex:0 0 calc(var(--rpx) * 22);font-size:calc(var(--rpx) * 19);font-weight:900;color:#8252e8}.seat-avatar{width:calc(var(--rpx) * 52);height:calc(var(--rpx) * 52);flex-shrink:0;border:calc(var(--rpx) * 2) solid #171217;border-radius:50%;box-sizing:border-box}.seat-initial{display:flex;align-items:center;justify-content:center;background:#edff42;font-weight:800;font-size:calc(var(--rpx) * 24)}.seat-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:calc(var(--rpx) * 23);font-weight:800}.seat-grip{font-size:calc(var(--rpx) * 26);color:#514658}.seat-panel .room-seat-row button.seat-arrow{flex:0 0 42px!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;line-height:38px!important;padding:0!important;margin:0!important;border:2px solid #171217!important;border-radius:0!important;background:#edff42!important;color:#171217!important;font-size:20px!important;box-sizing:border-box}.seat-arrow::after{border:0}.seat-arrow[disabled]{opacity:.3}.seat-save-row{display:flex;gap:calc(var(--rpx) * 14);margin-top:calc(var(--rpx) * 22)}.seat-save-row button{flex:1;width:0;min-width:0;min-height:calc(var(--rpx) * 88);padding:calc(var(--rpx) * 18) calc(var(--rpx) * 8);line-height:1.4;margin:0;border:calc(var(--rpx) * 4) solid #171217;border-radius:0;font-size:calc(var(--rpx) * 24);font-weight:900;box-shadow:calc(var(--rpx) * 4) calc(var(--rpx) * 4) 0 #171217}.seat-save{background:#8252e8;color:#fff6df}.seat-reset{background:#edff42;color:#171217}.seat-save-row button::after{border:0}.seat-save-row button[disabled]{opacity:.4}@media(prefers-reduced-motion:reduce){.room-seat-row{transition:none}}

/* LUCKY / Dream: one public card, visible independent bids, one personal card. */
.dr-table{position:relative;padding-bottom:calc(var(--rpx) * 24);color:#171217}.dr-header{position:relative;padding-right:calc(var(--rpx) * 160);min-height:calc(var(--rpx) * 82);margin-bottom:calc(var(--rpx) * 18)}.dr-title{font-size:calc(var(--rpx) * 29);font-weight:900;line-height:1.4;overflow-wrap:anywhere}.dr-muted{color:#514658;font-size:calc(var(--rpx) * 21);line-height:1.55}.dr-table button,.dr-panel button{box-sizing:border-box;min-width:0;min-height:calc(var(--rpx) * 84);width:100%;margin:calc(var(--rpx) * 12) 0 0;padding:calc(var(--rpx) * 17) calc(var(--rpx) * 9);font-size:calc(var(--rpx) * 24);font-weight:900;line-height:1.4;border:calc(var(--rpx) * 4) solid #171217;border-radius:0;background:#edff42;color:#171217;box-shadow:calc(var(--rpx) * 3) calc(var(--rpx) * 3) 0 #171217}.dr-table button::after,.dr-panel button::after,.dr-modal button::after{border:0}.dr-table button[disabled],.dr-panel button[disabled]{opacity:.4}.dr-table .dr-primary,.dr-panel .dr-primary{background:#8252e8;color:#fff6df}.dr-table .dr-rules-button,.dr-modal .dr-rules-button{position:absolute;right:0;top:0;width:calc(var(--rpx) * 150)!important;min-height:calc(var(--rpx) * 72);height:auto;line-height:1.4;padding:calc(var(--rpx) * 13) calc(var(--rpx) * 5)!important;margin:0!important;border:calc(var(--rpx) * 3) solid #171217;background:#fff6df;color:#171217;font-size:calc(var(--rpx) * 21);box-shadow:calc(var(--rpx) * 2) calc(var(--rpx) * 2) 0 #171217;text-align:center}.dr-panel{padding:calc(var(--rpx) * 22) calc(var(--rpx) * 18);margin:calc(var(--rpx) * 24) calc(var(--rpx) * 6) calc(var(--rpx) * 27) 0;background:#fff6df;border:calc(var(--rpx) * 5) solid #171217;border-radius:0;box-shadow:calc(var(--rpx) * 5) calc(var(--rpx) * 5) 0 #171217}.dr-row{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--rpx) * 12);font-size:calc(var(--rpx) * 23);min-width:0}.dr-row>button{flex:1;width:0}.dr-board{background:#8252e8;color:#fff6df;border:calc(var(--rpx) * 5) solid #171217;box-shadow:calc(var(--rpx) * 6) calc(var(--rpx) * 6) 0 #171217;border-radius:0;text-align:center;padding:calc(var(--rpx) * 25) calc(var(--rpx) * 20);margin-right:calc(var(--rpx) * 6)}.dr-board .dr-muted{color:#e9dfff}.dr-board>.dr-title{font-size:calc(var(--rpx) * 25)}.dr-board-card{width:calc(var(--rpx) * 148);height:calc(var(--rpx) * 207);margin:calc(var(--rpx) * 22) auto;border:calc(var(--rpx) * 3) solid #171217;box-shadow:calc(var(--rpx) * 5) calc(var(--rpx) * 5) 0 #171217;transform:rotate(-3deg);box-sizing:content-box}.dr-hand{display:flex;justify-content:center;gap:calc(var(--rpx) * 15);margin:calc(var(--rpx) * 20) 0}.dr-card{position:relative;width:calc(var(--rpx) * 146);height:calc(var(--rpx) * 205);flex:0 0 calc(var(--rpx) * 146)}.dr-own-hand .dr-card{width:calc(var(--rpx) * 148);height:calc(var(--rpx) * 207);flex-basis:calc(var(--rpx) * 148);border:calc(var(--rpx) * 3) solid #171217;box-sizing:content-box;box-shadow:calc(var(--rpx) * 4) calc(var(--rpx) * 4) 0 #171217;transform:rotate(3deg)}.dr-card>span{position:absolute;top:100%;font-size:calc(var(--rpx) * 19);left:0;right:0;text-align:center}.dr-best-hint{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--rpx) * 18);padding:calc(var(--rpx) * 16) 0 calc(var(--rpx) * 5);border-top:calc(var(--rpx) * 3) dashed #171217}.dr-best-copy{min-width:0}.dr-best-copy .dr-muted{font-size:calc(var(--rpx) * 19)}.dr-best-label{font-size:calc(var(--rpx) * 23);font-weight:900;margin-top:calc(var(--rpx) * 6);color:#8252e8}.dr-best-cards{display:flex;align-items:center;gap:calc(var(--rpx) * 7);flex-shrink:0}.dr-best-card{position:relative;width:calc(var(--rpx) * 42);height:calc(var(--rpx) * 59);border:calc(var(--rpx) * 2) solid #171217;border-radius:calc(var(--rpx) * 3)}.dr-best-card .tt-corner{display:none}.dr-best-card .tt-center-rank{font-size:calc(var(--rpx) * 21);top:12%}.dr-best-card .tt-center-suit{font-size:calc(var(--rpx) * 17);top:50%}.dr-best-card.imagined{border-style:dashed;opacity:.8}.dr-imagined-label{position:absolute;bottom:calc(var(--rpx) * -8);right:calc(var(--rpx) * -7);width:calc(var(--rpx) * 24);height:calc(var(--rpx) * 24);background:#edff42;border:calc(var(--rpx) * 1) solid #171217;font-size:calc(var(--rpx) * 15);text-align:center;line-height:calc(var(--rpx) * 24);color:#171217}.dr-exchange{border-top:calc(var(--rpx) * 3) dashed #171217;margin-top:calc(var(--rpx) * 20);padding-top:calc(var(--rpx) * 16)}.dr-seats{margin:calc(var(--rpx) * 26) 0;border-top:calc(var(--rpx) * 5) solid #171217}.dr-seat{display:flex;align-items:center;gap:calc(var(--rpx) * 15);padding:calc(var(--rpx) * 18) calc(var(--rpx) * 5);border-bottom:calc(var(--rpx) * 3) dashed #171217;min-width:0}.dr-seat-info{flex:1;min-width:0}.dr-seat-info .dr-title{font-size:calc(var(--rpx) * 24)}.dr-seat-info .dr-muted{font-size:calc(var(--rpx) * 19)}.dr-confirmed-bet{font-size:calc(var(--rpx) * 29);font-weight:1000;color:#8252e8;margin-top:calc(var(--rpx) * 7);overflow-wrap:anywhere}.dr-personal>.dr-row>.dr-confirmed-bet{text-align:right;font-size:calc(var(--rpx) * 24);flex-shrink:0}.dr-small-card{width:calc(var(--rpx) * 64);height:calc(var(--rpx) * 90);flex-shrink:0;border:calc(var(--rpx) * 2) solid #171217;border-radius:calc(var(--rpx) * 3)}.dr-small-card .tt-corner{font-size:calc(var(--rpx) * 9)}.dr-small-card .tt-center-rank{font-size:calc(var(--rpx) * 26)}.dr-small-card .tt-center-suit{font-size:calc(var(--rpx) * 16)}.dr-seat .dr-open{width:calc(var(--rpx) * 132);min-height:calc(var(--rpx) * 80);background:#8252e8;color:#fff6df;font-size:calc(var(--rpx) * 22)}.dr-seat .room-seat-expand{font-size:calc(var(--rpx) * 18);color:#514658;flex-shrink:0}.dr-draft{position:relative;font-size:calc(var(--rpx) * 25);font-weight:800;margin:calc(var(--rpx) * 12) 0 calc(var(--rpx) * 20)}.dr-draft>span{font-size:calc(var(--rpx) * 41);color:#8252e8;font-weight:1000;margin:0 calc(var(--rpx) * 5)}.dr-additions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(var(--rpx) * 9)}.dr-additions button{margin:0;font-size:calc(var(--rpx) * 25);white-space:nowrap}.dr-controls button+button{margin-top:calc(var(--rpx) * 18)}.dr-panel .room-hand-toggle,.dr-panel .room-actions-toggle{min-height:calc(var(--rpx) * 62);width:auto;padding:calc(var(--rpx) * 10) calc(var(--rpx) * 14);background:#fff6df;box-shadow:none;border:calc(var(--rpx) * 2) solid #171217;font-size:calc(var(--rpx) * 20)}.dr-win{position:relative;display:inline-block;overflow:hidden;padding:calc(var(--rpx) * 6) calc(var(--rpx) * 18);margin:calc(var(--rpx) * 8) 0;background:#f4d869;color:#665117;border:calc(var(--rpx) * 3) solid #171217;box-shadow:calc(var(--rpx) * 3) calc(var(--rpx) * 3) 0 #171217;font-size:calc(var(--rpx) * 29);font-weight:1000;transform:rotate(-3deg)}.dr-win::after{content:'';position:absolute;inset:-30%;background:linear-gradient(110deg,transparent 40%,#fffbdc 50%,transparent 60%);animation:dr-gold 2.8s infinite;pointer-events:none}.dr-points{font-size:calc(var(--rpx) * 30);font-weight:900;color:#a7433c;text-align:center;margin-top:calc(var(--rpx) * 13)}.dr-tie{font-size:calc(var(--rpx) * 23);font-weight:800;margin:calc(var(--rpx) * 10) 0;color:#8252e8}.dr-effect{position:fixed;top:38%;left:15%;right:15%;z-index:12;background:#edff42;color:#171217;border:calc(var(--rpx) * 5) solid #171217;box-shadow:calc(var(--rpx) * 5) calc(var(--rpx) * 5) 0 #8252e8;padding:calc(var(--rpx) * 23);text-align:center;font-weight:900;pointer-events:none;transform:rotate(-4deg)}.dr-deal .dr-card,.dr-deal .dr-board-card{animation:dr-card-in .5s ease-out}.dr-setting{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--rpx) * 15);margin:calc(var(--rpx) * 21) 0;font-size:calc(var(--rpx) * 24);font-weight:700}.dr-setting input{min-width:0;width:44%;height:calc(var(--rpx) * 83);padding:calc(var(--rpx) * 13);background:#fffdf7;border:calc(var(--rpx) * 3) solid #171217;box-sizing:border-box}.dr-rotation{display:flex;gap:calc(var(--rpx) * 8);margin:calc(var(--rpx) * 14) 0 calc(var(--rpx) * 23)}.dr-rotation button{flex:1;width:0;font-size:calc(var(--rpx) * 20);min-height:calc(var(--rpx) * 85)}.dr-panel .dr-selected{background:#8252e8;color:#fff6df}.dr-mask{position:fixed;inset:0;z-index:100;background:#171217b0;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:calc(var(--rpx) * 30);box-sizing:border-box}.dr-modal{width:100%;max-width:calc(var(--rpx) * 780);max-height:86vh;padding:calc(var(--rpx) * 25);box-sizing:border-box;background:#fff6df;border:calc(var(--rpx) * 5) solid #171217;box-shadow:calc(var(--rpx) * 9) calc(var(--rpx) * 9) 0 #8252e8;border-radius:0}.dr-modal .dr-header{border-bottom:calc(var(--rpx) * 4) solid #171217;margin-bottom:calc(var(--rpx) * 15);padding-bottom:calc(var(--rpx) * 15)}.dr-rules-scroll{height:65vh}.dr-rule{font-size:calc(var(--rpx) * 24);font-weight:800;padding:calc(var(--rpx) * 20) 0;border-bottom:calc(var(--rpx) * 3) dashed #171217}.dr-example{display:flex;gap:calc(var(--rpx) * 13);margin-top:calc(var(--rpx) * 14)}.dr-example>div{width:calc(var(--rpx) * 84);height:calc(var(--rpx) * 118);border:calc(var(--rpx) * 2) solid #171217;border-radius:calc(var(--rpx) * 3)}.dr-example .tt-center-rank{font-size:calc(var(--rpx) * 30)}.dr-example .tt-center-suit{font-size:calc(var(--rpx) * 18)}.dr-example .tt-corner{font-size:calc(var(--rpx) * 10)}@keyframes dr-gold{0%,45%{transform:translateX(-100%)}80%,100%{transform:translateX(100%)}}@keyframes dr-card-in{from{opacity:.2;transform:translateY(calc(var(--rpx) * -30)) rotate(-12deg)}to{opacity:1;transform:rotate(-3deg)}}@media(prefers-reduced-motion:reduce){.dr-win::after,.dr-deal .dr-card,.dr-deal .dr-board-card{animation:none}}
/* Duel outcomes stay relative to the viewer; winnings never offset drinks. */
.dr-perspective{margin:18px 4px 20px 0;padding:15px;border:3px solid #171217;box-shadow:4px 4px #171217;background:#fff6e3;border-radius:7px 17px 7px 17px}.dr-perspective-title{font-size:12px;font-weight:900;margin-bottom:11px;color:#59425f}.dr-perspective-win{background:#fff2ae;box-shadow:4px 4px #b78924}.dr-perspective-lose{background:#ffe3d8;box-shadow:4px 4px #a23b4f}.dr-perspective-mixed{background:#fff6e3;box-shadow:4px 4px #8252e8}.dr-outcome-totals{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;font-weight:900}.dr-outcome-totals>div{flex:1;min-width:0;padding:9px 8px;border:2px solid #171217;border-radius:5px;background:#fffaf0;white-space:nowrap}.dr-outcome-totals>div>span{font-size:28px;letter-spacing:-1px}.dr-outcome-win{color:#8d6111}.dr-outcome-loss{color:#a13448}.dr-your-outcome{font-size:23px;font-weight:1000;line-height:1.4;overflow-wrap:anywhere}.dr-perspective-win .dr-your-outcome{color:#8d6111}.dr-perspective-lose .dr-your-outcome{color:#a13448}.dr-actual-drink{margin-top:12px;border-top:2px dashed #17121766;padding-top:10px;font-size:12px;font-weight:750;color:#a13448}.dr-actual-drink>span{font-size:23px;font-weight:1000;margin:0 3px}.dr-duel-list{margin-top:13px;border-top:1px dashed #17121766}.dr-duel{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px dashed #17121744;font-size:12px;font-weight:800}.dr-duel>div{min-width:0;display:flex;flex-direction:column;gap:3px}.dr-duel>div>span:first-child{color:#5c4b63;font-size:10px;overflow-wrap:anywhere}.dr-duel>span{flex:none;white-space:nowrap}.dr-duel-win{color:#8d6111}.dr-duel-lose{color:#a13448}.dr-duel .dr-tie{font-size:9px;margin:0;color:#8252e8}.dr-seat-outcome{font-size:15px;font-weight:1000;line-height:1.4;margin:7px 0 4px}.dr-result-detail{font-size:10px;font-weight:600;color:#78667b;line-height:1.5;margin-top:4px}.dr-named-summary{margin-top:8px}.dr-named-summary>span{display:block;font-size:10px;color:#6a5571;margin-bottom:5px}.dr-named-summary .dr-outcome-totals{display:flex;flex-direction:column;gap:3px;align-items:flex-start;font-size:12px}.dr-personal-outcome{font-size:20px;text-align:center;font-weight:1000;margin:14px 0 2px;line-height:1.5}.dr-result-mixed{border-color:#8252e8!important;background:#fff6e3!important}.lucky-dream .dr-board-card{width:92px;height:129px;border-width:2px;margin:15px auto 19px}.lucky-dream .dr-own-hand .dr-card{width:102px;height:143px;flex-basis:102px;border-width:2px}.lucky-dream .dr-own-hand .tt-center-rank,.lucky-dream .dr-board-card .tt-center-rank{font-size:43px}.lucky-dream .dr-own-hand .tt-center-suit,.lucky-dream .dr-board-card .tt-center-suit{font-size:24px}.lucky-dream .dr-own-hand .tt-corner,.lucky-dream .dr-board-card .tt-corner{font-size:12px}.lucky-dream .dr-seat .dr-small-card.dr-opened-card{width:61px;height:86px;border-width:2px;border-radius:4px;flex:0 0 61px;box-shadow:2px 2px #171217}.lucky-dream .dr-seat .dr-opened-card .tt-center-rank{font-size:29px}.lucky-dream .dr-seat .dr-opened-card .tt-center-suit{font-size:18px}.lucky-dream .dr-seat .dr-opened-card .tt-corner{font-size:9px}.lucky-dream .dr-seat.room-seat-expanded .dr-small-card.dr-opened-card{width:77px;height:108px;flex-basis:77px}.lucky-dream .dr-best-card{width:24px;height:34px;flex:none;border-width:1px}.lucky-dream .dr-best-card .tt-center-rank{font-size:14px}.lucky-dream .dr-best-card .tt-center-suit{font-size:10px}.lucky-dream .dr-best-card .tt-corner{display:none}.lucky-dream .dr-best-card .dr-imagined-label{font-size:8px}.lucky-dream .dr-personal.room-win-surface .dr-personal-outcome{position:relative;z-index:1}.lucky-dream .dr-seat{overflow:visible;gap:8px;padding:12px 6px}.lucky-dream .dr-seat .room-seat-expand{font-size:9px;align-self:flex-start;margin-top:6px;flex:none}.lucky-dream .dr-seat-info{overflow-wrap:anywhere}.lucky-dream .dr-seat .dr-open{min-height:37px;width:78px;font-size:12px;padding:7px;margin-top:10px}.lucky-dream .dr-tie{font-size:10px}
@media(max-width:350px){.dr-perspective{padding:12px}.dr-outcome-totals{gap:7px;font-size:11px}.dr-outcome-totals>div{padding:8px 6px}.dr-outcome-totals>div>span{font-size:23px}.dr-duel{font-size:11px}.lucky-dream .dr-seat .dr-small-card.dr-opened-card{width:55px;height:77px;flex-basis:55px}.lucky-dream .dr-seat .room-seat-expand{font-size:8px}.dr-seat-outcome{font-size:13px}.lucky-dream .dr-own-hand .dr-card{width:92px;height:129px;flex-basis:92px}}

.at-panel{margin:calc(var(--rpx) * 22) 0;color:#171217;background:transparent;border:0;padding:0;box-shadow:none;border-radius:0;text-align:center}.at-public-stage{padding:calc(var(--rpx) * 28) calc(var(--rpx) * 22);background:#8252e8;color:#fff6df;border:calc(var(--rpx) * 5) solid #171217;box-shadow:calc(var(--rpx) * 6) calc(var(--rpx) * 6) 0 #171217;margin-right:calc(var(--rpx) * 6)}.at-caption{font-size:calc(var(--rpx) * 21);color:#514658;line-height:1.6}.at-public-stage>.at-caption{color:#fff6df;font-weight:800}.at-highest{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:calc(var(--rpx) * 14);margin:calc(var(--rpx) * 20) 0}.at-name{font-size:calc(var(--rpx) * 27);max-width:100%;overflow-wrap:anywhere;font-weight:900}.at-amount{font-size:calc(var(--rpx) * 43);font-weight:1000;color:#edff42;font-variant-numeric:tabular-nums}.at-unit{font-size:calc(var(--rpx) * 23);margin-left:calc(var(--rpx) * 6)}.at-choice{background:#fff6df;color:#171217;border:calc(var(--rpx) * 3) solid #171217;padding:calc(var(--rpx) * 7) calc(var(--rpx) * 14);font-size:calc(var(--rpx) * 25);font-weight:900;transform:rotate(-3deg)}.at-empty{padding:calc(var(--rpx) * 25) 0;color:#fff6df;font-size:calc(var(--rpx) * 26)}.at-countdown{font-size:calc(var(--rpx) * 170);line-height:1;font-weight:1000;letter-spacing:calc(var(--rpx) * -10);color:#edff42;text-shadow:calc(var(--rpx) * 6) calc(var(--rpx) * 6) 0 #171217;font-variant-numeric:tabular-nums}.at-countdown span{font-size:calc(var(--rpx) * 27);letter-spacing:0;margin-left:calc(var(--rpx) * 13)}.at-track{height:calc(var(--rpx) * 12);background:#171217;border:calc(var(--rpx) * 2) solid #171217;overflow:hidden;margin:calc(var(--rpx) * 25) 0 calc(var(--rpx) * 13)}.at-progress{height:100%;background:#edff42;transition:width .2s linear}.at-urgent{color:#ffb693;animation:at-pulse .8s infinite}.at-drink{font-size:calc(var(--rpx) * 25);font-weight:800;line-height:1.7;margin-top:calc(var(--rpx) * 18)}.at-drink .at-caption{color:#fff6df}.at-draft{padding:calc(var(--rpx) * 24) calc(var(--rpx) * 19);margin:calc(var(--rpx) * 30) calc(var(--rpx) * 6) calc(var(--rpx) * 20) 0;background:#fff6df;border:calc(var(--rpx) * 5) solid #171217;box-shadow:calc(var(--rpx) * 6) calc(var(--rpx) * 6) 0 #171217}.at-draft-total{font-size:calc(var(--rpx) * 24);font-weight:800;margin:calc(var(--rpx) * 13) 0}.at-draft-total>span{font-size:calc(var(--rpx) * 38);color:#8252e8;margin-left:calc(var(--rpx) * 8)}.at-additions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(var(--rpx) * 10);margin-top:calc(var(--rpx) * 18)}.at-more,.at-operations{display:flex;gap:calc(var(--rpx) * 12);margin-top:calc(var(--rpx) * 17)}.at-panel button,.at-setting button{box-sizing:border-box;flex:1;min-width:0;min-height:calc(var(--rpx) * 88);margin:0;padding:calc(var(--rpx) * 19) calc(var(--rpx) * 7);border:calc(var(--rpx) * 4) solid #171217;border-radius:0;font-size:calc(var(--rpx) * 25);font-weight:900;line-height:1.4;color:#171217;background:#edff42;box-shadow:calc(var(--rpx) * 3) calc(var(--rpx) * 3) 0 #171217}.at-panel button::after,.at-setting button::after{border:0}.at-panel .at-selected{background:#8252e8;color:#fff6df}.at-panel .at-submit{width:100%;margin-top:calc(var(--rpx) * 20);background:#8252e8;color:#fff6df}.at-public-stage .at-submit{background:#edff42;color:#171217}.at-panel .room-actions-toggle{width:auto;min-height:calc(var(--rpx) * 64);line-height:1.3;padding:calc(var(--rpx) * 10) calc(var(--rpx) * 18);font-size:calc(var(--rpx) * 21);background:#fff6df;box-shadow:none}.at-panel button[disabled],.at-setting button[disabled]{opacity:.4}.at-setting{margin-top:calc(var(--rpx) * 24)}.at-cap-row{display:flex;align-items:center;gap:calc(var(--rpx) * 16);margin-top:calc(var(--rpx) * 12)}.at-cap-row input{min-width:0;width:45%;height:calc(var(--rpx) * 88);background:#fffdf5;border:calc(var(--rpx) * 4) solid #171217;padding:calc(var(--rpx) * 14);box-sizing:border-box;font-size:calc(var(--rpx) * 26)}.at-draft-total .at-pop{position:absolute;right:0;top:calc(var(--rpx) * -18);animation:at-rise .5s forwards;color:#8252e8}@keyframes at-rise{to{transform:translateY(calc(var(--rpx) * -25));opacity:0}}@keyframes at-pulse{50%{transform:scale(1.04)}}@media(prefers-reduced-motion:reduce){.at-countdown,.at-pop{animation:none}.at-progress{transition:none}}

.room-feedback{pointer-events:none;position:fixed;top:calc(env(safe-area-inset-top) + 67px);left:18px;right:18px;max-width:550px;margin:auto;z-index:75;padding:12px 15px;border:3px solid #171217;border-radius:5px 15px 5px 15px;background:#fff6e3;box-shadow:4px 4px 0 #171217;box-sizing:border-box;color:#171217;animation:feedback-enter .22s cubic-bezier(.15,1.3,.3,1) both;transform:rotate(-2deg)}.room-feedback-title{display:block;font-size:15px;font-weight:1000;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-feedback-detail{display:block;font-size:11px;font-weight:600;line-height:1.5;margin-top:4px;color:#6b5971}.room-feedback-win{overflow:hidden;background:#fff0a7;color:#765014;box-shadow:4px 4px 0 #8252e8}.room-feedback-win:before{content:'✦';position:absolute;right:8px;top:3px;font-size:37px;color:#edc65788;transform:rotate(10deg);z-index:0}.room-feedback-win:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 28%,#fffdf0bb 50%,transparent 72%);animation:feedback-gold .9s ease-out both;pointer-events:none}.room-feedback-win .room-feedback-title{font-size:19px;font-style:italic;position:relative;z-index:1}.room-feedback-lose{background:#ffb191;color:#7a242d;box-shadow:4px 4px 0 #171217}.room-feedback-lose .room-feedback-detail{color:#723d49}@keyframes feedback-enter{from{opacity:0;transform:translateY(-10px) scale(.85) rotate(-7deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(-2deg)}}@keyframes feedback-gold{from{transform:translateX(-120%)}to{transform:translateX(120%)}}@media(prefers-reduced-motion:reduce){.room-feedback,.room-feedback-win:after{animation:none}}

.point-feedback-layer{position:fixed;inset:0;pointer-events:none;z-index:1100}.point-pulse{position:absolute;left:50%;top:31%;width:min(78vw,300px);margin-left:0;text-align:center;pointer-events:none;animation:point-rise 1.2s cubic-bezier(.15,.8,.25,1) both}.point-pulse-label{display:inline-block;color:#171217;font-size:12px;font-weight:1000;border:2px solid #171217;border-radius:4px;background:#fff6e3;padding:4px 9px;box-shadow:2px 2px 0 #171217;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:rotate(3deg)}.point-pulse-value{font-family:'Arial Black',Impact,sans-serif;font-size:72px;font-weight:1000;line-height:1.2;letter-spacing:-4px;color:#edff42;-webkit-text-stroke:2px #171217;text-shadow:4px 5px 0 #8252e8;transform:rotate(-8deg)}.point-draft{top:62%}.point-drink{top:33%;z-index:2}.point-drink .point-pulse-value{color:#ffb191;text-shadow:4px 5px 0 #8252e8}.point-drink .point-pulse-label{background:#edff42}@keyframes point-rise{0%{opacity:1;transform:translate(-50%,20px) scale(.65) rotate(-8deg)}18%{transform:translate(-50%,0) scale(1.12)}70%{opacity:1}100%{opacity:0;transform:translate(-50%,-90px) scale(.9) rotate(3deg)}}@media(prefers-reduced-motion:reduce){.point-pulse{animation:none;transform:translateX(-50%)}}

.dv-vessel{position:relative;flex:none;width:108px;height:128px;border:3px solid #171217;border-top-width:5px;border-radius:9px 9px 28px 28px;overflow:hidden;background:linear-gradient(90deg,#fff9,#fffcf330 38%,#fff9);box-shadow:4px 4px 0 #171217,inset 5px 0 0 #fff9;isolation:isolate}.dv-liquid{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(#f0cf55,#e09d3d);transition:height .4s cubic-bezier(.2,.8,.3,1)}.dv-wave{position:absolute;left:-25%;width:150%;height:15px;top:-7px;border-radius:50%;background:#ffe776;animation:dv-wave 1.8s ease-in-out infinite}.dv-wave-two{top:-4px;opacity:.55;animation-direction:reverse;background:#fff6b9}.dv-glass-shine{position:absolute;left:8px;top:9px;width:5px;bottom:15px;border-radius:5px;background:#fffc;pointer-events:none;z-index:1}.dv-glass-marks{position:absolute;right:5px;top:26%;bottom:17%;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.dv-glass-marks>div{width:8px;height:2px;background:#17121730}.dv-number{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#302521;text-shadow:1px 1px 0 #fff9;transition:color .22s;z-index:2;font-variant-numeric:tabular-nums}.dv-number>.dv-amount{font-family:'Arial Black',Impact,sans-serif;font-size:43px;line-height:1.05;font-weight:1000;letter-spacing:-2px}.dv-number>.dv-cap{font-family:Arial,sans-serif;font-size:11px;font-weight:800;margin-top:5px;color:#171217b3}.dv-bubble{position:absolute;width:6px;height:6px;border:1.5px solid #fff9;border-radius:50%;bottom:0;animation:dv-bubble 2s linear infinite}.dv-bubble-one{left:24%}.dv-bubble-two{left:76%;animation-delay:.8s}.dv-stream{position:absolute;left:54%;top:0;width:8px;height:75%;background:linear-gradient(90deg,#fff4ab88,#efba42,#fff4ab88);border-radius:0 0 50% 50%;animation:dv-stream .85s ease-out both;pointer-events:none;z-index:1}.dv-pouring{animation:dv-pulse .45s cubic-bezier(.2,1.2,.3,1)}@keyframes dv-wave{0%,100%{transform:translateX(-5%) rotate(-3deg)}50%{transform:translateX(5%) rotate(3deg)}}@keyframes dv-bubble{to{transform:translateY(-90px);opacity:0}}@keyframes dv-stream{0%{opacity:0;transform:translateY(-100%)}20%{opacity:1;transform:none}75%{opacity:1}100%{opacity:0;transform:translateY(50%)}}@keyframes dv-pulse{35%{transform:rotate(3deg) scale(1.04);box-shadow:5px 5px 0 #8252e8}}@media(prefers-reduced-motion:reduce){.dv-wave,.dv-bubble,.dv-stream,.dv-pouring{animation:none}.dv-stream{display:none}.dv-liquid,.dv-number{transition:none}}

.dv-vessel .dv-number.dv-number-medium>.dv-amount{font-size:32px;letter-spacing:-2px}.dv-vessel .dv-number.dv-number-long>.dv-amount{font-size:23px;letter-spacing:-1px}

.ms-table{color:#171217;padding:0 0 8px}.ms-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:900;line-height:1.35}.ms-title{font-size:22px;font-weight:1000;letter-spacing:-.6px}.ms-muted{color:#625969;font-size:11px;line-height:1.5;font-weight:600}.ms-table>.ms-heading{margin:12px 0 17px}.ms-table>.ms-heading>.ms-title{background:#171217;color:#edff42;padding:5px 9px;transform:rotate(-2deg)}.ms-table>.ms-heading>.ms-muted{background:#fff6e3;border:2px solid #171217;border-radius:20px;padding:4px 8px;white-space:nowrap}.ms-panel{border:3px solid #171217;background:#fff6e3;border-radius:14px 4px 14px 4px;padding:16px;box-shadow:4px 4px 0 #171217;margin:16px 4px 17px 0}.ms-board{position:relative;margin:14px 5px 20px 0;background:#bda0f3;border:3px solid #171217;box-shadow:5px 5px 0 #171217;padding:17px 14px 12px;border-radius:5px 22px 5px 22px;isolation:isolate}.ms-board:before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(#fff3 1px,transparent 1px);background-size:7px 7px;z-index:-1}.ms-board-tape{position:absolute;top:-18px;right:22px;background:#edff42;border:2px solid #171217;width:35px;height:35px;display:flex;align-items:center;justify-content:center;font-size:24px;transform:rotate(12deg)}.ms-board>.ms-heading>span:first-child{font-size:11px;letter-spacing:1px}.ms-board>.ms-heading>.ms-muted{color:#171217;background:#fff6e3;padding:4px 7px;border:2px solid #171217;transform:rotate(3deg)}.ms-focus{display:grid;grid-template-columns:minmax(0,1fr) 105px;gap:8px;align-items:center;margin:17px 0 12px}.ms-count-stage{min-width:0;text-align:center}.ms-number{font-family:'Arial Black',Impact,sans-serif;font-size:clamp(85px,25vw,125px);font-weight:1000;line-height:1.05;letter-spacing:-7px;color:#242021;text-shadow:3px 3px 0 #fff6e3;-webkit-text-stroke:1px #171217;font-variant-numeric:tabular-nums;animation:ms-count .22s cubic-bezier(.18,1.25,.3,1) both;transition:color .25s}.ms-gold{color:#816315}.ms-warm{color:#a7591e}.ms-orange{color:#b53b26}.ms-hot{color:#831b24;text-shadow:3px 3px 0 #fff1c4}.ms-vessel-row{display:flex;flex-direction:column;gap:7px;align-items:center;margin:0}.ms-vessel-row>.ms-muted{font-size:9px;color:#30243f;font-weight:800;letter-spacing:1px}.ms-vessel-row .dv-vessel{width:89px;height:104px}.ms-vessel-row .dv-number>.dv-amount{font-size:33px}.ms-status{margin-top:13px;padding:10px 8px;background:#171217;color:#fff6e3;font-size:12px;font-weight:800;text-align:center;border-radius:5px}.ms-recent{padding:5px 0 0;color:#30233b;text-align:center;font-size:11px;font-weight:750;min-height:19px}.ms-hit{background:#ffb191}.ms-secret{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px}.ms-secret>.ms-heading{display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:12px;overflow-wrap:anywhere}.ms-secret>.ms-heading>.ms-muted{font-size:10px;background:#edff42;padding:3px 6px;border:1.5px solid #171217}.ms-cards{display:flex;justify-content:center;gap:7px;flex:none}.ms-card{width:57px;aspect-ratio:.7;height:81px}.ms-card .tt-poker{width:100%;height:100%;min-width:0;border:2px solid #171217;box-shadow:2px 2px 0 #171217;border-radius:5px;overflow:hidden}.ms-card .tt-center-rank{font-size:29px}.ms-card .tt-center-suit{font-size:18px}.ms-card .tt-corner{font-size:9px}.ms-card:first-child{transform:rotate(-5deg)}.ms-card:last-child{transform:rotate(5deg)}.ms-result{text-align:center;background:#ffb191;position:relative;padding:23px 14px}.ms-result-stamp{display:inline-block;border:3px solid #171217;box-shadow:3px 3px 0 #171217;background:#edff42;font-size:33px;font-weight:1000;padding:7px 17px;transform:rotate(-6deg);margin-bottom:18px}.ms-result .ms-title{font-size:20px;overflow-wrap:anywhere;margin-bottom:8px}.ms-result .ms-muted{color:#6d3234}.ms-seats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:20px 3px 12px 0}.ms-seat{position:relative;border:2px solid #171217;box-shadow:2px 2px 0 #171217;background:#fff6e3;border-radius:5px;padding:9px;min-width:0;overflow:hidden;font-size:12px;display:flex;flex-direction:column;gap:6px;min-height:62px}.ms-seat-name{min-width:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-weight:800}.ms-seat-name>.ms-muted{font-size:9px}.ms-seat-dot{color:#8252e8;margin-right:5px;font-size:14px}.ms-seat>.ms-muted{font-size:9px;padding-left:19px;min-height:14px}.ms-seat.ms-acting{background:#edff42;box-shadow:3px 3px 0 #8252e8}.ms-seat.ms-acting>.ms-muted{color:#171217}.ms-seat.room-win-surface{background:#fff0a7}.ms-seat.room-loss-surface{background:#ffb191}.ms-seat.room-win-surface>span{font-size:17px;font-weight:1000;font-style:italic;letter-spacing:-.6px}.ms-history{font-size:10px;line-height:1.8;color:#766675;padding:10px 0}.ms-history>div{border-bottom:1px dashed #17121733;padding:4px 0}.ms-actions{position:fixed;bottom:0;left:12px;right:12px;width:auto;max-width:576px;margin:auto;z-index:30;padding:12px 12px max(14px,env(safe-area-inset-bottom));background:#fff6e3;border:3px solid #171217;border-bottom:0;border-radius:18px 18px 0 0;box-shadow:0 -4px 0 #171217;max-height:45dvh;overflow-y:auto;overscroll-behavior:contain}.ms-actions>.ms-heading{font-size:11px;gap:10px}.ms-actions>.ms-heading>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;flex:1}.ms-actions .room-actions-toggle{flex:none;font-size:10px;padding:5px 8px;background:#edff42;border:2px solid #171217;border-radius:20px;width:auto;min-height:0;box-shadow:none}.ms-options{display:flex;gap:7px;margin-top:10px}.room-page .ms-table button,.room-page .ms-panel button{min-width:0;margin:0;padding:10px 7px;font-size:13px;line-height:1.3;font-weight:900;border:2px solid #171217;border-radius:7px;background:#fff6e3;color:#171217;box-shadow:2px 2px 0 #171217;transition:transform .12s,box-shadow .12s}.ms-options>button{flex:1}.room-page .ms-table button:active,.room-page .ms-panel button:active{transform:translate(2px,2px);box-shadow:none}.room-page .ms-table button.ms-primary,.room-page .ms-panel button.ms-primary{background:#8252e8;color:white}.room-page .ms-table button.ms-selected{background:#edff42;color:#171217;box-shadow:3px 3px 0 #8252e8}.room-page .ms-table button[disabled],.room-page .ms-panel button[disabled]{opacity:.38;box-shadow:none}.room-page .ms-table .ms-confirm{display:block;width:100%;margin-top:11px;min-height:43px;font-size:13px}.room-page .ms-panel>.ms-primary{display:block;width:100%;margin-top:16px}.ms-options input{min-width:0;width:45%;font-size:19px;font-weight:900;border:2px solid #171217;background:#fffdf6;color:#171217;padding:8px;box-sizing:border-box;border-radius:5px}.ms-pour{border:2px dashed #171217;margin-top:10px;padding:9px;background:#edff4266;font-size:11px}.ms-pour>div:first-child>span:first-child{font-size:19px;font-weight:1000;color:#8252e8;margin:0 3px}.ms-spark{display:inline-block;font-size:17px;color:#8252e8;animation:ms-spark .5s ease-out both}.ms-panel>.ms-muted{margin:7px 0 11px}@keyframes ms-count{from{opacity:.65;transform:translateY(7px) scale(.87) rotate(-5deg)}to{opacity:1;transform:none}}@keyframes ms-spark{to{opacity:0;transform:translateY(-16px) scale(1.6)}}@media(max-width:350px){.ms-focus{grid-template-columns:minmax(0,1fr) 88px}.ms-number{font-size:85px;letter-spacing:-5px}.ms-vessel-row .dv-vessel{width:78px;height:94px}.ms-card{width:47px;height:68px}.ms-actions{left:8px;right:8px;padding-left:9px;padding-right:9px}.ms-seat{padding:7px;font-size:10px}.ms-secret{gap:7px}.ms-options{gap:5px}.room-page .ms-table button{font-size:11px}}@media(prefers-reduced-motion:reduce){.ms-number,.ms-spark{animation:none;transition:none}.room-page .ms-table button{transition:none}}

.mb-table{padding-bottom:4px;color:#171217}.mb-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:15px;font-weight:1000;line-height:1.4}.mb-table>.mb-heading{margin:12px 0 18px}.mb-table>.mb-heading>span:first-child{background:#171217;color:#edff42;padding:5px 8px;font-size:15px;transform:rotate(-2deg)}.mb-muted{font-size:10px;font-weight:650;color:#66576a;line-height:1.5}.mb-table>.mb-heading>.mb-muted{background:#fff6e3;border:2px solid #171217;border-radius:20px;white-space:nowrap;padding:3px 7px}.mb-vessel-panel{display:grid;grid-template-columns:126px minmax(0,1fr);gap:19px;align-items:center;margin:14px 5px 24px 0;padding:17px 15px;background:#fff6e3;border:3px solid #171217;border-radius:5px 21px 5px 21px;box-shadow:5px 5px 0 #171217}.mb-vessel-slot{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}.mb-cup-label{font-size:10px;font-weight:900;letter-spacing:1px;background:#edff42;padding:3px 7px;border:2px solid #171217;transform:rotate(-4deg)}.mb-vessel-copy{min-width:0}.mb-turn-icon{width:43px;height:43px;background:#8252e8;color:white;border:2px solid #171217;box-shadow:3px 3px 0 #171217;border-radius:50%;font-size:27px;font-weight:900;display:flex;align-items:center;justify-content:center;transform:rotate(8deg);margin-bottom:13px}.mb-status{font-size:17px;font-weight:1000;line-height:1.45;overflow-wrap:anywhere}.mb-vessel-copy>.mb-muted{margin-top:7px;font-size:10px}.mb-recent{font-size:10px;line-height:1.5;color:#8252e8;font-weight:800;min-height:30px;margin-top:9px;overflow-wrap:anywhere}.mb-ball-board{position:relative;background:#bda0f3;border:3px solid #171217;box-shadow:5px 5px 0 #171217;border-radius:16px 4px 16px 4px;padding:19px 12px 14px;margin:0 5px 22px 0;isolation:isolate}.mb-ball-board:before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(#fff5 .9px,transparent .9px);background-size:7px 7px;z-index:-1}.mb-ball-board-label{position:absolute;top:-14px;right:15px;width:29px;height:29px;background:#edff42;border:2px solid #171217;display:flex;align-items:center;justify-content:center;font-size:22px;transform:rotate(10deg)}.mb-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px 7px;padding:0;background:none;border:0}.room-page .mb-grid button.mb-ball{position:relative;width:100%;min-width:0;aspect-ratio:1;display:flex;align-items:center;justify-content:center;margin:0;padding:0;line-height:1;border:2px solid #171217;border-radius:50%;background:radial-gradient(circle at 30% 20%,#a98570,#6e4939 46%,#422b27 100%);color:#fff5da;font-size:15px;font-weight:1000;box-shadow:2px 3px 0 #171217,inset 0 2px 0 #f6d5ab55;overflow:visible;-webkit-tap-highlight-color:transparent;transition:transform .1s}.room-page .mb-grid button.mb-ball::after{border:0}.room-page .mb-grid button.mb-ball:active{transform:translate(1px,2px);box-shadow:1px 1px 0 #171217}.room-page .mb-grid button.mb-ball[disabled]{opacity:1}.room-page .mb-grid.inactive button.mb-ball:not(.removed){opacity:.65}.room-page .mb-grid button.mb-ball.removed{opacity:.12;background:transparent;color:#171217;box-shadow:none;border-style:dashed;pointer-events:none}.room-page .mb-grid button.mb-ball.burst{opacity:1;pointer-events:none;animation:mb-ball-pop .6s ease-out both}.room-page .mb-grid button.mb-ball.burst:before{content:'✦';position:absolute;inset:-12px;color:#edff42;font-size:58px;display:flex;align-items:center;justify-content:center;text-shadow:2px 2px 0 #171217;pointer-events:none;animation:mb-shards .6s ease-out both}.mb-seats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 3px 14px 0}.mb-seat{position:relative;display:flex;flex-direction:column;gap:6px;min-height:62px;padding:9px;background:#fff6e3;border:2px solid #171217;box-shadow:2px 2px 0 #171217;border-radius:5px;font-size:12px;overflow:hidden}.mb-member-label{display:flex;align-items:center;gap:5px;min-width:0}.mb-member-mark{font-size:14px;color:#8252e8;flex:none}.mb-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:850}.mb-seat>span{font-size:10px;min-height:14px;padding-left:19px;color:#6b5c70}.mb-seat.acting{background:#edff42;box-shadow:3px 3px 0 #8252e8}.mb-seat.acting>span{color:#171217;font-weight:850}.mb-seat.room-win-surface{background:#fff0a7}.mb-seat.room-win-surface>span{font-size:17px;font-style:italic;font-weight:1000;color:#8a5e0b}.mb-seat.room-loss-surface{background:#ffb191}.mb-seat.room-loss-surface>span{color:#8d2c30;font-weight:950}.mb-actions{position:fixed;bottom:0;left:12px;right:12px;max-width:576px;margin:auto;z-index:30;padding:12px 12px max(14px,env(safe-area-inset-bottom));background:#fff6e3;border:3px solid #171217;border-bottom:0;border-radius:18px 18px 0 0;box-shadow:0 -4px 0 #171217}.mb-actions>.mb-heading{font-size:11px}.mb-actions>.mb-heading>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mb-actions .room-actions-toggle{padding:5px 8px;border:2px solid #171217;background:#edff42;border-radius:20px;color:#171217;font-size:10px;flex:none;min-height:0;box-shadow:none}.mb-dock-pot{font-size:10px;color:#76606b;margin-top:6px;line-height:1.5}.mb-dock-pot>span{font-size:21px;font-weight:1000;margin:0 4px;font-variant-numeric:tabular-nums;transition:color .22s}.mb-action-row{display:flex;align-items:center;gap:12px;margin-top:9px}.mb-action-row>span{flex:1;min-width:0;font-size:10px;color:#685a6b;line-height:1.6}.room-page button.mb-primary{width:auto;min-width:87px;padding:10px 13px;border:2px solid #171217;background:#8252e8;color:white;box-shadow:3px 3px 0 #171217;border-radius:7px;font-size:13px;font-weight:900;line-height:1.4;margin:0;transition:transform .1s}.room-page button.mb-primary:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #171217}.room-page button.mb-primary::after{border:0}.room-page button.mb-primary[disabled]{opacity:1}.room-page button.mb-primary.mb-unavailable{opacity:.38;box-shadow:none}.mb-settings{padding:18px 15px;border:3px solid #171217;box-shadow:4px 4px 0 #171217;background:#fff6e3;border-radius:15px 4px 15px 4px;margin:16px 4px 20px 0}.mb-settings>.mb-heading{font-size:18px;margin-bottom:14px}.mb-field{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px dashed #17121755;font-size:12px;font-weight:800}.mb-field input{width:80px;min-width:0;padding:9px;border:2px solid #171217;border-radius:5px;background:#fffdf8;color:#171217;font-size:19px;font-weight:900;text-align:center}.mb-settings button.mb-primary{display:block;width:100%;margin-top:17px}.mb-fx-layer{position:fixed;inset:0;pointer-events:none;z-index:60}.mb-fx{position:absolute;pointer-events:none;animation:mb-float 1.35s cubic-bezier(.18,.8,.3,1) both;text-align:center}.mb-fx-amount{position:relative;font-family:'Arial Black',Impact,sans-serif;font-size:58px;font-weight:1000;line-height:1;color:#edff42;-webkit-text-stroke:2px #171217;text-shadow:3px 4px 0 #8252e8;transform:rotate(-9deg);z-index:1}.mb-fx-rays{position:absolute;inset:-24px;display:flex;align-items:center;justify-content:center;font-size:99px;line-height:1;color:#fff6e3;text-shadow:2px 2px 0 #171217;animation:mb-burst .7s ease-out both}.mb-fx.hit .mb-fx-amount{color:#ff9c71}.mb-settlement{position:relative;isolation:isolate;overflow:hidden;margin:25px 5px 23px 0;padding:27px 18px 24px;border:3px solid #171217;background:#8252e8;color:#fff6e3;box-shadow:5px 5px 0 #171217;border-radius:5px 24px 5px 24px;text-align:center;animation:mb-result-enter .45s cubic-bezier(.16,1.1,.3,1) both}.mb-settlement:before{content:'';position:absolute;inset:0;background:radial-gradient(#17121733 1px,transparent 1px);background-size:6px 6px;z-index:-1}.mb-settlement-tape{position:absolute;left:-15px;right:-15px;top:16px;background:#edff42;color:#171217;border:2px solid #171217;font-size:15px;letter-spacing:28px;line-height:24px;transform:rotate(-5deg)}.mb-explosion-mark{position:relative;display:flex;align-items:center;justify-content:center;width:91px;height:91px;margin:31px auto 16px;border:3px solid #171217;border-radius:50%;background:#fff6e3;color:#171217;font-family:'Arial Black',Impact,sans-serif;font-size:51px;font-weight:1000;box-shadow:5px 5px 0 #171217;transform:rotate(9deg)}.mb-explosion-ring{position:absolute;inset:-12px;border:3px dashed #edff42;border-radius:50%;pointer-events:none;animation:mb-result-ring .7s ease-out both}.mb-settlement-title{display:inline-block;font-size:64px;letter-spacing:7px;font-weight:1000;line-height:1.2;color:#edff42;-webkit-text-stroke:2px #171217;text-shadow:4px 4px 0 #171217;transform:rotate(-6deg);margin:0 0 15px}.mb-settlement-name{font-size:17px;font-weight:850;overflow-wrap:anywhere;color:#fff6e3}.mb-settlement-drink{margin:16px 0 20px}.mb-settlement-drink>span{font-size:13px;font-weight:700}.mb-settlement-drink>div{font-family:'Arial Black',Impact,sans-serif;font-size:76px;line-height:1.15;font-weight:1000;color:#fff6e3;text-shadow:4px 4px 0 #171217;font-variant-numeric:tabular-nums}.room-page .mb-settlement button.mb-next{width:100%;display:block;background:#edff42;color:#171217;min-height:46px;font-size:16px}.mb-settlement-wait{font-size:11px;color:#fff6e3;margin-top:20px}.mine-battle-room .room-exit-control[disabled]{opacity:1}@keyframes mb-float{0%{opacity:1;transform:translateY(20px) scale(.5) rotate(-12deg)}18%{opacity:1;transform:translateY(-5px) scale(1.16)}70%{opacity:1}100%{opacity:0;transform:translateY(-125px) scale(.8) rotate(5deg)}}@keyframes mb-burst{to{opacity:0;transform:scale(1.7) rotate(55deg)}}@keyframes mb-ball-pop{0%{opacity:1;transform:scale(1)}28%{opacity:1;transform:scale(1.3)}65%{opacity:.8;transform:scale(.65) rotate(22deg)}100%{opacity:0;transform:scale(.05) rotate(45deg)}}@keyframes mb-shards{0%{opacity:0;transform:scale(.5)}35%{opacity:1}100%{opacity:0;transform:scale(1.7) rotate(60deg)}}@keyframes mb-result-enter{from{opacity:0;transform:scale(.85) rotate(-5deg)}to{opacity:1;transform:none}}@keyframes mb-result-ring{from{opacity:1;transform:scale(.65)}to{opacity:0;transform:scale(1.8)}}@media(max-width:350px){.mb-table>.mb-heading>span:first-child{font-size:12px}.mb-table>.mb-heading>.mb-muted{font-size:9px}.mb-vessel-panel{grid-template-columns:99px minmax(0,1fr);padding:14px 10px;gap:12px}.mb-vessel-slot .dv-vessel{width:90px;height:111px}.mb-status{font-size:14px}.mb-ball-board{padding:17px 8px 12px}.mb-grid{gap:8px 5px}.room-page .mb-grid button.mb-ball{font-size:12px}.mb-actions{left:8px;right:8px;padding-left:9px;padding-right:9px}.mb-action-row{gap:8px}.mb-action-row>span{font-size:9px}.mb-seat{padding:7px;font-size:10px}.mb-settlement-title{font-size:55px}}@media(prefers-reduced-motion:reduce){.mb-fx,.mb-fx-rays,.mb-settlement,.mb-explosion-ring{animation:none}.mb-explosion-ring{display:none}.room-page .mb-grid button.mb-ball.burst{animation:none;opacity:.12;background:transparent}.room-page .mb-grid button.mb-ball.burst:before{display:none}.mb-dock-pot>span,.room-page button.mb-primary{transition:none}}

.mb-fx-settled .mb-fx:not(.hit){display:none}
/* Compact phone table: keep real hit targets while exposing more of the ball grid. */
.mb-vessel-panel{grid-template-columns:99px minmax(0,1fr);gap:14px;padding:12px 13px;margin:12px 5px 20px 0}
.mb-vessel-slot{position:relative;gap:0;padding-top:5px}.mb-vessel-slot .dv-vessel{width:90px;height:105px}.mb-cup-label{position:absolute;top:-4px;left:8px;z-index:3;font-size:8px;padding:2px 5px;white-space:nowrap}
.mb-vessel-copy{position:relative}.mb-turn-icon{position:absolute;right:0;top:-2px;width:28px;height:28px;font-size:19px;margin:0;box-shadow:2px 2px 0 #171217}.mb-status{font-size:15px;line-height:1.45;padding-right:34px}.mb-vessel-copy>.mb-muted{margin-top:6px;font-size:9px}.mb-recent{font-size:9px;min-height:27px;margin-top:7px}
.mb-ball-board{padding:18px 10px 13px}.mb-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px 6px}.room-page .mb-grid button.mb-ball{font-size:13px}
.mb-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;padding:8px 12px max(9px,env(safe-area-inset-bottom));border-radius:14px 14px 0 0}.mb-actions>.mb-heading{grid-column:1;grid-row:1;gap:6px;font-size:10px;align-items:center}.mb-actions .room-actions-toggle{padding:2px 5px;font-size:9px;border-width:1.5px;line-height:1.3}.mb-dock-pot{grid-column:1;grid-row:2;margin:2px 0 0;font-size:9px;line-height:1.3}.mb-dock-pot>span{font-size:21px;margin:0 3px}.mb-action-row{grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:4px;margin:0}.mb-action-row>span{font-size:8px;line-height:1.25;flex:none;white-space:nowrap}.room-page .mb-action-row button.mb-primary{min-width:94px;min-height:34px;padding:6px 10px;font-size:12px;line-height:1.4;border-radius:5px;box-shadow:2px 2px 0 #171217}
@media(max-width:350px){.mb-vessel-panel{grid-template-columns:88px minmax(0,1fr);gap:11px;padding:11px 10px}.mb-vessel-slot .dv-vessel{width:81px;height:96px}.mb-status{font-size:13px;padding-right:28px}.mb-turn-icon{width:25px;height:25px;font-size:17px}.mb-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px 6px}.mb-actions{column-gap:7px;padding-left:8px;padding-right:8px}.mb-action-row>span{font-size:7.5px}.room-page .mb-action-row button.mb-primary{min-width:88px}}
.room-page .mb-grid button.mb-ball{min-height:0}
.room-page .mb-actions .room-actions-toggle{min-height:20px;height:20px;padding:2px 5px;font-size:9px;border:1.5px solid #171217;background:#edff42;color:#171217;line-height:1.3}

.jy-table{padding-bottom:0}.jy-header{position:relative;padding:calc(var(--rpx) * 6) calc(var(--rpx) * 150) calc(var(--rpx) * 16) 0;min-height:calc(var(--rpx) * 65)}.jy-title{font-size:calc(var(--rpx) * 32);font-weight:800;color:#564125}.jy-muted{font-size:calc(var(--rpx) * 22);line-height:1.5;color:#8a7859}.jy-rule-button{position:absolute;right:0;top:0;width:auto!important;margin:0!important;padding:calc(var(--rpx) * 12)!important;font-size:calc(var(--rpx) * 23)!important;color:#8e613b!important;background:transparent!important}.jy-panel,.jy-board{margin:calc(var(--rpx) * 16) 0;padding:calc(var(--rpx) * 22);background:#fbf4e2;border:calc(var(--rpx) * 1) solid #d4bf95;border-radius:calc(var(--rpx) * 18)}.jy-board{background:radial-gradient(ellipse,#fff8e5,#eadbb8);border:calc(var(--rpx) * 3) double #bca06c;text-align:center}.jy-row{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--rpx) * 14);min-width:0}.jy-public-group{display:flex;justify-content:center;gap:calc(var(--rpx) * 10);margin:calc(var(--rpx) * 18) 0}.jy-public-card{width:calc(var(--rpx) * 116);height:calc(var(--rpx) * 166);min-width:0;flex:0 1 calc(var(--rpx) * 116)}.jy-card{position:relative;width:100%;height:100%;border:calc(var(--rpx) * 2) solid #a7874f;border-radius:calc(var(--rpx) * 10);background:#eadbc0;overflow:hidden;box-shadow:0 calc(var(--rpx) * 3) calc(var(--rpx) * 9) #694b2830}.jy-card-image{position:absolute;width:100%;height:100%;inset:0}.jy-card-name{position:absolute;left:0;right:0;bottom:0;padding:calc(var(--rpx) * 6) 0;background:linear-gradient(transparent,#352617dd);color:#fff3ce;font-size:calc(var(--rpx) * 24);font-weight:800;text-align:center;text-shadow:0 calc(var(--rpx) * 1) calc(var(--rpx) * 3) #2e2117}.jy-card.hidden{background:repeating-linear-gradient(45deg,#6e6044,#6e6044 calc(var(--rpx) * 4),#c9b587 calc(var(--rpx) * 5),#c9b587 calc(var(--rpx) * 6))}.jy-card.hidden::after{content:'西 游';position:absolute;inset:20%;border:calc(var(--rpx) * 2) solid #dccaa1;display:flex;align-items:center;justify-content:center;color:#efe0bc;font-size:calc(var(--rpx) * 22);font-weight:800}.jy-placeholder{padding:calc(var(--rpx) * 45) 0;color:#9d8358;font-size:calc(var(--rpx) * 26)}.jy-hand-grid{display:flex;gap:calc(var(--rpx) * 12);flex-wrap:wrap;margin-top:calc(var(--rpx) * 16)}.jy-hand-stack{position:relative;width:calc((100% - calc(var(--rpx) * 36))/4);height:calc(var(--rpx) * 172);margin-bottom:calc(var(--rpx) * 20)}.jy-hand-stack .jy-card{height:calc(var(--rpx) * 148)}.jy-hand-count{text-align:center;font-size:calc(var(--rpx) * 22);color:#8e6a36;line-height:1.4}.jy-hand-stack.selected .jy-card{border:calc(var(--rpx) * 4) solid #ad7235;box-shadow:0 0 0 calc(var(--rpx) * 3) #e8c87b;transform:translateY(calc(var(--rpx) * -5))}.jy-hand-stack.disabled{opacity:.52}.jy-hand-stack .jy-card-name{font-size:calc(var(--rpx) * 22)}.jy-seat{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--rpx) * 16);padding:calc(var(--rpx) * 16);min-height:calc(var(--rpx) * 74);border-bottom:calc(var(--rpx) * 1) solid #dfcfaf;font-size:calc(var(--rpx) * 25)}.jy-seat-name{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jy-seat.acting{background:#eddfbd;border-left:calc(var(--rpx) * 4) solid #b87c3b}.jy-seat-count{font-size:calc(var(--rpx) * 24);font-variant-numeric:tabular-nums;color:#826c47}.jy-actions{position:fixed;left:calc(var(--rpx) * 24);right:calc(var(--rpx) * 24);bottom:0;z-index:12;background:#faf1dc;border:calc(var(--rpx) * 1) solid #c5aa75;border-radius:calc(var(--rpx) * 16) calc(var(--rpx) * 16) 0 0;padding:calc(var(--rpx) * 14) calc(var(--rpx) * 16) calc(calc(var(--rpx) * 14) + env(safe-area-inset-bottom));box-shadow:0 calc(var(--rpx) * -4) calc(var(--rpx) * 16) #63502a24;max-height:34vh;overflow-y:auto}.jy-table button,.jy-modal button{width:auto;min-width:0;margin:0;padding:calc(var(--rpx) * 12) calc(var(--rpx) * 10);line-height:1.4;font-size:calc(var(--rpx) * 25);border-radius:calc(var(--rpx) * 9);background:#e6d9b9;color:#51422b}.jy-table button::after,.jy-modal button::after{border:0}.jy-table button.jy-primary,.jy-table button.selected{background:#975930;color:#fff9e9;font-weight:700}.jy-table button[disabled]{opacity:.45}.jy-options{display:flex;gap:calc(var(--rpx) * 10);margin-top:calc(var(--rpx) * 12)}.jy-options button{flex:1}.jy-panel>.jy-primary{width:100%;margin-top:calc(var(--rpx) * 14)}.jy-confirm{width:100%!important;margin-top:calc(var(--rpx) * 14)!important}.jy-notice{position:fixed;left:10%;right:10%;top:30%;z-index:45;padding:calc(var(--rpx) * 28) calc(var(--rpx) * 24);background:#faefd5;border:calc(var(--rpx) * 3) double #bb9552;border-radius:calc(var(--rpx) * 22);text-align:center;box-shadow:0 calc(var(--rpx) * 10) calc(var(--rpx) * 50) #58412340;pointer-events:none;animation:jy-notice .3s ease-out}.jy-notice.lose{color:#9b4938;background:#f5e4d7;border-color:#b46e58}.jy-notice.win{color:#97721f;box-shadow:0 0 calc(var(--rpx) * 40) #e0bb5a70}.jy-notice-title{font-size:calc(var(--rpx) * 35);font-weight:900}.jy-notice-detail{font-size:calc(var(--rpx) * 24);margin-top:calc(var(--rpx) * 8)}.jy-mask{position:fixed;inset:0;z-index:100;background:#0008;display:flex;align-items:center;justify-content:center;padding:calc(var(--rpx) * 28)}.jy-modal{width:100%;max-height:82vh;border-radius:calc(var(--rpx) * 18);background:#fbf2dc;padding:calc(var(--rpx) * 22);box-sizing:border-box}.jy-modal-head{position:relative;padding-right:calc(var(--rpx) * 120);min-height:calc(var(--rpx) * 58)}.jy-modal-head button{position:absolute;right:0;top:0;background:transparent;padding:calc(var(--rpx) * 8);font-size:calc(var(--rpx) * 24)}.jy-rules-scroll{max-height:65vh}.jy-rule-row{padding:calc(var(--rpx) * 18) 0;border-bottom:calc(var(--rpx) * 1) solid #e1cfab}.jy-rule-pair{display:flex;align-items:center;gap:calc(var(--rpx) * 12);margin-top:calc(var(--rpx) * 8);flex-wrap:wrap}.jy-rule-card{width:calc(var(--rpx) * 72);height:calc(var(--rpx) * 104)}.jy-rule-card .jy-card-name{font-size:calc(var(--rpx) * 18);padding:calc(var(--rpx) * 4) 0}.jy-arrow{font-size:calc(var(--rpx) * 26);color:#a27b40}.jy-history{font-size:calc(var(--rpx) * 22);color:#8b7551;line-height:1.8;margin-top:calc(var(--rpx) * 18)}@keyframes jy-notice{from{transform:scale(.9);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.jy-notice{animation:none}.jy-hand-stack.selected .jy-card{transform:none}}
.jy-role-options{flex-wrap:wrap}.jy-role-options button{flex:1 0 20%;min-width:calc(var(--rpx) * 80)}.jy-row>.room-hand-toggle{flex:0 0 auto;width:auto;margin:0}.jy-actions .jy-muted{padding:calc(var(--rpx) * 14) 0 0}
.jy-public-card{animation:jy-card-play .28s ease-out}.jy-hand-stack{animation:jy-card-play .3s ease-out}@keyframes jy-card-play{from{opacity:.35;transform:translateY(calc(var(--rpx) * 12)) rotate(-3deg)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.jy-public-card,.jy-hand-stack{animation:none}}
.jy-public-card{width:calc(var(--rpx) * 112);height:calc(var(--rpx) * 168);flex:0 0 calc(var(--rpx) * 112)}.jy-rule-card{width:calc(var(--rpx) * 72);height:calc(var(--rpx) * 108);flex-shrink:0}.jy-card-image{object-fit:contain}.jy-physical-scroll{width:100%;height:calc(var(--rpx) * 244);white-space:nowrap}.jy-physical-row{display:inline-flex;align-items:flex-end;padding:calc(var(--rpx) * 30) calc(var(--rpx) * 10) calc(var(--rpx) * 12);min-width:100%;box-sizing:border-box}.jy-physical-card{position:relative;flex:0 0 calc(var(--rpx) * 132);width:calc(var(--rpx) * 132);height:calc(var(--rpx) * 198);margin-right:calc(var(--rpx) * -44);transition:transform .16s ease}.jy-physical-card:last-child{margin-right:calc(var(--rpx) * 8)}.jy-physical-card.selected{transform:translateY(calc(var(--rpx) * -22))}.jy-physical-card.selected .jy-card{border-color:#b97829;box-shadow:0 0 0 calc(var(--rpx) * 3) #e4bd58}.jy-physical-card.disabled{filter:brightness(.78)}.jy-hand-dock{max-height:42vh}.jy-table{padding-bottom:0}.jy-throw{animation:jy-throw .6s cubic-bezier(.2,.7,.3,1) both}@keyframes jy-throw{from{transform:translateY(calc(var(--rpx) * 220)) scale(.7) rotate(-9deg);opacity:.3}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.jy-throw{animation:none}.jy-physical-card{transition:none}}
.jy-card-edge-name{position:absolute;left:calc(var(--rpx) * 5);top:calc(var(--rpx) * 8);z-index:1;width:calc(var(--rpx) * 24);padding:calc(var(--rpx) * 4) calc(var(--rpx) * 2);border-radius:calc(var(--rpx) * 5);color:#fff6df;background:#5b3d29d9;font-size:calc(var(--rpx) * 20);line-height:1.1;text-align:center;white-space:normal;word-break:break-all;pointer-events:none}.jy-seat-back{width:calc(var(--rpx) * 28);height:calc(var(--rpx) * 42);flex:0 0 calc(var(--rpx) * 28)}.jy-seat-back .jy-card{border-radius:calc(var(--rpx) * 3)}.jy-seat-back .jy-card::after{content:"";border-width:calc(var(--rpx) * 1)}


.jy-card{box-sizing:border-box}

.jy-seat{position:relative;box-sizing:border-box;border:calc(var(--rpx) * 1) solid #ddcaa5;border-radius:calc(var(--rpx) * 12);overflow:hidden;margin:calc(var(--rpx) * 10) 0}.jy-seat.acting{border:calc(var(--rpx) * 2) solid #b87c3b}.jy-physical-row{padding-left:0;padding-right:0}.jy-seat.room-win-surface::after{border-radius:inherit}
/* LUCKY: a play stage and public counts, never a poker seating table. */
.jy-table{color:#171217;padding-bottom:0}.jy-table .jy-header{position:relative;padding:4px 105px 13px 0;min-height:43px}.jy-table .jy-title{font-size:18px;font-weight:900;color:#171217}.jy-table .jy-muted{font-size:11px;color:#61516c}.jy-table .jy-rule-button{font-size:11px!important;color:#171217!important;border:2px solid #171217;background:#fff6df!important;border-radius:0;min-height:42px;padding:8px!important}.jy-table .jy-play-stage{background:#8252e8;color:#fff6df;border:3px solid #171217;border-radius:0;padding:13px;box-shadow:4px 4px 0 #171217;margin:8px 0 17px;text-align:center}.jy-stage-tag{font-size:8px;letter-spacing:1px;color:#edff42;text-align:left;margin-bottom:10px}.jy-play-stage .jy-row{font-size:12px;gap:7px}.jy-play-stage .jy-muted{color:#edff42;font-size:10px}.jy-table .jy-public-group{margin:14px 0 5px;gap:6px}.jy-table .jy-public-card{width:54px;height:81px;flex:0 1 54px}.jy-table .jy-card{border:2px solid #171217;border-radius:0;box-shadow:2px 2px 0 #171217;background:#fff6df}.jy-table .jy-card-image{object-fit:contain}.jy-table .jy-card-name{font-size:11px;background:#edff42;color:#171217;padding:3px;font-weight:900;text-shadow:none}.jy-table .jy-placeholder{padding:25px 0;color:#fff6df;font-size:15px}.jy-status-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:14px 0}.jy-table .jy-seat{display:flex;align-items:center;gap:5px;padding:7px 5px;background:#fff6df;border:2px solid #171217;border-radius:0;margin:0;min-height:50px;overflow:hidden}.jy-table .jy-seat.acting{background:#b99aff;box-shadow:2px 2px 0 #171217}.jy-seat-avatar{width:24px;height:24px;flex:0 0 24px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid #171217;background:#edff42;font-size:10px;overflow:hidden}.jy-seat-avatar img{width:100%;height:100%;object-fit:cover}.jy-seat-summary{display:flex;flex-direction:column;gap:4px;min-width:0}.jy-table .jy-seat-name{font-size:9px;line-height:1.2;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jy-table .jy-seat-count{font-size:9px;line-height:1.2;color:#171217;font-weight:800;white-space:nowrap}.jy-table .jy-history{margin:15px 0;font-size:10px;line-height:1.8;color:#63516e;max-height:80px;overflow:auto;border-left:3px solid #8252e8;padding-left:10px}.jy-history-heading{font-size:10px;color:#171217;font-weight:900;margin-bottom:3px}.jy-table .jy-hand-dock{position:relative;inset:auto;left:auto;right:auto;bottom:auto;z-index:auto;margin:15px 0 0;padding:12px 8px 15px;background:#fff6df;border:3px solid #171217;border-radius:0;max-height:none;overflow:visible;box-shadow:4px 4px 0 #171217}.jy-hand-dock>.jy-row{font-size:12px;font-weight:900;padding:0 3px}.jy-table .room-actions-toggle{font-size:10px;color:#8252e8;background:transparent;min-height:40px;padding:8px}.jy-table .jy-physical-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden}.jy-table .jy-physical-row{padding-top:24px;padding-bottom:8px;align-items:flex-end}.jy-table .jy-physical-card{z-index:auto;transition:transform .18s}.jy-table .jy-physical-card.selected{transform:translateY(-17px);z-index:auto}.jy-table .jy-physical-card.selected .jy-card{border-color:#8252e8;box-shadow:0 0 0 2px #8252e8}.jy-table .jy-card-edge-name{top:1px;left:1px;border-radius:0;background:#171217;color:#fff6df;font-size:11px;line-height:1.1;width:14px;padding:3px 1px;z-index:1}.jy-table .jy-options{display:flex;gap:8px;margin-top:10px;padding:0 3px}.jy-table .jy-options button{border:2px solid #171217;background:#edff42;border-radius:0;min-height:44px;font-size:13px;color:#171217;padding:10px}.jy-table .jy-options button.jy-primary{background:#8252e8;color:#fff6df;box-shadow:3px 3px 0 #171217}.jy-table .jy-panel{background:#fff6df;border:3px solid #171217;border-radius:0;padding:15px}.jy-table .jy-panel .jy-primary{background:#8252e8;color:#fff6df;min-height:44px;border:2px solid #171217;border-radius:0}.jy-table .jy-notice{background:#fff6df;border:3px solid #171217;border-radius:0;color:#8252e8;box-shadow:5px 5px 0 #171217}.jy-table .jy-notice-title{font-size:21px}.jy-table .jy-notice-detail{font-size:13px}.jy-mask .jy-modal{background:#fff6df;border:3px solid #171217;border-radius:0}.jy-modal .jy-title{font-size:18px;color:#171217}.jy-modal .jy-modal-head button{min-height:42px;border-radius:0;color:#171217;font-size:12px}.jy-table .jy-seat.room-win-surface{border-color:#ad8521;background:#f8e8aa}.jy-table .jy-seat.room-loss-surface{background:#eed3df}@media(max-width:350px){.jy-status-strip{gap:4px}.jy-table .jy-seat{padding:6px 3px;gap:3px}.jy-seat-avatar{width:20px;height:20px;flex-basis:20px}.jy-table .jy-seat-name,.jy-table .jy-seat-count{font-size:8px}.jy-table .jy-public-card{width:49px;height:73.5px;flex-basis:49px}.jy-table .jy-options button{font-size:12px}}@media(prefers-reduced-motion:reduce){.jy-table .jy-physical-card,.jy-table .jy-public-card{transition:none;animation:none}}
/* Compact public play and legible seats. Keep server round-seat order. */
.jy-table .jy-play-stage{padding:9px 11px;margin:7px 0 13px;min-height:0}.jy-play-stage .jy-row{align-items:center;flex-wrap:wrap;justify-content:space-between;gap:5px;font-size:11px}.jy-table .jy-public-group{margin:9px 0 2px;gap:5px;min-height:0}.jy-table .jy-public-card{width:43px;height:64.5px;flex:0 0 43px}.jy-table .jy-public-card .jy-card-name{font-size:9px;padding:2px}.jy-table .jy-placeholder{padding:12px 0;font-size:12px}.jy-table .jy-status-strip{display:flex;flex-direction:column;gap:0;margin:12px 0;border-top:2px solid #171217}.jy-table .jy-status-strip .jy-seat{width:100%;min-height:46px;gap:10px;padding:8px 5px;border:0;border-bottom:1px dashed #171217;background:transparent;overflow:visible;box-shadow:none;box-sizing:border-box}.jy-table .jy-status-strip .jy-seat.acting{background:#b99aff}.jy-table .jy-seat-number{font-size:11px;font-weight:900;color:#8252e8;flex:0 0 20px;text-align:center}.jy-table .jy-status-strip .jy-seat-avatar{width:29px;height:29px;flex:0 0 29px}.jy-table .jy-status-strip .jy-seat-summary{flex:1;min-width:0;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.jy-table .jy-status-strip .jy-seat-name{flex:1;min-width:0;font-size:12px;line-height:1.45;font-weight:700;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.jy-table .jy-status-strip .jy-seat-count{flex:0 0 auto;font-size:10px;line-height:1.4;white-space:nowrap}.jy-table .jy-status-strip .room-win-surface{background:#f8e8aa;overflow:hidden}.jy-table .jy-status-strip .room-loss-surface{background:#eed3df}@media(max-width:350px){.jy-table .jy-status-strip .jy-seat{gap:7px;padding:8px 4px}.jy-table .jy-status-strip .jy-seat-name{font-size:11px}.jy-table .jy-seat-number{flex-basis:17px}.jy-table .jy-public-card{width:39px;height:58.5px;flex-basis:39px}}

.gr-mask{position:fixed;inset:0;z-index:850;background:#1712179e;backdrop-filter:blur(5px);padding:30px 18px;display:flex;justify-content:center;align-items:center;box-sizing:border-box}.gr-modal{position:relative;display:flex;flex-direction:column;width:min(100%,440px);max-height:calc(100dvh - 70px);background:#fff6e3;border:3px solid #171217;border-radius:8px 22px 8px 22px;box-shadow:6px 6px 0 #171217;box-sizing:border-box;overflow:visible;color:#171217;animation:gr-enter .25s cubic-bezier(.2,1.1,.3,1) both}.gr-rule-sticker{position:absolute;left:16px;top:-21px;display:flex;align-items:center;justify-content:center;width:39px;height:39px;background:#edff42;border:2px solid #171217;border-radius:50%;font-size:28px;font-weight:1000;transform:rotate(-13deg);box-shadow:2px 2px 0 #171217}.gr-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:23px 16px 16px;border-bottom:2px dashed #17121755}.gr-title{font-size:20px;font-weight:1000;line-height:1.35;letter-spacing:-.5px;min-width:0;overflow-wrap:anywhere}.gr-heading button.gr-close{flex:0 0 34px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:0;margin:0;padding:0;border:2px solid #171217;border-radius:50%;background:#8252e8;color:white;box-shadow:2px 2px 0 #171217;font-family:Arial,sans-serif;font-size:25px;line-height:1;font-weight:700;transform:rotate(7deg)}.gr-heading button.gr-close::after{border:0}.gr-scroll{display:block;min-height:0;flex:1;max-height:calc(100dvh - 170px);overflow-y:auto;overscroll-behavior:contain;border-radius:0 0 5px 19px}.gr-content{padding:6px 17px 24px}.gr-section{padding:16px 0 8px;border-bottom:1px dashed #17121744}.gr-section-title{display:inline-block;background:#171217;color:#edff42;font-size:14px;font-weight:1000;padding:4px 7px;transform:rotate(-1.5deg);margin:9px 0 12px;line-height:1.4}.gr-line{font-size:12px;line-height:1.9;font-weight:550;color:#574b5d;margin:6px 0;overflow-wrap:anywhere}.gr-relations{padding-top:13px}.gr-cycle-caption{font-size:13px;font-weight:900;margin:6px 0 10px;color:#8252e8;line-height:1.6}.gr-relation-note{font-size:10px;font-weight:550;color:#7b6a7f;line-height:1.7;margin:9px 0 14px}.gr-cycle{display:grid;grid-template-columns:1fr;gap:11px;margin:17px 3px 21px 0}.gr-family{padding:12px;border:2px solid #171217;box-shadow:3px 3px 0 #171217;border-radius:6px 14px 6px 14px;background:#edff424d}.gr-family:nth-child(2){background:#bda0f355}.gr-family:nth-child(3){background:#ffbe9d55}.gr-family-heading{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:12px}.gr-family-title{font-size:15px;font-weight:950}.gr-family-arrow{font-size:20px;font-weight:900;color:#8252e8}.gr-family-cards{display:flex;align-items:flex-start;gap:8px;justify-content:flex-start}.gr-role{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;flex:0 1 66px}.gr-role-image{width:100%;aspect-ratio:.7;height:auto;min-height:0;border:2px solid #171217;border-radius:5px;box-shadow:2px 2px 0 #171217;object-fit:contain;background:#e6cfac}.gr-role-name{font-size:10px;font-weight:850;color:#171217}.gr-beats{font-size:11px;font-weight:800;margin-top:12px;display:inline-block;border:1.5px solid #171217;padding:3px 7px;background:#fff6e3;transform:rotate(-2deg)}.gr-order{margin:10px 0 15px;padding:13px 0;border-bottom:1px dashed #17121755}.gr-order-label{font-size:12px;font-weight:900;margin-bottom:10px}.gr-order-cards{display:flex;align-items:center;justify-content:flex-start;gap:7px}.gr-order-cards>.gr-role{flex:0 1 65px}.gr-order-arrow{font-size:24px;font-weight:900;color:#8252e8;flex:none;margin-bottom:17px}@keyframes gr-enter{from{opacity:0;transform:scale(.92) translateY(15px) rotate(-3deg)}to{opacity:1;transform:none}}@media(max-width:350px){.gr-mask{padding:25px 12px}.gr-heading{padding:22px 13px 14px}.gr-title{font-size:17px}.gr-content{padding-left:13px;padding-right:13px}.gr-family{padding:10px}.gr-role{flex-basis:58px}.gr-order-cards>.gr-role{flex-basis:55px}.gr-line{font-size:11px}}@media(prefers-reduced-motion:reduce){.gr-modal{animation:none}}

/* Shared production room layout. Individual games own their play area and controls. */
.room-content{position:relative}.room-hand-toggle{display:block;width:100%;text-align:right}.room-actions-toggle{float:right;width:auto}.room-win-surface{position:relative;overflow:hidden;background:#fff6e3!important;border:2px solid #171217!important;box-shadow:3px 3px #8252e8;background-clip:padding-box}.room-win-surface::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,#f9db6988 45%,transparent 65%);transform:translateX(-120%);animation:room-win-glint 3.4s ease-in-out infinite}.room-loss-surface{background:#fff0e9!important;border:2px solid #a33448!important;animation:room-loss-enter .4s ease-out}.room-seat-expanded .hd-mini-cards{flex-basis:100%;justify-content:center;margin-top:calc(var(--rpx) * 12)}.room-seat-expanded .hd-mini-cards>div{width:calc(var(--rpx) * 100);height:calc(var(--rpx) * 142)}.room-seat-expanded .dr-small-card{width:calc(var(--rpx) * 100);height:calc(var(--rpx) * 142)}.room-reset-panel{padding:calc(var(--rpx) * 20);margin:calc(var(--rpx) * 20) 0}.room-reset-panel .muted{font-size:calc(var(--rpx) * 21);margin-top:calc(var(--rpx) * 12)}.room-reset-button{width:100%;box-sizing:border-box}.room-roster{padding:calc(var(--rpx) * 22);margin:calc(var(--rpx) * 16) 0 calc(var(--rpx) * 24);background:#fff6e3;border:calc(var(--rpx) * 3) solid #171217}.room-roster-heading{display:flex;justify-content:space-between;font-size:calc(var(--rpx) * 27);font-weight:800}.room-roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(var(--rpx) * 18) calc(var(--rpx) * 14);margin-top:calc(var(--rpx) * 18)}.room-roster-person{display:flex;gap:calc(var(--rpx) * 12);align-items:center;min-width:0}.room-roster-avatar{width:calc(var(--rpx) * 56);height:calc(var(--rpx) * 56);flex:0 0 calc(var(--rpx) * 56);border-radius:50%}.room-roster-initial{display:flex;align-items:center;justify-content:center}.room-roster-copy{min-width:0}.room-roster-name{font-size:calc(var(--rpx) * 25);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-roster-tag{font-size:calc(var(--rpx) * 20);margin-top:calc(var(--rpx) * 4);color:#625369}.manage-list .list-item{display:flex;gap:calc(var(--rpx) * 16);align-items:center}.manage-list .member-row{flex:1;min-width:0;display:flex;align-items:center;gap:calc(var(--rpx) * 10)}.manage-list .member-row>div:last-child{min-width:0;flex:1}.manage-name{font-size:calc(var(--rpx) * 28);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manage-list .muted{font-size:calc(var(--rpx) * 23);line-height:1.4}.member-remove{min-width:calc(var(--rpx) * 70);padding:calc(var(--rpx) * 14);border:calc(var(--rpx) * 3) solid #171217;background:#edff42;border-radius:0;color:#171217}.hd-table,.dr-table,.ms-table,.jy-table{padding-bottom:0}.room-auto-center{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:calc(var(--rpx) * 12);align-items:stretch;margin-bottom:calc(var(--rpx) * 18)}.room-auto-center .at-panel{display:contents}.room-auto-center .at-draft{grid-column:1/-1;margin:calc(var(--rpx) * 12) calc(var(--rpx) * 4) calc(var(--rpx) * 8) 0}.room-auto-center .at-public-stage{margin:0;padding:calc(var(--rpx) * 18) calc(var(--rpx) * 12);display:flex;flex-direction:column;justify-content:center}.room-auto-center .tt-stage{margin:0;padding:calc(var(--rpx) * 18) calc(var(--rpx) * 12)}.room-auto-center .at-countdown{font-size:calc(var(--rpx) * 115);letter-spacing:calc(var(--rpx) * -5)}.room-auto-center .at-highest{gap:calc(var(--rpx) * 8);margin:calc(var(--rpx) * 10) 0}.room-auto-center .at-name{font-size:calc(var(--rpx) * 24);width:100%}.room-auto-center .at-amount{font-size:calc(var(--rpx) * 38)}.room-auto-center .at-choice{font-size:calc(var(--rpx) * 20);padding:calc(var(--rpx) * 4) calc(var(--rpx) * 8)}.room-auto-center .at-track{margin:calc(var(--rpx) * 14) 0 calc(var(--rpx) * 8)}.room-auto-center .at-caption{font-size:calc(var(--rpx) * 19)}.room-auto-center .tt-progress{font-size:calc(var(--rpx) * 18)}.room-auto-center .tt-stage-heading{flex-wrap:wrap;gap:calc(var(--rpx) * 5)}.room-auto-center .lucky-public-mark{display:none}.room-auto-center .tt-current-card{width:65px;height:91px}.room-auto-center .tt-stage-title{font-size:11px}.room-auto-center .tt-card-stage{height:112px}.room-auto-center .at-drink .at-submit{padding:calc(var(--rpx) * 10);min-height:calc(var(--rpx) * 88);font-size:calc(var(--rpx) * 22)}.hd-modal,.dr-modal{max-height:82vh;box-sizing:border-box}.hd-modal-mask,.dr-mask{z-index:100}.hd-modal-header,.dr-modal .dr-header{position:relative;padding-right:calc(var(--rpx) * 110);min-height:calc(var(--rpx) * 64)}.hd-close-rules,.dr-modal .dr-rules-button{position:absolute;right:0;top:0;margin:0;width:calc(var(--rpx) * 105)}.dr-win{font-weight:900;color:#6c2cba}@keyframes room-win-glint{0%,25%{transform:translateX(-120%)}75%,100%{transform:translateX(120%)}}@keyframes room-loss-enter{from{opacity:.5;transform:translateY(calc(var(--rpx) * 5))}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.room-win-surface::after,.room-loss-surface{animation:none}.room-win-surface::after{display:none}}

.grouping-panel{color:#171217;border:calc(var(--rpx) * 4) solid #171217;background:#fff6df;padding:calc(var(--rpx) * 24);margin:calc(var(--rpx) * 24) calc(var(--rpx) * 6) calc(var(--rpx) * 30) 0;box-shadow:calc(var(--rpx) * 6) calc(var(--rpx) * 6) 0 #171217;border-radius:0}.grouping-team{display:flex;align-items:center;gap:calc(var(--rpx) * 22);padding:calc(var(--rpx) * 20) 0;border-bottom:calc(var(--rpx) * 3) dashed #171217}.grouping-team:last-child{border:0}.grouping-card{width:calc(var(--rpx) * 76);height:calc(var(--rpx) * 106);flex-shrink:0;border:calc(var(--rpx) * 3) solid #171217;border-radius:calc(var(--rpx) * 5);background:#edff42;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;font-size:calc(var(--rpx) * 29);font-family:Georgia,serif;font-weight:700;box-shadow:calc(var(--rpx) * 3) calc(var(--rpx) * 3) 0 #171217}.grouping-card-frame{display:none}.grouping-members{min-width:0;flex:1;display:flex;flex-wrap:wrap;gap:calc(var(--rpx) * 10)}.grouping-team-label{width:100%;font-size:calc(var(--rpx) * 19);font-weight:800;color:#8252e8}.grouping-member{font-size:calc(var(--rpx) * 24);font-weight:700;background:#ece0ff;border:calc(var(--rpx) * 2) solid #171217;padding:calc(var(--rpx) * 8) calc(var(--rpx) * 12);overflow-wrap:anywhere}.grouping-title{font-size:calc(var(--rpx) * 30);font-weight:900;margin-bottom:calc(var(--rpx) * 20)}.grouping-actions{display:flex;gap:calc(var(--rpx) * 16)}.grouping-panel button,.grouping-dialog button.primary{min-height:calc(var(--rpx) * 88);background:#8252e8;color:#fff6df;border:calc(var(--rpx) * 4) solid #171217;border-radius:0;font-size:calc(var(--rpx) * 26);font-weight:900;padding:calc(var(--rpx) * 18) calc(var(--rpx) * 12);line-height:1.4;box-shadow:calc(var(--rpx) * 4) calc(var(--rpx) * 4) 0 #171217;margin:0;box-sizing:border-box}.grouping-actions button{flex:1;min-width:0;width:0;display:flex;flex-direction:column;justify-content:center;align-items:center}.grouping-variant{font-size:calc(var(--rpx) * 19);margin-top:calc(var(--rpx) * 5)}.grouping-mask{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:calc(var(--rpx) * 32);background:#171217b0;box-sizing:border-box;backdrop-filter:blur(3px)}.grouping-dialog{width:100%;max-width:calc(var(--rpx) * 780);max-height:84vh;overflow:auto;box-sizing:border-box;background:#fff6df;border:calc(var(--rpx) * 5) solid #171217;box-shadow:calc(var(--rpx) * 10) calc(var(--rpx) * 10) 0 #8252e8;padding:calc(var(--rpx) * 28);border-radius:0}.grouping-dialog-head{display:flex;justify-content:space-between;gap:calc(var(--rpx) * 16);align-items:center;padding-bottom:calc(var(--rpx) * 20);border-bottom:calc(var(--rpx) * 5) solid #171217;font-size:calc(var(--rpx) * 34);font-weight:900;margin-bottom:calc(var(--rpx) * 14)}.grouping-dialog-head button{background:#edff42;border:calc(var(--rpx) * 3) solid #171217;min-width:calc(var(--rpx) * 88);min-height:calc(var(--rpx) * 80);padding:calc(var(--rpx) * 12);margin:0;font-size:calc(var(--rpx) * 22);line-height:1.4}.grouping-field{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--rpx) * 18);padding:calc(var(--rpx) * 21) 0;font-size:calc(var(--rpx) * 25);font-weight:700;border-bottom:calc(var(--rpx) * 2) dashed #171217}.grouping-field input{width:calc(var(--rpx) * 180);min-width:0;height:calc(var(--rpx) * 80);border:calc(var(--rpx) * 3) solid #171217;background:#fffdf7;padding:calc(var(--rpx) * 12);box-sizing:border-box;font-size:calc(var(--rpx) * 28)}.grouping-field switch{flex-shrink:0}.grouping-caption{font-size:calc(var(--rpx) * 21);color:#514658;line-height:1.5;margin:calc(var(--rpx) * 18) 0 calc(var(--rpx) * 25)}.grouping-dialog button.primary{width:100%}.grouping-panel button::after,.grouping-dialog button::after{border:0}.grouping-panel button[disabled],.grouping-dialog button[disabled]{opacity:.4}

/* LUCKY mobile: real member list and original start/group handlers. */
.lobby-panel{color:#171217;margin:calc(var(--rpx) * 24) 0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}.lobby-head{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--rpx) * 16);padding:calc(var(--rpx) * 16) 0;border-bottom:calc(var(--rpx) * 6) solid #171217;font-weight:900;font-size:calc(var(--rpx) * 32)}.lobby-caption{font-size:calc(var(--rpx) * 20);font-weight:500;color:#514658;line-height:1.5}.lobby-members{display:grid;grid-template-columns:1fr;gap:0;margin:0 0 calc(var(--rpx) * 24)}.lobby-member{display:flex;align-items:center;gap:calc(var(--rpx) * 22);padding:calc(var(--rpx) * 18) calc(var(--rpx) * 6);border-bottom:calc(var(--rpx) * 3) dashed #171217;min-width:0}.lobby-avatar{width:calc(var(--rpx) * 68);height:calc(var(--rpx) * 68);flex-shrink:0;border:calc(var(--rpx) * 4) solid #171217;border-radius:50%;box-sizing:border-box;background:#fff6df}.lobby-initial{display:flex;align-items:center;justify-content:center;font-weight:900;font-size:calc(var(--rpx) * 28)}.lobby-member-copy{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--rpx) * 14);flex:1;min-width:0}.lobby-name{font-weight:800;font-size:calc(var(--rpx) * 27);overflow-wrap:anywhere;min-width:0}.lobby-member-copy .lobby-caption{flex-shrink:0;background:#fff6df;border:calc(var(--rpx) * 2) solid #171217;padding:calc(var(--rpx) * 5) calc(var(--rpx) * 9);font-size:calc(var(--rpx) * 18)}.lobby-status{font-size:calc(var(--rpx) * 22);color:#514658;margin:calc(var(--rpx) * 18) 0}.lobby-actions{display:flex;gap:calc(var(--rpx) * 16);padding-bottom:calc(var(--rpx) * 8)}.lobby-panel .lobby-actions button{flex:1;width:0;min-width:0;min-height:calc(var(--rpx) * 88);margin:0;padding:calc(var(--rpx) * 20) calc(var(--rpx) * 12);box-sizing:border-box;border:calc(var(--rpx) * 4) solid #171217;border-radius:0;font-size:calc(var(--rpx) * 26);font-weight:900;line-height:1.4;box-shadow:calc(var(--rpx) * 6) calc(var(--rpx) * 6) 0 #171217}.lobby-panel .lobby-start{background:#8252e8;color:#fff6df}.lobby-panel .lobby-group{background:#fff6df;color:#171217}.lobby-panel button::after{border:0}.lobby-panel button[disabled]{opacity:.4}















.room-exit-control { position: fixed; left: calc(var(--rpx) * 30); z-index: 12; display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: calc(var(--rpx) * 180); margin: 0; padding: 0 calc(var(--rpx) * 16); border: calc(var(--rpx) * 1) solid #d7c9af; border-radius: calc(var(--rpx) * 32); background: #faf6ec; color: #76583e; font-size: calc(var(--rpx) * 24); line-height: 1; box-shadow: 0 calc(var(--rpx) * 2) calc(var(--rpx) * 8) rgba(80,60,30,.06); }
.room-exit-control::after { border: none; }
.room-exit-control[disabled] { opacity: .5; }

.holdem-room .room-content { max-width: calc(var(--rpx) * 940); margin: 0 auto; }
.holdem-room .room-hero { flex-direction: row; align-items: center; gap: calc(var(--rpx) * 14); }
.holdem-room .room-hero .title { font-size: calc(var(--rpx) * 34); }
.holdem-room .room-hero .subtitle { font-size: calc(var(--rpx) * 20); }
.holdem-room .room-hero > div:first-child { flex: 1; width: auto; }
.holdem-room .room-hero-actions { display: flex; gap: calc(var(--rpx) * 8); width: auto; flex-shrink: 0; }
.holdem-room .room-hero-actions .settings-button { width: calc(var(--rpx) * 84); min-width: calc(var(--rpx) * 84); height: calc(var(--rpx) * 64); padding: 0; font-size: calc(var(--rpx) * 23); }
.holdem-room .settings-hero > .settings-button { width: calc(var(--rpx) * 84); min-width: calc(var(--rpx) * 84); height: calc(var(--rpx) * 64); padding: 0; flex: 0 0 calc(var(--rpx) * 84); font-size: calc(var(--rpx) * 23); }
.holdem-room .room-hero .room-kicker { white-space: nowrap; line-height: 1.4; }
.holdem-room .room-hero .subtitle { white-space: normal; }
.holdem-room .settings-hero { align-items: center; margin-bottom: calc(var(--rpx) * 28); }
.holdem-room .panel { border-radius: calc(var(--rpx) * 16); padding: calc(var(--rpx) * 28); box-shadow: none; }

.room-page {
  background: #f5f4ed;
  box-sizing: border-box;
  min-height: 100vh;
  overflow: hidden;
  padding: calc(var(--rpx) * 170) calc(var(--rpx) * 30) max(calc(var(--rpx) * 56), env(safe-area-inset-bottom));
  position: relative;
}

.room-paper-art {
  height: 100%;
  left: 0;
  opacity: 0.32;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

.room-page::before {
  background:
    radial-gradient(circle at 86% 6%, rgba(201, 100, 66, 0.12), transparent calc(var(--rpx) * 190)),
    linear-gradient(180deg, rgba(232, 230, 220, 0.72), rgba(245, 244, 237, 0) calc(var(--rpx) * 310)),
    repeating-linear-gradient(90deg, rgba(232, 230, 220, 0.58) 0, rgba(232, 230, 220, 0.58) calc(var(--rpx) * 1), transparent calc(var(--rpx) * 1), transparent calc(var(--rpx) * 36));
  bottom: 0;
  content: "";
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.room-frame {
  border-left: calc(var(--rpx) * 2) solid rgba(232, 230, 220, 0.82);
  border-right: calc(var(--rpx) * 2) solid rgba(232, 230, 220, 0.82);
  bottom: max(calc(var(--rpx) * 40), env(safe-area-inset-bottom));
  left: calc(var(--rpx) * 46);
  pointer-events: none;
  position: absolute;
  right: calc(var(--rpx) * 46);
  top: calc(var(--rpx) * 146);
  z-index: 1;
}

.room-content {
  position: relative;
  z-index: 2;
}

.room-hero {
  align-items: stretch;
  border-bottom: calc(var(--rpx) * 2) solid #f0eee6;
  display: flex;
  flex-direction: column;
  gap: calc(var(--rpx) * 22);
  justify-content: flex-start;
  margin-bottom: calc(var(--rpx) * 24);
  padding: 0 calc(var(--rpx) * 6) calc(var(--rpx) * 24);
  position: relative;
}

.room-hero > div:first-child {
  min-width: 0;
  width: 100%;
}

.room-hero-actions {
  display: grid;
  gap: calc(var(--rpx) * 12);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
}

.room-hero-actions.single {
  grid-template-columns: 1fr;
}

.room-hero-actions .settings-button,
.room-hero > .settings-button {
  min-width: 0;
  padding: 0 calc(var(--rpx) * 18);
  width: 100%;
}

.room-hero::after {
  background: repeating-linear-gradient(90deg, #c96442 0 calc(var(--rpx) * 16), transparent calc(var(--rpx) * 16) calc(var(--rpx) * 28), #3d3d3a calc(var(--rpx) * 28) calc(var(--rpx) * 32), transparent calc(var(--rpx) * 32) calc(var(--rpx) * 44));
  bottom: calc(var(--rpx) * -2);
  content: "";
  height: calc(var(--rpx) * 6);
  left: 0;
  opacity: 0.46;
  position: absolute;
  right: calc(var(--rpx) * 32);
}

.room-page .title {
  color: #141413;
  font-family: Georgia, "Times New Roman", serif;
  font-size: calc(var(--rpx) * 48);
  font-weight: 500;
  line-height: 1.1;
  margin: calc(var(--rpx) * 4) 0 calc(var(--rpx) * 6);
  white-space: nowrap;
}

.room-page .subtitle {
  color: #87867f;
  font-size: calc(var(--rpx) * 24);
  font-weight: 700;
  line-height: 1.45;
}

.room-kicker {
  color: #c96442;
  font-size: calc(var(--rpx) * 20);
  font-weight: 800;
  letter-spacing: calc(var(--rpx) * 1);
  line-height: 1;
  margin-bottom: calc(var(--rpx) * 8);
  text-transform: uppercase;
}

.settings-button {
  align-items: center;
  background: #faf9f5;
  border: calc(var(--rpx) * 2) solid #f0eee6;
  border-radius: calc(var(--rpx) * 16);
  box-sizing: border-box;
  color: #3d3d3a;
  display: flex;
  flex-shrink: 0;
  font-size: calc(var(--rpx) * 26);
  font-weight: 800;
  height: calc(var(--rpx) * 76);
  justify-content: center;
  line-height: 1;
  margin: 0;
  min-width: calc(var(--rpx) * 128);
  padding: 0 calc(var(--rpx) * 24);
}

.settings-button::after {
  border: none;
}

.share-button {
  min-width: 0;
}

.quick-stats {
  background: linear-gradient(180deg, #faf9f5, rgba(232, 230, 220, 0.58));
  border: calc(var(--rpx) * 2) solid #f0eee6;
  border-radius: calc(var(--rpx) * 18);
  box-shadow: 0 0 0 calc(var(--rpx) * 2) rgba(240, 238, 230, 0.7);
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 0 calc(var(--rpx) * 24);
  overflow: hidden;
}

.quick-stat {
  border-right: calc(var(--rpx) * 2) solid #f0eee6;
  padding: calc(var(--rpx) * 24) calc(var(--rpx) * 12);
  text-align: center;
}

.quick-stat:last-child {
  border-right: none;
}

.quick-number {
  color: #141413;
  font-family: Georgia, "Times New Roman", serif;
  font-size: calc(var(--rpx) * 46);
  font-weight: 500;
  line-height: 1;
}

.quick-label {
  color: #87867f;
  font-size: calc(var(--rpx) * 21);
  font-weight: 700;
  margin-top: calc(var(--rpx) * 6);
}

.host-action {
  background:
    radial-gradient(circle at 92% 18%, rgba(201, 100, 66, 0.14), transparent calc(var(--rpx) * 150)),
    #faf9f5;
  border: calc(var(--rpx) * 2) solid #e8e6dc;
  border-radius: calc(var(--rpx) * 20);
  box-shadow: 0 0 0 calc(var(--rpx) * 2) rgba(240, 238, 230, 0.7);
  box-sizing: border-box;
  margin: 0 0 calc(var(--rpx) * 24);
  padding: calc(var(--rpx) * 26);
}

.host-action::before,
.identity-card::before,
.panel::before {
  background: repeating-linear-gradient(90deg, rgba(201, 100, 66, 0.68) 0 calc(var(--rpx) * 18), transparent calc(var(--rpx) * 18) calc(var(--rpx) * 30));
  border-bottom: calc(var(--rpx) * 2) solid rgba(201, 100, 66, 0.18);
  border-top: calc(var(--rpx) * 2) solid rgba(201, 100, 66, 0.32);
  content: "";
  display: block;
  height: calc(var(--rpx) * 12);
  margin-bottom: calc(var(--rpx) * 22);
  opacity: 0.72;
}

.host-action .button {
  align-items: center;
  display: flex;
  height: calc(var(--rpx) * 92);
  justify-content: center;
  line-height: 1;
  width: 100%;
}

.waiting-panel,
.profile-panel,
.identity-card,
.panel {
  background: rgba(250, 249, 245, 0.94);
  border: calc(var(--rpx) * 2) solid #f0eee6;
  border-radius: calc(var(--rpx) * 20);
  box-shadow: 0 0 0 calc(var(--rpx) * 2) rgba(240, 238, 230, 0.7);
  box-sizing: border-box;
  margin: 0 0 calc(var(--rpx) * 24);
  position: relative;
}

.waiting-panel {
  border-style: dashed;
  padding: calc(var(--rpx) * 30);
}

.waiting-title,
.section-title {
  color: #141413;
  font-family: Georgia, "Times New Roman", serif;
  font-size: calc(var(--rpx) * 38);
  font-weight: 500;
  line-height: 1.15;
}

.waiting-copy {
  color: #5e5d59;
  font-size: calc(var(--rpx) * 25);
  font-weight: 600;
  line-height: 1.58;
  margin-top: calc(var(--rpx) * 12);
}

.profile-panel,
.panel {
  padding: calc(var(--rpx) * 28);
}

.profile-panel {
  align-items: center;
  display: flex;
  gap: calc(var(--rpx) * 18);
}

.avatar-wrap {
  height: calc(var(--rpx) * 88);
  margin: 0 auto;
  position: relative;
  width: calc(var(--rpx) * 88);
}

.inline-avatar-wrap {
  flex-shrink: 0;
  height: calc(var(--rpx) * 88);
  position: relative;
  width: calc(var(--rpx) * 88);
}

.inline-avatar-wrap.small-wrap {
  height: calc(var(--rpx) * 64);
  width: calc(var(--rpx) * 64);
}

.avatar {
  align-items: center;
  background: transparent;
  border: calc(var(--rpx) * 2) solid rgba(201, 100, 66, 0.36);
  border-radius: 50%;
  box-sizing: border-box;
  color: #faf9f5;
  display: flex;
  flex-shrink: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: calc(var(--rpx) * 34);
  font-weight: 500;
  height: calc(var(--rpx) * 88);
  justify-content: center;
  line-height: 1;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  width: calc(var(--rpx) * 88);
}

.avatar-hit {
  background: transparent;
  border: none;
  border-radius: 0;
  bottom: 0;
  height: calc(var(--rpx) * 88);
  left: 0;
  line-height: calc(var(--rpx) * 88);
  margin: 0;
  min-height: 0;
  opacity: 0;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: calc(var(--rpx) * 88);
  z-index: 2;
}

.avatar-hit.small-hit {
  height: calc(var(--rpx) * 64);
  line-height: calc(var(--rpx) * 64);
  width: calc(var(--rpx) * 64);
}

.avatar-hit::after {
  border: none;
}

.avatar-fallback {
  align-items: center;
  border-radius: 50%;
  display: flex;
  font-size: calc(var(--rpx) * 34);
  font-weight: 800;
  height: 100%;
  justify-content: center;
  line-height: 1;
  overflow: hidden;
  width: 100%;
}

.avatar-image {
  border-radius: 50%;
  display: block;
  height: 100%;
  width: 100%;
}

.member-name,
.member-name-input {
  color: #141413;
  font-size: calc(var(--rpx) * 26);
  font-weight: 800;
  height: calc(var(--rpx) * 50);
  line-height: calc(var(--rpx) * 50);
  margin-top: calc(var(--rpx) * 12);
  max-width: 100%;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}

.member-name-input {
  background: transparent;
  min-height: calc(var(--rpx) * 50);
}

.profile-name-input,
.solo-name-input,
.seat-name-input {
  background: transparent;
  color: #141413;
  flex: 1;
  font-weight: 900;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-name-input {
  font-size: calc(var(--rpx) * 30);
  height: calc(var(--rpx) * 72);
  line-height: calc(var(--rpx) * 72);
}

.solo-name-input {
  font-size: calc(var(--rpx) * 24);
  height: calc(var(--rpx) * 54);
  line-height: calc(var(--rpx) * 54);
}

.seat-name-input {
  font-size: calc(var(--rpx) * 22);
  height: calc(var(--rpx) * 50);
  line-height: calc(var(--rpx) * 50);
}

.member-tags {
  display: flex;
  gap: calc(var(--rpx) * 8);
  justify-content: center;
  margin-top: calc(var(--rpx) * 8);
  min-height: calc(var(--rpx) * 36);
}

.tag {
  background: rgba(232, 230, 220, 0.9);
  border-radius: calc(var(--rpx) * 999);
  color: #5e5d59;
  font-size: calc(var(--rpx) * 20);
  font-weight: 700;
  padding: calc(var(--rpx) * 4) calc(var(--rpx) * 12);
}

.tag.host {
  background: #c96442;
  color: #faf9f5;
}

.member-status {
  color: #87867f;
  font-size: calc(var(--rpx) * 22);
  font-weight: 600;
}

.identity-card {
  background:
    radial-gradient(circle at 84% 10%, rgba(201, 100, 66, 0.12), transparent calc(var(--rpx) * 170)),
    linear-gradient(180deg, rgba(250, 249, 245, 0.96), rgba(232, 230, 220, 0.66));
  overflow: hidden;
  padding: calc(var(--rpx) * 26);
}

.identity-art,
.role-art {
  align-items: center;
  background: #faf9f5;
  border: calc(var(--rpx) * 2) solid #e8e6dc;
  border-radius: calc(var(--rpx) * 18);
  box-sizing: border-box;
  display: flex;
  height: 0;
  justify-content: center;
  overflow: hidden;
  padding-bottom: 57.142%;
  position: relative;
}

.role-card-image {
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.identity-art-label,
.role-art-title {
  color: rgba(94, 93, 89, 0.46);
  font-family: Georgia, "Times New Roman", serif;
  font-size: calc(var(--rpx) * 38);
  font-weight: 500;
  left: 0;
  position: absolute;
  right: 0;
  text-align: center;
  top: 50%;
  transform: translateY(-50%);
}

.identity-copy {
  padding: calc(var(--rpx) * 26) calc(var(--rpx) * 8) calc(var(--rpx) * 8);
}

.label.light {
  color: #87867f;
  font-size: calc(var(--rpx) * 22);
  font-weight: 800;
}

.identity-name {
  color: #141413;
  font-family: Georgia, "Times New Roman", serif;
  font-size: calc(var(--rpx) * 58);
  font-weight: 500;
  line-height: 1.05;
  margin-top: calc(var(--rpx) * 8);
}

.identity-note {
  color: #5e5d59;
  font-size: calc(var(--rpx) * 25);
  font-weight: 600;
  line-height: 1.52;
  margin-top: calc(var(--rpx) * 12);
}

.identity-mark {
  align-items: center;
  background: rgba(232, 230, 220, 0.88);
  border: calc(var(--rpx) * 2) solid rgba(201, 100, 66, 0.24);
  border-radius: calc(var(--rpx) * 999);
  color: #c96442;
  display: flex;
  font-size: calc(var(--rpx) * 22);
  font-weight: 800;
  min-height: calc(var(--rpx) * 46);
  padding: 0 calc(var(--rpx) * 18);
  position: absolute;
  right: calc(var(--rpx) * 34);
  top: calc(var(--rpx) * 34);
}

.settings-hero {
  margin-bottom: calc(var(--rpx) * 24);
}

.settings-stats {
  margin-bottom: calc(var(--rpx) * 24);
}

.role-grid {
  display: grid;
  gap: calc(var(--rpx) * 18);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: calc(var(--rpx) * 22);
}

.role-item {
  background: linear-gradient(180deg, #faf9f5, rgba(232, 230, 220, 0.58));
  border: calc(var(--rpx) * 2) solid #e8e6dc;
  border-radius: calc(var(--rpx) * 16);
  box-sizing: border-box;
  overflow: hidden;
}

.role-art-title {
  font-size: calc(var(--rpx) * 26);
}

.role-meta {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding: calc(var(--rpx) * 16);
}

.role-name {
  color: #141413;
  font-size: calc(var(--rpx) * 26);
  font-weight: 800;
  max-width: calc(var(--rpx) * 130);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.exit-room-button {
  align-items: center;
  background: #b53333;
  border: calc(var(--rpx) * 2) solid #b53333;
  border-radius: calc(var(--rpx) * 16);
  box-shadow: inset 0 0 0 calc(var(--rpx) * 2) rgba(250, 249, 245, 0.28);
  box-sizing: border-box;
  color: #faf9f5;
  display: flex;
  font-size: calc(var(--rpx) * 28);
  font-weight: 800;
  height: calc(var(--rpx) * 88);
  justify-content: center;
  line-height: 1;
  margin: calc(var(--rpx) * 8) 0 0;
}

.exit-room-button::after {
  border: none;
}

.manage-list {
  margin-top: calc(var(--rpx) * 18);
}

.member-row {
  align-items: center;
  display: flex;
  gap: calc(var(--rpx) * 16);
}

.avatar.small {
  font-size: calc(var(--rpx) * 26);
  height: calc(var(--rpx) * 64);
  width: calc(var(--rpx) * 64);
}

.manage-name {
  color: #141413;
  font-weight: 800;
}

.kick-button,
.list-item switch {
  flex-shrink: 0;
}

.kick-button {
  align-items: center;
  display: flex;
  height: calc(var(--rpx) * 58);
  justify-content: center;
  line-height: 1;
  min-width: calc(var(--rpx) * 58);
  padding: 0;
}

.button.disabled {
  opacity: 0.42;
}

.section-row {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: calc(var(--rpx) * 20);
  margin-bottom: calc(var(--rpx) * 22);
}

.public-panel,
.table-section {
  background: rgba(250, 249, 245, 0.94);
  border: calc(var(--rpx) * 2) solid #f0eee6;
  border-radius: calc(var(--rpx) * 20);
  box-shadow: 0 0 0 calc(var(--rpx) * 2) rgba(240, 238, 230, 0.7);
  box-sizing: border-box;
  margin: 0 0 calc(var(--rpx) * 24);
  padding: calc(var(--rpx) * 28);
  position: relative;
}

.public-panel::before,
.table-section::before {
  background: repeating-linear-gradient(90deg, rgba(201, 100, 66, 0.68) 0 calc(var(--rpx) * 18), transparent calc(var(--rpx) * 18) calc(var(--rpx) * 30));
  border-bottom: calc(var(--rpx) * 2) solid rgba(201, 100, 66, 0.18);
  border-top: calc(var(--rpx) * 2) solid rgba(201, 100, 66, 0.32);
  content: "";
  display: block;
  height: calc(var(--rpx) * 12);
  margin-bottom: calc(var(--rpx) * 22);
  opacity: 0.72;
}

.current-public {
  align-items: center;
  background: linear-gradient(180deg, #faf9f5, rgba(232, 230, 220, 0.58));
  border: calc(var(--rpx) * 2) solid #e8e6dc;
  border-radius: calc(var(--rpx) * 18);
  display: flex;
  gap: calc(var(--rpx) * 22);
  overflow: hidden;
  padding: calc(var(--rpx) * 22);
}

.current-public.empty {
  border-style: dashed;
}

.public-copy {
  flex: 1;
  min-width: 0;
}

.public-title {
  color: #141413;
  font-family: Georgia, "Times New Roman", serif;
  font-size: calc(var(--rpx) * 38);
  font-weight: 500;
  line-height: 1.15;
}

.public-subtitle {
  color: #5e5d59;
  font-size: calc(var(--rpx) * 24);
  font-weight: 600;
  line-height: 1.45;
  margin-top: calc(var(--rpx) * 10);
}

.host-public-actions {
  display: grid;
  gap: calc(var(--rpx) * 10);
  grid-template-columns: repeat(3, 1fr);
  margin-top: calc(var(--rpx) * 18);
  overflow: hidden;
}

.host-public-actions .button {
  align-items: center;
  display: flex;
  height: calc(var(--rpx) * 76);
  justify-content: center;
  line-height: 1;
  min-width: 0;
  padding: 0;
  width: 100%;
}

.poker-card {
  align-items: center;
  background: transparent;
  border: none;
  border-radius: calc(var(--rpx) * 10);
  box-shadow: 0 calc(var(--rpx) * 9) calc(var(--rpx) * 20) rgba(46, 25, 14, 0.16);
  box-sizing: border-box;
  color: #141413;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  font-family: Georgia, "Times New Roman", serif;
  justify-content: center;
  line-height: 1;
  overflow: hidden;
  position: relative;
}

.poker-frame-image {
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

.poker-card.red {
  color: #a92f2d;
}

.poker-card.black {
  color: #141413;
}

.poker-card.large {
  height: calc(var(--rpx) * 156);
  width: calc(var(--rpx) * 112);
}

.poker-card.mini {
  border-radius: calc(var(--rpx) * 7);
  height: calc(var(--rpx) * 90);
  width: calc(var(--rpx) * 64);
}

.table-card.solo .poker-card.mini {
  height: calc(var(--rpx) * 80);
  width: calc(var(--rpx) * 56);
}

.poker-card.back {
  color: #faf9f5;
}

.poker-rank {
  font-size: calc(var(--rpx) * 48);
  font-weight: 800;
  line-height: 1;
  position: relative;
  z-index: 1;
}

.poker-corner {
  font-size: calc(var(--rpx) * 24);
  font-weight: 900;
  line-height: 1;
  position: absolute;
  z-index: 1;
}

.poker-corner.top {
  left: 16%;
  top: 11%;
}

.poker-corner.bottom {
  bottom: 11%;
  right: 16%;
  transform: rotate(180deg);
}

.poker-card.mini .poker-rank {
  font-size: calc(var(--rpx) * 28);
}

.poker-card.mini .poker-corner {
  font-size: calc(var(--rpx) * 13);
}

.table-card.solo .poker-card.mini .poker-rank {
  font-size: calc(var(--rpx) * 25);
}

.table-card.solo .poker-card.mini .poker-corner {
  font-size: calc(var(--rpx) * 12);
}

.table-grid {
  display: grid;
  gap: calc(var(--rpx) * 18);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
}

.table-grid.single {
  gap: calc(var(--rpx) * 14);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.table-card {
  background: linear-gradient(180deg, #faf9f5, rgba(232, 230, 220, 0.56));
  border: calc(var(--rpx) * 2) solid #e8e6dc;
  border-radius: calc(var(--rpx) * 18);
  box-sizing: border-box;
  min-height: 0;
  overflow: hidden;
  padding: calc(var(--rpx) * 18);
}

.table-card.solo {
  padding: calc(var(--rpx) * 16);
}

.table-card.mine {
  border-color: rgba(201, 100, 66, 0.58);
  box-shadow: inset 0 0 0 calc(var(--rpx) * 4) rgba(250, 249, 245, 0.72);
}

.table-card.revealed {
  background: linear-gradient(180deg, rgba(250, 249, 245, 0.98), rgba(201, 100, 66, 0.12));
}

.table-head {
  align-items: flex-start;
  display: flex;
  gap: calc(var(--rpx) * 14);
  justify-content: space-between;
  min-width: 0;
}

.table-title-wrap {
  min-width: 0;
}

.table-name {
  color: #141413;
  font-size: calc(var(--rpx) * 27);
  font-weight: 900;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.table-status,
.table-point {
  color: #87867f;
  font-size: calc(var(--rpx) * 21);
  font-weight: 800;
  line-height: 1.35;
  margin-top: calc(var(--rpx) * 6);
}

.table-point {
  color: #c96442;
  flex-shrink: 0;
  margin-top: 0;
  max-width: calc(var(--rpx) * 92);
  overflow: hidden;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.seat-row {
  align-items: center;
  border: calc(var(--rpx) * 2) solid rgba(61, 61, 58, 0.18);
  border-radius: calc(var(--rpx) * 12);
  display: grid;
  gap: calc(var(--rpx) * 12);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: calc(var(--rpx) * 18);
  min-height: calc(var(--rpx) * 96);
  overflow: hidden;
  padding: calc(var(--rpx) * 12);
}

.seat {
  align-items: center;
  background: rgba(250, 249, 245, 0.72);
  border: calc(var(--rpx) * 2) solid #f0eee6;
  border-radius: calc(var(--rpx) * 999);
  box-sizing: border-box;
  display: flex;
  gap: calc(var(--rpx) * 10);
  height: calc(var(--rpx) * 70);
  justify-content: center;
  min-width: 0;
  overflow: hidden;
  padding: 0 calc(var(--rpx) * 10);
  width: 100%;
}

.add-seat {
  background: rgba(250, 249, 245, 0.46);
  border: calc(var(--rpx) * 2) dashed rgba(61, 61, 58, 0.34);
  color: #3d3d3a;
  font-size: calc(var(--rpx) * 34);
  font-weight: 800;
  line-height: 1;
  margin: 0;
}

.seat-name {
  color: #141413;
  flex: 1;
  font-size: calc(var(--rpx) * 22);
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.solo-player-row {
  align-items: center;
  display: flex;
  gap: calc(var(--rpx) * 12);
  min-width: 0;
}

.head-player-row {
  flex: 1;
}

.solo-name {
  color: #141413;
  flex: 1;
  font-size: calc(var(--rpx) * 24);
  font-weight: 900;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.group-cards {
  display: grid;
  gap: calc(var(--rpx) * 12);
  grid-template-columns: calc(var(--rpx) * 66) minmax(0, 1fr);
  margin-top: calc(var(--rpx) * 16);
}

.table-card.solo .group-cards {
  grid-template-columns: calc(var(--rpx) * 58) minmax(0, 1fr);
  margin-top: calc(var(--rpx) * 14);
}

.mini-card-slot {
  min-width: 0;
}

.mini-label {
  color: #87867f;
  font-size: calc(var(--rpx) * 20);
  font-weight: 800;
  margin-bottom: calc(var(--rpx) * 8);
}

.public-mini-scroll {
  box-sizing: border-box;
  max-width: 100%;
  min-height: calc(var(--rpx) * 88);
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
}

.table-card.solo .public-mini-scroll {
  min-height: calc(var(--rpx) * 78);
}

.public-mini-list {
  box-sizing: border-box;
  display: inline-flex;
  flex-wrap: nowrap;
  gap: calc(var(--rpx) * 8);
  min-height: calc(var(--rpx) * 88);
  min-width: 0;
  padding-right: calc(var(--rpx) * 8);
  white-space: nowrap;
}

.table-card.solo .public-mini-list {
  min-height: calc(var(--rpx) * 78);
}

.empty-mini {
  align-items: center;
  border: calc(var(--rpx) * 2) dashed #e8e6dc;
  border-radius: calc(var(--rpx) * 8);
  color: #87867f;
  display: flex;
  font-size: calc(var(--rpx) * 22);
  font-weight: 800;
  height: calc(var(--rpx) * 88);
  justify-content: center;
  flex-shrink: 0;
  width: calc(var(--rpx) * 88);
}

.table-card.solo .empty-mini {
  height: calc(var(--rpx) * 78);
  width: calc(var(--rpx) * 78);
}

.table-deal-action {
  align-items: center;
  background: #c96442;
  border: calc(var(--rpx) * 2) solid #c96442;
  border-radius: calc(var(--rpx) * 12);
  box-shadow: inset 0 0 0 calc(var(--rpx) * 2) rgba(250, 249, 245, 0.28);
  box-sizing: border-box;
  color: #faf9f5;
  display: flex;
  font-size: calc(var(--rpx) * 26);
  font-weight: 900;
  justify-content: center;
  line-height: 1;
  margin-top: calc(var(--rpx) * 14);
  max-width: 100%;
  min-width: 0;
  padding: calc(var(--rpx) * 18) 0;
  width: 100%;
}

.result-list {
  display: flex;
  flex-direction: column;
  gap: calc(var(--rpx) * 12);
  margin-top: calc(var(--rpx) * 20);
}

.result-row {
  align-items: center;
  background: #faf9f5;
  border: calc(var(--rpx) * 2) solid #f0eee6;
  border-radius: calc(var(--rpx) * 14);
  display: flex;
  gap: calc(var(--rpx) * 18);
  padding: calc(var(--rpx) * 18);
}

.result-rank {
  align-items: center;
  background: #3d3d3a;
  border-radius: 50%;
  color: #faf9f5;
  display: flex;
  flex-shrink: 0;
  font-size: calc(var(--rpx) * 25);
  font-weight: 900;
  height: calc(var(--rpx) * 58);
  justify-content: center;
  width: calc(var(--rpx) * 58);
}

.result-main {
  min-width: 0;
}

.result-name {
  color: #141413;
  font-size: calc(var(--rpx) * 27);
  font-weight: 900;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.setting-block {
  align-items: center;
  border-bottom: calc(var(--rpx) * 2) solid #f0eee6;
  display: flex;
  gap: calc(var(--rpx) * 20);
  justify-content: space-between;
  padding: calc(var(--rpx) * 24) 0;
}

.setting-block:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.setting-title {
  color: #141413;
  font-size: calc(var(--rpx) * 28);
  font-weight: 900;
  line-height: 1.3;
}

.segmented {
  background: #e8e6dc;
  border: calc(var(--rpx) * 2) solid #e8e6dc;
  border-radius: calc(var(--rpx) * 14);
  display: flex;
  flex-shrink: 0;
  overflow: hidden;
}

.segmented button {
  align-items: center;
  background: transparent;
  border-radius: 0;
  color: #3d3d3a;
  display: flex;
  font-size: calc(var(--rpx) * 28);
  font-weight: 900;
  height: calc(var(--rpx) * 68);
  justify-content: center;
  line-height: 1;
  margin: 0;
  padding: 0;
  width: calc(var(--rpx) * 78);
}

.segmented button::after {
  border: none;
}

.segmented button.active {
  background: #3d3d3a;
  color: #faf9f5;
}
.sync-notice {
  position: relative;
  z-index: 2;
  margin: calc(var(--rpx) * 20) calc(var(--rpx) * 24);
  padding: calc(var(--rpx) * 20);
  color: #713d25;
  background: #f3e4c8;
  font-size: calc(var(--rpx) * 26);
}

.sync-notice button {
  margin-top: calc(var(--rpx) * 12);
}

/* 十点半：浅纸牌桌。所有新样式限定在独立类名，技能模式沿用原布局。 */
.ten-room { background: #efeadd; padding: max(calc(var(--rpx) * 150), calc(env(safe-area-inset-top) + calc(var(--rpx) * 82))) calc(var(--rpx) * 28) max(calc(var(--rpx) * 42), env(safe-area-inset-bottom)); }
.ten-room .room-frame { inset: calc(var(--rpx) * 14); border-color: rgba(96, 73, 39, .24); }
.ten-room .room-content { max-width: calc(var(--rpx) * 940); margin: 0 auto; }
.ten-room .room-paper-art { opacity: .48; }
.ten-room .tt-topbar { flex-direction: row; align-items: center; gap: calc(var(--rpx) * 20); margin-bottom: calc(var(--rpx) * 24); padding: calc(var(--rpx) * 8) calc(var(--rpx) * 2) calc(var(--rpx) * 22); border-bottom: calc(var(--rpx) * 2) solid rgba(77, 64, 41, .24); }
.ten-room .tt-topbar .title { font-size: calc(var(--rpx) * 34); line-height: 1.25; margin-top: calc(var(--rpx) * 5); letter-spacing: calc(var(--rpx) * 2); }
.ten-room .tt-topbar .room-kicker { font-size: calc(var(--rpx) * 20); letter-spacing: calc(var(--rpx) * 3); color: #796343; }
.ten-room .tt-topbar .subtitle { font-size: calc(var(--rpx) * 22); margin-top: calc(var(--rpx) * 7); }
.ten-room .tt-topbar > div:first-child { flex: 1; width: auto; }
.ten-room .tt-topbar .room-hero-actions { display: flex; gap: calc(var(--rpx) * 10); width: auto; flex-shrink: 0; }
.ten-room .tt-topbar .settings-button { width: calc(var(--rpx) * 84); height: calc(var(--rpx) * 62); padding: 0; font-size: calc(var(--rpx) * 23); border-radius: calc(var(--rpx) * 6); }
.tt-eyebrow { color: #826a45; font-size: calc(var(--rpx) * 21); letter-spacing: calc(var(--rpx) * 3); font-weight: 700; }
.tt-caption { color: #81765f; font-size: calc(var(--rpx) * 22); line-height: 1.55; font-weight: 400; }
.tt-stage { position: relative; margin: 0 0 calc(var(--rpx) * 28); padding: calc(var(--rpx) * 22) calc(var(--rpx) * 24) calc(var(--rpx) * 24); border: calc(var(--rpx) * 2) solid #c7b99b; border-radius: calc(var(--rpx) * 8); background: rgba(251, 248, 236, .58); box-shadow: inset 0 0 0 calc(var(--rpx) * 7) rgba(244, 239, 220, .75); text-align: center; }
.tt-stage-heading, .tt-section-head { display: flex; align-items: center; justify-content: space-between; gap: calc(var(--rpx) * 18); }
.tt-progress { color: #7a6a50; font-size: calc(var(--rpx) * 21); }
.tt-card-stage { position: relative; display: flex; align-items: center; justify-content: center; padding: calc(var(--rpx) * 22) 0 calc(var(--rpx) * 20); perspective: calc(var(--rpx) * 1000); }
.tt-current-card { position: relative; width: calc(var(--rpx) * 200); height: calc(var(--rpx) * 280); z-index: 2; transform-origin: 50% 65%; }
.ten-host .tt-current-card { width: calc(var(--rpx) * 240); height: calc(var(--rpx) * 336); }
.tt-deck-shadow { position: absolute; width: calc(var(--rpx) * 196); height: calc(var(--rpx) * 275); border: calc(var(--rpx) * 1) solid #b9a782; border-radius: calc(var(--rpx) * 10); background: #d6c9ad; transform: rotate(-6deg) translate(calc(var(--rpx) * -5), calc(var(--rpx) * 4)); box-shadow: 0 calc(var(--rpx) * 10) calc(var(--rpx) * 24) rgba(60, 45, 23, .14); }
.ten-host .tt-deck-shadow { width: calc(var(--rpx) * 236); height: calc(var(--rpx) * 330); }
.tt-table-ornament { position: absolute; top: 42%; color: #a28a61; opacity: .42; font-size: calc(var(--rpx) * 52); }
.tt-table-ornament.left { left: calc(var(--rpx) * 38); }
.tt-table-ornament.right { right: calc(var(--rpx) * 38); }
.tt-stage-title { font-size: calc(var(--rpx) * 27); font-weight: 700; color: #433b2d; margin: calc(var(--rpx) * 7) 0; letter-spacing: calc(var(--rpx) * 2); }
.tt-stage .tt-caption { max-width: calc(var(--rpx) * 540); margin: 0 auto; }
.tt-poker { position: relative; box-sizing: border-box; width: 100%; height: 100%; border-radius: calc(var(--rpx) * 10); overflow: hidden; color: #243d3c; box-shadow: 0 calc(var(--rpx) * 5) calc(var(--rpx) * 12) rgba(64, 45, 23, .16); background: #f5e9cb; border: calc(var(--rpx) * 1) solid rgba(97, 70, 32, .28); }
.tt-poker.red { color: #983f32; }
.tt-card-image { position: absolute; inset: 0; width: 100%; height: 100%; }
.tt-corner { position: absolute; z-index: 1; display: flex; flex-direction: column; align-items: center; font-family: Georgia, 'Times New Roman', serif; font-weight: 700; font-size: calc(var(--rpx) * 23); line-height: 1.05; }
.tt-corner.top { top: calc(var(--rpx) * 13); left: calc(var(--rpx) * 13); }
.tt-corner.bottom { bottom: calc(var(--rpx) * 13); right: calc(var(--rpx) * 13); transform: rotate(180deg); }
.tt-center-rank { position: absolute; top: 25%; left: 0; width: 100%; text-align: center; font-family: Georgia, 'Times New Roman', serif; font-size: calc(var(--rpx) * 64); line-height: 1; font-weight: 700; }
.tt-center-suit { position: absolute; top: 55%; width: 100%; text-align: center; font-size: calc(var(--rpx) * 43); line-height: 1; }
.tt-current-card .tt-center-rank { font-size: calc(var(--rpx) * 84); }
.ten-host .tt-current-card .tt-center-rank { font-size: calc(var(--rpx) * 102); }
.tt-current-card .tt-center-suit { font-size: calc(var(--rpx) * 54); }
.ten-host .tt-current-card .tt-center-suit { font-size: calc(var(--rpx) * 65); }
.tt-current-card .tt-corner { font-size: calc(var(--rpx) * 29); }
.ten-host .tt-current-card .tt-corner { font-size: calc(var(--rpx) * 33); }
.tt-public-actions { display: flex; gap: calc(var(--rpx) * 12); margin-top: calc(var(--rpx) * 22); padding-top: calc(var(--rpx) * 20); border-top: calc(var(--rpx) * 1) solid #d0c2a5; }
.tt-public-actions button { flex: 1; margin: 0; padding: 0 calc(var(--rpx) * 8); min-width: 0; height: calc(var(--rpx) * 74); line-height: calc(var(--rpx) * 74); background: #ece3ce; border: calc(var(--rpx) * 1) solid #baa47e; border-radius: calc(var(--rpx) * 6); color: #57452e; font-size: calc(var(--rpx) * 26); }
.tt-public-actions button::after, .tt-deal-button::after, .tt-spread-button::after, .tt-restart::after { border: 0; }
.tt-action-count { display: inline-block; font-size: calc(var(--rpx) * 21); opacity: .7; padding-left: calc(var(--rpx) * 4); }
.ten-room button[disabled] { opacity: .45; }
.ten-room .tt-start, .ten-room .tt-next { margin-top: calc(var(--rpx) * 22); border-radius: calc(var(--rpx) * 6); background: #354d45; border-color: #354d45; color: #faf3df; }
.ten-room .tt-next { display: flex; align-items: center; justify-content: center; width: 100%; min-width: 0; box-sizing: border-box; padding: 0 calc(var(--rpx) * 16); min-height: calc(var(--rpx) * 80); font-size: calc(var(--rpx) * 28); line-height: 1.2; white-space: nowrap; word-break: keep-all; }
.tt-my-hand { position: relative; margin: calc(var(--rpx) * 28) 0; padding: calc(var(--rpx) * 24) calc(var(--rpx) * 22) calc(var(--rpx) * 20); border: calc(var(--rpx) * 2) solid #b49a60; border-radius: calc(var(--rpx) * 8); background: linear-gradient(150deg, rgba(255, 250, 229, .9), rgba(236, 225, 195, .76)); box-shadow: inset 0 0 0 calc(var(--rpx) * 6) rgba(255, 250, 231, .75), 0 calc(var(--rpx) * 5) calc(var(--rpx) * 18) rgba(89, 64, 28, .05); }
.tt-my-total { margin-top: calc(var(--rpx) * 5); color: #423c2d; font-family: Georgia, 'Songti SC', serif; font-size: calc(var(--rpx) * 48); font-weight: 700; line-height: 1.15; }
.tt-my-status { color: #74603b; font-size: calc(var(--rpx) * 24); text-align: right; }
.tt-my-profile { display: flex; align-items: center; gap: calc(var(--rpx) * 12); margin-top: calc(var(--rpx) * 16); min-width: 0; }
.tt-name-input { min-width: 0; width: calc(var(--rpx) * 190); font-size: calc(var(--rpx) * 25); color: #554833; font-weight: 700; height: calc(var(--rpx) * 54); border-bottom: calc(var(--rpx) * 1) dashed #c7b99b; }
.tt-partner-names { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: right; }
.tt-hand-scroll { width: 100%; white-space: nowrap; box-sizing: border-box; }
.tt-hand-row { display: inline-flex; padding: calc(var(--rpx) * 24) calc(var(--rpx) * 12) calc(var(--rpx) * 8); min-width: 100%; box-sizing: border-box; align-items: flex-start; }
.tt-hand-card { position: relative; flex-shrink: 0; width: calc(var(--rpx) * 184); height: calc(var(--rpx) * 258); margin-right: calc(var(--rpx) * 16); margin-bottom: calc(var(--rpx) * 35); transition: margin 240ms ease, transform 240ms ease; }
.tt-hand-card:last-child { margin-right: calc(var(--rpx) * 12); }
.tt-hand-row.stacked .tt-hand-card:not(:last-child) { margin-right: calc(var(--rpx) * -72); }
.tt-hand-row.stacked .tt-hand-card:nth-child(odd) { transform: rotate(-2deg); }
.tt-hand-row.stacked .tt-hand-card:nth-child(even) { transform: rotate(2deg) translateY(calc(var(--rpx) * 4)); }
.tt-card-label { position: absolute; top: 100%; width: 100%; padding-top: calc(var(--rpx) * 8); text-align: center; color: #8b7958; font-size: calc(var(--rpx) * 20); }
.tt-hand-waiting { padding: calc(var(--rpx) * 35) 0 calc(var(--rpx) * 18); text-align: center; color: #938266; font-size: calc(var(--rpx) * 23); }
.tt-spread-button { margin: calc(var(--rpx) * 5) 0 0; padding: 0; background: transparent; color: #8c744c; font-size: calc(var(--rpx) * 21); line-height: calc(var(--rpx) * 50); text-align: center; }
.host-hand .tt-hand-card { width: calc(var(--rpx) * 152); height: calc(var(--rpx) * 213); }
.tt-other-hand .tt-hand-card { width: calc(var(--rpx) * 168); height: calc(var(--rpx) * 235); }
.host-hand .tt-hand-row.stacked .tt-hand-card:not(:last-child) { margin-right: calc(var(--rpx) * -44); }
.host-hand .tt-my-total { font-size: calc(var(--rpx) * 39); }
.tt-tables { margin: calc(var(--rpx) * 26) 0; }
.tt-section-title { color: #514431; font-weight: 700; font-size: calc(var(--rpx) * 29); letter-spacing: calc(var(--rpx) * 2); }
.tt-tables > .tt-section-head { margin-bottom: calc(var(--rpx) * 14); }
.tt-group { position: relative; margin-bottom: calc(var(--rpx) * 12); padding: calc(var(--rpx) * 17) calc(var(--rpx) * 18); border: calc(var(--rpx) * 1) solid #d0c4ab; border-radius: calc(var(--rpx) * 7); background: rgba(250, 247, 235, .66); }
.tt-group.mine { border-color: #b9a06a; background: rgba(244, 235, 209, .8); }
.tt-group-summary { display: flex; align-items: center; gap: calc(var(--rpx) * 13); min-height: calc(var(--rpx) * 62); }
.tt-member-faces { display: flex; align-items: center; flex-shrink: 0; }
.tt-member-faces .avatar + .avatar { margin-left: calc(var(--rpx) * -18); border: calc(var(--rpx) * 3) solid #f1e9d7; }
.tt-group .avatar.small { width: calc(var(--rpx) * 52); height: calc(var(--rpx) * 52); }
.tt-empty-seat { display: flex; width: calc(var(--rpx) * 52); height: calc(var(--rpx) * 52); border: calc(var(--rpx) * 1) dashed #baa784; border-radius: 50%; align-items: center; justify-content: center; color: #a28a61; }
.tt-group-info { flex: 1; min-width: 0; }
.tt-group-name { font-size: calc(var(--rpx) * 25); color: #4c4231; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tt-group-info .tt-caption { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: calc(var(--rpx) * 20); }
.tt-mine-label { color: #91723b; font-weight: 400; margin-left: calc(var(--rpx) * 8); font-size: calc(var(--rpx) * 20); }
.tt-summary-cards { width: calc(var(--rpx) * 200); flex-shrink: 0; white-space: nowrap; }
.tt-summary-card-row { display: inline-flex; gap: calc(var(--rpx) * 6); padding: calc(var(--rpx) * 5) calc(var(--rpx) * 2); }
.tt-summary-card { width: calc(var(--rpx) * 60); height: calc(var(--rpx) * 84); flex-shrink: 0; }
.tt-summary-card .tt-poker { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: calc(var(--rpx) * 4); border-radius: calc(var(--rpx) * 4); box-shadow: 0 calc(var(--rpx) * 2) calc(var(--rpx) * 4) rgba(64,45,23,.12); }
.tt-summary-card .tt-center-rank { position: relative; top: auto; left: auto; z-index: 1; flex: 0 0 calc(var(--rpx) * 32); font-size: calc(var(--rpx) * 28); line-height: calc(var(--rpx) * 32); }
.tt-summary-card .tt-center-suit { position: relative; top: auto; z-index: 1; flex: 0 0 calc(var(--rpx) * 24); font-size: calc(var(--rpx) * 20); line-height: calc(var(--rpx) * 24); }
.tt-summary-card .tt-corner { display: none; }
.tt-expand { width: calc(var(--rpx) * 27); text-align: center; color: #a08c67; font-size: calc(var(--rpx) * 30); }
.ten-room .tt-group-summary > .tt-deal-button { flex: 0 0 calc(var(--rpx) * 104); width: calc(var(--rpx) * 104); min-width: calc(var(--rpx) * 104); max-width: calc(var(--rpx) * 104); margin: 0; padding: 0; height: calc(var(--rpx) * 76); line-height: normal; display: flex; align-items: center; justify-content: center; border: calc(var(--rpx) * 1) solid #a45b3c; border-radius: calc(var(--rpx) * 10); background: #a96540; color: #fff8e9; font-size: calc(var(--rpx) * 26); font-weight: 700; box-sizing: border-box; }
.ten-room .tt-group-summary > .tt-deal-button[disabled] { background: #dfd2bd; border-color: #c9bca4; color: #786a54; }
.tt-seat-options { display: flex; gap: calc(var(--rpx) * 12); padding-top: calc(var(--rpx) * 13); }
.tt-seat-button { margin: 0; flex: 1; min-width: 0; padding: 0 calc(var(--rpx) * 12); height: calc(var(--rpx) * 62); line-height: calc(var(--rpx) * 62); background: transparent; color: #856f46; border: calc(var(--rpx) * 1) dashed #c0ae88; border-radius: calc(var(--rpx) * 5); font-size: calc(var(--rpx) * 23); }
.tt-seat-button::after { border: 0; }
.tt-bottom-note { margin: calc(var(--rpx) * 22) 0 calc(var(--rpx) * 8); font-size: calc(var(--rpx) * 21); text-align: center; color: #8c7d63; }
.tt-restart { background: transparent; padding: 0; margin: 0; font-size: calc(var(--rpx) * 23); color: #8a624d; line-height: calc(var(--rpx) * 68); text-decoration: underline; }
.ten-room .exit-room-button { margin-top: calc(var(--rpx) * 12); font-size: calc(var(--rpx) * 22); color: #93816a; }
.tt-results { position: relative; margin: 0 0 calc(var(--rpx) * 26); padding: calc(var(--rpx) * 28) calc(var(--rpx) * 24) calc(var(--rpx) * 22); border: calc(var(--rpx) * 2) solid #b89b60; background: rgba(252, 245, 224, .9); box-shadow: inset 0 0 0 calc(var(--rpx) * 7) rgba(255, 252, 240, .65); border-radius: calc(var(--rpx) * 6); overflow: hidden; }
.tt-result-heading { margin: calc(var(--rpx) * 7) 0 calc(var(--rpx) * 10); font-size: calc(var(--rpx) * 43); font-weight: 700; letter-spacing: calc(var(--rpx) * 5); color: #4e422b; }
.tt-result-row { display: flex; align-items: center; gap: calc(var(--rpx) * 15); padding: calc(var(--rpx) * 18) 0; border-bottom: calc(var(--rpx) * 1) solid #d7c8a5; }
.tt-rank { width: calc(var(--rpx) * 40); color: #a28b55; font-size: calc(var(--rpx) * 34); font-family: Georgia, serif; flex-shrink: 0; }
.tt-result-name { min-width: 0; flex: 1; font-size: calc(var(--rpx) * 25); color: #504632; overflow-wrap: break-word; }
.tt-result-label { max-width: calc(var(--rpx) * 190); color: #8f5138; font-size: calc(var(--rpx) * 22); text-align: right; }
.tt-result-footer { margin-top: calc(var(--rpx) * 18); text-align: center; }
.tt-stamp, .tt-finish-seal { position: absolute; right: calc(var(--rpx) * 20); top: calc(var(--rpx) * 15); z-index: 5; padding: calc(var(--rpx) * 10) calc(var(--rpx) * 15); border: calc(var(--rpx) * 5) double currentColor; color: #9a422d; background: rgba(250, 243, 221, .92); font-size: calc(var(--rpx) * 34); font-weight: 900; letter-spacing: calc(var(--rpx) * 4); transform: rotate(-12deg); pointer-events: none; animation: tt-seal 600ms ease-out both; }
.tt-stamp.exact { color: #a28036; }
.tt-finish-seal { top: calc(var(--rpx) * 24); right: calc(var(--rpx) * 25); font-size: calc(var(--rpx) * 32); color: #9d7b32; }
.tt-current-card.effect-start { animation: tt-turn 350ms ease-out; }
.tt-current-card.effect-replace, .tt-current-card.effect-discard { animation: tt-card-fade 160ms ease-out; }
.tt-current-card.effect-deal { animation: tt-arrive 280ms ease-out; }
@keyframes tt-card-fade { from { opacity: .5; } to { opacity: 1; } }
.processing-notice { position: fixed; bottom: max(calc(var(--rpx) * 20), env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); margin: 0; z-index: 1000; white-space: nowrap; pointer-events: none; }
.tt-group-receiving { animation: tt-receive 350ms ease-out; }
.tt-flight { position: fixed; z-index: 999; pointer-events: none; transform-origin: center; animation: tt-fly 450ms cubic-bezier(.3,.08,.25,1) both; }
@keyframes tt-turn { from { opacity: .3; transform: rotateY(-85deg) rotate(-4deg); } to { opacity: 1; transform: rotateY(0) rotate(0); } }
@keyframes tt-arrive { from { opacity: .3; transform: translateY(calc(var(--rpx) * -20)) rotate(-6deg); } to { opacity: 1; transform: translateY(0) rotate(0); } }
@keyframes tt-receive { 0% { box-shadow: 0 0 0 0 rgba(169,130,56,.5); } 45% { box-shadow: 0 0 0 calc(var(--rpx) * 7) rgba(169,130,56,.25); } 100% { box-shadow: 0 0 0 0 rgba(169,130,56,0); } }
@keyframes tt-seal { 0% { opacity: 0; transform: scale(1.8) rotate(-18deg); } 35% { opacity: 1; transform: scale(.95) rotate(-12deg); } 55%,100% { opacity: 1; transform: scale(1) rotate(-12deg); } }
@keyframes tt-fly { 0% { opacity: 1; transform: translate(0,0) rotate(0); } 75% { opacity: .9; } 100% { opacity: 0; transform: translate(var(--flight-x), var(--flight-y)) rotate(8deg) scale(.6); } }
@media (min-width: 600px) { .ten-room { padding-left: calc(var(--rpx) * 56); padding-right: calc(var(--rpx) * 56); } .tt-stage { padding-left: calc(var(--rpx) * 42); padding-right: calc(var(--rpx) * 42); } }
@media (prefers-reduced-motion: reduce) { .tt-current-card, .tt-action-ink, .tt-group-receiving, .tt-stamp, .tt-finish-seal, .tt-flight { animation: none !important; } .tt-hand-card { transition: none !important; } .tt-flight, .tt-action-ink { display: none; } }


.tt-my-hand.effect-finish .tt-poker, .tt-other-hand.effect-finish .tt-poker { animation: tt-reveal 550ms ease-out both; }
.tt-results.effect-finish .tt-result-row { animation: tt-result-arrive 300ms 200ms ease-out both; }
@keyframes tt-reveal { 0% { opacity: .4; transform: rotateY(-90deg); } 45% { opacity: 1; } 100% { opacity: 1; transform: rotateY(0); } }
@keyframes tt-result-arrive { from { opacity: 0; transform: translateY(calc(var(--rpx) * 12)); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .tt-my-hand.effect-finish .tt-poker, .tt-other-hand.effect-finish .tt-poker, .tt-results.effect-finish .tt-result-row { animation: none; } .tt-outgoing { display: none; animation: none; } }

/* 牌局结果使用图形，静态状态与全房间短通知共用同一徽章。 */
.tt-outcome-badge { position: relative; display: inline-block; flex-shrink: 0; width: calc(var(--rpx) * 82); height: calc(var(--rpx) * 76); font-size: calc(var(--rpx) * 40); vertical-align: middle; color: #a7853e; }
.tt-gold-ring { position: absolute; inset: 13% 13%; display: flex; align-items: center; justify-content: center; border: calc(var(--rpx) * 3) double #af8e43; border-radius: 50%; background: radial-gradient(circle, #fff8da 0%, #ecdaa8 75%); box-shadow: inset 0 0 0 calc(var(--rpx) * 3) rgba(255,250,220,.7); overflow: hidden; }
.tt-gold-ring span { font-family: 'Songti SC', 'SimSun', serif; font-size: .36em; font-weight: 900; color: #8c692a; line-height: 1.2; white-space: nowrap; }
.tt-laurel { position: absolute; top: 17%; width: 18%; height: 66%; }
.tt-laurel.left { left: 0; transform: rotate(-15deg); }
.tt-laurel.right { right: 0; transform: scaleX(-1) rotate(-15deg); }
.tt-laurel div { position: absolute; left: 15%; width: 78%; height: 28%; background: #aa8840; border-radius: 80% 0 80% 0; transform: rotate(-35deg); }
.tt-laurel div:nth-child(1) { top: 0; }
.tt-laurel div:nth-child(2) { top: 33%; left: 0; }
.tt-laurel div:nth-child(3) { top: 65%; left: 14%; }
.tt-spark { position: absolute; width: calc(var(--rpx) * 5); height: calc(var(--rpx) * 5); background: #c6a65e; transform: rotate(45deg); opacity: 0; }
.tt-spark.one { left: 5%; top: 10%; }
.tt-spark.two { right: 2%; top: 27%; }
.tt-spark.three { right: 27%; bottom: 1%; }
.tt-outcome-badge.busted { color: #a64e3d; }
.tt-broken-half { position: absolute; top: 17%; width: 29%; height: 66%; box-sizing: border-box; background: #f6e8cf; border: calc(var(--rpx) * 2) solid #a45b47; border-radius: calc(var(--rpx) * 3); }
.tt-broken-half.left { left: 18%; transform: rotate(-12deg); border-right-style: dashed; }
.tt-broken-half.right { right: 18%; transform: rotate(12deg); border-left-style: dashed; }
.tt-broken-cross { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 1em; font-weight: 800; color: #a44435; text-shadow: 0 calc(var(--rpx) * 1) #fff6df; }
.tt-shard { position: absolute; width: 0; height: 0; border-left: calc(var(--rpx) * 4) solid transparent; border-right: calc(var(--rpx) * 4) solid transparent; border-bottom: calc(var(--rpx) * 9) solid #a85b45; opacity: 0; }
.tt-shard.one { left: 7%; top: 13%; }
.tt-shard.two { right: 6%; top: 22%; transform: rotate(60deg); }
.tt-shard.three { right: 18%; bottom: 8%; transform: rotate(-35deg); }
.tt-my-status .tt-outcome-badge { display: block; margin: calc(var(--rpx) * -8) 0 calc(var(--rpx) * 1) auto; }
.tt-group-title-line { display: flex; align-items: center; gap: calc(var(--rpx) * 7); min-width: 0; }
.tt-group-title-line .tt-group-name { min-width: 0; flex: 0 1 auto; }
.tt-group-title-line .tt-outcome-badge { width: calc(var(--rpx) * 52); height: calc(var(--rpx) * 48); margin: calc(var(--rpx) * -5) 0; font-size: calc(var(--rpx) * 28); }
.tt-result-outcome { display: flex; align-items: center; gap: calc(var(--rpx) * 11); }
.tt-result-outcome .tt-outcome-badge { width: calc(var(--rpx) * 64); height: calc(var(--rpx) * 60); font-size: calc(var(--rpx) * 34); }
.tt-result-outcome > span { min-width: calc(var(--rpx) * 35); font-family: Georgia, serif; font-size: calc(var(--rpx) * 28); }
.tt-outcome-notice { position: fixed; z-index: 1001; top: max(calc(var(--rpx) * 146), calc(env(safe-area-inset-top) + calc(var(--rpx) * 82))); left: calc(var(--rpx) * 28); width: min(calc(var(--rpx) * 470), calc(100% - calc(var(--rpx) * 56))); box-sizing: border-box; display: flex; align-items: center; gap: calc(var(--rpx) * 14); padding: calc(var(--rpx) * 12) calc(var(--rpx) * 16); border: calc(var(--rpx) * 2) solid #ba9b58; border-radius: calc(var(--rpx) * 8); background: #faf2dc; box-shadow: 0 calc(var(--rpx) * 7) calc(var(--rpx) * 22) rgba(67,49,23,.16), inset 0 0 0 calc(var(--rpx) * 4) rgba(255,252,237,.8); animation: tt-notice-appear 200ms ease-out both; }
.tt-outcome-notice.busted { border-color: #b3715e; background: #f8eadd; }
.tt-notice-name { min-width: 0; flex: 1; color: #544630; font-size: calc(var(--rpx) * 27); font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tt-notice-total { font-family: Georgia, serif; color: #8a6a30; font-size: calc(var(--rpx) * 31); }
.tt-outcome-notice.busted .tt-notice-total { color: #a14d3a; }
.tt-notice-close { color: #a2967f; font-size: calc(var(--rpx) * 25); padding-left: calc(var(--rpx) * 4); align-self: flex-start; line-height: 1; }
.tt-outcome-notice.exact .tt-gold-ring::after { content: ''; position: absolute; inset: -15% -70%; background: linear-gradient(110deg, transparent 35%, rgba(255,255,236,.85) 48%, transparent 61%); animation: tt-gold-sweep 800ms 120ms ease-out both; }
.tt-outcome-notice.exact .tt-spark { animation: tt-gold-particle 850ms 150ms ease-out both; }
.tt-outcome-notice.exact .tt-spark.two { animation-delay: 300ms; }
.tt-outcome-notice.exact .tt-spark.three { animation-delay: 450ms; }
.tt-outcome-notice.busted .tt-broken-half.left { animation: tt-crack-left 450ms ease-out both; }
.tt-outcome-notice.busted .tt-broken-half.right { animation: tt-crack-right 450ms ease-out both; }
.tt-outcome-notice.busted .tt-shard.one { animation: tt-shard-left 600ms 100ms ease-out both; }
.tt-outcome-notice.busted .tt-shard.two { animation: tt-shard-right 600ms 100ms ease-out both; }
.tt-outcome-notice.busted .tt-shard.three { animation: tt-shard-down 600ms 150ms ease-out both; }
@keyframes tt-notice-appear { from { opacity: 0; } to { opacity: 1; } }
@keyframes tt-gold-sweep { from { transform: translateX(-60%); } to { transform: translateX(60%); } }
@keyframes tt-gold-particle { 0% { opacity: 0; transform: scale(.6) rotate(45deg); } 25% { opacity: .9; } 100% { opacity: 0; transform: translateY(calc(var(--rpx) * -10)) scale(1.25) rotate(45deg); } }
@keyframes tt-crack-left { from { transform: rotate(0) translateX(calc(var(--rpx) * 4)); } to { transform: rotate(-12deg) translateX(0); } }
@keyframes tt-crack-right { from { transform: rotate(0) translateX(calc(var(--rpx) * -4)); } to { transform: rotate(12deg) translateX(0); } }
@keyframes tt-shard-left { from { opacity: .9; transform: translate(0,0) rotate(0); } to { opacity: 0; transform: translate(calc(var(--rpx) * -17),calc(var(--rpx) * -13)) rotate(-35deg); } }
@keyframes tt-shard-right { from { opacity: .9; transform: translate(0,0) rotate(60deg); } to { opacity: 0; transform: translate(calc(var(--rpx) * 18),calc(var(--rpx) * -8)) rotate(95deg); } }
@keyframes tt-shard-down { from { opacity: .9; transform: translate(0,0) rotate(-35deg); } to { opacity: 0; transform: translate(calc(var(--rpx) * 8),calc(var(--rpx) * 19)) rotate(-70deg); } }
@media (prefers-reduced-motion: reduce) { .tt-outcome-notice, .tt-outcome-notice .tt-gold-ring::after, .tt-outcome-notice .tt-spark, .tt-outcome-notice .tt-broken-half, .tt-outcome-notice .tt-shard { animation: none !important; } .tt-outcome-notice .tt-gold-ring::after, .tt-spark, .tt-shard { display: none; } }
/* 结果强调：斜盖章与整行状态，通知不挤动牌桌。 */
.tt-group.outcome-exact, .tt-group.mine.outcome-exact { border: calc(var(--rpx) * 2) solid #d6a01c; background: linear-gradient(110deg, #f8dc7b, #fff4cb 65%, #ffe9a0); box-shadow: inset 0 0 0 calc(var(--rpx) * 4) rgba(255,253,221,.85), 0 0 calc(var(--rpx) * 16) rgba(232,177,34,.38); margin-top: calc(var(--rpx) * 38); padding-top: calc(var(--rpx) * 52); }
.tt-group.outcome-busted, .tt-group.mine.outcome-busted { border-color: #b47765; background: #f3e3d8; }
.tt-group.outcome-exact .tt-group-title-line > .tt-outcome-badge { position: absolute; z-index: 3; left: calc(var(--rpx) * 6); right: auto; top: calc(var(--rpx) * -42); width: calc(var(--rpx) * 118); height: calc(var(--rpx) * 108); font-size: calc(var(--rpx) * 66); transform: rotate(-18deg); opacity: 1; pointer-events: none; }
.tt-my-status .tt-outcome-badge.exact { width: calc(var(--rpx) * 132); height: calc(var(--rpx) * 120); font-size: calc(var(--rpx) * 74); transform: rotate(-16deg); }
.tt-outcome-notice { width: calc(100% - calc(var(--rpx) * 56)); max-width: calc(var(--rpx) * 690); min-height: calc(var(--rpx) * 166); padding: calc(var(--rpx) * 20) calc(var(--rpx) * 22); gap: calc(var(--rpx) * 20); border-width: calc(var(--rpx) * 3); }
.tt-outcome-notice > .tt-outcome-badge { width: calc(var(--rpx) * 136); height: calc(var(--rpx) * 124); font-size: calc(var(--rpx) * 76); }
.tt-outcome-notice.exact > .tt-outcome-badge { width: calc(var(--rpx) * 156); height: calc(var(--rpx) * 142); font-size: calc(var(--rpx) * 86); transform: rotate(-12deg); }
.tt-outcome-notice .tt-notice-name { font-size: calc(var(--rpx) * 31); white-space: normal; overflow-wrap: anywhere; max-height: calc(var(--rpx) * 110); }
.tt-outcome-notice .tt-notice-total { font-size: calc(var(--rpx) * 29); max-width: calc(var(--rpx) * 140); flex-shrink: 0; }
.tt-outcome-notice.exact .tt-gold-ring::after { animation-duration: 1400ms; animation-iteration-count: 3; }
.tt-outcome-notice.exact .tt-spark { animation-duration: 1500ms; animation-iteration-count: 3; }
/* 常驻十点半徽章：固定左上角，只让光线运动。 */
.tt-group.outcome-exact .tt-gold-ring { border-color: #c28b08; background: radial-gradient(circle at 35% 25%, #fffde2, #ffdf66 60%, #e8b52e); animation: tt-gold-breathe 2600ms ease-in-out infinite; }
.tt-group.outcome-exact .tt-gold-ring span { color: #855500; text-shadow: 0 calc(var(--rpx) * 1) 0 #fff9c6; }
.tt-group.outcome-exact .tt-laurel div { background: linear-gradient(135deg, #fff2a4, #d79b13 65%, #b67d06); }
.tt-group.outcome-exact .tt-gold-ring::after { content: ''; position: absolute; inset: -15% -70%; background: linear-gradient(110deg, transparent 36%, rgba(255,255,239,.95) 48%, transparent 60%); animation: tt-gold-sweep 3200ms ease-in-out infinite; }
.tt-group.outcome-exact .tt-spark { background: #fff2a0; box-shadow: 0 0 calc(var(--rpx) * 6) calc(var(--rpx) * 2) #efb522; animation: tt-gold-particle 2300ms ease-out infinite; }
.tt-group.outcome-exact .tt-spark.two { animation-delay: 700ms; }
.tt-group.outcome-exact .tt-spark.three { animation-delay: 1400ms; }
@keyframes tt-gold-breathe { 0%, 100% { box-shadow: inset 0 0 0 calc(var(--rpx) * 3) rgba(255,250,220,.8), 0 0 calc(var(--rpx) * 7) rgba(242,187,27,.4); } 50% { box-shadow: inset 0 0 0 calc(var(--rpx) * 3) #fff7c9, 0 0 calc(var(--rpx) * 20) calc(var(--rpx) * 5) rgba(242,187,27,.65); } }
@media (prefers-reduced-motion: reduce) { .tt-group.outcome-exact .tt-gold-ring, .tt-group.outcome-exact .tt-gold-ring::after, .tt-group.outcome-exact .tt-spark { animation: none !important; } .tt-group.outcome-exact .tt-gold-ring::after, .tt-group.outcome-exact .tt-spark { display: none; } }




body .room-exit-control{top:max(12px,env(safe-area-inset-top))!important}body .room-page{padding-top:70px!important}body .home-page{padding-top:60px!important}#app button{touch-action:manipulation}#app input{font-size:max(16px,1em)}.seating-list{touch-action:pan-y}body .paper-art,body .room-paper-art{left:0;right:0;width:100%}body .td-input{min-height:44px}body .room-page{min-height:100dvh}body .room-exit-control{max-width:calc(100vw - 32px)}body .jy-actions,body .hd-actions,body .mb-actions,body .ms-actions,body .at-draft,body .dr-controls,body .room-dream-bet-dock{max-width:580px;margin-left:auto;margin-right:auto}
.web-avatar-grid img{width:100%;height:auto;aspect-ratio:1;max-width:64px}

body .home-page{padding-top:max(28px,env(safe-area-inset-top))!important;padding-bottom:calc(112px + env(safe-area-inset-bottom))!important}
.home-nav{position:fixed;z-index:80;bottom:calc(14px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:calc(100% - 28px);max-width:552px;padding:7px;border:1px solid #c7af87;border-radius:24px;background:#fff9eef5;box-shadow:0 8px 32px #51351726,inset 0 1px 0 #fff;backdrop-filter:blur(16px)}
#app .home-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:58px;padding:6px 2px;margin:0;border-radius:18px;background:transparent;color:#8b745a;font-size:12px;line-height:1.4;font-weight:600;transition:background .18s,color .18s,transform .18s}
#app .home-nav-item.active{background:#eadbc2;color:#634126;box-shadow:inset 0 1px 0 #fdf6e7}
#app .home-nav-item:active{transform:scale(.96)}
#app .home-nav-item:focus-visible{outline:2px solid #a46b43;outline-offset:2px}
.home-nav-icon{width:23px;height:23px;display:block}
.home-code-input{width:100%;height:62px;border:1px solid #cbb28b;border-radius:12px;background:#fffaf0;text-align:center;letter-spacing:5px;margin:12px 0 24px;color:#69452e;font-weight:700}
.home-profile-avatar{display:block;width:84px;height:84px;margin:22px auto 16px;border-radius:50%;border:3px solid #e6d3b1}
.home-profile-name{font-size:21px;font-weight:700;text-align:center;overflow-wrap:anywhere;margin:0 0 26px;color:#624630}
#app .home-install-button{width:100%;margin-top:14px;background:#eee2cc;border:1px solid #cfb995;color:#735334}
@media(prefers-reduced-motion:reduce){#app .home-nav-item{transition:none}}

.web-profile-sheet{position:fixed;inset:0;z-index:4000;display:flex;align-items:center;justify-content:center;padding:16px;background:#241c16a3;backdrop-filter:blur(6px)}
.web-profile-card{display:flex;flex-direction:column;width:min(100%,440px);max-height:calc(100dvh - 32px);padding:0;overflow:hidden;border:1px solid #c4a779;border-radius:22px;background:linear-gradient(140deg,#fffaed,#f2e6cc);color:#65492e;box-shadow:0 18px 70px #20130655}
.web-profile-heading{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 12px;border-bottom:1px solid #dbc6a166;flex:none}
.web-profile-heading h3{margin:0;font-size:21px;letter-spacing:1px}
.web-profile-close{width:38px;height:38px;padding:0;background:#e8d7b9;color:#795738;border:0;border-radius:50%;font-size:25px;line-height:1;flex:none}
.web-profile-body{overflow-y:auto;overscroll-behavior:contain;padding:18px 22px 12px;min-height:0}
.web-avatar-preview{width:min(64vw,210px);height:auto;aspect-ratio:1;margin:0 auto 12px;border:5px solid #fff9e9;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px #bda074,0 8px 22px #64432020;background:#e6d6b9}
.web-avatar-preview img,.web-avatar-preview canvas{display:block;width:100%;height:100%;max-width:none;object-fit:cover}
.web-avatar-preview [hidden],.web-profile-card [hidden]{display:none!important}
.web-avatar-crop{touch-action:none;cursor:grab}
.web-avatar-crop:active{cursor:grabbing}
.web-profile-hint{margin:0;text-align:center;font-size:13px;color:#927352}
.web-avatar-zoom-label{display:flex;align-items:center;gap:14px;margin:8px 0 12px;font-size:13px}
.web-profile-card .web-avatar-zoom{width:100%;flex:1;height:28px;min-width:0;padding:0;margin:0;border:0;background:transparent;accent-color:#a66a42}
.web-profile-card .web-avatar-upload{display:block;min-height:42px;margin:14px auto 22px;padding:8px 24px;background:#e8d8bc;color:#7e5433;border:1px solid #cbb08a;border-radius:22px;font-size:14px;font-weight:600}
.web-profile-label{display:block;font-size:14px;font-weight:650;margin:0 0 12px}
.web-profile-card .web-profile-name-input{width:100%;padding:12px 14px;min-height:46px;margin:8px 0 12px;border:1px solid #cbb491;border-radius:10px;background:#fffaf0;color:#563d26;font-size:16px;outline-offset:3px}
.web-avatar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.web-avatar-grid .web-avatar-option{display:block;position:relative;width:100%;aspect-ratio:1;min-width:0;padding:3px;border:2px solid transparent;border-radius:16px;background:#e7d8bd;overflow:hidden;transition:border-color .15s,transform .15s}
.web-avatar-grid .web-avatar-option.selected{border-color:#ab663f;background:#d6b284;box-shadow:0 0 0 2px #b3774324}
.web-avatar-grid .web-avatar-option.selected::after{content:'✓';position:absolute;right:2px;bottom:2px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#a9633d;color:#fff8e9;font-size:13px}
.web-avatar-grid .web-avatar-option img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;border:0;border-radius:11px}
.web-profile-error{min-height:20px;margin-top:12px;font-size:13px;color:#a13e2e;line-height:1.5}
.web-profile-actions{display:flex;gap:12px;flex:none;margin:0;padding:14px 22px max(16px,env(safe-area-inset-bottom));border-top:1px solid #d7c09a;background:#f5ead3}
.web-profile-actions button{flex:1;min-height:46px;padding:12px;background:#a46740;color:#fff7e7;border:1px solid #a46740;border-radius:11px;font-size:15px;font-weight:700}
.web-profile-actions .web-profile-cancel{background:#e7d8bd;border-color:#ceb693;color:#7a5b3b}
.web-profile-card button:disabled,.web-profile-card input:disabled{opacity:.55;cursor:wait}
.web-profile-card button:focus-visible{outline:2px solid #a96a43;outline-offset:3px}
@media(max-width:350px){.web-profile-sheet{padding:10px}.web-profile-card{max-height:calc(100dvh - 20px)}.web-profile-body{padding:16px}.web-profile-heading{padding:14px 16px 10px}.web-avatar-grid{gap:8px}.web-profile-actions{padding-left:16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){.web-avatar-option{transition:none}}

/* LUCKY production system. Business handlers and game state remain unchanged. */
:root{--rpx:calc(min(100vw,480px)/750);--lucky-ink:#171217;--lucky-yellow:#edff42;--lucky-purple:#8252e8;--lucky-paper:#fff6e3;--lucky-red:#c93e42}html{background:#e8e4d8}body.lucky-web{color:var(--lucky-ink);background:#e8e4d8;font-family:Arial,'PingFang SC','Microsoft YaHei',sans-serif}.lucky-web #app{max-width:480px;background-color:var(--lucky-yellow);background-image:radial-gradient(#17121717 .65px,transparent .65px);background-size:8px 8px;min-height:100dvh}.lucky-web button{min-height:42px;font-weight:750;line-height:1.3;touch-action:manipulation}.lucky-web button:disabled{opacity:.42;cursor:default}.lucky-web button:focus-visible{outline:3px solid #8252e8;outline-offset:3px}.lucky-web input{font-size:16px;border:2px solid #171217;border-radius:0;background:#fff6e3;color:#171217;min-height:44px}.lucky-web .paper-art,.lucky-web .room-paper-art,.lucky-web .room-frame{display:none}.lucky-web .home-page{padding:18px 15px calc(108px + env(safe-area-inset-bottom))!important;max-width:480px;min-height:100dvh;background:none}.lucky-web .home-content{padding:0;max-width:none;position:relative}.lucky-web .home-page .panel{padding:0;border:0;border-radius:0;background:none;box-shadow:none;margin:0}.lucky-mast{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 20px;font-size:8px;font-weight:900;letter-spacing:.5px}.lucky-mast button{display:flex;align-items:center;gap:7px;padding:0;max-width:52%;font-size:11px;background:transparent}.lucky-mast button>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lucky-mast img{width:32px;height:32px;flex:none;border:2px solid #171217;border-radius:50%}.lucky-poster{position:relative;border:3px solid #171217;box-shadow:5px 5px #171217;background:#8252e8;color:#fff6e3;transform:rotate(-2deg);padding:27px 16px 23px;margin:7px 5px 30px;background-image:radial-gradient(#fff2 .7px,transparent .7px);background-size:5px 5px}.lucky-tape{position:absolute;left:14px;top:-14px;padding:6px 10px;border:2px solid #171217;background:#fff6e3;color:#171217;font-size:10px;font-weight:800;transform:rotate(4deg)}.lucky-word{font-size:clamp(29px,9.6vw,45px);font-weight:1000;font-style:italic;letter-spacing:-2.5px;line-height:1.1;color:#edff42;-webkit-text-stroke:1px #171217;text-shadow:2px 3px #171217;white-space:nowrap}.lucky-word>span{color:#fff6e3}.lucky-poster-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px}.lucky-slogan{font-size:30px;font-weight:900;line-height:1.2;letter-spacing:-1px;text-shadow:2px 2px #171217}.lucky-star{width:76px;height:76px;flex:none;display:grid;place-content:center;text-align:center;line-height:1.1;background:#edff42;color:#171217;font-size:11px;font-weight:900;transform:rotate(12deg);clip-path:polygon(50% 0,62% 17%,80% 5%,82% 27%,100% 32%,88% 50%,100% 68%,80% 74%,77% 96%,58% 85%,46% 100%,36% 82%,15% 95%,18% 73%,0 65%,14% 49%,0 30%,21% 25%,20% 4%,39% 17%)}.lucky-scribble{position:absolute;right:18px;bottom:4px;color:#171217;font-size:27px;line-height:1;letter-spacing:-3px}.lucky-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.lucky-web .section-title{font-family:inherit;font-size:20px;font-weight:900;color:#171217;line-height:1.25}.lucky-section>.section-title{background:#171217;color:#edff42;padding:6px 11px;transform:rotate(-2deg)}.lucky-section>span{font-size:10px;font-weight:700}.lucky-web .game-type-grid{display:grid;gap:13px;margin:0}.lucky-web .game-type-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:0}.lucky-web .game-type-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:116px;padding:12px 7px;border:2.5px solid #171217;border-radius:0;background:#fff6e3;box-shadow:3px 3px #171217;transform:rotate(-1deg);text-align:center;min-width:0;color:#171217;overflow:visible}.lucky-web .game-type-card:nth-child(2){background:#b99aff;transform:rotate(1deg);border-radius:16px 3px 16px 3px}.lucky-web .game-type-row:nth-child(even) .game-type-card:first-child{background:#edff42;border-style:dashed}.lucky-web .game-type-row:nth-child(even) .game-type-card:nth-child(2){background:#171217;color:#edff42;border-radius:0;box-shadow:3px 3px #8252e8}.lucky-web .game-type-card.selected{outline:3px solid #8252e8;outline-offset:3px;transform:rotate(0);box-shadow:3px 3px #171217}.lucky-web .game-type-name{font-family:inherit;font-weight:850;font-size:14px;line-height:1.25;text-align:center}.lucky-web .game-type-variant{font-size:11px;line-height:1.3;color:inherit;opacity:.78}.lucky-game-symbol{font:33px/1 Georgia}.lucky-game-index{position:absolute;top:6px;right:7px;border:1px solid currentColor;border-radius:50%;width:21px;height:21px;display:grid;place-items:center;font-size:11px}.lucky-web .home-button{width:100%;margin:24px 0 0;border:3px solid #171217;border-radius:0;background:#8252e8;color:#fff6e3;box-shadow:3px 3px #171217;min-height:50px;display:flex;align-items:center;justify-content:center;gap:18px;font-size:16px;padding:12px;font-weight:850;text-align:center}.lucky-web .home-button:active{transform:translate(2px,2px);box-shadow:none}.lucky-web .home-install-button{background:#fff6e3;color:#171217}.lucky-web .home-nav{width:calc(100% - 26px);max-width:454px;bottom:calc(9px + env(safe-area-inset-bottom));padding:5px;gap:4px;border:3px solid #171217;border-radius:18px;background:#fff6e3;box-shadow:3px 4px #171217;backdrop-filter:none}.lucky-web #app .home-nav-item{color:#171217;font-size:11px;border:0;border-radius:11px;min-height:53px;background:transparent;gap:3px;padding:5px 2px}.lucky-web #app .home-nav-item.active{background:#8252e8;color:white;box-shadow:none}.lucky-nav-symbol{font-size:23px;font-weight:900;line-height:1}.lucky-page-title{position:relative;padding:28px 0 24px;border-bottom:3px solid #171217;margin:7px 0 24px}.lucky-page-title>span{font-size:10px;letter-spacing:2px;font-weight:800}.lucky-page-title .section-title{font-size:38px;margin-top:13px}.lucky-title-icon{position:absolute;right:12px;bottom:16px;font-size:70px;line-height:1;color:#8252e8;transform:rotate(-12deg)}.lucky-web .tool-card{min-height:170px}.lucky-tool-arrow{position:absolute;bottom:8px;right:12px;font-size:26px}.lucky-invitation{padding:23px 18px;background:#fff6e3;border:3px solid #171217;box-shadow:5px 5px #8252e8;transform:rotate(-1deg)}.lucky-ticket-caption{font-weight:800;text-align:center;font-size:14px;border-bottom:2px dashed #171217;padding-bottom:18px}.lucky-web .home-code-input{height:67px;letter-spacing:5px;margin:20px 0 10px;text-align:center;background:#edff42;color:#171217;border:2px solid #171217;border-radius:0}.lucky-identity{background:#fff6e3;border:3px solid #171217;box-shadow:5px 5px #171217;position:relative;transform:rotate(-2deg);margin:24px 5px 30px;overflow:hidden;padding-bottom:15px}.lucky-identity-label{font-size:32px;font-weight:900;text-align:center;color:white;background:#8252e8;padding:13px;line-height:1}.lucky-identity-label>span{display:block;font-size:10px;margin-top:8px;letter-spacing:2px}.lucky-web .home-profile-avatar{border:3px solid #171217;width:88px;height:88px;margin:25px auto 15px}.lucky-web .home-profile-name{font-size:25px;color:#171217;margin:0 20px 15px;overflow-wrap:anywhere}.lucky-id-stamp{position:absolute;right:15px;top:100px;width:49px;height:49px;display:grid;place-content:center;border:2px solid #8252e8;border-radius:50%;color:#8252e8;transform:rotate(15deg);font:800 9px/1.1 Arial;text-align:center}
/* Shared room chrome: one compact toolbar, real game title and real room number. */
body.lucky-web .room-page{padding:57px 13px calc(16px + env(safe-area-inset-bottom))!important;background:none;max-width:480px;position:relative;min-height:100dvh}.lucky-web .room-content{max-width:none;position:relative;margin:0;padding-top:0}.lucky-web .room-exit-control{position:absolute;left:13px;top:12px!important;width:auto;max-width:60%;height:36px;min-height:36px;border:2px solid #171217;border-radius:0;background:#fff6e3;color:#171217;padding:0 11px;font-size:12px;box-shadow:2px 2px #171217}.lucky-room-brand{position:absolute;right:17px;top:15px;font-size:25px;font-style:italic;font-weight:1000;letter-spacing:-1.5px;transform:rotate(4deg);color:#171217}.lucky-web .room-hero{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:0 0 12px;border-bottom:3px solid #171217}.lucky-web .room-hero:after{display:none}.lucky-web .room-hero>div:first-child{flex:1;min-width:0;width:auto}.lucky-web .room-kicker{font:750 9px/1.2 Arial;color:#6b34b4;letter-spacing:.4px;margin:0 0 4px}.lucky-web .room-hero .title{font-family:inherit;font-size:20px;font-weight:900;line-height:1.15;letter-spacing:-.5px;color:#171217;margin:0}.lucky-web .room-hero .subtitle{font:10px/1.4 Arial,'Microsoft YaHei',sans-serif;color:#3c3341;white-space:normal;margin-top:5px}.lucky-web .room-hero-actions{display:flex;gap:5px;width:auto;flex-shrink:0;align-items:center}.lucky-web .room-hero-actions .settings-button{width:auto;min-width:36px;min-height:42px;height:42px;padding:0 7px;font-size:11px;background:#fff6e3;color:#171217;border:2px solid #171217;border-radius:0;box-shadow:2px 2px #171217;line-height:1.2;margin:0}.lucky-web .room-hero-actions .settings-button:last-child{background:#8252e8;color:white}.lucky-web .button.primary,.lucky-web .tt-next,.lucky-web .room-reset-button{background:#8252e8;color:#fff6e3;border:3px solid #171217;border-radius:0;box-shadow:3px 3px #171217;font-weight:800;min-height:46px;font-size:14px;line-height:1.3;padding:10px 12px}.lucky-web .waiting-panel,.lucky-web .room-reset-panel,.lucky-web .profile-panel{border:2px solid #171217;border-radius:0;background:#fff6e3;box-shadow:3px 3px #171217}.lucky-web .room-hand-toggle,.lucky-web .room-actions-toggle{min-height:34px;font-size:11px;padding:5px 7px;background:transparent;color:#6835ad;border:0;font-weight:750}.lucky-web .room-seat-expand{color:#6835ad}.lucky-web .muted,.lucky-web .tt-caption{color:#605369}.lucky-web .quick-stats{display:flex;background:#171217;color:#edff42;border:2px solid #171217;box-shadow:3px 3px #8252e8;border-radius:0;padding:10px 0;margin:12px 0}.lucky-web .quick-stat{flex:1;border-color:#edff4244}.lucky-web .quick-number{font:900 27px/1 Arial;color:#edff42}.lucky-web .quick-label{font:10px Arial;color:#fff6e3}.lucky-web .sync-notice{border:2px solid #171217;background:#fff6e3;color:#a22738;border-radius:0;padding:10px;font-size:12px}.lucky-web .sync-notice button{min-height:40px;background:#8252e8;color:white}.lucky-web .member-card,.lucky-web .member-row,.lucky-web .settings-panel{border:2px solid #171217;border-radius:0;background:#fff6e3}.lucky-web .identity-card.lucky-role-pass{border:3px solid #171217;border-radius:0;box-shadow:5px 5px #8252e8;background:#fff6e3;margin:18px 4px 25px 0;overflow:hidden}.lucky-web .identity-art{border-radius:0;background:#171217}.lucky-web .role-card-image{display:block;width:100%;height:auto;aspect-ratio:840/480;object-fit:contain!important}.lucky-web .identity-copy{padding:16px}.lucky-role-label{font:900 9px Arial;letter-spacing:2px;margin-bottom:7px;color:#6b34b4}.lucky-web .identity-name{font-family:inherit;font-weight:900;font-size:30px;color:#171217}.lucky-web .identity-mark{background:#edff42;border:2px solid #171217;color:#171217;border-radius:0;transform:rotate(-5deg)}
/* A common clean poker face, preserving the original rank/suit and hidden-card data. */
.lucky-web .tt-poker{border:2px solid #171217;border-radius:2px;background:#fff6e3;color:#171217;box-shadow:2px 2px #171217}.lucky-web .tt-poker.red{color:#c73e42}.lucky-web .tt-poker .tt-card-image{opacity:0}.lucky-web .tt-poker.back{background:repeating-linear-gradient(45deg,#171217 0px,#171217 3px,#edff42 3px,#edff42 7px);border-color:#171217}.lucky-web .tt-poker.back .tt-card-image{display:none}.lucky-web .tt-poker.back .tt-corner,.lucky-web .tt-poker.back .tt-center-rank,.lucky-web .tt-poker.back .tt-center-suit{display:none}.lucky-web .tt-poker .tt-center-rank{font-family:Georgia,serif}.lucky-web .tt-outcome-badge{filter:none}.lucky-web .tt-gold-ring{background:#edff42;border:2px solid #171217;box-shadow:2px 2px #8252e8;color:#171217;border-radius:4px}.lucky-web .tt-outcome-notice{border:3px solid #171217;border-radius:0;background:#fff6e3;box-shadow:5px 5px #8252e8}.lucky-web .tt-outcome-notice .tt-notice-name{color:#171217}
/* Standard ten-thirty: public-card stage, member hands and explicit host deal action. */
.lucky-web .tt-stage.lucky-public-stage{border:3px solid #171217;background:#8252e8;color:#fff6e3;border-radius:0;padding:13px;margin:12px 0;box-shadow:4px 4px #171217;position:relative}.lucky-web .tt-stage-heading{margin-bottom:9px}.lucky-web .tt-stage .tt-eyebrow,.lucky-web .tt-stage .tt-progress,.lucky-web .tt-stage-title{color:#fff6e3;font-family:inherit;font-size:11px}.lucky-web .tt-card-stage{height:124px;min-height:0;position:relative;display:flex;align-items:center;justify-content:center}.lucky-web .tt-current-card{width:77px;height:108px;position:relative;top:auto;left:auto;transform:rotate(-3deg);margin:0}.lucky-web .tt-current-card .tt-center-rank{font-size:38px}.lucky-web .tt-current-card .tt-center-suit{font-size:23px}.lucky-web .tt-deck-shadow{display:none}.lucky-public-mark{position:absolute;left:14px;top:35px;font:900 21px/1.2 Arial;color:#edff42;transform:rotate(-8deg)}.lucky-web .tt-stage-title{margin:5px 0 0;font-size:12px;font-weight:750}.lucky-web .tt-public-actions{position:static;display:flex;gap:8px;border-top:2px dashed #fff6e366;padding:11px 0 0;margin:12px 0 0;width:auto;background:transparent;transform:none}.lucky-web .tt-public-actions button{flex:1;height:auto;min-height:44px;line-height:1.2;border:2px solid #171217;border-radius:0;background:#edff42;color:#171217;font-size:13px;box-shadow:2px 2px #171217}.lucky-web .tt-tables{background:none;border:0;padding:0;margin:18px 0}.lucky-web .tt-section-head{gap:8px;margin-bottom:12px;align-items:center}.lucky-web .tt-section-title{font:850 16px Arial;color:#171217}.lucky-web .tt-group{border:2px solid #171217;border-radius:0;background:#fff6e3;box-shadow:2px 2px #171217;padding:9px;margin:9px 0;overflow:hidden}.lucky-web .tt-group.mine{border-color:#171217;background:#e5d4ff}.lucky-web .tt-group-summary.lucky-member-card{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;gap:7px;min-height:49px}.lucky-web .tt-member-faces{width:30px;min-width:0;overflow:visible}.lucky-web .tt-member-faces .avatar{width:28px;height:28px;border:1px solid #171217}.lucky-web .tt-group-info{min-width:0}.lucky-web .tt-group-name{font:800 12px/1.25 Arial;color:#171217;overflow-wrap:anywhere}.lucky-web .tt-group-title-line{gap:4px}.lucky-web .tt-group-summary .tt-caption{font:10px/1.3 Arial;margin-top:3px}.lucky-web .tt-summary-cards{max-width:85px;width:auto;min-width:0}.lucky-web .tt-summary-card{width:25px;height:35px;flex:none;margin-right:3px}.lucky-web .tt-summary-card .tt-center-rank{font-size:14px;flex:0 0 auto;line-height:16px}.lucky-web .tt-summary-card .tt-center-suit{font-size:11px;line-height:12px}.lucky-web .tt-group-summary>.tt-deal-button{grid-column:4;grid-row:1;width:48px;min-width:48px;max-width:48px;min-height:44px;height:44px;padding:0;border:2px solid #171217;border-radius:0;background:#8252e8;color:white;font-size:12px;box-shadow:2px 2px #171217;line-height:1}.lucky-web .tt-group-summary>.tt-expand{display:none}.lucky-web .tt-my-hand{border:3px solid #171217;border-radius:0;padding:13px;background:#fff6e3;box-shadow:4px 4px #171217;margin:18px 3px 20px 0}.lucky-web .tt-my-total{font:900 27px/1 Arial;color:#8252e8}.lucky-web .tt-my-profile{margin:8px 0 12px}.lucky-web .tt-name-input{background:transparent;border:0;min-height:34px;padding:0;font-size:14px;font-weight:700;color:#171217}.lucky-web .tt-hand-card{width:64px;height:91px;flex:none}.lucky-web .tt-my-hand .tt-center-rank{font-size:30px}.lucky-web .tt-spread-button{background:#edff42;border:2px solid #171217;border-radius:0;color:#171217;min-height:38px;padding:7px;font-size:12px}.lucky-web .tt-card-label{color:#171217;font-size:10px}.lucky-web .tt-my-hand .tt-hand-scroll,.lucky-web .tt-other-hand{padding-bottom:19px}.lucky-web .tt-results{background:#8252e8;color:#fff6e3;border:3px solid #171217;border-radius:0;box-shadow:4px 4px #171217;padding:16px;margin:16px 0}.lucky-web .tt-result-heading{font-family:inherit;font-size:31px;font-weight:900;color:#edff42}.lucky-web .tt-result-row{background:#fff6e3;border:2px solid #171217;border-radius:0;color:#171217;padding:12px 9px;margin:10px 0;gap:7px}.lucky-web .tt-rank{font:900 22px Arial;color:#6b34b4}.lucky-web .tt-result-name{font-size:13px}.lucky-web .tt-bottom-note{font-size:10px;color:#605369}.lucky-web .tt-restart{border:2px solid #171217;background:#fff6e3;color:#171217;border-radius:0;min-height:42px}.lucky-web .tt-seat-options button{border:2px solid #171217;background:#edff42;color:#171217;border-radius:0;min-height:42px}
/* Red/black has an anonymous reveal stage, never a seat-mapped poker table. */
.lucky-web .rb-order{padding:0;background:none;border:0;margin:0 0 12px}.lucky-web .rb-seats{gap:7px}.lucky-web .rb-seat{border:2px solid #171217;border-radius:0;background:#fff6e3;color:#171217;padding:7px 9px;min-width:90px}.lucky-web .rb-seat.current{background:#8252e8;color:white;box-shadow:2px 2px #171217}.lucky-web .rb-seat-number{background:#edff42;color:#171217;border:1px solid #171217;border-radius:50%}.lucky-web .rb-seat-name{font-size:12px}.lucky-web .rb-seat-status{font-size:10px;color:inherit}.lucky-web .rb-table{background:#8252e8;border:3px solid #171217;box-shadow:4px 4px #171217;border-radius:0;padding:15px;margin:14px 3px 18px 0}.lucky-web .rb-stage-head,.lucky-web .rb-phase,.lucky-web .rb-table .rb-eyebrow,.lucky-web .rb-questioner,.lucky-web .rb-progress,.lucky-web .rb-table .rb-caption{color:#fff6e3}.lucky-web .rb-questioner{font-weight:850;font-size:19px}.lucky-web .rb-question{color:white;font-size:24px;font-weight:900}.lucky-web .rb-heading{font-family:inherit;font-size:27px;font-weight:900;color:#edff42}.lucky-web .rb-empty-table{border:2px dashed #fff6e388;color:#fff6e3}.lucky-web .rb-table-cards{gap:7px;padding:14px 0}.lucky-web .rb-table-card{width:42px;height:61px}.lucky-web .rb-table-card .tt-center-rank{font-size:24px}.lucky-web .rb-table-card .tt-center-suit{font-size:16px}.lucky-web .rb-numbers{gap:7px}.lucky-web .rb-number{border:2px solid #171217;border-radius:0;background:#fff6e3;color:#171217;min-height:44px;font-size:17px}.lucky-web .rb-number.selected{background:#edff42;box-shadow:3px 3px #171217}.lucky-web .rb-main{margin-top:15px;background:#edff42!important;color:#171217!important}.lucky-web .rb-hand-panel{border:3px solid #171217;background:#fff6e3;border-radius:0;box-shadow:4px 4px #171217;padding:15px;margin:20px 3px 18px 0}.lucky-web .rb-hand-card{width:76px;height:108px}.lucky-web .rb-hand-card .tt-center-rank{font-size:37px}.lucky-web .rb-hand-card .tt-center-suit{font-size:23px}.lucky-web .rb-hand-card.selected{outline:3px solid #8252e8;outline-offset:3px}.lucky-web .rb-count{color:#edff42}.lucky-web .rb-count>span{font:900 68px Arial}.lucky-web .rb-penalty{color:#fff6e3}.lucky-web .rb-result{background:#fff6e3;border:2px solid #171217;border-radius:0;color:#171217;padding:10px;gap:6px}.lucky-web .rb-result-name{font-size:12px}.lucky-web .rb-loser{color:#b12d3d}.lucky-web .rb-profile{border-top:2px dashed #171217;color:#171217}
/* Same profile upload/crop/save workflow; the panel adopts the chosen visual identity. */
.lucky-web .web-profile-card{border:3px solid #171217;border-radius:0;background:#fff6e3;color:#171217;box-shadow:6px 6px #8252e8}.lucky-web .web-profile-heading{background:#8252e8;color:#fff6e3;border-bottom:3px solid #171217}.lucky-web .web-profile-heading h3{font-weight:900}.lucky-web .web-profile-close{border:2px solid #171217;background:#edff42;color:#171217;border-radius:0;min-height:40px}.lucky-web .web-profile-actions{border-top:2px solid #171217;background:#fff6e3}.lucky-web .web-profile-actions button{border:2px solid #171217;background:#8252e8;color:#fff6e3;border-radius:0;box-shadow:2px 2px #171217}.lucky-web .web-profile-actions .web-profile-cancel{background:#edff42;color:#171217}.lucky-web .web-avatar-preview{border:4px solid #171217;box-shadow:4px 4px #8252e8;background:#edff42}.lucky-web .web-profile-name-input{border:2px solid #171217!important;border-radius:0!important;color:#171217!important}.lucky-web .web-avatar-upload{border:2px solid #171217;background:#edff42;color:#171217;border-radius:0}.lucky-web .web-avatar-option{border:2px solid #171217;border-radius:50%;background:#fff6e3}.lucky-web .web-avatar-option.selected{background:#8252e8;border-color:#171217;box-shadow:3px 3px #171217}.lucky-web .web-avatar-option img{border-radius:50%}.lucky-web .web-profile-hint{color:#605369}.lucky-web .web-toast{background:#edff42;color:#171217;border:2px solid #171217;border-radius:0;box-shadow:4px 4px #8252e8;font-size:13px;font-weight:750}.lucky-web .room-win-surface{border-color:#171217!important}.lucky-web .room-loss-surface{border-color:#a33448!important}.lucky-web .room-seat-collapsed{min-height:45px}
@media(max-width:350px){.lucky-web .home-page{padding-left:12px!important;padding-right:12px!important}.lucky-slogan{font-size:26px}.lucky-word{font-size:30px}.lucky-web .room-hero .title{font-size:17px}.lucky-web .room-hero-actions .settings-button{min-width:32px;padding:0 5px;font-size:10px}.lucky-web .room-page{padding-left:10px!important;padding-right:10px!important}.lucky-web .tt-group-summary.lucky-member-card{grid-template-columns:24px minmax(0,1fr) auto auto;gap:5px}.lucky-web .tt-member-faces,.lucky-web .tt-member-faces .avatar{width:24px;height:24px}.lucky-web .tt-summary-cards{max-width:58px}.lucky-web .tt-group-summary>.tt-deal-button{width:44px;min-width:44px;max-width:44px}.lucky-web .tt-group-name{font-size:11px}.lucky-web .home-nav-item{font-size:10px}.lucky-web .game-type-card{min-height:112px}.lucky-web .game-type-name{font-size:13px}}
@media(prefers-reduced-motion:reduce){.lucky-web *, .lucky-web *:before,.lucky-web *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Remove the retired paper decoration; keep only LUCKY's fine print texture. */
.lucky-web .room-page:before,.lucky-web .home-page:before,.lucky-web .host-action:before,.lucky-web .identity-card:before,.lucky-web .panel:before{display:none}.lucky-web .room-page .room-hero .room-hero-actions .settings-button{border-radius:0;padding:0 7px;min-width:36px;min-height:42px;font-size:11px}.lucky-web .tt-public-actions{position:static;inset:auto;width:auto}.lucky-web .room-auto-center .tt-stage{margin:0;padding:10px}.lucky-web .room-auto-center .tt-stage-title{font-size:11px}.lucky-web .room-auto-center .tt-current-card{width:65px;height:91px}.lucky-web .room-auto-center .tt-card-stage{height:112px}.lucky-web .room-auto-center .tt-progress{font-size:9px}.lucky-web .room-auto-center .tt-stage-heading{flex-wrap:wrap}.lucky-web .room-auto-center .at-draft{margin-top:10px}.lucky-web .host-action{border:0;background:transparent;box-shadow:none;padding:0;margin:12px 0}.lucky-web .settings-grid,.lucky-web .manage-list{background:#fff6e3;border:2px solid #171217;border-radius:0;padding:12px}.lucky-web .list-item{border-color:#171217}.lucky-web .member-remove{border:2px solid #171217;background:#edff42;border-radius:0;min-height:42px;font-size:12px;color:#171217}
.lucky-web .room-hero{flex-direction:row;flex-wrap:nowrap}.lucky-web .room-hero-actions{flex-direction:row}.lucky-web .room-content>.panel{border:2px solid #171217;background:#fff6e3;border-radius:0;box-shadow:3px 3px #171217;padding:14px}.lucky-web .setting-block{border-color:#171217;padding:14px 0}.lucky-web .setting-title{font-weight:850;color:#171217}.lucky-web .segmented button{border:2px solid #171217;background:#edff42;color:#171217;border-radius:0;min-height:44px}.lucky-web .segmented button.active{background:#8252e8;color:white}.lucky-web input[type=checkbox]{accent-color:#8252e8;width:24px;height:24px;min-height:24px;flex:none}.lucky-web .role-item{border:2px solid #171217;border-radius:0;background:#fff6e3}.lucky-web .role-meta{border-top:2px solid #171217;background:#edff42}.lucky-web .role-name{color:#171217;font-weight:800}.lucky-web .role-art{background:#fff6e3}.lucky-web .waiting-title{font-family:inherit;font-weight:900;color:#171217}.lucky-web .waiting-copy{color:#51415b}
.lucky-web .home-page .panel:after,.lucky-web .home-page .section-title:before,.lucky-web .home-page .section-title:after,.lucky-web .home-page .game-type-card:before,.lucky-web .home-page .game-type-card:after,.lucky-web .home-page .create-button:before,.lucky-web .home-page .create-button:after{display:none}
.lucky-web .ms-actions,.lucky-web .mb-actions{max-width:454px}
/* Three-column mobile catalog and contextual create action. */
.lucky-web .home-page .game-type-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 10px;padding:3px}.lucky-web .home-page .game-type-grid>.game-type-card{min-height:108px;padding:12px 5px 10px;transform:rotate(-1deg);background:#fff6e3;color:#171217;border-style:solid;border-radius:0}.lucky-web .home-page .game-type-grid>.game-type-card:nth-child(3n+2){background:#b99aff;transform:rotate(1deg);border-radius:14px 3px 14px 3px}.lucky-web .home-page .game-type-grid>.game-type-card:nth-child(3n){background:#171217;color:#edff42;box-shadow:3px 3px #8252e8}.lucky-web .home-page .game-type-grid>.game-type-card:nth-child(7){background:#edff42;border-style:dashed}.lucky-web .home-page .game-type-grid>.game-type-card.selected{transform:none;outline:3px solid #8252e8;outline-offset:2px}.lucky-web .game-type-grid .game-type-name{font-size:13px;line-height:1.3}.lucky-web .game-type-grid .game-type-variant{font-size:10px}.lucky-web .game-type-grid .lucky-game-symbol{font-size:30px}.lucky-web .game-type-grid .lucky-game-index{width:18px;height:18px;font-size:10px;top:5px;right:5px}.lucky-web .home-create-tray{position:fixed;z-index:79;left:50%;bottom:calc(89px + env(safe-area-inset-bottom));width:calc(100% - 28px);max-width:452px;display:flex;align-items:center;gap:10px;background:#fff6e3;border:3px solid #171217;box-shadow:4px 4px #171217;padding:12px;transform:translate(-50%,150px);opacity:0;visibility:hidden;pointer-events:none;transition:transform .24s cubic-bezier(.2,.8,.2,1),opacity .18s,visibility .24s}.lucky-web .home-create-tray.open{transform:translate(-50%,0);opacity:1;visibility:visible;pointer-events:auto}.home-create-choice{flex:1;min-width:0}.home-create-choice>span{font-size:10px;color:#685079;display:block;margin-bottom:6px}.home-create-choice strong{font-size:14px;line-height:1.3;display:block;overflow-wrap:anywhere}.lucky-web .home-create-tray .create-button{width:auto;min-width:125px;margin:0;min-height:48px;flex-shrink:0;padding:10px 12px;font-size:14px;gap:8px}.lucky-web .home-page.has-create-tray{padding-bottom:calc(210px + env(safe-area-inset-bottom))!important}.lucky-web .lucky-home .lucky-poster{padding-top:22px;padding-bottom:17px;margin-bottom:24px}.lucky-web .lucky-home .lucky-poster-bottom{margin-top:13px}.lucky-web .lucky-home .lucky-slogan{font-size:27px}.lucky-web .lucky-home .lucky-star{width:63px;height:63px;font-size:10px}.lucky-web .lucky-home .lucky-word{font-size:36px}.lucky-web .lucky-home .lucky-mast{margin-bottom:16px}@media(max-width:350px){.lucky-web .home-page .game-type-grid{gap:10px 8px}.lucky-web .home-page .game-type-grid>.game-type-card{min-height:102px;padding-left:3px;padding-right:3px}.lucky-web .game-type-grid .game-type-name{font-size:12px}.lucky-web .game-type-grid .game-type-variant{font-size:9px}.home-create-choice strong{font-size:12px}.lucky-web .home-create-tray{padding:10px;gap:7px}.lucky-web .home-create-tray .create-button{min-width:112px;font-size:13px}.lucky-web .lucky-home .lucky-word{font-size:30px}}
/* Catalogue color rhythm follows columns, including after variant consolidation. */
.lucky-web .home-page .game-type-grid>.game-type-card:nth-child(3n+1){background:#fff6e3;color:#171217;border-style:solid;border-radius:0;box-shadow:3px 3px #171217}.lucky-web .home-page .game-type-grid>.game-type-card:nth-child(3n+2){background:#b99aff;color:#171217;border-style:solid;border-radius:14px 3px 14px 3px;box-shadow:3px 3px #171217}.lucky-web .home-page .game-type-grid>.game-type-card:nth-child(3n){background:#171217;color:#edff42;border-style:solid;border-radius:0;box-shadow:3px 3px #8252e8}
/* DrinkBuddy is the product; LET'S PLAY remains a small invitation sticker. */
.lucky-web .lucky-home .lucky-poster .drinkbuddy-wordmark{font-family:Arial,'Arial Black',sans-serif;font-size:clamp(52px,17.7vw,80px);font-weight:1000;letter-spacing:-3px;line-height:.95;white-space:nowrap;-webkit-text-stroke:1.5px #171217;text-shadow:3px 3px #171217}.lucky-web .lucky-home .drinkbuddy-wordmark>span{display:block;color:#edff42}.lucky-web .lucky-home .drinkbuddy-wordmark>span+span{color:#fff6e3}.lucky-web .lucky-home .lucky-poster .lucky-tape{font-size:10px}.lucky-web .lucky-home .lucky-poster-bottom{margin-top:15px}@media(max-width:350px){.lucky-web .lucky-home .lucky-poster .drinkbuddy-wordmark{font-size:53px;letter-spacing:-3px}.lucky-web .lucky-home .lucky-poster .lucky-tape{font-size:9px}}

/* In play, budget the actual viewport between the shared scene and controls. */
body{--play-top:0px}body.sim-mode{--play-top:25px}
body.lucky-web .room-page.active-play-shell{height:calc(100dvh - var(--play-top));min-height:0;max-height:calc(100dvh - var(--play-top));padding:40px 10px max(5px,env(safe-area-inset-bottom))!important;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}
.active-play-shell .room-exit-control{top:5px!important;left:10px;height:29px;min-height:29px;font-size:10px;box-shadow:2px 2px #171217}
.active-play-shell .lucky-room-brand{top:6px;font-size:20px}
.lucky-web .active-play-shell>.room-content{flex:1;min-height:0;display:flex;flex-direction:column;padding-bottom:0!important}
.lucky-web .active-play-shell .room-hero{flex:none;margin:0 0 5px;padding:0 0 5px;min-height:43px;border-bottom-width:2px}
.active-play-shell .room-kicker{display:none}.lucky-web .active-play-shell .room-hero .title{font-size:16px}.lucky-web .active-play-shell .room-hero .subtitle{font-size:9px;margin-top:2px}
.lucky-web .active-play-shell .room-hero .room-hero-actions .settings-button{min-height:34px;height:34px;min-width:34px;padding:0 5px;font-size:10px}
.active-play-shell .processing-notice{position:absolute;right:12px;top:7px;padding:4px;font-size:9px;z-index:8}
.active-play-shell .sync-notice:not(.processing-notice){flex:none;max-height:65px;overflow:auto;margin:0 0 4px;padding:5px}
.active-play-shell .hd-table,.active-play-shell .ms-table{display:flex;flex-direction:column;flex:1;min-height:0;padding:0;position:relative}
.active-play-shell .hd-table .hd-table-header{flex:none;min-height:27px;height:27px;margin:0;padding:0;gap:5px}.active-play-shell .hd-table-header>div:first-child{display:flex;gap:6px;align-items:center}.active-play-shell .hd-table-header .hd-kicker{font-size:10px}.active-play-shell .hd-table-header .hd-muted{font-size:9px}.active-play-shell .hd-table .hd-open-rules{width:auto;height:27px;min-height:27px;line-height:1;padding:3px 6px;font-size:10px;border-width:1px;box-shadow:none}
.active-play-shell .hd-ring{flex:1;min-height:210px;height:auto;margin:3px 6px 5px}.active-play-shell .hd-ring-felt{inset:27px 21px 24px}.active-play-shell .hd-ring-center{inset:60px 40px 55px}.active-play-shell .hd-ring-seat{width:66px;gap:1px}.active-play-shell .hd-ring-avatar{height:27px;width:27px}.active-play-shell .hd-ring-name{font-size:9px;max-width:66px}.active-play-shell .hd-ring-amount{font-size:10px}.active-play-shell .hd-ring-status{font-size:8px}.active-play-shell .hd-ring .hd-board-heading{margin-bottom:5px}.active-play-shell .hd-ring .hd-board-status{margin-top:6px;font-size:9px}
.hd-pocket{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff6e3;border:2px solid #171217;padding:5px 9px;flex:none;min-height:62px;box-sizing:border-box}.hd-pocket-copy{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:11px}.hd-pocket-copy .hd-kicker{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hd-pocket-preview{display:flex;align-items:center;gap:8px;flex:none;border:0;background:transparent;padding:0;margin:0;color:#6e3ac9;font-size:9px;min-height:48px}.hd-pocket-cards{display:flex;gap:5px}.hd-pocket-card{width:32px;height:45px}.hd-pocket-card .tt-poker{width:100%;height:100%;border:1px solid #171217;border-radius:2px}.hd-pocket-card .tt-center-rank{font-size:18px}.hd-pocket-card .tt-center-suit{font-size:12px}.hd-pocket-card .tt-corner{font-size:6px}.hd-pocket.zoomed .hd-pocket-cards{position:absolute;bottom:100%;right:0;z-index:12;padding:13px 20px;background:#fff6e3;border:3px solid #171217;box-shadow:3px 3px #171217}.hd-pocket.zoomed .hd-pocket-card{width:76px;height:108px}.hd-pocket.zoomed .tt-center-rank{font-size:36px}.hd-pocket.zoomed .tt-center-suit{font-size:24px}.hd-pocket.zoomed .tt-corner{font-size:12px}
.active-play-shell .hd-seat-details{position:absolute;left:4px;right:4px;top:35px;z-index:10;max-height:55%;overflow:auto;pointer-events:none}.active-play-shell .hd-seat-detail{pointer-events:auto;margin:3px;background:#fff6e3;box-shadow:3px 3px #171217}
.active-play-shell .hd-table .hd-actions{flex:none;position:relative;inset:auto;margin:5px 0 0;padding:5px 7px 7px;border:2px solid #171217;box-shadow:2px 2px #171217;max-width:none;width:100%;box-sizing:border-box}
.active-play-shell .hd-table .hd-turn-row{margin:0;height:23px}.active-play-shell .hd-table .room-actions-toggle{min-height:23px;padding:2px 4px;font-size:10px}.active-play-shell .hd-table .hd-turn{font-size:11px}.active-play-shell .hd-table .hd-draft-total{padding:2px 0 4px;border-bottom-width:1px;font-size:10px;min-height:30px}.active-play-shell .hd-table .hd-draft-total text{font-size:20px}.active-play-shell .hd-table .hd-draft-total button{min-height:28px;padding:3px 7px;font-size:10px}
.active-play-shell .hd-table .hd-action-grid{gap:5px;margin-top:5px}.active-play-shell .hd-table .hd-action-grid button{min-height:43px;padding:5px 2px;font-size:12px;box-shadow:1px 1px #171217}.active-play-shell .hd-table .hd-action-grid button text{font-size:8px;margin-top:2px}.active-play-shell .hd-table .hd-action-grid .hd-all-in{font-size:10px}
/* Shared-number scene stays visible while secondary information opens on demand. */
.active-play-shell .ms-table>.ms-heading{margin:1px 0 5px;min-height:24px}.active-play-shell .ms-table>.ms-heading>.ms-title{font-size:13px;padding:2px 6px}.active-play-shell .ms-table>.ms-heading>.ms-muted{font-size:9px;padding:2px 6px}
.active-play-shell .ms-board{flex:1;min-height:180px;margin:5px 3px 8px 0;padding:9px 11px;display:flex;flex-direction:column;justify-content:center}.active-play-shell .ms-board-tape{width:24px;height:24px;top:-10px;font-size:18px}.active-play-shell .ms-focus{flex:1;margin:5px 0;grid-template-columns:minmax(0,1fr) 90px}.active-play-shell .ms-number{font-size:clamp(72px,22vw,110px)}.active-play-shell .ms-vessel-row .dv-vessel{width:74px;height:91px}.active-play-shell .ms-vessel-row .dv-amount{font-size:28px}.active-play-shell .ms-recent{font-size:10px;min-height:14px;padding:2px 0}.active-play-shell .ms-status{margin-top:5px;padding:6px;font-size:11px}
.active-play-shell .ms-actions{position:relative;inset:auto;flex:none;width:100%;max-width:none;max-height:none;overflow:visible;margin:5px 0 0;padding:7px 9px;border:2px solid #171217;border-radius:10px 10px 0 0;box-shadow:2px 2px #171217;box-sizing:border-box}
.active-play-shell .ms-actions>.ms-heading{height:25px;font-size:11px}.active-play-shell .ms-actions .room-actions-toggle{min-height:25px;padding:3px 5px;font-size:10px}.active-play-shell .ms-options{margin-top:5px;gap:6px}.active-play-shell .ms-table .ms-options button{min-height:40px;padding:5px;font-size:12px}.active-play-shell .ms-table .ms-confirm{min-height:40px;margin-top:6px;padding:5px;font-size:12px}.active-play-shell .ms-pour{margin-top:5px;padding:4px 6px}.active-play-shell .ms-pour>div:first-child{line-height:20px}.active-play-shell .ms-pour .ms-options{margin-top:3px}
@media(max-height:620px){.active-play-shell .hd-ring{min-height:170px}.active-play-shell .hd-ring-avatar{width:22px;height:22px}.active-play-shell .hd-ring-status{display:none}.active-play-shell .hd-ring-center{inset:46px 40px}.active-play-shell .hd-ring .hd-board-slot{height:40px;width:29px;flex-basis:29px}.active-play-shell .hd-ring-name{font-size:8px}.active-play-shell .hd-pocket{min-height:51px;padding:3px 7px}.active-play-shell .hd-pocket-card{width:27px;height:38px}.active-play-shell .ms-board{min-height:150px}.active-play-shell .ms-focus{margin:2px 0}.active-play-shell .ms-vessel-row .dv-vessel{height:70px;width:62px}.active-play-shell .ms-number{font-size:70px}}
@media(max-height:480px){body.lucky-web .room-page.active-play-shell{height:auto;max-height:none;overflow:visible}.lucky-web .active-play-shell>.room-content{min-height:560px}}
.ms-details-toolbar{flex:none;display:flex;justify-content:flex-end;margin:0 2px 3px}.room-page .ms-table .ms-details-toggle{min-height:30px;padding:4px 10px;border:1px solid #171217;border-radius:0;box-shadow:1px 1px #171217;font-size:11px;background:#fff6e3}
.ms-details-mask{position:fixed;inset:0;z-index:105;background:#17121788;display:flex;align-items:flex-end;justify-content:center;padding:12px;box-sizing:border-box}.ms-details-drawer{width:100%;max-width:456px;max-height:75dvh;display:flex;flex-direction:column;border:3px solid #171217;background:#fff6e3;box-shadow:4px 4px #171217;border-radius:14px 14px 0 0;overflow:hidden}.ms-details-head{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;border-bottom:2px solid #171217;font-weight:900;font-size:14px}.room-page .ms-table .ms-details-close{min-height:36px;padding:6px 10px;background:#edff42;font-size:11px;border-radius:0;box-shadow:none}.ms-details-scroll{overflow-y:auto;min-height:0;padding:0 13px 14px;overscroll-behavior:contain}.ms-details-scroll .ms-panel{margin-top:12px}.ms-details-scroll .ms-seats{margin-top:12px}
body.lucky-web .room-page.active-play-shell .room-exit-control{top:5px!important;height:29px;min-height:29px;font-size:10px}
.active-play-shell .ms-table>.ms-heading{display:none}
.active-play-shell .ms-pour{display:flex;align-items:center;gap:8px}.active-play-shell .ms-pour>div:first-child{flex:0 0 88px;font-size:10px;line-height:1.4}.active-play-shell .ms-pour>.ms-options{flex:1;margin:0}.active-play-shell .ms-pour .ms-options button{min-width:0;font-size:11px}
@media(min-height:481px){#app:has(.active-play-shell){min-height:0}body:has(.active-play-shell){height:100dvh;min-height:0;overflow:hidden}}
.active-play-shell .hd-ring-dense .hd-ring-seat{gap:0}.active-play-shell .hd-ring-dense .hd-ring-avatar{width:23px;height:23px}.active-play-shell .hd-ring-dense .hd-ring-name{font-size:8px}.active-play-shell .hd-ring-dense .hd-ring-status{font-size:7px}
@media(max-height:620px){.active-play-shell .hd-ring-dense .hd-ring-seat{display:grid;grid-template-columns:19px minmax(0,1fr);width:67px;gap:1px;align-items:center}.active-play-shell .hd-ring-dense .hd-ring-avatar{width:19px;height:19px;grid-row:1/3}.active-play-shell .hd-ring-dense .hd-ring-name{font-size:7px;padding:1px}.active-play-shell .hd-ring-dense .hd-ring-amount{font-size:8px}.active-play-shell .hd-ring-dense .hd-dealer{width:10px;height:10px;font-size:7px;right:-3px}}
@media(min-height:621px) and (max-height:700px){.active-play-shell .hd-ring-dense .hd-ring-status{display:none}}

/* Holdem settlement only; does not affect the table, personal hand or actions. */
.hd-table .hd-results.lucky-settlement{padding:18px 14px;margin:22px 0;background:#fff6df}
.lucky-settlement .settlement-heading{padding:0 2px 16px;font-size:22px!important;font-weight:900;line-height:1.3}
.hd-table .lucky-settlement .settlement-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 9px;margin:0 0 8px;min-height:78px;box-sizing:border-box;overflow:hidden}
.lucky-settlement .settlement-row>.settlement-person{display:flex;align-items:center;gap:12px;flex:1 1 0;min-width:0}
.lucky-settlement .settlement-avatar{display:block;flex:0 0 39px;width:39px;height:39px;border:2px solid #171217;border-radius:50%;object-fit:cover;overflow:hidden;box-sizing:border-box;background:#edff42}
.lucky-settlement .settlement-initial{display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:900;color:#171217}
.lucky-settlement .settlement-copy{flex:1;min-width:0}
.lucky-settlement .settlement-name{font-size:14px;font-weight:800;line-height:1.45;overflow-wrap:anywhere}
.hd-table .lucky-settlement .settlement-hand{margin-top:5px;font-size:11px;line-height:1.5;color:#61516c;overflow-wrap:anywhere}
.lucky-settlement .settlement-row>.settlement-amount{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;min-width:74px;max-width:45%;font-size:14px;font-weight:900;line-height:1.5;color:#9b3635;text-align:right;overflow-wrap:anywhere}
.lucky-settlement .settlement-amount .hd-win-badge{margin:0;flex:0 0 auto}
.lucky-settlement .settlement-waiting{padding:13px 2px 0;line-height:1.6}
@media(max-width:350px){.hd-table .hd-results.lucky-settlement{padding:15px 10px}.hd-table .lucky-settlement .settlement-row{gap:10px;padding:15px 7px}.lucky-settlement .settlement-row>.settlement-person{gap:8px}.lucky-settlement .settlement-avatar{width:34px;height:34px;flex-basis:34px}.lucky-settlement .settlement-name{font-size:12px}.lucky-settlement .settlement-row>.settlement-amount{font-size:12px;min-width:66px}.hd-table .lucky-settlement .settlement-hand{font-size:10px}}

/* A quiet face: corner suits identify the card, the centre only shows its rank. */
.lucky-web .tt-poker .tt-center-suit{display:none!important}
.lucky-web .tt-poker:not(.back) .tt-center-rank{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);line-height:1;margin:0;flex:none}
.lucky-web .tt-summary-card .tt-corner{display:flex;font-size:6px;line-height:1}.lucky-web .tt-summary-card .tt-corner.top{top:3px;left:3px}.lucky-web .tt-summary-card .tt-corner.bottom{bottom:3px;right:3px}
/* Compact, readable outcome stickers live inside the row, above its effects. */
.lucky-web .tt-outcome-badge.lucky-outcome,.lucky-web .tt-group.outcome-exact .tt-group-title-line>.tt-outcome-badge.lucky-outcome,.lucky-web .tt-my-status .tt-outcome-badge.lucky-outcome{position:relative;inset:auto;display:inline-flex;align-items:center;justify-content:center;flex:none;width:auto;height:auto;min-height:24px;margin:0;padding:3px 7px;font:900 11px/1.3 Arial;border:2px solid #171217;border-radius:0;background:#edff42;color:#171217;box-shadow:2px 2px #8252e8;transform:none;z-index:4;white-space:nowrap;overflow:hidden}
.lucky-web .tt-outcome-badge.lucky-outcome.exact::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 15%,#fff9 48%,transparent 80%);animation:room-win-glint 3.4s infinite}
.lucky-web .tt-outcome-badge.lucky-outcome.busted{background:#ffb8a7;box-shadow:2px 2px #171217;color:#742436}
.lucky-web .tt-group.outcome-exact,.lucky-web .tt-group.mine.outcome-exact{margin:10px 0;padding:10px;border:2px solid #171217;background:#fff4b5;box-shadow:3px 3px #8252e8}
.lucky-web .tt-outcome-notice{min-height:0;padding:12px;gap:10px}.lucky-web .tt-outcome-notice .lucky-outcome{font-size:14px;padding:8px}.lucky-web .tt-outcome-notice .tt-notice-name{font-size:14px;max-height:none}.lucky-web .tt-outcome-notice .tt-notice-total{font-size:16px}
/* The entire small-card hand wraps below the member name rather than being clipped. */
.lucky-web .tt-group-summary.lucky-member-card{grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:0}.lucky-web .tt-group-summary>.tt-deal-button{grid-column:3;grid-row:1}.lucky-web .tt-group-info{grid-column:2;min-width:0}.lucky-web .tt-group-title-line{flex-wrap:wrap;gap:5px}.lucky-web .tt-group-name{white-space:normal;overflow-wrap:anywhere;text-overflow:clip;line-height:1.45}.lucky-web .tt-summary-cards{grid-column:1/-1;width:100%;max-width:none;overflow:visible;white-space:normal;min-height:0;height:auto;padding:2px 0 3px}.lucky-web .tt-summary-card-row{display:flex;flex-wrap:wrap;gap:7px;padding:3px 2px}.lucky-web .tt-summary-card{width:32px;height:45px;margin:0;flex:0 0 32px}.lucky-web .tt-summary-card .tt-poker{width:100%;height:100%;display:block}.lucky-web .tt-summary-card .tt-center-rank{font-size:20px}
/* Own hand: two compact header rows, then only the height the real cards need. */
.lucky-web .tt-my-hand{padding:9px 10px;margin:12px 2px 14px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px}.lucky-web .tt-my-hand>.tt-section-head{grid-column:1;margin:0;gap:7px;display:flex;align-items:center}.lucky-web .tt-my-hand .tt-eyebrow{font-size:10px}.lucky-web .tt-my-total{font-size:22px;line-height:1.15}.lucky-web .tt-my-hand .tt-my-status{font-size:11px;margin-left:auto}.lucky-web .tt-my-hand>.room-hand-toggle{grid-column:2;grid-row:1;min-height:35px;padding:3px;font-size:10px;width:auto;align-self:start}.lucky-web .tt-my-hand .tt-hand-scroll,.lucky-web .tt-other-hand{height:auto;min-height:0;max-height:none;padding:0 0 5px;grid-column:1/-1}.lucky-web .tt-my-hand .tt-hand-row,.lucky-web .tt-other-hand .tt-hand-row{padding:6px 3px 3px;min-height:0;align-items:flex-start}.lucky-web .tt-my-hand .tt-hand-card,.lucky-web .tt-other-hand .tt-hand-card{width:48px;height:68px;margin:0 7px 17px 0}.lucky-web .tt-my-hand .tt-hand-row.stacked .tt-hand-card:not(:last-child){margin-right:-12px;transform:none}.lucky-web .tt-my-hand .tt-center-rank{font-size:27px}.lucky-web .tt-my-hand .tt-corner{font-size:8px}.lucky-web .tt-my-hand .tt-card-label{font-size:9px}.lucky-web .tt-my-hand>.tt-spread-button{grid-column:1/-1;min-height:27px;font-size:10px;padding:3px}.lucky-web .tt-my-hand>.tt-hand-waiting{grid-column:1/-1;padding:8px;font-size:11px}
/* Bidding is an optional bottom drawer; its collapsed bar remains reachable. */
.lucky-web .auto-ten-room .at-draft{position:fixed;left:10px;right:10px;bottom:0;width:auto;max-width:456px;margin:0 auto;z-index:35;padding:8px 10px max(8px,env(safe-area-inset-bottom));border:3px solid #171217;border-radius:12px 12px 0 0;background:#fff6e3;box-shadow:0 -3px #171217;max-height:52dvh;overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box}
.lucky-web .auto-ten-room .at-draft-total{text-align:left;margin:0;font-size:12px;line-height:35px}.lucky-web .auto-ten-room .at-draft-total>span{font-size:22px}.lucky-web .auto-ten-room .at-draft .room-actions-toggle{float:right;width:auto;min-height:35px;padding:5px 7px;font-size:12px;color:#6e3ac9}.lucky-web .auto-ten-room .at-draft-caption{font-size:10px;margin:0 0 5px}.lucky-web .auto-ten-room .at-additions,.lucky-web .auto-ten-room .at-more,.lucky-web .auto-ten-room .at-operations{gap:5px;margin:6px 0}.lucky-web .auto-ten-room .at-draft button{min-height:37px;padding:5px;font-size:12px;border-width:2px;box-shadow:2px 2px #171217}.lucky-web .auto-ten-room .at-draft>.at-submit{min-height:40px;margin-top:6px;font-size:13px}.lucky-web .auto-ten-room .room-auto-center{gap:8px;margin-bottom:10px}.lucky-web .auto-ten-room .at-public-stage{padding:9px}.lucky-web .auto-ten-room .at-countdown{font-size:44px;line-height:1.05}.lucky-web .auto-ten-room .at-highest{margin:5px 0;gap:4px}.lucky-web .auto-ten-room .at-name{font-size:11px}.lucky-web .auto-ten-room .at-amount{font-size:21px}.lucky-web .auto-ten-room .at-track{margin:6px 0;height:6px}.lucky-web .auto-ten-room .at-caption{font-size:10px}.lucky-web .auto-ten-room .tt-card-stage{height:85px}.lucky-web .auto-ten-room .tt-current-card{width:51px;height:73px}.lucky-web .auto-ten-room .tt-current-card .tt-center-rank{font-size:31px}.lucky-web .auto-ten-room .tt-current-card .tt-corner{font-size:9px}.lucky-web .auto-ten-room .tt-stage-heading{margin-bottom:5px}.lucky-web .auto-ten-room .room-hero .title{font-size:16px}
@media(prefers-reduced-motion:reduce){.lucky-web .lucky-outcome::after{animation:none!important}}
.lucky-web .hd-mini-cards .tt-poker:not(.back) .tt-corner,.lucky-web .dr-best-card .tt-poker:not(.back) .tt-corner{display:flex;font-size:5px;line-height:1}.lucky-web .hd-mini-cards .tt-corner.top,.lucky-web .dr-best-card .tt-corner.top{top:2px;left:2px}.lucky-web .hd-mini-cards .tt-corner.bottom,.lucky-web .dr-best-card .tt-corner.bottom{bottom:2px;right:2px}
.lucky-web .auto-ten-room .at-draft.is-open{animation:at-drawer-rise .18s ease-out}.lucky-web .auto-ten-room .at-draft::before{content:'';display:block;width:28px;height:3px;background:#171217;border-radius:2px;margin:0 auto 2px}@keyframes at-drawer-rise{from{transform:translateY(15px);opacity:.7}to{transform:none;opacity:1}}
body.lucky-web .room-page.auction-active{padding-top:40px!important}.lucky-web .auction-active .room-exit-control{top:5px!important;min-height:29px;height:29px;font-size:10px}.auction-active .lucky-room-brand{top:6px;font-size:20px}.lucky-web .auction-active .room-kicker{display:none}.lucky-web .auction-active .room-hero{min-height:43px;margin-bottom:7px;padding-bottom:5px;border-bottom-width:2px}.lucky-web .auction-active .room-hero .title{font-size:15px}.lucky-web .auction-active .room-hero .subtitle{font-size:9px;margin-top:2px}.lucky-web .auction-active .room-hero .room-hero-actions .settings-button{min-height:34px;height:34px;font-size:10px;padding:0 5px}
.lucky-web .tt-results .tt-result-heading{font-size:26px;margin:4px 0 8px}.lucky-web .tt-results>.tt-eyebrow,.lucky-web .tt-results>.tt-caption{font-size:10px;color:#fff6e3}.lucky-web .tt-results .tt-result-row{display:grid;grid-template-columns:32px minmax(0,1fr) 38px;gap:5px 8px;padding:11px;min-height:70px}.lucky-web .tt-result-avatar{grid-column:1;grid-row:1/3;width:32px;height:32px;border:1px solid #171217;border-radius:50%;object-fit:cover;background:#edff42}.lucky-web .tt-result-initial{display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900}.lucky-web .tt-results .tt-rank{grid-column:3;grid-row:1;width:auto;font-size:16px;white-space:nowrap;text-align:right;align-self:start}.lucky-web .tt-results .tt-result-name{grid-column:2;grid-row:1;font-size:12px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}.lucky-web .tt-results .tt-result-outcome{grid-column:2/4;grid-row:2;display:flex;flex-wrap:wrap;gap:7px;max-width:none;min-width:0;text-align:left}.lucky-web .tt-results .tt-result-outcome>span{white-space:nowrap;font-size:11px;min-width:0}.lucky-web .tt-results .tt-result-outcome .lucky-outcome{font-size:9px;min-height:21px;padding:2px 5px}
.lucky-web .tt-results .tt-result-row{opacity:1!important;animation:none!important}
/* Public card and winning bid are peers; the timer is a small status badge. */
.lucky-web .auto-ten-room .room-auto-center{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:9px;align-items:stretch}.lucky-web .auto-ten-room .room-auto-center .tt-stage{min-height:185px;display:flex;flex-direction:column;justify-content:center;padding:11px 8px}.lucky-web .auto-ten-room .room-auto-center .tt-card-stage{height:117px;flex:none}.lucky-web .auto-ten-room .room-auto-center .tt-current-card{width:71px;height:100px}.lucky-web .auto-ten-room .room-auto-center .tt-current-card .tt-center-rank{font-size:40px}.lucky-web .auto-ten-room .room-auto-center .tt-current-card .tt-corner{font-size:10px}.lucky-web .auto-ten-room .room-auto-center .at-public-stage{justify-content:flex-start;padding:12px 9px;min-height:185px;box-sizing:border-box}.lucky-web .auto-ten-room .at-public-stage>.at-caption{font-size:11px;line-height:1.4;text-align:left}.lucky-web .auto-ten-room .at-highest{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px;margin:12px 0 10px;min-width:0}.lucky-web .auto-ten-room .at-name{display:block;flex:0 0 100%;width:100%;max-width:100%;font-size:15px;font-weight:900;line-height:1.4;white-space:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip;text-align:left;color:#fff6df}.lucky-web .auto-ten-room .at-amount{font-size:40px;line-height:1.1;font-weight:1000;color:#edff42;letter-spacing:-1px;overflow-wrap:anywhere}.lucky-web .auto-ten-room .at-unit{font-size:14px;margin-left:4px;letter-spacing:0}.lucky-web .auto-ten-room .at-choice{font-size:15px;font-weight:900;padding:6px 8px;border-width:2px;line-height:1.1;transform:rotate(-3deg)}.lucky-web .auto-ten-room .at-timer-block{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px 8px;padding:7px 0 0;margin-top:auto;border-top:1px solid #ffffff40}.lucky-web .auto-ten-room .at-timer-block .at-countdown{grid-row:1/3;font-size:24px;line-height:1.2;letter-spacing:-1px;text-shadow:1px 1px #171217;white-space:nowrap}.lucky-web .auto-ten-room .at-countdown>span{font-size:10px;margin-left:3px;letter-spacing:0}.lucky-web .auto-ten-room .at-timer-block .at-track{margin:0;height:4px;border-width:1px;grid-column:2;grid-row:1}.lucky-web .auto-ten-room .at-timer-block>.at-caption{font-size:9px;line-height:1.2;text-align:left;grid-column:2;grid-row:2;color:#fff6df}.lucky-web .auto-ten-room .at-empty{font-size:18px;line-height:1.4;padding:25px 0;font-weight:900}.lucky-web .auto-ten-room .at-drink{font-size:12px;margin-top:9px;line-height:1.5}.lucky-web .auto-ten-room .at-drink .at-submit{font-size:11px;line-height:1.4;min-height:42px;margin-top:9px;padding:7px}.lucky-web .auto-ten-room .room-auto-center .tt-stage-title{font-size:11px}@media(max-width:350px){.lucky-web .auto-ten-room .room-auto-center{gap:7px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.lucky-web .auto-ten-room .room-auto-center .tt-stage,.lucky-web .auto-ten-room .room-auto-center .at-public-stage{min-height:172px;padding:9px 7px}.lucky-web .auto-ten-room .at-name{font-size:13px}.lucky-web .auto-ten-room .at-amount{font-size:33px}.lucky-web .auto-ten-room .at-choice{font-size:13px;padding:5px 6px}.lucky-web .auto-ten-room .room-auto-center .tt-current-card{width:64px;height:90px}.lucky-web .auto-ten-room .room-auto-center .tt-card-stage{height:105px}.lucky-web .auto-ten-room .at-timer-block .at-countdown{font-size:22px}}

/* Ordinary minesweeper: compact counter, persistent turn order, two-step +3. */
.lucky-web .active-play-shell .ms-table{gap:0;overflow:hidden}
.lucky-web .active-play-shell .ms-board{flex:0 0 auto;min-height:0;height:auto;margin:5px 3px 10px 0;padding:10px 12px;justify-content:flex-start}
.lucky-web .active-play-shell .ms-board>.ms-heading{font-size:10px;min-height:23px}
.lucky-web .active-play-shell .ms-focus{flex:none;min-height:0;grid-template-columns:minmax(0,1fr) 85px;margin:6px 0;gap:14px}
.lucky-web .active-play-shell .ms-count-stage{text-align:center}
.lucky-web .active-play-shell .ms-number{font-size:84px;line-height:.95;letter-spacing:-5px}
.lucky-web .active-play-shell .ms-vessel-row{gap:4px}
.lucky-web .active-play-shell .ms-vessel-row>.ms-muted{font-size:8px}
.lucky-web .active-play-shell .ms-vessel-row .dv-vessel{width:64px;height:73px;border-width:2px;border-top-width:4px;border-radius:6px 6px 18px 18px;box-shadow:3px 3px #171217}
.lucky-web .active-play-shell .ms-vessel-row .dv-amount{font-size:29px;letter-spacing:-1px}
.lucky-web .active-play-shell .ms-vessel-row .dv-number.dv-number-long>.dv-amount{font-size:17px}
.lucky-web .active-play-shell .ms-vessel-row .dv-number.dv-number-medium>.dv-amount{font-size:23px}
.lucky-web .active-play-shell .ms-vessel-row .dv-cap{font-size:8px;margin-top:3px}
.lucky-web .active-play-shell .ms-status{margin-top:6px;padding:6px 8px;font-size:10px}
.lucky-web .active-play-shell .ms-recent{margin-top:4px;min-height:0;padding:0;font-size:9px;line-height:1.35}
.ms-turn-order{position:relative;min-height:0;margin:2px 0 6px}
.ms-order-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 6px;font-size:10px;font-weight:850;color:#46344f}
.ms-order-head>span:last-child{font-size:9px;color:#8252e8}
.ms-turn-order .ms-seats{margin:0 2px 0 0;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}
.ms-turn-order .ms-seat{min-height:44px;padding:6px 7px;gap:3px;box-shadow:1px 2px #171217;border-radius:5px;border-width:1.5px;font-size:11px;display:flex;flex-direction:column}
.ms-turn-order .ms-seat-name{display:flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap;min-width:0}
.ms-turn-order .ms-seat-order{display:inline-flex;align-items:center;justify-content:center;flex:0 0 19px;width:19px;height:19px;background:#171217;color:#edff42;border-radius:50%;font:900 10px/1 Arial,sans-serif}
.ms-turn-order .ms-seat.ms-acting{background:#edff42;box-shadow:2px 2px #8252e8}
.ms-turn-order .ms-seat.ms-acting .ms-seat-order{background:#8252e8;color:white}
.ms-turn-order .ms-seat>.ms-muted{font-size:8px;padding-left:24px;min-height:11px;line-height:1.2}
.lucky-web .active-play-shell .ms-turn-order{flex:1 1 auto;min-height:68px;max-height:none;display:flex;flex-direction:column;overflow:hidden}
.lucky-web .active-play-shell .ms-turn-order .ms-seats{flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:3px;padding-bottom:3px;align-content:start}
.lucky-web .active-play-shell .ms-details-toolbar{margin:2px 2px 4px;flex:none}
.lucky-web .active-play-shell .ms-details-toggle{font-size:10px;min-height:28px;padding:3px 9px;line-height:1.2}
.lucky-web .active-play-shell .ms-actions{flex:none;margin-top:3px;padding:7px 9px 8px}
.lucky-web .active-play-shell .ms-actions>.ms-heading{height:23px;font-size:10px}
.lucky-web .active-play-shell .ms-count-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) .75fr;gap:7px;margin-top:6px}
.lucky-web .active-play-shell .ms-count-options button.ms-count-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:58px;padding:6px;border-width:2px;border-radius:7px;box-shadow:2px 2px #171217}
.ms-count-target{font-family:'Arial Black',Impact,sans-serif;font-size:29px;font-weight:1000;line-height:1;letter-spacing:-1px}
.ms-count-increment{font:700 9px/1.2 Arial,'PingFang SC',sans-serif;color:#786e7b}
.ms-selected .ms-count-increment{color:#171217}
.lucky-web .active-play-shell .ms-count-options .ms-pass-option{min-height:58px;font-size:12px;border:2px solid #171217;background:#eee4d2;border-radius:7px;box-shadow:2px 2px #171217}
.lucky-web .active-play-shell .ms-table .ms-confirm{min-height:39px;margin-top:8px;font-size:13px;font-weight:900}
.ms-effect-mask{position:fixed;inset:0;z-index:950;background:#17121799;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}
.ms-effect-dialog{width:min(100%,360px);max-height:calc(100dvh - 70px);overflow-y:auto;overscroll-behavior:contain;background:#fff6e3;color:#171217;border:3px solid #171217;border-radius:8px 22px 8px 22px;box-shadow:6px 6px #171217;padding:17px;box-sizing:border-box;animation:mine-step-enter .22s ease-out both}
.ms-effect-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px}
.ms-effect-header>div{display:flex;align-items:center;gap:10px}
.ms-effect-caption{font-size:15px;font-weight:900}
.ms-effect-count{font-family:'Arial Black',Impact,sans-serif;font-size:43px;font-weight:1000;line-height:1;color:#8252e8;letter-spacing:-2px}
.room-page .ms-table .ms-effect-close{flex:0 0 34px;width:34px;height:34px;min-height:34px;padding:0;display:flex;align-items:center;justify-content:center;border:2px solid #171217;border-radius:50%;background:#edff42;color:#171217;font:700 25px/1 Arial,sans-serif;box-shadow:2px 2px #171217}
.ms-effect-dialog .ms-effect-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:0}
.room-page .ms-table .ms-effect-options button{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;min-height:95px;border:2px solid #171217;background:#fff9ee;border-radius:8px;box-shadow:3px 3px #171217;font-size:16px;padding:12px 8px}
.room-page .ms-table .ms-effect-options button.ms-selected{background:#edff42;box-shadow:3px 3px #8252e8}
.ms-effect-symbol{font:900 36px/1 Arial,sans-serif;color:#8252e8}
.ms-effect-pour{margin-top:19px;border:2px dashed #171217;padding:11px;background:#edff4244}
.ms-effect-pour-total{display:flex;justify-content:space-between;align-items:center;gap:7px;flex-wrap:wrap;font-size:10px;font-weight:800}
.ms-effect-pour-total>span:first-child>span{font-size:24px;font-weight:1000;color:#8252e8;margin-left:4px}
.ms-effect-pour-total>span:last-child{font-size:9px;color:#716177}
.ms-effect-dialog .ms-options{gap:7px;margin-top:10px}
.room-page .ms-table .ms-effect-pour button{min-height:42px;padding:8px;font-size:15px;border:2px solid #171217;box-shadow:2px 2px #171217;background:#fff6e3;border-radius:5px;flex:1}
.ms-effect-footer{display:flex;gap:10px;margin:20px 2px 3px 0}
.room-page .ms-table .ms-effect-footer button{min-height:43px;margin:0;padding:10px 8px;border:2px solid #171217;border-radius:7px;font-size:13px;box-shadow:3px 3px #171217}
.room-page .ms-table .ms-effect-footer .ms-effect-cancel{flex:0 0 68px;background:#eee1cb;color:#171217}
.room-page .ms-table .ms-effect-footer .ms-effect-submit{flex:1;background:#8252e8;color:white}
@keyframes mine-step-enter{from{opacity:0;transform:translateY(10px) scale(.92) rotate(-2deg)}to{opacity:1;transform:none}}
@media(max-height:700px){.lucky-web .active-play-shell .ms-board{padding:8px 10px;margin-bottom:7px}.lucky-web .active-play-shell .ms-focus{margin:3px 0}.lucky-web .active-play-shell .ms-number{font-size:66px}.lucky-web .active-play-shell .ms-vessel-row .dv-vessel{width:56px;height:63px}.lucky-web .active-play-shell .ms-vessel-row .dv-amount{font-size:25px}.lucky-web .active-play-shell .ms-status{padding:4px 6px;margin-top:5px;font-size:9px}.lucky-web .active-play-shell .ms-turn-order .ms-seat{min-height:37px;padding:4px 6px;gap:1px}.lucky-web .active-play-shell .ms-seat-order{height:16px;width:16px;flex-basis:16px;font-size:9px}.lucky-web .active-play-shell .ms-seat>.ms-muted{padding-left:21px;font-size:7px}.lucky-web .active-play-shell .ms-count-options button.ms-count-option,.lucky-web .active-play-shell .ms-count-options .ms-pass-option{min-height:53px}.lucky-web .active-play-shell .ms-count-target{font-size:27px}.lucky-web .active-play-shell .ms-actions>.ms-heading{height:21px}.lucky-web .active-play-shell .ms-table .ms-confirm{min-height:36px;margin-top:6px}}
@media(max-width:350px){.lucky-web .active-play-shell .ms-focus{grid-template-columns:minmax(0,1fr) 68px;gap:9px}.ms-turn-order .ms-seat-name{font-size:9px;gap:4px}.ms-order-head{font-size:9px}.ms-effect-mask{padding:14px}.ms-effect-dialog{padding:14px}.ms-effect-count{font-size:37px}.room-page .ms-table .ms-effect-options button{min-height:85px;font-size:14px}.ms-effect-symbol{font-size:30px}.ms-effect-dialog .ms-effect-options{gap:9px}}
@media(prefers-reduced-motion:reduce){.ms-effect-dialog{animation:none}}
@media(max-height:620px){.lucky-web .active-play-shell .ms-board{padding:6px 9px;margin-bottom:5px}.lucky-web .active-play-shell .ms-board>.ms-heading{min-height:18px}.lucky-web .active-play-shell .ms-focus{margin:2px 0}.lucky-web .active-play-shell .ms-number{font-size:52px}.lucky-web .active-play-shell .ms-vessel-row{gap:2px}.lucky-web .active-play-shell .ms-vessel-row .dv-vessel{width:47px;height:45px;border-top-width:3px}.lucky-web .active-play-shell .ms-vessel-row .dv-amount{font-size:20px}.lucky-web .active-play-shell .ms-vessel-row .dv-cap{font-size:7px;margin-top:0}.lucky-web .active-play-shell .ms-recent{font-size:8px;margin-top:2px}}

/* Seat numbers describe server seating order, never bid/guess arrival order. */
.seat-order-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:19px;height:19px;padding:0 3px;margin-right:5px;border:1.5px solid #171217;background:#edff42;color:#171217;font:900 11px/1 Arial,sans-serif;box-sizing:border-box;vertical-align:middle;border-radius:3px;white-space:nowrap}
.hd-ring-avatar .hd-seat-order{position:absolute;left:-12px;top:-7px;right:auto;bottom:auto;z-index:3;margin:0;width:19px;height:19px;font:900 11px/1 Arial,sans-serif;border-radius:3px;background:#171217;color:#edff42;border:1px solid #edff42}
.lobby-member .lobby-seat-order{margin-right:1px;align-self:center}
.dr-seat .seat-order-badge,.dr-own-card .seat-order-badge{min-width:18px;height:18px;font-size:10px}
.mb-member-label .seat-order-badge{margin-right:0;min-width:20px;height:20px}
.rb-seat .seat-order-badge{min-width:18px;height:18px;font-size:10px}
@media(max-width:350px){.lobby-member .lobby-seat-order{min-width:17px;height:17px;font-size:10px;margin-right:0}.hd-ring-avatar .hd-seat-order{left:-10px;top:-6px}}

.hosted-mode-panel,.hosted-public,.hosted-hand{border:3px solid #171217;background:#fff6e3;padding:13px;margin:12px 0;box-shadow:3px 3px #171217}.hosted-title{font-weight:900;font-size:16px;margin-bottom:10px}.hosted-title>span{font-size:11px;color:#8252e8}.hosted-mode-options{display:flex;gap:8px}.hosted-mode-options button{flex:1;min-height:43px;border:2px solid #171217;background:#fff6e3;font-size:14px}.hosted-mode-options .selected,.hosted-picker-list .selected{background:#8252e8;color:white}.hosted-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;font-weight:800}.hosted-heading button{min-height:36px;background:#fff6e3;border:1px solid #171217;font-size:11px}.hosted-cards{display:flex;align-items:center;justify-content:center;gap:8px;min-height:65px;padding:8px 0}.hosted-card{width:65px;height:94px;flex:0 1 65px;min-width:0}.hosted-card .tt-center-rank{font-size:33px}.hosted-card .tt-corner{font-size:10px}.hosted-members{margin:15px 0}.hosted-person{display:flex;align-items:center;gap:8px;border-bottom:1px dashed #171217;padding:10px 3px;flex-wrap:wrap}.hosted-avatar{width:30px;height:30px;border-radius:50%;border:1px solid #171217}.hosted-person-name{flex:1;min-width:70px;overflow-wrap:anywhere;font-size:12px}.hosted-person-name>span{margin-left:6px;color:#8252e8;font-weight:900}.hosted-person button{min-height:36px;background:#8252e8;color:white;border:2px solid #171217;font-size:12px}.hosted-small-cards{display:flex;gap:5px}.hosted-small-cards>div{width:37px;height:53px}.hosted-small-cards .tt-center-rank{font-size:24px}.hosted-small-cards .tt-corner{font-size:6px}.hosted-controls{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.hosted-controls button{min-height:43px;flex:1;padding:8px;border:2px solid #171217;background:#fff6e3;font-size:13px;font-weight:850}.hosted-controls .primary,.hosted-confirm{background:#8252e8;color:white}.hosted-mask{position:fixed;inset:0;background:#17121799;z-index:110;display:grid;place-items:center;padding:18px}.hosted-picker{width:100%;max-width:390px;padding:16px;background:#fff6e3;border:3px solid #171217;box-shadow:5px 5px #171217;max-height:85dvh;overflow:auto}.hosted-picker-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.hosted-picker-list button{min-height:44px;border:2px solid #171217;font-size:12px;overflow-wrap:anywhere;background:#edff42;padding:6px}.hosted-picker-list button.selected{background:#8252e8}.hosted-confirm{width:100%;min-height:44px;border:2px solid #171217;font-weight:900}.lucky-web .rb-order-scroll{overflow:visible}.lucky-web .rb-seats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));white-space:normal}.lucky-web .rb-seat{min-width:0;display:grid;grid-template-columns:22px minmax(0,1fr);gap:5px;padding:9px}.lucky-web .rb-seat-name{white-space:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip}.lucky-web .rb-seat-status{grid-column:2}.lucky-web .rb-order .rb-eyebrow{color:#171217;font-size:12px;margin-bottom:8px}
.hosted-poker .hd-ring{height:290px;margin:8px 0 12px}.hosted-poker .hd-ring-center{inset:80px 42px 68px}.hosted-poker .hosted-hand{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px}.hosted-poker .hosted-hand .hosted-title{font-size:13px;margin:0}.hosted-poker .hosted-hand .hosted-card{width:40px;height:57px;flex-basis:40px}.hosted-poker .hosted-hand .tt-center-rank{font-size:26px}.hosted-poker .hosted-hand .tt-corner{font-size:6px}.hosted-poker .hosted-cards{min-height:0;padding:0}.hosted-poker .hosted-controls{position:sticky;bottom:8px;z-index:9;padding:8px;background:#fff6e3;border:2px solid #171217}.rb-seat-number{width:20px!important;height:20px!important;display:flex!important;align-items:center;justify-content:center;padding:0!important;line-height:1!important;flex:none}
.hosted-poker .hd-seat-number{position:absolute;left:-6px;top:-5px;width:15px;height:15px;border-radius:50%;background:#edff42;border:1px solid #171217;color:#171217;display:flex;align-items:center;justify-content:center;font:900 9px Arial;z-index:3}

/* Horizontal table stays shallow on tall phones, leaving space for hands and actions. */
.lucky-web .hd-table .hd-ring,.lucky-web .hosted-poker .hd-ring{flex:0 0 248px;height:248px;min-height:248px;max-height:248px;margin:8px 5px 10px}
.lucky-web .hd-ring .hd-ring-felt{inset:32px 15px;border-radius:50%}.lucky-web .hd-ring .hd-ring-stitch{inset:10px;border-radius:50%;transform:none}.lucky-web .hd-ring .hd-ring-center{inset:76px 55px;display:flex;align-items:center;justify-content:center}
.lucky-web .hd-ring .hd-ring-seat{display:flex;flex-direction:column;align-items:center;width:68px;gap:1px}.lucky-web .hd-ring .hd-ring-avatar{width:40px;height:40px;flex:none;grid-row:auto}.lucky-web .hd-ring .hd-ring-name{font-size:9px;line-height:1.25;max-width:68px;padding:1px 3px}.lucky-web .hd-ring .hd-ring-amount{font-size:9px;line-height:1.2}.lucky-web .hd-ring .hd-ring-status{display:none}.lucky-web .hd-ring .hd-board-heading{font-size:9px;margin-bottom:5px}.lucky-web .hd-ring .hd-board-status{font-size:9px;margin-top:5px}.lucky-web .hd-ring .hd-board-slot{width:30px;flex-basis:30px;height:43px}.lucky-web .hd-ring .hd-board-cards{gap:4px}
.lucky-web .active-play-shell .hd-table{justify-content:flex-start}.lucky-web .active-play-shell .hd-table .hd-actions{margin-top:6px}.lucky-web .active-play-shell:has(.hd-table){overflow-y:auto}.lucky-web .active-play-shell:has(.hd-table)>.room-content{flex:none;min-height:100%}
/* Small cards need their own corner offsets; the old rpx inset was larger than the glyph. */
.lucky-web .hd-pocket-card{width:36px;height:51px}.lucky-web .hd-pocket-card .tt-corner{font-size:6px;line-height:1;gap:0}.lucky-web .hd-pocket-card .tt-corner.top{top:2px;left:2px}.lucky-web .hd-pocket-card .tt-corner.bottom{bottom:2px;right:2px}.lucky-web .hd-pocket-card .tt-center-rank{font-size:19px;width:auto;line-height:1}.lucky-web .hd-pocket.zoomed .hd-pocket-card{width:76px;height:108px}.lucky-web .hd-pocket.zoomed .tt-corner{font-size:11px}.lucky-web .hd-pocket.zoomed .tt-corner.top{top:5px;left:5px}.lucky-web .hd-pocket.zoomed .tt-corner.bottom{bottom:5px;right:5px}.lucky-web .hd-pocket.zoomed .tt-center-rank{font-size:36px}
.lucky-web .hd-ring .tt-corner{font-size:5px;line-height:1}.lucky-web .hd-ring .tt-corner.top{top:2px;left:2px}.lucky-web .hd-ring .tt-corner.bottom{bottom:2px;right:2px}.lucky-web .hd-ring .tt-center-rank{font-size:17px;width:auto}
.lucky-web .hosted-poker .hosted-hand .tt-corner.top{top:2px;left:2px}.lucky-web .hosted-poker .hosted-hand .tt-corner.bottom{bottom:2px;right:2px}.lucky-web .hosted-poker .hosted-hand .tt-center-rank{font-size:23px;width:auto}
@media(max-width:350px){.lucky-web .hd-table .hd-ring,.lucky-web .hosted-poker .hd-ring{flex-basis:234px;height:234px;min-height:234px;max-height:234px;margin-left:4px;margin-right:4px}.lucky-web .hd-ring .hd-ring-avatar{width:34px;height:34px}.lucky-web .hd-ring .hd-ring-seat{width:59px}.lucky-web .hd-ring .hd-ring-name{max-width:59px;font-size:8px}.lucky-web .hd-ring .hd-ring-amount{font-size:8px}.lucky-web .hd-ring .hd-ring-center{inset:71px 45px}.lucky-web .hd-ring .hd-board-slot{width:25px;flex-basis:25px;height:37px}.lucky-web .hd-ring .hd-board-cards{gap:3px}.lucky-web .hd-ring .hd-board-status{font-size:8px}.lucky-web .hd-ring .hd-board-heading{font-size:8px}}
.lucky-web .hd-hole-card .tt-corner{font-size:10px;line-height:1}.lucky-web .hd-hole-card .tt-corner.top{top:4px;left:4px}.lucky-web .hd-hole-card .tt-corner.bottom{bottom:4px;right:4px}.lucky-web .hosted-poker .hd-ring .hd-ring-status{display:block;font-size:8px;line-height:1.2}

.dice-tool{box-sizing:border-box;position:fixed;inset:0;margin:0 auto;width:100%;max-width:560px;height:100dvh;max-height:100dvh;max-width:min(560px,100vw);border:0;padding:calc(14px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));background:#edff42;color:#171217;overflow-y:auto;overscroll-behavior:contain;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;display:none;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(180px,1fr) 30px auto;gap:12px}.dice-tool[open]{display:grid}.dice-tool::backdrop{background:#171217e8}.dice-tool *{box-sizing:border-box}.dice-tool button{font:inherit;font-weight:850;cursor:pointer;border:3px solid #171217;border-radius:0;color:#171217;background:#fff8e5;min-height:44px;box-shadow:3px 3px 0 #171217}.dice-tool button:disabled{cursor:default;opacity:.65}.dice-tool button:focus-visible{outline:3px solid #8252e8;outline-offset:3px}.dice-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.dice-back{padding:6px 12px}.dice-brand{font-size:10px;font-weight:900;letter-spacing:1px}.dice-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.dice-heading h1{font-size:36px;line-height:1;margin:4px 0;font-weight:950}.dice-sticker{background:#171217;color:#edff42;font-size:13px;font-style:italic;font-weight:900;padding:9px 12px;transform:rotate(5deg)}.dice-stage{position:relative;min-height:180px;overflow:hidden;background-color:#8252e8;background-image:radial-gradient(#ffffff20 1px,transparent 1px);background-size:12px 12px;border:4px solid #171217;box-shadow:5px 5px 0 #171217;border-radius:24px 4px 24px 4px;perspective:900px}.dice-stage:before{content:'';position:absolute;inset:12px;border:2px dashed #edff4260;border-radius:12px;pointer-events:none}.dice-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#fff8e5}.dice-empty span{font-size:100px;line-height:1;transform:rotate(-15deg);text-shadow:5px 5px #171217}.dice-empty strong{font-size:20px}.dice-flight{position:absolute;width:var(--die-size);height:var(--die-size)}.dice-result{text-align:center;font-weight:950;font-size:22px;letter-spacing:2px;white-space:nowrap;line-height:30px}.dice-controls{display:grid;gap:10px}.dice-count-label{font-size:13px;font-weight:800}.dice-counts{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.dice-counts button[aria-pressed=true]{background:#8252e8;color:#fff8e5}.dice-tool .dice-roll{background:#171217;color:#edff42;min-height:56px;font-size:21px}.dice-tool .dice-motion{background:transparent;box-shadow:none;border:0;font-size:14px;min-height:36px}.dice-hint:empty{display:none}.dice-hint{font-size:13px;text-align:center;font-weight:650}@media(max-height:650px){.dice-tool{gap:7px;padding-top:10px}.dice-heading h1{font-size:29px}.dice-tool .dice-roll{min-height:46px}.dice-controls{gap:6px}.dice-counts button{min-height:38px}}
.dice-options{display:flex;align-items:center;justify-content:space-between;gap:8px}.dice-tool .dice-sound{font-size:13px;min-height:36px;padding:3px 10px;border:2px solid #171217;box-shadow:none;background:#fff8e5}.dice-tool .dice-motion{padding:2px 0;text-align:left}
.dice-tool h1,.dice-tool button,.dice-tool .dice-count-label,.dice-tool .dice-hint{font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif}
.dice-counts{grid-template-columns:repeat(6,minmax(0,1fr))}.dice-counts button{padding:4px 6px;min-width:0}

.lucky-web .buddy-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lucky-web .buddy-tools-grid .tool-card{width:100%;margin:0;min-height:136px;padding:18px 8px 28px}.lucky-web .buddy-tools-grid .dice-tool-entry{background:#8252e8;color:#fff8e5}