:root{--bg: #f7f8fa;--surface: #ffffff;--ink: #1f2937;--muted: #6b7280;--accent: #0d9488;--accent-2: #22c55e;--danger: #dc2626;--radius: 14px;--shadow: 0 8px 24px rgba(17, 24, 39, .08)}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,SF Pro Text,sans-serif;color:var(--ink);background:radial-gradient(circle at 20% 20%,#e6fffb,var(--bg) 45%)}.screen{min-height:100dvh;padding:14px;display:flex;flex-direction:column;gap:12px}.stack{display:flex;flex-direction:column;gap:10px}.panel{background:var(--surface);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow)}.topbar{display:flex;justify-content:space-between;align-items:center}button,input,select{width:100%;border:1px solid #d1d5db;border-radius:12px;min-height:42px;padding:0 12px;background:#fff;font-size:15px}button{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border:none;font-weight:600}.room-item{display:flex;flex-direction:column;align-items:flex-start}.player-strip{display:flex;gap:8px;overflow-x:auto}.player-chip{min-width:96px;padding:8px;border-radius:12px;background:#fff;border:1px solid #e5e7eb}.player-chip.me{border-color:var(--accent)}.player-chip.attacker{background:#e6fffa}.player-chip.defender{background:#eff6ff}.table{background:#fff;border-radius:var(--radius);padding:12px;box-shadow:var(--shadow)}.pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pair{display:flex;gap:6px}.slot{width:54px;height:78px;border-radius:10px;border:1px dashed #9ca3af;display:grid;place-items:center}.card{width:54px;height:78px;border-radius:10px;border:1px solid #d1d5db;background:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:6px;animation:deal .25s ease}.card.selected{transform:translateY(-5px);border-color:var(--accent)}.card-rank{font-weight:700}.card-suit{align-self:flex-end}.red{color:#dc2626}.hand-list{display:flex;gap:7px;overflow-x:auto;padding-bottom:6px}.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.error{color:var(--danger);font-size:14px}.hint{color:var(--muted);font-size:13px}.check{display:flex;align-items:center;gap:8px}.check input{width:18px;min-height:18px}@keyframes deal{0%{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
