:root{font-family:Inter,system-ui,sans-serif;color:#eef2ff;background:#0f172a}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top,#1e293b,#0f172a 60%)}button,input{font:inherit}button{cursor:pointer}.app-shell{max-width:1100px;margin:0 auto;padding:24px}.app-header{justify-items:center}.app-header-row{justify-content:center}.app-brand{align-content:start;justify-items:center;text-align:center}.app-brand-logo{display:block;max-width:min(320px,78vw);width:100%;height:auto;object-fit:contain}.app-status-banner{width:100%;text-align:center}.panel{background:#0f172ad9;border:1px solid rgba(148,163,184,.25);border-radius:16px;padding:16px;box-shadow:0 12px 30px #0f172a4d}.row{display:flex;gap:16px;flex-wrap:wrap}.table-summary-row{align-items:stretch}.cards-panel{position:relative;overflow:hidden}.cards-panel.is-shuffling .card-grid{opacity:.35;transform:scale(.99)}.table-summary-column{flex:1 1 280px;display:grid;gap:16px}.my-cards-panel{align-content:start}.stack{display:grid;gap:16px}.card-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.player-card{border:1px solid rgba(96,165,250,.3);border-radius:12px;padding:12px;background:#1e293be6;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;scroll-margin-top:16px}.player-card.current-turn{border-color:#facc15d9;box-shadow:0 0 0 1px #facc1533,0 0 22px #facc153d;animation:turnPulse 1.3s ease-in-out infinite}.player-card.my-cards{border-color:#22c55ecc;box-shadow:0 0 0 1px #22c55e2e,0 0 20px #22c55e29;background:linear-gradient(180deg,#16653438,#1e293beb)}.player-card.result-win{border-color:#22c55eb3}.player-card.result-loss{border-color:#ef4444b3}.status-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:#3b82f633}.coin-controls-row{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.coin-group{display:flex;gap:2px}.coin-btn{position:relative;background:none;border:none;padding:4px 2px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:0;transition:transform 80ms ease}.coin-btn:active:not(:disabled){transform:scale(.88) translateY(2px)}.coin-btn:disabled{opacity:.25;cursor:default}.coin-sign{font-size:.95rem;font-weight:900;line-height:1;margin-bottom:1px}.coin-sign-add{color:#86efac}.coin-sign-sub{color:#fca5a5}.coin-edge-btn{padding:6px 10px;border-radius:8px;font-size:.72rem;font-weight:700;letter-spacing:.04em;cursor:pointer;background:#64748b33;border:1px solid rgba(100,116,139,.4);color:#cbd5e1;transition:background .15s ease;white-space:nowrap}.coin-edge-btn:hover:not(:disabled){background:#64748b61}.coin-edge-btn:disabled{opacity:.3;cursor:default}.bet-amount-display{display:flex;align-items:baseline;gap:12px;padding:10px 14px;border-radius:12px;background:#0f172a99;border:1px solid rgba(96,165,250,.2)}.bet-amount-value{font-size:1.6rem;font-weight:700;color:#facc15}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:6px 12px;border-radius:999px;font-size:.82rem;font-weight:700;cursor:pointer;border:2px solid transparent;transition:transform 80ms ease,opacity .15s ease}.chip:active:not(:disabled){transform:scale(.92)}.chip:disabled{opacity:.3;cursor:default}.chip-add{background:#22c55e26;border-color:#22c55e80;color:#86efac}.chip-add:hover:not(:disabled){background:#22c55e47}.chip-sub{background:#ef44441f;border-color:#ef444466;color:#fca5a5}.chip-sub:hover:not(:disabled){background:#ef44443d}.chip-max{background:#facc1526;border-color:#facc1580;color:#fde68a}.chip-max:hover:not(:disabled){background:#facc1547}.chip-reset{background:#64748b33;border-color:#64748b66;color:#cbd5e1}.chip-reset:hover:not(:disabled){background:#64748b59}.pot-inline-summary{display:grid;gap:4px;padding:10px 12px;border-radius:12px;border:1px solid rgba(96,165,250,.2);background:#0f172a8c}input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #475569;background:#0f172a;color:#fff}button{padding:10px 14px;border:0;border-radius:10px;background:#2563eb;color:#fff}button.secondary{background:#334155}button:disabled{cursor:not-allowed;opacity:.55}.balance-summary{padding:10px 12px;border-radius:12px;border:1px solid rgba(96,165,250,.2);background:#0f172a8c;overflow:hidden}.balance-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.balance-amount{font-size:1.5rem;line-height:1}.balance-summary.balance-up{border-color:#22c55e8c;background:linear-gradient(90deg,#14532d66,#0f172a8c)}.balance-summary.balance-down{border-color:#ef44448c;background:linear-gradient(90deg,#7f1d1d61,#0f172a8c)}.balance-summary.balance-up .balance-amount{color:#bbf7d0;animation:balancePopUp .85s ease-out}.balance-summary.balance-down .balance-amount{color:#fecaca;animation:balancePopDown .85s ease-out}.balance-delta{font-weight:700;letter-spacing:.01em;animation:balanceFloat 1s ease-out both}.balance-delta.up{color:#4ade80}.balance-delta.down{color:#f87171}.action-loader-panel{min-height:170px;align-content:center}.loader-row{display:flex;gap:14px;align-items:center}.loader-ring{width:28px;height:28px;border-radius:999px;border:3px solid rgba(148,163,184,.25);border-top-color:#60a5fa;animation:spin .8s linear infinite}.status-banner{padding:12px 14px;border-radius:12px;background:linear-gradient(90deg,#2563eb38,#0e74902e);border:1px solid rgba(96,165,250,.35);animation:bannerPulse 1.4s ease-out}.feed-item{padding:10px 12px;border-radius:10px;border-left:4px solid rgba(96,165,250,.8);background:#0f172aa6;animation:cardAppear .22s ease-out}.feed-item.success{border-left-color:#22c55e}.shuffle-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-items:center;gap:10px;background:#0f172ac7;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-align:center}.shuffle-stack{position:relative;width:92px;height:88px}.shuffle-card{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:54px;line-height:1;filter:drop-shadow(0 10px 16px rgba(15,23,42,.35))}.shuffle-card-one{animation:shuffleDeck .8s ease-in-out infinite}.shuffle-card-two{animation:shuffleDeck .8s ease-in-out .12s infinite}.shuffle-card-three{animation:shuffleDeck .8s ease-in-out .24s infinite}.feed-item.warn{border-left-color:#f59e0b}.feed-item.danger{border-left-color:#ef4444}.playing-card-row{display:flex;gap:10px;flex-wrap:wrap}.playing-card{position:relative;width:72px;height:104px;border-radius:12px;border:1px solid rgba(15,23,42,.15);background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 10px 24px #0f172a40;padding:8px;display:flex;align-items:center;justify-content:center;transform-origin:center top;animation:cardAppear .24s ease-out}.card-flop{animation:cardFlop .42s cubic-bezier(.2,.8,.2,1) both}.card-corner{position:absolute;top:6px;left:7px;display:grid;gap:1px;font-size:14px;line-height:1;font-weight:700}.card-corner.mirrored{top:auto;bottom:6px;left:auto;right:7px;transform:rotate(180deg)}.card-center{font-size:32px;line-height:1}.card-back{background:linear-gradient(135deg,#1d4ed8,#312e81);color:#ffffffeb;border-color:#bfdbfe59}.card-back-symbol{font-size:28px}small{color:#cbd5e1}@keyframes bannerPulse{0%{transform:scale(.99);opacity:.75}to{transform:scale(1);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes balanceFloat{0%{opacity:0;transform:translateY(10px) scale(.96)}25%{opacity:1}to{opacity:0;transform:translateY(-10px) scale(1.03)}}@keyframes balancePopUp{0%{transform:scale(.96)}40%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes balancePopDown{0%{transform:scale(1)}30%{transform:scale(.95)}to{transform:scale(1)}}@keyframes cardAppear{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cardFlop{0%{opacity:0;transform:perspective(800px) rotateX(-88deg) translateY(-28px) scale(.92)}70%{opacity:1;transform:perspective(800px) rotateX(10deg) translateY(2px) scale(1.02)}to{opacity:1;transform:perspective(800px) rotateX(0) translateY(0) scale(1)}}@keyframes shuffleDeck{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-10px) rotate(-10deg)}50%{transform:translateY(-4px) rotate(0)}75%{transform:translate(10px) rotate(10deg)}}@keyframes turnPulse{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}
