#control-title:empty, #eyebrow:empty, #description:empty, #actions:empty,
#control-head:has(#control-title:empty):has(#menu[hidden]) { display: none; }
.controls #control-title { font-size: clamp(20px, 5.5vw, 26px); font-weight: 700; }
.controls .eyebrow { font-size: 11px; text-transform: none; letter-spacing: 0; }
.controls .description { margin: 2px 0 0; }
.controls #menu { border: 0; background: transparent; border-radius: 0; }
#actions { gap: 8px; margin-top: 10px; }
#actions .act, .raise-confirm {
  --key: #dfddcc; --lip: #999889; --glint: #f6f2dc; --letters: #211f24;
  position: relative; isolation: isolate; border: none; border-radius: 0;
  min-height: 50px; margin-bottom: 3px; padding: 7px 10px 9px;
  background: transparent; box-shadow: none; color: var(--letters);
  font: 700 16px/1.1 system-ui, sans-serif; letter-spacing: -.025em;
  filter: none;
}
#actions .act::before, .raise-confirm::before {
  content: ""; position: absolute; z-index: -1; inset: 0;
  background: var(--key); box-shadow: inset 0 2px var(--glint), inset 0 -5px var(--lip);
  clip-path: polygon(8px 0,calc(100% - 2px) 0,calc(100% - 2px) 2px,100% 2px,100% calc(100% - 10px),calc(100% - 2px) calc(100% - 10px),calc(100% - 2px) calc(100% - 6px),calc(100% - 4px) calc(100% - 6px),calc(100% - 4px) calc(100% - 2px),calc(100% - 6px) calc(100% - 2px),calc(100% - 6px) 100%,2px 100%,2px calc(100% - 2px),0 calc(100% - 2px),0 10px,2px 10px,2px 6px,4px 6px,4px 2px,8px 2px);
}
#actions .key-fold { --key: #af5d65; --lip: #713843; --glint: #ce7d86; --letters: #140e18; }
#actions .key-call { --key: #efe9cd; --lip: #a49c87; --glint: #fff8dc; }
#actions .key-raise, .raise-confirm { --key: #87bbda; --lip: #547c9d; --glint: #add7e9; --letters:#132539; }
#actions .primary:not(.key-call) { --key: var(--accent); --lip: color-mix(in srgb, var(--accent) 60%, #514353); --glint: color-mix(in srgb, var(--accent) 80%, white); }
#actions .act:not(.primary,.key-raise,.key-fold) { --key: var(--surface); --lip: var(--page); --glint: var(--edge); --letters:var(--ink); }
#actions .act:focus-visible, .raise-confirm:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
#actions .act:active:enabled, .raise-confirm:active:enabled { transform: translateY(3px); }
#actions .act:active:enabled::before, .raise-confirm:active:enabled::before { box-shadow: inset 0 1px var(--glint), inset 0 -2px var(--lip); }
@media(prefers-reduced-motion:no-preference) {
  #actions .act, .raise-confirm { transition: transform 85ms ease-out; }
}
@media(prefers-reduced-motion:reduce) {
  #actions .act:active:enabled, .raise-confirm:active:enabled { transform: none; }
}
.wide-action-preview .decision { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.wide-action-preview .decision .key-call { grid-row:2; grid-column:1/-1; }
.wide-action-preview .decision .key-raise { grid-column:2; grid-row:1; }
#dialog[data-purpose="raise"] { width: min(390px,calc(100% - 22px)); }
#dialog[data-purpose="raise"] .sheet { padding: 16px; }
#dialog[data-purpose="raise"] .sheet-head { margin-bottom: 8px; }
#dialog[data-purpose="raise"] .close-button { min-width: 44px; min-height: 44px; }
.amount-caption { margin-bottom: 6px; color: var(--muted); }
.raise-stepper { display:grid; grid-template-columns: 48px minmax(0,1fr) 48px; gap: 6px; align-items: stretch; }
.sheet .raise-stepper input {
  margin:0; padding: 4px; min-width:0; min-height:48px; border:1px solid var(--edge); border-radius:2px;
  text-align:center; font-size:25px; font-weight:700; font-variant-numeric:tabular-nums;
  appearance:textfield; -moz-appearance:textfield;
}
.raise-stepper input::-webkit-inner-spin-button { -webkit-appearance:none; }
.sheet .step-key, .sheet .preset-key {
  background:var(--surface); border:1px solid var(--edge); color:var(--ink); border-radius:2px;
  min-height:44px; min-width:0; padding:3px; box-shadow:none;
}
.sheet .step-key { font:700 23px/1 system-ui, sans-serif; }
.sheet input.amount-range[type="range"] { min-height:44px; margin:0; padding:0; }
.raise-presets { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
.sheet .preset-key {font-size:13px;}
.sheet .amount-note { margin-top:8px; font-size:12px; color:var(--muted); }
.amount-note:empty {display:none;}
.sheet .raise-confirm {min-height:48px; margin-bottom:0;}
@media(max-width:350px) {
  #actions { gap: 5px; }
  #actions .act { padding-inline:3px; font-size:14px; min-height:46px; }
}
#actions .seat-entry {
  flex: 0 1 320px;
  margin-inline: auto;
  min-height: 56px;
  gap: 14px;
  font: clamp(12px, 3vw, 14px)/1.35 "Club Arcade", monospace;
  letter-spacing: 0;
  text-decoration: none;
  touch-action: manipulation;
}
#actions .seat-entry::after {
  content: "";
  order: -1;
  width: 16px;
  height: 16px;
  flex: none;
  background: currentColor;
  clip-path: polygon(37.5% 0,62.5% 0,62.5% 12.5%,75% 12.5%,75% 25%,87.5% 25%,87.5% 37.5%,100% 37.5%,100% 62.5%,87.5% 62.5%,87.5% 75%,62.5% 75%,62.5% 62.5%,62.5% 87.5%,75% 87.5%,75% 100%,25% 100%,25% 87.5%,37.5% 87.5%,37.5% 62.5%,37.5% 75%,12.5% 75%,12.5% 62.5%,0 62.5%,0 37.5%,12.5% 37.5%,12.5% 25%,25% 25%,25% 12.5%,37.5% 12.5%);
}
@media (hover: hover) {
  #actions .seat-entry:hover::before { background: var(--glint); }
}
#actions .seat-entry:active::before { inset-block-start: 3px; box-shadow: inset 0 1px var(--glint), inset 0 -2px var(--lip); }
.crash-link {display: none;}
body[data-scene="lobby"] .crash-link {
  display: inline-flex; align-items: center; gap: 4px; min-height: 40px; padding: 0 4px;
  color: var(--accent); font: 12px/1.3 "Club Arcade", monospace; text-decoration: none;
}
body[data-scene="lobby"] .title-row .mode {display: none;}
.crash-link:focus-visible {outline: 2px solid var(--accent); outline-offset: 3px;}
.felt .seat:has(.turn-clock) {position: relative; inset: auto;}
.felt .turn-clock {
  position: absolute; top: -12px; inset-inline-end: -4px; z-index: 2;
  display: grid; width: 26px; height: 26px; place-items: center; pointer-events: none;
  border-radius: 50%; background: var(--panel); color: var(--accent); font: 700 10px/1 system-ui;
  font-variant-numeric: tabular-nums;
}
.turn-clock svg {position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg);}
.turn-clock circle {fill:none; stroke-width: 2.3;}
.turn-clock .clock-track {stroke:var(--edge);}
.turn-clock .clock-left {stroke:currentColor;}
.felt .turn-clock.urgent {color:#ffad99;}
.receipt-pot {font:700 16px/1.2 system-ui; margin:12px 0 2px;}
.receipt-winner {margin:4px 0;}
.receipt-cards {display:flex; flex-wrap:wrap; gap:3px; align-items:center; color:var(--muted); font-size:13px;}
.receipt-cards > span:last-child {margin-inline-start:4px;}
