:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:left}.app{display:flex;flex-direction:column;gap:1rem}.panel{border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:1rem}.panel>summary{cursor:pointer;font-size:1.25rem;font-weight:650}.panel>summary h2{display:inline;font-size:inherit;font-weight:inherit;margin:0}.panel>summary::-webkit-details-marker{display:none}.panel.compact{padding:.75rem}.row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.label{display:flex;flex-direction:column;gap:.25rem;min-width:240px}.status{display:grid;gap:.25rem;margin-top:.5rem}.kv{display:grid;grid-template-columns:140px 1fr auto;gap:.5rem;align-items:center}.kv .k{opacity:.8}.kv .v{overflow-wrap:anywhere}button.tiny{padding:.25rem .5rem;font-size:.9rem}.copyStatus{margin-top:.25rem;opacity:.9}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-top:.5rem}.seat{border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:.5rem}.error{margin-top:.5rem;font-weight:600}.log{max-height:220px;overflow:auto;font-size:.9rem;line-height:1.35;white-space:pre-wrap}.muted{opacity:.75}.matchHeader{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:.75rem}.playersRow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-bottom:.75rem}.playerBox{border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:.6rem;background:#ffffff08;display:grid;gap:.35rem}.playerBox.isTurn{border-color:#646cffbf;background:#646cff1f}.playerName{font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playerStats{display:flex;flex-wrap:wrap;gap:.6rem;font-size:.92rem;opacity:.92}.playerStatK{opacity:.8;margin-right:.25rem}.matchMeta{display:grid;gap:.25rem;opacity:.9}.turnBadge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .7rem;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#ffffff0a;font-weight:650}.turnBadge.yourTurn{border-color:#646cffbf;background:#646cff24}.board{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;margin-bottom:1rem}.boardSuitRow{border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:.6rem;display:flex;gap:.75rem;align-items:center}.boardSuitHeader{font-weight:750;width:24px;text-align:center;opacity:.95}.boardSuitHeader.red{opacity:1}.cardRow{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.stackRow{display:flex;gap:.4rem;align-items:center;flex:1}.stackSide{display:flex;gap:.4rem;flex:1;flex-wrap:wrap;align-items:center}.stackLeft{justify-content:flex-end}.stackRight{justify-content:flex-start}.stackCenter{flex:0 0 auto}.handSummary{display:grid;gap:.15rem;min-width:240px}.subsection{margin-top:.75rem}.subTitle{font-weight:700;margin-bottom:.35rem;opacity:.95}.cardTile{width:44px;height:60px;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:#0000002e;display:grid;grid-template-rows:1fr 1fr auto;padding:.35rem;text-align:left;-webkit-user-select:none;user-select:none}button.cardTile{cursor:pointer}.cardTile:hover{border-color:#ffffff52}.cardTile.legal{border-color:#646cffcc;background:#646cff1f}.cardTile.selected{outline:3px solid rgba(255,255,255,.35);outline-offset:1px}.cardTile.dim{opacity:.55}.cardRank{font-weight:750;line-height:1}.cardSuit{justify-self:end;align-self:end;font-size:1.05rem;line-height:1}.cardSuitLabel{font-size:.6rem;font-weight:700;letter-spacing:.04em;opacity:.7;line-height:1;padding-top:.1rem}.cardTile.suitOnly{grid-template-rows:1fr auto;place-items:center;text-align:center}.cardTile.suitOnly .cardSuit{justify-self:center;align-self:center;font-size:1.25rem}.cardTile.suitOnly .cardSuitLabel{justify-self:center}.cardTile.suit-c{border-left:3px solid rgba(120,200,120,.5)}.cardTile.suit-d{border-left:3px solid rgba(255,160,80,.5)}.cardTile.suit-h{border-left:3px solid rgba(255,120,120,.5)}.cardTile.suit-s{border-left:3px solid rgba(120,160,255,.5)}.cardTile.red{color:#ffaaaaf2}.cardTile.black{color:#ffffffeb}.page{display:flex;flex-direction:column;gap:1.25rem;max-width:1280px;margin:0 auto;padding:1.5rem 1rem}.field{display:flex;flex-direction:column;gap:.3rem}.field.inlineField{flex-direction:row;align-items:center;gap:.5rem}.fieldLabel{font-size:.875rem;font-weight:600;opacity:.85}.btn-primary{background:#646cffd9;color:#fff;border:1px solid rgba(100,108,255,.5);border-radius:6px;padding:.5rem 1rem;font-weight:650;cursor:pointer}.btn-primary:hover:not(:disabled){background:#646cff}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-secondary{background:#ffffff12;color:inherit;border:1px solid rgba(255,255,255,.18);border-radius:6px;padding:.5rem 1rem;font-weight:600;cursor:pointer}.btn-secondary:hover:not(:disabled){background:#ffffff21}.btn-secondary:disabled{opacity:.45;cursor:not-allowed}.btn-link{background:none;border:none;color:inherit;padding:0;cursor:pointer;text-decoration:underline;font-size:inherit;opacity:.85}.btn-link:hover{opacity:1}.errorMsg{color:#ff8c8cf2;font-weight:600;margin:0}.statusNote{opacity:.8;font-size:.9rem;margin:0}.homeHeader{text-align:center}.gameTitle{font-size:2rem;font-weight:800;margin:0 0 .25rem}.gameTagline{margin:0;opacity:.75}.homeGrid{display:grid;grid-template-columns:minmax(280px,400px) 1fr;gap:1.25rem;align-items:start}@media(max-width:680px){.homeGrid{grid-template-columns:1fr}}.homeCard{border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.homeCard h2{margin:0 0 .25rem;font-size:1.15rem}.divider{border:none;border-top:1px solid rgba(255,255,255,.1);margin:.25rem 0}.joinRow{display:flex;gap:.5rem;align-items:center}.joinRow input{flex:1}.lbTable{width:100%;border-collapse:collapse;font-size:.9rem}.lbTable th,.lbTable td{text-align:left;padding:.3rem .5rem;border-bottom:1px solid rgba(255,255,255,.07)}.lbTable th{opacity:.75;font-weight:600}.lobbyHeader{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between}.lobbyHeader h1{margin:0;font-size:1.5rem}.lobbyMeta{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;font-size:.9rem;opacity:.9}.seatsGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}@media(max-width:600px){.seatsGrid{grid-template-columns:repeat(2,1fr)}}.seatCard{border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:.75rem;display:flex;flex-direction:column;gap:.3rem;min-height:90px}.seatCard.isYou{border-color:#646cff99;background:#646cff12}.seatCard.empty{opacity:.6}.seatNum{font-size:.8rem;opacity:.65;font-weight:600}.seatName{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seatReady{font-size:.85rem}.seatReady.ready{color:#78c878e6}.seatReady.notReady{opacity:.65}.seatConn{font-size:.8rem;opacity:.6}.seatEmpty{font-size:.85rem;opacity:.55;font-style:italic}.lobbyActions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.playerBox.isYou{outline:1px solid rgba(100,108,255,.4)}.handControls{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.scoreTable{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem}.scoreRow{display:flex;gap:.75rem;align-items:baseline;font-size:.92rem}.scoreName{min-width:100px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scoreRound{opacity:.85}.scoreTotal{font-weight:700;margin-left:auto}.matchEndPanel{border-color:#64c86466;background:#64c8640d}
