.knightwalker-lobby{max-width:500px;margin:0 auto;padding:20px}.knightwalker-lobby .lobby-header{text-align:center;margin-bottom:20px}.knightwalker-lobby .lobby-header h1{margin:0 0 5px;color:#4ecca3}.knightwalker-lobby .player-count{color:#888;font-size:.9rem}.knightwalker-lobby .lobby-card{background:#1e1e1e;border-radius:12px;padding:24px}.knightwalker-lobby .lobby-step{margin-bottom:16px}.knightwalker-lobby .lobby-step label{display:block;margin-bottom:8px;color:#888;font-size:.9rem}.knightwalker-lobby .lobby-step input{width:100%;padding:12px;border:2px solid #333;border-radius:8px;background:#2a2a2a;color:#fff;font-size:1rem;box-sizing:border-box}.knightwalker-lobby .lobby-step input:focus{border-color:#4ecca3;outline:none}.knightwalker-lobby .how-to-play-btn{background:none;border:none;color:#4ecca3;cursor:pointer;padding:8px 0;font-size:.9rem;margin-bottom:8px}.knightwalker-lobby .rules-content{background:#2a2a2a;border-radius:8px;padding:16px;margin-bottom:16px}.knightwalker-lobby .rules-content ul{margin:0;padding-left:20px}.knightwalker-lobby .rules-content li{margin-bottom:8px;color:#ccc}.knightwalker-lobby .error{color:#ff6b6b;text-align:center;margin:10px 0}.knightwalker-lobby .lobby-actions{display:flex;flex-direction:column;gap:16px}.knightwalker-lobby .lobby-btn{padding:14px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.knightwalker-lobby .lobby-btn.primary{background:#4ecca3;color:#1a1a2e}.knightwalker-lobby .lobby-btn.primary:hover{background:#3db892}.knightwalker-lobby .lobby-btn.secondary{background:#333;color:#fff}.knightwalker-lobby .lobby-btn.secondary:hover{background:#444}.knightwalker-lobby .join-inline{display:flex;align-items:center;gap:10px}.knightwalker-lobby .divider-text{color:#888;white-space:nowrap}.knightwalker-lobby .code-field-inline{width:80px;padding:12px;border:2px solid #333;border-radius:8px;background:#2a2a2a;color:#fff;font-size:1rem;text-align:center;text-transform:uppercase;letter-spacing:2px}.knightwalker-lobby .code-field-inline:focus{border-color:#4ecca3;outline:none}.knightwalker-room{max-width:900px;margin:0 auto;padding:20px}.knightwalker-room .room-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.knightwalker-room .back-link{color:#888;text-decoration:none}.knightwalker-room .back-link:hover{color:#4ecca3}.knightwalker-room .share-code{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.knightwalker-room .code-label{color:#888;font-size:.9rem}.knightwalker-room .code-display{font-size:1.8rem;font-weight:700;color:#4ecca3;letter-spacing:4px}.knightwalker-room .copy-link-btn{padding:8px 16px;background:#333;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:background .2s;font-size:.9rem}.knightwalker-room .copy-link-btn:hover{background:#444}.knightwalker-room .players-section{background:#1e1e1e;border-radius:12px;padding:20px;margin-bottom:20px}.knightwalker-room .players-section h3{margin:0 0 15px;color:#888;font-size:1rem}.knightwalker-room .player-list-horizontal{display:flex;flex-wrap:wrap;gap:10px}.knightwalker-room .player-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:#2a2a2a;border-radius:20px;font-size:.95rem}.knightwalker-room .player-tag.host{border:1px solid #4ecca3}.knightwalker-room .host-badge{font-size:.7rem;padding:2px 6px;background:#4ecca3;color:#1a1a2e;border-radius:4px;font-weight:700}.knightwalker-room .host-controls{text-align:center;padding:30px}.knightwalker-room .start-button{padding:16px 48px;font-size:1.2rem;font-weight:700;background:#4ecca3;color:#1a1a2e;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.knightwalker-room .start-button:hover{background:#3db892;transform:scale(1.02)}.knightwalker-room .waiting-text{color:#888;margin-top:15px}.knightwalker-room .waiting-message{text-align:center;padding:40px;color:#888}.knightwalker-room .game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding:10px 15px;background:#1e1e1e;border-radius:8px}.knightwalker-room .room-code{font-size:1rem;font-weight:700;color:#4ecca3}.knightwalker-room .player-name{color:#ccc}.knightwalker-room .player-count-small{color:#888;font-size:.9rem}.knightwalker-room .game-area{display:flex;flex-direction:column;align-items:center}.knightwalker-room .game-canvas{position:relative;width:800px;height:350px;background:linear-gradient(180deg,#87ceeb,#98d8e8 40%,#b8e8f0,#d4f0f7);border-radius:12px;overflow:hidden;border:2px solid #333}.knightwalker-room .knight{position:absolute;overflow:hidden}.knightwalker-room .sprite{background-image:url(/sprites/knight.webp);image-rendering:pixelated}.knightwalker-room .ground{position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(180deg,#4a7c3c,#3d6832 30%,#2d5025);border-top:4px solid #5a9c4c}.knightwalker-room .controls-hint{margin-top:20px;padding:12px 24px;background:#1e1e1e;border-radius:8px;color:#888;text-align:center}.knightwalker-room .controls-hint kbd{display:inline-block;padding:4px 10px;margin:0 4px;background:#333;border:1px solid #555;border-radius:4px;color:#fff;font-family:monospace;font-size:.9rem}.knightwalker-room .controls-hint.watching{color:#4ecca3;font-style:italic}.knightwalker-room .player-notification{position:fixed;top:80px;right:20px;display:flex;align-items:center;gap:8px;padding:12px 20px;background:#2a2a2a;border-radius:8px;border-left:4px solid #4ecca3;animation:slideIn .3s ease;z-index:100}.knightwalker-room .player-notification.left,.knightwalker-room .player-notification.disconnected{border-left-color:#ff6b6b}.knightwalker-room .player-notification .notification-icon{font-weight:700;font-size:1.2rem}.knightwalker-room .player-notification.joined .notification-icon,.knightwalker-room .player-notification.reconnected .notification-icon{color:#4ecca3}.knightwalker-room .player-notification.left .notification-icon,.knightwalker-room .player-notification.disconnected .notification-icon{color:#ff6b6b}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 850px){.knightwalker-room .game-canvas{width:100%;max-width:800px}}@media (max-width: 500px){.knightwalker-room .room-header{flex-direction:column;align-items:flex-start}.knightwalker-room .game-header{flex-direction:column;gap:8px;text-align:center}}@media (max-width: 850px) and (orientation: portrait){.knightwalker-room .game-area{position:fixed;top:0;left:0;width:100vh;height:100vw;transform:rotate(90deg);transform-origin:top left;margin-left:100vw;background:#121212;z-index:1000;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:10px}.knightwalker-room .game-canvas{width:calc(100vh - 80px);height:calc(100vw - 100px);max-width:none}.knightwalker-room .game-header{position:fixed;top:0;left:0;width:100vh;transform:rotate(90deg);transform-origin:top left;margin-left:100vw;z-index:1001;padding:5px 10px}}@media (max-width: 850px) and (orientation: portrait){.knightwalker-room .landscape-prompt{display:flex;position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;z-index:2000;justify-content:center;align-items:center;flex-direction:column;color:#fff;text-align:center;padding:20px}.knightwalker-room .landscape-prompt .rotate-icon{font-size:4rem;margin-bottom:20px;animation:rotateHint 2s ease-in-out infinite}.knightwalker-room .landscape-prompt p{font-size:1.2rem;color:#888}@keyframes rotateHint{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}}.snake-dot{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-radius:2px}.snake-dot.large{width:24px;height:24px}.multisnake-game{display:flex;flex-direction:column;align-items:center;max-width:none;padding:10px}.my-snake-indicator{text-align:center;padding:10px 20px;background:#1a1a2e;border:2px solid currentColor;margin-bottom:15px;font-size:.8rem;display:flex;align-items:center;justify-content:center;gap:8px}.my-snake-indicator .controls-text{color:#888;font-size:.7rem}.scoreboard{display:flex;gap:20px;margin-bottom:15px;flex-wrap:wrap;justify-content:center}.score-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#1a1a2e;border:2px solid #333;font-size:.75rem}.score-item.dead{opacity:.4;text-decoration:line-through}.score-item.me{border-width:3px;box-shadow:0 0 10px currentColor}.score-name{color:#888}.score-value{color:#fff;min-width:30px;text-align:right}.game-canvas{position:relative;background:#0a0a15;border:2px solid #4ecca3;box-shadow:0 0 20px #4ecca34d,inset 0 0 50px #00000080;overflow:visible;margin:15px}.game-grid{position:relative;background:linear-gradient(90deg,rgba(78,204,163,.05) 1px,transparent 1px),linear-gradient(rgba(78,204,163,.05) 1px,transparent 1px);background-size:16px 16px;overflow:visible}.portal{position:absolute;background:#0a0a15;border:2px solid #b56eff;box-shadow:0 0 10px #b56eff,0 0 20px #b56eff80,inset 0 0 10px #b56eff4d;animation:portalPulse 1.5s ease-in-out infinite;z-index:5}@keyframes portalPulse{0%,to{box-shadow:0 0 10px #b56eff,0 0 20px #b56eff80,inset 0 0 10px #b56eff4d}50%{box-shadow:0 0 15px #b56eff,0 0 30px #b56effb3,inset 0 0 15px #b56eff80}}.snake-segment{position:absolute;border:2px solid rgba(0,0,0,.4);box-sizing:border-box;border-radius:2px}.snake-segment.head{border-radius:4px;z-index:10;border-width:3px}.snake-segment.head.mine{z-index:20}.you-arrow{position:absolute;top:-25px;left:50%;transform:translate(-50%);color:#fff;font-size:16px;text-shadow:0 0 5px #000,0 0 10px currentColor;animation:bounceArrow .5s ease-in-out infinite;pointer-events:none}@keyframes bounceArrow{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-5px)}}.pellet{position:absolute;background:#ffdd57;border:2px solid #ffc107;box-shadow:0 0 10px #ffdd57,0 0 20px #ffdd57;animation:pelletPulse .5s ease-in-out infinite alternate;box-sizing:border-box}@keyframes pelletPulse{0%{transform:scale(.8);opacity:.8}to{transform:scale(1);opacity:1}}.countdown-overlay,.gameover-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#000000d9;z-index:100}.countdown-number{font-size:4rem;color:#4ecca3;text-shadow:0 0 20px #4ecca3,0 0 40px #4ecca3;animation:countdownPop .5s ease-out}@keyframes countdownPop{0%{transform:scale(2);opacity:0}to{transform:scale(1);opacity:1}}.gameover-overlay h2,.dead-overlay h2{font-size:1.5rem;color:#ff6b6b;margin-bottom:20px;text-shadow:0 0 20px #ff6b6b}.dead-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#000000b3;z-index:50}.dead-overlay p{color:#888;font-size:.8rem}.winner-info{display:flex;align-items:center;gap:15px;margin-bottom:15px}.winner-name{font-size:1rem;color:#fff}.winner-score{color:#888;font-size:.8rem;margin-bottom:25px}.play-again-btn{padding:14px 24px;background:#4ecca3;border:none;border-radius:8px;color:#0d0d1a;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.play-again-btn:hover{background:#3db892;transform:translateY(-2px)}.controls-reminder{display:flex;gap:20px;margin-top:15px;font-size:.7rem;flex-wrap:wrap;justify-content:center;color:#888}.landscape-swipe-hint{display:none}.mobile-controls{display:none;position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:200}.swipe-hint{text-align:center;color:#4ecca3;font-size:.7rem;margin-bottom:10px;opacity:.8}.dpad{display:grid;grid-template-columns:repeat(3,60px);grid-template-rows:repeat(3,60px);gap:5px}.dpad-btn{width:60px;height:60px;background:#4ecca34d;border:3px solid #4ecca3;color:#4ecca3;font-size:1.5rem;display:flex;justify-content:center;align-items:center;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:manipulation}.dpad-btn:active{background:#4ecca3;color:#0d0d1a}.dpad-btn.up{grid-column:2;grid-row:1}.dpad-btn.left{grid-column:1;grid-row:2}.dpad-btn.right{grid-column:3;grid-row:2}.dpad-btn.down{grid-column:2;grid-row:3}.dpad-center{grid-column:2;grid-row:2;background:#1a1a2e;border:2px solid #333}@media (max-width: 600px){.multisnake-game{padding:5px}.mobile-controls{display:block}.controls-reminder{display:none}.scoreboard{font-size:.65rem;gap:10px}.score-item{padding:5px 8px}}@media (max-width: 400px){.dpad-btn{width:50px;height:50px}.dpad{grid-template-columns:repeat(3,50px);grid-template-rows:repeat(3,50px)}}.landscape-prompt{display:none}@media (max-width: 850px) and (orientation: portrait){.multisnake-game .landscape-prompt{display:flex;position:fixed;top:0;left:0;right:0;bottom:0;background:#0a0a15;z-index:2000;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px}.multisnake-game .landscape-prompt .rotate-icon{font-size:4rem;margin-bottom:20px;animation:rotateHint 2s ease-in-out infinite}.multisnake-game .landscape-prompt h2{color:#4ecca3;font-size:1.2rem;margin-bottom:15px}.multisnake-game .landscape-prompt p{color:#888;font-size:.8rem}@keyframes rotateHint{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}.multisnake-game .scoreboard,.multisnake-game .game-canvas,.multisnake-game .controls-reminder,.multisnake-game .mobile-controls{display:none!important}}@media (max-width: 850px) and (orientation: landscape){.multisnake-game{flex-direction:row;justify-content:center;align-items:center;gap:8px;height:100vh;height:100dvh;padding:5px;box-sizing:border-box;overflow:hidden}.my-snake-indicator{display:none}.scoreboard{flex-direction:column;gap:3px;margin-bottom:0;order:-1;flex-shrink:0}.score-item{font-size:.45rem;padding:2px 4px}.game-canvas{margin:10px;flex-shrink:0}.mobile-controls{display:block;position:static;transform:none;flex-shrink:0}.landscape-swipe-hint{display:none}.swipe-hint{font-size:.45rem;margin-bottom:3px}.dpad{grid-template-columns:repeat(3,36px);grid-template-rows:repeat(3,36px);gap:2px}.dpad-btn{width:36px;height:36px;font-size:.9rem}}.spill-game{min-height:100vh;padding:20px;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;flex-direction:column;align-items:center}.spill-game .game-header{width:100%;max-width:500px;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.spill-game .round-badge{background:#4ecdc433;color:#4ecdc4;padding:8px 16px;border-radius:20px;font-weight:600;font-size:.9rem}.spill-game .timer{background:#ff6b6b33;color:#ff6b6b;padding:8px 16px;border-radius:20px;font-weight:700;font-size:1.1rem;min-width:60px;text-align:center}.spill-game .prompt-card{background:#ffffff0d;border:2px solid rgba(78,205,196,.3);border-radius:20px;padding:30px;margin:20px 0;max-width:500px;width:100%;text-align:center}.spill-game .prompt-card.small{padding:20px;margin:10px 0}.spill-game .prompt-text{font-size:1.5rem;color:#fff;line-height:1.4;margin:0}.spill-game .prompt-card.small .prompt-text{font-size:1.1rem}.spill-game .answer-buttons{display:flex;gap:20px;margin-top:30px;width:100%;max-width:500px}.spill-game .answer-btn{flex:1;padding:25px 20px;border:none;border-radius:16px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;align-items:center;gap:10px}.spill-game .answer-btn:active{transform:scale(.95)}.spill-game .answer-btn.spill{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);color:#fff;box-shadow:0 4px 20px #ff6b6b66}.spill-game .answer-btn.notea{background:linear-gradient(135deg,#4ecdc4,#3dbdb5);color:#fff;box-shadow:0 4px 20px #4ecdc466}.spill-game .answer-icon{font-size:2rem}.spill-game .answer-submitted{text-align:center;margin-top:30px;color:#fff}.spill-game .answer-submitted p{margin:10px 0}.spill-game .waiting-text{color:#888;font-style:italic}.spill-game .guess-instruction{color:#fff;font-size:1.1rem;text-align:center;margin-bottom:10px}.spill-game .confidence-hint{color:#ffe66d;font-size:.85rem;text-align:center;margin-bottom:20px}.spill-game .guess-list{width:100%;max-width:500px;display:flex;flex-direction:column;gap:10px}.spill-game .guess-row{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 15px;display:flex;justify-content:space-between;align-items:center;transition:all .2s}.spill-game .guess-row.spill{border-color:#ff6b6b80;background:#ff6b6b1a}.spill-game .guess-row.notea{border-color:#4ecdc480;background:#4ecdc41a}.spill-game .guess-player-name{font-weight:600;font-size:1rem;flex:1}.spill-game .guess-buttons{display:flex;gap:8px}.spill-game .guess-btn{width:44px;height:44px;border-radius:10px;border:2px solid rgba(255,255,255,.2);background:#ffffff0d;font-size:1.3rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.spill-game .guess-btn:disabled{opacity:.5;cursor:not-allowed}.spill-game .guess-btn.spill:hover:not(:disabled),.spill-game .guess-btn.spill.selected{background:#ff6b6b4d;border-color:#ff6b6b}.spill-game .guess-btn.notea:hover:not(:disabled),.spill-game .guess-btn.notea.selected{background:#4ecdc44d;border-color:#4ecdc4}.spill-game .confidence-badge{background:#ffe66d;color:#1a1a2e;padding:4px 8px;border-radius:8px;font-weight:700;font-size:.8rem;margin-left:10px}.spill-game .submit-guesses-btn{margin-top:20px;padding:15px 30px;background:linear-gradient(135deg,#4ecdc4,#3dbdb5);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .2s}.spill-game .submit-guesses-btn:disabled{opacity:.5;cursor:not-allowed}.spill-game .submit-guesses-btn:not(:disabled):active{transform:scale(.95)}.spill-game .reveal-grid{width:100%;max-width:500px;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:15px;margin:20px 0}.spill-game .reveal-player{background:#ffffff0d;border-radius:12px;padding:15px;text-align:center}.spill-game .reveal-player.spill{border:2px solid rgba(255,107,107,.5);background:#ff6b6b1a}.spill-game .reveal-player.notea{border:2px solid rgba(78,205,196,.5);background:#4ecdc41a}.spill-game .reveal-name{display:block;font-weight:600;margin-bottom:8px}.spill-game .reveal-answer{font-size:.9rem;color:#fff}.spill-game .my-results{background:#ffffff0d;border-radius:16px;padding:20px;margin-top:20px;text-align:center;max-width:500px;width:100%}.spill-game .points-earned{font-size:1.5rem;font-weight:700;color:#4ecdc4;margin:0 0 10px}.spill-game .bonus{color:#ffe66d;font-weight:600;margin:5px 0}.spill-game .penalty{color:#ff6b6b;font-weight:600;margin:5px 0}.spill-game .scoreboard-list{width:100%;max-width:500px;display:flex;flex-direction:column;gap:10px;margin:20px 0}.spill-game .score-row{background:#ffffff0d;border-radius:12px;padding:15px 20px;display:flex;align-items:center;gap:15px}.spill-game .score-row.me{border:2px solid rgba(78,205,196,.5);background:#4ecdc41a}.spill-game .score-rank{font-size:1.2rem;font-weight:700;color:#888;width:40px}.spill-game .score-row:first-child .score-rank{color:#ffe66d}.spill-game .score-name{flex:1;font-weight:600}.spill-game .score-value{font-size:1.2rem;font-weight:700;color:#fff}.spill-game .next-btn{margin-top:20px;padding:15px 40px;background:linear-gradient(135deg,#4ecdc4,#3dbdb5);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s}.spill-game .next-btn:active{transform:scale(.95)}.spill-game .next-btn.large{font-size:1.5rem;padding:20px 60px;margin-top:40px}.scoreboard-footer{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:20px}.auto-advance-text{color:#888;font-size:.9rem;margin:0}.spill-game.host-screen .auto-advance-text{font-size:1.2rem;margin-top:15px}.spill-game .round-transition{text-align:center;padding:40px;animation:fadeIn .5s ease-in}.spill-game .round-transition h1{font-size:3rem;color:#4ecdc4;margin-bottom:10px}.spill-game .round-transition h2{font-size:1.8rem;color:#ffe66d;margin-bottom:20px}.spill-game .round-transition p{color:#aaa;font-size:1.1rem}.spill-game.final-results{text-align:center}.spill-game.final-results h1{font-size:2.5rem;color:#fff;margin-bottom:30px}.spill-game .winner-section{margin-bottom:30px}.spill-game .winner-crown{font-size:4rem;display:block;margin-bottom:10px}.spill-game .winner-section h2{font-size:2rem;color:#ffe66d;margin:0}.spill-game .winner-score{color:#888;margin:5px 0 0}.spill-game .awards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;max-width:500px;width:100%;margin:20px 0}.spill-game .award{background:#ffffff0d;border-radius:12px;padding:15px 10px;display:flex;flex-direction:column;align-items:center;gap:5px}.spill-game .award-icon{font-size:1.5rem}.spill-game .award-title{color:#888;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.spill-game .award-name{color:#fff;font-weight:600;font-size:.9rem;text-align:center}.spill-game .final-scores{width:100%;max-width:500px;display:flex;flex-direction:column;gap:10px;margin:20px 0}.spill-game .play-again-btn{margin-top:20px;padding:15px 40px;background:linear-gradient(135deg,#ff6b6b,#ee5a5a);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s}.spill-game .play-again-btn:active{transform:scale(.95)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.spill-game{padding:15px}.spill-game .prompt-text{font-size:1.2rem}.spill-game .answer-btn{padding:20px 15px;font-size:1rem}.spill-game .answer-icon{font-size:1.5rem}.spill-game .awards-grid{grid-template-columns:repeat(3,1fr);gap:10px}.spill-game .award{padding:10px 5px}.spill-game .award-icon{font-size:1.2rem}.spill-game .award-title{font-size:.65rem}.spill-game .award-name{font-size:.8rem}.spill-game .round-transition h1{font-size:2.5rem}.spill-game .round-transition h2{font-size:1.4rem}}.host-screen-toggle{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#4ecdc40d;border:2px solid rgba(78,205,196,.2);border-radius:12px;cursor:pointer;margin-bottom:15px;transition:all .2s}.host-screen-toggle:hover{background:#4ecdc41a;border-color:#4ecdc466}.host-screen-toggle input[type=checkbox]{width:20px;height:20px;accent-color:#4ECDC4;cursor:pointer}.host-screen-toggle .toggle-icon{font-size:1.3rem}.host-screen-toggle .toggle-text{display:flex;flex-direction:column;gap:2px}.host-screen-toggle .toggle-text strong{color:#fff;font-size:.9rem}.host-screen-toggle .toggle-text small{color:#888;font-size:.75rem}.host-screen-toggle:has(input:checked){background:#4ecdc426;border-color:#4ecdc4}.spill-host-screen{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px}.spill-host-screen.room{justify-content:flex-start;padding-top:60px}.host-screen-header{text-align:center;margin-bottom:60px}.host-screen-header h1{font-size:3.5rem;color:#fff;margin-bottom:20px}.room-code-large{font-size:6rem;font-weight:800;color:#4ecdc4;letter-spacing:20px;text-shadow:0 0 40px rgba(78,205,196,.5)}.room-code-corner{position:fixed;top:20px;right:20px;background:#00000080;padding:10px 20px;border-radius:10px;font-size:1.5rem;font-weight:700;color:#4ecdc4;letter-spacing:4px}.players-waiting{text-align:center}.players-waiting h2{color:#888;font-size:1.5rem;margin-bottom:30px}.host-player-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;max-width:900px}.host-player-card{background:#ffffff0d;border:2px solid rgba(78,205,196,.3);border-radius:16px;padding:20px 30px;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:120px;animation:slideIn .3s ease-out}.host-player-card .player-initial{width:60px;height:60px;background:linear-gradient(135deg,#4ecdc4,#3dbdb5);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#fff}.host-player-card .player-name{color:#fff;font-size:1.2rem;font-weight:600}.waiting-count{color:#888;font-size:1.2rem;margin-top:30px}.spill-host-screen .host-controls{margin-top:40px;text-align:center}.start-button.large{font-size:1.5rem;padding:20px 50px;border-radius:16px}.min-players-warning.large{font-size:1.3rem;padding:20px}.time-limit-selector.large .time-label{font-size:1.2rem}.time-limit-selector.large .time-option{padding:12px 24px;font-size:1.1rem}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.spill-game.host-screen{padding:80px 40px 40px;justify-content:flex-start}.spill-game.host-screen .game-header{max-width:100%;width:800px}.spill-game.host-screen .round-badge{font-size:1.2rem;padding:12px 24px}.spill-game.host-screen .timer{font-size:1.5rem;padding:12px 24px}.spill-game.host-screen .prompt-card,.spill-game .prompt-card.large{max-width:900px;padding:50px;margin:30px 0}.spill-game.host-screen .prompt-text{font-size:2.5rem;line-height:1.3}.host-phase-title{color:#fff;font-size:2rem;margin:30px 0}.host-progress{width:100%;max-width:600px;margin:30px 0}.host-player-status{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;max-width:800px;margin-top:30px}.player-status-dot{background:#ffffff0d;border:2px solid rgba(255,255,255,.2);border-radius:12px;padding:12px 20px;display:flex;align-items:center;gap:10px;transition:all .3s}.player-status-dot.answered{border-color:#4ecdc480;background:#4ecdc41a}.player-status-dot .status-name{font-weight:600;font-size:1.1rem}.player-status-dot .status-icon{font-size:1.2rem;color:#888}.player-status-dot.answered .status-icon{color:#4ecdc4}.host-reveal-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:25px;max-width:1000px;margin:30px 0}.host-reveal-card{background:#ffffff0d;border-radius:20px;padding:30px;text-align:center;min-width:150px;animation:revealFlip .5s ease-out}.host-reveal-card.spill{border:3px solid rgba(255,107,107,.6);background:#ff6b6b26}.host-reveal-card.notea{border:3px solid rgba(78,205,196,.6);background:#4ecdc426}.host-reveal-card .reveal-name{font-size:1.3rem;display:block;margin-bottom:15px}.host-reveal-card .reveal-answer-large{font-size:4rem;display:block;margin-bottom:10px}.host-reveal-card .reveal-label{font-size:1.1rem;color:#fff}@keyframes revealFlip{0%{opacity:0;transform:rotateY(90deg)}to{opacity:1;transform:rotateY(0)}}.host-scoreboard{width:100%;max-width:700px;display:flex;flex-direction:column;gap:15px;margin:30px 0}.host-score-row{background:#ffffff0d;border-radius:16px;padding:20px 25px;display:flex;align-items:center;gap:20px}.host-score-row.rank-1{background:#ffe66d1a;border:2px solid rgba(255,230,109,.3)}.host-score-row .score-rank{font-size:1.5rem;width:60px}.host-score-row .score-name{font-size:1.3rem;min-width:150px}.host-score-row .score-bar-container{flex:1;background:#ffffff1a;border-radius:10px;height:16px;overflow:hidden}.host-score-row .score-bar{height:100%;border-radius:10px;transition:width .5s ease}.host-score-row .score-value{font-size:1.5rem;min-width:60px;text-align:right}.host-waiting-text{color:#888;font-size:1.2rem;margin-top:30px}.spill-game.host-screen.final-results .winner-section.large{margin:40px 0}.spill-game.host-screen.final-results .winner-crown{font-size:6rem}.spill-game.host-screen.final-results .winner-section h2{font-size:3rem}.spill-game.host-screen.final-results .winner-score{font-size:1.5rem}.host-awards-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;max-width:800px;margin:30px 0}.host-awards-grid .award{min-width:140px;padding:20px}.host-awards-grid .award-icon{font-size:2rem}.host-awards-grid .award-title{font-size:.85rem}.host-awards-grid .award-name{font-size:1.1rem}.host-final-scores{width:100%;max-width:600px;display:flex;flex-direction:column;gap:12px;margin:30px 0}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.confetti{position:absolute;width:15px;height:15px;background:#ffe66d;animation:confettiFall 3s linear infinite}.confetti:nth-child(1){left:10%;animation-delay:0s;background:#ff6b6b}.confetti:nth-child(2){left:50%;animation-delay:1s;background:#4ecdc4}.confetti:nth-child(3){left:90%;animation-delay:2s;background:#ffe66d}@keyframes confettiFall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@media (max-width: 768px){.room-code-large{font-size:4rem;letter-spacing:10px}.host-screen-header h1{font-size:2.5rem}.spill-game.host-screen .prompt-text{font-size:1.8rem}.host-reveal-card .reveal-answer-large{font-size:3rem}.host-score-row .score-bar-container{display:none}}.outliar-game{min-height:100vh;padding:20px;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;display:flex;flex-direction:column;align-items:center}.outliar-game.host-screen{padding:80px 40px 40px}.outliar-game .room-code-corner{position:fixed;top:20px;right:20px;background:#0009;padding:10px 20px;border-radius:10px;font-size:1.5rem;font-weight:700;color:#4ecdc4;letter-spacing:4px}.outliar-game .round-info{font-size:1rem;color:#888;margin-bottom:20px;display:flex;align-items:center;gap:10px}.outliar-game .modifier-badge{background:#ffe66d;color:#000;padding:4px 10px;border-radius:8px;font-size:.8rem;font-weight:700}.outliar-game .phase-message{text-align:center;margin:40px 0}.outliar-game .phase-message .big-emoji{font-size:4rem;display:block;margin-bottom:20px}.outliar-game .phase-message h1{font-size:2rem;margin:0 0 10px}.outliar-game .phase-message p{color:#888;font-size:1.1rem;margin:0}.outliar-game .timer-display{font-size:2rem;font-weight:700;color:#ff6b6b;text-shadow:0 0 20px rgba(255,107,107,.5);margin:20px 0}.outliar-game .timer-display.large{font-size:4rem;margin:40px 0}.outliar-game .timer-display.small{font-size:1.2rem;margin:10px 0}.outliar-game .phase-header{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:500px;margin-bottom:20px}.outliar-game .phase-header h1{font-size:1.5rem;margin:0}.outliar-game .phase-header .timer{background:#ff6b6b33;color:#ff6b6b;padding:8px 16px;border-radius:20px;font-weight:700}.outliar-game.outlier-screen{background:linear-gradient(135deg,#2a1a1a,#1a1a2e)}.outliar-game.normal-screen{background:linear-gradient(135deg,#1a2a1a,#1a1a2e)}.role-card{background:#ffffff0d;border-radius:20px;padding:30px;max-width:400px;width:100%;text-align:center;animation:roleReveal .5s ease-out}.role-card.outlier{border:3px solid rgba(255,107,107,.5);box-shadow:0 0 40px #ff6b6b33}.role-card.normal{border:3px solid rgba(78,205,196,.5);box-shadow:0 0 40px #4ecdc433}.role-title{margin-bottom:20px}.role-title .role-emoji{font-size:3rem;display:block;margin-bottom:15px}.role-title h1{font-size:1rem;color:#888;margin:0;text-transform:uppercase;letter-spacing:2px}.role-title h2{font-size:2rem;margin:10px 0 0}.role-title h2.liar-text{color:#ff6b6b;text-shadow:0 0 20px rgba(255,107,107,.5)}.hint-box{background:#ff6b6b1a;border:2px solid rgba(255,107,107,.3);border-radius:12px;padding:20px;margin:20px 0}.hint-box .hint-label{color:#888;font-size:.9rem;margin:0 0 10px}.hint-box .hint-text{color:#ff6b6b;font-size:1.5rem;font-weight:700;margin:0}.prompt-box{background:#4ecdc41a;border:2px solid rgba(78,205,196,.3);border-radius:12px;padding:20px;margin:20px 0}.prompt-box .prompt-text{color:#4ecdc4;font-size:1.5rem;font-weight:700;margin:0}.role-instruction{color:#888;font-size:1rem;margin:0}@keyframes roleReveal{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.outliar-game.countdown-phase{justify-content:center}.countdown-display{text-align:center}.countdown-number{font-size:12rem;font-weight:900;color:#fff;text-shadow:0 0 60px rgba(255,255,255,.5);animation:countPulse 1s ease-in-out infinite}.countdown-go{font-size:8rem;font-weight:900;color:#4ecdc4;text-shadow:0 0 60px rgba(78,205,196,.5);animation:goFlash .5s ease-out}@keyframes countPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes goFlash{0%{opacity:0;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}.outliar-game.performance-phase{justify-content:center}.outliar-game.performance-phase .phase-message h1{font-size:3rem;animation:performPulse 1s ease-in-out infinite}.outliar-game.performance-phase .observe-text{font-size:1.5rem;margin-top:20px}@keyframes performPulse{0%,to{text-shadow:0 0 20px rgba(255,255,255,.3)}50%{text-shadow:0 0 40px rgba(255,255,255,.6)}}.outliar-game.voting-phase .vote-instruction{color:#fff;font-size:1.1rem;margin-bottom:20px}.vote-list{display:flex;flex-direction:column;gap:12px;width:100%;max-width:500px}.vote-card{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .2s}.vote-card:hover:not(:disabled){border-color:#ff6b6b80;background:#ff6b6b1a}.vote-card.selected{border-color:#ff6b6b;background:#ff6b6b33}.vote-card:disabled{cursor:not-allowed;opacity:.7}.vote-card .vote-player-name{font-size:1.1rem;font-weight:600}.vote-card .vote-check{font-size:1.5rem;color:#4ecdc4}.vote-submitted{color:#888;font-size:1rem;margin-top:20px;text-align:center}.vote-progress{width:100%;max-width:600px;margin:30px 0}.progress-bar{background:#ffffff1a;border-radius:20px;height:20px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#4ecdc4,#3dbdb5);border-radius:20px;transition:width .3s ease}.progress-text{color:#888;font-size:1.2rem;margin-top:15px;text-align:center}.outliar-game.reveal-phase .reveal-header{text-align:center;margin-bottom:20px}.outliar-game.reveal-phase .reveal-header h1{font-size:1.5rem;color:#888;margin:0}.outlier-reveal{background:#ff6b6b1a;border:3px solid;border-radius:20px;padding:30px 50px;text-align:center;margin:20px 0;animation:revealPop .5s ease-out}.outlier-reveal .reveal-name{font-size:2rem;font-weight:700;display:block;margin-bottom:10px}.outlier-reveal .reveal-result{font-size:1.5rem;color:#fff;display:block}.prompt-reveal{background:#ffffff0d;border-radius:12px;padding:20px;text-align:center;margin:20px 0;max-width:500px}.prompt-reveal .prompt-label{color:#888;font-size:.9rem;margin:0 0 10px}.prompt-reveal .prompt-text{color:#fff;font-size:1.3rem;font-weight:600;margin:0}.prompt-reveal .hint-label{color:#666;font-size:.85rem;margin:10px 0 0}.prompt-reveal.small{padding:15px;margin:10px 0}.prompt-reveal.small .prompt-text{font-size:1.1rem}.my-result{background:#ffffff0d;border-radius:12px;padding:20px;text-align:center;margin-top:20px}.my-result .result-text{font-size:1.2rem;font-weight:600;margin:0}.my-result .result-text.good{color:#4ecdc4}.my-result .result-text.bad{color:#ff6b6b}.my-result .result-text.neutral{color:#888}.vote-breakdown{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;margin-top:30px}.vote-result{background:#ffffff0d;border-radius:10px;padding:10px 20px;display:flex;align-items:center;gap:10px}.vote-result.outlier{border:2px solid rgba(255,107,107,.5);background:#ff6b6b1a}.vote-result .result-name{font-weight:600}.vote-result .result-votes{color:#888;font-size:.9rem}@keyframes revealPop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.outliar-game .scoreboard-list{width:100%;max-width:500px;display:flex;flex-direction:column;gap:10px;margin:20px 0}.outliar-game .score-row{background:#ffffff0d;border-radius:12px;padding:15px 20px;display:flex;align-items:center;gap:15px}.outliar-game .score-row.me{border:2px solid rgba(78,205,196,.5);background:#4ecdc41a}.outliar-game .score-rank{font-size:1.2rem;font-weight:700;color:#888;width:40px}.outliar-game .score-row:first-child .score-rank{color:#ffe66d}.outliar-game .score-name{flex:1;font-weight:600}.outliar-game .score-value{font-size:1.2rem;font-weight:700;color:#fff}.outliar-game .host-scoreboard{width:100%;max-width:700px;display:flex;flex-direction:column;gap:15px;margin:30px 0}.outliar-game .host-score-row{background:#ffffff0d;border-radius:16px;padding:20px 25px;display:flex;align-items:center;gap:20px}.outliar-game .host-score-row.rank-1{background:#ffe66d1a;border:2px solid rgba(255,230,109,.3)}.outliar-game .host-score-row .score-rank{font-size:1.5rem;width:60px}.outliar-game .host-score-row .score-name{font-size:1.3rem}.outliar-game .host-score-row .score-value{font-size:1.5rem}.outliar-game .scoreboard-footer{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:20px}.outliar-game .next-btn{padding:15px 40px;background:linear-gradient(135deg,#4ecdc4,#3dbdb5);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s}.outliar-game .next-btn:active{transform:scale(.95)}.outliar-game .next-btn.large{font-size:1.5rem;padding:20px 60px}.outliar-game .auto-advance-text{color:#888;font-size:.9rem;margin:0}.outliar-game.final-results{text-align:center}.outliar-game.final-results h1{font-size:2.5rem;color:#fff;margin-bottom:30px}.outliar-game .winner-section{margin-bottom:30px}.outliar-game .winner-crown{font-size:4rem;display:block;margin-bottom:10px}.outliar-game .winner-section h2{font-size:2rem;margin:0}.outliar-game .winner-score{color:#888;margin:5px 0 0}.outliar-game .awards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;max-width:500px;width:100%;margin:20px 0}.outliar-game .award{background:#ffffff0d;border-radius:12px;padding:15px 10px;display:flex;flex-direction:column;align-items:center;gap:5px}.outliar-game .award-icon{font-size:1.5rem}.outliar-game .award-title{color:#888;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.outliar-game .award-name{color:#fff;font-weight:600;font-size:.9rem;text-align:center}.outliar-game .final-scores{width:100%;max-width:500px;display:flex;flex-direction:column;gap:10px;margin:20px 0}.outliar-game .host-final-scores{max-width:700px}.outliar-game .play-again-btn{margin-top:20px;padding:15px 40px;background:linear-gradient(135deg,#4ecdc4,#3dbdb5);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s}.outliar-game .play-again-btn:hover{transform:translateY(-2px)}@media (max-width: 480px){.outliar-game{padding:15px}.outliar-game.host-screen{padding:60px 20px 20px}.countdown-number{font-size:8rem}.countdown-go{font-size:5rem}.role-card{padding:20px}.prompt-box .prompt-text,.hint-box .hint-text{font-size:1.2rem}.outliar-game .awards-grid{gap:10px}.outliar-game .award{padding:10px 5px}.outliar-game .award-icon{font-size:1.2rem}.outliar-game .award-title{font-size:.65rem}.outliar-game .award-name{font-size:.8rem}}@media (max-width: 768px){.countdown-number{font-size:10rem}}.linkup-game{min-height:100vh;padding:1rem;background:linear-gradient(135deg,#1a1a2e,#16213e)}.linkup-game .game-header-compact{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.5rem 1rem;background:#ffffff0d;border-radius:8px}.linkup-game .room-code-small{display:flex;gap:.5rem;font-size:.9rem}.linkup-game .code-label{color:#888}.linkup-game .code-value{color:#4ecdc4;font-weight:700;font-family:monospace}.linkup-game .opponent-status-mini{font-size:.85rem}.linkup-game .opponent-status-mini .submitted{color:#4ecdc4}.linkup-game .opponent-status-mini .building{color:#888}.linkup-game .game-header-guessing{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;padding:.5rem}.linkup-game .room-code-badge,.linkup-game .progress-badge,.linkup-game .opponent-progress-badge{padding:.4rem .8rem;border-radius:20px;font-size:.85rem;font-weight:500}.linkup-game .room-code-badge{background:#ffffff1a;color:#888}.linkup-game .progress-badge{background:#4ecdc433;color:#4ecdc4}.linkup-game .opponent-progress-badge{background:#ff6b6b33;color:#ff6b6b}.linkup-game.building .building-container{max-width:500px;margin:0 auto;text-align:center}.linkup-game.building h2{color:#fff;margin-bottom:.5rem}.linkup-game.building .building-hint{color:#888;font-size:.9rem;margin-bottom:1.5rem}.linkup-game .chain-builder{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.linkup-game .chain-row{display:flex;align-items:center;gap:.75rem;position:relative}.linkup-game .letter-badge{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4ecdc4,#44a39d);color:#1a1a2e;font-size:1.3rem;font-weight:700;border-radius:8px;flex-shrink:0}.linkup-game .chain-row input{flex:1;padding:.75rem 1rem;font-size:1rem;border:2px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0d;color:#fff;transition:border-color .2s,background-color .2s}.linkup-game .chain-row input:focus{outline:none;border-color:#4ecdc4;background:#4ecdc41a}.linkup-game .chain-row input:disabled{opacity:.6;cursor:not-allowed}.linkup-game .chain-arrow{position:absolute;left:18px;bottom:-14px;color:#4ecdc4;font-size:1rem;opacity:.5}.linkup-game .error-message{color:#ff6b6b;margin-bottom:1rem}.linkup-game .submit-chain-btn{padding:1rem 2rem;font-size:1.1rem;font-weight:700;background:linear-gradient(135deg,#4ecdc4,#44a39d);color:#1a1a2e;border:none;border-radius:12px;cursor:pointer;transition:transform .2s,opacity .2s}.linkup-game .submit-chain-btn:hover:not(:disabled){transform:scale(1.02)}.linkup-game .submit-chain-btn:disabled{opacity:.5;cursor:not-allowed}.linkup-game .waiting-for-opponent{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#888}.linkup-game .spinner{width:40px;height:40px;border:3px solid rgba(78,205,196,.2);border-top-color:#4ecdc4;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.linkup-game.guessing .guessing-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:900px;margin:0 auto}@media (max-width: 768px){.linkup-game.guessing .guessing-layout{grid-template-columns:1fr}}.linkup-game .your-chain-panel,.linkup-game .guess-panel{background:#ffffff08;border-radius:12px;padding:1.25rem;border:1px solid rgba(255,255,255,.08)}.linkup-game .your-chain-panel h3,.linkup-game .guess-panel h3{color:#fff;margin:0 0 .25rem;font-size:1.1rem}.linkup-game .panel-subtitle{color:#888;font-size:.85rem;margin-bottom:1rem}.linkup-game .chain-progress{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.linkup-game .chain-word{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#ffffff08;border-radius:6px;transition:background-color .3s}.linkup-game .chain-word.guessed{background:#4ecdc426}.linkup-game .chain-word .word-letter{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#4ecdc4;color:#1a1a2e;font-weight:700;font-size:.85rem;border-radius:4px}.linkup-game .chain-word .word-text{color:#ccc;font-family:monospace;letter-spacing:1px}.linkup-game .chain-word.guessed .word-text{color:#4ecdc4}.linkup-game .chain-word.my-word{background:#4ecdc41a}.linkup-game .chain-word.my-word .word-text{color:#ccc}.linkup-game .progress-bar-container{margin-top:1rem}.linkup-game .progress-label{font-size:.8rem;color:#888;margin-bottom:.5rem}.linkup-game .progress-bar{height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.linkup-game .progress-fill{height:100%;background:linear-gradient(90deg,#4ecdc4,#44a39d);transition:width .3s ease}.linkup-game .progress-fill.opponent{background:linear-gradient(90deg,#ff6b6b,#ee5a5a)}.linkup-game .current-guess-target{text-align:center;margin-bottom:1rem}.linkup-game .target-number{display:block;color:#888;font-size:.85rem;margin-bottom:.5rem}.linkup-game .target-letter{width:60px;height:60px;display:flex;align-items:center;justify-content:center;margin:0 auto .5rem;background:linear-gradient(135deg,#4ecdc4,#44a39d);color:#1a1a2e;font-size:2rem;font-weight:700;border-radius:12px}.linkup-game .target-hint{color:#888;font-size:.85rem}.linkup-game .guess-form{display:flex;gap:.5rem;margin-bottom:1rem}.linkup-game .guess-form input{flex:1;padding:.75rem 1rem;font-size:1rem;border:2px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0d;color:#fff}.linkup-game .guess-form input:focus{outline:none;border-color:#4ecdc4}.linkup-game .guess-form button{padding:.75rem 1.5rem;font-size:1rem;font-weight:700;background:#4ecdc4;color:#1a1a2e;border:none;border-radius:8px;cursor:pointer;transition:opacity .2s}.linkup-game .guess-form button:disabled{opacity:.5;cursor:not-allowed}.linkup-game .guess-result{text-align:center;padding:.75rem;border-radius:8px;font-weight:700;margin-bottom:1rem;animation:fadeIn .2s ease}.linkup-game .guess-result.correct{background:#4ecdc433;color:#4ecdc4}.linkup-game .guess-result.close{background:#ffc10733;color:#ffc107}.linkup-game .guess-result.wrong{background:#ff6b6b33;color:#ff6b6b}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.linkup-game .guess-history{margin-bottom:1rem}.linkup-game .guess-history h4{color:#888;font-size:.85rem;margin-bottom:.5rem}.linkup-game .history-list{display:flex;flex-wrap:wrap;gap:.5rem}.linkup-game .history-guess{padding:.25rem .5rem;border-radius:4px;font-size:.85rem}.linkup-game .history-guess.correct{background:#4ecdc433;color:#4ecdc4;text-decoration:line-through}.linkup-game .history-guess.close{background:#ffc10733;color:#ffc107}.linkup-game .history-guess.wrong{background:#ff6b6b1a;color:#888}.linkup-game .no-guesses{color:#666;font-style:italic}.linkup-game .revealed-words h4{color:#888;font-size:.85rem;margin-bottom:.5rem}.linkup-game .revealed-list{display:flex;flex-direction:column;gap:.5rem}.linkup-game .revealed-word{display:flex;align-items:center;gap:.5rem}.linkup-game .revealed-letter{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#4ecdc4;color:#1a1a2e;font-weight:700;font-size:.75rem;border-radius:4px}.linkup-game .revealed-text{color:#4ecdc4}.linkup-game .completed-message{text-align:center;padding:2rem}.linkup-game .check-icon{font-size:3rem;color:#4ecdc4;margin-bottom:1rem}.linkup-game.game-over{display:flex;align-items:center;justify-content:center}.linkup-game .game-over-content{text-align:center;max-width:800px;width:100%}.linkup-game .result-icon{font-size:4rem;margin-bottom:1rem}.linkup-game .result-icon.win{animation:bounce .5s ease}.linkup-game.game-over h1{color:#fff;font-size:2.5rem;margin-bottom:.5rem}.linkup-game .winner-text{color:#4ecdc4;font-size:1.2rem;margin-bottom:2rem}.linkup-game .chains-reveal{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}@media (max-width: 600px){.linkup-game .chains-reveal{grid-template-columns:1fr;gap:1.5rem}}.linkup-game .chain-column h3{color:#fff;margin-bottom:1rem;font-size:1rem}.linkup-game .chain-list{display:flex;flex-direction:column;gap:.5rem}.linkup-game .chain-word-reveal{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#ffffff0d;border-radius:6px}.linkup-game .chain-word-reveal .word-letter{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#4ecdc4;color:#1a1a2e;font-weight:700;font-size:.85rem;border-radius:4px}.linkup-game .chain-word-reveal .word-text{color:#ccc}.linkup-game .game-over-actions{display:flex;flex-direction:column;align-items:center;gap:1rem}.linkup-game .game-over-actions .lobby-btn{padding:1rem 2rem;font-size:1rem;border-radius:12px;cursor:pointer;transition:transform .2s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.linkup-game .game-over-actions .lobby-btn.primary{background:linear-gradient(135deg,#4ecdc4,#44a39d);color:#1a1a2e;border:none;font-weight:700}.linkup-game .game-over-actions .lobby-btn.secondary{background:transparent;color:#888;border:1px solid #444}.linkup-game .game-over-actions .lobby-btn:hover{transform:scale(1.02)}.linkup-game .waiting-text{color:#888}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#1a1a2e;color:#eee;min-height:100vh}.app{max-width:800px;margin:0 auto;padding:20px}.home{text-align:center;padding-top:40px}.home h1{font-size:3rem;margin-bottom:10px;color:#4ecca3}.tagline{color:#888;margin-bottom:40px}.games-list{text-align:left}.games-list h2{margin-bottom:20px;color:#4ecca3}.game-card{display:block;background:#16213e;padding:20px;border-radius:10px;margin-bottom:15px;text-decoration:none;color:inherit;transition:transform .2s,background .2s}.game-card:hover{background:#1f2b4a;transform:translateY(-2px)}.game-card h3{margin-bottom:8px;color:#4ecca3}.game-card p{color:#aaa}.home-new{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center}.hero{margin-bottom:50px}.logo-container{margin-bottom:20px}.logo{max-width:320px;width:100%;height:auto}.home-new .tagline{font-size:1.4rem;color:#4ecca3;margin-bottom:10px;font-weight:500}.home-new .subtitle{font-size:1rem;color:#888}.game-selector{background:#16213e;padding:30px;border-radius:16px;max-width:400px;width:100%}.game-selector label{display:block;font-size:.9rem;color:#888;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}.game-dropdown{width:100%;padding:14px 16px;font-size:1.1rem;background:#1a1a2e;border:2px solid #333;border-radius:10px;color:#fff;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%234ecca3' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.game-dropdown:focus{outline:none;border-color:#4ecca3}.game-dropdown option{background:#1a1a2e;padding:10px}.game-preview{margin-top:20px;padding-top:20px;border-top:1px solid #333}.game-description{color:#aaa;margin-bottom:20px;line-height:1.5}.play-button{width:100%;padding:16px;font-size:1.1rem;font-weight:600;background:#4ecca3;color:#1a1a2e;border:none;border-radius:10px;cursor:pointer;transition:background .2s,transform .2s}.play-button:hover{background:#3db892;transform:translateY(-2px)}.sign-in-prompt{margin-top:40px;padding:25px;background:#16213e;border-radius:15px;text-align:center;border:1px solid #333}.sign-in-prompt p{color:#ccc;margin-bottom:15px;font-size:1rem}.sign-in-prompt .sign-in-note{display:block;margin-top:12px;color:#888;font-size:.85rem}.home-footer{margin-top:50px;color:#888;font-size:.9rem}@media (max-width: 480px){.logo{max-width:260px}.home-new .tagline{font-size:1.1rem}.game-selector{padding:20px}.game-dropdown{font-size:1rem;padding:12px 14px}.play-button{padding:14px;font-size:1rem}}.chat-lobby{padding-top:20px}.back-link{color:#4ecca3;text-decoration:none;display:inline-block;margin-bottom:20px}.back-link:hover{text-decoration:underline}.chat-lobby h1{margin-bottom:30px;color:#4ecca3}.name-input{background:#16213e;padding:20px;border-radius:10px;margin-bottom:20px}.name-input label{display:block;margin-bottom:10px;color:#4ecca3;font-weight:700}.name-input input{width:100%;padding:12px;font-size:1.1rem;background:#1a1a2e;border:2px solid #333;border-radius:8px;color:#fff}.name-input input:focus{outline:none;border-color:#4ecca3}.lobby-options{display:grid;gap:20px}.option-card{background:#16213e;padding:25px;border-radius:10px}.option-card h2{margin-bottom:10px;color:#4ecca3}.option-card p{color:#aaa;margin-bottom:15px}.option-card input{width:100%;padding:12px;font-size:1.5rem;text-align:center;letter-spacing:8px;background:#1a1a2e;border:2px solid #333;border-radius:8px;color:#fff;margin-bottom:15px}.option-card input:focus{outline:none;border-color:#4ecca3}.option-card button{width:100%;padding:12px 24px;font-size:1rem;background:#4ecca3;color:#1a1a2e;border:none;border-radius:8px;cursor:pointer;font-weight:700}.option-card button:hover{background:#3db892}.error{color:#ff6b6b;margin-top:10px}.chat-room{display:flex;flex-direction:column;height:calc(100vh - 40px)}.room-header{padding:15px 0;border-bottom:1px solid #333;margin-bottom:15px}.room-header h1{color:#4ecca3;font-size:1.5rem}.room-header p{color:#888;font-size:.9rem}.messages{flex:1;overflow-y:auto;padding:10px 0}.message{padding:8px 12px;margin-bottom:8px;border-radius:8px;background:#16213e}.message.own{background:#1f4a3a}.message.system{background:transparent;color:#888;font-style:italic;text-align:center}.message .sender{color:#4ecca3;margin-right:8px;font-weight:700}.message-input{display:flex;gap:10px;padding-top:15px}.message-input input{flex:1;padding:12px;font-size:1rem;background:#16213e;border:2px solid #333;border-radius:8px;color:#fff}.message-input input:focus{outline:none;border-color:#4ecca3}.message-input button{padding:12px 24px;background:#4ecca3;color:#1a1a2e;border:none;border-radius:8px;cursor:pointer;font-weight:700}.message-input button:hover{background:#3db892}.werewolf-lobby,.werewolf-room,.werewolf-game{padding-top:20px}.game-subtitle{color:#888;margin-bottom:30px}.werewolf-room .room-header,.werewolf-game .phase-header{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid #333;margin-bottom:20px}.player-count{color:#888}.host-controls{margin-bottom:30px}.host-screen-toggle{display:flex;align-items:flex-start;gap:15px;background:#16213e;padding:20px;border-radius:10px;margin-bottom:20px;cursor:pointer;transition:background .2s}.host-screen-toggle:hover{background:#1a2744}.host-screen-toggle input[type=checkbox]{width:24px;height:24px;margin-top:2px;accent-color:#4ecca3;cursor:pointer;flex-shrink:0}.toggle-label{display:flex;flex-direction:column;gap:5px}.toggle-label strong{color:#fff;font-size:1.1rem}.toggle-desc{font-size:.9rem;color:#888;line-height:1.4}.time-limit-selector{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:20px}.time-limit-selector .time-label{color:#888;font-size:.9rem}.time-limit-selector .time-options{display:flex;gap:8px}.time-limit-selector .time-option{padding:8px 16px;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.time-limit-selector .time-option:hover{border-color:#4ecdc480}.time-limit-selector .time-option.active{background:#4ecdc433;border-color:#4ecdc4;color:#4ecdc4}.min-players-warning{color:#ff6b6b;font-size:.9rem;margin-bottom:10px;text-align:center}.start-button{width:100%;padding:15px;font-size:1.2rem;background:#4ecca3;color:#1a1a2e;border:none;border-radius:10px;cursor:pointer;font-weight:700}.start-button:hover:not(:disabled){background:#3db892}.start-button:disabled{background:#333;color:#888;cursor:not-allowed}.waiting-message{text-align:center;padding:30px;background:#16213e;border-radius:10px;margin-bottom:20px}.mode-info{color:#4ecca3;margin-top:10px}.share-code{text-align:center;padding:20px;background:#16213e;border-radius:10px}.code-display{font-size:3rem;font-weight:700;color:#4ecca3;letter-spacing:10px;margin-top:10px}.copy-link-btn{margin-top:15px;padding:10px 20px;background:#4ecca3;color:#1a1a2e;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.copy-link-btn:hover{background:#3db892;transform:scale(1.02)}.copy-link-btn.copied{background:#27ae60;color:#fff}.copy-link-btn.large{font-size:1.2rem;padding:15px 30px;margin-top:20px}.phase-name{font-size:1.5rem;font-weight:700;color:#4ecca3}.timer{font-size:1.5rem;font-weight:700;color:#ff6b6b}.role-reveal{text-align:center;padding:40px 20px}.role-card{background:#16213e;padding:30px;border-radius:15px;margin-bottom:20px;border:3px solid #333}.role-card.werewolf{border-color:#e74c3c;background:linear-gradient(135deg,#16213e,#2c1a1a)}.role-card.seer{border-color:#9b59b6;background:linear-gradient(135deg,#16213e,#1a1a2c)}.role-card.doctor{border-color:#3498db;background:linear-gradient(135deg,#16213e,#1a2c2c)}.role-card.villager{border-color:#4ecca3;background:linear-gradient(135deg,#16213e,#1a2c1a)}.role-card h2{font-size:2rem;margin-bottom:15px}.role-card.werewolf h2{color:#e74c3c}.role-card.seer h2{color:#9b59b6}.role-card.doctor h2{color:#3498db}.role-card.villager h2{color:#4ecca3}.role-card p{color:#ccc;line-height:1.5}.role-warning{color:#ff6b6b;font-style:italic}.night-phase{background:linear-gradient(180deg,#1a1a2e,#0d0d1a);min-height:calc(100vh - 40px);margin:-20px;padding:20px}.night-action{text-align:center;padding:20px}.night-action h2{color:#4ecca3;margin-bottom:10px}.night-action p{color:#888;margin-bottom:20px}.teammates-info{color:#e74c3c;font-weight:700;margin-bottom:20px}.role-reminder{color:#4ecca3;font-weight:700}.player-list{display:flex;flex-direction:column;gap:10px;max-width:400px;margin:0 auto}.player-button{padding:15px 20px;background:#16213e;border:2px solid #333;border-radius:10px;color:#fff;font-size:1rem;cursor:pointer;transition:border-color .2s,background .2s;display:flex;justify-content:space-between;align-items:center}.player-button:hover{border-color:#4ecca3}.player-button.selected{border-color:#4ecca3;background:#1f4a3a}.player-button.skip-vote{border-color:#888;color:#888}.player-button.skip-vote:hover{border-color:#888}.vote-indicator{color:#e74c3c;font-weight:700}.seer-result{padding:20px;background:#16213e;border-radius:10px;margin:20px auto;max-width:400px}.werewolf-result{color:#e74c3c;font-weight:700}.innocent-result{color:#4ecca3;font-weight:700}.dead-message{text-align:center;padding:40px 20px}.dead-message h2{color:#888;margin-bottom:10px}.dead-message p{color:#888}.day-announce .announcement{text-align:center;padding:40px 20px}.death-announcement h2{color:#e74c3c;font-size:1.8rem;margin-bottom:10px}.saved-announcement h2,.no-death-announcement h2{color:#4ecca3;font-size:1.8rem;margin-bottom:10px}.player-status{padding:20px;background:#16213e;border-radius:10px;margin-top:20px}.player-status h3{color:#4ecca3;margin-bottom:15px;font-size:1rem}.alive-players,.dead-players{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.player-tag{padding:8px 15px;border-radius:20px;font-size:.9rem}.player-tag.alive{background:#1f4a3a;color:#4ecca3}.player-tag.dead{background:#2c1a1a;color:#e74c3c;text-decoration:line-through}.host-badge{font-size:.7rem;background:#4ecca3;color:#1a1a2e;padding:2px 6px;border-radius:4px;margin-left:5px}.bot-badge{font-size:.7rem;background:#9b59b6;color:#fff;padding:2px 6px;border-radius:4px;margin-left:5px}.player-tag.is-bot{border-color:#9b59b6}.remove-bot-btn{background:transparent;border:none;color:#e74c3c;font-size:1.2rem;cursor:pointer;margin-left:8px;padding:0 4px;line-height:1;opacity:.7;transition:opacity .2s}.remove-bot-btn:hover{opacity:1}.player-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:10px}.add-bot-btn{background:#9b59b6;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .2s}.add-bot-btn:hover{background:#8e44ad}.discussion-content{text-align:center;padding:20px}.discussion-content h2{color:#4ecca3;font-size:2rem;margin-bottom:10px}.voting-content{text-align:center;padding:20px}.voting-content h2{color:#4ecca3;margin-bottom:10px}.voted-message{text-align:center;padding:40px 20px}.voted-message h2{color:#4ecca3;margin-bottom:10px}.vote-progress{color:#888;margin-top:10px}.vote-results{text-align:center;padding:40px 20px}.lynch-result h2{color:#e74c3c;font-size:1.8rem;margin-bottom:15px}.lynch-result .werewolf{color:#e74c3c;font-weight:700}.lynch-result .villager,.lynch-result .seer,.lynch-result .doctor{color:#4ecca3;font-weight:700}.tie-result h2,.no-lynch-result h2{color:#f39c12;font-size:1.8rem;margin-bottom:15px}.game-over{text-align:center}.winner-announcement{padding:40px 20px;margin-bottom:30px}.winner-announcement h2{font-size:2.5rem;margin-bottom:15px;color:#4ecca3}.role-reveal-list{background:#16213e;padding:20px;border-radius:10px;margin-bottom:30px}.role-reveal-list h3{color:#4ecca3;margin-bottom:20px}.reveal-item{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;border-radius:8px;margin-bottom:8px;background:#1a1a2e}.reveal-item.werewolf{border-left:4px solid #e74c3c}.reveal-item.seer{border-left:4px solid #9b59b6}.reveal-item.doctor{border-left:4px solid #3498db}.reveal-item.villager{border-left:4px solid #4ecca3}.reveal-item.dead{opacity:.6}.reveal-item .player-name{font-weight:700}.reveal-item .player-role{text-transform:capitalize}.reveal-item.werewolf .player-role{color:#e74c3c}.reveal-item.seer .player-role{color:#9b59b6}.reveal-item.doctor .player-role{color:#3498db}.reveal-item.villager .player-role{color:#4ecca3}.death-marker{font-size:.8rem;color:#888;background:#333;padding:2px 8px;border-radius:4px}.back-button{display:inline-block;padding:15px 30px;background:#4ecca3;color:#1a1a2e;text-decoration:none;border-radius:10px;font-weight:700}.back-button:hover{background:#3db892}.skip-button{display:block;width:100%;max-width:300px;margin:30px auto 0;padding:12px 24px;background:transparent;border:2px solid #666;color:#888;border-radius:8px;cursor:pointer;font-size:.9rem}.skip-button:hover{border-color:#888;color:#aaa}.shared-display-lobby{text-align:center}.shared-display-lobby .room-header{display:flex;flex-direction:column;align-items:center;gap:20px;padding:40px 20px;border-bottom:none;margin-bottom:30px}.room-code-display{display:flex;flex-direction:column;align-items:center;gap:10px}.room-code-display .code-label{font-size:1.2rem;color:#888;text-transform:uppercase;letter-spacing:3px}.room-code-display .code-value{font-size:5rem;font-weight:700;color:#4ecca3;letter-spacing:15px;text-shadow:0 0 30px rgba(78,204,163,.3);font-family:Courier New,monospace}.mode-badge{background:#16213e;padding:10px 20px;border-radius:25px;color:#4ecca3;font-size:1rem;border:1px solid #4ecca3}.shared-display-info{background:#16213e;padding:25px 30px;border-radius:15px;margin-bottom:25px;font-size:1.3rem;line-height:2}.shared-display-info strong{color:#4ecca3}.host-info{color:#888;margin-bottom:20px}.shared-display-lobby .players-list{background:#16213e;padding:25px;border-radius:15px;margin-top:30px}.shared-display-lobby .players-list h3{color:#4ecca3;margin-bottom:20px;font-size:1.2rem}.player-names{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.no-players{color:#888;font-style:italic}.shared-display-content{text-align:center;padding:40px 20px}.dramatic-text{margin-bottom:40px}.dramatic-text h2{font-size:2.5rem;color:#4ecca3;margin-bottom:20px}.story-text{font-size:1.3rem;color:#aaa;line-height:1.8;max-width:600px;margin:0 auto 15px}.instruction-box{background:#16213e;padding:25px 30px;border-radius:15px;margin:30px auto;max-width:500px;border:2px solid #333}.instruction-box p{font-size:1.2rem;color:#fff}.instruction-box .small{font-size:.95rem;color:#888;margin-top:10px}.player-count-display{display:flex;flex-direction:column;align-items:center;margin-top:40px}.player-count-display .count{font-size:4rem;font-weight:700;color:#4ecca3}.player-count-display .label{font-size:1rem;color:#888;text-transform:uppercase;letter-spacing:2px}.village-status{margin-top:40px}.status-section{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.status-count{font-size:3rem;font-weight:700;color:#4ecca3}.status-label{font-size:1rem;color:#888;text-transform:uppercase;letter-spacing:2px}.player-names-grid{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:600px;margin:0 auto}.player-name-tag{padding:10px 20px;background:#16213e;border-radius:25px;font-size:1rem;color:#fff;border:1px solid #333}.player-name-tag.dead{background:#2c1a1a;color:#888;text-decoration:line-through;border-color:#e74c3c}.player-name-tag.suspect{border-color:#f39c12}.player-names-grid.large .player-name-tag{font-size:1.2rem;padding:12px 25px}.dramatic-announcement{padding:50px 20px}.dramatic-announcement h2{font-size:2.2rem;margin-bottom:20px}.village-roster{margin-top:40px}.roster-section{margin-bottom:30px}.roster-section h3{color:#888;margin-bottom:15px;font-size:1rem;text-transform:uppercase;letter-spacing:2px}.alive-section h3{color:#4ecca3}.dead-section h3{color:#e74c3c}.discussion-prompt{background:#16213e;padding:25px;border-radius:15px;margin:30px auto;max-width:500px}.discussion-prompt p{font-size:1.1rem;color:#888;font-style:italic;margin-bottom:10px}.discussion-prompt p:last-child{margin-bottom:0}.vote-progress-display{margin:30px auto;max-width:400px}.progress-bar{height:20px;background:#16213e;border-radius:10px;overflow:hidden;margin-bottom:15px}.progress-fill{height:100%;background:linear-gradient(90deg,#4ecca3,#3db892);transition:width .3s ease}.vote-text{font-size:1.1rem;color:#888}.on-trial{margin-top:30px}.on-trial h3{color:#f39c12;margin-bottom:15px;text-transform:uppercase;letter-spacing:2px}.night-display{background:linear-gradient(180deg,#0d0d1a,#1a1a2e);margin:-20px;padding:40px 20px;min-height:calc(100vh - 80px)}.night-display .dramatic-text h2{color:#9b9bff}.voting-display .dramatic-text h2{color:#f39c12}.rps-lobby,.rps-room,.rps-game{padding-top:20px}.rps-lobby h1,.rps-room h1{color:#4ecca3;margin-bottom:10px}.rps-room .room-code-display{text-align:center;margin-bottom:30px}.rps-room .code-value{font-size:4rem}.players-waiting{text-align:center;margin-bottom:30px}.players-waiting h2{color:#4ecca3;margin-bottom:20px}.player-slots{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.player-slot{background:#16213e;padding:20px 30px;border-radius:15px;min-width:150px;text-align:center}.player-slot.filled{border:2px solid #4ecca3}.player-slot.empty{border:2px dashed #333}.player-number{display:block;font-size:.9rem;color:#888;margin-bottom:10px}.player-slot .player-name{display:block;font-size:1.2rem;color:#fff;font-weight:700}.waiting-text{color:#888;font-style:italic}.you-badge{display:inline-block;background:#4ecca3;color:#1a1a2e;padding:2px 8px;border-radius:10px;font-size:.7rem;margin-left:8px;vertical-align:middle}.scoreboard{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#16213e;border-radius:15px;margin-bottom:30px}.score-box{text-align:center}.score-box .score-name{display:block;font-size:.9rem;color:#888;margin-bottom:5px}.score-box .score-value{font-size:2.5rem;font-weight:700;color:#4ecca3}.score-box.mine .score-value{color:#4ecca3}.score-box.opponent .score-value{color:#e74c3c}.round-indicator{font-size:1rem;color:#888;text-transform:uppercase;letter-spacing:2px}.choice-selection{text-align:center}.choice-selection h2{color:#fff;margin-bottom:10px}.opponent-ready{color:#4ecca3;margin-bottom:20px}.choices{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:30px}.choice-button{display:flex;flex-direction:column;align-items:center;gap:10px;padding:30px 40px;background:#16213e;border:3px solid #333;border-radius:20px;cursor:pointer;transition:all .2s}.choice-button:hover{border-color:#4ecca3;transform:scale(1.05)}.choice-button:active{transform:scale(.95)}.choice-button .choice-emoji{font-size:4rem}.choice-button .choice-name{font-size:1rem;color:#888;text-transform:capitalize}.waiting-for-opponent{text-align:center;padding:40px 20px}.my-choice-display{margin-bottom:30px}.my-choice-display .choice-emoji.large{font-size:6rem;display:block;margin-bottom:15px}.my-choice-display p{color:#888;text-transform:capitalize}.opponent-status{color:#4ecca3;font-size:1.2rem}.round-result{text-align:center}.result-display{padding:30px 20px}.choice-reveal{display:flex;justify-content:center;align-items:center;gap:30px;margin-bottom:30px}.choice-card{text-align:center}.choice-card .choice-emoji{font-size:5rem;display:block;margin-bottom:10px}.choice-card .choice-label{font-size:1rem;color:#888}.choice-card.mine .choice-label{color:#4ecca3}.choice-card.opponent .choice-label{color:#e74c3c}.vs{font-size:1.5rem;font-weight:700;color:#888}.round-outcome{font-size:2rem;font-weight:700;padding:20px;border-radius:15px}.round-outcome.win{color:#4ecca3;background:#4ecca31a}.round-outcome.lose{color:#e74c3c;background:#e74c3c1a}.round-outcome.tie{color:#f39c12;background:#f39c121a}.next-round-text{color:#888;margin-top:20px;font-style:italic}.rps-game.game-over{text-align:center}.game-over-content h1{font-size:2.5rem;margin-bottom:10px}.winner-text{color:#888;font-size:1.2rem;margin-bottom:30px}.final-score{display:flex;justify-content:center;align-items:center;gap:30px;margin-bottom:40px}.final-score .score-box{background:#16213e;padding:20px 40px;border-radius:15px}.final-score .score-name{display:block;color:#888;margin-bottom:10px}.final-score .score-value{font-size:3rem;font-weight:700;color:#4ecca3}.score-divider{font-size:2rem;color:#888}.match-history{background:#16213e;padding:20px;border-radius:15px;margin-bottom:30px;max-width:400px;margin-left:auto;margin-right:auto}.match-history h3{color:#4ecca3;margin-bottom:15px}.history-round{display:flex;align-items:center;justify-content:center;gap:15px;padding:10px;border-bottom:1px solid #333}.history-round:last-child{border-bottom:none}.history-round-num{color:#888;font-size:.9rem;width:30px}.history-choice{font-size:1.5rem;padding:5px 10px;border-radius:8px}.history-choice.winner{background:#4ecca333}.play-again-button{padding:15px 40px;font-size:1.2rem;background:#4ecca3;color:#1a1a2e;border:none;border-radius:10px;cursor:pointer;font-weight:700;margin-bottom:20px}.play-again-button:hover{background:#3db892}.rps-game .back-link{display:block;margin-top:20px}.rps-lobby.modern,.rps-room.modern{display:flex;flex-direction:column;min-height:calc(100vh - 80px)}.rps-lobby.modern .back-link,.rps-room.modern .back-link{position:absolute;top:20px;left:20px}.rps-room.modern h1{text-align:center;margin-bottom:20px}.rps-game.game-over.modern{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 100px)}.rps-game.game-over.modern .result-icon{font-size:5rem;margin-bottom:10px}.rps-game.game-over.modern .result-icon.win{animation:bounce .6s ease}.rps-game.game-over.modern .game-over-actions{display:flex;flex-direction:column;gap:15px;margin-top:30px;width:100%;max-width:300px}.rps-game.game-over.modern .game-over-actions .lobby-btn{justify-content:center;text-decoration:none}.rps-game.modern .choice-card.winner{transform:scale(1.1);animation:pulse .5s ease}.rps-game.modern .choice-card.winner .choice-emoji{filter:drop-shadow(0 0 10px rgba(78,204,163,.5))}.rps-game.modern .opponent-status{padding:15px 25px;background:#16213e;border-radius:12px;font-size:1.1rem}.rps-game.modern .opponent-status.ready{background:#4ecca326;color:#4ecca3}.game-header-compact{position:absolute;top:15px;right:20px}.game-header-compact .room-code-small{background:#16213e;padding:8px 12px;border-radius:8px;font-size:.85rem}.game-header-compact .room-code-small .code-label{color:#888;margin-right:5px}.game-header-compact .room-code-small .code-value{color:#4ecca3;font-weight:700}.history-rounds{max-height:200px;overflow-y:auto}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1.1)}}.puzzle-lobby,.puzzle-room,.puzzle-game{padding-top:20px}.puzzle-lobby h1{color:#4ecca3;margin-bottom:10px}.upload-section{text-align:center;padding:40px 20px;background:#16213e;border-radius:15px;margin-bottom:30px}.upload-prompt h2,.image-preview h2{color:#4ecca3;margin-bottom:15px}.upload-prompt p{color:#888;margin-bottom:20px}.upload-button{padding:15px 40px;font-size:1.2rem;background:#4ecca3;color:#1a1a2e;border:none;border-radius:10px;cursor:pointer;font-weight:700}.upload-button:hover{background:#3db892}.preview-image{max-width:300px;max-height:300px;border-radius:10px;margin:20px 0;border:3px solid #4ecca3}.puzzle-game .game-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#16213e;border-radius:10px;margin-bottom:20px}.puzzle-game .game-header h2{color:#4ecca3;margin:0}.puzzle-game .progress{color:#888;font-size:1.1rem}.my-score{display:flex;flex-direction:column;align-items:center}.my-score .label{font-size:.8rem;color:#888;text-transform:uppercase}.my-score .value{font-size:2rem;font-weight:700;color:#4ecca3}.placement-toast{position:fixed;top:80px;left:50%;transform:translate(-50%);background:#16213e;padding:15px 25px;border-radius:30px;display:flex;align-items:center;gap:15px;border:2px solid #4ecca3;z-index:100;animation:slideDown .3s ease}.placement-toast .player-name{color:#fff;font-weight:700}.placement-toast .points{color:#4ecca3;font-weight:700;font-size:1.2rem}.placement-toast .streak{color:#f39c12}.placement-toast.mine{border-color:#f39c12;background:linear-gradient(135deg,#16213e,#2c2a1a)}.puzzle-board-container{display:flex;justify-content:center;padding:20px}.puzzle-board{position:relative;border-radius:10px;box-shadow:0 0 30px #4ecca333}.placed-cell{box-shadow:0 0 4px #4ecca380;animation:piecePlace .3s ease-out}@keyframes piecePlace{0%{opacity:0;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.puzzle-game .scoreboard{background:#16213e;padding:20px;border-radius:10px;margin-top:20px}.puzzle-game .scoreboard h3{color:#4ecca3;margin-bottom:15px;text-align:center}.score-list{display:flex;flex-wrap:wrap;justify-content:center;gap:15px}.score-item{display:flex;flex-direction:column;align-items:center;padding:10px 20px;background:#1a1a2e;border-radius:10px;min-width:100px}.score-item .player-name{font-size:.9rem;color:#888;margin-bottom:5px}.score-item .score{font-size:1.5rem;font-weight:700;color:#4ecca3}.hand-section{padding:20px;background:#16213e;border-radius:15px;margin-bottom:20px}.hand-section h3{color:#4ecca3;margin-bottom:5px;text-align:center}.hand-hint{color:#888;font-size:.85rem;text-align:center;margin-bottom:20px}.hand{display:flex;flex-wrap:wrap;justify-content:center;gap:15px}.hand-piece{position:relative;background:#1a1a2e;padding:10px;border-radius:10px;border:2px solid #333;cursor:pointer;transition:all .2s}.hand-piece:hover{border-color:#4ecca3;transform:scale(1.05)}.hand-piece:active{transform:scale(.95)}.piece-preview{position:relative;min-width:60px;min-height:60px}.preview-cell{border-radius:3px;border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 0 0 1px #0003}.swap-btn{position:absolute;top:-8px;right:-8px;width:28px;height:28px;border-radius:50%;background:#e74c3c;border:none;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center}.swap-btn:hover{background:#c0392b}.reference-image{text-align:center;padding:15px;background:#16213e;border-radius:10px}.reference-image h4{color:#888;margin-bottom:10px;font-size:.9rem}.reference-image img{max-width:150px;max-height:150px;border-radius:8px;opacity:.8}.puzzle-game.complete{text-align:center}.complete-content h1{color:#4ecca3;font-size:2.5rem;margin-bottom:20px}.final-image{margin:30px 0}.final-image img{max-width:300px;max-height:300px;border-radius:15px;border:3px solid #4ecca3}.stats{display:flex;justify-content:center;gap:40px;margin-bottom:30px}.stat{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:2rem;font-weight:700;color:#4ecca3}.stat-label{font-size:.9rem;color:#888;text-transform:uppercase}.final-rankings{background:#16213e;padding:20px;border-radius:15px;max-width:400px;margin:0 auto 30px}.final-rankings h3{color:#4ecca3;margin-bottom:20px}.ranking-item{display:flex;align-items:center;padding:12px 15px;background:#1a1a2e;border-radius:8px;margin-bottom:10px}.ranking-item.winner{background:linear-gradient(135deg,#1f4a3a,#1a1a2e);border:1px solid #4ecca3}.ranking-item .rank{color:#888;margin-right:15px;font-size:.9rem}.ranking-item.winner .rank{color:#f39c12}.ranking-item .name{flex:1;font-weight:700}.ranking-item .score{color:#4ecca3;font-weight:700;font-size:1.2rem}.puzzle-room.shared-display .room-code-display{margin-bottom:30px}.host-view .puzzle-board{margin:0 auto}.swoop10-lobby,.swoop10-room{padding-top:20px}.swoop10-game{padding:10px;max-height:100vh;overflow:hidden;display:flex;flex-direction:column}.swoop10-lobby h1,.swoop10-room h1{color:#4ecca3;margin-bottom:10px}.swoop10-lobby.modern{display:flex;flex-direction:column;min-height:calc(100vh - 80px)}.swoop10-lobby.modern .back-link{position:absolute;top:20px;left:20px}.lobby-header{text-align:center;padding:40px 20px 30px}.lobby-header h1{font-size:2.5rem;color:#4ecca3;margin-bottom:5px}.lobby-header .player-count{display:block;color:#888;font-size:.9rem;margin-bottom:10px}.lobby-header p{color:#888;font-size:1rem}.lobby-card{background:#16213e;border-radius:20px;padding:30px;max-width:400px;margin:0 auto;width:100%}.lobby-step{margin-bottom:25px}.lobby-step label{display:block;color:#4ecca3;font-size:.9rem;margin-bottom:10px;font-weight:500}.lobby-step .name-field{width:100%;padding:15px 20px;font-size:1.2rem;background:#1a1a2e;border:2px solid #333;border-radius:12px;color:#fff;text-align:center;transition:border-color .2s}.lobby-step .name-field:focus{outline:none;border-color:#4ecca3}.lobby-step .name-field::placeholder{color:#888}.how-to-play-btn{background:transparent;border:none;color:#888;font-size:.9rem;cursor:pointer;padding:8px 0;margin-bottom:15px;display:flex;align-items:center;justify-content:center;gap:6px;width:100%;transition:color .2s}.how-to-play-btn:hover{color:#4ecca3}.rules-content{background:#1a1a2e;border-radius:10px;padding:15px 20px;margin-bottom:20px;border:1px solid #333}.rules-content ul{margin:0;padding-left:0;list-style:none}.rules-content li{color:#ccc;font-size:.85rem;line-height:1.6;padding:4px 0}.rules-content li strong{color:#4ecca3}.lobby-actions{display:flex;flex-direction:column;gap:15px}.lobby-btn{display:flex;align-items:center;gap:15px;padding:18px 20px;border-radius:12px;border:none;cursor:pointer;text-align:left;transition:transform .2s,box-shadow .2s}.lobby-btn:hover{transform:translateY(-2px)}.lobby-btn:active{transform:translateY(0)}.lobby-btn.primary{background:linear-gradient(135deg,#4ecca3,#3db892);color:#1a1a2e}.lobby-btn.primary:hover{box-shadow:0 8px 25px #4ecca34d}.lobby-btn.secondary{background:#1a1a2e;color:#fff;border:2px solid #333}.lobby-btn.secondary:hover{border-color:#4ecca3}.lobby-btn .btn-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#0003;border-radius:10px;font-size:1.5rem;font-weight:700}.lobby-btn.secondary .btn-icon{background:#16213e}.lobby-btn .btn-text{display:flex;flex-direction:column;gap:2px}.lobby-btn .btn-text strong{font-size:1.1rem}.lobby-btn .btn-text small{font-size:.85rem;opacity:.8}.lobby-btn.full{justify-content:center;text-align:center}.lobby-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.divider{display:flex;align-items:center;gap:15px;color:#888;font-size:.9rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#333}.join-inline{display:flex;gap:12px;align-items:stretch;background:#16213e;border:2px solid #4ecca3;border-radius:15px;padding:15px 20px}.code-field-inline{flex:1;min-width:0;padding:15px 20px;font-size:1.4rem;background:#1a1a2e;border:2px solid #333;border-radius:10px;color:#fff;text-align:center;text-transform:uppercase;letter-spacing:4px;font-weight:700}.code-field-inline:focus{outline:none;border-color:#4ecca3;background:#1f2847}.code-field-inline::placeholder{color:#888;letter-spacing:3px;font-size:1.2rem}.join-btn{padding:15px 30px;font-size:1.1rem;font-weight:700;background:#4ecca3;color:#0f0f23;border:none;border-radius:10px;cursor:pointer;transition:all .2s;white-space:nowrap}.join-btn:hover:not(:disabled){background:#3db892;transform:translateY(-1px)}.join-btn:disabled{background:#3a4a6a;color:#889;cursor:not-allowed}.lobby-join{display:flex;flex-direction:column;gap:15px}.lobby-join label{color:#4ecca3;font-size:.9rem;font-weight:500}.lobby-join .back-btn{align-self:flex-start;background:none;border:none;color:#888;cursor:pointer;padding:5px 0;font-size:.9rem}.lobby-join .back-btn:hover{color:#4ecca3}.lobby-join .code-field{width:100%;padding:20px;font-size:2rem;font-weight:700;text-align:center;letter-spacing:15px;background:#1a1a2e;border:2px solid #333;border-radius:12px;color:#fff;text-transform:uppercase}.lobby-join .code-field:focus{outline:none;border-color:#4ecca3}.lobby-join .code-field::placeholder{letter-spacing:10px;color:#888}.lobby-error{color:#e74c3c;text-align:center;margin-top:15px;padding:10px;background:#e74c3c1a;border-radius:8px}.lobby-footer{text-align:center;padding:30px;color:#888;font-size:.9rem;margin-top:auto}.playing-card{width:70px;aspect-ratio:169.075 / 244.64;position:relative;cursor:pointer;transition:transform .2s,box-shadow .2s;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.playing-card.svg-card{background:transparent;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000004d}.playing-card.svg-card svg{width:100%;height:100%;display:block}.playing-card.small{width:50px}.playing-card:hover{transform:translateY(-5px)}.playing-card.selected{transform:translateY(-15px);box-shadow:0 8px 20px #4ecca380;outline:3px solid #4ecca3}.playing-card.face-down{cursor:default}.playing-card.face-down:hover{transform:none}.playing-card.css-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000004d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.playing-card.css-card.red{color:#e74c3c}.playing-card.css-card.black{color:#1a1a2e}.playing-card.css-card .card-rank{font-size:2rem;font-weight:700;line-height:1}.playing-card.css-card .card-suit{font-size:2.2rem;line-height:1}.playing-card.css-card.small .card-rank{font-size:1.2rem}.playing-card.css-card.small .card-suit{font-size:1.4rem}.card-pile{position:relative;width:75px;aspect-ratio:169.075 / 244.64;cursor:default}.card-pile.clickable{cursor:pointer}.card-pile.clickable:hover{transform:scale(1.05)}.card-pile .pile-top-card{position:absolute;top:8px;left:4px}.empty-pile{width:70px;aspect-ratio:169.075 / 244.64;border:2px dashed #333;border-radius:8px}.players-section{background:#16213e;padding:20px;border-radius:10px;margin:20px 0}.players-section h3{color:#4ecca3;margin-bottom:15px}.player-list-horizontal{display:flex;flex-wrap:wrap;gap:10px}.settings-group{background:#16213e;padding:20px;border-radius:10px;margin-bottom:20px}.settings-group label{display:block;margin-bottom:15px;color:#ccc}.settings-group select{margin-left:10px;padding:8px 12px;background:#1a1a2e;border:2px solid #333;border-radius:6px;color:#fff;font-size:1rem}.settings-group .checkbox-label{display:flex;align-items:center;gap:10px}.settings-group input[type=checkbox]{width:20px;height:20px;accent-color:#4ecca3}.scoring-info{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:-5px;margin-bottom:15px;color:#888;font-size:.85rem}.score-chip{background:#1a1a2e;padding:4px 10px;border-radius:15px;color:#4ecca3;font-weight:500;font-size:.8rem}.dealing-animation-simple{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100vh;padding:20px;background:radial-gradient(ellipse at center top,#1a3a2a,#1a1a2e 60%)}.dealing-title{color:#4ecca3;font-size:1.5rem;margin-bottom:5px;text-shadow:0 2px 10px rgba(0,0,0,.5)}.dealing-subtitle{color:#888;font-size:1rem;margin-bottom:30px}.dealer-deck-top{position:relative;width:70px;height:100px;margin-bottom:40px}.deck-card-stacked{position:absolute;top:0;left:0}.deck-card-stacked .playing-card{box-shadow:0 2px 8px #0006}.dealing-piles-area{margin-bottom:30px;text-align:center}.dealing-piles-label{color:#888;font-size:.85rem;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}.dealing-piles-row{display:flex;gap:15px;justify-content:center}.dealing-pile-slot{position:relative;width:50px;height:75px;border:2px dashed rgba(78,204,163,.3);border-radius:6px;display:flex;align-items:center;justify-content:center}.dealing-hand-area{text-align:center}.dealing-hand-label{color:#888;font-size:.85rem;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}.dealing-hand-row{display:flex;gap:-15px;justify-content:center;min-height:100px;flex-wrap:wrap;max-width:400px;margin:0 auto}.deal-card-fly{opacity:0;animation:dealCardFly .35s ease-out forwards}.deal-card-fly.facedown{position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.deal-card-fly.faceup{position:absolute;top:2px;left:50%;transform:translate(-50%)}@keyframes dealCardFly{0%{opacity:0;transform:translate(-50%) translateY(-80px) scale(.7) rotate(-5deg)}60%{opacity:1;transform:translate(-50%) translateY(5px) scale(1.05) rotate(2deg)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1) rotate(0)}}.deal-card-fly.hand{animation:dealCardFlyHand .35s ease-out forwards}@keyframes dealCardFlyHand{0%{opacity:0;transform:translateY(-100px) scale(.7) rotate(-5deg)}60%{opacity:1;transform:translateY(5px) scale(1.05) rotate(2deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}.dealing-ready{margin-top:30px;text-align:center;animation:fadeInUp .5s ease-out}.dealing-ready p{color:#4ecca3;font-size:1.3rem;font-weight:600;animation:pulse 1s ease-in-out infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dealing-animation{text-align:center;padding:60px 20px}.dealing-animation h2{color:#4ecca3;font-size:2rem;margin-bottom:10px}.dealing-animation p{color:#888;margin-bottom:30px}.dealing-cards{display:flex;justify-content:center;gap:10px}.dealing-card{animation:dealCard .5s ease-out forwards;opacity:0}@keyframes dealCard{0%{opacity:0;transform:translateY(-50px) rotate(-10deg)}to{opacity:1;transform:translateY(0) rotate(0)}}.swoop-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;animation:swoopFade 2.5s ease-out forwards}@keyframes swoopFade{0%{opacity:0}15%{opacity:1}85%{opacity:1}to{opacity:0}}.swoop-content{display:flex;flex-direction:column;align-items:center;gap:20px}.swoop-cards-animation{display:flex;justify-content:center;position:relative;height:120px;width:200px}.swoop-card-fly{position:absolute;animation:cardFlyToDiscard 1.5s ease-in-out forwards}.swoop-card-fly:nth-child(1){left:20px}.swoop-card-fly:nth-child(2){left:40px}.swoop-card-fly:nth-child(3){left:60px}.swoop-card-fly:nth-child(4){left:80px}@keyframes cardFlyToDiscard{0%{transform:translateY(0) rotate(0) scale(1);opacity:1}30%{transform:translateY(-50px) rotate(-10deg) scale(1.2);opacity:1}60%{transform:translateY(-30px) rotate(5deg) scale(1.1);opacity:1}to{transform:translateY(100px) translate(50px) rotate(180deg) scale(.5);opacity:0}}.swoop-text{font-size:3.5rem;font-weight:700;color:#4ecca3;text-align:center;animation:swoopPulse .4s ease-out infinite alternate;text-shadow:0 0 30px rgba(78,204,163,.5)}.swoop-player{display:block;font-size:1.3rem;color:#fff;margin-top:5px;animation:none}.swoop-reason{display:block;font-size:1rem;color:#888;margin-top:5px;animation:none;font-weight:400}@keyframes swoopPulse{0%{transform:scale(1)}to{transform:scale(1.08)}}.turn-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:999;animation:turnFade 2s ease-out forwards;pointer-events:none}.turn-overlay.your-turn{background:linear-gradient(135deg,#4ecca34d,#000000d9,#4ecca34d)}@keyframes turnFade{0%{opacity:0}15%{opacity:1}75%{opacity:1}to{opacity:0}}.turn-content{text-align:center}.turn-text{font-size:3.5rem;font-weight:700;color:#fff;text-shadow:0 0 40px rgba(0,0,0,.8),0 0 80px rgba(0,0,0,.5);animation:turnSlide 2s ease-out;text-transform:uppercase;letter-spacing:4px}.turn-overlay.your-turn .turn-text{color:#4ecca3;text-shadow:0 0 30px rgba(78,204,163,.8),0 0 60px rgba(78,204,163,.5),0 0 100px rgba(78,204,163,.3);animation:turnSlideGlow 2s ease-out}@keyframes turnSlide{0%{transform:scale(.5) translateY(-30px);opacity:0}15%{transform:scale(1.1) translateY(0);opacity:1}25%{transform:scale(1) translateY(0);opacity:1}75%{transform:scale(1) translateY(0);opacity:1}to{transform:scale(.9) translateY(30px);opacity:0}}@keyframes turnSlideGlow{0%{transform:scale(.5) translateY(-30px);opacity:0}15%{transform:scale(1.2) translateY(0);opacity:1}25%{transform:scale(1) translateY(0);opacity:1}50%{text-shadow:0 0 50px rgba(78,204,163,1),0 0 100px rgba(78,204,163,.8),0 0 150px rgba(78,204,163,.5)}75%{transform:scale(1) translateY(0);opacity:1}to{transform:scale(.9) translateY(30px);opacity:0}}.pickup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#b43232d9;display:flex;align-items:center;justify-content:center;z-index:999;animation:pickupFade 2.5s ease-out forwards;pointer-events:none}.pickup-overlay.is-you{background:#c85032e6}@keyframes pickupFade{0%{opacity:0}10%{opacity:1}70%{opacity:1}to{opacity:0}}.pickup-content{text-align:center;animation:pickupBounce 2.5s ease-out}.pickup-icon{font-size:5rem;margin-bottom:15px;animation:pickupShake .5s ease-in-out 3}@keyframes pickupShake{0%,to{transform:translate(0)}25%{transform:translate(-10px) rotate(-5deg)}75%{transform:translate(10px) rotate(5deg)}}.pickup-text{font-size:2.5rem;font-weight:700;color:#fff;text-shadow:0 0 20px rgba(0,0,0,.5);text-transform:uppercase;letter-spacing:2px;margin-bottom:10px}.pickup-count{font-size:3rem;font-weight:700;color:#fc0;text-shadow:0 0 30px rgba(255,200,0,.5);animation:pickupCountPulse .3s ease-in-out 3}@keyframes pickupCountPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes pickupBounce{0%{transform:scale(.3) translateY(-50px);opacity:0}15%{transform:scale(1.1) translateY(0);opacity:1}25%{transform:scale(1) translateY(0)}70%{transform:scale(1) translateY(0);opacity:1}to{transform:scale(.8) translateY(30px);opacity:0}}.round-start-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#16213ef2;display:flex;align-items:center;justify-content:center;z-index:1000;animation:roundStartFade 2.5s ease-out forwards;pointer-events:none}@keyframes roundStartFade{0%{opacity:0}15%{opacity:1}75%{opacity:1}to{opacity:0}}.round-start-content{text-align:center;animation:roundStartBounce 2.5s ease-out}@keyframes roundStartBounce{0%{transform:scale(.5);opacity:0}20%{transform:scale(1.1);opacity:1}30%{transform:scale(1)}80%{transform:scale(1);opacity:1}to{transform:scale(.9);opacity:0}}.round-number{font-size:3.5rem;font-weight:700;color:#4ecca3;margin-bottom:20px;text-shadow:0 0 30px rgba(78,204,163,.5)}.round-standings{background:#0000004d;border-radius:10px;padding:15px 25px;min-width:200px}.standing-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1);color:#ccc;font-size:1rem}.standing-row:last-child{border-bottom:none}.standing-row.leader{color:#4ecca3;font-weight:700}.standing-rank{width:30px;text-align:left}.standing-name{flex:1;text-align:left;margin-left:10px}.standing-score{width:50px;text-align:right}.auto-start-message{color:#888;font-size:1rem;margin-top:20px;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.winner-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffd70033,#000000e6,#ffd70033);display:flex;align-items:center;justify-content:center;z-index:1001;animation:winnerFade 3s ease-out forwards;pointer-events:none}.winner-overlay.you-won{background:linear-gradient(135deg,#4ecca34d,#000000e6,#ffd7004d)}@keyframes winnerFade{0%{opacity:0}10%{opacity:1}85%{opacity:1}to{opacity:0}}.winner-content{text-align:center;animation:winnerBounce 3s ease-out}@keyframes winnerBounce{0%{transform:scale(.3);opacity:0}15%{transform:scale(1.2);opacity:1}25%{transform:scale(1)}85%{transform:scale(1);opacity:1}to{transform:scale(.9);opacity:0}}.winner-crown{font-size:5rem;animation:crownBounce .6s ease-out;margin-bottom:10px}@keyframes crownBounce{0%{transform:translateY(-50px) scale(0)}60%{transform:translateY(10px) scale(1.2)}to{transform:translateY(0) scale(1)}}.winner-text{font-size:4rem;font-weight:700;color:gold;text-shadow:0 0 30px rgba(255,215,0,.8),0 0 60px rgba(255,215,0,.5);text-transform:uppercase;letter-spacing:4px;margin-bottom:10px}.winner-overlay.you-won .winner-text{color:#4ecca3;text-shadow:0 0 30px rgba(78,204,163,.8),0 0 60px rgba(78,204,163,.5),0 0 100px rgba(255,215,0,.3)}.winner-subtext{font-size:1.5rem;color:#aaa;text-transform:uppercase;letter-spacing:3px}.audio-notice{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#16213ef2;color:#aaa;padding:12px 20px;border-radius:8px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:.85rem;z-index:100;border:1px solid #333;max-width:90%;cursor:pointer}.audio-notice .tap-dismiss{font-size:.7rem;color:#888}.refresh-players-btn{margin-top:15px;padding:8px 16px;background:transparent;color:#888;border:1px solid #444;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s}.refresh-players-btn:hover{color:#4ecca3;border-color:#4ecca3}.swoop10-game .game-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#16213e;border-radius:10px;margin-bottom:20px}.round-info{color:#888;font-size:1rem}.turn-indicator{font-size:1.1rem}.turn-indicator .your-turn{color:#4ecca3;font-weight:700;animation:pulse 1s infinite}.player-identity{font-size:.85rem;color:#888}.player-identity strong{color:#4ecca3}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.table-area{display:flex;flex-direction:column;align-items:center;padding:15px;background:linear-gradient(135deg,#1a4a3a,#16213e);border-radius:12px;margin-bottom:10px}.stack-area{display:flex;flex-direction:column;align-items:center;gap:10px}.stack{position:relative;min-width:200px}.stack-cards{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;max-width:400px}.stack-card{transition:transform .2s ease}.stack-card:last-child .playing-card{box-shadow:0 4px 15px #0006}.empty-stack{width:70px;aspect-ratio:169.075 / 244.64;border:3px dashed #4ecca3;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#4ecca3;font-size:.8rem;text-align:center}.discard-pile{display:flex;align-items:center;gap:8px;opacity:.7;padding:5px 10px;background:#0003;border-radius:8px}.discard-count{background:#666;color:#fff;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem}.pickup-btn{padding:10px 20px;background:#e74c3c;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;transition:background .2s}.pickup-btn:hover{background:#c0392b}.other-players{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;margin-top:20px;width:100%}.other-player{background:#16213e;padding:15px;border-radius:10px;text-align:center;min-width:120px;border:2px solid #333;transition:border-color .3s}.other-player.current-turn{border-color:#4ecca3;box-shadow:0 0 15px #4ecca34d}.other-player.out{opacity:.5}.other-player.is-bot{border-color:#9b59b6}.other-player.is-bot.current-turn{border-color:#9b59b6;box-shadow:0 0 15px #9b59b64d}.bot-indicator{font-size:.8rem;margin-left:4px}.other-player .player-name{font-weight:700;color:#fff;margin-bottom:8px}.other-player .player-info{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:#888;margin-bottom:10px}.other-player .card-count{color:#4ecca3}.player-piles{display:flex;justify-content:center;gap:5px}.mini-pile{position:relative;width:25px;height:35px}.mini-card{position:absolute;width:22px;height:32px;border-radius:3px;font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:700}.mini-card.down{background:linear-gradient(135deg,#16213e,#1a1a2e);border:1px solid #4ecca3}.mini-card.up{background:#fff;top:3px;left:2px}.other-players-section{width:100%;margin-top:15px}.player-tabs-header{text-align:center;margin-bottom:8px}.player-tabs-hint{color:#888;font-size:.8rem}.player-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:12px}.player-tab{background:#16213e;border:2px solid #333;border-radius:8px;padding:8px 12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;transition:all .2s;min-width:80px}.player-tab:hover{border-color:#4ecca3}.player-tab.current-turn{border-color:#4ecca3;box-shadow:0 0 10px #4ecca34d}.player-tab.viewing{background:#1e3a5f;border-color:#4ecca3}.player-tab.out{opacity:.5}.player-tab.disconnected{border-color:#e74c3c;border-style:dashed;opacity:.6}.player-tab .tab-name{font-weight:700;color:#fff;font-size:.9rem}.player-tab .tab-info{color:#4ecca3;font-size:.75rem}.player-tab .bot-indicator{font-size:.7rem;margin-left:3px}.viewed-player-piles{background:#16213e;border-radius:10px;padding:12px}.viewed-player-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.viewed-name{font-weight:700;color:#fff;font-size:.9rem}.viewed-score{color:#888;font-size:.8rem}.my-area{background:#16213e;padding:15px;border-radius:12px}.piles-and-action{display:flex;align-items:center;gap:15px;margin-bottom:15px}.piles-and-action .my-piles{margin-bottom:0}.my-piles{margin-bottom:20px}.my-piles h4,.my-hand h4{color:#4ecca3;margin-bottom:10px;font-size:.9rem}.my-piles .hint{color:#888;font-weight:400;font-size:.8rem}.piles-row{display:flex;justify-content:center;gap:15px}.my-hand{text-align:center}.swoop10-game .hand-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:10px}.swoop10-game .hand-cards .playing-card{margin:0!important}.play-btn{padding:12px 30px;background:#4ecca3;color:#1a1a2e;border:none;border-radius:8px;cursor:pointer;font-weight:700;font-size:1rem;transition:background .2s}.play-btn:hover:not(.disabled){background:#3db892}.play-btn.disabled{background:#333;color:#888;cursor:not-allowed}.my-score-display{text-align:center;margin-top:15px;color:#888;font-size:1rem}.swoop10-game.round-end{text-align:center;padding:40px 20px}.swoop10-game.round-end h1{color:#4ecca3;margin-bottom:30px}.round-scores{background:#16213e;padding:20px;border-radius:15px;max-width:400px;margin:0 auto 20px}.round-scores h3{color:#4ecca3;margin-bottom:20px}.score-row{display:flex;align-items:center;padding:12px 15px;background:#1a1a2e;border-radius:8px;margin-bottom:8px}.score-row.leader{background:linear-gradient(135deg,#1f4a3a,#1a1a2e);border:1px solid #4ecca3}.score-row .rank{width:40px;color:#888}.score-row.leader .rank{color:#f39c12}.score-row .name{flex:1;font-weight:700}.score-row .round-pts{color:#e74c3c;margin-right:15px}.score-row .total-pts{color:#4ecca3;font-weight:700;font-size:1.2rem}.threshold-info{color:#888;margin-bottom:30px}.swoop10-game.game-over{text-align:center;padding:40px 20px}.swoop10-game.game-over h1{color:#4ecca3;font-size:2.5rem;margin-bottom:20px}.swoop10-game .winner-announcement{margin-bottom:30px}.swoop10-game .winner-announcement h2{color:#f39c12;font-size:2rem}.swoop10-game .winner-announcement p{color:#888}.swoop10-game .game-over-actions{display:flex;flex-direction:column;gap:20px;align-items:center;margin-top:30px}.swoop10-game .waiting-for-host{color:#888;font-style:italic;margin:0}.floating-error{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#e74c3c;color:#fff;padding:12px 24px;border-radius:8px;z-index:100}.swoop10-loading{text-align:center;padding:60px;color:#888}.flip-preview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000}.flip-preview-modal{background:#16213e;padding:30px;border-radius:20px;text-align:center;max-width:400px;width:90%;border:2px solid #4ecca3}.flip-preview-modal h3{color:#4ecca3;margin-bottom:20px;font-size:1.5rem}.flipped-card-display{display:flex;justify-content:center;margin-bottom:20px}.flipped-card-display .playing-card{transform:scale(1.3)}.matching-prompt{color:#fff;margin-bottom:15px}.no-matching{color:#888;margin-bottom:20px}.matching-cards{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:25px}.matching-card-option{cursor:pointer;transition:transform .2s;border-radius:8px;padding:3px}.matching-card-option:hover{transform:translateY(-5px)}.matching-card-option.selected{background:#4ecca34d;box-shadow:0 0 15px #4ecca380}.matching-card-option.selected .playing-card{outline:3px solid #4ecca3}.flip-actions{display:flex;gap:15px;justify-content:center}.confirm-flip-btn{padding:12px 30px;background:#4ecca3;color:#1a1a2e;border:none;border-radius:8px;font-weight:700;font-size:1rem;cursor:pointer;transition:background .2s}.confirm-flip-btn:hover{background:#3db892}.cancel-flip-btn{padding:12px 30px;background:transparent;color:#888;border:2px solid #333;border-radius:8px;font-size:1rem;cursor:pointer;transition:border-color .2s,color .2s}.cancel-flip-btn:hover{border-color:#e74c3c;color:#e74c3c}.player-notification{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#16213e;padding:12px 24px;border-radius:30px;display:flex;align-items:center;gap:10px;z-index:500;animation:slideDown .3s ease-out;border:2px solid #333}.player-notification.joined,.player-notification.reconnected{border-color:#4ecca3}.player-notification.left,.player-notification.disconnected{border-color:#e74c3c}.notification-icon{font-size:1.2rem}.notification-text{color:#fff;font-weight:500}@keyframes slideDown{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.room-code-small{display:flex;align-items:center;gap:6px;background:#1a1a2e;padding:6px 12px;border-radius:6px;border:1px solid #333}.room-code-small .code-label{color:#888;font-size:.8rem}.room-code-small .code-value{color:#4ecca3;font-weight:700;font-family:monospace;letter-spacing:2px}.other-player.disconnected{opacity:.5;border-color:#e74c3c;border-style:dashed}.disconnected-badge{display:inline-block;background:#e74c3c;color:#fff;font-size:.65rem;padding:2px 6px;border-radius:10px;margin-left:6px;text-transform:uppercase;font-weight:700}.logs-page{padding:20px;max-width:1200px;margin:0 auto}.logs-page h1{color:#4ecca3;margin-bottom:20px}.logs-layout{display:grid;grid-template-columns:200px 1fr;gap:20px}@media (max-width: 768px){.logs-layout{grid-template-columns:1fr}}.log-files{background:#16213e;border-radius:10px;padding:15px}.log-files h3{color:#4ecca3;margin-bottom:15px;font-size:1rem}.log-files ul{list-style:none}.log-files li{padding:10px;cursor:pointer;border-radius:5px;margin-bottom:5px;font-size:.9rem;transition:all .2s}.log-files li:hover{background:#1f2b4a}.log-files li.selected{background:#4ecca3;color:#1a1a2e;font-weight:700}.no-logs{color:#888;font-style:italic}.log-stats{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px}.log-stats .stat{background:#16213e;padding:10px 15px;border-radius:8px;text-align:center;min-width:80px}.log-stats .stat.warning .stat-value{color:#e74c3c}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:#4ecca3}.stat-label{font-size:.75rem;color:#888;text-transform:uppercase}.log-filter{margin-bottom:15px}.log-filter input{width:100%;padding:10px 15px;border:1px solid #333;border-radius:8px;background:#16213e;color:#eee;font-size:.9rem}.log-filter input:focus{outline:none;border-color:#4ecca3}.log-list{background:#16213e;border-radius:10px;padding:10px;max-height:600px;overflow-y:auto}.log-entry{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;padding:8px 10px;border-bottom:1px solid #222;cursor:pointer;transition:background .2s}.log-entry:hover{background:#1f2b4a}.log-entry:last-child{border-bottom:none}.log-time{color:#888;font-family:monospace;font-size:.85rem;min-width:80px}.log-event{font-weight:700;font-size:.85rem;min-width:150px}.log-info{color:#aaa;font-size:.85rem;flex:1}.log-details{width:100%;background:#0d1117;padding:10px;border-radius:5px;font-size:.75rem;color:#8b949e;overflow-x:auto;margin-top:5px}.no-entries{color:#888;text-align:center;padding:40px;font-style:italic}.landscape-prompt{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#1a1a2e;z-index:9999;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.landscape-prompt .rotate-icon{font-size:4rem;margin-bottom:20px;animation:rotatePhone 2s ease-in-out infinite}.landscape-prompt h2{color:#4ecca3;margin-bottom:10px}.landscape-prompt p{color:#888;font-size:.9rem}@keyframes rotatePhone{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}@media (max-width: 768px) and (orientation: portrait){.swoop10-game.playing .landscape-prompt{display:flex}.swoop10-game.playing>*:not(.landscape-prompt):not(.swoop-overlay):not(.turn-overlay):not(.pickup-overlay):not(.flip-preview-overlay):not(.player-notification):not(.audio-notice):not(.round-start-overlay):not(.winner-overlay){display:none}}@media (max-width: 932px) and (orientation: landscape){body:has(.swoop10-game.playing){overflow:hidden!important;height:100vh!important;height:100dvh!important;position:fixed!important;width:100%!important;touch-action:none!important}body:has(.swoop10-game.playing) .app{max-width:none!important;padding:0!important;margin:0!important;height:100vh!important;height:100dvh!important;overflow:hidden!important}.swoop10-game.playing{position:fixed;top:0;left:0;right:0;bottom:0;height:100vh;height:100dvh;width:100vw;overflow:hidden;display:flex;flex-direction:row;padding:5px;gap:5px;touch-action:manipulation}.swoop10-game.playing *{touch-action:manipulation}.swoop10-game .game-header{flex-direction:column;justify-content:center;align-items:center;padding:5px 8px;margin-bottom:0;border-radius:8px;min-width:60px;max-width:70px;gap:5px}.swoop10-game .game-header .room-code-small{font-size:.65rem}.swoop10-game .game-header .room-code-small .code-value{font-size:.75rem}.swoop10-game .game-header .player-identity{display:none}.swoop10-game .game-header .round-info{font-size:.7rem}.swoop10-game .game-header .turn-indicator{font-size:.7rem;text-align:center}.swoop10-game .table-area{flex:1;padding:8px;margin-bottom:0;border-radius:8px;min-height:0;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.swoop10-game .stack-area{gap:5px}.swoop10-game .stack{min-width:150px;min-height:55px}.swoop10-game .stack-cards{gap:4px;max-width:280px}.swoop10-game .empty-stack{width:40px;height:55px;font-size:.6rem}.swoop10-game .stack-card .playing-card{width:40px}.swoop10-game .discard-pile .playing-card{width:35px}.swoop10-game .playing-card.css-card .card-rank{font-size:1.3rem}.swoop10-game .playing-card.css-card .card-suit{font-size:1.5rem}.swoop10-game .discard-count{width:16px;height:16px;font-size:.6rem}.swoop10-game .other-players{margin-top:5px;gap:5px;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start}.swoop10-game .other-player{padding:5px 8px;min-width:70px;border-radius:5px;flex-shrink:0}.swoop10-game .other-player .player-name{font-size:.7rem;margin-bottom:3px}.swoop10-game .other-player .player-info{font-size:.6rem;gap:1px;margin-bottom:3px}.swoop10-game .mini-pile{width:15px;height:22px}.swoop10-game .mini-card{width:13px;height:18px;font-size:7px}.swoop10-game .mini-card.up{top:2px;left:1px}.swoop10-game .other-players-section{margin-top:5px}.swoop10-game .player-tabs-header{margin-bottom:4px}.swoop10-game .player-tabs-hint{font-size:.65rem}.swoop10-game .player-tabs{gap:5px;margin-bottom:8px}.swoop10-game .player-tab{padding:4px 8px;min-width:60px;border-radius:5px}.swoop10-game .player-tab .tab-name{font-size:.7rem}.swoop10-game .player-tab .tab-info{font-size:.6rem}.swoop10-game .viewed-player-piles{padding:8px}.swoop10-game .viewed-player-header{margin-bottom:6px}.swoop10-game .viewed-name{font-size:.75rem}.swoop10-game .my-area{padding:8px;border-radius:8px;display:flex;flex-direction:column;max-width:45%;min-width:180px;overflow:hidden}.swoop10-game .my-piles{margin-bottom:5px}.swoop10-game .my-piles h4,.swoop10-game .my-hand h4{font-size:.7rem;margin-bottom:5px}.swoop10-game .my-piles .hint{display:none}.swoop10-game .piles-row{gap:8px;justify-content:flex-start}.swoop10-game .card-pile{width:52px}.swoop10-game .card-pile .playing-card{width:48px}.swoop10-game .card-pile .pile-top-card{top:5px;left:3px}.swoop10-game .empty-pile{width:48px;border-radius:5px}.swoop10-game .my-hand{flex:1;display:flex;flex-direction:column;min-height:0}.swoop10-game .piles-and-action{display:flex;align-items:flex-end;margin-bottom:8px}.swoop10-game .piles-and-action .my-piles{margin-bottom:0}.swoop10-game .piles-and-action .play-btn{padding:10px 16px;font-size:.85rem;border-radius:6px;white-space:nowrap;flex-shrink:0;margin-left:auto;margin-right:auto;margin-bottom:2px}.swoop10-game .hand-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;min-height:0!important;overflow:visible;padding:5px 10px}.swoop10-game .hand-cards .playing-card{width:48px;flex-shrink:0;transition:transform .15s}.swoop10-game .hand-cards .playing-card.selected{transform:translateY(-8px);box-shadow:0 0 8px #4ecca3cc}.swoop10-game .hand-cards .playing-card:hover{transform:translateY(-4px)}.swoop10-game .my-score-display{margin-top:5px;font-size:.75rem}.swoop10-game .turn-overlay .turn-text{font-size:1.8rem}.swoop10-game .pickup-overlay .pickup-icon{font-size:3rem}.swoop10-game .pickup-overlay .pickup-text{font-size:1.5rem}.swoop10-game .pickup-overlay .pickup-count,.swoop10-game .swoop-overlay .swoop-text{font-size:2rem}.swoop10-game .audio-notice{top:5px;padding:5px 10px;font-size:.7rem}.swoop10-game .player-notification{top:5px;padding:6px 12px;font-size:.75rem}.swoop10-game .flip-preview-modal{padding:15px;max-width:90%}.swoop10-game .flip-preview-modal h3{font-size:1rem;margin-bottom:10px}.swoop10-game .flipped-card-display .playing-card{width:50px}.swoop10-game .matching-cards{gap:8px}.swoop10-game .matching-card-option .playing-card{width:45px}}@media (max-width: 700px) and (orientation: landscape){.swoop10-game .my-area{max-width:40%;min-width:140px}.swoop10-game .piles-and-action .play-btn{padding:8px 10px;font-size:.7rem}.swoop10-game .hand-cards .playing-card{width:42px}.swoop10-game .card-pile{width:46px}.swoop10-game .card-pile .playing-card{width:42px}.swoop10-game .card-pile .pile-top-card{top:4px;left:2px}.swoop10-game .empty-pile{width:42px;aspect-ratio:169.075 / 244.64}.swoop10-game .other-player{min-width:55px;padding:4px 6px}.swoop10-game .other-player .player-name{font-size:.6rem}.swoop10-game .game-header{min-width:50px;max-width:55px}}.emojionary-lobby.modern{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:20px;max-width:500px;margin:0 auto}.emojionary-lobby .lobby-header{text-align:center;margin-bottom:30px}.emojionary-lobby .lobby-header h1{font-size:2.5rem;color:#4ecca3;margin-bottom:10px}.emojionary-lobby .lobby-header p{color:#888;font-size:1rem}.emojionary-lobby .lobby-card{background:#16213e;border-radius:16px;padding:30px;width:100%}.emojionary-lobby .lobby-step{margin-bottom:20px}.emojionary-lobby .lobby-step label{display:block;font-size:.9rem;color:#888;margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}.emojionary-lobby .name-field,.emojionary-lobby .code-field{width:100%;padding:14px 16px;font-size:1.1rem;background:#1a1a2e;border:2px solid #333;border-radius:10px;color:#fff}.emojionary-lobby .name-field:focus,.emojionary-lobby .code-field:focus{outline:none;border-color:#4ecca3}.emojionary-lobby .code-field{text-align:center;font-size:1.5rem;letter-spacing:8px;text-transform:uppercase}.emojionary-lobby .lobby-actions{display:flex;flex-direction:column;gap:15px}.emojionary-lobby .lobby-btn{display:flex;align-items:center;gap:15px;padding:16px 20px;border:none;border-radius:12px;font-size:1rem;cursor:pointer;transition:all .2s;text-align:left}.emojionary-lobby .lobby-btn.primary{background:#4ecca3;color:#1a1a2e}.emojionary-lobby .lobby-btn.primary:hover{background:#3db892;transform:translateY(-2px)}.emojionary-lobby .lobby-btn.secondary{background:#1a1a2e;color:#fff;border:2px solid #333}.emojionary-lobby .lobby-btn.secondary:hover{border-color:#4ecca3;transform:translateY(-2px)}.emojionary-lobby .lobby-btn .btn-icon{font-size:1.5rem;width:40px;text-align:center}.emojionary-lobby .lobby-btn .btn-text{display:flex;flex-direction:column}.emojionary-lobby .lobby-btn .btn-text strong{font-size:1.1rem}.emojionary-lobby .lobby-btn .btn-text small{font-size:.85rem;opacity:.7}.emojionary-lobby .divider{text-align:center;color:#888;position:relative}.emojionary-lobby .divider span{background:#16213e;padding:0 15px;position:relative;z-index:1}.emojionary-lobby .divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#333}.emojionary-lobby .lobby-join{display:flex;flex-direction:column;gap:15px}.emojionary-lobby .lobby-join label{color:#888;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.emojionary-lobby .back-btn{background:none;border:none;color:#888;cursor:pointer;font-size:.9rem;align-self:flex-start}.emojionary-lobby .back-btn:hover{color:#4ecca3}.emojionary-lobby .lobby-btn.full{justify-content:center}.emojionary-lobby .lobby-btn:disabled{opacity:.5;cursor:not-allowed}.emojionary-lobby .lobby-error{color:#e74c3c;text-align:center;margin-top:15px}.emojionary-lobby .lobby-footer{margin-top:30px;color:#888;font-size:.9rem}.emojionary-room{min-height:100vh;padding:20px;max-width:500px;margin:0 auto}.emojionary-room h1{text-align:center;color:#4ecca3;margin-bottom:30px}.emojionary-room .share-code{text-align:center;background:#16213e;padding:25px;border-radius:16px;margin-bottom:25px}.emojionary-room .share-code p{color:#888;font-size:.9rem;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}.emojionary-room .code-display{font-size:3rem;font-weight:700;letter-spacing:12px;color:#4ecca3;margin-bottom:15px}.emojionary-room .copy-link-btn{background:#1a1a2e;border:2px solid #333;color:#fff;padding:10px 20px;border-radius:8px;cursor:pointer;transition:all .2s}.emojionary-room .copy-link-btn:hover{border-color:#4ecca3}.emojionary-room .copy-link-btn.copied{background:#4ecca3;color:#1a1a2e;border-color:#4ecca3}.emojionary-room .players-section{background:#16213e;padding:20px;border-radius:16px;margin-bottom:25px}.emojionary-room .players-section h3{color:#4ecca3;margin-bottom:15px}.emojionary-room .player-list-horizontal{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.emojionary-room .player-tag{background:#1a1a2e;padding:8px 14px;border-radius:20px;font-size:.9rem;display:flex;align-items:center;gap:8px}.emojionary-room .player-tag.disconnected{opacity:.5}.emojionary-room .host-badge{background:#4ecca3;color:#1a1a2e;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:700}.emojionary-room .refresh-players-btn{background:none;border:1px solid #333;color:#888;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.85rem}.emojionary-room .refresh-players-btn:hover{border-color:#4ecca3;color:#4ecca3}.emojionary-room .host-controls{background:#16213e;padding:20px;border-radius:16px}.emojionary-room .host-controls h3{color:#4ecca3;margin-bottom:15px}.emojionary-room .settings-group{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.emojionary-room .settings-group label{display:flex;justify-content:space-between;align-items:center;color:#ccc}.emojionary-room .settings-group select{background:#1a1a2e;border:1px solid #333;color:#fff;padding:8px 12px;border-radius:6px}.emojionary-room .start-button{width:100%;padding:16px;font-size:1.1rem;font-weight:600;background:#4ecca3;color:#1a1a2e;border:none;border-radius:10px;cursor:pointer;transition:all .2s}.emojionary-room .start-button:hover:not(:disabled){background:#3db892}.emojionary-room .start-button:disabled{opacity:.5;cursor:not-allowed}.emojionary-room .waiting-message{text-align:center;color:#888;padding:20px}.emojionary-room .error{color:#e74c3c;text-align:center;margin-top:15px}.emojionary-game.playing{min-height:100vh;padding:15px;max-width:600px;margin:0 auto;display:flex;flex-direction:column}.emojionary-game .game-header{display:flex;justify-content:space-between;align-items:center;background:#16213e;padding:10px 15px;border-radius:10px;margin-bottom:15px}.emojionary-game .room-code-small{font-size:.85rem}.emojionary-game .code-label{color:#888}.emojionary-game .code-value{color:#4ecca3;font-weight:700;margin-left:5px}.emojionary-game .round-info{color:#888;font-size:.9rem}.emojionary-game .timer{background:#1a1a2e;padding:8px 16px;border-radius:20px;font-weight:700;font-size:1.1rem;color:#4ecca3}.emojionary-game .timer.warning{color:#e74c3c;animation:pulse-warning .5s ease-in-out infinite alternate}@keyframes pulse-warning{0%{opacity:1}to{opacity:.6}}.emojionary-game .category-display{text-align:center;margin-bottom:15px}.emojionary-game .category-label{color:#888;font-size:.9rem}.emojionary-game .category-value{color:#4ecca3;font-weight:700;font-size:1.1rem;margin-left:8px}.emojionary-game .emoji-display-area{background:#16213e;border-radius:16px;padding:20px;margin-bottom:15px;min-height:100px}.emojionary-game .emoji-sequence{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;min-height:60px}.emojionary-game .waiting-emojis{color:#888;font-style:italic}.emojionary-game .emoji-item{font-size:2.5rem;transition:transform .2s}.emojionary-game .emoji-item.removable{cursor:pointer}.emojionary-game .emoji-item.removable:hover{transform:scale(1.2)}.emojionary-game .clear-emojis-btn{display:block;margin:15px auto 0;background:none;border:1px solid #333;color:#888;padding:6px 16px;border-radius:6px;cursor:pointer;font-size:.85rem}.emojionary-game .clear-emojis-btn:hover{border-color:#e74c3c;color:#e74c3c}.emojionary-game .blanks-display{text-align:center;font-size:1.5rem;font-family:monospace;letter-spacing:4px;color:#888;background:#16213e;padding:15px;border-radius:10px;margin-bottom:20px;word-break:break-all}.emojionary-game .describer-area{flex:1;display:flex;flex-direction:column}.emojionary-game .phrase-to-describe{text-align:center;background:#4ecca3;color:#1a1a2e;padding:15px 20px;border-radius:12px;margin-bottom:20px}.emojionary-game .phrase-label{font-size:.85rem;display:block;margin-bottom:5px}.emojionary-game .phrase-text{font-size:1.5rem;font-weight:700;display:block}.emojionary-game .emoji-picker-wrapper{border-radius:16px;overflow:hidden}.emojionary-game .emoji-picker-wrapper .EmojiPickerReact{--epr-bg-color: #16213e !important;--epr-category-label-bg-color: #16213e !important;--epr-text-color: #eee !important;--epr-hover-bg-color: #242b4a !important;--epr-focus-bg-color: #242b4a !important;--epr-search-input-bg-color: #1a1a2e !important;--epr-picker-border-color: #333 !important;--epr-search-border-color: #333 !important;--epr-category-icon-active-color: #4ecca3 !important;--epr-highlight-color: #4ecca3 !important;border:none!important}.emojionary-game .emoji-picker-wrapper .EmojiPickerReact input{color:#fff!important}.emojionary-game .emoji-picker-wrapper .EmojiPickerReact input::placeholder{color:#888!important}.emojionary-game .guesser-area{flex:1}.emojionary-game .turn-info{text-align:center;margin-bottom:20px}.emojionary-game .describer-info{color:#888;font-size:1rem}.emojionary-game .already-guessed{text-align:center;background:#4ecca3;color:#1a1a2e;padding:20px;border-radius:12px;font-size:1.2rem;font-weight:700}.emojionary-game .check-mark{margin-right:10px}.emojionary-game .guess-input-area{display:flex;gap:10px;margin-bottom:15px}.emojionary-game .guess-input{flex:1;padding:14px 16px;font-size:1.1rem;background:#16213e;border:2px solid #333;border-radius:10px;color:#fff}.emojionary-game .guess-input:focus{outline:none;border-color:#4ecca3}.emojionary-game .guess-input:disabled{opacity:.5}.emojionary-game .guess-btn{padding:14px 24px;font-size:1.1rem;font-weight:600;background:#4ecca3;color:#1a1a2e;border:none;border-radius:10px;cursor:pointer;transition:all .2s;white-space:nowrap}.emojionary-game .guess-btn:hover:not(:disabled){background:#3db892}.emojionary-game .guess-btn:disabled{opacity:.5;cursor:not-allowed}.emojionary-game .guess-feedback{text-align:center;padding:10px;border-radius:8px;font-weight:700;animation:feedback-pop .3s ease-out}@keyframes feedback-pop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.emojionary-game .guess-feedback.close{background:#f39c12;color:#1a1a2e}.emojionary-game .guess-feedback.wrong{background:#e74c3c;color:#fff}.emojionary-game .correct-guessers{background:#16213e;border-radius:12px;padding:15px;margin-top:20px}.emojionary-game .correct-guessers h4{color:#4ecca3;margin-bottom:10px;font-size:.9rem}.emojionary-game .guessers-list{display:flex;flex-direction:column;gap:8px}.emojionary-game .guesser-item{display:flex;justify-content:space-between;align-items:center;background:#1a1a2e;padding:8px 12px;border-radius:8px}.emojionary-game .guesser-name{color:#fff}.emojionary-game .guesser-points{color:#4ecca3;font-weight:700}.emojionary-game .player-notification{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#16213e;padding:10px 20px;border-radius:20px;border:1px solid #333;animation:slide-down .3s ease-out;z-index:100}@keyframes slide-down{0%{transform:translate(-50%,-100%);opacity:0}to{transform:translate(-50%);opacity:1}}.emojionary-game .notification-text{color:#fff}.emojionary-game .error.floating-error{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#e74c3c;color:#fff;padding:10px 20px;border-radius:8px;z-index:100}.emojionary-game.turn-end{min-height:100vh;padding:20px;max-width:500px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.emojionary-game.turn-end h2{color:#4ecca3;margin-bottom:25px}.emojionary-game .turn-result{width:100%;background:#16213e;border-radius:16px;padding:20px;margin-bottom:20px}.emojionary-game .phrase-reveal{text-align:center;margin-bottom:20px}.emojionary-game .reveal-label{color:#888;font-size:.85rem;display:block;margin-bottom:5px}.emojionary-game .reveal-phrase{font-size:1.8rem;font-weight:700;color:#fff;display:block;margin-bottom:5px}.emojionary-game .reveal-category{color:#888;font-size:.9rem}.emojionary-game .emoji-sequence-result{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:20px;padding:15px;background:#1a1a2e;border-radius:10px}.emojionary-game .describer-result{display:flex;justify-content:space-between;align-items:center;background:#1a1a2e;padding:12px 16px;border-radius:10px;margin-bottom:20px}.emojionary-game .describer-result .describer-name{color:#fff}.emojionary-game .describer-result .describer-points{color:#4ecca3;font-weight:700}.emojionary-game .correct-guessers-result{margin-top:15px}.emojionary-game .correct-guessers-result h4{color:#4ecca3;margin-bottom:10px}.emojionary-game .guesser-row{display:flex;justify-content:space-between;padding:8px 12px;background:#1a1a2e;border-radius:8px;margin-bottom:6px}.emojionary-game .no-guessers{text-align:center;color:#888;padding:15px;background:#1a1a2e;border-radius:10px}.emojionary-game .round-scores{width:100%;background:#16213e;border-radius:16px;padding:20px;margin-bottom:20px}.emojionary-game .round-scores h4{color:#4ecca3;margin-bottom:15px;text-align:center}.emojionary-game .score-row{display:flex;align-items:center;padding:10px 12px;background:#1a1a2e;border-radius:8px;margin-bottom:6px}.emojionary-game .score-row.leader{background:#4ecca3;color:#1a1a2e}.emojionary-game .score-row .rank{width:40px;font-weight:700}.emojionary-game .score-row .name{flex:1}.emojionary-game .score-row .score{font-weight:700}.emojionary-game .round-progress{text-align:center;color:#888;margin-bottom:20px}.emojionary-game.turn-end .waiting-message{color:#888;text-align:center}.emojionary-game.game-over{min-height:100vh;padding:20px;max-width:500px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center}.emojionary-game.game-over h1{color:#4ecca3;margin-bottom:25px}.emojionary-game .winner-announcement{background:linear-gradient(135deg,#4ecca3,#3db892);color:#1a1a2e;padding:30px;border-radius:16px;margin-bottom:25px;width:100%}.emojionary-game .winner-announcement h2{font-size:2rem;margin-bottom:10px}.emojionary-game .winner-announcement p{font-size:1.2rem}.emojionary-game .final-rankings{width:100%;background:#16213e;border-radius:16px;padding:20px;margin-bottom:25px}.emojionary-game .final-rankings h3{color:#4ecca3;margin-bottom:15px}.emojionary-game .ranking-item{display:flex;align-items:center;padding:12px 16px;background:#1a1a2e;border-radius:8px;margin-bottom:8px}.emojionary-game .ranking-item.winner{background:#4ecca3;color:#1a1a2e}.emojionary-game .ranking-item .rank{width:40px;font-weight:700}.emojionary-game .ranking-item .name{flex:1;text-align:left}.emojionary-game .ranking-item .score{font-weight:700}.emojionary-game .play-again-button{width:100%;max-width:300px;padding:16px;font-size:1.1rem;font-weight:600;background:#4ecca3;color:#1a1a2e;border:none;border-radius:10px;cursor:pointer;margin-bottom:15px;transition:all .2s}.emojionary-game .play-again-button:hover{background:#3db892}.emojionary-game .back-button{display:inline-block;color:#888;text-decoration:none;padding:10px 20px}.emojionary-game .back-button:hover{color:#4ecca3}.emojionary-loading{min-height:100vh;display:flex;justify-content:center;align-items:center;color:#888}@media (max-width: 480px){.emojionary-lobby .lobby-header h1{font-size:2rem}.emojionary-room .code-display{font-size:2.5rem;letter-spacing:8px}.emojionary-game .emoji-item{font-size:2rem}.emojionary-game .emoji-picker-wrapper .EmojiPickerReact{--epr-emoji-size: 28px !important}.emojionary-game .phrase-text{font-size:1.2rem}.emojionary-game .blanks-display{font-size:1.2rem;letter-spacing:2px}.emojionary-game .guess-input-area{flex-direction:column}.emojionary-game .guess-btn{width:100%}}.hc-lobby.modern{min-height:100vh;padding:20px;max-width:400px;margin:0 auto;display:flex;flex-direction:column}.hc-lobby .lobby-header{text-align:center;margin-bottom:30px}.hc-lobby .lobby-header h1{font-size:2.2rem;color:#4ecca3;margin-bottom:8px}.hc-lobby .lobby-header p{color:#888}.hc-lobby .lobby-card{background:#16213e;border-radius:16px;padding:25px}.hc-lobby .lobby-footer{text-align:center;margin-top:30px;color:#888}.hc-room.modern{min-height:100vh;padding:20px;max-width:500px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.hc-room h1{color:#4ecca3;margin-bottom:20px;text-align:center}.hc-room .settings-section{width:100%;margin-bottom:20px;background:#16213e;border-radius:12px;padding:15px}.hc-room .settings-section label{display:block;color:#888;margin-bottom:10px;font-size:.9rem}.hc-room .hole-presets{display:flex;gap:10px}.hc-room .preset-btn{flex:1;padding:10px;border:2px solid #333;background:#1a1a2e;color:#fff;border-radius:8px;cursor:pointer;transition:all .2s}.hc-room .preset-btn:hover{border-color:#4ecca3}.hc-room .preset-btn.active{background:#4ecca3;color:#1a1a2e;border-color:#4ecca3}.hc-game.playing.modern{min-height:100vh;padding:15px;display:flex;flex-direction:column}.hc-game .game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding:10px;background:#16213e;border-radius:10px}.hc-game .header-left,.hc-game .header-right{display:flex;align-items:center;gap:10px}.hc-game .room-code-small{display:flex;gap:5px;font-size:.9rem}.hc-game .room-code-small .code-label{color:#888}.hc-game .room-code-small .code-value{color:#4ecca3;font-weight:700}.hc-game .turn-indicator{padding:8px 16px;border-radius:20px;font-weight:700;font-size:.9rem}.hc-game .turn-indicator.your-turn{background:#4ecca3;color:#1a1a2e}.hc-game .turn-indicator.opponent-turn{background:#333;color:#888}.hc-game .piece-count{display:flex;align-items:center;gap:5px;font-size:.9rem}.hc-game .piece-count .piece-icon{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700}.hc-game .piece-count.you .piece-icon{background:#4ecca3;color:#1a1a2e}.hc-game .piece-count.opponent .piece-icon{background:#e74c3c;color:#fff}.hc-game .game-error{background:#e74c3c;color:#fff;padding:8px 15px;border-radius:8px;text-align:center;margin-bottom:10px}.hc-game .game-content{display:flex;gap:20px;flex:1;justify-content:center}.hc-game .board-container{display:flex;justify-content:center;align-items:flex-start}.hc-board{display:flex;flex-direction:column;border:3px solid #4ecca3;border-radius:8px;overflow:hidden}.hc-board.flipped,.hc-board.flipped .hc-piece{transform:rotate(180deg)}.hc-row{display:flex}.hc-square{width:50px;height:50px;display:flex;align-items:center;justify-content:center;position:relative}.hc-square.light{background:#ddd}.hc-square.dark{background:#555;cursor:pointer}.hc-square.dark:hover{background:#666}.hc-square.selected{background:#4ecca3!important}.hc-square.valid-move:after{content:"";position:absolute;width:16px;height:16px;background:#4ecca380;border-radius:50%}.hc-square.valid-capture:after{content:"";position:absolute;width:16px;height:16px;background:#e74c3c99;border-radius:50%}.hc-square.hole-revealed{background:radial-gradient(circle at center,#0a0a0a,#1a0a0a 40%,#2c1a1a)!important;box-shadow:inset 0 0 20px #000000e6,inset 0 0 10px #8b000080;border:2px solid #8b0000!important}.hc-square .hole-icon{font-size:32px;color:#f44;font-weight:700;text-shadow:0 0 10px rgba(255,0,0,.8),0 0 20px rgba(139,0,0,.6);animation:hole-glow 1.5s ease-in-out infinite}@keyframes hole-glow{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.hc-square.probed-safe{background:radial-gradient(circle at center,#1a3a2e,#2d5a4d)!important;box-shadow:inset 0 0 12px #4ecca366;border:2px solid #4ecca3!important}.hc-square.probed-safe:after{content:"✓";position:absolute;font-size:18px;color:#4ecca3;opacity:.7}.hc-square.probed-hole{background:radial-gradient(circle at center,#1a0a0a,#3a1a1a 60%,#5a2d2d)!important;box-shadow:inset 0 0 15px #000000b3,inset 0 0 8px #8b000066;border:2px dashed #8b3333!important}.hc-square.probeable{cursor:crosshair;animation:probe-pulse 1s infinite}@keyframes probe-pulse{0%,to{opacity:1}50%{opacity:.7}}.hc-square.multi-jump{box-shadow:inset 0 0 10px #4ecca3}.hc-piece{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 6px #0000004d;transition:transform .1s}.hc-piece.red{background:linear-gradient(145deg,#e74c3c,#c0392b);border:2px solid #922b21}.hc-piece.black{background:linear-gradient(145deg,#34495e,#2c3e50);border:2px solid #1a252f}.hc-piece.king .crown{font-size:14px;font-weight:700;color:gold;text-shadow:0 1px 2px rgba(0,0,0,.5)}.hc-game .game-sidebar{width:200px;display:flex;flex-direction:column;gap:15px}.hc-game .player-info{background:#16213e;border-radius:12px;padding:15px}.hc-game .player-card{padding:10px;border-radius:8px;background:#1a1a2e;margin-bottom:5px}.hc-game .player-card.active{border:2px solid #4ecca3}.hc-game .player-card.red{border-left:4px solid #e74c3c}.hc-game .player-card.black{border-left:4px solid #34495e}.hc-game .player-card .player-name{display:block;color:#fff;font-weight:700;font-size:.9rem}.hc-game .player-card .piece-count{color:#888;font-size:.8rem}.hc-game .vs-text{text-align:center;color:#888;font-size:.8rem;margin:5px 0}.hc-game .probe-btn{width:100%;padding:12px;border:2px solid #4ecca3;background:transparent;color:#4ecca3;border-radius:8px;cursor:pointer;font-weight:700;transition:all .2s}.hc-game .probe-btn:hover{background:#4ecca31a}.hc-game .probe-btn.active{background:#4ecca3;color:#1a1a2e}.hc-game .multi-jump-notice{background:#f39c12;color:#1a1a2e;padding:10px;border-radius:8px;text-align:center;font-weight:700}.hc-game .probe-notice{background:#16213e;color:#888;padding:10px;border-radius:8px;text-align:center;font-size:.85rem}.hc-game .game-log{background:#16213e;border-radius:12px;padding:15px;flex:1;min-height:150px;overflow:hidden}.hc-game .game-log h4{color:#4ecca3;margin-bottom:10px;font-size:.9rem}.hc-game .log-entries{display:flex;flex-direction:column;gap:5px}.hc-game .log-entry{font-size:.8rem;padding:5px 8px;background:#1a1a2e;border-radius:5px;color:#aaa}.hc-game .log-entry.hole{color:#e74c3c}.hc-game .log-entry.king{color:gold}.hc-game .log-entry.capture{color:#f39c12}.hc-game .log-entry.gameOver{color:#4ecca3;font-weight:700}.hc-game .legend{background:#16213e;border-radius:12px;padding:15px}.hc-game .legend h4{color:#4ecca3;margin-bottom:10px;font-size:.9rem}.hc-game .legend-item{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:.8rem;color:#888}.hc-game .legend-square{width:20px;height:20px;border-radius:4px}.hc-game .legend-square.probed-safe{background:radial-gradient(circle at center,#1a3a2e,#2d5a4d);border:1px solid #4ecca3;display:flex;align-items:center;justify-content:center;color:#4ecca3;font-size:12px}.hc-game .legend-square.probed-safe:after{content:"✓"}.hc-game .legend-square.probed-hole{background:radial-gradient(circle at center,#1a0a0a,#3a1a1a 60%,#5a2d2d);border:1px dashed #8b3333}.hc-game .legend-square.hole-revealed{background:radial-gradient(circle at center,#0a0a0a,#1a0a0a,#2c1a1a);display:flex;align-items:center;justify-content:center;color:#f44;font-size:12px;font-weight:700;border:1px solid #8b0000;text-shadow:0 0 4px rgba(255,0,0,.6)}.hc-game .legend-square.hole-revealed:after{content:"X"}.hc-game.game-over.modern{min-height:100vh;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center}.hc-game.game-over .game-over-content{max-width:400px;text-align:center}.hc-game.game-over .result-icon{font-size:2.5rem;margin-bottom:20px}.hc-game.game-over .result-icon.win{color:#4ecca3}.hc-game.game-over .result-icon.lose{color:#e74c3c}.hc-game.game-over h1{color:#fff;margin-bottom:30px}.hc-game.game-over .final-score{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:30px}.hc-game.game-over .score-box{background:#16213e;padding:15px 25px;border-radius:12px;text-align:center}.hc-game.game-over .score-name{display:block;color:#888;font-size:.9rem;margin-bottom:5px}.hc-game.game-over .score-value{display:block;font-size:2rem;font-weight:700;color:#4ecca3}.hc-game.game-over .score-divider{color:#888;font-size:1.5rem}.hc-game.game-over .game-over-actions{display:flex;flex-direction:column;gap:15px;align-items:center}.hc-game.game-over .waiting-text{color:#888}@media (max-width: 768px){.hc-game .game-content{flex-direction:column;align-items:center}.hc-game .game-sidebar{width:100%;max-width:400px}.hc-square{width:40px;height:40px}.hc-piece{width:30px;height:30px}.hc-piece.king .crown{font-size:12px}.hc-game .legend{display:none}}@media (max-width: 400px){.hc-square{width:35px;height:35px}.hc-piece{width:26px;height:26px}.hc-game .game-header{flex-wrap:wrap;gap:10px}.hc-game .header-center{order:-1;width:100%;text-align:center}}.spoons-lobby.modern{min-height:100vh;padding:20px;max-width:400px;margin:0 auto;display:flex;flex-direction:column}.spoons-lobby .lobby-header{text-align:center;margin-bottom:30px}.spoons-lobby .lobby-header h1{font-size:2.5rem;color:#4ecca3;margin-bottom:8px}.spoons-lobby .lobby-header p{color:#888}.spoons-lobby .lobby-card{background:#16213e;border-radius:16px;padding:25px}.spoons-lobby .lobby-footer{text-align:center;margin-top:30px;color:#888}.spoons-room.modern{min-height:100vh;padding:20px;max-width:500px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.spoons-room h1{color:#4ecca3;margin-bottom:20px;text-align:center}.spoons-room .waiting-hint{color:#888;text-align:center;margin-top:10px;font-size:.9rem}.spoons-game.playing.modern{min-height:100vh;padding:15px;display:flex;flex-direction:column}.spoons-game .game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding:10px 15px;background:#16213e;border-radius:10px}.spoons-game .header-left{display:flex;align-items:center;gap:15px}.spoons-game .room-code-small{display:flex;gap:5px;font-size:.9rem}.spoons-game .room-code-small .code-label{color:#888}.spoons-game .room-code-small .code-value{color:#4ecca3;font-weight:700}.spoons-game .round-display{color:#fff;font-weight:700}.spoons-game .spoons-display{display:flex;align-items:center;gap:8px;background:#1a1a2e;padding:8px 15px;border-radius:20px}.spoons-game .spoon-icon{font-size:1.2rem}.spoons-game .spoon-icon.large{font-size:3rem}.spoons-game .spoon-count{font-size:1.2rem;font-weight:700;color:#4ecca3}.spoons-game .game-error{background:#e74c3c;color:#fff;padding:8px 15px;border-radius:8px;text-align:center;margin-bottom:10px}.spoons-game .players-strip{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px}.spoons-game .player-chip{padding:6px 12px;border-radius:15px;font-size:.85rem;display:flex;align-items:center;gap:4px}.spoons-game .player-chip.active{background:#16213e;color:#fff}.spoons-game .player-chip.eliminated{background:#333;color:#888;text-decoration:line-through}.spoons-game .player-chip.you{border:2px solid #4ecca3}.spoons-game .you-marker{color:#4ecca3}.spoons-game .game-content{flex:1;display:flex;flex-direction:column;align-items:center;gap:20px;max-width:500px;margin:0 auto;width:100%}.spoons-card{width:70px;height:100px;background:#fff;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0000004d;position:relative}.spoons-card.small{width:50px;height:72px}.spoons-card.empty{background:#333;border:2px dashed #555}.spoons-card:hover:not(.disabled):not(.empty){transform:translateY(-5px);box-shadow:0 5px 15px #0006}.spoons-card.selected{transform:translateY(-10px);box-shadow:0 0 20px #4ecca399;border:3px solid #4ecca3}.spoons-card.disabled{opacity:.6;cursor:not-allowed}.spoons-card.swap-target{border:3px dashed #f39c12;animation:swap-pulse .8s infinite;cursor:pointer}.spoons-card.swap-target:hover{transform:translateY(-8px);box-shadow:0 0 25px #f39c1280;border-style:solid}@keyframes swap-pulse{0%,to{border-color:#f39c12}50%{border-color:#e67e22}}.spoons-card .card-rank{font-size:1.5rem;font-weight:700;color:var(--suit-color)}.spoons-card.small .card-rank{font-size:1.1rem}.spoons-card .card-suit{font-size:1.8rem;color:var(--suit-color)}.spoons-card.small .card-suit{font-size:1.3rem}.spoons-game .your-hand-section,.spoons-game .viewed-cards-section{width:100%;background:#16213e;border-radius:16px;padding:20px;text-align:center}.spoons-game .your-hand-section h3,.spoons-game .viewed-cards-section h3{color:#fff;margin-bottom:15px;display:flex;align-items:center;justify-content:center;gap:10px}.spoons-game .four-kind-badge{background:#4ecca3;color:#1a1a2e;padding:4px 10px;border-radius:12px;font-size:.8rem;animation:pulse 1s infinite}.spoons-game .swap-instruction{color:#f39c12;font-size:.95rem;font-weight:700;margin-bottom:10px;animation:text-blink .8s infinite}@keyframes text-blink{0%,to{opacity:1}50%{opacity:.7}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.spoons-game .cards-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.spoons-game .spoons-center{width:100%;padding:20px;text-align:center}.spoons-game .spoons-tray{display:flex;justify-content:center;gap:15px;margin-bottom:10px;flex-wrap:wrap}.spoons-game .spoon-grab-btn{width:80px;height:80px;font-size:3rem;background:#16213e;border:3px solid #333;border-radius:50%;cursor:not-allowed;opacity:.5;transition:all .2s;display:flex;align-items:center;justify-content:center}.spoons-game .spoon-grab-btn.available{opacity:1;border-color:#888}.spoons-game .spoon-grab-btn.grabbable{cursor:pointer;border-color:#4ecca3;animation:spoon-pulse .6s infinite;box-shadow:0 0 20px #4ecca366}.spoons-game .spoon-grab-btn.grabbable:hover{transform:scale(1.15);box-shadow:0 0 30px #4ecca399}.spoons-game .spoon-grab-btn.grabbable:active{transform:scale(.95)}.spoons-game .spoon-grab-btn.taken{opacity:.3;border-color:#222}@keyframes spoon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.spoons-game .spoon-hint{color:#888;font-size:.9rem}.spoons-game .spoon-hint.urgent{color:#4ecca3;font-weight:700;animation:text-pulse .5s infinite}@keyframes text-pulse{0%,to{opacity:1}50%{opacity:.6}}.spoons-game .grabbed-text{color:#4ecca3;font-size:1.1rem;font-weight:700}.spoons-game .new-cards-btn{margin-top:15px;padding:10px 25px;background:transparent;border:2px solid #4ecca3;color:#4ecca3;border-radius:8px;cursor:pointer;font-weight:700;transition:all .2s}.spoons-game .new-cards-btn:hover{background:#4ecca31a}.spoons-game .eliminated-view{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.spoons-game .eliminated-view h2{color:#e74c3c;margin-bottom:10px}.spoons-game .eliminated-view p{color:#888}.spoons-game.round-over.modern{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.spoons-game .round-over-content{text-align:center;max-width:400px}.spoons-game .round-over-content h2{color:#4ecca3;margin-bottom:30px}.spoons-game .winner-display,.spoons-game .eliminated-display{background:#16213e;border-radius:16px;padding:20px;margin-bottom:20px}.spoons-game .winner-label,.spoons-game .eliminated-label{color:#888;font-size:.9rem;margin-bottom:5px}.spoons-game .winner-name{color:#4ecca3;font-size:1.5rem;font-weight:700;margin-bottom:15px}.spoons-game .winner-hand{display:flex;justify-content:center;gap:8px}.spoons-game .eliminated-name{color:#e74c3c;font-size:1.5rem;font-weight:700}.spoons-game .you-eliminated{color:#888;margin-top:10px;font-size:.9rem}.spoons-game .next-round-text{color:#888;margin-top:20px}.spoons-game.game-over.modern{min-height:100vh;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center}.spoons-game.game-over .game-over-content{max-width:400px;text-align:center}.spoons-game.game-over .result-icon{font-size:2.5rem;margin-bottom:20px}.spoons-game.game-over .result-icon.win{color:#4ecca3}.spoons-game.game-over .result-icon.lose{color:#888}.spoons-game.game-over h1{color:#fff;margin-bottom:30px}.spoons-game .final-standings{background:#16213e;border-radius:16px;padding:20px;margin-bottom:30px}.spoons-game .final-standings h3{color:#4ecca3;margin-bottom:15px}.spoons-game .standing-row{display:flex;align-items:center;gap:10px;padding:10px;background:#1a1a2e;border-radius:8px;margin-bottom:8px}.spoons-game .standing-row.winner{background:linear-gradient(135deg,#4ecca3,#3db892);color:#1a1a2e}.spoons-game .standing-rank{width:40px;font-weight:700}.spoons-game .standing-name{flex:1}.spoons-game.game-over .game-over-actions{display:flex;flex-direction:column;gap:15px;align-items:center}.spoons-game.game-over .waiting-text{color:#888}@media (max-width: 480px){.spoons-card{width:60px;height:86px}.spoons-card .card-rank{font-size:1.2rem}.spoons-card .card-suit{font-size:1.4rem}.spoons-game .grab-btn{padding:15px 30px;font-size:1.2rem}}.punchline-lobby.modern{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:20px;max-width:500px;margin:0 auto}.punchline-lobby .lobby-header{text-align:center;margin-bottom:30px}.punchline-lobby .lobby-header h1{font-size:2.5rem;color:#4ecca3;margin-bottom:10px}.punchline-lobby .lobby-header p{color:#888}.punchline-lobby .lobby-card{background:#16213e;padding:30px;border-radius:15px;width:100%}.punchline-lobby .lobby-step{margin-bottom:25px}.punchline-lobby .lobby-step label{display:block;color:#4ecca3;margin-bottom:10px;font-weight:700}.punchline-lobby .name-field,.punchline-lobby .code-field{width:100%;padding:15px;border:2px solid #333;border-radius:10px;background:#1a1a2e;color:#fff;font-size:1.1rem;text-align:center}.punchline-lobby .code-field{font-size:1.5rem;letter-spacing:.3em;text-transform:uppercase}.punchline-lobby .lobby-actions{display:flex;flex-direction:column;gap:15px}.punchline-lobby .lobby-btn{display:flex;align-items:center;padding:15px 20px;border:none;border-radius:10px;cursor:pointer;transition:transform .2s,background .2s}.punchline-lobby .lobby-btn.primary{background:#4ecca3;color:#1a1a2e}.punchline-lobby .lobby-btn.secondary{background:#16213e;border:2px solid #4ecca3;color:#4ecca3}.punchline-lobby .lobby-btn .btn-icon{font-size:1.5rem;margin-right:15px}.punchline-lobby .lobby-btn .btn-text{text-align:left}.punchline-lobby .lobby-btn .btn-text strong{display:block;font-size:1.1rem}.punchline-lobby .lobby-btn .btn-text small{color:inherit;opacity:.8}.punchline-lobby .divider{text-align:center;color:#888;margin:10px 0}.punchline-lobby .lobby-join{text-align:center}.punchline-lobby .lobby-join label{display:block;color:#4ecca3;margin:15px 0 10px}.punchline-lobby .back-btn{background:none;border:none;color:#888;cursor:pointer;margin-bottom:10px}.punchline-lobby .lobby-btn.full{width:100%;justify-content:center;margin-top:15px}.punchline-lobby .lobby-error{color:#e74c3c;text-align:center;margin-top:15px}.punchline-lobby .lobby-footer{margin-top:30px;color:#888}.punchline-room{text-align:center;padding:20px;max-width:600px;margin:0 auto}.punchline-room h1{color:#4ecca3;margin-bottom:30px}.punchline-room .share-code{margin-bottom:30px}.punchline-room .code-display{font-size:3rem;font-weight:700;letter-spacing:.3em;color:#4ecca3;background:#16213e;padding:20px 40px;border-radius:15px;display:inline-block;margin:10px 0}.punchline-room .copy-link-btn{background:#333;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;transition:background .2s}.punchline-room .copy-link-btn.copied{background:#4ecca3;color:#1a1a2e}.punchline-room .players-section{margin-bottom:30px}.punchline-room .players-section h3{color:#4ecca3;margin-bottom:15px}.punchline-room .player-list-horizontal{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.punchline-room .player-tag{background:#16213e;padding:8px 15px;border-radius:20px;display:flex;align-items:center;gap:8px}.punchline-room .host-badge{background:#4ecca3;color:#1a1a2e;padding:2px 8px;border-radius:10px;font-size:.75rem}.punchline-room .host-controls{background:#16213e;padding:25px;border-radius:15px;margin-top:20px}.punchline-room .host-controls h3{color:#4ecca3;margin-bottom:20px}.punchline-room .settings-group{display:flex;flex-direction:column;gap:15px;margin-bottom:25px}.punchline-room .settings-group label{display:flex;justify-content:space-between;align-items:center}.punchline-room .settings-group select{background:#1a1a2e;color:#fff;border:1px solid #333;padding:8px 15px;border-radius:8px}.punchline-room .start-button{background:#4ecca3;color:#1a1a2e;border:none;padding:15px 40px;border-radius:10px;font-size:1.2rem;font-weight:700;cursor:pointer;width:100%}.punchline-room .start-button:disabled{background:#333;color:#888;cursor:not-allowed}.punchline-room .waiting-message{color:#888;margin-top:30px}.punchline-game{padding:15px;max-width:800px;margin:0 auto;min-height:100vh}.punchline-game .game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px}.punchline-game .room-info{display:flex;gap:15px;align-items:center}.punchline-game .room-code{background:#16213e;padding:5px 12px;border-radius:5px;font-weight:700;color:#4ecca3}.punchline-game .round-info{color:#888}.punchline-game .judge-info{display:flex;align-items:center;gap:8px}.punchline-game .judge-label{color:#888}.punchline-game .judge-name{font-weight:700;color:#f39c12}.punchline-game .you-badge{background:#f39c12;color:#1a1a2e;padding:2px 8px;border-radius:10px;font-size:.75rem}.punchline-game .timer{background:#16213e;padding:8px 15px;border-radius:8px;font-weight:700;font-size:1.2rem}.punchline-game .timer.urgent{background:#e74c3c;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.punchline-game .setup-section{text-align:center;margin-bottom:30px}.punchline-game .setup-label{color:#888;margin-bottom:10px;font-size:.9rem}.punchline-game .setup-card{background:beige;color:#1a1a2e;padding:25px 30px;border-radius:12px;font-size:1.3rem;font-weight:500;max-width:600px;margin:0 auto;box-shadow:0 4px 15px #0000004d}.punchline-game .judge-instruction{margin-top:15px;color:#f39c12;font-style:italic}.punchline-game .phase-instruction{text-align:center;color:#4ecca3;font-size:1.1rem;margin-bottom:20px}.punchline-game .hand-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-bottom:25px}.punchline-game .punchline-card{background:#fff;color:#1a1a2e;padding:20px;border-radius:10px;cursor:pointer;transition:transform .2s,box-shadow .2s;min-height:100px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.95rem;line-height:1.4}.punchline-game .punchline-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #0000004d}.punchline-game .punchline-card.selected{border:3px solid #4ecca3;transform:translateY(-5px);box-shadow:0 0 20px #4ecca380}.punchline-game .punchline-card.revealed{cursor:default}.punchline-game .punchline-card.selectable:hover{border:3px solid #f39c12}.punchline-game .punchline-card.winner{border:3px solid #f39c12;background:linear-gradient(135deg,#fff,#ffefc0)}.punchline-game .submit-btn{display:block;margin:0 auto;background:#4ecca3;color:#1a1a2e;border:none;padding:15px 40px;border-radius:10px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background .2s}.punchline-game .submit-btn:hover{background:#3db892}.punchline-game .submit-btn:disabled{background:#333;color:#888;cursor:not-allowed}.punchline-game .punchline-input-section{max-width:500px;margin:0 auto}.punchline-game .punchline-input{width:100%;padding:20px;border:2px solid #333;border-radius:12px;background:#16213e;color:#fff;font-size:1.1rem;resize:none;margin-bottom:15px;font-family:inherit}.punchline-game .punchline-input:focus{outline:none;border-color:#4ecca3}.punchline-game .punchline-input::placeholder{color:#888}.punchline-game .punchline-buttons{display:flex;flex-direction:column;gap:10px}.punchline-game .choose-for-me-btn{background:transparent;color:#888;border:2px solid #444;padding:12px 30px;border-radius:10px;font-size:1rem;cursor:pointer;transition:all .2s}.punchline-game .choose-for-me-btn:hover{border-color:#888;color:#fff}.punchline-game .waiting-state,.punchline-game .judge-waiting{text-align:center;padding:40px}.punchline-game .submission-progress{color:#888;margin-top:10px}.punchline-game .revealed-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-bottom:25px}.punchline-game .reveal-btn{display:block;margin:0 auto;background:#f39c12;color:#1a1a2e;border:none;padding:15px 40px;border-radius:10px;font-size:1.1rem;font-weight:700;cursor:pointer}.punchline-game .round-end-phase,.punchline-game .game-over-phase{text-align:center;padding:20px}.punchline-game .winner-announcement h2{color:#f39c12;font-size:1.8rem;margin-bottom:20px}.punchline-game .winning-combo{margin-bottom:30px}.punchline-game .setup-mini{background:beige;color:#1a1a2e;padding:15px 20px;border-radius:8px;max-width:400px;margin:0 auto 15px;font-size:1rem}.punchline-game .scores-section{background:#16213e;padding:20px;border-radius:15px;max-width:400px;margin:0 auto 25px}.punchline-game .scores-section h3{color:#4ecca3;margin-bottom:15px}.punchline-game .score-list{display:flex;flex-direction:column;gap:8px}.punchline-game .score-row{display:flex;align-items:center;padding:10px 15px;background:#1a1a2e;border-radius:8px}.punchline-game .score-row.leader{background:linear-gradient(135deg,#1f4a3a,#1a1a2e);border:1px solid #4ecca3}.punchline-game .score-row.winner{background:linear-gradient(135deg,#4a3f1f,#1a1a2e);border:1px solid #f39c12}.punchline-game .score-row .rank{width:35px;color:#888}.punchline-game .score-row .name{flex:1}.punchline-game .score-row .score{font-weight:700;color:#4ecca3;font-size:1.2rem}.punchline-game .next-round-btn,.punchline-game .play-again-btn{background:#4ecca3;color:#1a1a2e;border:none;padding:15px 40px;border-radius:10px;font-size:1.1rem;font-weight:700;cursor:pointer;margin-bottom:15px}.punchline-game .back-button{display:inline-block;color:#888;text-decoration:none;margin-top:10px}.punchline-game .final-winner{margin-bottom:30px}.punchline-game .final-winner h2{color:#f39c12;font-size:2rem}.punchline-game .final-scores{background:#16213e;padding:20px;border-radius:15px;max-width:400px;margin:0 auto 25px}.punchline-game .player-notification{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#16213e;padding:10px 20px;border-radius:20px;z-index:100;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.punchline-game .floating-error{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#e74c3c;padding:10px 20px;border-radius:8px}@media (max-width: 600px){.punchline-game .hand-cards,.punchline-game .revealed-cards{grid-template-columns:1fr}.punchline-game .setup-card{font-size:1.1rem;padding:20px}.punchline-game .punchline-card{min-height:80px}}.top-bar{position:fixed;top:0;left:0;right:0;height:50px;background:#0f1729;border-bottom:1px solid #232d42;display:flex;align-items:center;justify-content:space-between;padding:0 16px;z-index:100}.top-bar-logo{color:#4ecca3;font-weight:600;font-size:16px;text-decoration:none}.top-bar-logo:hover{opacity:.8}.top-bar-signin{background:transparent;border:1px solid #4ecca3;color:#4ecca3;padding:6px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.top-bar-signin:hover{background:#4ecca3;color:#1a1a2e}body:has(.top-bar) .app{padding-top:60px}body:has(.top-bar) .home-new{padding-top:60px;min-height:calc(100vh - 60px)}@media (max-width: 768px){body:has(.top-bar):not(:has(.home-new)) .top-bar{display:none}body:has(.top-bar):not(:has(.home-new)) .app{padding-top:0}}@media (max-height: 500px) and (orientation: landscape){body:has(.top-bar):not(:has(.home-new)) .top-bar{display:none}body:has(.top-bar):not(:has(.home-new)) .app{padding-top:0}}.user-menu-container{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid #333;border-radius:20px;padding:4px 12px 4px 4px;cursor:pointer;color:#eee;transition:background .2s}.user-menu-trigger:hover{background:#4ecca31a}.user-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover}.user-avatar-fallback{width:28px;height:28px;border-radius:50%;background:#4ecca3;color:#1a1a2e;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.user-name{font-size:14px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99}.user-menu-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#16213e;border:1px solid #333;border-radius:8px;min-width:180px;overflow:hidden;z-index:100;box-shadow:0 4px 12px #0000004d}.user-menu-header{padding:12px 16px;border-bottom:1px solid #333;font-size:13px;color:#888;display:flex;align-items:center;gap:8px}.user-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-badge{background:#4ecca3;color:#1a1a2e;font-size:10px;padding:2px 6px;border-radius:4px;font-weight:700;text-transform:uppercase}.user-menu-item{display:block;width:100%;padding:12px 16px;text-align:left;background:transparent;border:none;color:#eee;cursor:pointer;font-size:14px;text-decoration:none;transition:background .2s}.user-menu-item:hover{background:#4ecca31a}.user-menu-item.logout-item{border-top:1px solid #333;color:#e74c3c}.auth-gate-wrapper{display:contents}.auth-gate-signin{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:1000}.auth-gate-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3}.auth-gate-modal{position:relative;background:#16213e;border-radius:12px;padding:30px;text-align:center;max-width:360px;width:90%;z-index:1;box-shadow:0 4px 24px #0006}.auth-gate-modal h3{margin-bottom:12px;color:#4ecca3}.auth-gate-modal p{color:#888;font-size:14px;margin-bottom:24px}.auth-gate-close{position:absolute;top:12px;right:12px;background:transparent;border:none;color:#888;font-size:24px;cursor:pointer;line-height:1}.auth-gate-close:hover{color:#eee}.google-signin-container{display:flex;justify-content:center}.google-signin-error{color:#e74c3c;font-size:14px}.admin-page{max-width:1200px;margin:0 auto;padding:20px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:16px}.admin-header h1{color:#4ecca3;font-size:1.8rem}.admin-loading,.admin-error,.admin-unauthorized{text-align:center;padding:60px 20px}.admin-error{color:#e74c3c}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:30px}.stat-card{background:#16213e;border-radius:10px;padding:20px;text-align:center}.stat-card .stat-value{font-size:2.5rem;font-weight:700;color:#4ecca3}.stat-card .stat-label{color:#888;font-size:14px;margin-top:4px}.admin-section{margin-bottom:30px}.admin-section h2{color:#4ecca3;margin-bottom:16px;font-size:1.3rem}.admin-table-container{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;background:#16213e;border-radius:10px;overflow:hidden}.admin-table th,.admin-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #232d42}.admin-table th{background:#0f1729;color:#4ecca3;font-weight:600;font-size:13px;text-transform:uppercase}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:#4ecca30d}.admin-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.admin-tab{padding:8px 16px;background:transparent;border:1px solid #333;border-radius:6px;color:#888;cursor:pointer;font-size:14px;transition:all .2s}.admin-tab:hover{border-color:#4ecca3;color:#eee}.admin-tab.active{background:#4ecca3;border-color:#4ecca3;color:#1a1a2e;font-weight:600}.admin-pagination{display:flex;justify-content:center;gap:8px;margin-top:16px}.admin-pagination button{padding:8px 16px;background:#16213e;border:1px solid #333;border-radius:6px;color:#eee;cursor:pointer;transition:all .2s}.admin-pagination button:hover:not(:disabled){border-color:#4ecca3}.admin-pagination button:disabled{opacity:.5;cursor:not-allowed}.admin-game-rank{display:flex;align-items:center;gap:12px}.rank-number{font-size:1.2rem;font-weight:700;color:#4ecca3;min-width:28px}.rank-bar{flex:1;height:24px;background:#232d42;border-radius:4px;overflow:hidden}.rank-fill{height:100%;background:linear-gradient(90deg,#4ecca3,#45b393);display:flex;align-items:center;padding-left:8px;font-size:13px;font-weight:500;color:#1a1a2e;min-width:fit-content}.home-header{position:fixed;top:0;right:0;padding:16px 20px;z-index:50}.sort-toggle{display:flex;gap:8px;justify-content:center;margin-bottom:16px}.sort-toggle button{padding:6px 14px;background:transparent;border:1px solid #333;border-radius:6px;color:#888;cursor:pointer;font-size:13px;transition:all .2s}.sort-toggle button:hover{border-color:#4ecca3;color:#eee}.sort-toggle button.active{background:#4ecca333;border-color:#4ecca3;color:#4ecca3}.footer-links{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:12px}.footer-link{color:#888;text-decoration:none;font-size:14px;background:none;border:none;cursor:pointer;padding:0;transition:color .2s}.footer-link:hover{color:#4ecca3}.footer-divider{color:#444}.coffee-link:before{content:"";margin-right:4px}.feedback-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.feedback-modal{background:#16213e;border-radius:12px;padding:24px;width:100%;max-width:420px;position:relative;box-shadow:0 4px 24px #0006}.feedback-close{position:absolute;top:12px;right:12px;background:transparent;border:none;color:#888;font-size:24px;cursor:pointer;line-height:1;padding:4px}.feedback-close:hover{color:#eee}.feedback-modal h3{margin:0 0 4px;color:#4ecca3;font-size:1.3rem}.feedback-subtitle{color:#888;font-size:14px;margin:0 0 20px}.feedback-type-selector{display:flex;gap:8px;margin-bottom:16px}.feedback-type{flex:1;padding:10px 12px;background:transparent;border:1px solid #333;border-radius:6px;color:#888;cursor:pointer;font-size:13px;transition:all .2s}.feedback-type:hover{border-color:#4ecca3;color:#eee}.feedback-type.active{background:#4ecca333;border-color:#4ecca3;color:#4ecca3}.feedback-message{width:100%;padding:12px;background:#0f1729;border:1px solid #333;border-radius:8px;color:#eee;font-size:14px;font-family:inherit;resize:vertical;min-height:120px;margin-bottom:12px}.feedback-message:focus{outline:none;border-color:#4ecca3}.feedback-message::placeholder{color:#888}.feedback-email{width:100%;padding:12px;background:#0f1729;border:1px solid #333;border-radius:8px;color:#eee;font-size:14px;margin-bottom:16px}.feedback-email:focus{outline:none;border-color:#4ecca3}.feedback-email::placeholder{color:#888}.feedback-error{color:#e74c3c;font-size:14px;margin-bottom:12px}.feedback-btn{width:100%;padding:12px 20px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.feedback-btn.primary{background:#4ecca3;color:#1a1a2e}.feedback-btn.primary:hover:not(:disabled){background:#3db892}.feedback-btn.primary:disabled{opacity:.5;cursor:not-allowed}.feedback-success{text-align:center;padding:20px 0}.feedback-success h3{margin-bottom:12px}.feedback-success p{color:#888;margin-bottom:24px}.tab-badge{background:#e74c3c;color:#fff;font-size:11px;font-weight:700;padding:2px 6px;border-radius:10px;margin-left:6px}.feedback-list{display:flex;flex-direction:column;gap:12px}.feedback-item{background:#16213e;border-radius:8px;padding:16px;border-left:3px solid #333}.feedback-item.unread{border-left-color:#4ecca3;background:#1a2744}.feedback-item-header{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}.feedback-type-badge{font-size:11px;font-weight:700;text-transform:uppercase;padding:3px 8px;border-radius:4px}.feedback-type-badge.bug{background:#e74c3c;color:#fff}.feedback-type-badge.suggestion{background:#3498db;color:#fff}.feedback-type-badge.other{background:#888;color:#fff}.feedback-date{color:#888;font-size:13px}.feedback-mark-read{margin-left:auto;background:transparent;border:1px solid #4ecca3;color:#4ecca3;padding:4px 10px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.feedback-mark-read:hover{background:#4ecca3;color:#1a1a2e}.feedback-message-text{color:#eee;line-height:1.5;white-space:pre-wrap;margin:0}.feedback-email-text{color:#888;font-size:13px;margin:10px 0 0}.feedback-email-text a{color:#4ecca3}.blackjack-game{min-height:100vh;background:#1a1a2e}.blackjack-game.lobby{padding:20px;max-width:400px;margin:0 auto}.blackjack-game.lobby .back-link{color:#888;text-decoration:none;display:inline-block;margin-bottom:20px}.blackjack-game.lobby .lobby-card{background:#16213e;border-radius:16px;padding:30px;text-align:center}.blackjack-game.lobby h1{color:#4ecca3;margin-bottom:5px}.blackjack-game.lobby .player-count{color:#888;margin-bottom:20px}.blackjack-game.lobby .rules-section{text-align:left;margin-bottom:20px}.blackjack-game.lobby .rules-section summary{color:#4ecca3;cursor:pointer;padding:10px}.blackjack-game.lobby .rules-section ul{padding:10px 20px;color:#aaa;font-size:.9rem}.blackjack-game.lobby .rules-section li{margin-bottom:8px}.blackjack-game.lobby .name-input,.blackjack-game.lobby .code-input{width:100%;padding:12px 15px;border:2px solid #333;border-radius:8px;background:#1a1a2e;color:#fff;font-size:1rem;margin-bottom:15px}.blackjack-game.lobby .code-input{width:100px;text-align:center;letter-spacing:4px;text-transform:uppercase}.blackjack-game.lobby .chips-setting{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:20px;color:#888}.blackjack-game.lobby .chips-setting select{padding:8px 12px;border:2px solid #333;border-radius:6px;background:#1a1a2e;color:#fff}.blackjack-game.lobby .lobby-btn{padding:14px 30px;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s}.blackjack-game.lobby .lobby-btn.primary{width:100%;background:#4ecca3;color:#1a1a2e}.blackjack-game.lobby .lobby-btn.secondary{background:#333;color:#fff}.blackjack-game.lobby .lobby-divider{color:#666;margin:20px 0;position:relative}.blackjack-game.lobby .join-inline{display:flex;gap:10px;align-items:center;justify-content:center}.blackjack-game.lobby .back-text-btn{background:none;border:none;color:#888;cursor:pointer;margin-top:15px}.blackjack-game.lobby .error-msg{color:#e74c3c;margin-top:15px}.blackjack-game.room{padding:20px;max-width:500px;margin:0 auto}.blackjack-game.room .room-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.blackjack-game.room .back-link{color:#888;text-decoration:none}.blackjack-game.room .room-code-display{text-align:center}.blackjack-game.room .code-label{display:block;color:#888;font-size:.8rem}.blackjack-game.room .code{font-size:2rem;font-weight:700;color:#4ecca3;letter-spacing:4px}.blackjack-game.room .share-btn{padding:8px 16px;background:#333;border:none;border-radius:6px;color:#fff;cursor:pointer}.blackjack-game.room .room-content{background:#16213e;border-radius:16px;padding:30px;text-align:center}.blackjack-game.room h2{color:#fff;margin-bottom:10px}.blackjack-game.room .chips-info{color:#4ecca3;margin-bottom:20px}.blackjack-game.room .players-list{margin-bottom:20px}.blackjack-game.room .player-item{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px;background:#1a1a2e;border-radius:8px;margin-bottom:8px}.blackjack-game.room .badge{padding:2px 8px;border-radius:4px;font-size:.75rem;text-transform:uppercase}.blackjack-game.room .badge.host{background:#4ecca3;color:#1a1a2e}.blackjack-game.room .badge.bot{background:#666;color:#fff}.blackjack-game.room .remove-bot{background:#e74c3c;border:none;color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;margin-left:auto}.blackjack-game.room .host-controls{display:flex;flex-direction:column;gap:10px}.blackjack-game.room .add-bot-btn{padding:10px 20px;background:#333;border:none;border-radius:8px;color:#fff;cursor:pointer}.blackjack-game.room .start-btn{padding:14px 30px;background:#4ecca3;border:none;border-radius:8px;color:#1a1a2e;font-size:1.1rem;font-weight:700;cursor:pointer}.blackjack-game.room .start-btn:disabled{opacity:.5;cursor:not-allowed}.blackjack-game.room .waiting-msg{color:#888;font-style:italic}.blackjack-game.playing{height:100vh;overflow:hidden;display:flex;flex-direction:column}.blackjack-game.playing .landscape-prompt{display:none}.bj-table{flex:1;background:radial-gradient(ellipse at 50% 0%,#1b5e20,#0d3d12,#0a2e0d);position:relative;display:flex;flex-direction:column;padding:10px}.bj-table:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.05;pointer-events:none}.bj-table:after{content:"";position:absolute;top:5px;left:5px;right:5px;bottom:5px;border:3px solid rgba(218,165,32,.4);border-radius:50% 50% 10px 10px/30% 30% 10px 10px;pointer-events:none}.bj-top-row{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 15px;color:#fff;position:relative;z-index:10}.bj-top-row .header-left{display:flex;flex-direction:column;gap:5px;min-width:80px}.bj-top-row .header-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:80px}.bj-top-row .round-info{font-size:.75rem;color:#fff9}.bj-top-row .room-code-small{background:#0000004d;padding:4px 10px;border-radius:4px;font-weight:700;letter-spacing:2px;font-size:.85rem}.bj-top-row .my-chips{background:linear-gradient(135deg,gold,#b8860b);color:#000;padding:4px 12px;border-radius:15px;font-weight:700;font-size:.85rem}.bj-top-row .action-controls{display:flex;gap:5px;background:none;padding:0}.bj-top-row .action-btn{padding:6px 10px;font-size:.75rem}.bj-top-row .waiting-turn,.bj-top-row .waiting-bets{background:#0006;padding:5px 10px;border-radius:6px;font-size:.75rem}.dealer-area{text-align:center;flex:1}.dealer-label{color:#fff9;font-size:.7rem;text-transform:uppercase;letter-spacing:2px;margin-bottom:5px}.dealer-cards{display:flex;justify-content:center}.dealer-cards .playing-card{margin:0 -10px}.dealer-value{margin-top:-3px;font-size:.85rem;font-weight:700;color:#fff}.players-area{flex:1;display:flex;justify-content:space-evenly;align-items:flex-start;gap:30px;padding:20px;position:relative;z-index:10;flex-wrap:wrap;overflow-y:auto}.player-spot{padding:10px;min-width:100px;text-align:center;flex-shrink:0;border-radius:12px;border:2px solid transparent;transition:all .3s;position:relative}.player-spot.active{border-color:gold;background:#ffd7001a;box-shadow:0 0 20px #ffd70066;animation:turnPulse 1.5s ease-in-out infinite}@keyframes turnPulse{0%,to{box-shadow:0 0 15px #ffd70066}50%{box-shadow:0 0 25px #ffd700b3}}.player-spot.active .player-name{color:gold;text-shadow:0 0 10px rgba(255,215,0,.5)}.player-spot.active.me:before{content:"YOUR TURN";position:absolute;top:-12px;left:50%;transform:translate(-50%);background:gold;color:#000;font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:4px;white-space:nowrap}.player-spot.me .player-name{color:#4ecca3}.player-spot.active.me .player-name{color:gold}.player-info{margin-bottom:5px;text-align:center}.player-info .player-name{display:block;color:#fff;font-weight:700;font-size:.85rem;transition:all .3s}.player-info .player-stats{display:block;color:gold;font-size:.75rem}.player-hands{display:flex;flex-direction:column;gap:10px}.player-hand{display:flex;flex-direction:column;align-items:center}.hand-cards{display:flex;justify-content:center}.hand-cards .playing-card{margin:0 -20px}.hand-cards .playing-card:first-child{margin-left:0}.hand-cards .playing-card:last-child{margin-right:0}.hand-value{margin-top:-5px;background:#000000b3;padding:2px 8px;border-radius:6px;color:#fff;font-weight:700;font-size:.75rem;position:relative;z-index:1}.players-1 .playing-card,.players-2 .playing-card{width:90px}.players-1 .hand-cards .playing-card,.players-2 .hand-cards .playing-card{margin:0 -25px}.players-3 .playing-card{width:80px}.players-3 .hand-cards .playing-card{margin:0 -22px}.players-4 .playing-card{width:70px}.players-4 .hand-cards .playing-card{margin:0 -20px}.players-5 .playing-card{width:60px}.players-5 .hand-cards .playing-card{margin:0 -18px}.player-hand.busted .hand-value{background:#e74c3c}.player-hand.blackjack .hand-value{background:gold;color:#000}.betting-controls{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:15px;background:#00000080;padding:15px 20px;text-align:center}.bet-slider{display:flex;align-items:center;gap:15px;margin-bottom:15px}.bet-slider input[type=range]{width:200px;accent-color:#4ecca3}.bet-amount{color:gold;font-size:1.5rem;font-weight:700;min-width:80px}.quick-bets{display:flex;gap:8px;margin-bottom:15px}.quick-bets button{padding:8px 12px;background:#333;border:none;border-radius:6px;color:#fff;cursor:pointer}.quick-bets button:hover{background:#444}.place-bet-btn{padding:12px 40px;background:#4ecca3;border:none;border-radius:8px;color:#1a1a2e;font-size:1.1rem;font-weight:700;cursor:pointer}.waiting-bets{text-align:center;background:#00000080;padding:15px 30px;color:#fff}.action-controls{display:flex;justify-content:center;gap:10px;padding:15px;background:#00000080;z-index:100}.action-btn{padding:15px 25px;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s}.action-btn:disabled{opacity:.4;cursor:not-allowed}.action-btn.hit{background:#4ecca3;color:#1a1a2e}.action-btn.stand{background:#e74c3c;color:#fff}.action-btn.double{background:#f39c12;color:#1a1a2e}.action-btn.split{background:#9b59b6;color:#fff}.waiting-turn{text-align:center;background:#00000080;padding:15px 30px;color:#fff}.insurance-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:200}.insurance-content{background:#16213e;padding:30px;border-radius:16px;text-align:center;max-width:350px}.insurance-content h3{color:#4ecca3;margin-bottom:15px}.insurance-content p{color:#aaa;margin-bottom:20px}.insurance-buttons{display:flex;gap:15px;justify-content:center}.insurance-buttons button{padding:12px 30px;border:none;border-radius:8px;font-weight:700;cursor:pointer}.insurance-buttons button:first-child{background:#4ecca3;color:#1a1a2e}.insurance-buttons button:last-child{background:#333;color:#fff}.blackjack-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:300;animation:fadeIn .2s ease-out}.blackjack-celebration{text-align:center;animation:blackjackPop .4s ease-out}.blackjack-text{display:block;font-size:4rem;font-weight:900;color:gold;text-shadow:0 0 20px rgba(255,215,0,.8),0 0 40px rgba(255,215,0,.5);letter-spacing:4px}.blackjack-subtext{display:block;font-size:6rem;font-weight:900;color:#4ecca3;text-shadow:0 0 20px rgba(78,204,163,.8);margin-top:-10px}@keyframes blackjackPop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.payout-overlay,.round-end-overlay,.game-over-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:150}.payout-results{background:#16213e;padding:30px;border-radius:16px;text-align:center;max-width:400px;width:90%}.payout-results h2{color:#4ecca3;margin-bottom:20px}.payout-item{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:#1a1a2e;border-radius:8px;margin-bottom:8px}.payout-item .name{color:#fff}.payout-item.win .result{color:#4ecca3;font-weight:700}.payout-item.lose .result{color:#e74c3c}.payout-item.push .result{color:#888}.payout-item .eliminated{color:#e74c3c;font-size:.8rem;margin-left:10px}.dealer-result{font-size:1.1rem;color:#aaa;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #333}.my-result{padding:20px;border-radius:12px;text-align:center}.my-result.win{background:#4ecca326;border:2px solid #4ecca3}.my-result.lose{background:#e74c3c26;border:2px solid #e74c3c}.my-result.push{background:#88888826;border:2px solid #888}.result-title{font-size:1.8rem;font-weight:700;margin-bottom:5px}.my-result.win .result-title{color:#4ecca3}.my-result.lose .result-title{color:#e74c3c}.my-result.push .result-title{color:#888}.result-amount{font-size:2rem;font-weight:700;margin-bottom:10px}.my-result.win .result-amount{color:#4ecca3}.my-result.lose .result-amount{color:#e74c3c}.my-result.push .result-amount{color:#888}.result-reason{color:#ccc;font-size:.95rem;margin-top:8px}.insurance-result{color:gold;font-size:.85rem;margin-top:10px}.eliminated-msg{color:#e74c3c;font-size:1rem;font-weight:700;margin-top:15px;padding:8px 15px;background:#e74c3c33;border-radius:6px;display:inline-block}.round-end-overlay h2,.game-over-overlay h1{color:#fff;margin-bottom:20px}.game-over-overlay .winner-display{text-align:center;margin-bottom:30px}.game-over-overlay .crown{font-size:4rem;display:block;margin-bottom:10px}.game-over-overlay h2{color:gold;font-size:2rem}.game-over-overlay .winner-display p{color:#888}.game-over-actions{display:flex;flex-direction:column;gap:15px;align-items:center}.next-round-btn,.play-again-btn{padding:15px 40px;background:#4ecca3;border:none;border-radius:8px;color:#1a1a2e;font-size:1.1rem;font-weight:700;cursor:pointer}.back-btn{color:#888;text-decoration:none}.waiting-host{color:#888;font-style:italic}.blackjack-game .notification{position:fixed;top:20px;left:50%;transform:translate(-50%);padding:12px 25px;border-radius:8px;font-weight:700;z-index:300;animation:slideDown .3s ease}.blackjack-game .notification.joined{background:#4ecca3;color:#1a1a2e}.blackjack-game .notification.left{background:#e74c3c;color:#fff}.blackjack-game .notification.blackjack{background:gold;color:#000}.blackjack-game .notification.bust{background:#e74c3c;color:#fff}.blackjack-game .notification.info{background:#333;color:#fff}.blackjack-game .error-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#e74c3c;color:#fff;padding:12px 25px;border-radius:8px;z-index:300}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}@media (max-width: 768px) and (orientation: portrait){.blackjack-game.playing .landscape-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;position:fixed;top:0;left:0;right:0;bottom:0;background:#1a1a2e;z-index:1000}.blackjack-game.playing .landscape-prompt .rotate-icon{font-size:4rem;animation:rotate 2s ease-in-out infinite;margin-bottom:20px}.blackjack-game.playing .landscape-prompt p{color:#888}@keyframes rotate{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}.blackjack-game.playing .bj-table{display:none}}@media (max-width: 932px) and (orientation: landscape){.bj-card{width:50px;height:72px}.bj-card.small{width:40px;height:58px}.dealer-area{padding:10px}.players-area{gap:20px;padding:10px;justify-content:space-evenly}.player-spot{padding:10px;min-width:90px}.player-info .player-name{font-size:.7rem}.player-info .player-stats{font-size:.65rem}.blackjack-game .playing-card{width:60px}.blackjack-game .playing-card.small{width:50px}.blackjack-game .hand-cards .playing-card{margin:0 -18px}.hand-value{font-size:.7rem;padding:2px 8px;margin-top:4px}.betting-controls{padding:10px;bottom:10px}.bet-slider input[type=range]{width:120px}.bet-amount{font-size:1rem}.action-btn{padding:8px 14px;font-size:.8rem}.action-controls{bottom:10px;gap:6px}.waiting-bets,.waiting-turn{padding:10px 20px;font-size:.85rem}}.join-qr-code{display:flex;flex-direction:column;align-items:center;gap:8px;margin:15px auto;padding:12px;background:#fff;border-radius:8px;width:fit-content}.join-qr-code img{display:block}.join-qr-code .qr-label{font-size:.7rem;color:#333;font-family:inherit}.join-qr-code.large{margin:20px auto;padding:20px;border-radius:12px}.join-qr-code.large .qr-label{font-size:1rem;font-weight:600}.snake-color-dot{width:12px;height:12px;border-radius:2px;display:inline-block;margin-right:6px}
