.poc-root {
  --poc-bg: #0f172a;
  --poc-surface: #111827;
  --poc-primary: #16a34a;
  --poc-text: #f8fafc;
  --poc-muted: #94a3b8;
  --poc-border: rgba(255,255,255,0.12);
  --poc-table: #0f5c3b;
  --poc-radius: 18px;
  color: var(--poc-text);
  font: inherit;
}
.poc-shell { background: var(--poc-bg); color: var(--poc-text); border-radius: 24px; padding: 20px; border: 1px solid var(--poc-border); box-shadow: 0 20px 45px rgba(0,0,0,.25); }
.poc-controls { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-bottom: 18px; }
.poc-field { display:flex; flex-direction:column; gap:6px; }
.poc-label { font-size:.875rem; color: var(--poc-muted); }
.poc-select, .poc-button { width:100%; border-radius: 14px; border:1px solid var(--poc-border); min-height: 46px; padding: 10px 12px; font: inherit; }
.poc-select { background: var(--poc-surface); color: var(--poc-text); }
.poc-button { background: var(--poc-surface); color: var(--poc-text); cursor:pointer; }
.poc-button--primary { background: var(--poc-primary); color: white; border-color: transparent; }
.poc-button[disabled] { opacity:.55; cursor:not-allowed; }
.poc-main { display:grid; grid-template-columns: 1.3fr .9fr; gap: 18px; align-items: start; }
.poc-table-wrap, .poc-side { background: var(--poc-surface); border:1px solid var(--poc-border); border-radius: 20px; padding: 16px; }
.poc-table-wrap { min-height: 400px; display:flex; align-items:center; justify-content:center; }
.poc-table { position:relative; width:100%; aspect-ratio: 1.45 / 1; border-radius: 999px; background: radial-gradient(circle at center, rgba(255,255,255,.08), rgba(255,255,255,0) 45%), var(--poc-table); border: 10px solid rgba(0,0,0,.18); box-shadow: inset 0 0 0 2px rgba(255,255,255,.06), inset 0 20px 40px rgba(255,255,255,.06), inset 0 -20px 40px rgba(0,0,0,.18); overflow:hidden; }
.poc-logo { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.poc-logo img { max-width: 34%; max-height: 34%; object-fit: contain; }
.poc-board { position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); display:flex; gap:8px; z-index:2; }
.poc-board-label { position:absolute; left:50%; top: calc(50% - 64px); transform:translateX(-50%); color: var(--poc-muted); font-size:.8rem; letter-spacing:.04em; text-transform:uppercase; }
.poc-status { margin-bottom: 12px; color: var(--poc-muted); font-size: .95rem; }
.poc-players { display:grid; gap: 12px; }
.poc-player { border:1px solid var(--poc-border); border-radius: 18px; padding: 14px; background: rgba(255,255,255,.02); }
.poc-player-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.poc-player-title { font-weight:600; }
.poc-cards { display:flex; gap:8px; flex-wrap:wrap; margin-bottom: 10px; }
.poc-card-slot {
  width: 56px; height: 76px; border-radius: 14px; border:1px dashed rgba(255,255,255,.18); background: white; color: #111827;
  display:flex; align-items:center; justify-content:center; flex-direction:column; cursor:pointer; padding:4px; position:relative; font-weight:700;
}
.poc-card-slot--empty { background: rgba(255,255,255,.04); color: var(--poc-muted); }
.poc-card-rank { font-size:1.15rem; line-height:1; }
.poc-card-suit { font-size:1rem; line-height:1; margin-top:2px; }
.poc-card-slot--red .poc-card-rank, .poc-card-slot--red .poc-card-suit { color:#dc2626; }
.poc-results { display:flex; gap: 8px; flex-wrap:wrap; }
.poc-result-pill { border:1px solid var(--poc-border); border-radius: 999px; padding: 6px 10px; font-size:.86rem; background: rgba(255,255,255,.03); }
.poc-modal-backdrop { position:fixed; inset:0; background: var(--poc-bg); display:flex; align-items:flex-end; justify-content:center; z-index:99999; padding: 16px; }
.poc-modal { width:min(560px, 100%); background: var(--poc-bg); border:1px solid rgba(255,255,255,.18); border-radius: 20px; padding: 16px; color: var(--poc-text); box-shadow: 0 20px 45px rgba(0,0,0,.55); }
.poc-modal { color: var(--poc-text); }
.poc-modal h3 { margin:0 0 12px; color: var(--poc-text); }
.poc-grid { display:grid; gap:10px; }
.poc-grid--ranks { grid-template-columns: repeat(5, minmax(0,1fr)); }
.poc-grid--suits { grid-template-columns: repeat(4, minmax(0,1fr)); }
.poc-chip { min-height: 44px; border-radius: 12px; border:1px solid var(--poc-border); background: var(--poc-surface); color: var(--poc-text); cursor:pointer; font: inherit; }
.poc-chip.is-active { background: var(--poc-primary); color: white; border-color: transparent; }
.poc-modal-actions { display:flex; gap:10px; margin-top: 14px; }
.poc-seat-markers { position:absolute; inset:0; pointer-events:none; }
.poc-seat { position:absolute; width:70px; height:30px; border:1px solid rgba(255,255,255,.12); border-radius: 999px; background: rgba(255,255,255,.03); }
.poc-seat--1 { left:10%; top:16%; }
.poc-seat--2 { left:50%; top:8%; transform:translateX(-50%); }
.poc-seat--3 { right:10%; top:16%; }
.poc-seat--4 { left:10%; bottom:16%; }
.poc-seat--5 { left:50%; bottom:8%; transform:translateX(-50%); }
.poc-seat--6 { right:10%; bottom:16%; }

.poc-mobile-actions { display:none; margin-top: 14px; }
.poc-actions-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }

@media (max-width: 900px) {
  .poc-controls { grid-template-columns: 1fr 1fr; }
  .poc-main { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .poc-shell { padding: 14px; border-radius: 18px; }
  .poc-controls { grid-template-columns: 1fr; }
  .poc-table-wrap, .poc-side { padding: 12px; }
  .poc-card-slot { width: 50px; height: 68px; }
  .poc-grid--ranks { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .poc-controls .poc-field--actions { display:none; }
  .poc-mobile-actions { display:block; position: sticky; bottom: 0; background: var(--poc-bg); padding-top: 10px; margin-top: 16px; border-top: 1px solid var(--poc-border); }
  .poc-modal-backdrop { padding: 10px; }
  .poc-modal { border-radius: 18px; }
}
