code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.waiting-for-players{align-items:center;background:#1a1a1a;color:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh;padding:2rem}.waiting-for-players h2{color:#e0e0e0;font-size:1.8rem;margin-bottom:1rem}.waiting-player-count{color:#888;font-size:1.4rem;margin-bottom:1.5rem}.waiting-player-list{display:flex;flex-direction:column;gap:.5rem;min-width:250px}.waiting-player-slot{border-radius:8px;font-size:1rem;padding:.75rem 1.25rem}.waiting-player-slot.joined{background:#1e3a1e;border:1px solid #22c55e;color:#4ade80}.waiting-player-slot.empty{background:#2a2a2a;border:1px solid #444;color:#666}.waiting-connection-status{color:#f59e0b;font-size:.9rem;margin-top:1.5rem}.nosoku-board-container{background:#1a1a1a;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;gap:1rem;justify-content:center;margin:0 auto;max-width:1800px;min-height:100vh;padding:1rem}.players-sidebar{background:linear-gradient(145deg,#2a2a2a,#1f1f1f);border-radius:12px;box-shadow:0 4px 12px #0000004d;display:flex;flex-direction:column;gap:.75rem;height:-webkit-fit-content;height:fit-content;padding:1rem;position:-webkit-sticky;position:sticky;top:1rem;width:220px}.sidebar-header{border-bottom:2px solid #3b82f6;margin-bottom:.25rem;padding-bottom:.75rem}.sidebar-header .round-info{color:#fff;font-size:1rem;font-weight:700;letter-spacing:.5px;text-align:center;text-transform:uppercase}.players-list{display:flex;flex-direction:column;gap:.75rem}.player-summary{background:linear-gradient(135deg,#2d2d2d,#252525);border:2px solid #3a3a3a;border-radius:8px;box-shadow:0 2px 4px #0003;padding:.75rem;transition:all .2s ease}.player-summary.current-player-summary{background:linear-gradient(135deg,#2563eb,#1e40af);border-color:#60a5fa;box-shadow:0 0 12px #3b82f64d}.player-summary.active-player{border-color:#eab308;box-shadow:0 0 8px #eab30866}.player-summary-header{border-bottom:1px solid #ffffff1a;font-size:.95rem;font-weight:700;margin-bottom:.5rem;padding-bottom:.35rem}.player-summary-name{color:#fff;display:block}.player-summary.current-player-summary .player-summary-name{color:#fff;text-shadow:0 1px 2px #0000004d}.player-summary-stats{display:flex;flex-direction:column;font-size:.8rem;gap:.35rem;margin-bottom:.5rem}.stat-row{align-items:center;color:#ccc;display:flex;justify-content:space-between}.player-summary.current-player-summary .stat-row{color:#e0e0e0}.zero-badge-small{background:linear-gradient(135deg,#eab308,#ca8a04);border-radius:4px;box-shadow:0 1px 3px #0000004d;color:#1a1a1a;font-size:.7rem;font-weight:700;padding:2px 6px}.player-summary-dice{flex-wrap:wrap}.player-summary-dice,.player-summary-leftover{border-top:1px solid #ffffff0d;display:flex;gap:.35rem;margin-top:.35rem;padding-top:.35rem}.player-summary-leftover{align-items:center;font-size:.75rem}.leftover-label-small{font-size:.7rem;font-weight:600;opacity:.8}.main-game-area{background:linear-gradient(145deg,#1f1f1f,#1a1a1a);border-radius:12px;box-shadow:0 4px 12px #0000004d;flex:1 1;max-width:900px;padding:1.5rem}.nosoku-board{flex:1 1;margin:0 auto;max-width:800px;min-height:100vh;padding:1rem}.header{border-bottom:1px solid #2d2d2d;justify-content:space-between;margin-bottom:1.5rem;padding:.75rem 0}.connection-status,.header{align-items:center;display:flex}.connection-status{color:#888;font-size:.75rem;font-weight:600;gap:.4rem}.connection-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.connection-dot.connected{background:#22c55e;box-shadow:0 0 5px #22c55e80}.connection-dot.disconnected{animation:pulse-dot 1s ease-in-out infinite;background:#ef4444}.connection-label{color:#888}.connection-status.disconnected .connection-label{color:#f87171}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.reconnecting-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;color:#fff;display:flex;flex-direction:column;font-size:1.1rem;font-weight:600;gap:1rem;inset:0;justify-content:center;position:fixed;z-index:2000}.spinner{animation:spin .9s linear infinite;border:3px solid #ffffff26;border-radius:50%;border-top-color:#3b82f6;height:36px;width:36px}.round-info{padding:.5rem}.header-buttons{display:flex;gap:.5rem}.btn-helper{background:#3b82f6;border:none;border-radius:6px;cursor:pointer;font-size:1.2rem;padding:.5rem .75rem;position:relative;transition:background .2s}.btn-helper:hover{background:#2563eb}.kbd-shortcut{bottom:2px;font-size:.6rem;font-weight:600;padding:1px 4px}.kbd-shortcut,.kbd-shortcut-item{background:#eab308;border-radius:3px;color:#1a1a1a;left:2px;line-height:1;pointer-events:none;position:absolute}.kbd-shortcut-item{box-shadow:0 1px 3px #0000004d;font-size:.7rem;font-weight:700;padding:2px 5px;top:2px}.center-area{background:linear-gradient(135deg,#2d2d2d,#252525);border:2px solid #3b82f6;border-radius:12px;box-shadow:0 4px 12px #3b82f633;margin:1.5rem 0;padding:1.5rem;text-align:center}.center-label{color:#60a5fa;font-size:1rem;font-weight:700;letter-spacing:1px;margin-bottom:.75rem;text-transform:uppercase}.die{align-items:center;border-radius:8px;box-shadow:0 4px 6px #0000004d;color:#fff;display:inline-flex;font-size:1.5rem;font-weight:700;height:50px;justify-content:center;margin:.25rem;position:relative;transition:transform .1s,box-shadow .1s;width:50px}.trump-star{filter:drop-shadow(0 1px 2px rgba(0,0,0,.5));font-size:.8rem;pointer-events:none;position:absolute;right:-4px;top:-4px}.die.clickable{cursor:pointer}.die.clickable:hover{box-shadow:0 6px 12px #0006;transform:translateY(-2px)}.die.clickable:active{transform:translateY(0)}.die.disabled{cursor:not-allowed;filter:grayscale(.7);opacity:.3}.die-small{font-size:1rem;height:35px;width:35px}.card{align-items:center;background:#fff;border:3px solid;border-radius:6px;box-shadow:0 2px 4px #0000004d;display:inline-flex;height:85px;justify-content:center;margin:.25rem;transition:transform .1s,box-shadow .1s;width:60px}.card.clickable{cursor:pointer}.card.clickable:hover{box-shadow:0 6px 12px #0006;transform:translateY(-4px)}.card.clickable:active{transform:translateY(0)}.card.disabled{cursor:not-allowed;filter:grayscale(.7);opacity:.3}.card-small{border-width:2px;height:55px;width:40px}.card-number{font-size:2rem;font-weight:700;position:relative}.card-small .card-number{font-size:1.3rem}.trump-star-card{filter:drop-shadow(0 1px 2px rgba(0,0,0,.5));font-size:.6rem;pointer-events:none;position:absolute;right:-8px;top:-8px}.trick-area{background:linear-gradient(135deg,#2d2d2d,#252525);border:2px solid #4a4a4a;border-radius:12px;box-shadow:0 4px 8px #0000004d;margin:1.5rem 0;padding:1.5rem}.trick-label{color:#e0e0e0;font-size:1rem;font-weight:700;letter-spacing:.5px;margin-bottom:1rem;text-align:center;text-transform:uppercase}.trick-plays{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.trick-play{align-items:center;display:flex;flex-direction:column;gap:.25rem}.player-label{font-size:.8rem;opacity:.7}.draft-area{background:linear-gradient(135deg,#2d2d2d,#252525);border:2px solid #3b82f6;border-radius:12px;box-shadow:0 4px 8px #0000004d;margin:1.5rem 0;padding:1.5rem}.phase-label{color:#60a5fa;font-size:1.2rem;font-weight:700;letter-spacing:.5px;margin-bottom:1.5rem;text-align:center;text-transform:uppercase}.center-draft{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.zero-declaration{background:linear-gradient(135deg,#2d2d2d,#252525);border:2px solid #eab308;border-radius:12px;box-shadow:0 4px 8px #eab30833;margin:1.5rem 0;padding:1.5rem}.zero-options{align-items:center;display:flex;flex-direction:column;gap:1rem}.btn-skip{background:linear-gradient(135deg,#666,#555);border:none;border-radius:8px;box-shadow:0 4px 8px #0000004d;color:#fff;cursor:pointer;font-size:1.05rem;font-weight:700;padding:.85rem 2.5rem;position:relative;transition:all .2s}.btn-skip:hover{background:linear-gradient(135deg,#777,#666);box-shadow:0 6px 12px #0006;transform:translateY(-2px)}.zero-dice{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.zero-die-option{align-items:center;display:flex;flex-direction:column;gap:.25rem}.die-label{font-size:.7rem;opacity:.7}.zero-badge{background:linear-gradient(135deg,#a855f7,#9333ea);border-radius:6px;box-shadow:0 2px 4px #a855f74d;font-size:.85rem;font-weight:700;padding:.35rem .65rem}.player-hand{background:linear-gradient(135deg,#2d2d2d,#252525);border:2px solid #3b82f6;border-radius:12px;box-shadow:0 4px 8px #0000004d;margin:2rem 0;padding:1.5rem}.hand-label{color:#60a5fa;font-size:1rem;font-weight:700;letter-spacing:.5px;margin-bottom:1rem;text-transform:uppercase}.cards,.dice-hand{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.waiting{animation:pulse 2s ease-in-out infinite;background:#3b82f61f;border:1px solid #3b82f640;border-radius:8px;color:#93c5fd;font-size:.9rem;font-weight:600;margin:.75rem 0;padding:.6rem 1.25rem;text-align:center}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.scoring-phase{background:linear-gradient(135deg,#2d2d2d,#252525);border:2px solid #22c55e;border-radius:12px;box-shadow:0 4px 12px #22c55e33;margin:2rem 0;padding:2rem;text-align:center}.scoring-phase h2{color:#fff;font-size:1.8rem;letter-spacing:1px;margin-bottom:1.5rem;text-transform:uppercase}.scores{margin:1.5rem 0}.score-row{background:linear-gradient(135deg,#3a3a3a,#2f2f2f);border:1px solid #4a4a4a;border-radius:8px;display:flex;font-size:1.05rem;justify-content:space-between;margin:.75rem 0;padding:.75rem 1rem}.btn-continue{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;box-shadow:0 4px 8px #22c55e4d;color:#fff;cursor:pointer;font-size:1.05rem;font-weight:700;margin-top:1.5rem;padding:.85rem 2.5rem;position:relative;transition:all .2s}.btn-continue:hover{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 6px 12px #22c55e66;transform:translateY(-2px)}.game-over{background:#2a2a2a;border-radius:12px;box-shadow:0 8px 32px #0009;left:50%;max-width:90%;padding:2rem;position:fixed;text-align:center;top:50%;transform:translate(-50%,-50%);width:400px}.game-over h1{color:#22c55e;margin-bottom:.5rem}.game-over h2{margin-bottom:1.5rem}.final-scores{margin-top:1rem}.final-score-row{background:#1a1a1a;border-radius:4px;font-size:1.1rem;margin:.25rem 0;padding:.5rem}.waiting-phase{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:80vh;padding:2rem;text-align:center}.waiting-phase h1{color:#a855f7;font-size:3rem}.waiting-message,.waiting-phase h1{margin-bottom:2rem}.waiting-message h2{color:#fff;font-size:1.5rem;margin-bottom:1rem}.player-count{color:#3b82f6;font-size:2rem;font-weight:700}.joined-players{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));max-width:600px;width:100%}.waiting-player{background:#2a2a2a;border:2px solid #444;border-radius:8px;font-size:1.1rem;font-weight:600;padding:1rem;transition:all .3s}.waiting-player.joined{background:#1a3a1a;border-color:#22c55e;color:#22c55e}.waiting-player.empty{color:#999;opacity:.5}.game-log{background:linear-gradient(145deg,#2a2a2a,#1f1f1f);border:2px solid #3a3a3a;border-radius:12px;box-shadow:0 4px 12px #0000004d;display:flex;flex-direction:column;max-height:calc(100vh - 2rem);padding:1rem;position:-webkit-sticky;position:sticky;top:1rem;width:320px}.log-header{border-bottom:2px solid #3b82f6;color:#fff;font-size:1.1rem;font-weight:700;letter-spacing:.5px;margin-bottom:.75rem;padding-bottom:.75rem;text-transform:uppercase}.log-entries{display:flex;flex:1 1;flex-direction:column;gap:.25rem;overflow-y:auto}.log-entry{align-items:center;display:flex;font-size:.85rem;gap:.5rem;line-height:1.3;padding:.4rem .5rem}.log-text{flex-shrink:0}.log-item{align-items:center;display:inline-flex}.log-item .card,.log-item .die{margin:0}.log-section-header{background:#3a2a2a;border-radius:4px;color:#eab308;font-size:.9rem;font-weight:600;margin:.5rem 0 .25rem;padding:.5rem;text-align:center}.ready-badge{color:#22c55e;font-weight:600}.trump-guide-modal{background:#2a2a2a;border-radius:12px;max-width:400px;padding:1.5rem}.trump-guide-body{display:flex;flex-direction:column;gap:1rem}.trump-guide-item-large{align-items:center;background:#1a1a1a;border-radius:8px;display:flex;gap:1rem;padding:.75rem}.trump-rank-large{color:#eab308;font-size:1rem;font-weight:600;min-width:40px}.trump-desc-large{color:#ddd;flex:1 1;font-size:.95rem}.scoring-rules-modal{background:#2a2a2a;border-radius:12px;max-width:450px;padding:1.5rem}.scoring-rules-body{display:flex;flex-direction:column;gap:1.25rem}.scoring-rule-section{background:#1a1a1a;border-radius:8px;padding:.75rem}.scoring-rule-section h4{color:#eab308;font-size:1rem;margin:0 0 .5rem}.scoring-rule-section p{color:#ddd;font-size:.9rem;margin:0}.scoring-rule-section ul{color:#ccc;margin:.5rem 0 0;padding-left:1.5rem}.scoring-rule-section li{font-size:.85rem;margin:.25rem 0}.player-aide-modal{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.player-aide-content{background:#2a2a2a;border-radius:12px;max-height:90vh;max-width:90vw;overflow-y:auto;padding:1.5rem}.player-aide-header{align-items:center;border-bottom:2px solid #444;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.player-aide-header h3{font-size:1.5rem;margin:0}.btn-close{align-items:center;background:#666;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:32px;justify-content:center;transition:background .2s;width:32px}.btn-close:hover{background:#777}.player-aide-body{gap:1.5rem}.color-section,.player-aide-body{display:flex;flex-direction:column}.color-section{gap:.5rem}.color-header{font-size:1.1rem;font-weight:600}.cards-grid{display:flex;flex-wrap:wrap;gap:.5rem}.aide-card{position:relative;transition:opacity .2s}.aide-card.played{opacity:.3}.aide-card.active{opacity:1}@media (min-width:1800px){.nosoku-board-container{gap:2rem;padding:2rem}.players-sidebar{width:260px}.main-game-area{max-width:1100px}.game-log{width:360px}}@media (max-width:1024px){.nosoku-board-container{flex-direction:column}.players-sidebar{order:1;position:static;width:100%}.players-list{flex-direction:row;overflow-x:auto}.player-summary{min-width:150px}.main-game-area{order:2}.game-log{max-height:300px;order:3;position:static;width:100%}}@media (max-width:640px){.nosoku-board{padding:.5rem}.header{font-size:1rem}.card{height:70px;width:50px}.card-number{font-size:1.5rem}.die{font-size:1.3rem;height:45px;width:45px}.player-info{font-size:.85rem;gap:.5rem}.waiting{font-size:.9rem;padding:.5rem 1rem}.game-log{padding:.75rem}.log-entry{font-size:.8rem;padding:.4rem}}.spectator-badge{background:#8b5cf6;border-radius:4px;color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.05em;margin-top:.5rem;padding:.25rem .5rem;text-align:center;text-transform:uppercase}.spectator-message{border:2px dashed #444;border-radius:12px;color:#888;font-size:1.1rem;margin:1rem 0;padding:2rem;text-align:center}.dice-count-badge{color:#999;font-size:.75rem;font-style:italic}.player-summary.folded-player{border-color:#555;filter:grayscale(.5);opacity:.5}.folded-badge{background:#ef4444;border-radius:4px;color:#fff;font-size:.7rem;font-weight:700;padding:2px 6px}.folded-hand{opacity:.4;pointer-events:none}.folded-row{opacity:.5}.balance-display{color:#22c55e;font-weight:700}.game-stats{border-top:1px solid #ffffff1a;font-size:.85rem;margin-top:.5rem;padding-top:.5rem}.pot-display-small{color:#eab308;font-weight:700}.ante-phase{background:linear-gradient(135deg,#2d2d2d,#252525);border:2px solid #22c55e;border-radius:12px;box-shadow:0 4px 8px #22c55e33;margin:1.5rem 0;padding:1.5rem;text-align:center}.ante-actions{margin-top:1rem}.top-up-area{align-items:center;display:flex;flex-direction:column;gap:.75rem}.top-up-area p{color:#ef4444;margin:0}.top-up-controls{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.pot-display{color:#eab308;font-size:1.2rem;font-weight:700;margin-bottom:1rem}.betting-phase{background:linear-gradient(135deg,#2d2d2d,#252525);border:2px solid #eab308;border-radius:12px;box-shadow:0 4px 8px #eab30833;margin:1.5rem 0;padding:1.5rem;text-align:center}.betting-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1rem}.btn-call,.btn-check,.btn-fold,.btn-raise{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:700;padding:.75rem 1.5rem;transition:all .2s}.btn-call:hover,.btn-check:hover,.btn-fold:hover,.btn-raise:hover:not(:disabled){box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.btn-check{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.btn-call{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-call:disabled{cursor:not-allowed;opacity:.5}.btn-raise{background:linear-gradient(135deg,#eab308,#ca8a04);color:#1a1a1a}.btn-raise:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-fold{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.raise-controls{align-items:center;display:flex;gap:.5rem}.raise-input{background:#1a1a1a;border:2px solid #444;border-radius:6px;color:#fff;font-size:1rem;padding:.6rem .5rem;text-align:center;width:100px}.raise-input:focus{border-color:#eab308;outline:none}.log-fold{color:#ef4444}.log-pot{color:#eab308;font-weight:700}.net-gain{color:#22c55e;font-weight:600}.net-loss{color:#ef4444;font-weight:600}.net-zero{color:#888}.lobby{align-items:center;background:linear-gradient(135deg,#1a1a1a,#2d1b3d);display:flex;justify-content:center;min-height:100vh;padding:1rem}.lobby-container{background:#2a2a2a;border-radius:12px;box-shadow:0 8px 32px #0006;max-width:600px;padding:2rem;width:100%}.lobby-header{margin-bottom:1.5rem}.lobby-title{color:#fff;font-size:2.5rem;font-weight:700;margin-bottom:1rem;text-align:center;text-shadow:0 2px 4px #0000004d}.user-info{align-items:center;display:flex;gap:1rem;justify-content:center}.user-name{color:#ccc;font-size:1rem}.btn-logout{background:#0000;border:1px solid #666;border-radius:6px;color:#999;cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .8rem;transition:all .2s}.btn-logout:hover{border-color:#999;color:#fff}.btn-continue{background:#a855f7}.btn-continue:hover:not(:disabled){background:#9333ea}.lobby-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.input-name{background:#1a1a1a;border:2px solid #444;border-radius:8px;color:#fff;font-size:1.1rem;outline:none;padding:1rem;transition:border-color .2s}.input-name:focus{border-color:#a855f7}.input-name::placeholder{color:#666}.player-count{align-items:center;color:#fff;display:flex;font-size:1rem;gap:1rem}.player-count label{font-weight:600}.btn-player-count{background:#1a1a1a;border:2px solid #444;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-player-count:hover{border-color:#a855f7}.btn-player-count.active{background:#a855f7;border-color:#a855f7;color:#fff}.btn-create{background:linear-gradient(135deg,#a855f7,#8b5cf6);border:none;border-radius:8px;box-shadow:0 4px 12px #a855f766;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;padding:1rem 2rem;transition:transform .1s,box-shadow .2s}.btn-create:hover:not(:disabled){box-shadow:0 6px 16px #a855f799;transform:translateY(-2px)}.btn-create:active:not(:disabled){transform:translateY(0)}.btn-create:disabled{cursor:not-allowed;opacity:.5}.error{background:#ef4444;border-radius:6px;color:#fff;font-weight:600;padding:.75rem;text-align:center}.matches-section{border-top:2px solid #444;margin-top:2rem;padding-top:2rem}.matches-section h2{color:#fff;font-size:1.5rem;margin-bottom:1rem;text-align:center}.no-matches{color:#999;font-size:1rem;padding:2rem;text-align:center}.matches-list{display:flex;flex-direction:column;gap:.75rem}.match-card{align-items:center;background:#1a1a1a;border:2px solid #444;border-radius:8px;display:flex;justify-content:space-between;padding:1rem;transition:border-color .2s}.match-card:hover{border-color:#666}.match-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.match-players{color:#fff;font-size:1rem;font-weight:600}.match-names{color:#999;font-size:.9rem}.btn-join{background:#22c55e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;min-width:80px;padding:.75rem 1.5rem;transition:background .2s}.btn-join:hover:not(:disabled){background:#16a34a}.btn-join.disabled,.btn-join:disabled{background:#666;cursor:not-allowed}.matches-loading{align-items:center;color:#888;display:flex;font-size:.95rem;gap:.75rem;justify-content:center;padding:2rem}.spinner-small{animation:spin .8s linear infinite;border:2px solid #ffffff1a;border-radius:50%;border-top-color:#a855f7;flex-shrink:0;height:20px;width:20px}.server-error{background:#ef44441a;border:1px solid #ef444440;border-radius:8px;color:#f87171;font-size:.9rem;padding:1rem;text-align:center}@media (max-width:640px){.lobby-container{padding:1.5rem}.lobby-title{font-size:2rem}.input-name{font-size:1rem;padding:.875rem}.btn-create{font-size:1.1rem}.match-card{align-items:stretch;flex-direction:column;gap:1rem}.btn-join{width:100%}}.dev-tools{background:#1a1a2e;border:2px dashed #4a4a6a;border-radius:8px;margin-bottom:1.5rem;padding:1rem;text-align:center}.btn-dev{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s}.btn-dev:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-dev:disabled{cursor:not-allowed;opacity:.6}.dev-hint{color:#888;display:block;font-size:.75rem;font-style:italic;margin-top:.5rem}.game-config{background:#1a1a1a;border:1px solid #444;border-radius:8px;display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:1rem}.config-row{align-items:center;color:#fff;display:flex;font-size:.95rem;gap:.75rem}.config-row label{font-weight:600;min-width:65px}.config-presets{display:flex;gap:.4rem}.btn-config-preset{background:#2a2a2a;border:1px solid #555;border-radius:6px;color:#ccc;cursor:pointer;font-size:.85rem;padding:.4rem .75rem;transition:all .15s}.btn-config-preset:hover{border-color:#888;color:#fff}.btn-config-preset.active{background:#a855f7;border-color:#a855f7;color:#fff;font-weight:700}.config-input{background:#2a2a2a;border:1px solid #555;border-radius:6px;color:#fff;font-size:.95rem;padding:.4rem .5rem;text-align:center;width:70px}.config-input:focus{border-color:#a855f7;outline:none}.config-hint{color:#888;font-size:.75rem}.auth{align-items:center;background:linear-gradient(135deg,#1a1a1a,#2d1b3d);display:flex;justify-content:center;min-height:100vh;padding:1rem}.auth-container{background:#2a2a2a;border-radius:12px;box-shadow:0 8px 32px #0006;max-width:420px;padding:2rem;width:100%}.auth-title{color:#fff;font-size:2.5rem;font-weight:700;margin-bottom:2rem;text-align:center;text-shadow:0 2px 4px #0000004d}.auth-tabs{border:2px solid #444;border-radius:8px;display:flex;gap:0;margin-bottom:1.5rem;overflow:hidden}.auth-tab{background:#1a1a1a;border:none;color:#999;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.75rem;transition:all .2s}.auth-tab.active{background:#a855f7;color:#fff}.auth-tab:hover:not(.active){color:#fff}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-input{background:#1a1a1a;border:2px solid #444;border-radius:8px;color:#fff;font-size:1.1rem;outline:none;padding:1rem;transition:border-color .2s}.auth-input:focus{border-color:#a855f7}.auth-input::placeholder{color:#666}.auth-submit{background:linear-gradient(135deg,#a855f7,#8b5cf6);border:none;border-radius:8px;box-shadow:0 4px 12px #a855f766;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;margin-top:.5rem;padding:1rem 2rem;transition:transform .1s,box-shadow .2s}.auth-submit:hover:not(:disabled){box-shadow:0 6px 16px #a855f799;transform:translateY(-2px)}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit:disabled{cursor:not-allowed;opacity:.5}.auth-error{background:#ef4444;border-radius:6px;color:#fff;padding:.75rem}.auth-error,.auth-subtitle{font-weight:600;text-align:center}.auth-subtitle{color:#ccc;font-size:1.3rem;margin-bottom:1.5rem}.auth-link{background:none;border:none;color:#a855f7;cursor:pointer;font-size:.95rem;padding:0;text-align:center;text-decoration:underline}.auth-link:hover{color:#c084fc}.auth-success{background:#22c55e;border-radius:6px;color:#fff;font-weight:600;padding:.75rem;text-align:center}@media (max-width:640px){.auth-container{padding:1.5rem}.auth-title{font-size:2rem}.auth-input{font-size:1rem;padding:.875rem}.auth-submit{font-size:1.1rem}}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#1a1a1a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app{min-height:100vh}.leave-container{left:1rem;position:fixed;top:1rem;z-index:1000}.btn-leave{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000080;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:background .2s}.btn-leave:hover{background:#000000b3}.loading-screen{align-items:center;background:linear-gradient(135deg,#1a1a1a,#2d1b3d);display:flex;flex-direction:column;justify-content:center}.spinner-large{animation:spin .8s linear infinite;border:3px solid #ffffff1a;border-radius:50%;border-top-color:#a855f7;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.93fee2b0.css.map*/