/* A single deck treatment. Card dimensions and seat rotations remain layout-owned. */
:is(.playing-card, .mini-card).professional-card {
  container-type: inline-size;
  isolation: isolate;
  overflow: hidden;
  padding: 0;
  background: #fffdf7;
  color: #17201e;
  border-color: #e7e3d8;
}
:is(.playing-card, .mini-card).professional-card.is-red { color: #bb2735; }
:is(.playing-card, .mini-card).professional-card .pc-art {
  position: absolute;
  display: block;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}
:is(.playing-card, .mini-card).professional-card .pc-corner {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  min-width: 0;
  width: 22%;
  margin: 0;
  padding: 0;
  font-size: 12px;
  font-size: clamp(6px, 26cqw, 18px);
  line-height: 1;
  text-align: center;
  z-index: 1;
  pointer-events: none;
}
:is(.playing-card, .mini-card).professional-card .pc-corner.is-top { top: 4%; left: 3%; right: auto; bottom: auto; transform: none; }
:is(.playing-card, .mini-card).professional-card .pc-corner.is-bottom { bottom: 4%; right: 3%; left: auto; top: auto; transform: rotate(180deg); }
:is(.playing-card, .mini-card).professional-card .pc-corner b {
  font-family: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  font-size: inherit;
  font-style: normal;
  font-weight: 750;
  font-variant-numeric: lining-nums tabular-nums;
  letter-spacing: -0.055em;
  line-height: 0.94;
}
:is(.playing-card, .mini-card).professional-card[data-card-rank="10"] .pc-corner b { font-size: 0.78em; letter-spacing: -0.11em; line-height: 1.2; }
:is(.playing-card, .mini-card).professional-card .pc-corner i {
  display: block;
  width: 55%;
  height: auto;
  margin: 1px 0 0;
  font-size: inherit;
  line-height: 0;
}
:is(.playing-card, .mini-card).professional-card .pc-corner i svg { display: block; width: 100%; height: auto; aspect-ratio: 1; }
.professional-card .pc-court-frame { fill: #f7f0df; stroke: currentColor; stroke-width: 1.1; }
.professional-card .pc-court-gold { fill: #b29759; stroke: currentColor; stroke-width: 1.1; stroke-linejoin: round; }
.professional-card .pc-court-line { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.professional-card .pc-court-band { fill: #b29759; stroke: currentColor; stroke-width: 1; }
