:root{--text:#1d1b22;--muted:#6b6375;--bg:#f6f5f3;--surface:#fff;--surface-2:#f0eef2;--border:#e2e0e6;--accent:#0f766e;--accent-text:#fff;--danger:#b91c1c;--warning:#a16207;--ok:#15803d;--felt:#0f5132;--felt-edge:#3b2a1a;--seat-bg:#fdfcfb;--gold:#eab308;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font:15px/1.5 system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#ecebef;--muted:#a19aab;--bg:#131217;--surface:#1c1b21;--surface-2:#25232b;--border:#2e2c35;--accent:#2dd4bf;--accent-text:#042f2e;--danger:#f87171;--warning:#facc15;--ok:#4ade80;--felt:#0c3d27;--felt-edge:#2a1d12;--seat-bg:#1f1e24}}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1{margin:0 0 8px;font-size:1.6rem}h2{margin:0 0 8px;font-size:1.1rem}a{color:var(--accent)}code{font-size:.9em}.muted{color:var(--muted)}.small-text{font-size:.85rem}.error,.error-message{color:var(--danger)}.warning{color:var(--warning)}.notice{color:var(--ok)}.topbar{border-bottom:1px solid var(--border);background:var(--surface)}.topbar-inner{flex-wrap:wrap;align-items:center;gap:8px 24px;max-width:1200px;margin:0 auto;padding:10px 16px;display:flex}.brand{color:var(--text);font-size:1.1rem;font-weight:700;text-decoration:none}.nav{gap:16px;display:flex}.nav a{color:var(--muted);text-decoration:none}.nav a.active{color:var(--text);font-weight:600}.account{align-items:center;gap:12px;margin-left:auto;display:flex}.account-email{font-size:.85rem}@media (width<=600px){.account-email{display:none}}.page{max-width:1200px;margin:0 auto;padding:24px 16px 64px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.panel{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin-bottom:16px;padding:16px}.stack{flex-direction:column;gap:12px;display:flex}.stack>*{margin:0}.empty{text-align:center}.button{border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;padding:8px 14px;font-weight:600;text-decoration:none;display:inline-flex}.button.small{padding:4px 10px;font-size:.85rem}.button.secondary{color:var(--text);border-color:var(--border);background:0 0}.button.danger{color:var(--danger);border-color:var(--danger);background:0 0}.button:disabled{opacity:.5;cursor:not-allowed}.link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.row-actions,.card-actions,.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.actions{justify-content:flex-end}.field{flex-direction:column;gap:4px;display:flex}.field>span{font-size:.9rem;font-weight:600}input,select,textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:8px 10px}input:disabled,select:disabled{opacity:.6}.inline-form{flex-wrap:wrap;gap:8px;display:flex}.inline-form input{flex:240px;width:auto}.badge{background:var(--surface-2);color:var(--text);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:600;display:inline-block}.status{font-weight:600}.status-running{color:var(--ok)}.status-paused{color:var(--warning)}.auth-card{max-width:400px;margin:32px auto}.dialog{border:1px solid var(--border);background:var(--surface);width:min(480px,100vw - 32px);color:var(--text);border-radius:12px;padding:20px}.dialog::backdrop{background:#00000080}.dialog form{flex-direction:column;gap:14px;display:flex}.dialog p{margin:0}.table-scroll{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);padding:10px 12px}.data-table th{color:var(--muted);font-size:.8rem;font-weight:600}.data-table tbody tr:last-child td{border-bottom:0}.data-table .row-actions{flex-wrap:nowrap;justify-content:flex-end}.player-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}@media (width<=400px){.player-grid{grid-template-columns:1fr}}.player-card{flex-direction:column;gap:12px;margin:0;display:flex}.player-card.disabled{opacity:.75}.player-head{align-items:center;gap:12px;display:flex}.player-head h2{margin:0}.player-head .badge{margin-left:auto}.stat-tiles{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px 12px;margin:0;display:grid}.stat-tiles dt{color:var(--muted);font-size:.8rem}.stat-tiles dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.1rem;font-weight:700}.positive{color:var(--ok)}.negative{color:var(--danger)}.seat-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.seat-list li{background:var(--surface-2);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.card-actions{margin-top:auto}.editor-layout{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:start;gap:16px;display:grid}@media (width<=860px){.editor-layout{grid-template-columns:1fr}}.strategy-editor{flex-direction:column;gap:8px;margin:0;display:flex}.strategy-editor p{margin:0}.strategy-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.strategy-head h2{margin:0;font-size:1.3rem}.strategy-editor textarea{resize:vertical;min-height:460px;font:14px/1.6 ui-monospace,SF Mono,Menlo,monospace}.settings-panel{margin:0}.avatar{object-fit:cover;border-radius:50%;flex:none}.avatar.initials{background:var(--accent);color:var(--accent-text);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.card{color:#18181b;letter-spacing:-.02em;background:#fff;border:1px solid #d4d4d8;border-radius:6px;justify-content:center;align-items:center;width:40px;height:56px;font-size:1rem;font-weight:700;display:inline-flex;box-shadow:0 1px 2px #00000040}.card.red{color:#dc2626}.card.small{border-radius:4px;width:26px;height:36px;font-size:.75rem}.card.back{background:repeating-linear-gradient(45deg,#1e3a8a 0 4px,#2548a8 4px 8px);border-color:#1e3a8a}.card.slot{box-shadow:none;background:0 0;border:1px dashed #ffffff40}@media (width<=600px){.card{width:30px;height:42px;font-size:.8rem}.card.small{width:20px;height:28px;font-size:.6rem}}.felt-wrap{margin-bottom:16px;padding:60px 70px}.felt{aspect-ratio:2;border:12px solid var(--felt-edge);background:radial-gradient(ellipse at center, #16784a 0%, var(--felt) 75%);border-radius:999px;position:relative;box-shadow:inset 0 0 40px #0006}.felt-center{color:#ecfdf5;text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.board{gap:6px;display:flex}.pot{font-size:1.1rem;font-weight:700}.hand-meta{opacity:.8;font-size:.85rem}.seat{z-index:1;border:2px solid var(--border);background:var(--seat-bg);border-radius:10px;flex-direction:column;gap:4px;width:150px;padding:8px;font-size:.8rem;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #00000040}.seat.empty{opacity:.6;width:90px;box-shadow:none;border-style:dashed;align-items:center}.seat.acting{border-color:var(--gold);box-shadow:0 0 0 3px #eab30859,0 2px 8px #00000040}.seat.folded{opacity:.55}.seat.winner{border-color:var(--ok)}.seat.mine{outline:2px dashed var(--accent);outline-offset:2px}.seat-head{align-items:center;gap:6px;min-width:0;display:flex}.seat-names{flex-direction:column;min-width:0;line-height:1.25;display:flex}.seat-names strong,.seat-model{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.seat-model{color:var(--muted);font-size:.7rem}.seat-stack{justify-content:space-between;align-items:center;font-weight:700;display:flex}.dealer{color:#18181b;background:#fafafa;border:1px solid #a1a1aa;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.65rem;font-weight:800;display:inline-flex}.seat-cards{gap:3px;min-height:36px;display:flex}.seat-status{flex-wrap:wrap;gap:4px;display:flex}.badge.turn{background:var(--gold);color:#18181b}.badge.win{background:var(--ok);color:#fff}.badge.allin{background:var(--danger);color:#fff}.seat-bet{background:var(--gold);color:#18181b;white-space:nowrap;border-radius:999px;padding:0 8px;font-size:.75rem;font-weight:700;position:absolute;bottom:-22px;left:50%;transform:translate(-50%)}@media (width<=700px){.felt-wrap{padding:0}.felt{aspect-ratio:auto;border-width:6px;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;display:grid}.felt-center{grid-column:1/-1;padding:8px 0 12px;position:static}.seat{width:auto;font-size:.75rem;position:static;transform:none}.seat.empty{display:none}.seat-bet{align-self:flex-start;position:static;transform:none}}.connection{color:var(--muted);font-size:.85rem;font-weight:600}.connection-live{color:var(--ok)}.connection-reconnecting{color:var(--warning)}.table-panels{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.table-panels .panel{margin:0}.action-log,.result-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.action-log li{grid-template-columns:64px minmax(0,1fr) auto;gap:8px;display:grid}.action-log li.muted{display:block}.result-list li,.result-board{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.result-board>.muted:first-child{margin-right:4px}h3{margin:16px 0 8px;font-size:.95rem}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.name-cell{align-items:center;gap:8px;display:inline-flex}.detail-cell{text-overflow:ellipsis;max-width:320px;overflow:hidden}.spaced{margin-top:16px}.pager{justify-content:center;margin-top:12px}.steps{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.steps-nav{gap:8px;margin-left:auto;display:flex}.replay-board{background:var(--felt);border-color:var(--felt-edge);color:#fff;flex-direction:column;align-items:center;gap:8px;display:flex}.replay-players,.replay-actions{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.replay-players li{background:var(--surface-2);border-radius:8px;grid-template-columns:minmax(0,1fr) auto 80px;align-items:center;gap:8px;padding:8px 10px;display:grid}.replay-players li.folded{opacity:.55}.replay-players .badge{margin-right:4px}.replay-stack{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.replay-actions li{border-bottom:1px solid var(--border);padding-bottom:6px}.replay-actions li:last-child{border-bottom:0}.replay-actions .badge{margin-left:6px}
