:root{--bg-primary:#0a0f1a;--bg-secondary:#111827;--bg-card:#1e293b;--bg-highlight:#2d3a4f;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-gold:#fbbf24;--accent-emerald:#10b981;--accent-rose:#f43f5e;--accent-blue:#3b82f6;--suit-red:#ef4444;--suit-black:#f1f5f9;--border-color:#334155;--card-width:38px;--card-height:54px;--card-radius:4px;--card-overlap:-10px;--card-font-size:0.7rem;--card-suit-size:0.85rem;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--font-size-xs:0.7rem;--font-size-sm:0.8rem;--font-size-base:0.9rem;--font-size-md:1rem;--font-size-lg:1.1rem;--touch-target-min:44px}@media (min-width:480px){:root{--card-width:44px;--card-height:62px;--card-radius:5px;--card-overlap:-12px;--card-font-size:0.8rem;--card-suit-size:0.95rem}}@media (min-width:768px){:root{--card-width:50px;--card-height:70px;--card-radius:6px;--card-overlap:-16px;--card-font-size:0.9rem;--card-suit-size:1.1rem}}@media (min-width:1024px){:root{--card-width:60px;--card-height:84px;--card-radius:8px;--card-overlap:-20px;--card-font-size:1rem;--card-suit-size:1.25rem}}@media (min-width:1280px){:root{--card-width:65px;--card-height:91px;--card-radius:8px;--card-overlap:-22px;--card-font-size:1.1rem;--card-suit-size:1.4rem}}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg-primary);color:var(--text-primary)}body{background:radial-gradient(ellipse at 20% 20%,rgba(59,130,246,.1) 0,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(16,185,129,.08) 0,transparent 50%),var(--bg-primary)}.card{width:var(--card-width);height:var(--card-height);background:#fff;border-radius:var(--card-radius);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;font-size:var(--card-font-size);box-shadow:0 4px 12px rgba(0,0,0,.3);transition:transform .15s ease,box-shadow .15s ease;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.card.red{color:var(--suit-red)}.card.black,.card.leekha{color:#1e293b}.card.leekha{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 0 20px rgba(251,191,36,.4)}@media (hover:hover) and (pointer:fine){.card:hover:not(.disabled){transform:translateY(-8px);box-shadow:0 8px 20px rgba(0,0,0,.4)}}.card:active:not(.disabled){transform:scale(.95);box-shadow:0 2px 8px rgba(0,0,0,.3)}.card.disabled{opacity:.4;cursor:not-allowed}.card.selected{transform:translateY(-12px);box-shadow:0 0 20px var(--accent-emerald);outline:3px solid var(--accent-emerald)}.card-placeholder{width:var(--card-width);height:var(--card-height);border:2px dashed var(--border-color);border-radius:var(--card-radius);opacity:.3}.suit{font-size:var(--card-suit-size);line-height:1}.panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:16px}.panel-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:12px}.btn{padding:12px 24px;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease}.btn-primary{background:var(--accent-emerald);color:#fff}.btn-primary:hover{background:#059669;transform:translateY(-2px)}.btn-primary:disabled{background:var(--text-muted);cursor:not-allowed;transform:none}.btn-secondary{background:var(--bg-highlight);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--border-color)}.input{padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;outline:none;transition:border-color .2s ease}.input:focus{border-color:var(--accent-blue)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9999px;font-size:.75rem;font-weight:600}.badge-success{background:rgba(16,185,129,.2);color:var(--accent-emerald)}.badge-warning{background:rgba(251,191,36,.2);color:var(--accent-gold)}.badge-error{background:rgba(244,63,94,.2);color:var(--accent-rose)}.team-ns{color:var(--accent-blue)}.team-ew{color:var(--accent-rose)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn .3s ease forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}@media (max-width:767px){.btn{min-width:var(--touch-target-min);padding:10px 16px}.btn,.input{min-height:var(--touch-target-min)}.input{padding:10px 14px}}.cardTouchWrapper{min-width:var(--touch-target-min);min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.card.card-tiny{width:calc(var(--card-width) * .6);height:calc(var(--card-height) * .6);font-size:calc(var(--card-font-size) * .7)}.card.card-tiny .suit{font-size:calc(var(--card-suit-size) * .7)}.card.card-small{width:calc(var(--card-width) * .8);height:calc(var(--card-height) * .8);font-size:calc(var(--card-font-size) * .85)}.card.card-small .suit{font-size:calc(var(--card-suit-size) * .85)}.card.card-large{width:calc(var(--card-width) * 1.2);height:calc(var(--card-height) * 1.2);font-size:calc(var(--card-font-size) * 1.15)}.card.card-large .suit{font-size:calc(var(--card-suit-size) * 1.15)}@media (max-width:900px) and (orientation:landscape){:root{--card-width:40px;--card-height:56px}}