/* The opening stays inside the city stage. Public cards are always face down. */
.deal-stage {
  --deal-ink:#fbefd1; --deal-muted:#cfc8b2; --deal-gold:#d8bd7c;
  --deal-accent:#b6c49b; --deal-green:#314f46; --deal-deep:#122927;
  position:relative; isolation:isolate; width:100%; height:100%; min-width:0; min-height:0;
  display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:5px;
  container-type:size; container-name:deal-court; overflow:hidden; border-radius:inherit;
  padding:15px 23px 12px; text-align:center; color:var(--deal-ink);
  background:var(--deal-deep); font-family:var(--sans,system-ui,sans-serif); pointer-events:none;
}
.deal-stage[data-deal-theme="neon"] { --deal-ink:#e3f8ff; --deal-muted:#b8c5de; --deal-gold:#b4cded; --deal-accent:#a1e5e3; --deal-green:#283254; --deal-deep:#141e31; }
.deal-stage[data-deal-theme="woodland"] { --deal-ink:#f1efd7; --deal-muted:#c9d5b8; --deal-gold:#d4cba1; --deal-accent:#c3d6a3; --deal-green:#3f5c42; --deal-deep:#203c30; }
.deal-backdrop { position:absolute; inset:0; z-index:-1; overflow:hidden; background:radial-gradient(ellipse at 50% 65%,#76987734,transparent 69%),repeating-linear-gradient(90deg,transparent 0 88px,#ead6a905 88px 89px); }
.deal-arch { position:absolute; left:50%; top:15%; width:min(68%,560px); height:110%; transform:translateX(-50%); border:1px solid #e2cf9b14; border-radius:50% 50% 0 0; box-shadow:0 0 0 9px #071a2118,0 0 0 10px #e2cf9b0d,0 0 0 31px #071a2118,0 0 0 32px #e2cf9b08; }
.deal-floor { position:absolute; left:-15%; right:-15%; height:50%; bottom:-35%; border-radius:50%; border:1px solid #dcc99721; box-shadow:0 -7px 0 #c9c3940b,0 -9px 0 #0b242a16; }
.deal-spark { position:absolute; top:17%; width:3px; height:3px; border-radius:50%; background:var(--deal-gold); opacity:.3; box-shadow:42px 51px 0 -1px var(--deal-gold),-54px 139px 0 -1px var(--deal-gold),70px 190px 0 -1px var(--deal-gold); animation:deal-spark-arrive 1600ms ease-out both; animation-delay:var(--deal-elapsed,0ms); }
.deal-spark-one { left:23%; }.deal-spark-two { right:20%; top:24%; }
.deal-copy { position:relative; z-index:3; min-width:0; }
.deal-eyebrow { display:block; font-size:9px; font-weight:650; line-height:1.3; letter-spacing:.15em; color:var(--deal-accent); }
.deal-stage .deal-headline { margin:4px 0 4px; color:var(--deal-ink); font:400 clamp(22px,2.4vw,31px)/1.08 var(--serif,Georgia,serif); letter-spacing:-.02em; overflow-wrap:anywhere; }
.deal-stage .deal-detail { margin:0; color:var(--deal-muted); opacity:.8; font:400 11px/1.35 var(--sans,system-ui,sans-serif); overflow-wrap:anywhere; }
.deal-table { position:relative; width:min(100%,720px); min-width:0; min-height:0; height:100%; margin:0 auto; }
.deal-table-rim { position:absolute; inset:17% 7% 9%; border:1px solid #d9c48c4a; border-radius:50%; background:radial-gradient(ellipse,#2f4c4020,#6d8e6816); box-shadow:0 5px 0 #05191d66,0 6px 0 #d0b98825,inset 0 0 0 4px #112a2240,inset 0 0 0 5px #cad09611; }
.deal-table-etch { position:absolute; inset:27% 18% 19%; border:1px solid #bdd2ab12; border-radius:50%; }
.deal-table-etch::after { content:''; position:absolute; left:50%; top:50%; width:51%; height:68%; border:1px solid #d7c8920d; transform:translate(-50%,-50%); border-radius:50%; }
.deal-deck { position:absolute; top:49%; left:50%; width:42px; height:60px; transform:translate(-50%,-50%) rotate(-5deg); perspective:400px; z-index:2; }
.deal-deck-card,.deal-seat-card,.deal-flight { display:grid; place-items:center; position:absolute; border:1px solid var(--deal-gold); border-radius:4px; color:var(--deal-gold); background:repeating-linear-gradient(45deg,#d2cfac04 0 3px,transparent 3px 7px),var(--deal-green); box-shadow:0 3px 0 #091e21,inset 0 0 0 3px var(--deal-green),inset 0 0 0 4px #d1caa64a; }
.deal-deck-card::before,.deal-seat-card::before,.deal-flight::before { content:''; position:absolute; inset:6px; border:1px solid #dad7b124; border-radius:50% 50% 2px 2px; }
.deal-card-monogram { font:400 27px/1 var(--serif,Georgia,serif); }
.deal-card-diamond { position:absolute; bottom:5px; font-size:5px; opacity:.75; }
.deal-deck-card { inset:0; }
.deal-deck-bottom { transform:translate(4px,5px) rotate(8deg); }
.deal-deck-middle { transform:translate(2px,2px) rotate(3deg); animation:deal-shuffle-middle 600ms cubic-bezier(.22,.7,.35,1) both; animation-delay:var(--deal-elapsed,0ms); }
.deal-deck-top { animation:deal-shuffle-top 600ms cubic-bezier(.22,.7,.35,1) both; animation-delay:var(--deal-elapsed,0ms); }
.deal-deck-label { position:absolute; top:calc(100% + 13px); left:50%; transform:translateX(-50%) rotate(5deg); color:var(--deal-accent); font:600 7px/1 var(--sans,system-ui,sans-serif); letter-spacing:.12em; white-space:nowrap; }
.deal-seat { position:absolute; left:var(--deal-x); top:var(--deal-y); width:96px; transform:translate(-50%,-42%); z-index:3; }
.deal-seat-hand { position:relative; width:45px; height:34px; margin:0 auto; }
.deal-seat-card { position:absolute; top:0; left:calc(2px + var(--deal-slot)*18px); width:25px; height:34px; opacity:.11; transform:rotate(calc(-7deg + var(--deal-slot)*14deg)); border-style:dashed; background:#52604c20; box-shadow:none; }
.deal-seat-card .deal-card-monogram { font-size:16px; opacity:0; }
.deal-seat-card .deal-card-diamond { display:none; }
.deal-seat-card::before { inset:4px; opacity:0; }
.deal-seat-card.is-arrived { opacity:1; border-style:solid; background:var(--deal-green); box-shadow:0 2px 0 #071d2266,0 0 13px #c8dba713; transition:opacity 90ms ease-out,box-shadow 180ms ease-out; }
.deal-seat-card.is-arrived .deal-card-monogram,.deal-seat-card.is-arrived::before { opacity:1; }
.deal-seat-name { display:flex; align-items:center; justify-content:center; gap:4px; min-width:0; margin-top:6px; color:var(--deal-muted); font:500 10px/1.15 var(--sans,system-ui,sans-serif); }
.deal-seat-name>i { display:inline-grid; place-items:center; flex:0 0 13px; height:13px; border:1px solid #d5c3914a; border-radius:50%; color:var(--deal-accent); font-size:8px; font-style:normal; }
.deal-seat-name>span { max-width:75px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.deal-arrival-ring { position:absolute; inset:-7px -10px; border:1px solid var(--deal-accent); border-radius:50%; opacity:0; pointer-events:none; }
.deal-seat.is-receiving .deal-arrival-ring { animation:deal-arrival 460ms ease-out both; }
.deal-seat.is-receiving .deal-seat-name { color:var(--deal-ink); }
.deal-flight { left:50%; top:49%; width:25px; height:34px; z-index:5; opacity:0; transform:translate(-50%,-50%) rotate(-5deg); animation:deal-flight 480ms cubic-bezier(.2,.72,.25,1) both; animation-delay:var(--deal-flight-delay,0ms); will-change:left,top,transform; }
.deal-flight .deal-card-monogram { font-size:17px; }.deal-flight .deal-card-diamond { display:none; }.deal-flight::before { inset:4px; }
.deal-footer { display:grid; grid-template-columns:1fr minmax(60px,160px) 1fr; gap:14px; align-items:center; width:min(100%,720px); margin:0 auto; padding-top:3px; }
.deal-privacy,.deal-round { color:var(--deal-accent); font:500 8px/1.2 var(--sans,system-ui,sans-serif); letter-spacing:.04em; white-space:nowrap; }
.deal-privacy { text-align:left; }.deal-privacy>i { font-size:6px; margin-right:4px; font-style:normal; }.deal-round { text-align:right; font-size:7px; letter-spacing:.08em; }
.deal-progress { display:block; height:2px; overflow:hidden; border-radius:2px; background:#d8cfb024; }
.deal-progress>span { display:block; height:100%; background:linear-gradient(90deg,var(--deal-accent),var(--deal-gold)); transform-origin:left; transform:scaleX(var(--deal-progress,0)); transition:transform 120ms linear; box-shadow:0 0 9px #eed2a26b; }
.deal-stage[data-deal-phase="reveal"] .deal-table-rim,.deal-stage[data-deal-phase="ready"] .deal-table-rim { border-color:#d9c48c88; box-shadow:0 5px 0 #05191d66,0 6px 0 #d0b98845,inset 0 0 0 4px #112a2240,inset 0 0 35px #d3cd8a0d; transition:box-shadow 450ms ease,border-color 450ms ease; }
.deal-stage[data-deal-phase="ready"] .deal-deck { filter:drop-shadow(0 0 12px #e0c97c35); }

/* These covers occupy the existing private hand; card names never flash early. */
.deal-private-back { display:none; }
.influence-card[data-deal-state="waiting"],.influence-card[data-deal-state="down"] { border-color:#9baf8a!important; background:#395549!important; cursor:default; }
.influence-card[data-deal-state="waiting"]>*:not(.deal-private-back),.influence-card[data-deal-state="down"]>*:not(.deal-private-back) { visibility:hidden!important; }
.influence-card[data-deal-state="waiting"]>.deal-private-back,.influence-card[data-deal-state="down"]>.deal-private-back { display:grid; place-items:center; visibility:visible; position:absolute; inset:0; color:#d8d8b1; border-radius:inherit; background:repeating-linear-gradient(45deg,#d6d5af04 0 3px,transparent 3px 7px),#395549; font:400 54px/1 var(--serif,Georgia,serif); }
.influence-card[data-deal-state="waiting"]>.deal-private-back { opacity:.4; }
.deal-private-back>span { position:absolute; left:50%; top:43%; transform:translate(-50%,-50%); font:inherit; line-height:1; }
.deal-private-back>small { position:absolute; left:9px; right:9px; bottom:20%; font:600 7px/1.25 var(--sans,system-ui,sans-serif); letter-spacing:.1em; text-align:center; color:inherit; }
.deal-private-back::before { content:''; position:absolute; inset:7px; border:1px solid #d9d2ad88; border-radius:4px; box-shadow:inset 0 0 0 3px #395549,inset 0 0 0 4px #d9d2ad33; }
.deal-private-back::after { content:'◆'; position:absolute; bottom:13%; color:#c4c79c; font-size:8px; }
.influence-card[data-deal-state="down"] { box-shadow:0 3px 0 #889576,0 0 0 2px #bbca9422,0 7px 16px #253b2022!important; }
html[data-theme="neon"] .influence-card[data-deal-state="waiting"],html[data-theme="neon"] .influence-card[data-deal-state="down"] { border-color:#99b7dd!important; }
html[data-theme="neon"] .influence-card[data-deal-state="waiting"]>.deal-private-back,html[data-theme="neon"] .influence-card[data-deal-state="down"]>.deal-private-back { background:repeating-linear-gradient(135deg,#9ea9f40b 0 3px,transparent 3px 7px),#26334f; color:#bfd9f0; }
html[data-theme="woodland"] .influence-card[data-deal-state="waiting"]>.deal-private-back,html[data-theme="woodland"] .influence-card[data-deal-state="down"]>.deal-private-back { background:repeating-linear-gradient(45deg,#d6db9f0a 0 3px,transparent 3px 7px),#57765b; }

@keyframes deal-shuffle-top { 0% { transform:translate(0,0) rotate(0); } 26% { transform:translate(-32px,-8px) rotate(-15deg); } 53% { transform:translate(17px,-5px) rotate(8deg); } 78% { transform:translate(-6px,-2px) rotate(-4deg); } 100% { transform:translate(0,0) rotate(0); } }
@keyframes deal-shuffle-middle { 0% { transform:translate(2px,2px) rotate(3deg); } 26% { transform:translate(20px,6px) rotate(13deg); } 53% { transform:translate(-13px,4px) rotate(-8deg); } 78% { transform:translate(5px,3px) rotate(5deg); } 100% { transform:translate(2px,2px) rotate(3deg); } }
@keyframes deal-flight { 0% { left:50%; top:49%; opacity:0; transform:translate(-50%,-50%) scale(1.25) rotate(-5deg); } 6% { opacity:1; } 72% { opacity:1; } 94% { left:var(--deal-x); top:var(--deal-y); opacity:1; transform:translate(calc(-50% + var(--deal-offset)),-42%) scale(1) rotate(var(--deal-flight-tilt)); } 100% { left:var(--deal-x); top:var(--deal-y); opacity:0; transform:translate(calc(-50% + var(--deal-offset)),-42%) scale(1) rotate(var(--deal-flight-tilt)); } }
@keyframes deal-arrival { 0% { opacity:0; transform:scale(.55); } 20% { opacity:.8; } 100% { opacity:0; transform:scale(1.25); } }
@keyframes deal-spark-arrive { from { opacity:0; transform:translateY(20px); } to { opacity:.3; transform:translateY(0); } }

@container deal-court (max-height:260px) {
  .deal-stage .deal-headline { font-size:25px; }
  .deal-eyebrow { font-size:8px; }
  .deal-stage .deal-detail { font-size:10px; }
  .deal-deck { width:33px; height:48px; }
  .deal-deck .deal-card-monogram { font-size:23px; }
  .deal-deck-label { display:none; }
  .deal-seat-hand { height:28px; width:37px; }
  .deal-seat-card { width:21px; height:28px; left:calc(1px + var(--deal-slot)*15px); }
  .deal-seat-card .deal-card-monogram { font-size:14px; }
  .deal-seat-name { font-size:9px; margin-top:4px; }
  .deal-flight { width:21px; height:28px; }
  .deal-footer { padding-top:0; }
}
@container deal-court (max-width:540px) {
  .deal-stage .deal-headline { font-size:22px; }
  .deal-eyebrow { font-size:7px; letter-spacing:.1em; }
  .deal-stage .deal-detail { font-size:10px; }
  .deal-seat { width:70px; }
  .deal-seat-name { gap:2px; font-size:8px; }
  .deal-seat-name>i { flex-basis:11px; height:11px; font-size:7px; }
  .deal-seat-name>span { max-width:53px; }
  .deal-footer { gap:8px; grid-template-columns:1fr 65px; }
  .deal-round { display:none; }
  .deal-privacy { font-size:7px; }
}
@container deal-court (max-width:350px) {
  .deal-seat { width:58px; }
  .deal-seat-name { font-size:7px; }
  .deal-seat-name>span { max-width:44px; }
  .deal-seat-name>i { display:none; }
}
@container deal-court (max-height:175px) {
  .deal-copy { align-self:center; text-align:left; padding-right:135px; }
  .deal-stage .deal-headline { font-size:21px; margin:4px 0; }
  .deal-stage .deal-detail { font-size:10px; }
  .deal-eyebrow { font-size:7px; }
  .deal-table { position:absolute; right:2px; top:14px; bottom:26px; width:132px; height:auto; }
  .deal-table-rim { inset:17% 5% 9%; }
  .deal-table-etch { display:none; }
  .deal-seat { width:21px; }
  .deal-seat-hand { width:16px; height:15px; }
  .deal-seat-card { width:10px; height:15px; left:calc(var(--deal-slot)*7px); border-radius:2px; box-shadow:none; }
  .deal-seat-card::before,.deal-seat-card .deal-card-monogram,.deal-seat-name { display:none; }
  .deal-deck { width:24px; height:35px; }
  .deal-deck .deal-card-monogram { font-size:17px; }
  .deal-deck .deal-card-diamond { display:none; }
  .deal-flight { width:12px; height:17px; border-radius:2px; }
  .deal-flight .deal-card-monogram,.deal-flight::before { display:none; }
  .deal-footer { grid-template-columns:minmax(0,1fr) 70px; width:100%; }
  .deal-round { display:none; }
}
@container deal-court (max-height:100px) {
  .deal-copy { padding-right:90px; }
  .deal-eyebrow { display:none; }
  .deal-stage .deal-headline { font:650 12px/1.12 var(--sans,system-ui,sans-serif); margin:0 0 4px; }
  .deal-stage .deal-detail { font-size:9px; line-height:1.2; }
  .deal-table { right:0; top:5px; bottom:8px; width:86px; }
  .deal-footer { position:absolute; left:9px; right:100px; bottom:6px; display:block; width:auto; }
  .deal-privacy { display:none; }
  .deal-deck { width:19px; height:27px; }
  .deal-deck .deal-card-monogram { font-size:14px; }
  .deal-deck-card::before { inset:4px; }
  .deal-seat-hand { transform:scale(.7); }
}
@media(max-width:600px) { .deal-stage { padding:10px 11px 8px; gap:3px; } }
@media(max-width:760px) and (max-height:740px) {
  .in-game .table-event-banner .deal-stage { display:flex; align-items:center; padding:7px 9px 13px; }
  .in-game .table-event-banner .deal-copy { width:100%; text-align:left; padding-right:85px; }
  .in-game .table-event-banner .deal-headline { font:650 12px/1.12 var(--sans,system-ui,sans-serif); margin:0 0 4px; }
  .in-game .table-event-banner .deal-detail { font:400 9px/1.2 var(--sans,system-ui,sans-serif); margin:0; }
  .in-game .table-event-banner .deal-eyebrow,.in-game .table-event-banner .deal-privacy,.in-game .table-event-banner .deal-round { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .deal-stage *,.deal-stage *::before,.deal-stage *::after { animation:none!important; transition:none!important; }
  .deal-flight { display:none; }
}
html[data-motion="reduced"] .deal-stage *,html[data-motion="reduced"] .deal-stage *::before,html[data-motion="reduced"] .deal-stage *::after,
.deal-stage[data-deal-reduced="true"] *,.deal-stage[data-deal-reduced="true"] *::before,.deal-stage[data-deal-reduced="true"] *::after { animation:none!important; transition:none!important; }
html[data-motion="reduced"] .deal-flight,.deal-stage[data-deal-reduced="true"] .deal-flight { display:none; }
.deal-stage[data-paused="true"] *,.deal-stage[data-paused="true"] *::before,.deal-stage[data-paused="true"] *::after { animation-play-state:paused!important; }
.opening-decision-note { margin:0; font:400 12px/1.45 var(--sans,system-ui,sans-serif); color:#80735e; }
@media(max-width:760px) {
  .deal-private-back>span { top:40%; font-size:38px; }
  .deal-private-back>small { bottom:16%; font-size:6px; letter-spacing:.06em; }
  .deal-private-back::after { display:none; }
}
