*{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #1a1a2e;--color-surface: #16213e;--color-primary: #e94560;--color-text: #ffffff;--color-text-muted: #d0d0d0}html,body,#root{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-weight:100;background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased}.connection-banner{position:fixed;top:0;left:0;right:0;background-color:#f59e0b;color:#1a1a2e;padding:8px 16px;font-size:14px;font-weight:500;text-align:center;z-index:1000;display:flex;align-items:center;justify-content:center;gap:8px}.connection-banner-dot{width:8px;height:8px;border-radius:50%;background-color:#1a1a2e;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.profile-editor{display:flex;flex-direction:column;gap:16px}.profile-editor-name{display:flex;flex-direction:column;gap:10px}.profile-editor-name label{font-size:14px;color:var(--color-text-muted);-webkit-user-select:none;user-select:none}.profile-editor-name input{padding:10px 12px;font-size:16px;border:1px solid #333;border-radius:8px;background-color:var(--color-surface);color:var(--color-text);outline:none;transition:border-color .2s}.profile-editor-name input:focus{border-color:gray}.profile-editor-avatars{display:flex;flex-direction:column;gap:8px}.profile-editor-avatars label{font-size:14px;color:var(--color-text-muted);-webkit-user-select:none;user-select:none}.avatar-grid{display:grid;grid-template-columns:repeat(6,48px);gap:8px;justify-content:center}.avatar-option{display:flex;align-items:center;justify-content:center;width:48px;height:48px;font-size:24px;border:2px solid transparent;border-radius:12px;background-color:var(--color-surface);cursor:pointer;transition:all .2s}.avatar-option:hover{background-color:#1e2a4a}.avatar-option.selected{border-color:gray;background-color:#80808026}.btn{padding:10px 20px;font-size:16px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:#d13350}.btn-secondary{background-color:var(--color-surface);color:var(--color-text);border:1px solid #333}.btn-secondary:hover:not(:disabled){background-color:#1e2a4a}.btn-large{padding:14px 28px;font-size:18px}.welcome-page{max-width:500px;margin:0 auto;padding:16px;min-height:100%;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}.welcome-header{text-align:center;margin-bottom:32px;-webkit-user-select:none;user-select:none}.welcome-intro{font-family:Inter,sans-serif;font-size:16px;color:var(--color-text-muted);margin-bottom:16px}.welcome-title{display:flex;flex-direction:column;align-items:center;line-height:.85;margin-top:12px;margin-bottom:8px}.welcome-the{font-family:Bebas Neue,sans-serif;font-size:40px;color:silver;letter-spacing:1px;text-shadow:2px 2px 0 rgba(0,0,0,.3),-1px -1px 0 rgba(0,0,0,.2)}.welcome-game{font-family:Bebas Neue,sans-serif;font-size:80px;color:silver;letter-spacing:0;text-shadow:2px 2px 0 rgba(0,0,0,.3),-1px -1px 0 rgba(0,0,0,.2)}.welcome-subtitle{font-family:Inter,sans-serif;font-size:16px;color:var(--color-text-muted)}.welcome-form{background-color:var(--color-surface);padding:24px;border-radius:16px;margin-bottom:32px}.welcome-actions{display:flex;justify-content:center}.welcome-enter-btn{font-family:Bebas Neue,sans-serif;font-size:32px;color:silver;background:transparent;border:1px solid #808080;border-radius:4px;padding:4px 24px;cursor:pointer;transition:all .2s;letter-spacing:2px;-webkit-user-select:none;user-select:none}.welcome-enter-btn:hover:not(:disabled){color:#f5f5f5;border-color:#a0a0a0}.welcome-enter-btn:disabled{opacity:.4;cursor:not-allowed}.lobby-page{max-width:600px;margin:0 auto;padding:16px;-webkit-user-select:none;user-select:none}.lobby-header{text-align:center;margin-bottom:32px;position:relative;-webkit-user-select:none;user-select:none}.lobby-settings{position:absolute;top:-12px;right:0;display:flex;align-items:center;gap:4px;padding:8px;text-decoration:none;color:var(--color-text-muted);transition:color .2s}.lobby-settings:hover{color:var(--color-text)}.lobby-settings-avatar{font-size:24px}.lobby-title{display:flex;flex-direction:column;align-items:center;line-height:.85;margin-top:12px;margin-bottom:8px}.lobby-the{font-family:Bebas Neue,sans-serif;font-size:40px;color:silver;letter-spacing:1px;text-shadow:2px 2px 0 rgba(0,0,0,.3),-1px -1px 0 rgba(0,0,0,.2)}.lobby-game{font-family:Bebas Neue,sans-serif;font-size:80px;color:silver;letter-spacing:0;text-shadow:2px 2px 0 rgba(0,0,0,.3),-1px -1px 0 rgba(0,0,0,.2)}.lobby-subtitle{font-size:16px;color:var(--color-text-muted)}.lobby-actions{display:flex;flex-direction:column;align-items:center;margin-bottom:32px}.lobby-new-game-btn{font-family:Bebas Neue,sans-serif;font-size:32px;color:silver;background:transparent;border:1px solid #808080;border-radius:4px;padding:4px 24px;cursor:pointer;transition:all .2s;letter-spacing:2px;-webkit-user-select:none;user-select:none}.lobby-new-game-btn:hover:not(:disabled){color:#f5f5f5;border-color:#a0a0a0}.lobby-new-game-btn:disabled{opacity:.4;cursor:not-allowed}.lobby-divider{display:flex;align-items:center;gap:12px;margin:0 auto 32px;max-width:280px;-webkit-user-select:none;user-select:none}.lobby-divider-line{flex:1;height:1px;background-color:#333}.lobby-divider-text{color:var(--color-text-muted);white-space:nowrap}.lobby-message{color:var(--color-text-muted);text-align:center;padding:32px 16px;background-color:var(--color-surface);border-radius:12px}.lobby-howtoplay-link{font-family:Bebas Neue,sans-serif;font-size:18px;color:gray;text-decoration:none;letter-spacing:2px;margin-top:16px;transition:color .2s}.lobby-howtoplay-link:hover{color:silver}.table-list{display:flex;flex-direction:column;gap:12px}.howtoplay-page{max-width:600px;margin:0 auto;padding:16px;-webkit-user-select:none;user-select:none}.howtoplay-header{text-align:center;margin-bottom:32px;-webkit-user-select:none;user-select:none}.howtoplay-title{display:flex;flex-direction:column;align-items:center;line-height:.85;margin-top:12px;margin-bottom:8px}.howtoplay-the{font-family:Bebas Neue,sans-serif;font-size:40px;color:silver;letter-spacing:1px;text-shadow:2px 2px 0 rgba(0,0,0,.3),-1px -1px 0 rgba(0,0,0,.2)}.howtoplay-game{font-family:Bebas Neue,sans-serif;font-size:80px;color:silver;letter-spacing:0;text-shadow:2px 2px 0 rgba(0,0,0,.3),-1px -1px 0 rgba(0,0,0,.2)}.howtoplay-subtitle{font-size:16px;color:var(--color-text-muted)}.howtoplay-content{display:flex;flex-direction:column;gap:24px;margin-bottom:32px}.howtoplay-section h2{font-family:Bebas Neue,sans-serif;font-size:24px;color:silver;letter-spacing:1px;margin-bottom:8px}.howtoplay-section p{font-size:15px;line-height:1.6;color:var(--color-text-muted);margin-bottom:8px}.howtoplay-section ul{list-style:none;padding-left:0}.howtoplay-section li{font-size:15px;line-height:1.6;color:var(--color-text-muted);padding-left:16px;position:relative;margin-bottom:4px}.howtoplay-section li:before{content:"—";position:absolute;left:0;color:gray}.howtoplay-section strong{color:var(--color-text);font-weight:500}.howtoplay-section em{color:var(--color-text);font-style:normal}.howtoplay-actions{display:flex;justify-content:center;padding-bottom:32px}.howtoplay-back-btn{font-family:Bebas Neue,sans-serif;font-size:24px;color:gray;text-decoration:none;letter-spacing:2px;padding:8px 24px;border:1px solid #808080;border-radius:4px;transition:all .2s}.howtoplay-back-btn:hover{color:silver;border-color:#a0a0a0}.table-card{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background-color:transparent;border:1px solid #808080;border-radius:4px}.table-card-header{display:flex;flex-direction:column;gap:4px}.table-card-host{font-size:16px;font-weight:400;color:#fff}.table-card-players{font-size:14px;color:var(--color-text-muted)}.table-card-join{font-family:Bebas Neue,sans-serif;font-size:24px;color:silver;background:transparent;border:none;padding:4px 12px;cursor:pointer;transition:all .2s;letter-spacing:2px;-webkit-user-select:none;user-select:none}.table-card-join:hover:not(:disabled){color:#f5f5f5}.table-card-join:disabled{opacity:.4;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal{background-color:var(--color-surface);border-radius:16px;padding:24px;width:100%;max-width:400px}.modal h2,.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;color:var(--color-text-muted);margin-bottom:8px}.form-group select{width:100%;padding:10px 12px;font-size:16px;border:1px solid #333;border-radius:8px;background-color:var(--color-bg);color:var(--color-text);outline:none}.form-group select:focus{border-color:gray}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.table-setup-page{max-width:600px;margin:0 auto;padding:16px;-webkit-user-select:none;user-select:none}.table-setup-header{text-align:center;margin-bottom:24px;-webkit-user-select:none;user-select:none}.table-setup-title{display:flex;flex-direction:column;align-items:center;line-height:.85;margin-top:12px;margin-bottom:8px}.table-setup-the{font-family:Bebas Neue,sans-serif;font-size:40px;color:silver;letter-spacing:1px;text-shadow:2px 2px 0 rgba(0,0,0,.3),-1px -1px 0 rgba(0,0,0,.2)}.table-setup-game{font-family:Bebas Neue,sans-serif;font-size:80px;color:silver;letter-spacing:0;text-shadow:2px 2px 0 rgba(0,0,0,.3),-1px -1px 0 rgba(0,0,0,.2)}.table-setup-subtitle{font-size:16px;color:var(--color-text-muted)}.table-setup-loading{text-align:center;padding:48px 16px;color:var(--color-text-muted)}.table-setup-banner{display:flex;align-items:center;justify-content:center;height:48px;font-size:14px;font-weight:500;border:1px solid #333;border-radius:12px;padding:0 16px;background:transparent;color:var(--color-text-muted);margin-bottom:24px}.table-setup-seats{margin-bottom:32px}.table-setup-actions{display:flex;flex-direction:column;gap:12px;align-items:center}.table-setup-btn{font-family:Bebas Neue,sans-serif;font-size:28px;color:silver;background:transparent;border:1px solid #808080;border-radius:4px;padding:4px 24px;cursor:pointer;transition:all .2s;letter-spacing:2px;-webkit-user-select:none;user-select:none;min-width:180px;position:relative}.table-setup-btn:hover:not(:disabled){color:#f5f5f5;border-color:#a0a0a0}.table-setup-btn:disabled{opacity:.4;cursor:not-allowed}.table-setup-btn-secondary{font-size:20px;padding:4px 16px;min-width:auto}.ready-check{position:absolute;right:8px;top:50%;transform:translateY(-50%)}.seat-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.seat-card{position:relative;background-color:var(--color-surface);border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;border:2px solid transparent;transition:all .2s}.seat-card.seat-me{border-color:gray}.seat-card.seat-ready{border-color:silver;border-width:3px}.seat-card.seat-offline{opacity:.6}.seat-card.seat-offline .seat-avatar{filter:grayscale(1);opacity:.5}.seat-empty{flex-direction:column;align-items:center;justify-content:center;min-height:80px;background-color:#16213e80;border:2px dashed #333}.seat-index{font-size:12px;color:var(--color-text-muted)}.seat-empty-label{font-size:14px;color:var(--color-text-muted)}.seat-empty-clickable{cursor:pointer;transition:all .2s}.seat-empty-clickable:hover{border-color:gray;background-color:#16213ecc}.seat-empty-clickable .seat-empty-label{color:var(--color-text)}.seat-avatar{font-size:32px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg);border-radius:12px}.seat-avatar-kickable{cursor:pointer;transition:transform .15s ease;-webkit-tap-highlight-color:transparent}.seat-avatar-kickable:hover{transform:scale(1.1)}.seat-info{flex:1;min-width:0}.seat-name{font-size:16px;font-weight:500;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.seat-host-badge{font-size:10px;font-weight:600;text-transform:uppercase;background-color:var(--color-primary);color:#fff;padding:2px 6px;border-radius:4px}.seat-me-badge{font-size:10px;font-weight:600;text-transform:uppercase;background-color:#3b82f6;color:#fff;padding:2px 6px;border-radius:4px}.seat-status{font-size:14px;margin-top:4px}.status-ready{color:#22c55e}.status-waiting{color:var(--color-text-muted)}.status-offline{color:#f59e0b}.game-page{display:flex;flex-direction:column;min-height:100%;padding:16px;gap:16px;-webkit-user-select:none;user-select:none}.game-loading{text-align:center;padding:48px 16px;color:var(--color-text-muted)}.game-status-box{display:flex;align-items:center;justify-content:center;height:48px;font-size:14px;font-weight:500;border:1px solid #333;border-radius:12px;padding:0 16px;background:transparent;cursor:pointer}.game-status-box:hover{border-color:#444}.game-status-box-reactions{gap:4px;padding:0 12px;border-color:#444;cursor:default;z-index:100}.game-status-box-reactions:hover{border-color:#444}.waiting-turn{color:var(--color-text-muted)}.game-status-box-status{cursor:default}.game-status-box-status:hover{border-color:#333}.game-status-box-connection{cursor:default;gap:8px}.connection-dot{width:8px;height:8px;border-radius:50%;background-color:#ef4444;animation:pulse 1.5s ease-in-out infinite}.connection-message{color:var(--color-text-muted)}.game-status-box-deck-cleared{cursor:default;animation:deck-cleared-pulse 7s ease-in-out forwards}.game-status-box-deck-cleared:hover{border-color:#fff}@keyframes deck-cleared-pulse{0%{opacity:1}14%,28%,42%,56%,70%{border-color:#fff6;box-shadow:0 0 8px 2px #fff3}7%,21%,35%,49%,63%{border-color:#fff;box-shadow:0 0 16px 4px #ffffff80}85%{border-color:#fff3;box-shadow:0 0 4px 1px #ffffff1a;opacity:.5}to{border-color:#333;box-shadow:none;opacity:0}}.game-status-box-inactivity-flash{animation:inactivity-flash 1s ease-in-out}@keyframes inactivity-flash{0%,to{border-color:#333;box-shadow:none}25%,75%{border-color:#fff;box-shadow:0 0 16px 4px #ffffff80}50%{border-color:#fff6;box-shadow:0 0 8px 2px #fff3}}.game-paused-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.game-paused-modal{background-color:var(--color-surface);border-radius:16px;padding:32px;text-align:center;max-width:400px}.game-paused-modal h2{color:#f59e0b;margin-bottom:16px}.game-paused-modal p{color:var(--color-text-muted)}.game-exit-btn{position:fixed;bottom:16px;left:16px;width:40px;height:40px;border-radius:50%;background-color:var(--color-surface);border:1px solid #333;color:gray;font-size:20px;line-height:1;cursor:pointer;z-index:100;-webkit-user-select:none;user-select:none;transition:all .2s;display:flex;align-items:center;justify-content:center;padding:0 0 2px}.game-exit-btn:hover{color:silver;border-color:#555}.game-leave-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:1001}.game-leave-modal{background-color:var(--color-surface);border-radius:16px;padding:32px;text-align:center;max-width:320px}.game-leave-modal p{margin:0;font-size:18px}.game-leave-warning{color:var(--color-text-muted);font-size:14px!important;margin-top:8px!important}.game-leave-actions{display:flex;gap:16px;margin-top:24px;justify-content:center}.game-leave-btn{font-family:Bebas Neue,sans-serif;font-size:24px;color:silver;background:transparent;border:1px solid #808080;border-radius:4px;padding:4px 24px;cursor:pointer;transition:all .2s;letter-spacing:2px;-webkit-user-select:none;user-select:none}.game-leave-btn:hover{color:#f5f5f5;border-color:#a0a0a0}.game-leave-btn-confirm{color:#ef4444;border-color:#ef4444}.game-leave-btn-confirm:hover{color:#f87171;border-color:#f87171}.player-list{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;justify-content:center}.player-item{position:relative;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:var(--color-surface);border-radius:8px;border:2px solid #444;flex-shrink:0;transition:width .2s ease}.player-item.player-current{width:auto;padding:8px 12px;gap:8px;border-color:#e5e5e5}.player-item.player-offline{border-color:#333;border-style:dashed}.player-item.player-offline .player-avatar{filter:grayscale(1);opacity:.5}.player-avatar{font-size:24px;line-height:1}.player-card-count{position:absolute;bottom:-10px;left:50%;transform:translate(-50%);min-width:16px;height:18px;font-size:11px;font-weight:600;background-color:var(--color-bg);color:var(--color-text);border:1px solid #444;border-radius:3px;display:flex;align-items:center;justify-content:center;padding:0 4px}.player-info{display:flex;flex-direction:column;gap:2px}.player-name{font-size:14px;font-weight:500;display:flex;align-items:center;gap:6px;white-space:nowrap}.game-board{display:flex;flex-direction:column;align-items:center;gap:16px;-webkit-user-select:none;user-select:none}.piles-row{display:flex;gap:4px;justify-content:center;align-items:flex-end;width:100%}.pile{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:0;max-width:72px}.pile-header{display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--color-text-muted)}.pile-direction{font-weight:500}.pile-cards{position:relative;width:100%;aspect-ratio:5 / 9}.pile-card{position:relative;width:100%;aspect-ratio:5 / 7;font-family:Bebas Neue,sans-serif;background-color:var(--color-surface);border:2px solid #333;border-radius:8px;color:var(--color-text);cursor:default;transition:all .2s;display:flex;align-items:center;justify-content:center}.pile-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--color-surface);border-radius:6px;z-index:11}.card-center{font-size:32px;position:relative;z-index:12}.card-corner{position:absolute;font-size:12px;line-height:1;z-index:12}.card-corner-top{top:3px;left:5px}.card-corner-bottom{bottom:3px;right:5px;transform:rotate(180deg)}.pile-card-current{position:absolute;bottom:0;left:0;z-index:1}.pile-card-previous{position:absolute;bottom:20px;left:0;opacity:.6;border-color:#555;z-index:0}.pile-card-highlight{border-color:#f59e0b;box-shadow:0 0 8px #f59e0b66}.pile-card-clickable{cursor:pointer;border-color:#22c55e}.pile-card-clickable:hover{background-color:#1a2e1f}.pile-effect{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible;z-index:10}.pile-effect-smoke{top:-200%;right:-200%;bottom:-200%;left:-200%}.heart-particle{position:absolute;font-size:14px;animation:heart-burst 2s ease-out forwards;transform:translate(-50%,-50%)}@keyframes heart-burst{0%{transform:translate(-50%,-50%) scale(0);opacity:1}20%{transform:translate(calc(-50% + var(--dx) * .2),calc(-50% + var(--dy) * .2)) scale(1);opacity:1}70%{opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.9);opacity:0}}.smoke-particle{position:absolute;width:var(--smoke-size);height:var(--smoke-size);background:radial-gradient(circle,var(--smoke-color) 0%,transparent 70%);border-radius:50%;filter:blur(3px);animation:smoke-rise 2s ease-out forwards;transform:translate(-50%,-50%)}@keyframes smoke-rise{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}10%{transform:translate(calc(-50% + var(--dx) * .1),calc(-50% + var(--dy) * .1)) scale(.7);opacity:.6}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.5);opacity:0}}.pile-signals{display:flex;gap:4px;justify-content:center;min-height:24px}.signal-btn{width:24px;height:24px;font-size:14px;background:transparent;border:none;border-radius:4px;cursor:pointer;filter:grayscale(1);opacity:.4;transition:all .2s}.signal-btn:hover{opacity:.7}.signal-btn.signal-active{filter:none;opacity:1}.signal-avatars{position:absolute;display:flex;flex-direction:column;gap:1px;z-index:12}.signal-avatars-want{bottom:4px;left:4px}.signal-avatars-help{top:4px;right:4px;align-items:flex-end}.signal-avatar,.signal-type-icon{font-size:12px;line-height:1}.deck{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:0;max-width:72px}.deck-header{display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--color-text-muted)}.deck-count{font-weight:500}.deck-cards{position:relative;width:100%;aspect-ratio:5 / 9;display:flex;align-items:flex-end}.deck-card{width:100%;aspect-ratio:5 / 7;background-color:var(--color-surface);border:2px solid #333;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:12px;gap:10px;cursor:default;transition:all .2s}.deck-skull{font-size:24px;line-height:1}.deck-title{display:flex;flex-direction:column;align-items:center;line-height:.85}.deck-the{font-family:Bebas Neue,sans-serif;font-size:10px;color:silver;letter-spacing:.5px}.deck-game{font-family:Bebas Neue,sans-serif;font-size:18px;color:silver;letter-spacing:0}.deck-card-clickable{border-color:#22c55e;cursor:pointer;animation:deck-glow 2s ease-in-out infinite}@keyframes deck-glow{0%,to{box-shadow:0 0 8px 2px #22c55e4d}50%{box-shadow:0 0 16px 4px #22c55e80}}.deck-card-clickable:hover{background-color:#22c55e1a}.player-hand{padding:8px 0;width:100%}.hand-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.hand-label,.plays-counter{font-size:14px;color:var(--color-text-muted)}.hand-cards{display:flex;gap:4px;justify-content:center;padding-top:10px;margin-bottom:16px}.hand-card{position:relative;flex:1;min-width:0;max-width:72px;aspect-ratio:5 / 7;font-family:Bebas Neue,sans-serif;background-color:var(--color-bg);border:2px solid #333;border-radius:8px;color:var(--color-text);cursor:pointer;transition:all .2s}.hand-card .card-center{font-size:clamp(20px,5vw,28px)}.hand-card .card-corner{font-size:clamp(8px,2vw,12px)}.hand-card:disabled{cursor:default;opacity:.6}.hand-card:not(:disabled):hover{border-color:gray}.hand-card-selected{border-color:gray;background-color:#80808026;transform:translateY(-4px)}.hand-card-empty{background-color:transparent;border:2px dashed #333;cursor:default}.hand-card-new{animation:card-glow 5s ease-in-out}@keyframes card-glow{0%{box-shadow:0 0 6px 1px #fff6}15%{box-shadow:0 0 12px 2px #ffffffb3}30%{box-shadow:0 0 6px 1px #fff6}45%{box-shadow:0 0 12px 2px #ffffffb3}60%{box-shadow:0 0 6px 1px #fff6}75%{box-shadow:0 0 10px 2px #ffffff80}to{box-shadow:none}}.hand-actions{display:flex;align-items:center;justify-content:center;gap:16px}.hand-hint{font-size:14px;color:var(--color-text-muted)}.game-end-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:24px 16px;-webkit-user-select:none;user-select:none}.game-end-loading{text-align:center;color:var(--color-text-muted)}.game-end-content{text-align:center;max-width:400px;width:100%}.game-end-title{display:flex;flex-direction:column;align-items:center;line-height:.85;margin-bottom:24px}.game-end-small{font-family:Bebas Neue,sans-serif;font-size:40px;color:silver;letter-spacing:1px;text-shadow:2px 2px 0 rgba(0,0,0,.3),-1px -1px 0 rgba(0,0,0,.2)}.game-end-big{font-family:Bebas Neue,sans-serif;font-size:80px;color:silver;letter-spacing:0;text-shadow:2px 2px 0 rgba(0,0,0,.3),-1px -1px 0 rgba(0,0,0,.2)}.game-end-result{font-size:48px;font-weight:700;margin-bottom:16px}.game-end-details{margin-bottom:32px}.game-end-message{font-size:14px;color:var(--color-text-muted)}.game-end-players{display:flex;justify-content:center;margin-bottom:32px}.game-end-player-list{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.game-end-player{display:flex;flex-direction:row;align-items:center;gap:8px}.game-end-player-left{opacity:.5;filter:grayscale(100%)}.game-end-player-avatar{position:relative;font-size:28px;flex-shrink:0;cursor:pointer}.game-end-player-tooltip{position:absolute;top:-8px;right:-4px;transform:translate(80%);background-color:var(--color-bg);border:1px solid #404040;border-radius:12px;padding:4px 10px;font-size:11px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--color-text);white-space:nowrap;text-align:left;z-index:10;pointer-events:none;box-shadow:0 2px 8px #0000004d}.game-end-player-cards{display:flex;flex-wrap:wrap;gap:4px}.game-end-card{display:flex;align-items:center;justify-content:center;width:36px;height:48px;font-family:Bebas Neue,sans-serif;font-size:18px;background-color:var(--color-surface);border:1px solid #333;border-radius:4px;color:var(--color-text)}.game-end-actions{display:flex;justify-content:center}.game-end-btn{font-family:Bebas Neue,sans-serif;font-size:32px;color:silver;background:transparent;border:1px solid #808080;border-radius:4px;padding:4px 24px;cursor:pointer;transition:all .2s;letter-spacing:2px;-webkit-user-select:none;user-select:none}.game-end-btn:hover{color:#f5f5f5;border-color:#a0a0a0}.game-end-board{margin-bottom:24px}.game-end-piles-row{display:flex;gap:8px;justify-content:center;align-items:flex-start}.game-end-pile{display:flex;flex-direction:column;align-items:center;gap:4px}.game-end-pile-header{font-size:12px;color:var(--color-text-muted);font-weight:600}.game-end-pile-direction{display:block}.game-end-pile-card{position:relative;width:60px;height:80px;background:var(--color-surface);border:2px solid #404040;border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:Bebas Neue,sans-serif;font-size:24px;color:var(--color-text)}.game-end-pile-card .card-corner{position:absolute;font-size:14px;color:var(--color-text-muted)}.game-end-pile-card .card-corner-top{top:4px;left:6px}.game-end-pile-card .card-corner-bottom{bottom:4px;right:6px}.game-end-pile-card .card-center{font-size:28px}.game-end-deck{display:flex;flex-direction:column;align-items:center;gap:4px}.game-end-deck-header{font-size:12px;color:var(--color-text-muted);font-weight:600}.game-end-deck-count{display:block}.game-end-deck-card{position:relative;width:60px;height:80px;background:var(--color-bg);border:2px solid #404040;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:10px;gap:2px}.game-end-deck-card .skull-mover{position:absolute;top:35%;left:50%;transform:translate(-50%,-50%)}.game-end-deck-card .deck-skull{font-size:20px}.game-end-deck-card .deck-title{display:flex;flex-direction:column;align-items:center;line-height:.75}.game-end-deck-card .deck-the{font-family:Bebas Neue,sans-serif;font-size:10px;color:silver;letter-spacing:.5px}.game-end-deck-card .deck-game{font-family:Bebas Neue,sans-serif;font-size:18px;color:silver;letter-spacing:0}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:24px 16px;text-align:center;gap:16px}.error-boundary h1{font-size:24px;color:var(--color-primary)}.error-boundary p{color:var(--color-text-muted)}.error-details{background-color:var(--color-surface);padding:12px 16px;border-radius:8px;font-family:monospace;font-size:12px;color:var(--color-text-muted);max-width:100%;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.refresh-btn{position:fixed;bottom:16px;right:16px;width:40px;height:40px;border-radius:50%;background-color:var(--color-surface);border:1px solid #333;color:var(--color-text-muted);font-size:20px;line-height:1;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;z-index:100;padding:0 0 2px;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.refresh-btn:hover{color:var(--color-text);border-color:#555}.refresh-btn:active{transform:scale(.95)}.refresh-btn:focus{outline:none}.refresh-btn-update{border-color:#f97316;color:#f97316;animation:pulse-update 2s ease-in-out infinite}.refresh-btn-update:hover{border-color:#fb923c;color:#fb923c}@keyframes pulse-update{0%,to{opacity:1}50%{opacity:.6}}.refresh-btn-spinning{animation:spin-clockwise 1s linear infinite}@keyframes spin-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.reaction-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.reaction-trigger-open{filter:none;opacity:1}.reaction-picker{position:fixed;display:flex;align-items:center;justify-content:center;gap:4px;height:48px;background-color:var(--color-surface);border:1px solid #444;border-radius:12px;padding:0 12px;z-index:100}.reaction-option{width:32px;height:32px;border:none;background:transparent;font-size:20px;cursor:pointer;border-radius:50%;transition:all .15s;display:flex;align-items:center;justify-content:center}.reaction-option:hover{background-color:#ffffff1a;transform:scale(1.15)}.reaction-option:focus{outline:none;box-shadow:none}.reaction-option:active{transform:scale(.95)}.reaction-display{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:150;overflow:hidden}.floating-reaction{position:absolute;animation:floatUp 2.5s ease-out forwards;transform:translate(-50%,-50%)}.floating-reaction-avatar{display:flex;align-items:center;justify-content:center;width:48px;height:48px;font-size:28px;line-height:1;background-color:#1e1e32f2;border:2px solid #555;border-radius:50%}.floating-reaction-badge{position:absolute;bottom:-4px;right:-4px;font-size:16px;line-height:1;background-color:#28283cf2;border:1px solid #666;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center}@keyframes floatUp{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}10%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}20%{transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,calc(-50% - 30px)) scale(1)}to{opacity:0;transform:translate(-50%,calc(-50% - 40px)) scale(1.2)}}.app-version{position:fixed;bottom:16px;left:50%;transform:translate(-50%);font-size:10px;line-height:40px;color:var(--color-text-muted);opacity:.8;pointer-events:none;-webkit-user-select:none;user-select:none}.install-btn{position:fixed;bottom:16px;left:16px;width:40px;height:40px;border-radius:50%;background-color:var(--color-surface);border:1px solid #333;color:var(--color-text-muted);font-size:20px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;z-index:100;padding:0}.install-btn:hover{color:var(--color-text);border-color:#555}.install-btn:active{transform:scale(.95)}.install-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.install-instructions{background-color:var(--color-surface);border:1px solid #333;border-radius:16px;padding:24px;max-width:320px;width:100%;position:relative}.install-instructions h2{margin:0 0 20px;font-family:Bebas Neue,sans-serif;font-size:24px;text-align:center;color:var(--color-text)}.install-instructions-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;background:none;color:var(--color-text-muted);font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.install-instructions-close:hover{color:var(--color-text);background-color:#ffffff1a}.install-steps{display:flex;flex-direction:column;gap:16px}.install-step{display:flex;align-items:center;gap:12px}.install-step-number{width:28px;height:28px;border-radius:50%;background-color:transparent;border:1px solid white;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.install-step-text{color:var(--color-text);font-size:14px;line-height:1.4}.install-step-text strong{color:#fff;font-weight:700}.install-share-icon{vertical-align:middle;margin:0 2px;color:#fff}@media(max-width:380px){.game-page{padding:8px}}@keyframes move-grow-return{0%{top:var(--start-y);left:var(--start-x);transform:translate(0) scale(1);width:auto;height:auto}15%{top:50%;left:50%;transform:translate(-50%,-50%) scale(12)}85%{top:50%;left:50%;transform:translate(-50%,-50%) scale(12)}to{top:var(--start-y);left:var(--start-x);transform:translate(0) scale(1)}}@keyframes hysterical-laugh{0%{transform:rotate(0) translateY(0)}10%{transform:rotate(-6deg) translateY(2px)}20%{transform:rotate(8deg) translateY(-4px)}30%{transform:rotate(-12deg) translateY(-2px)}40%{transform:rotate(5deg) translateY(6px)}50%{transform:rotate(-2deg) translateY(-5px)}60%{transform:rotate(9deg) translateY(3px)}70%{transform:rotate(-10deg) translateY(-3px)}80%{transform:rotate(4deg) translateY(5px)}90%{transform:rotate(-7deg) translateY(1px)}to{transform:rotate(0) translateY(0)}}.skull-mover{display:inline-block;transform-origin:center center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;pointer-events:none;--start-x: 0px;--start-y: 0px}.skull-mover.skull-hidden{opacity:0}.skull-mover.animate-loss{position:fixed;z-index:9999;margin:0;animation:move-grow-return 3s ease-in-out forwards;pointer-events:none;opacity:1!important;background:transparent}.skull-shaker{display:inline-block}.skull-mover.animate-loss .skull-shaker{animation:hysterical-laugh .8s 3 linear forwards;filter:drop-shadow(0 0 10px rgba(0,0,0,.5))}.game-debug-panel{margin-top:16px;padding-top:16px;padding-bottom:60px;border-top:1px solid #444}.game-debug-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.game-debug-title{font-size:10px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px}.game-debug-flag-btn{padding:4px 10px;font-size:11px;background:#c850504d;border:1px solid rgba(200,80,80,.5);border-radius:4px;color:#f99;cursor:pointer;transition:all .15s ease}.game-debug-flag-btn:hover{background:#c8505080;border-color:#c85050cc}.game-debug-flag-btn:active{transform:scale(.95)}.game-debug-flag-btn-success{background:#50c8504d;border-color:#50c85080;color:#9f9}.game-debug-flag-btn-success:hover{background:#50c85080;border-color:#50c850cc}.game-debug-hands{display:flex;flex-direction:column;gap:6px}.game-debug-player{display:flex;flex-direction:row;align-items:center;gap:8px;padding:4px 10px;background:#282832cc;border-radius:8px;border:1px solid #333}.game-debug-player-turn{border-color:var(--color-primary);box-shadow:0 0 8px #ffc8644d}.game-debug-player-header{display:flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap;min-width:70px}.game-debug-avatar{font-size:14px}.game-debug-name{color:var(--color-text);font-weight:500;font-size:11px}.game-debug-cards{display:flex;gap:4px;flex-wrap:wrap}.game-debug-card{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:20px;padding:0 4px;background:var(--color-surface);border:1px solid #555;border-radius:4px;font-family:Bebas Neue,sans-serif;font-size:14px;color:var(--color-text)}.game-debug-card-empty{display:inline-flex;min-width:24px;height:20px;background:#28283266;border:1px dashed #444;border-radius:4px}.game-debug-empty{font-size:11px;color:var(--color-text-muted);font-style:italic}
