/* Room UI reuses the existing Domino Legends felt and tile art. */
#hcDominoes.dm-multi {background:#10242c;color:#fff;}
#hcDominoes .dmmp-lobby {min-height:100dvh;background:linear-gradient(180deg,#102d39 0%,#10242c 65%,#071c25);}
#hcDominoes .dmmp-lobby header {display:flex;align-items:center;justify-content:space-between;gap:7px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;border-bottom:3px solid #d5a45e;}
#hcDominoes .dmmp-lobby header strong {white-space:nowrap;font-size:clamp(16px,4.4vw,24px);}
#hcDominoes .dmmp-lobby header em {font-style:normal;color:#ffd35c;}
#hcDominoes .dmmp-lobby header span {font-size:10px;color:#e5c98e;letter-spacing:.08em;}
#hcDominoes .dmmp-lobby main {width:min(100%,650px);padding:20px 15px calc(30px + env(safe-area-inset-bottom));margin:auto;}
#hcDominoes .dmmp-hero {padding:19px 8px 24px;text-align:center;}
#hcDominoes .dmmp-hero>span {font-size:12px;letter-spacing:.16em;color:#f8cf84;}
#hcDominoes .dmmp-hero h1 {font-size:clamp(30px,8vw,42px);margin:6px 0;}
#hcDominoes .dmmp-hero p {max-width:390px;margin:0 auto;color:#c8d7d7;font-size:14px;line-height:1.5;}
#hcDominoes .dmmp-card {padding:20px;margin-bottom:14px;background:linear-gradient(160deg,#1f5355,#123740);border:2px solid #ac854e;border-radius:19px;box-shadow:0 8px 16px #00172077;}
#hcDominoes .dmmp-card h2 {margin:0 0 7px;font-size:20px;}
#hcDominoes .dmmp-card p {font-size:13px;color:#d0dedb;line-height:1.45;}
#hcDominoes .dmmp-count {display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0;}
#hcDominoes .dmmp-count button {padding:10px 5px;border-radius:11px;border:1px solid #aac8c3;background:#264d52;color:#fff;}
#hcDominoes .dmmp-count button.active {background:#f2cd8b;color:#172f3a;font-weight:800;border-color:#f2cd8b;}
#hcDominoes .dmmp-primary {width:100%;border:0;border-radius:12px;padding:13px 16px;background:#cf963f;color:#172e37;font-weight:800;}
#hcDominoes .dmmp-quiet {display:block;width:100%;background:transparent;color:#e8cec1;padding:12px;border:0;margin-top:7px;}
#hcDominoes .dmmp-join {display:flex;gap:9px;margin-top:12px;}
#hcDominoes .dmmp-join input {flex:1;min-width:0;padding:12px;background:#ebf5f0;border:0;border-radius:12px;color:#12333a;font-size:17px;font-weight:750;letter-spacing:.15em;text-transform:uppercase;}
#hcDominoes .dmmp-join button {border-radius:12px;border:1px solid #f2cd8b;background:#c79044;color:#172f3a;font-weight:800;padding:0 19px;}
#hcDominoes .dmmp-code {font-size:clamp(26px,9vw,43px);font-weight:850;letter-spacing:.12em;text-align:center;padding:12px;margin:10px 0;border:1px dashed #e9cf95;border-radius:13px;color:#ffe0a1;}
#hcDominoes .dmmp-card>button[data-act="share"] {display:block;margin:8px auto 15px;padding:10px 15px;border-radius:10px;background:#ecce93;color:#122e39;border:0;font-weight:800;}
#hcDominoes .dmmp-lobby-seats {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:15px 0;}
#hcDominoes .dmmp-notice {font-size:13px;color:#ffe5aa;text-align:center;margin:12px;}
#hcDominoes .dmmp-note {font-size:12px;text-align:center;color:#b2c4c7;margin-top:20px;}
#hcDominoes .dmmp-head {gap:5px;}
#hcDominoes .dmmp-head strong {min-width:0;font-size:clamp(14px,4.4vw,20px);}
#hcDominoes .dmmp-head button {white-space:nowrap;}
#hcDominoes .dmmp-stage {height:clamp(450px,63dvh,680px) !important;}
#hcDominoes .dmmp-stage .dm-table {top:max(104px,22%) !important;bottom:8px !important;}
#hcDominoes .dmmp-opponents {position:absolute;top:8px;left:7px;right:7px;z-index:5;display:flex;gap:5px;justify-content:space-evenly;}
#hcDominoes .dmmp-seat {flex:1;display:flex;align-items:center;gap:5px;min-width:0;max-width:210px;padding:5px;background:#102e39eb;border:1px solid #e1bd79;border-radius:12px;font-size:11px;}
#hcDominoes .dmmp-seat.turn {border:2px solid #5de59a;box-shadow:0 0 12px #4ddd81ad;}
#hcDominoes .dmmp-seat>span:last-child {min-width:0;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
#hcDominoes .dmmp-seat b,#hcDominoes .dmmp-seat small {display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#hcDominoes .dmmp-seat small {color:#f3d697;font-size:10px;margin-top:3px;}
#hcDominoes .dmmp-avatar {flex:none;display:grid;place-items:center;width:37px;height:37px;overflow:hidden;border-radius:50%;border:2px solid #f0ce8a;background:#245668;color:#fff;font-size:18px;}
#hcDominoes .dmmp-avatar img {width:100%;height:100%;object-fit:cover;}
#hcDominoes .dmmp-bottom .dm-you-seat {display:flex;align-items:center;justify-content:center;gap:9px;}
#hcDominoes .dmmp-bottom .dm-quick {margin-top:15px;}
#hcDominoes .dmmp-chat-bubble {display:block;margin:10px auto 4px;padding:9px 12px;border-radius:12px;max-width:440px;width:max-content;background:#f9efdc;color:#153640;font-size:12px;text-align:center;overflow-wrap:anywhere;}
#hcDominoes .dmmp-chat-bubble[hidden] {display:none;}
#hcDominoes .dmmp-bottom {padding-bottom:calc(19px + env(safe-area-inset-bottom));}
#hcDominoes .dmmp-launch {display:block;width:min(94%,360px);margin:18px auto 10px;padding:12px;border-radius:13px;border:2px solid #f4d88e;background:#0d694e;color:#fff;font-weight:800;}
#hcDominoes .dmmp-result button {margin:8px 4px;}
#hcDominoes .dmmp-result {position:fixed;inset:0;z-index:95;display:grid;place-items:center;padding:20px;background:#061821cf;color:#fff;overflow:hidden;}
#hcDominoes .dmmp-result-card {position:relative;z-index:2;width:min(100%,370px);padding:29px 24px;text-align:center;border:2px solid #ddbc78;border-radius:22px;background:linear-gradient(165deg,#174851,#0c2b3a);box-shadow:0 18px 45px #0009;}
#hcDominoes .dmmp-result-card h2 {margin:8px 0;font-size:29px;}
#hcDominoes .dmmp-result-card p {line-height:1.5;}
#hcDominoes .dmmp-result-card button {padding:12px 22px;border:0;border-radius:12px;background:#ebc57f;color:#16313d;font-weight:800;}
#hcDominoes .dmmp-trophy {font-size:82px;line-height:1.2;filter:drop-shadow(0 7px 10px #061721a8);animation:dmmp-trophy-rise .7s cubic-bezier(.18,.9,.3,1.3) both;}
#hcDominoes .dmmp-victory-points {font-size:21px;font-weight:850;color:#ffdb8b;margin:5px 0;}
#hcDominoes .dmmp-confetti {position:absolute;inset:0;pointer-events:none;overflow:hidden;}
#hcDominoes .dmmp-confetti i {position:absolute;left:calc(var(--piece)*3.1%);top:-12%;width:9px;height:15px;border-radius:2px;background:hsl(calc(var(--piece)*47deg) 82% 62%);opacity:0;transform:rotate(calc(var(--piece)*24deg));animation:dmmp-confetti-fall 3.6s var(--delay) linear 2;}
@keyframes dmmp-trophy-rise {from {opacity:0;transform:translateY(35px) scale(.45);}to {opacity:1;transform:translateY(0) scale(1);}}
@keyframes dmmp-confetti-fall {0% {opacity:0;translate:0 -10px;}8% {opacity:1;}90% {opacity:1;}100% {opacity:0;translate:40px 110vh;rotate:900deg;}}
@media (prefers-reduced-motion:reduce) {#hcDominoes .dmmp-confetti i,#hcDominoes .dmmp-trophy {animation:none !important;}#hcDominoes .dmmp-confetti {display:none;}}
#hcDominoes .dmmp-end {display:block;margin:18px auto 0;border:0;background:transparent;color:#dbc5b7;font-size:12px;text-decoration:underline;}
#hcDominoes.dm-multi .dm-hand button[data-tile]:not(:disabled) {touch-action:none;}
#hcDominoes .dmmp-drop {position:absolute;z-index:9;width:43px;height:43px;display:none;place-items:center;transform:translate(-50%,-50%);border-radius:50%;border:2px dashed #fff6ce;background:#0b6d55cf;color:#fff;font:800 15px system-ui,sans-serif;pointer-events:none;box-shadow:0 0 0 4px #082e3391;}
#hcDominoes.dmmp-dragging .dmmp-drop.valid {display:grid;}
#hcDominoes .dmmp-drop.hover {background:#d8a44a !important;scale:1.12;}
#hcDominoes .dmmp-ghost {position:fixed !important;z-index:100;pointer-events:none;transform:translate(-50%,-50%) !important;display:flex !important;flex-direction:column !important;width:45px !important;height:78px !important;box-shadow:0 12px 23px #0008;}
#hcDominoes .dmmp-ghost span {width:100% !important;height:50% !important;}
@media(max-width:450px) {
  #hcDominoes .dmmp-lobby header span {display:none;}
  #hcDominoes .dmmp-opponents .dmmp-seat {flex-direction:column;text-align:center;padding:4px 2px;font-size:10px;}
  #hcDominoes .dmmp-opponents .dmmp-seat .dmmp-avatar {height:29px;width:29px;font-size:15px;}
  #hcDominoes .dmmp-opponents .dmmp-seat small {font-size:9px;}
  #hcDominoes .dmmp-head button {padding:8px 6px;}
}

#hcDominoes .dmmp-speech {position:absolute;z-index:7;top:54px;left:50%;transform:translateX(-50%);max-width:65%;padding:8px 13px;border-radius:15px;border:1px solid #e2bd79;background:#fff9e6;color:#17333b;box-shadow:0 5px 12px #001c2280;font-size:12px;font-weight:700;text-align:center;overflow-wrap:anywhere;}
#hcDominoes .dmmp-speech[hidden] {display:none;}

/* Every other player's hidden hand is visible without revealing tile values. */
#hcDominoes .dmmp-opponent {position:relative;display:flex;flex:1;flex-direction:column;align-items:center;max-width:210px;min-width:0;}
#hcDominoes .dmmp-opponent>.dmmp-seat {width:100%;}
#hcDominoes .dmmp-back-row {display:flex;justify-content:center;align-items:center;flex:none;width:100%;height:37px;overflow:hidden;padding:2px 3px;}
#hcDominoes .dmmp-back {display:block;flex:0 1 20px;min-width:8px;max-width:20px;height:30px;border:2px solid #e8d5a8;border-radius:4px;background:repeating-linear-gradient(45deg,#133b48 0 3px,#2c6973 3px 6px);box-shadow:0 2px 3px #001b1ca6,inset 0 0 0 1px #2a5360;}
#hcDominoes .dmmp-back+.dmmp-back {margin-left:2px;}
#hcDominoes .dmmp-back::after {content:'✦';display:grid;place-items:center;width:100%;height:100%;color:#e7cd93;font:700 11px/1 system-ui,sans-serif;}

/* Anchor speech to the avatar, clear of the face-down hand and table. */
#hcDominoes .dmmp-avatar-speech {position:absolute;z-index:9;display:block;min-width:65px;max-width:min(205px,72vw);padding:8px 11px;border:1px solid #ecd4a1;border-radius:13px;background:#fff9e9;color:#173740;box-shadow:0 5px 13px #001a20a8;font:700 12px/1.3 system-ui,sans-serif;text-align:center;overflow-wrap:anywhere;white-space:normal;}
#hcDominoes .dmmp-opponent-speaker {position:relative;display:inline-grid;place-items:center;flex:none;overflow:visible;}
#hcDominoes .dmmp-opponent-speech {top:50%;left:calc(100% + 9px);transform:translateY(-50%);width:max-content;max-width:min(175px,37vw);}
#hcDominoes .dmmp-opponent-speech::before {content:'';position:absolute;left:-8px;top:50%;border:8px solid transparent;border-right-color:#fff9e9;border-left:0;transform:translateY(-50%);}
#hcDominoes .dmmp-opponent-speech-left {left:auto;right:calc(100% + 9px);}
#hcDominoes .dmmp-opponent-speech-left::before {left:auto;right:-8px;border-right:0;border-left:8px solid #fff9e9;}

#hcDominoes .dmmp-invite-action {margin:9px 0;}
#hcDominoes .dmmp-invite-feedback {position:fixed;top:calc(68px + env(safe-area-inset-top));left:12px;right:12px;z-index:120;max-width:450px;margin:0 auto;padding:13px 16px;border:2px solid #e2ca8e;border-radius:14px;background:#0e634e;color:#fff;box-shadow:0 9px 25px #0009;text-align:center;font:600 13px/1.4 system-ui,sans-serif;animation:dmmp-feedback-in .18s ease-out;}
#hcDominoes .dmmp-invite-feedback strong,#hcDominoes .dmmp-invite-feedback span {display:block;}
#hcDominoes .dmmp-invite-feedback strong {font-size:16px;}
#hcDominoes .dmmp-invite-feedback span {margin-top:3px;}
@keyframes dmmp-feedback-in {from {opacity:0;transform:translateY(-12px);}to {opacity:1;transform:translateY(0);}}
#hcDominoes .dmmp-invite-shade {position:fixed;inset:0;z-index:110;display:flex;align-items:flex-end;justify-content:center;background:#031820a8;}
#hcDominoes .dmmp-invite-panel {width:min(100%,520px);max-height:80dvh;display:flex;flex-direction:column;padding:20px 16px calc(24px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;background:#f6f4eb;color:#173039;box-shadow:0 -9px 28px #001721a8;}
#hcDominoes .dmmp-invite-header {display:flex;justify-content:space-between;align-items:center;}
#hcDominoes .dmmp-invite-header h2 {margin:0;font-size:20px;}
#hcDominoes .dmmp-invite-header button {border:0;background:#e5e5df;border-radius:50%;width:34px;height:34px;font-size:17px;}
#hcDominoes .dmmp-invite-panel p {font-size:13px;margin:10px 0;}
#hcDominoes #dmmp-friend-search {padding:12px;border:1px solid #a7b4b0;border-radius:10px;font-size:16px;}
#hcDominoes .dmmp-friend-list {overflow:auto;min-height:80px;margin-top:10px;}
#hcDominoes .dmmp-friend-choice {width:100%;display:flex;align-items:center;gap:10px;padding:9px;border:0;border-bottom:1px solid #dedbd2;background:transparent;color:#173039;text-align:left;}
#hcDominoes .dmmp-friend-choice span:nth-child(2) {flex:1;font-weight:700;}
#hcDominoes .dmmp-friend-choice span:last-child {color:#046047;font-size:12px;}
#dmmp-invite-alert {position:fixed;z-index:100030;bottom:calc(72px + env(safe-area-inset-bottom));left:12px;right:12px;max-width:440px;margin:0 auto;display:flex;align-items:center;gap:8px;padding:12px;border:1px solid #e3bb78;border-radius:13px;background:#0d303b;color:#fff;box-shadow:0 8px 24px #0006;font:12px/1.4 system-ui,sans-serif;}
#dmmp-invite-alert .dmmp-alert-content {display:flex;flex:1;min-width:0;flex-direction:column;}
#dmmp-invite-alert .dmmp-alert-content span {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#dmmp-invite-alert button {padding:8px;border:0;border-radius:8px;background:#f5ce80;color:#183139;font-weight:700;white-space:nowrap;}
#dmmp-invite-alert button:last-child {background:#244552;color:#fff;}
#hcDominoes .dmmp-self-speaker {display:inline-grid;place-items:center;position:relative;flex:none;}
#hcDominoes .dmmp-self-speech {bottom:calc(100% + 9px);left:50%;transform:translateX(-50%);}
#hcDominoes .dmmp-self-speech::after {content:'';position:absolute;bottom:-8px;left:50%;border:8px solid transparent;border-top-color:#fff9e9;border-bottom:0;transform:translateX(-50%);}
@media(max-width:450px) {
  #hcDominoes .dmmp-back-row {height:30px;padding:1px 0;}
  #hcDominoes .dmmp-back {height:24px;min-width:7px;flex-basis:15px;max-width:15px;border-width:1px;}
  #hcDominoes .dmmp-back+.dmmp-back {margin-left:1px;}
  #hcDominoes .dmmp-back::after {font-size:8px;}
  #hcDominoes .dmmp-avatar-speech {font-size:11px;max-width:65vw;}
}


/* ============================================================
   HC SHORT LAPTOP MULTIPLAYER — v7
   Reduce only the multiplayer stage on short desktop screens.
   ============================================================ */
@media
  (min-width:769px)
  and (max-width:1700px)
  and (max-height:950px){

  #hcDominoes .dmmp-stage{
    height:clamp(
      330px,
      47dvh,
      405px
    ) !important;
  }

  #hcDominoes .dmmp-stage .dm-table{
    top:max(96px,22%) !important;
    bottom:6px !important;
  }
}
/* END HC SHORT LAPTOP MULTIPLAYER — v7 */
