/* Bright Club: violet upholstery, a turquoise felt table and warm gold trim.
   Geometry remains owned by the five-seat layout, including its short-screen
   and reveal states. This final paint layer does not change game controls. */
body.depth-theme.at-table {
  color: var(--club-plum, #432064);
  background: #b75ce6;
  --text: #432064;
  --muted: #795797;
  --gold: #ffd972;
  --gold-dark: #b8742d;
  --action-control-height: 48px;
  --action-control-font: 17px;
}

body.depth-theme.at-table .app {
  grid-template-rows: 44px 25px minmax(0, 1fr);
  background: linear-gradient(165deg, #a455e4, #d990ee 43%, #c47aef);
}
body.depth-theme.at-table .topbar {
  padding-bottom: 4px;
  border-color: #fff0c28f;
}
body.depth-theme.at-table .brand h1 {
  color: #fff3cf;
  letter-spacing: .03em;
  text-shadow: 0 2px 0 #8b3f81, 0 3px 0 #85488e;
}
body.depth-theme.at-table .topbar :is(.quiet-button, .table-exit) {
  border: 1px solid #ffe7a5;
  color: #fff9ee;
  border-radius: 13px;
  background: linear-gradient(#cd8bf2, #9650c8 48%, #7135a3);
  box-shadow: inset 0 1px 0 #fff9, inset 0 -2px 0 #703298, 0 2px 0 #6d348a;
}
body.depth-theme.at-table .topbar .table-exit { min-height: 40px; }
body.depth-theme.at-table .topbar nav .history-icon {
  min-height: 36px;
  height: 36px;
  border-radius: 50%;
}
body.depth-theme.at-table .topbar :is(.quiet-button, .table-exit):hover {
  background: linear-gradient(#dda6fb, #ad63df 48%, #8442b2);
}
body.depth-theme.at-table .game-meta { color: #512473; }
body.depth-theme.at-table .mode-tag {
  color: #583274;
  border-color: #fff4d5;
  background: #ffe8f6cc;
}
body.depth-theme.at-table .history-icon.has-result::after {
  width: 7px;
  height: 7px;
  background: #ffe780;
  box-shadow: 0 0 0 1px #9c6724;
}

/* An illuminated room frames the live merchant television. */
body.depth-theme.first-person-demo.at-table .table {
  border: 1px solid #fff1cd;
  background: linear-gradient(#eeb6f1, #cc8aec 77%, #e9b8fa);
  box-shadow: inset 0 0 0 2px #ffffff54, 0 3px 0 #974eaa;
}
body.depth-theme.first-person-demo.at-table .table .ktv-room {
  background: url('./assets/bright-room.webp') center 41% / cover no-repeat, #df9fde;
}
body.depth-theme.first-person-demo.at-table .table .ktv-room::before {
  background: linear-gradient(90deg, transparent, #ddabeab3 25% 75%, transparent);
}
body.depth-theme.first-person-demo.at-table .table .ktv-room::after {
  background: linear-gradient(180deg, transparent 55%, #d48bf15c);
  box-shadow: inset 0 -14px 18px #d38bed66;
}
body.depth-theme.first-person-demo.at-table .table .table-top {
  color: #522572;
  border-radius: 9px;
  padding-inline: 4px;
  background: #f4d6fcda;
  box-shadow: inset 0 1px 0 #fff9;
}
body.depth-theme.first-person-demo.at-table .table .table-label {
  color: #634079;
  font-weight: 650;
}
body.depth-theme.first-person-demo.at-table .table .round-label {
  color: #542873;
  font-weight: 800;
  border-color: #d49ee7;
  background: #fff0fb;
}
body.depth-theme.first-person-demo.at-table .table .ktv-stage {
  background: linear-gradient(90deg, transparent, #d097dbc4 17% 83%, transparent);
  border-color: #fff1cc6b;
}
body.depth-theme.first-person-demo.at-table .table .ktv-screen {
  border-color: #b98956;
  box-shadow: 0 0 0 1px #ffe7a5, inset 0 0 14px #d996fb33, 0 3px 6px #804b9859;
}
body.depth-theme.first-person-demo.at-table .table .ktv-screen::before { border-color: #f7d68f9c; }
body.depth-theme.first-person-demo.at-table .table .ktv-speaker {
  border-color: #e6bf8d;
  background: linear-gradient(100deg, #9764ba, #613886 50%, #8e54ad);
  box-shadow: 2px 3px 4px #75438a66, inset 1px 0 0 #ffecbe7a;
}

/* Gold edging stays behind all cups, bids and profile cards. */
body.depth-theme.first-person-demo.at-table .table .table-arena::before {
  border-color: #ffdc8c;
  background: radial-gradient(ellipse at 48% 24%, #60d9df 0%, #38b6c9 53%, #1b92b0 100%);
  box-shadow: inset 0 0 0 2px #fff8d8, inset 0 0 0 4px #be8741,
    inset 0 10px 18px #15758d40, 0 2px 0 #fff0be, 0 5px 0 #cb9953,
    0 7px 0 #f9d798, 0 12px 0 #9c6570, 0 15px 12px #78377d52;
}
body.depth-theme.first-person-demo.at-table .table .table-arena::after {
  border-color: #a9f2ef89;
  background: repeating-linear-gradient(105deg, #edffff0a 0 1px, transparent 1px 3px);
  box-shadow: inset 0 0 13px #1684a235;
}
body.depth-theme.first-person-demo.at-table .table .table-inlay { color: #e0fffd47; }
body.depth-theme.first-person-demo.at-table .table .cup-model::before {
  border-color: #96edee80;
  background: radial-gradient(ellipse, #278fac70, #4fc2cc4d);
  box-shadow: 0 2px 0 #25819961, 0 3px 5px #18617c38;
}
body.depth-theme.first-person-demo.at-table .table .seat .dice-cup {
  filter: drop-shadow(0 4px 2px #2d6b834d);
}
body.depth-theme.first-person-demo.at-table .table .table-hand::before {
  background: linear-gradient(90deg, #c4944c, #ffdf9a 25%, #b57b38 47%, #ffe1a7 77%, #ba8647);
  box-shadow: 0 2px 0 #8d6a45, 0 3px 5px #37697b42, inset 0 -1px 0 #b8783e;
}
body.depth-theme.first-person-demo.at-table .table.is-revealed .seats .seat:not(.is-you) .table-hand::before {
  box-shadow: 0 2px 0 #8d6a45, 0 3px 5px #37697b42, inset 0 -1px 0 #b8783e;
}
body.depth-theme.first-person-demo.at-table .table .table-hand::after,
body.depth-theme.first-person-demo.at-table .table.is-revealed .seats .seat:not(.is-you) .table-hand::after {
  border-color: #ffe1a3;
  background: radial-gradient(ellipse at 45% 20%, #82dadd, #3698b0 72%, #2b819d);
  box-shadow: inset 0 1px 1px #defff28a;
}
body.depth-theme.first-person-demo.at-table .table .seats .seat .seat-avatar {
  border: 2px solid #ffe49f;
  background-color: #ce92e3;
  box-shadow: 0 0 0 1px #b8793e, 0 0 0 3px #fff0bf8f, 0 3px 5px #733c8b4f;
}
body.depth-theme.first-person-demo.at-table .table .seats .seat.is-turn .seat-avatar {
  border-color: #fff7c8;
  box-shadow: 0 0 0 2px #d3a944, 0 0 0 4px #ffef978f, 0 0 14px #fff6cfaa;
}
body.depth-theme.first-person-demo.at-table .table .seats .seat .seat-name {
  color: #fff9f4;
  border-radius: 8px;
  background: linear-gradient(#a165cd, #783f9f);
  box-shadow: inset 0 0 0 1px #e1b6f47d;
  text-shadow: 0 1px 1px #592273;
}
body.depth-theme.first-person-demo.at-table .table[data-seat-count="5"] .seats .seat .seat-coins {
  color: #fff3be;
  border-color: #fbd686;
  background: linear-gradient(#9358b5, #68318b);
  box-shadow: inset 0 1px 0 #f7c7fa5c, 0 1px 0 #af7849;
}
body.depth-theme.first-person-demo.at-table .table .seats .seat .seat-bid {
  color: #522567;
  border-color: #e5c8f9;
  background: #fbebfff0;
  box-shadow: 0 1px 3px #7248853d;
}
body.depth-theme.first-person-demo.at-table .table .seats .seat .seat-bid.no-call {
  color: #7d5993;
  border-color: #e6b9f585;
  background: #f7deffb3;
}
body.depth-theme.first-person-demo.at-table .table .seats .seat-bid.is-pure::after {
  color: #fff6ff;
  border-color: #f8c6f0;
  background: #b546a3;
  box-shadow: 0 1px 3px #67367959;
}
body.depth-theme.first-person-demo.at-table .table .seats .seat.is-empty .seat-avatar {
  color: #673777;
  border-color: #f7d898;
  background: #e9b9edd4;
  box-shadow: 0 0 0 1px #bb87b77a;
}
body.depth-theme.first-person-demo.at-table .table .seats .seat.is-empty .seat-name {
  color: #795686;
  text-shadow: none;
  background: #f1d5f2b3;
}

/* Current call retains its measured clear band between the existing cups. */
body.depth-theme.first-person-demo.at-table .table.is-playing #latest-call-stage.center-stage {
  border-color: #e0c9f4;
  background: #684496db;
  box-shadow: inset 0 1px 0 #ffedff87, 0 2px 4px #31687936;
}
body.depth-theme.first-person-demo.at-table .table.is-playing #latest-call-stage.center-stage h2,
body.depth-theme.first-person-demo.at-table .table.is-playing #latest-call-stage.center-stage .bid-number { color: #fffaf1; }
body.depth-theme.first-person-demo.at-table .table.is-playing #latest-call-stage.center-stage .bid-unit { color: #f9e8ff; }
body.depth-theme.first-person-demo.at-table .table .latest-bid-mode { color: #ffeb9d; }

/* A compact, high-contrast status strip above the tactile controls. */
body.depth-theme.at-table .table .turn-message {
  color: #5d2b7d;
  background: #f6d3f6e6;
  border: 1px solid #fbe8c4;
  border-radius: 12px;
  box-shadow: inset 0 1px 0 #fff9;
  padding-inline: 4px;
}
body.depth-theme.at-table #turn-direction { color: #8b39a9; }
body.depth-theme.at-table .turn-last-bid { color: #673980; }
body.depth-theme.at-table .turn-clock {
  color: #fff8ea;
  border-color: #ddb2ec;
  background: #9351b6;
}
body.depth-theme.at-table .table .seats .seat .seat-turn-clock {
  color: #65345d;
  border-color: #fff3bd;
  background: #ffe8a7;
  box-shadow: 0 2px 4px #84419359;
}
body.depth-theme.at-table .table :is(.seat-turn-clock.urgent, .turn-clock.urgent) {
  color: #fff8f4;
  border-color: #ffe3e8;
  background: #c73f80;
}
body.depth-theme.at-table .table #room-panel.action-panel {
  background: linear-gradient(145deg, #f9e4ff, #deaff4);
  border: 1px solid #fff1bc;
  border-radius: 16px;
  box-shadow: inset 0 0 0 2px #ffffff70, 0 2px 0 #a968c1;
  padding: 7px 6px 5px;
}
body.depth-theme.at-table .table .bid-wheel-labels { color: #7d4c99; min-height: 36px; }
body.depth-theme.at-table .table #pure-toggle {
  color: #743896;
  border-color: #c887e3;
  background: linear-gradient(#fff0ff, #e4b9f4);
  box-shadow: inset 0 1px 0 #fff, 0 2px 0 #b077c9;
}
body.depth-theme.at-table .table #pure-toggle .pure-indicator { background: #b480c5; }
body.depth-theme.at-table .table #pure-toggle[aria-pressed=true] {
  color: #fff8ed;
  border-color: #f8cb85;
  background: linear-gradient(#d371d2, #a343b1);
  box-shadow: inset 0 1px 0 #fff7, 0 2px 0 #773083;
}
body.depth-theme.at-table .table #pure-toggle[aria-pressed=true] .pure-indicator { background: #ffe799; }
body.depth-theme.at-table .table #pure-toggle small { color: inherit; }
body.depth-theme.at-table .table #selection-hint {
  min-height: 27px;
  border-color: #b777d3;
  background: #ead0f34d;
  color: #693a84;
  padding-block: 2px;
}
body.depth-theme.at-table .table #selection-hint span { color: #7d538f; }
body.depth-theme.at-table .table #selection-hint.is-pure { color: #903783; border-color: #d65bb0; background: #f8d6ed; }
body.depth-theme.at-table .table #selection-hint.is-pure span { color: #8c4c83; }
body.depth-theme.at-table .table .bid-picker-trigger {
  color: #512273;
  border: 2px solid #c28bdd;
  border-radius: 15px;
  background: linear-gradient(#fff3ff, #e7c3fb);
  box-shadow: inset 0 2px 0 #fff, inset 0 -2px 0 #dfb1f1, 0 2px 0 #b47acc;
}
body.depth-theme.at-table .table .bid-picker-trigger[aria-expanded=true] {
  border-color: #9250bf;
  background: linear-gradient(#fff8ff, #f2d4fc);
}
body.depth-theme.at-table .table .bid-picker .wheel-number { color: #512273; }
body.depth-theme.at-table .table .bid-picker .wheel-unit,
body.depth-theme.at-table .table .bid-picker-chevron { color: #9160ad; }
body.depth-theme.at-table .table .bid-picker-popover {
  border-color: #fff0b7;
  background: linear-gradient(#f5deff, #d4a1ec);
  box-shadow: 0 5px 14px #7e3a9b59, inset 0 1px 0 #fff;
  scrollbar-color: #a869c7 #e9c8f5;
}
body.depth-theme.at-table .table .bid-picker-option { color: #512273; box-shadow: 0 2px 0 #aa85bc; }
body.depth-theme.at-table .table .bid-picker-option .wheel-number { color: #512273; }
body.depth-theme.at-table .table .bid-picker-option[aria-selected=true] {
  border-color: #b762d8;
  box-shadow: 0 0 0 1px #b762d8, 0 2px 0 #9450b3;
}

/* Each action keeps its own hue. Disabled states remain readable. */
body.depth-theme.at-table .table #room-panel.action-panel > :is(#primary, #challenge, #rush, #return-bid) {
  border: 1px solid #ffe18d;
  border-radius: 13px;
  text-shadow: 0 1px 1px #6c2b8a8c;
  box-shadow: inset 0 2px 0 #ffffffc7, inset 0 -2px 0 #ffffff33, 0 3px 0 #be8542;
  opacity: 1;
}
body.depth-theme.at-table .table #room-panel.action-panel > #challenge {
  color: #fff;
  background: linear-gradient(#f792e5, #d44cdb 47%, #af39c4);
}
body.depth-theme.at-table .table #room-panel.action-panel > #challenge:hover:not(:disabled) { background: linear-gradient(#ffb4f0, #e56ce8 47%, #c549d6); }
body.depth-theme.at-table .table #room-panel.action-panel > #rush {
  color: #fff;
  background: linear-gradient(#fc91c6, #e5559e 48%, #c73780);
}
body.depth-theme.at-table .table #room-panel.action-panel > #return-bid {
  color: #fff;
  background: linear-gradient(#cc98ff, #ac69e4 48%, #8545c3);
}
body.depth-theme.at-table .table #room-panel.action-panel > #primary {
  color: #085e58;
  text-shadow: 0 1px 0 #c3fff5;
  background: linear-gradient(#a5fff0, #4ddac9 47%, #27baa9);
}
body.depth-theme.at-table .table #room-panel.action-panel > #primary:hover:not(:disabled) { background: linear-gradient(#c1fff2, #70edde 47%, #35cbbc); }
body.depth-theme.at-table .table #room-panel.action-panel > :is(#primary, #challenge, #rush, #return-bid):disabled {
  color: #8b729e;
  border-color: #d5b4e1;
  background: linear-gradient(#e8d5ee, #d9c1e4);
  box-shadow: inset 0 1px 0 #fff9, 0 2px 0 #b598c2;
  text-shadow: none;
  opacity: 1;
}
body.depth-theme.at-table #chat-control-slot .social-chat-toggle {
  color: #fff6ff;
  border-color: #f0ccff;
  background: linear-gradient(#c991ec, #8e4bb9);
  box-shadow: inset 0 1px 0 #fff9, 0 2px 0 #824398;
}
body.depth-theme.at-table :is(button, a, input):focus-visible {
  outline: 3px solid #ffed9e;
  outline-offset: 2px;
}

/* Waiting and settlement stay compact, with no extra panel over the dice. */
body.depth-theme.first-person-demo.at-table .table .seat .seat-waiting-label {
  color: #6d3888;
  border-color: #e3b6f2;
  background: #f3daff;
}
body.depth-theme.first-person-demo.at-table .table .seat.is-waiting .seat-avatar { opacity: .86; }
body.depth-theme.first-person-demo.at-table .table .seat .seat-join-label {
  color: #315f51;
  border-color: #ffecb0;
  background: #a4f1d6;
}
body.depth-theme.first-person-demo.at-table .table .seat.is-new-arrival .seat-avatar { outline-color: #ffe89b; }
body.depth-theme.first-person-demo.at-table .table #round-primary,
body.depth-theme.first-person-demo.at-table .table #round-primary.is-auto-next:disabled {
  color: #653485;
  border-color: #ffe3a3;
  background: linear-gradient(#f8e7ff, #dbb1ef);
  box-shadow: inset 0 1px 0 #fff, 0 2px 0 #ad77c4;
}
body.depth-theme.first-person-demo.at-table .table.is-waiting-for-round #round-primary { color: #6d3888; background: #f2d9ffef; }
body.depth-theme.first-person-demo.at-table .round-center-controls .round-verdict {
  border-color: #ffe1a5;
  background: linear-gradient(145deg, #ab67cbf5, #8044b0f5);
  box-shadow: inset 0 0 0 2px #d59bda, inset 0 0 18px #edb8df33, 0 4px 10px #7e3c8d59;
}
body.depth-theme.first-person-demo.at-table .round-center-controls .round-verdict[data-perspective=lose] {
  background: linear-gradient(145deg, #c69ddbef, #a274c1f5);
}
body.depth-theme.first-person-demo.at-table .round-center-controls .round-verdict-title { color: #ffedab; text-shadow: 0 2px 0 #935b32, 0 3px 0 #7d447b; }
body.depth-theme.first-person-demo.at-table .round-center-controls .round-verdict[data-perspective=lose] .round-verdict-title { color: #fff6ff; text-shadow: 0 1px 1px #744890; }
body.depth-theme.first-person-demo.at-table .round-verdict-loser,
body.depth-theme.first-person-demo.at-table .round-call-detail { color: #f4dbfb; }
body.depth-theme.first-person-demo.at-table .round-call-summary { --call-accent: #bcffe7; border-color: #edd7f84d; }
body.depth-theme.first-person-demo.at-table .round-call-summary[data-sufficient="false"] { --call-accent: #ffe0c9; }
body.depth-theme.first-person-demo.at-table .table .seats .seat.is-round-winner .seat-avatar { border-color: #fff4b6; box-shadow: 0 0 0 2px #c89446, 0 0 0 4px #ffe69d7a, 0 0 16px #fff0a8; }
body.depth-theme.first-person-demo.at-table .table .seats .seat.is-round-loser .seat-avatar { border-color: #ead1ed; box-shadow: 0 0 0 2px #b48bc8, 0 3px 5px #75498747; }
body.depth-theme.first-person-demo.at-table .table .seats .seat .seat-outcome { color: #386449; background: #c8f6cb; border-color: #fff3ac; box-shadow: 0 1px 3px #725c704d; }
body.depth-theme.first-person-demo.at-table .table .seats .seat.is-round-loser .seat-outcome { color: #773b77; background: #f3d5ee; border-color: #e9aedd; }
body.depth-theme.at-table .mp-toast.is-centered {
  color: #5d2b7e;
  border-color: #ffe6a5;
  background: linear-gradient(#fff0ff, #eac1f5);
  box-shadow: 0 7px 20px #80459166, inset 0 1px 0 #fff;
}
body.depth-theme.at-table .mp-toast.is-roster-notice::first-line { color: #8d3cac; }

@media (max-width: 360px) {
  body.depth-theme.at-table .app { grid-template-rows: 42px 23px minmax(0, 1fr); }
  body.depth-theme.at-table .topbar .brand h1 { font-size: 16px; }
  body.depth-theme.at-table .topbar .table-exit { min-width: 52px; padding-inline: 3px 6px; }
  body.depth-theme.at-table .table #room-panel.action-panel { padding-inline: 4px; }
  body.depth-theme.at-table .table .bid-picker-trigger { height: 50px; border-radius: 12px; }
  body.depth-theme.at-table .table .bid-picker .wheel-number { font-size: 29px; }
}
@media (max-height: 640px) and (orientation: portrait) {
  body.depth-theme.at-table { --action-control-height: 44px; --action-control-font: 16px; }
  /* Side profiles clear the private dice strip on short five-seat tables. */
  body.depth-theme.first-person-demo.at-table .table[data-seat-count="5"] .seats .seat:is(:nth-child(2), :nth-child(5)) .seat-card {
    transform: translateY(calc(-20% - 12px));
  }
  body.depth-theme.at-table .table .bid-wheel-labels { min-height: 34px; margin-bottom: 1px; }
  body.depth-theme.at-table .table #selection-hint { margin-bottom: 3px; min-height: 24px; }
  body.depth-theme.at-table .table #selection-hint strong { font-size: 11px; }
  body.depth-theme.at-table .table #selection-hint span { font-size: 9px; min-height: 10px; }
}
@media (max-height: 560px) and (orientation: portrait) {
  /* The shared layout removes game-meta here; keep the arena in its full row. */
  body.depth-theme.at-table .app { grid-template-rows: 40px minmax(0, 1fr); }
}
@media (min-width: 900px) and (min-height: 650px) {
  body.depth-theme.at-table { --action-control-height: 56px; --action-control-font: 19px; }
  body.depth-theme.at-table .table #room-panel.action-panel { padding: 14px; }
}
@media (orientation: landscape) and (max-height: 519px) {
  body.depth-theme.at-table .app { grid-template-rows: 36px minmax(0, 1fr); }
  body.depth-theme.at-table .topbar .table-exit { min-height: 34px; }
  body.depth-theme.at-table .topbar nav .history-icon { min-height: 30px; height: 30px; }
  body.depth-theme.at-table .table #room-panel.action-panel { padding: 6px; }
}
