*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0f1923;color:#e0e0e0;min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:2rem}.connecting{text-align:center;font-size:1.2rem;color:#888;margin-top:4rem}.room-form{background:#1a2633;padding:2rem;border-radius:12px;width:100%;max-width:400px;display:flex;flex-direction:column;gap:1rem}.room-form h1{text-align:center;font-size:1.8rem;margin-bottom:.5rem;color:#f5c842}.field{display:flex;flex-direction:column;gap:.4rem}.field label{font-size:.85rem;color:#aaa;text-transform:uppercase;letter-spacing:.05em}.field input{padding:.7rem .8rem;border:1px solid #2d3a47;border-radius:6px;background:#0f1923;color:#e0e0e0;font-size:1rem;outline:none;transition:border-color .2s}.field input:focus{border-color:#f5c842}.btn{padding:.75rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:#f5c842;color:#0f1923}.btn-secondary{background:#2d3a47;color:#e0e0e0}.btn-danger{background:#c0392b;color:#fff}.error{color:#e74c3c;text-align:center;font-size:.9rem;padding:.5rem;background:rgba(231,76,60,.1);border-radius:6px}hr{border:none;border-top:1px solid #2d3a47;margin:.5rem 0}.table-page{width:100%;max-width:750px}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.table-header h1{color:#f5c842;font-size:1.4rem}.room-code{font-size:.9rem;color:#888}.room-code strong{color:#f5c842;letter-spacing:.15em}.seat-card{padding:1rem;border-radius:10px;text-align:center;transition:all .2s}.seat-empty{border:2px dashed #2d3a47;background:transparent}.seat-filled{border:2px solid #2d3a47;background:#1a2633}.seat-disconnected{opacity:.5;border-color:#555}.seat-turn{border-color:#f5c842;box-shadow:0 0 8px rgba(245,200,66,.3)}.seat-number{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.3rem}.seat-nickname{font-size:1.1rem;font-weight:600;color:#e0e0e0;margin-bottom:.2rem}.seat-cards{font-size:.85rem;color:#aaa;margin-bottom:.2rem}.seat-status{font-size:.75rem;color:#888}.seat-filled .seat-status{color:#2ecc71}.seat-disconnected .seat-status{color:#e67e22}.game-table{gap:1rem;margin:1rem 0;width:100%}.game-table,.game-table-section{display:flex;flex-direction:column;align-items:center}.game-table-section{gap:.5rem}.game-table-section-left,.game-table-section-right{flex-direction:column;align-items:center;min-width:120px}.game-table-middle{display:flex;justify-content:space-between;align-items:flex-start;width:100%;gap:.5rem}.game-table-center{flex:1 1;text-align:center;padding:0 .5rem}.game-table-player-area,.played-card-slot{display:flex;flex-direction:column;align-items:center}.played-card-slot{justify-content:center;width:56px;height:78px;border:2px dashed #2d3a47;border-radius:8px;background:transparent;transition:border .2s,background .2s}.played-card-slot-filled{border-style:solid;border-color:#2d3a47;background:#1a2633}.played-card-slot-left,.played-card-slot-right{width:50px;height:70px}.played-card-rank{font-size:1.2rem;font-weight:700;line-height:1}.played-card-slot-left .played-card-rank,.played-card-slot-right .played-card-rank{font-size:1rem}.played-card-suit{font-size:.8rem;font-weight:600;margin-top:2px}.played-card-slot-left .played-card-suit,.played-card-slot-right .played-card-suit{font-size:.7rem}.played-card-by{font-size:.55rem;color:#888;margin-top:4px;max-width:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-table-center .status-text{font-size:1rem;color:#aaa;margin-bottom:.8rem}.game-table-center .status-text strong{color:#f5c842}.game-table-center .status-finished{color:#2ecc71;font-weight:600}.start-btn{width:100%;max-width:300px}.hand-section{margin-top:.5rem}.hand-section h3{font-size:.9rem;color:#888;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.6rem;text-align:center}.hand-cards{gap:.6rem;flex-wrap:wrap}.card,.hand-cards{display:flex;justify-content:center}.card{flex-direction:column;align-items:center;width:64px;height:88px;border:2px solid #2d3a47;border-radius:8px;background:#fff;color:#0f1923;font-family:inherit;cursor:pointer;transition:transform .15s,box-shadow .15s;padding:0}.card-clickable:hover{transform:translateY(-6px);box-shadow:0 4px 12px rgba(245,200,66,.3);border-color:#f5c842}.card-disabled{opacity:.5;cursor:not-allowed}.card-rank{font-size:1.4rem;font-weight:700;line-height:1}.card-suit{font-size:.85rem;font-weight:600;margin-top:2px}.no-cards{color:#666;font-size:.9rem;font-style:italic;text-align:center}@media (max-width:600px){.game-table-middle{gap:.25rem}.game-table-section-left,.game-table-section-right{min-width:0}.played-card-slot{width:48px;height:68px}.played-card-slot-left,.played-card-slot-right{width:42px;height:60px}.played-card-rank{font-size:1rem}.played-card-slot-left .played-card-rank,.played-card-slot-right .played-card-rank{font-size:.85rem}.seat-card{padding:.6rem}.seat-nickname{font-size:.9rem}}