*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Jost,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.card{align-items:center;background:var(--black);border:2px solid var(--white);border-radius:6px;cursor:pointer;display:flex;height:100px;justify-content:center;position:relative;transition:all .2s ease;width:60px;z-index:1;@media (max-width:768px){height:60px;width:36px}}.card:hover{transform:translateY(-2px)}.card.disabled{cursor:not-allowed}.card.disabled:hover{transform:none}.card-value{color:var(--white);font-family:League Gothic,sans-serif;font-size:3rem;font-weight:400}.card.selected{background:var(--white)}.card.selected .card-value{color:var(--black)}.card.card--discard{background:var(--black--light);border:none;border-radius:10px;height:200px;width:120px;@media (max-width:768px){height:116px;width:70px}}.card.card--discard .card-value{font-size:5rem;@media (max-width:768px){font-size:3rem}}.card.card--discard.card--last{background:var(--white);border:1px solid var(--black--light-2)}.card.card--discard.card--last .card-value{color:var(--black)}@media (max-width:768px){.card-value{font-size:2rem}}.discard-pile{align-items:center;border-radius:8px;display:flex;flex-direction:column;gap:.75rem;min-height:120px;min-width:80px;position:relative}.pile-header{margin-bottom:8px}.pile-label{color:#4a5568;font-size:14px;font-weight:700;text-align:center}.view-pile-btn:hover:not(:disabled){background:#2f855a;transform:translateY(-1px)}.view-pile-btn.disabled{background:#a0aec0;cursor:not-allowed;opacity:.6}.view-pile-btn.disabled:hover{background:#a0aec0;transform:none}.pile-cards{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:60px;transition:all .2s ease}.discard-pile.drag-over .pile-cards{transform:translateY(-8px)}.empty-pile{color:#a0aec0;flex-direction:column;font-size:12px}.empty-pile,.no-cards-card{align-items:center;display:flex;justify-content:center}.no-cards-card{background:#e2e8f0;border:2px dashed #cbd5e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;height:80px;width:60px}.no-cards-text{color:#718096;font-size:10px;font-weight:700;line-height:1.2;text-align:center}.pile-display{align-items:center;display:flex;justify-content:center;position:relative}.pile-display.pile--multiple:after{background:var(--white);border:1px solid var(--black--light-2);border-radius:10px;content:"";height:100%;left:0;position:absolute;top:0;transform:rotate(-5deg);width:100%}.stacked-card{position:absolute;transition:all .2s ease}.pile-count{color:#718096;font-size:10px;margin-top:4px;text-align:center}.select-pile-btn{background:#4299e1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;margin-top:8px;padding:6px 12px;transition:all .2s;width:100%}.select-pile-btn:hover{background:#3182ce;transform:translateY(-1px)}.select-pile-btn.selected{background:#38a169;box-shadow:0 0 10px #38a16980}.select-pile-btn.selected:hover{background:#2f855a}.select-pile-btn.disabled{background:#a0aec0;cursor:not-allowed;opacity:.6}.select-pile-btn.disabled:hover{background:#a0aec0;transform:none}@media (max-width:768px){.player-actions-container{padding:1rem 0}}.button{background:var(--grey-300);border-radius:6px;color:var(--black);font-family:var(--jost);font-size:.75rem;font-weight:700;height:44px;padding:.5rem .75rem;transition:all .2s ease;&:not(.disabled,[disabled]):focus,&:not(.disabled,[disabled]):hover{background:var(--grey-400);cursor:pointer}&:not(.disabled,[disabled]):active{background:var(--grey-450)}&.disabled,&[disabled]{cursor:not-allowed;opacity:.2}}.button--mini{font-size:.75rem;height:auto;padding:.25rem .75rem}.button--invert{background:var(--black);border:1px solid var(--grey-300);color:var(--grey-300);&:not(.disabled,[disabled]):focus,&:not(.disabled,[disabled]):hover{background:var(--black);border-color:var(--grey-400);color:var(--grey-400)}&:not(.disabled,[disabled]):active{background:var(--black);border-color:var(--grey-450);color:var(--grey-450)}&.disabled,&[disabled]{cursor:not-allowed;opacity:.2}}.button--primary{background:var(--primary-color);border:none;color:var(--black);&:not(.disabled,[disabled]):focus,&:not(.disabled,[disabled]):hover{background:var(--primary-color--hover);color:var(--black)}&:not(.disabled,[disabled]):active{background:var(--primary-color--pressed)}&.disabled,&[disabled]{background:var(--primary-color);cursor:not-allowed;opacity:.4}}.button--primary-invert{background:var(--black);border:1px solid var(--primary-color);color:var(--primary-color);&:not(.disabled,[disabled]):focus,&:not(.disabled,[disabled]):hover{background:var(--black);border-color:var(--primary-color--hover);color:var(--primary-color--hover)}&:not(.disabled,[disabled]):active{background:var(--black);border-color:var(--primary-color--pressed);color:var(--primary-color--pressed)}&.disabled,&[disabled]{border-color:var(--primary-color);color:var(--primary-color);cursor:not-allowed;opacity:.4}}.button--full-width{width:100%}.player-hand{align-items:center;border-bottom:2px solid var(--white);display:flex;flex-direction:column;margin:10px 0}.hand-cards{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin-bottom:10px;max-width:100%}.card-container{cursor:grab;position:relative;transition:transform .2s ease,opacity .2s ease}.card-container:active{cursor:grabbing}.card-container.dragging{transform:rotate(5deg) scale(1.05);z-index:1000}.card-container.drag-over{transform:translateY(-10px);z-index:999}.card-container.drag-over:after{background:#4299e11a;border:2px dashed var(--black--light-2);border-radius:8px;bottom:-5px;content:"";left:-5px;pointer-events:none;position:absolute;right:-5px;top:-5px}.hand-info{align-items:center;color:#4a5568;display:flex;flex-direction:column;font-size:12px}.selection-info{color:#f6ad55;font-weight:700;margin-top:2px}.reorder-hint{color:#a0aec0;font-size:10px;font-style:italic;font-weight:400;margin-top:2px}.pile-view-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.pile-view-modal{background:var(--black--light-3);border:2px solid var(--grey-300);border-radius:15px;box-shadow:0 20px 40px #00000080;max-height:80vh;max-width:80vw;overflow-y:auto;padding:20px}.pile-view-header{border-bottom:2px solid #4a5568;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.close-btn,.pile-view-header{align-items:center;display:flex}.close-btn{border-radius:50%;font-size:16px;font-weight:700;height:30px;justify-content:center;padding:0;width:30px}.pile-view-content{display:flex;gap:20px}.pile-cards-list{display:flex;flex:1 1;flex-direction:column;gap:10px;max-height:60vh;overflow-y:auto;padding-right:10px}.pile-card-item{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;display:flex;gap:15px;padding:10px}.card-position{color:#a0aec0;font-size:14px;font-weight:700;min-width:30px}.pile-summary{background:#4299e11a;border:1px solid #4299e14d;border-radius:10px;height:-webkit-fit-content;height:fit-content;min-width:200px;padding:15px}.pile-cards-list::-webkit-scrollbar{width:8px}.pile-cards-list::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}.pile-cards-list::-webkit-scrollbar-thumb{background:#4299e1;border-radius:4px}.pile-cards-list::-webkit-scrollbar-thumb:hover{background:#3182ce}@media (max-width:768px){.pile-view-modal{max-height:90vh;max-width:95vw;padding:15px}.pile-view-content{flex-direction:column;gap:15px}.pile-cards-list{max-height:50vh}.pile-summary{min-width:auto}}.game-over-modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.game-over-modal{animation:modalSlideIn .3s ease-out;background:var(--black--light-3);border-radius:12px;box-shadow:0 10px 25px #0000004d;color:var(--white);max-width:400px;padding:2rem;text-align:center;width:90%}.game-over-modal h2{font-size:1.8rem;margin:0 0 1rem}.game-over-modal p{font-size:1.1rem;line-height:1.5;margin:0 0 2rem}.game-over-summary{background:var(--white);border:1px solid #e2e8f0;border-radius:10px;margin-bottom:1.5rem;padding:1rem;text-align:left}.game-over-summary h3{color:#2d3748;font-size:1.1rem;margin:0 0 .75rem}.game-over-summary ul{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.game-over-summary li{color:#2d3748;display:flex;font-size:.95rem;justify-content:space-between}.game-over-summary .summary-label{font-weight:600}.game-over-summary .summary-value{color:#1a202c;font-weight:600}.game-over-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}@media (max-width:480px){.game-over-modal{margin:1rem;padding:1.5rem}.game-over-actions{flex-direction:column}.game-over-actions button{width:100%}}.rules-modal-overlay{align-items:center;background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.rules-modal{animation:modalSlideIn .3s ease-out;background:var(--black--light-3);border-radius:12px;box-shadow:0 10px 25px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.rules-modal-header{align-items:center;display:flex;justify-content:space-between;padding:1.5rem 2rem}.modal-rules-content{padding:0 2rem}.close-rules-btn{align-items:center;border-radius:50%;display:flex;font-size:16px;font-weight:700;height:30px;justify-content:center;padding:0;width:30px}@media (max-width:640px){.rules-modal-overlay{padding:10px}.rules-modal{max-height:95vh}.rules-modal-header{padding:16px 20px 0}.rules-modal-header h2{font-size:1.5rem}.modal-rules-content{padding:0 20px 16px}.rules-modal-footer{padding:16px 20px}}.rules-content section{margin-bottom:20px}.rules-content h3{font-size:1.3rem;font-weight:600;margin:24px 0 12px;padding-bottom:8px}.rules-content h3:first-child{margin-top:0}.rules-content h4{color:#2d3748;font-size:1.05rem;font-weight:600;margin:0 0 10px}.rules-content p{font-size:1rem;margin:0 0 16px}.rules-content ul{margin:0 0 16px;padding-left:22px}.rules-content li{margin-bottom:8px}.rules-content strong{color:var(--primary-color);font-weight:600}.rules-content code{background:#edf2f7;border-radius:4px;color:#2d3748;font-size:.9rem;padding:2px 6px}.rules-content{& .rules-section{padding:1rem}}.rules-content .game-objective{background:var(--black)}.rules-content .hand-sizes{margin-top:12px;padding:12px 16px}.rules-content .hand-sizes ul{margin:0;padding-left:18px}.rules-content .hand-sizes li{margin-bottom:6px}.rules-content .communication-rules,.rules-content .endgame-rules,.rules-content .gameplay-rules,.rules-content .special-rules{border-radius:8px;padding:16px}.rules-content .endgame-rules{margin-bottom:0}@media (max-width:640px){.rules-content{font-size:.95rem}.rules-content h3{font-size:1.1rem}}.game{min-height:100vh;padding:1.5rem;position:relative}.game-header{color:#fff;text-align:center}.game-header h1{font-size:3rem;margin:0 0 10px;text-shadow:2px 2px 4px #0000004d}.game-id{font-weight:700;margin-bottom:10px}.new-game-btn{background:#e53e3e;border:none;border-radius:6px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;display:block;font-size:.9rem;font-weight:600;margin:0 auto 20px;padding:8px 16px;text-shadow:1px 1px 2px #0006;transition:all .2s}.new-game-btn:hover{background:#c53030;box-shadow:0 4px 8px #0000004d;transform:translateY(-1px)}.game-status{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:20px;font-size:1.2rem;margin-bottom:20px;padding:10px 20px}.game-controls{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.game-controls button{background:#4299e1;border:none;border-radius:25px;box-shadow:0 4px 6px #0000001a;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:12px 24px;transition:all .2s ease}.game-controls button:hover:not(:disabled){background:#3182ce;box-shadow:0 6px 8px #00000026;transform:translateY(-2px)}.game-controls button:disabled{background:#a0aec0;cursor:not-allowed;transform:none}.start-game-section{padding:20px;text-align:center}.sort-controls{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:15px}.sort-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.sort-hand-btn{background:#ed8936;border:none;border-radius:6px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;margin:0;padding:8px 16px;text-shadow:1px 1px 2px #0006;transition:all .2s}.sort-hand-btn:hover:not(:disabled){background:#dd6b20;box-shadow:0 4px 8px #0000004d;transform:translateY(-1px)}.sort-hand-btn:disabled{background:#a0aec0;box-shadow:none;cursor:not-allowed;transform:none}.auto-sort-toggle{align-items:center;color:var(--white);cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:8px}.auto-sort-toggle input{height:16px;width:16px}.play-card-section{margin:0 auto;text-align:center;@media (max-width:768px){max-width:325px}}.cant-play-container{display:flex;gap:.5rem;justify-content:center;margin:.5rem auto;.button{width:170px;@media (max-width:768px){width:50%}}}.cant-play-container .cant-play-btn{margin:0}.pile-assignment{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #fff3;border-radius:15px;margin:20px auto;max-width:800px;padding:20px}.pile-assignment h3{color:#fff;font-size:1.3rem;margin:0 0 20px;text-align:center;text-shadow:1px 1px 2px #0000004d}.single-card-assignment{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;display:flex;justify-content:center;padding:20px}.card-display{background:#4299e1;border-radius:8px;box-shadow:0 2px 4px #0003;color:#fff;font-size:1.1rem;font-weight:700;min-width:50px;padding:10px 15px;text-align:center}.pile-options{display:flex;flex-wrap:wrap;gap:15px}.pile-options label{align-items:center;border-radius:5px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:5px;padding:5px 10px;transition:background-color .2s ease}.pile-options label:hover{background:#ffffff1a}.pile-options input[type=radio]{accent-color:#4299e1;margin:0}.pile-options label:has(input:checked){background:#4299e14d;border:1px solid #4299e1}.discard-piles{display:flex;flex-wrap:wrap;gap:40px;justify-content:center;@media (max-width:768px){flex-wrap:nowrap;gap:.75rem}}.pile-group{text-align:center}.pile-group h3{color:#fff;font-size:1.5rem;margin-bottom:15px}.pile-separator{background-image:linear-gradient(var(--black) 33%,var(--grey-450) 0);background-position:100%;background-repeat:repeat-y;background-size:6px 11px;width:1px}.piles-row{border:2px dashed var(--white);border-radius:2rem;display:flex;gap:1.25rem;justify-content:center;padding:1rem;@media (max-width:768px){border-bottom-color:currentcolor;border-bottom-style:none;border-bottom-width:medium;border-left-color:currentcolor;border-left-style:none;border-left-width:medium;border-right-color:currentcolor;border-right-style:none;border-right-width:medium;border-top-color:currentcolor;border-top-style:none;border-top-width:medium;gap:0;justify-content:space-evenly;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0}}.players{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1200px}.player .player-section__player-name{background:var(--yellow--light);border-radius:20px;color:var(--black);display:inline-block;font-size:.75rem;margin:0 auto .5rem;padding:.25rem .75rem;text-align:center}.player .player-section__player-name--disabled{background:var(--black--light-3)}.player .player__instructions{margin:1.5rem 0;text-align:center}.game-info{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--black--light);border-radius:10px;bottom:20px;display:flex;flex-direction:column;font-size:14px;gap:8px;left:20px;padding:15px;position:fixed;@media (max-width:768px){margin-bottom:0;margin-left:auto;margin-right:auto;margin-top:20px;margin-top:0;max-width:325px;position:static;text-align:center}}.game-info-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.game-info .new-game-btn{align-items:center;align-self:flex-start;display:inline-flex;justify-content:center;margin:0;padding:8px 14px}.game-info div{margin-bottom:0}.turn-progress{color:var(--red);margin-bottom:.5rem}.rules-btn-floating{align-self:flex-start;background:#4299e1;border:none;border-radius:6px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;margin-top:8px;padding:8px 12px;text-shadow:1px 1px 2px #0006;transition:all .2s}.rules-btn-floating:hover{background:#3182ce;box-shadow:0 4px 8px #0000004d;transform:translateY(-1px)}.save-indicator{color:#a0aec0;font-size:10px;font-style:italic;margin-top:4px;text-align:center}.copy-invite-floating{align-self:flex-start;background:#48bb78;border:none;border-radius:6px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;margin-bottom:10px;margin-top:8px;padding:8px 14px;text-shadow:1px 1px 2px #0006;transition:all .2s}.copy-invite-floating:hover{background:#6b46c1;box-shadow:0 4px 8px #0000004d;transform:translateY(-1px)}.copy-feedback-floating{margin-top:.5rem;text-align:center}@media (max-width:768px){.game{padding:1rem}.game-header h1{font-size:2rem}.game-controls{align-items:center;flex-direction:column}.pile-group h3{font-size:1.2rem;margin-bottom:.5rem}}.player-section{display:flex;flex-direction:column;gap:20px;justify-content:center}.player-section .player{margin:0 auto;text-align:center;@media (max-width:768px){margin-bottom:0;margin-left:auto;margin-right:auto;margin-top:0;max-width:325px;width:100%}}.spectator-view{background:#ffffff1a;border-radius:15px;margin:20px auto;padding:40px;text-align:center}.game-layout{display:flex;gap:20px;margin:0 auto;position:relative}.game-main{flex:1 1;min-width:0}.game-sidebar{flex-shrink:0;left:0;position:absolute;top:0;width:185px;@media (max-width:768px){margin-bottom:0;margin-left:auto;margin-right:auto;margin-top:0;max-width:325px;order:1;position:static;width:100%}}.waiting-for-game{margin:20px 0;text-align:center}.waiting-for-game h2{color:#fff;font-size:1.5rem;margin-bottom:15px}.waiting-for-game p{color:#fffc;font-size:1.1rem}.connection-quality{color:#68d391;font-size:.9rem;font-weight:500;margin-bottom:10px;text-shadow:1px 1px 2px #0000004d}.reconnection-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.reconnection-message{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0000004d;max-width:400px;padding:30px;text-align:center;width:90%}.reconnection-message h3{color:#e53e3e;font-size:1.5rem;margin:0 0 15px}.reconnection-message p{color:#4a5568;font-size:1rem;margin:10px 0}.reconnect-btn{background:#4299e1;border:none;border-radius:8px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:15px;padding:12px 24px;text-shadow:1px 1px 2px #0006;transition:all .2s}.reconnect-btn:hover:not(:disabled){background:#3182ce;box-shadow:0 4px 8px #0000004d;transform:translateY(-1px)}.reconnect-btn:disabled{background:#a0aec0;cursor:not-allowed;transform:none}.cant-play-modal-backdrop{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;text-align:center;z-index:1200}.cant-play-modal{background:var(--black--light);border-radius:16px;box-shadow:0 16px 40px #00000040;display:flex;flex-direction:column;gap:16px;padding:24px;width:min(480px,100%)}.cant-play-modal h2{font-size:1.4rem;margin:0}.cant-play-modal p{line-height:1.5;margin:0}.cant-play-actions{display:flex;gap:12px;justify-content:center;margin-top:8px}@media (max-width:768px){.game-layout{flex-direction:column}.player .player__instructions{justify-content:center;margin:0 0 .75rem}}.player-list{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #fff3;border-radius:15px;margin:20px 0;padding:20px}.player-list-header{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:space-between;margin-bottom:15px}.player-list-header h3{color:#fff;font-size:1.2rem;margin:0;text-shadow:1px 1px 2px #0000004d}.start-game-btn{background:#48bb78;border:none;border-radius:6px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;text-shadow:1px 1px 2px #0006;transition:all .2s}.start-game-btn:hover:not(:disabled){background:#38a169;box-shadow:0 4px 8px #0000004d;transform:translateY(-1px)}.start-game-btn:disabled{background:#a0aec0;box-shadow:none;cursor:not-allowed;transform:none}.players-container,.spectators-list,.spectators-section{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.spectators-list{list-style:none}.player-list-item,.spectators-list-item{border:2px solid #ffffff4d;border-radius:6px;padding:12px;transition:all .2s}.player-list-item.current{border-color:var(--yellow)}.player-list-item.disconnected{background:#e53e3e33;border-color:#e53e3e;opacity:.7}.player-info{align-items:center;display:flex;justify-content:space-between}.player-name,.spectator-name{align-items:center;color:#fff;display:flex;font-weight:600;gap:8px;text-shadow:1px 1px 2px #0000004d}.host-badge{background:#4299e1}.current-badge,.host-badge{border-radius:4px;color:#fff;font-size:.7rem;font-weight:600;padding:2px 6px;text-transform:uppercase}.current-badge{background:#48bb78}.you-badge{background:#805ad5;border-radius:4px;color:#fff;font-size:.7rem;font-weight:600;padding:2px 6px;text-transform:uppercase}.player-status{font-size:.9rem}.status-connected{color:#48bb78;font-weight:600}.status-disconnected{color:#e53e3e;font-weight:600}.spectators-section{border-top:1px solid #fff3;padding-top:15px}.spectators-section h3{color:#fff;font-size:1.2rem;margin:0 0 10px;text-shadow:1px 1px 2px #0000004d}.spectators-container{display:flex;flex-direction:column;gap:8px}.spectator-item{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;padding:8px 12px;transition:all .2s}.spectator-item.disconnected{background:#e53e3e1a;border-color:#e53e3e;opacity:.7}.spectator-info{align-items:center;display:flex;justify-content:space-between}.spectator-badge{background:#ed8936;border-radius:3px;color:#fff;font-size:.6rem;font-weight:600;padding:1px 4px;text-transform:uppercase}.spectator-status{font-size:.8rem}.no-players{color:#ffffffb3;font-style:italic;padding:20px;text-align:center}@media (max-width:768px){.player-list-header{align-items:stretch;flex-direction:column;gap:10px}.start-game-btn{width:100%}.player-info{align-items:flex-start;flex-direction:column;gap:5px}.player-status{align-self:flex-end}}.name-prompt-backdrop{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.name-prompt-modal{animation:fadeIn .16s ease-out;background:#fff;border-radius:16px;box-shadow:0 16px 32px #0003;display:flex;flex-direction:column;gap:16px;padding:32px;width:min(90vw,420px)}.name-prompt-modal h2{color:#2d3748;font-size:1.5rem;margin:0}.name-prompt-modal .description{color:#4a5568;font-size:.95rem;margin:0}.name-prompt-modal form{display:flex;flex-direction:column;gap:12px}.role-toggle{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px}.role-toggle input{margin-top:4px}.role-toggle-copy{display:flex;flex-direction:column;gap:2px}.role-toggle-label{color:#2d3748;font-weight:600}.role-toggle-hint{color:#4a5568;font-size:.85rem}.role-note{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;color:#4a5568;font-size:.9rem;margin:0;padding:12px}.name-prompt-modal label{color:var(--black);font-weight:600}.name-prompt-modal .error{color:#e53e3e;font-size:.9rem;margin:0}.name-prompt-modal .actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.lobby{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.lobby-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--black--light);border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:600px;padding:40px;width:100%}.lobby h1{margin-bottom:30px;text-align:center}.connection-status{align-items:center;background:#ffffff80;border-radius:10px;display:flex;justify-content:center;margin-bottom:30px;padding:10px}.status-indicator{border-radius:50%;height:12px;margin-right:10px;width:12px}.status-indicator.connected{background:#48bb78;box-shadow:0 0 10px #48bb7880}.status-indicator.disconnected{background:#e53e3e;box-shadow:0 0 10px #e53e3e80}.lobby-actions{display:flex;flex-direction:column;gap:30px}.create-room-section,.join-room-section,.lobby-info{background:var(--grey-400);border-radius:6px;padding:20px}.create-room-section h3,.join-room-section h3{color:#2d3748;font-size:1.2rem;margin:0 0 15px}.create-room-section form,.join-room-section form{display:flex;flex-direction:column;gap:15px}.lobby-info{margin-top:30px}.lobby-info h4{color:#2d3748;margin:0 0 15px}.lobby-info ul{color:#4a5568;margin:0;padding-left:20px}.lobby-info li{margin-bottom:8px}.invite-link-section{border-top:1px solid #0000001a;margin-top:20px;padding-top:15px;text-align:center}.invite-link-section h5{color:#2d3748;font-size:1rem;margin:0 0 10px}.copy-invite-btn{align-items:center;background:#805ad5;border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:8px;padding:10px 20px;text-shadow:1px 1px 2px #0006;transition:all .2s}.copy-invite-btn:hover{background:#6b46c1;box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.copy-feedback{color:#38a169;font-weight:600;margin-top:10px}.invite-tip{color:#4a5568;font-size:.9rem;margin-top:8px;word-break:break-word}.error-message{background:#fed7d7;border:1px solid #feb2b2;border-radius:8px;color:#c53030;margin-top:20px;padding:15px}.error-message p{margin:0 0 8px}.error-message p:last-child{margin-bottom:0}@media (max-width:768px){.lobby-container{margin:10px;padding:20px}.lobby h1{font-size:2rem}}.join-link{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.join-link-container{background:var(--white);border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:420px;padding:40px;position:relative;text-align:center;width:100%;z-index:10}.join-link-container h1{color:#2d3748;font-size:2rem;font-weight:700;margin:0 0 20px}.join-link-description{color:#4a5568;font-size:1rem;margin-bottom:15px}.join-link-error{background:#fed7d7;border-radius:8px;color:var(--red);display:inline-block;font-size:.95rem;margin-top:10px;padding:10px 14px}.join-link-footer{color:#4a5568;font-size:.95rem;margin-top:25px}.join-link-footer span{color:#2d3748;font-weight:600}@media (max-width:480px){.join-link-container{padding:30px 20px}.join-link-container h1{font-size:1.6rem}}.game-setup{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.setup-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--black--light-3);border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:600px;padding:40px;text-align:center;width:100%}.setup-container h1{font-size:2.5rem;margin-bottom:20px}.rules-summary{color:var(--white);line-height:1.6;margin-bottom:30px;text-align:left}.setup-rules-content{display:block;font-size:.95rem;margin-top:12px}.setup-rules-content .rules-section{background:none;border:none;color:var(--white);margin-bottom:16px}.setup-rules-content .game-objective{margin-bottom:16px}.setup-options{gap:20px}.player-selection,.setup-options{align-items:center;display:flex;flex-direction:column}.player-selection{gap:10px}.player-selection label{color:#2d3748;font-size:1.1rem;font-weight:700}.player-selection select{background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#2d3748;cursor:pointer;font-size:16px;min-width:200px;padding:12px 20px;transition:all .2s ease}.player-selection select:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.multiplayer-section{margin-top:30px}.multiplayer-section h3{margin:0 0 10px}.multiplayer-section p{margin:15px 0}@media (max-width:768px){.setup-container{margin:10px;padding:20px}.setup-container h1{font-size:2rem}.rules-summary{text-align:center}.player-selection select{min-width:150px}}:root{--black:#1c1924;--black--light:#2c2a33;--black--light-2:#8a8784;--black--light-3:#2e2e33;--grey-300:#faf9ff;--grey-400:#e7e5f4;--grey-450:#d2d1e2;--white:#e9e1e1;--yellow:#ffff4f;--yellow--light:#ffffb7;--red:#f85438;--primary-color:#ffff4f;--primary-color--hover:#ffff90;--primary-color--pressed:#efef4a;--secondary-color:#f85438;--jost:"Jost",sans-serif;--league-gothic:"League Gothic",sans-serif}.App{background:#1c1924;background:var(--black);color:#e9e1e1;color:var(--white);font-family:Jost,sans-serif;margin:0;min-height:100vh;padding:0}.disabled{color:#2e2e33;color:var(--black--light-3)}.hidden{display:none}.visible{display:flex}.visible--phone-down,.visible--tablet-down{display:none}input[type=text]{border:2px solid #1c1924;border:2px solid var(--black);border-radius:6px;padding:12px 16px;text-align:center;transition:all .2s ease;&:focus{border-color:var(--black-light-2);box-shadow:2px 1px 0 #8a8784;box-shadow:2px 1px 0 var(--black--light-2);outline:none}}@media (max-width:768px){.hidden--tablet-down{display:none}.visible--tablet-down{display:flex}}@media (max-width:640px){p{font-size:.75rem}.hidden--phone-down{display:none}.visible--phone-down{display:block}}
/*# sourceMappingURL=main.e83b99af.css.map*/