.scoreboard{position:fixed;top:12px;left:12px;background:#0a0a1eb3;padding:10px 12px;border-radius:16px;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);min-width:170px;max-width:190px;z-index:50}.score-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.game-mode-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:700;letter-spacing:1px}.timer{background:linear-gradient(135deg,#ff6b6b,#ff5252);color:#fff;padding:8px 16px;border-radius:20px;font-size:1.2rem;font-weight:700;min-width:60px;text-align:center}.players{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.player-card{padding:8px 12px;border-radius:12px;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.player-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;opacity:.1;transition:opacity .3s ease}.player-card.player1{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.25)}.player-card.player1:before{background:linear-gradient(135deg,#ff6b6b,#ff5252)}.player-card.player2{background:#4ecdc41a;border:1px solid rgba(78,205,196,.25)}.player-card.player2:before{background:linear-gradient(135deg,#4ecdc4,#44a08d)}.player-card.active{transform:scale(1.02)}.player-card.player1.active{border-color:#ff6b6b80;box-shadow:0 0 20px #ff6b6b26;background:#ff6b6b26}.player-card.player2.active{border-color:#4ecdc480;box-shadow:0 0 20px #4ecdc426;background:#4ecdc426}.player-name{color:#fff;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;display:flex;align-items:center}.player-avatar{margin-right:4px;font-size:1rem}.player-score{color:#fff;font-size:1.8rem;font-weight:700;margin-bottom:4px}.player-captured{color:#ffffffb3;font-size:.7rem}.captured-icon{margin-right:5px}.vs-divider{color:#fff;font-weight:700;font-size:.8rem;opacity:.25;letter-spacing:2px}.target-score-display{text-align:center;color:#ffd700b3;font-size:.75rem;font-weight:600;margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.08)}.xp-bar-container{display:flex;align-items:center;gap:6px;margin-top:6px;padding:4px 8px}.xp-level-badge{font-size:.7rem;font-weight:700;white-space:nowrap}.xp-bar-track{flex:1;height:6px;background:#ffffff14;border-radius:3px;overflow:hidden}.xp-bar-fill{height:100%;background:linear-gradient(90deg,#f1c40f,#e67e22);border-radius:3px;transition:width .6s ease}.xp-label{font-size:.6rem;color:#ffffff73;font-weight:600;white-space:nowrap}.board-control-indicator{text-align:center;color:#4ecdc4;font-size:.7rem;font-weight:700;margin-top:6px;padding:4px 8px;border-radius:8px;background:#4ecdc41a;border:1px solid rgba(78,205,196,.25);animation:controlPulse 2s ease-in-out infinite}@keyframes controlPulse{0%,to{box-shadow:0 0 6px #4ecdc41a}50%{box-shadow:0 0 14px #4ecdc440}}.competitive-timer.blitz{background:#ffa50026;border-color:#ffa50066;color:orange}.blitz-badge{font-size:.6rem;font-weight:800;letter-spacing:1px;padding:1px 5px;border-radius:4px;background:#ffa50033;color:orange}.competitive-timer{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;margin-bottom:8px;border-radius:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);font-weight:700;color:#fffc;font-size:.85rem;transition:all .3s ease}.competitive-timer.urgent{background:#ff6b6b26;border-color:#ff6b6b66;color:#ff6b6b;animation:timerPulse .5s ease-in-out infinite}.timer-icon{font-size:.9rem}.timer-value{font-variant-numeric:tabular-nums;min-width:28px;text-align:center}.player-discs{color:#ffffff80;font-size:.65rem;margin-top:2px}.disc-icon{margin-right:3px}@keyframes timerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05);box-shadow:0 0 15px #ff6b6b4d}}.turn-status{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.turn-indicator-scoreboard{padding:6px 12px;border-radius:10px;font-weight:600;font-size:.8rem;text-align:center;transition:all .3s ease;border:1px solid}.turn-indicator-scoreboard.your-turn{background:#4ecdc41f;color:#4ecdc4;border-color:#4ecdc44d;animation:scorePulse 2s ease-in-out infinite}.turn-indicator-scoreboard.opponent-turn{background:#ff6b6b14;color:#ff6b6bcc;border-color:#ff6b6b33}@keyframes scorePulse{0%,to{box-shadow:0 0 8px #4ecdc426}50%{box-shadow:0 0 20px #4ecdc44d}}@media (max-width: 768px){.scoreboard{top:5px;left:5px;right:5px;min-width:auto;max-width:none;padding:6px 8px}.score-header{margin-bottom:4px;flex-wrap:wrap;gap:4px}.game-mode-badge{padding:4px 8px;font-size:.65rem}.timer{padding:4px 8px;font-size:.9rem;min-width:50px}.players{flex-direction:row;gap:8px;justify-content:space-between;align-items:center}.player-card{padding:6px 8px;flex:1;min-width:0}.player-name{font-size:.6rem;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vs-divider{font-size:.8rem;flex-shrink:0}.player-score{font-size:1.2rem;margin-bottom:2px}.player-captured{font-size:.6rem}.target-score-display{font-size:.6rem;margin-top:4px;padding-top:4px}.competitive-timer{padding:4px 8px;font-size:.75rem;margin-bottom:4px}.turn-status{margin-top:8px;padding-top:8px}.turn-indicator-scoreboard{padding:5px 10px;font-size:.75rem}}.letter-rack{position:fixed;bottom:0;left:0;right:0;background:#0a0a1ed9;padding:6px 10px;padding-bottom:max(6px,env(safe-area-inset-bottom));border-radius:0;box-shadow:0 -8px 32px #00000080;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.06);z-index:100}.rack-header{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:6px;position:relative}.rack-header-left{display:flex;gap:6px;position:absolute;left:0}.rack-header-buttons{display:flex;gap:6px;position:absolute;right:0}.rack-title{color:#fff;text-align:center;margin:0 0 6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px}.rack-letters{display:flex;gap:6px;justify-content:center;align-items:center}.power-up-row{display:flex;gap:8px;justify-content:center;margin-bottom:6px}.power-up-btn{display:flex;align-items:center;gap:4px;padding:4px 12px;border-radius:20px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#fffc;font-size:14px;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none}.power-up-btn:hover:not(.disabled){background:#ffffff26;transform:scale(1.05)}.power-up-btn.disabled{opacity:.35;cursor:not-allowed}.power-up-btn.gravity-lock.active{background:#9b59b666;border-color:#9b59b6;box-shadow:0 0 12px #9b59b699}.power-up-btn.shield.active{background:#3498db66;border-color:#3498db;box-shadow:0 0 12px #3498db99}.power-up-btn.bomb.active{background:#e74c3c66;border-color:#e74c3c;box-shadow:0 0 12px #e74c3c99}.power-up-btn.wildcard.active{background:#f1c40f66;border-color:#f1c40f;box-shadow:0 0 12px #f1c40f99}.power-up-btn.column-bomb.active{background:#ff8c0066;border-color:#ff8c00;box-shadow:0 0 12px #ff8c0099}.power-up-count{font-size:12px;font-weight:700;opacity:.8}.letter-container{display:flex;flex-direction:column;align-items:center;gap:3px}.keep-btn{width:20px;height:20px;font-size:12px;border:1px solid rgba(255,255,255,.3);border-radius:4px;background:#ffffff1a;cursor:pointer;transition:all .2s ease;padding:0;display:flex;align-items:center;justify-content:center}.keep-btn-spacer{width:20px;height:20px;visibility:hidden}.keep-btn:hover{background:#fff3;transform:scale(1.1)}.keep-btn.active{background:linear-gradient(135deg,gold,#ffed4e);border-color:gold;box-shadow:0 0 10px #ffd70080}.letter-tile{width:46px;height:46px;font-size:22px;font-weight:700;border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0006;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;transform-style:preserve-3d}.letter-tile:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.3),transparent);opacity:1;border-radius:50%;pointer-events:none}.letter-tile:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:80%;height:30%;background:radial-gradient(ellipse,rgba(0,0,0,.3),transparent);border-radius:50%;filter:blur(3px)}.letter-tile:hover:before{background:linear-gradient(135deg,rgba(255,255,255,.5),transparent)}.letter-tile.kept{border:3px solid #ffd700;box-shadow:0 0 20px #ffd700cc,0 4px 12px #0006}.letter-tile.player-player1{background:linear-gradient(135deg,#ff6b6b,#ff5252);color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.letter-tile.player-player2{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.letter-tile.blank{background:linear-gradient(135deg,#666,#444);color:#fff;font-size:28px;box-shadow:0 4px 12px #00000080}.letter-tile.selected{transform:scale(1.15) translateY(-6px);box-shadow:0 6px 20px #4ecdc4cc,0 0 30px #4ecdc480;border:3px solid #4ecdc4}.letter-tile:hover{transform:scale(1.08) translateY(-3px);box-shadow:0 6px 16px #00000080}.letter-tile:active{transform:scale(1.02) translateY(-1px)}@keyframes letterFall{0%{transform:translateY(-60px);opacity:0}50%{transform:translateY(5px)}to{transform:translateY(0);opacity:1}}.letter-tile.new-letter{animation:letterFall .5s cubic-bezier(.34,1.56,.64,1)}@media (max-width: 768px){.letter-rack{padding:6px 8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.rack-header{margin-bottom:4px;min-height:28px}.rack-title{font-size:.6rem;margin:0}.letter-tile{width:36px;height:36px;font-size:16px}.rack-letters{gap:4px;padding:2px 0}.keep-btn{width:16px;height:16px;font-size:9px}.letter-container{gap:2px}.power-up-row{gap:4px;margin-bottom:4px}.power-up-btn{padding:3px 8px;font-size:11px;border-radius:14px}.power-up-count{font-size:10px}.rack-help-button{width:26px;height:26px;font-size:13px}.rack-header-left{gap:4px}.rack-header-buttons{gap:3px}}.forfeit-btn:hover{background:#ff505040!important;border-color:#ff505080!important}.undo-btn{transition:opacity .2s}.undo-btn.disabled{opacity:.3;cursor:not-allowed}.undo-btn:not(.disabled):hover{background:#4ecdc440!important;border-color:#4ecdc480!important}.rack-help-button{width:28px;height:28px;border-radius:50%;background:#ffffff0f;color:#ffffff80;border:1px solid rgba(255,255,255,.1);font-size:14px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:none;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rack-help-button:hover{background:#667eea33;border-color:#667eea66;color:#fff;transform:scale(1.1)}.rack-help-button:active{transform:scale(.95)}.forfeit-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.forfeit-dialog{background:#141432f2;border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:24px 32px;text-align:center;box-shadow:0 16px 48px #00000080;max-width:320px}.forfeit-dialog p{color:#fff;font-size:1rem;margin:0 0 20px;font-weight:600}.forfeit-buttons{display:flex;gap:12px;justify-content:center}.forfeit-cancel,.forfeit-confirm{padding:8px 24px;border-radius:10px;font-weight:600;font-size:.85rem;cursor:pointer;border:1px solid;transition:all .2s ease}.forfeit-cancel{background:#ffffff14;border-color:#fff3;color:#fff}.forfeit-cancel:hover{background:#ffffff26}.forfeit-confirm{background:#ff505033;border-color:#ff505080;color:#ff6b6b}.forfeit-confirm:hover{background:#ff505059}.wildcard-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1001;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.wildcard-dialog{background:#141432f7;border:2px solid rgba(241,196,15,.4);border-radius:20px;padding:20px 24px;text-align:center;box-shadow:0 16px 48px #0009,0 0 30px #f1c40f26;max-width:340px;width:90%}.wildcard-dialog h3{color:#f1c40f;margin:0 0 14px;font-size:1.1rem;font-weight:700}.wildcard-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:14px}.wildcard-letter-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:1rem;font-weight:700;padding:8px 0;cursor:pointer;transition:all .15s ease}.wildcard-letter-btn:hover{background:#f1c40f4d;border-color:#f1c40f;transform:scale(1.1);box-shadow:0 0 8px #f1c40f66}.wildcard-cancel{background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#aaa;font-size:.85rem;font-weight:600;padding:8px 24px;cursor:pointer;transition:all .2s ease}.wildcard-cancel:hover{background:#ffffff26;color:#fff}.word-bank{position:fixed;left:12px;width:200px;max-height:calc(100vh - 320px);max-height:calc(100dvh - 320px);background:#0a0a1eb3;border-radius:16px;padding:12px;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);z-index:50;overflow:hidden;display:flex;flex-direction:column}.word-bank-title{color:#4ecdc4cc;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin:0 0 10px;text-align:center;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:6px}.word-bank-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.word-bank-list::-webkit-scrollbar{width:6px}.word-bank-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.word-bank-list::-webkit-scrollbar-thumb{background:#4ecdc480;border-radius:3px}.word-bank-list::-webkit-scrollbar-thumb:hover{background:#4ecdc4b3}.word-bank-item{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#ffffff0d;border-radius:6px;transition:all .2s ease;border-left:3px solid #4ecdc4;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.word-bank-item:hover{background:#ffffff1a;transform:translate(3px)}.word-text{color:#fff;font-weight:700;font-size:.9rem;letter-spacing:.5px}.word-score{color:gold;font-weight:700;font-size:.85rem;background:#ffd70026;padding:2px 8px;border-radius:4px}.word-bank-empty{text-align:center;color:#fff6;font-size:.85rem;padding:20px 10px;font-style:italic}.word-bank-item{cursor:pointer;position:relative}.word-bank-item.expanded{background:#4ecdc41a;border-left-color:gold}.word-def-icon{font-size:.6rem;color:#ffffff4d;background:#ffffff14;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:4px;font-weight:700;transition:all .2s}.word-bank-item:hover .word-def-icon{color:#4ecdc4cc;background:#4ecdc426}.word-definition{padding:6px 10px;background:#4ecdc40f;border-radius:0 0 6px 6px;border-left:3px solid rgba(255,215,0,.4);margin-top:-2px;animation:defSlideIn .2s ease;display:flex;flex-direction:column;gap:2px}@keyframes defSlideIn{0%{opacity:0;max-height:0}to{opacity:1;max-height:80px}}.def-pos{font-size:.6rem;color:#4ecdc4b3;font-style:italic;text-transform:capitalize}.def-text{font-size:.7rem;color:#ffffffb3;line-height:1.3}.def-loading{font-size:.7rem;color:#fff6;font-style:italic}.def-none{font-size:.7rem;color:#ffffff4d;font-style:italic}@media (max-width: 768px){.word-bank{display:none}}.word-feed{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:220px;animation:feedSlideIn .4s cubic-bezier(.16,1,.3,1) forwards}.word-feed.exiting{animation:feedSlideOut .6s ease-in forwards}@keyframes feedSlideIn{0%{opacity:0;transform:translate(-50%,-45%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes feedSlideOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-60%) scale(.7)}}.word-feed-header{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:#ffffffb3;background:#0a0a1e99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:6px 20px;border-radius:20px;border:1px solid rgba(255,255,255,.12)}.word-feed-header.player1{color:#ff9a9a}.word-feed-header.player2{color:#7eddd6}.word-feed-entries{display:flex;flex-direction:column;align-items:center;gap:6px}.word-feed-entry{display:flex;align-items:center;gap:14px;padding:10px 28px;border-radius:16px;background:#0a0a1ebf;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff0d inset;animation:entryPop .5s cubic-bezier(.16,1,.3,1) both}.word-feed-entry.player1{border-color:#ff6b6b4d;box-shadow:0 8px 32px #0006,0 0 30px #ff6b6b26}.word-feed-entry.player2{border-color:#4ecdc44d;box-shadow:0 8px 32px #0006,0 0 30px #4ecdc426}@keyframes entryPop{0%{opacity:0;transform:scale(.5) translateY(20px)}60%{transform:scale(1.08) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}.word-feed-word{font-size:2rem;font-weight:900;letter-spacing:4px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.5)}.word-feed-score{font-size:1.2rem;font-weight:800;color:gold;text-shadow:0 0 12px rgba(255,215,0,.5);white-space:nowrap}.word-feed-total{display:flex;align-items:center;gap:16px;padding:12px 32px;border-radius:16px;background:linear-gradient(135deg,#ffd70026,#ffa5001a);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,215,0,.3);box-shadow:0 8px 32px #0006,0 0 40px #ffd70026;animation:totalReveal .6s cubic-bezier(.16,1,.3,1) both;margin-top:4px}.word-feed-total span:first-child{font-size:1rem;font-weight:800;letter-spacing:3px;color:#ffd700e6;text-transform:uppercase}.word-feed-total-score{font-size:1.8rem;font-weight:900;color:gold;text-shadow:0 0 20px rgba(255,215,0,.6);animation:scoreGlow 1.5s ease-in-out infinite alternate}@keyframes totalReveal{0%{opacity:0;transform:scale(.6) translateY(10px)}70%{transform:scale(1.1) translateY(-3px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes scoreGlow{0%{text-shadow:0 0 10px rgba(255,215,0,.4)}to{text-shadow:0 0 25px rgba(255,215,0,.8),0 0 50px rgba(255,215,0,.3)}}@media (max-width: 768px){.word-feed{min-width:160px}.word-feed-entry{padding:8px 20px;gap:10px}.word-feed-word{font-size:1.4rem;letter-spacing:3px}.word-feed-score{font-size:1rem}.word-feed-total{padding:10px 24px;gap:12px}.word-feed-total-score{font-size:1.4rem}.word-feed-header{font-size:.75rem;padding:5px 16px}}.effect-fire .word-feed-entry{border-color:#ff450080;background:linear-gradient(135deg,#ff450033,#ff8c001a,#0a0a1ebf);box-shadow:0 8px 32px #0006,0 0 40px #ff450040,0 0 80px #ff8c001a;animation:entryPop .5s cubic-bezier(.16,1,.3,1) both,fireFlicker 1.5s ease-in-out infinite alternate}.effect-fire .word-feed-word{background:linear-gradient(90deg,#ff4500,#ff8c00,gold,#ff4500);background-size:300% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:fireShift 2s ease infinite}@keyframes fireFlicker{0%{box-shadow:0 8px 32px #0006,0 0 30px #ff450033}to{box-shadow:0 8px 32px #0006,0 0 50px #ff450059,0 0 80px #ff8c0026}}@keyframes fireShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.effect-ice .word-feed-entry{border-color:#87ceeb80;background:linear-gradient(135deg,#87ceeb26,#c8e6ff14,#0a0a1ebf);box-shadow:0 8px 32px #0006,0 0 40px #87ceeb33,0 0 0 1px #c8e6ff26 inset;animation:entryPop .5s cubic-bezier(.16,1,.3,1) both,iceShimmer 2s ease-in-out infinite alternate}.effect-ice .word-feed-word{background:linear-gradient(90deg,#87ceeb,#e0f4ff,#b0e0ff,#87ceeb);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:iceShift 3s ease infinite;filter:drop-shadow(0 0 6px rgba(135,206,235,.5))}@keyframes iceShimmer{0%{box-shadow:0 8px 32px #0006,0 0 25px #87ceeb26}to{box-shadow:0 8px 32px #0006,0 0 45px #87ceeb4d,0 0 0 1px #c8e6ff40 inset}}@keyframes iceShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.effect-rainbow .word-feed-entry{border-color:#ff64644d;background:linear-gradient(135deg,#ff646414,#ffc83214,#64ff6414,#6464ff14,#0a0a1ebf);box-shadow:0 8px 32px #0006,0 0 35px #ff64c826;animation:entryPop .5s cubic-bezier(.16,1,.3,1) both,rainbowBorder 3s linear infinite}.effect-rainbow .word-feed-word{background:linear-gradient(90deg,#ff6b6b,#ffd93d,#6bff6b,#6bd4ff,#d46bff,#ff6b6b);background-size:400% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:rainbowShift 3s linear infinite}@keyframes rainbowShift{0%{background-position:0% 50%}to{background-position:400% 50%}}@keyframes rainbowBorder{0%{border-color:#ff646466}25%{border-color:#ffd70066}50%{border-color:#64ff6466}75%{border-color:#6464ff66}to{border-color:#ff646466}}.effect-neon .word-feed-entry{border-color:#00ffaa80;background:#0a0a1ed9;box-shadow:0 8px 32px #0006,0 0 20px #00ffaa4d,0 0 60px #00ffaa1a;animation:entryPop .5s cubic-bezier(.16,1,.3,1) both,neonPulse 1.5s ease-in-out infinite alternate}.effect-neon .word-feed-word{color:#0fa;text-shadow:0 0 10px rgba(0,255,170,.8),0 0 30px rgba(0,255,170,.4),0 0 60px rgba(0,255,170,.2)}@keyframes neonPulse{0%{box-shadow:0 8px 32px #0006,0 0 15px #0fa3}to{box-shadow:0 8px 32px #0006,0 0 30px #0fa6,0 0 70px #00ffaa26}}.effect-gold .word-feed-entry{border-color:#ffd70080;background:linear-gradient(135deg,#ffd7001f,#daa52014,#0a0a1ebf);box-shadow:0 8px 32px #0006,0 0 40px #ffd70033;animation:entryPop .5s cubic-bezier(.16,1,.3,1) both,goldGlow 2s ease-in-out infinite alternate}.effect-gold .word-feed-word{background:linear-gradient(90deg,gold,#fff8dc,#daa520,gold);background-size:300% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:goldShift 2.5s ease infinite;filter:drop-shadow(0 0 8px rgba(255,215,0,.5))}@keyframes goldGlow{0%{box-shadow:0 8px 32px #0006,0 0 25px #ffd70026}to{box-shadow:0 8px 32px #0006,0 0 50px #ffd7004d,0 0 80px #daa5201a}}@keyframes goldShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.effect-galaxy .word-feed-entry{border-color:#8a2be266;background:linear-gradient(135deg,#4b008233,#8a2be21a,#19197026,#0a0a1ebf);box-shadow:0 8px 32px #0006,0 0 40px #8a2be233,0 0 80px #4b00821a;animation:entryPop .5s cubic-bezier(.16,1,.3,1) both,galaxyPulse 3s ease-in-out infinite alternate}.effect-galaxy .word-feed-word{background:linear-gradient(90deg,#8a2be2,orchid,#87ceeb,#e6e6fa,#8a2be2);background-size:400% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:galaxyShift 4s ease infinite;filter:drop-shadow(0 0 8px rgba(138,43,226,.6))}@keyframes galaxyPulse{0%{box-shadow:0 8px 32px #0006,0 0 25px #8a2be226}to{box-shadow:0 8px 32px #0006,0 0 50px #8a2be24d,0 0 90px #4b008226}}@keyframes galaxyShift{0%{background-position:0% 50%}to{background-position:400% 50%}}.help-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;overflow-y:auto}.help-modal-content{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:20px;padding:40px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #00000080;border:2px solid rgba(78,205,196,.3)}.help-modal-content::-webkit-scrollbar{width:8px}.help-modal-content::-webkit-scrollbar-track{background:#ffffff1a;border-radius:10px}.help-modal-content::-webkit-scrollbar-thumb{background:#4ecdc480;border-radius:10px}.close-button{position:absolute;top:15px;right:15px;background:none;border:none;color:#ffffffb3;font-size:36px;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.close-button:hover{background:#ffffff1a;color:#fff;transform:rotate(90deg)}.help-title{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:30px;text-align:center}.help-section{margin-bottom:30px}.help-section h2{color:#4ecdc4;font-size:1.5rem;margin-bottom:15px;display:flex;align-items:center;gap:10px}.help-section h3{color:#ff6b6b;font-size:1.2rem;margin-bottom:10px}.help-section p,.help-section li{color:#ffffffd9;line-height:1.6;font-size:1rem}.help-section ul,.help-section ol{padding-left:25px;margin:10px 0}.help-section li{margin-bottom:8px}.help-section strong{color:#4ecdc4;font-weight:600}.mechanic{background:#4ecdc41a;padding:15px;border-radius:10px;margin-bottom:15px;border-left:3px solid #4ecdc4}.mechanic:last-child{margin-bottom:0}.start-button{width:100%;background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border:none;padding:15px 40px;font-size:1.2rem;font-weight:700;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 24px #4ecdc466;text-transform:uppercase;letter-spacing:2px;margin-top:20px}.start-button:hover{transform:translateY(-2px);box-shadow:0 12px 32px #4ecdc499}.start-button:active{transform:translateY(0)}@media (max-width: 768px){.help-modal-content{padding:30px 20px}.help-title{font-size:2rem}.help-section h2{font-size:1.3rem}.help-section p,.help-section li{font-size:.95rem}}.auth-section{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}.auth-heading{color:#4ecdc4;margin:0 0 4px;font-size:1.2rem;font-weight:700}.auth-note{color:#fff6;font-size:.8rem;margin:0}.auth-btn{width:100%;padding:12px 18px;font-size:.95rem;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .25s ease;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:10px}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.google-btn{background:#fff;color:#3c4043;border:1px solid #dadce0}.google-btn:hover:not(:disabled){background:#f7f8f8;box-shadow:0 2px 8px #00000026}.google-icon{flex-shrink:0}.auth-skip-btn{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}.auth-skip-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #4ecdc44d}.auth-divider{width:100%;display:flex;align-items:center;gap:12px;color:#ffffff4d;font-size:.75rem;text-transform:uppercase;letter-spacing:1px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.auth-form{width:100%;display:flex;flex-direction:column;gap:10px}.auth-input{width:100%;padding:12px 16px;font-size:.95rem;border:2px solid rgba(78,205,196,.2);border-radius:12px;background:#ffffff0d;color:#fff;transition:all .25s ease;font-family:inherit;box-sizing:border-box}.auth-input:focus{outline:none;border-color:#4ecdc4;background:#ffffff14;box-shadow:0 0 20px #4ecdc41a}.auth-input::placeholder{color:#ffffff4d}.auth-submit-btn{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;margin-top:2px}.auth-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #4ecdc44d}.auth-error{color:#ff6b6b;font-size:.8rem;text-align:center;padding:6px;background:#ff6b6b14;border-radius:8px;border:1px solid rgba(255,107,107,.15)}.auth-success{color:#4ecdc4;font-size:.8rem;text-align:center;padding:6px;background:#4ecdc414;border-radius:8px;border:1px solid rgba(78,205,196,.15)}.auth-link{background:none;border:none;color:#4ecdc4;font-size:.8rem;cursor:pointer;padding:0;font-family:inherit;text-decoration:underline;text-underline-offset:2px}.auth-link:hover{color:#6ee7de}.auth-toggle{color:#ffffff80;font-size:.8rem;margin-top:2px}@media (max-height: 650px){.auth-heading{font-size:1rem;margin-bottom:0}.auth-btn,.auth-input{padding:10px 14px;font-size:.85rem}.auth-divider{margin:-2px 0}}.lobby-overlay{position:fixed;top:0;left:0;width:100%;height:100%;height:100dvh;background:linear-gradient(135deg,#0a0a1a,#1a0a2e,#0f1a3e,#0a2a2e,#0a0a1a);background-size:400% 400%;animation:gradientShift 15s ease infinite;display:flex;flex-direction:column;z-index:3000;overflow:hidden}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.particle-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.lobby-header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:#0a0a1eb3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(78,205,196,.12);flex-shrink:0;animation:headerSlideDown .6s cubic-bezier(.16,1,.3,1);gap:8px;flex-wrap:wrap}@keyframes headerSlideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.header-logo{font-size:1.3rem;font-weight:900;letter-spacing:1px;display:flex;gap:1px}.header-logo-letter{-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:titleGradient 6s ease infinite}.header-logo-lexi{background:linear-gradient(135deg,#667eea,#a78bfa,#c084fc);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-logo-drop{background:linear-gradient(135deg,#4ecdc4,#06b6d4,#22d3ee);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-user{display:flex;align-items:center;gap:10px;flex-shrink:1;min-width:0}.header-username{color:#ffffffb3;font-size:.85rem;font-weight:600;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.lobby-main{position:relative;z-index:1;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 20px;gap:16px}.lobby-hero{text-align:center;display:flex;flex-direction:column;align-items:center;animation:containerSlideIn .8s cubic-bezier(.16,1,.3,1)}@keyframes containerSlideIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.lobby-title-wrapper{position:relative;margin-bottom:0;overflow:visible}.lobby-title{font-size:3rem;font-weight:900;margin:0;letter-spacing:3px;position:relative;z-index:1}.title-letter{display:inline-block;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 20px rgba(102,126,234,.4))}.title-lexi{background:linear-gradient(135deg,#667eea,#a78bfa,#c084fc);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:titleLetterIn .6s cubic-bezier(.16,1,.3,1) both,titleGradient 6s ease infinite}.title-drop{background:linear-gradient(135deg,#4ecdc4,#06b6d4,#22d3ee);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:titleLetterIn .6s cubic-bezier(.16,1,.3,1) both,titleGradient 6s ease infinite,dropBounce 2s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(78,205,196,.5))}@keyframes dropBounce{0%,to{transform:translateY(0)}15%{transform:translateY(3px)}30%{transform:translateY(0)}}@keyframes titleLetterIn{0%{opacity:0;transform:translateY(-30px) rotateX(90deg);filter:drop-shadow(0 0 0px rgba(102,126,234,0))}to{opacity:1;transform:translateY(0) rotateX(0);filter:drop-shadow(0 0 20px rgba(102,126,234,.4))}}@keyframes titleGradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.title-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:130%;height:180%;background:radial-gradient(ellipse at 35% 50%,rgba(102,126,234,.2) 0%,transparent 50%),radial-gradient(ellipse at 65% 50%,rgba(78,205,196,.2) 0%,transparent 50%);pointer-events:none;animation:titleGlowPulse 3s ease-in-out infinite}@keyframes titleGlowPulse{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}.lobby-subtitle{color:#ffffff73;font-size:.8rem;margin-bottom:0;letter-spacing:3px;text-transform:uppercase;font-weight:300;animation:subtitleFadeIn 1s ease .8s both}@keyframes subtitleFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.lobby-version{color:#4ecdc459;font-size:.7rem;font-weight:600;letter-spacing:2px;animation:subtitleFadeIn 1s ease 1s both}.lobby-auth-section{width:100%;max-width:420px;animation:containerSlideIn .8s cubic-bezier(.16,1,.3,1) .2s both}.register-section h2{color:#4ecdc4;margin-bottom:16px;font-size:1.3rem;font-weight:600;text-align:center}.username-input{width:100%;padding:14px 18px;font-size:1rem;border:2px solid rgba(78,205,196,.3);border-radius:14px;background:#ffffff0d;color:#fff;margin-bottom:14px;transition:all .3s ease;font-family:inherit;box-sizing:border-box}.username-input:focus{outline:none;border-color:#4ecdc4;background:#ffffff14;box-shadow:0 0 30px #4ecdc426,0 0 0 4px #4ecdc41a}.username-input::placeholder{color:#ffffff59}.username-input-wrapper{position:relative;width:100%;margin-bottom:6px}.username-input-wrapper .username-input{margin-bottom:0;padding-right:44px}.username-status{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:1.2rem;font-weight:700;pointer-events:none}.username-status.checking{color:#ffffff80;animation:pulse 1s ease-in-out infinite}.username-status.available{color:#4ecdc4}.username-status.taken{color:#ff6b6b}.username-input.input-error{border-color:#ff6b6b}.username-input.input-error:focus{border-color:#ff6b6b;box-shadow:0 0 30px #ff6b6b26,0 0 0 4px #ff6b6b1a}.username-input.input-success{border-color:#4ecdc4}.username-error{color:#ff6b6b;font-size:.85rem;margin:4px 0 10px;text-align:center}.lobby-button:disabled{opacity:.5;cursor:not-allowed}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.lobby-modes-section{width:100%;max-width:680px;display:flex;flex-direction:column;align-items:center;animation:containerSlideIn .8s cubic-bezier(.16,1,.3,1) .15s both}.mode-selection{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%}.mode-button{padding:16px 10px 14px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;gap:3px;position:relative;overflow:hidden;border-radius:16px;transition:all .4s cubic-bezier(.16,1,.3,1);cursor:pointer;color:#fff;font-family:inherit}.mode-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;background:radial-gradient(circle at 50% 0%,rgba(78,205,196,.08) 0%,transparent 70%);opacity:0;transition:opacity .4s}.mode-button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;padding:1px;background:linear-gradient(135deg,transparent 30%,rgba(78,205,196,.3) 50%,transparent 70%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s ease}.mode-button:hover:before,.mode-button:hover:after{opacity:1}.mode-button:hover{background:#ffffff0f;border-color:#4ecdc44d;transform:translateY(-3px);box-shadow:0 8px 25px #4ecdc426}.mode-button.online:hover{border-color:#667eea4d;box-shadow:0 12px 35px #667eea26}.mode-icon{font-size:1.8rem;filter:drop-shadow(0 4px 10px rgba(0,0,0,.3));line-height:1}.mode-title{font-size:.9rem;font-weight:700;color:#fff;text-transform:none}.mode-description{font-size:.65rem;color:#fff6;text-transform:none;font-weight:400;line-height:1.3;text-align:center;max-width:160px}.lobby-button{padding:12px 30px;font-size:1rem;font-weight:600;border:none;border-radius:14px;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);text-transform:uppercase;letter-spacing:1.5px;position:relative;overflow:hidden;font-family:inherit}.lobby-button.primary{width:100%;background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;box-shadow:0 8px 25px #4ecdc459}.lobby-button.primary:hover{transform:translateY(-2px);box-shadow:0 12px 35px #4ecdc480}.lobby-button.primary:active{transform:translateY(-1px)}.lobby-icon-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;width:36px;height:36px;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.lobby-icon-btn:hover{background:#4ecdc41f;border-color:#4ecdc44d}.signout-btn:hover{background:#ff6b6b1f;border-color:#ff6b6b4d}.lobby-coins{display:flex;align-items:center;gap:4px;background:#ffd70014;border:1px solid rgba(255,215,0,.2);border-radius:10px;padding:4px 10px;font-size:.8rem;font-weight:700;color:gold}.lobby-level{font-size:.75rem;font-weight:700;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:4px 10px;white-space:nowrap}.match-setup{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:460px}.back-button{align-self:flex-start;background:none;border:none;color:#fff9;font-size:.85rem;cursor:pointer;padding:2px 6px;transition:color .2s}.back-button:hover{color:#4ecdc4}.setup-title{font-size:1.2rem;font-weight:700;color:#ffffffe6;margin:0}.difficulty-selection{width:100%;text-align:center}.difficulty-selection .target-btn{width:auto;padding:0 12px;font-size:.85rem;font-weight:700;white-space:nowrap}.match-mode-selection{display:flex;gap:10px;width:100%}.match-mode-btn{flex:1;background:#ffffff0a;border:2px solid rgba(255,255,255,.1);border-radius:14px;padding:10px;cursor:pointer;transition:all .3s ease;text-align:center;color:#ffffffb3}.match-mode-btn:hover{border-color:#4ecdc44d;background:#4ecdc40f}.match-mode-btn.active{border-color:#4ecdc4;background:#4ecdc41f;color:#fff;box-shadow:0 0 20px #4ecdc426}.match-mode-icon{font-size:1.2rem;margin-bottom:2px}.match-mode-label{font-size:.9rem;font-weight:700;margin-bottom:2px}.match-mode-desc{font-size:.65rem;opacity:.6}.target-score-selection{width:100%;text-align:center}.target-label{font-size:.75rem;color:#ffffff80;text-transform:uppercase;letter-spacing:2px;margin-bottom:6px;font-weight:600}.target-options{display:flex;gap:8px;justify-content:center}.target-btn{width:48px;height:38px;border-radius:10px;background:#ffffff0a;border:2px solid rgba(255,255,255,.1);color:#ffffffb3;font-size:.95rem;font-weight:800;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.target-btn:hover{border-color:#ffd7004d;background:#ffd7000f}.target-btn.active{border-color:gold;background:#ffd7001f;color:gold;box-shadow:0 0 15px #ffd70026}.start-game-btn{width:100%;margin-top:4px;font-size:1rem;padding:12px}.searching-section{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:8px}.searching-status{display:flex;align-items:center;gap:10px;color:#ffffffb3;font-size:.9rem}.searching-spinner{width:26px;height:26px;border:3px solid rgba(255,255,255,.15);border-top-color:#4ecdc4;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.cancel-button{background:#ff6b6b1a;color:#ff6b6b;border:1px solid rgba(255,107,107,.3)}.cancel-button:hover{background:#ff6b6b33;border-color:#ff6b6b;transform:translateY(-2px)}.lobby-footer-bar{position:relative;z-index:2;flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 20px;background:#0a0a1e80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.06)}.lobby-footer-tutorial-btn{background:none;border:1px solid rgba(78,205,196,.3);color:#4ecdc4cc;padding:4px 14px;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:600;font-family:inherit;transition:all .2s}.lobby-footer-tutorial-btn:hover{background:#4ecdc41a;border-color:#4ecdc480;color:#4ecdc4}.lobby-footer-divider{color:#ffffff26;font-size:.9rem}.lobby-footer-hint{color:#ffffff4d;font-size:.75rem}.lobby-footer-hint strong{color:#4ecdc499;font-size:.85rem}@media (max-width: 768px){.lobby-header{padding:8px 10px;gap:6px}.header-logo{font-size:1rem}.header-username{display:none}.header-actions{gap:3px}.lobby-icon-btn{width:30px;height:30px;font-size:.85rem;border-radius:8px}.lobby-coins{padding:2px 6px;font-size:.7rem}.lobby-level{font-size:.65rem;padding:2px 6px}.lobby-main{padding:12px 14px 8px;gap:14px;overflow-y:auto}.lobby-title{font-size:2.8rem;letter-spacing:2px}.lobby-subtitle{font-size:.7rem;letter-spacing:2px}.mode-selection{grid-template-columns:repeat(2,1fr);gap:10px}.mode-button{padding:14px 10px 12px;gap:3px;border-radius:14px}.mode-icon{font-size:1.6rem}.mode-title{font-size:.85rem}.mode-description{font-size:.6rem;max-width:140px}.match-mode-selection{gap:8px}.match-mode-btn{padding:8px}.target-btn{width:42px;height:34px;font-size:.85rem}.lobby-button{padding:10px 24px;font-size:.95rem}.start-game-btn{padding:10px;font-size:.95rem}.lobby-footer-bar{padding:8px 14px}}@media (max-width: 380px){.lobby-title{font-size:2.2rem}.mode-selection{grid-template-columns:1fr 1fr;gap:8px}.mode-button{padding:12px 6px 10px}.mode-icon{font-size:1.5rem}.mode-title{font-size:.8rem}.mode-description{display:none}}@media (max-height: 600px){.lobby-main{padding:8px 14px 6px;gap:10px;justify-content:flex-start}.lobby-hero{gap:0}.lobby-title{font-size:2rem}.lobby-subtitle{font-size:.6rem;margin-bottom:0}.lobby-version{font-size:.6rem}.title-glow{display:none}.mode-button{padding:10px 6px 8px}.mode-icon{font-size:1.4rem}.mode-title{font-size:.8rem}.mode-description{display:none}.match-setup{gap:6px}.setup-title{font-size:1rem}.match-mode-btn{padding:6px;border-radius:10px}.match-mode-icon{font-size:1rem}.match-mode-label{font-size:.8rem}.match-mode-desc{display:none}.target-label{font-size:.65rem;margin-bottom:4px}.target-btn{width:38px;height:30px;font-size:.8rem;border-radius:8px}.start-game-btn{padding:8px;font-size:.9rem}.lobby-footer-bar{display:none}.register-section h2{font-size:1.1rem;margin-bottom:10px}.username-input{padding:10px 14px;font-size:.9rem;margin-bottom:10px}}@media (min-width: 1200px){.lobby-title{font-size:3.5rem;letter-spacing:4px}.lobby-subtitle{font-size:.9rem;letter-spacing:5px}.lobby-modes-section{max-width:750px}.mode-selection{gap:14px}.mode-button{padding:20px 14px 16px;border-radius:18px}.mode-icon{font-size:2.2rem}.mode-title{font-size:1rem}.mode-description{font-size:.72rem}}.chat-container{display:flex;flex-direction:column;width:320px;height:500px;background:linear-gradient(135deg,#1a1a2ef2,#16213ef2);border-radius:16px;box-shadow:0 8px 32px #0006;overflow:hidden;border:2px solid rgba(78,205,196,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chat-header{background:linear-gradient(135deg,#667eea4d,#764ba24d);color:#fff;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid rgba(78,205,196,.3)}.chat-header h3{margin:0;font-size:18px;font-weight:600;background:linear-gradient(135deg,#4ecdc4,#44a08d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.chat-minimize-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#fff;width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s}.chat-minimize-button:hover{background:#ff6b6b4d;border-color:#ff6b6b;transform:scale(1.1)}.chat-minimize-button:active{transform:scale(.95)}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:#0003}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#0000000d}.chat-messages::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#0000004d}.chat-message{display:flex;flex-direction:column;max-width:80%;animation:messageSlideIn .2s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message.local{align-self:flex-end}.chat-message.remote{align-self:flex-start}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;gap:8px}.message-sender{font-size:12px;font-weight:600;color:#ffffffb3}.message-time{font-size:10px;color:#fff6}.message-content{padding:10px 14px;border-radius:12px;word-wrap:break-word;line-height:1.4;font-size:14px}.chat-message.local .message-content{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 8px #4ecdc44d}.chat-message.remote .message-content{background:#667eea33;color:#fff;border:1px solid rgba(102,126,234,.4);border-bottom-left-radius:4px}.chat-input-form{display:flex;padding:12px;background:#0003;border-top:1px solid rgba(78,205,196,.3);gap:8px}.chat-input{flex:1;padding:10px 14px;border:2px solid rgba(78,205,196,.3);border-radius:20px;font-size:14px;outline:none;transition:border-color .2s;background:#ffffff0d;color:#fff}.chat-input::placeholder{color:#fff6}.chat-input:focus{border-color:#4ecdc4;background:#ffffff14}.chat-send-button{padding:10px 20px;background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border:none;border-radius:20px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .1s,opacity .2s;box-shadow:0 4px 12px #4ecdc44d}.chat-send-button:hover:not(:disabled){transform:scale(1.05)}.chat-send-button:active:not(:disabled){transform:scale(.95)}.chat-send-button:disabled{opacity:.5;cursor:not-allowed}.emote-trigger{position:fixed;bottom:20px;left:20px;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid rgba(255,255,255,.2);font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #667eea66;transition:transform .2s,opacity .2s;z-index:100}.emote-trigger:hover{transform:scale(1.1)}.emote-trigger.emote-cooldown{opacity:.5;cursor:not-allowed}.emote-picker{position:fixed;bottom:78px;left:20px;display:flex;gap:6px;padding:8px 10px;background:#141428f2;border-radius:16px;border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 32px #00000080;animation:emotePickerIn .2s ease-out;z-index:101}@keyframes emotePickerIn{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.emote-option{width:44px;height:44px;border-radius:12px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .15s}.emote-option:hover:not(:disabled){background:#fff3;transform:scale(1.15)}.emote-option:disabled{opacity:.4;cursor:not-allowed}.emote-float{position:fixed;z-index:200;pointer-events:none;animation:emoteFloatUp 2.5s ease-out forwards}.emote-float-received{top:120px;right:60px}.emote-float-sent{bottom:80px;left:40px}.emote-float-emoji{font-size:48px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.4))}@keyframes emoteFloatUp{0%{opacity:0;transform:scale(.3) translateY(20px)}15%{opacity:1;transform:scale(1.3) translateY(-10px)}30%{transform:scale(1) translateY(-20px)}80%{opacity:1;transform:scale(1) translateY(-60px)}to{opacity:0;transform:scale(.8) translateY(-80px)}}@media (max-width: 768px){.emote-trigger{width:38px;height:38px;font-size:18px;bottom:130px;left:10px}.emote-picker{bottom:175px;left:10px;gap:4px;padding:6px 8px}.emote-option{width:36px;height:36px;font-size:18px}.emote-float-emoji{font-size:40px}}.shop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:4000;animation:shopFadeIn .25s ease}@keyframes shopFadeIn{0%{opacity:0}to{opacity:1}}.shop-modal{background:#0f0f23f2;border:1px solid rgba(78,205,196,.25);border-radius:20px;width:92%;max-width:480px;max-height:85dvh;display:flex;flex-direction:column;overflow:hidden;animation:shopSlideIn .3s cubic-bezier(.16,1,.3,1)}@keyframes shopSlideIn{0%{transform:translateY(30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.shop-header{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.shop-title{font-size:1.3rem;font-weight:800;color:#fff;margin:0;flex:1}.shop-coins{display:flex;align-items:center;gap:6px;background:#ffd7001a;border:1px solid rgba(255,215,0,.3);border-radius:20px;padding:4px 12px;margin-right:12px}.coin-icon{font-size:1rem}.coin-amount{font-size:.95rem;font-weight:700;color:gold}.shop-close{background:none;border:none;color:#ffffff80;font-size:1.6rem;cursor:pointer;padding:0 4px;line-height:1;transition:color .2s}.shop-close:hover{color:#fff}.shop-tabs{display:flex;padding:8px 12px 0;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.shop-tabs::-webkit-scrollbar{display:none}.shop-tab{flex:0 0 auto;background:none;border:none;border-bottom:2px solid transparent;color:#ffffff80;font-size:.78rem;font-weight:600;padding:8px;cursor:pointer;transition:all .2s;white-space:nowrap}.shop-tab:hover{color:#fffc}.shop-tab.active{color:#4ecdc4;border-bottom-color:#4ecdc4}.shop-items{flex:1;overflow-y:auto;padding:12px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;align-content:start}.shop-items::-webkit-scrollbar{width:4px}.shop-items::-webkit-scrollbar-thumb{background:#4ecdc44d;border-radius:2px}.shop-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:8px;transition:all .25s ease}.shop-card:hover{border-color:#4ecdc44d;background:#ffffff0d}.shop-card.equipped{border-color:#4ecdc480;background:#4ecdc414}.skin-preview{display:flex;gap:8px}.skin-disc{width:32px;height:32px;border-radius:50%;border:2px solid rgba(255,255,255,.15)}.theme-preview{width:100%;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}.theme-frame{width:50%;height:24px;border-radius:4px;opacity:.8}.avatar-preview{width:48px;height:48px;display:flex;align-items:center;justify-content:center}.avatar-emoji{font-size:2rem}.effect-preview{width:48px;height:48px;display:flex;align-items:center;justify-content:center}.effect-emoji{font-size:1.8rem}.frame-preview{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.frame-emoji{font-size:1.4rem}.shop-card-info{text-align:center;width:100%}.shop-card-name{font-size:.85rem;font-weight:700;color:#fff}.shop-card-desc{font-size:.65rem;color:#fff6;margin-top:2px}.card-badge{font-size:.7rem;font-weight:700;padding:4px 12px;border-radius:10px;text-transform:uppercase;letter-spacing:1px}.equipped-badge{background:#4ecdc426;color:#4ecdc4;border:1px solid rgba(78,205,196,.3)}.card-btn{font-size:.75rem;font-weight:700;padding:6px 16px;border-radius:10px;border:none;cursor:pointer;transition:all .2s;font-family:inherit}.equip-btn{background:#4ecdc426;color:#4ecdc4;border:1px solid rgba(78,205,196,.3)}.equip-btn:hover{background:#4ecdc440}.buy-btn{background:#ffd7001f;color:gold;border:1px solid rgba(255,215,0,.3)}.buy-btn:hover:not(:disabled){background:#ffd70038}.buy-btn:disabled{opacity:.4;cursor:not-allowed}.powerup-reserve{font-size:.65rem;color:#4ecdc4;font-weight:700;margin-top:2px}@media (max-width: 400px){.shop-items{grid-template-columns:repeat(2,1fr);gap:8px;padding:8px}.shop-card{padding:8px}.shop-tab{font-size:.65rem;padding:6px}}.achievements-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:4000;animation:achFadeIn .25s ease}@keyframes achFadeIn{0%{opacity:0}to{opacity:1}}.achievements-modal{background:#0c0c20f7;border:1px solid rgba(255,215,0,.2);border-radius:20px;width:94%;max-width:520px;max-height:88dvh;display:flex;flex-direction:column;overflow:hidden;animation:achSlideIn .3s cubic-bezier(.16,1,.3,1)}@keyframes achSlideIn{0%{transform:translateY(30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.achievements-header{display:flex;align-items:center;padding:16px 20px 12px;gap:10px}.achievements-title{font-size:1.3rem;font-weight:800;color:#fff;margin:0;flex:1}.achievements-progress-summary{display:flex;align-items:center;gap:8px;background:#ffd7001a;border:1px solid rgba(255,215,0,.25);border-radius:20px;padding:4px 12px}.achievements-count{font-size:.85rem;font-weight:700;color:gold}.achievements-percent{font-size:.75rem;font-weight:600;color:#ffd700b3}.achievements-close{background:#ffffff14;border:none;color:#fff9;font-size:1.2rem;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.achievements-close:hover{background:#ffffff26;color:#fff}.achievements-progress-bar-container{height:4px;background:#ffffff0f;margin:0 20px;border-radius:2px;overflow:hidden}.achievements-progress-bar{height:100%;background:linear-gradient(90deg,gold,#fa0);border-radius:2px;transition:width .5s ease}.achievements-stats{display:flex;gap:4px;padding:12px 20px;justify-content:space-around}.stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-value{font-size:1.15rem;font-weight:800;color:#fff}.stat-label{font-size:.65rem;font-weight:600;color:#fff6;text-transform:uppercase;letter-spacing:.5px}.achievements-tabs{display:flex;gap:4px;padding:0 16px 12px;overflow-x:auto;scrollbar-width:none}.achievements-tabs::-webkit-scrollbar{display:none}.achievements-tab{display:flex;align-items:center;gap:4px;padding:6px 10px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff08;color:#ffffff80;cursor:pointer;font-size:.72rem;font-weight:600;white-space:nowrap;transition:all .2s}.achievements-tab:hover{background:#ffffff0f;color:#fffc}.achievements-tab.active{background:#ffd7001f;border-color:#ffd7004d;color:gold}.tab-icon{font-size:.9rem}.tab-label{font-size:.72rem}.tab-count{font-size:.65rem;opacity:.6}.achievements-grid{flex:1;overflow-y:auto;padding:0 16px 16px;display:flex;flex-direction:column;gap:8px}.achievements-grid::-webkit-scrollbar{width:4px}.achievements-grid::-webkit-scrollbar-track{background:transparent}.achievements-grid::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.achievement-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.06);background:#ffffff05;transition:all .2s}.achievement-card.unlocked{background:#ffd7000f;border-color:#ffd70026}.achievement-card.locked{opacity:.45}.achievement-card.unlocked:hover{background:#ffd7001a;border-color:#ffd70040}.achievement-badge{position:relative;width:48px;height:48px;min-width:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.unlocked .achievement-badge{background:radial-gradient(circle,#ffd70033,#ffd7000d);border:2px solid rgba(255,215,0,.35);box-shadow:0 0 12px #ffd70026}.locked .achievement-badge{background:#ffffff0a;border:2px solid rgba(255,255,255,.08)}.locked .achievement-icon{filter:grayscale(1)}.achievement-check{position:absolute;bottom:-2px;right:-2px;width:18px;height:18px;background:#22c55e;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.55rem;font-weight:900;color:#fff;border:2px solid rgba(12,12,32,.95)}.achievement-info{flex:1;min-width:0}.achievement-name{font-size:.88rem;font-weight:700;color:#fff;margin-bottom:2px}.locked .achievement-name{color:#fff9}.achievement-desc{font-size:.73rem;color:#ffffff73;line-height:1.3}.unlocked .achievement-desc{color:#ffd70099}@media (max-width: 420px){.achievements-modal{width:98%;max-height:92dvh;border-radius:16px}.achievements-header{padding:12px 14px 10px}.achievements-title{font-size:1.1rem}.achievements-stats{padding:10px 14px}.achievements-tabs{padding:0 12px 10px}.achievements-grid{padding:0 12px 12px}.achievement-badge{width:42px;height:42px;min-width:42px;font-size:1.3rem}}.profile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:3500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:profileFadeIn .25s ease-out}@keyframes profileFadeIn{0%{opacity:0}to{opacity:1}}.profile-modal{background:linear-gradient(145deg,#1a1a2e,#16213e);border:1px solid rgba(78,205,196,.3);border-radius:16px;width:90vw;max-width:520px;max-height:85vh;overflow-y:auto;padding:0;box-shadow:0 20px 60px #00000080,0 0 40px #4ecdc41a;animation:profileSlideUp .3s ease-out}@keyframes profileSlideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.profile-modal::-webkit-scrollbar{width:6px}.profile-modal::-webkit-scrollbar-track{background:transparent}.profile-modal::-webkit-scrollbar-thumb{background:#4ecdc44d;border-radius:3px}.profile-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.profile-identity{display:flex;align-items:center;gap:14px}.profile-avatar-large{font-size:48px;width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#4ecdc41a;border-radius:50%;border:2px solid rgba(78,205,196,.3)}.profile-name-area h2{margin:0;color:#fff;font-size:22px}.profile-name-area p{margin:4px 0 0;color:#ffffff80;font-size:13px}.profile-close{background:none;border:none;color:#ffffff80;font-size:22px;cursor:pointer;padding:4px 8px;border-radius:8px;transition:all .2s}.profile-close:hover{color:#fff;background:#ffffff1a}.profile-winrate-section{display:flex;align-items:center;justify-content:center;gap:32px;padding:20px 24px}.winrate-ring{position:relative;width:100px;height:100px}.winrate-ring svg{transform:rotate(-90deg);width:100px;height:100px}.winrate-ring .ring-bg{fill:none;stroke:#ffffff14;stroke-width:8}.winrate-ring .ring-fill{fill:none;stroke:#4ecdc4;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1s ease-out}.winrate-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.winrate-value{font-size:26px;font-weight:700;color:#4ecdc4}.winrate-text{font-size:10px;color:#ffffff80;text-transform:uppercase;letter-spacing:1px}.profile-quick-stats{display:flex;flex-direction:column;gap:8px}.quick-stat{display:flex;align-items:center;gap:8px;font-size:14px;color:#ffffffb3}.quick-stat-icon{font-size:18px;width:24px;text-align:center}.quick-stat-val{color:#fff;font-weight:600;margin-left:auto;min-width:30px;text-align:right}.profile-tabs{display:flex;gap:0;border-bottom:1px solid rgba(255,255,255,.08);padding:0 24px}.profile-tab{flex:1;background:none;border:none;color:#fff6;font-size:13px;padding:12px 4px;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.profile-tab:hover{color:#ffffffb3}.profile-tab.active{color:#4ecdc4;border-bottom-color:#4ecdc4}.profile-tab-content{padding:16px 24px 24px;min-height:200px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:14px;text-align:center}.stat-card-value{font-size:24px;font-weight:700;color:#fff}.stat-card-label{font-size:11px;color:#ffffff73;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.stat-card.highlight{border-color:#4ecdc433;background:#4ecdc40f}.stat-card.highlight .stat-card-value{color:#4ecdc4}.chart-section{margin-top:16px;padding:12px;background:#ffffff08;border-radius:12px;border:1px solid rgba(255,255,255,.06)}.chart-title{font-size:13px;color:#fff9;margin-bottom:10px;font-weight:600}.chart-svg{width:100%;height:auto;display:block}.chart-legend{display:flex;gap:14px;justify-content:center;margin-top:8px;font-size:11px;color:#ffffff80}.legend-item{display:flex;align-items:center;gap:4px}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.bar-chart{display:flex;align-items:flex-end;gap:6px;height:100px;padding:0 4px}.bar-column{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px}.bar-value{font-size:10px;color:#ffffff80;font-weight:600}.bar-fill-container{width:100%;height:70px;display:flex;align-items:flex-end}.bar-fill{width:100%;background:linear-gradient(180deg,#667eea,#4ecdc4);border-radius:4px 4px 0 0;min-height:3px;transition:height .3s ease}.bar-label{font-size:10px;color:#fff6}.ai-stats-section{margin-top:16px}.ai-stats-title{font-size:13px;color:#ffffff80;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.ai-difficulty-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04)}.ai-diff-label{font-size:14px;color:#ffffffb3;min-width:70px}.ai-diff-bar-bg{flex:1;height:8px;background:#ffffff0f;border-radius:4px;overflow:hidden}.ai-diff-bar-fill{height:100%;border-radius:4px;transition:width .8s ease-out}.ai-diff-bar-fill.easy{background:#4ecdc4}.ai-diff-bar-fill.medium{background:gold}.ai-diff-bar-fill.hard{background:#ff6b6b}.ai-diff-record{font-size:13px;color:#ffffff80;min-width:50px;text-align:right}.history-empty{text-align:center;color:#ffffff4d;padding:40px 0;font-size:14px}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;align-items:center;gap:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:10px 14px;transition:background .2s}.history-item:hover{background:#ffffff0f}.history-result-badge{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0}.history-result-badge.win{background:#4ecdc426;color:#4ecdc4;border:1px solid rgba(78,205,196,.3)}.history-result-badge.loss{background:#ff6b6b26;color:#ff6b6b;border:1px solid rgba(255,107,107,.3)}.history-result-badge.draw{background:#ffd70026;color:gold;border:1px solid rgba(255,215,0,.3)}.history-details{flex:1;min-width:0}.history-opponent{font-size:14px;color:#fff;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-meta{font-size:11px;color:#fff6;margin-top:2px}.history-score{font-size:16px;font-weight:600;color:#fffc;flex-shrink:0}.showcase-section{margin-bottom:20px}.showcase-label{font-size:13px;color:#ffffff80;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.showcase-achievements{display:flex;gap:12px;flex-wrap:wrap}.showcase-achievement{display:flex;align-items:center;gap:8px;background:#ffd7000f;border:1px solid rgba(255,215,0,.15);border-radius:10px;padding:10px 14px}.showcase-achievement-icon{font-size:24px}.showcase-achievement-name{font-size:13px;color:gold;font-weight:500}.showcase-cosmetics{display:flex;gap:12px}.showcase-cosmetic{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:12px 16px;text-align:center}.showcase-cosmetic-emoji{font-size:28px;display:block;margin-bottom:4px}.showcase-cosmetic-label{font-size:11px;color:#fff6}.showcase-cosmetic-name{font-size:12px;color:#ffffffb3;font-weight:500}.showcase-empty{color:#ffffff4d;font-size:13px;font-style:italic}@media (max-width: 500px){.profile-modal{width:95vw;max-height:90vh}.profile-winrate-section{gap:20px}.winrate-ring{width:80px;height:80px}.winrate-ring svg{width:80px;height:80px}.stats-grid{grid-template-columns:1fr 1fr;gap:8px}}.daily-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:3500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:dailyFadeIn .25s ease-out}@keyframes dailyFadeIn{0%{opacity:0}to{opacity:1}}.daily-modal{background:linear-gradient(145deg,#1a1a2e,#16213e);border:1px solid rgba(255,215,0,.25);border-radius:16px;width:90vw;max-width:480px;max-height:85vh;overflow-y:auto;padding:24px;box-shadow:0 20px 60px #00000080,0 0 40px #ffd70014;animation:dailySlideUp .3s ease-out}@keyframes dailySlideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.daily-modal::-webkit-scrollbar{width:6px}.daily-modal::-webkit-scrollbar-track{background:transparent}.daily-modal::-webkit-scrollbar-thumb{background:#ffd7004d;border-radius:3px}.daily-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.daily-title{font-size:22px;font-weight:700;color:#fff;margin:0}.daily-close{background:none;border:none;color:#ffffff80;font-size:22px;cursor:pointer;padding:4px 8px;border-radius:8px;transition:all .2s}.daily-close:hover{color:#fff;background:#ffffff1a}.daily-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.daily-countdown{font-size:13px;color:#ffffff73}.daily-countdown span{color:gold;font-weight:600}.daily-streak{display:flex;align-items:center;gap:6px;font-size:13px;color:#fff9}.daily-streak-value{color:#ff6b6b;font-weight:700;font-size:15px}.daily-streak-bonus{color:gold;font-size:11px}.daily-challenges-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.daily-section-label{font-size:12px;color:#fff6;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:4px}.challenge-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px 16px;display:flex;align-items:center;gap:14px;transition:all .2s}.challenge-card.completed{border-color:#4ecdc44d;background:#4ecdc40f}.challenge-card.claimed{opacity:.5}.challenge-icon{font-size:28px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.challenge-info{flex:1;min-width:0}.challenge-desc{font-size:14px;color:#fff;font-weight:500;margin-bottom:6px}.challenge-progress-bar{height:6px;background:#ffffff14;border-radius:3px;overflow:hidden}.challenge-progress-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#4ecdc4,#44b8b0);transition:width .5s ease-out}.challenge-progress-fill.full{background:linear-gradient(90deg,gold,#f0c040)}.challenge-progress-text{font-size:11px;color:#fff6;margin-top:4px}.challenge-reward{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.challenge-reward-amount{font-size:16px;font-weight:700;color:gold}.challenge-claim-btn{background:linear-gradient(135deg,gold,#f0a030);color:#1a1a2e;border:none;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.5px}.challenge-claim-btn:hover{transform:scale(1.05);box-shadow:0 4px 15px #ffd7004d}.challenge-claimed-check{font-size:20px;color:#4ecdc4}.weekly-card{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid rgba(102,126,234,.25);border-radius:14px;padding:18px}.weekly-card .challenge-progress-fill{background:linear-gradient(90deg,#667eea,#764ba2)}.weekly-card .challenge-progress-fill.full{background:linear-gradient(90deg,gold,#f0c040)}.weekly-label{display:inline-block;background:#667eea33;color:#a8b8ff;font-size:10px;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-weight:600}@media (max-width: 460px){.daily-modal{width:95vw;padding:18px}}.campaign-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:3500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:campaignFadeIn .25s ease-out}@keyframes campaignFadeIn{0%{opacity:0}to{opacity:1}}.campaign-modal{background:linear-gradient(145deg,#1a1a2e,#16213e);border:1px solid rgba(102,126,234,.3);border-radius:16px;width:92vw;max-width:560px;max-height:88vh;overflow-y:auto;padding:24px;box-shadow:0 20px 60px #00000080,0 0 40px #667eea1a;animation:campaignSlideUp .3s ease-out}@keyframes campaignSlideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.campaign-modal::-webkit-scrollbar{width:6px}.campaign-modal::-webkit-scrollbar-track{background:transparent}.campaign-modal::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:3px}.campaign-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.campaign-title{font-size:22px;font-weight:700;color:#fff;margin:0}.campaign-close{background:none;border:none;color:#ffffff80;font-size:22px;cursor:pointer;padding:4px 8px;border-radius:8px;transition:all .2s}.campaign-close:hover{color:#fff;background:#ffffff1a}.campaign-total-stars{font-size:14px;color:#ffffff80;margin-bottom:20px}.campaign-total-stars span{color:gold;font-weight:600}.campaign-worlds{display:flex;gap:8px;margin-bottom:20px}.world-tab{flex:1;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 8px;text-align:center;cursor:pointer;transition:all .2s}.world-tab:hover{background:#ffffff14}.world-tab.active{border-color:var(--world-color, rgba(102, 126, 234, .5));background:color-mix(in srgb,var(--world-color, #667eea) 10%,transparent)}.world-tab-icon{font-size:24px;display:block;margin-bottom:4px}.world-tab-name{font-size:12px;color:#ffffffb3;font-weight:600}.world-tab-progress{font-size:10px;color:#ffffff59;margin-top:2px}.campaign-levels{display:flex;flex-direction:column;gap:10px}.level-card{display:flex;align-items:center;gap:14px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:14px 16px;cursor:pointer;transition:all .2s}.level-card:hover:not(.locked){background:#ffffff12;border-color:#ffffff1f}.level-card.locked{opacity:.45;cursor:not-allowed}.level-card.completed{border-color:#4ecdc433}.level-number{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0;background:#ffffff0f;color:#fff9;border:1px solid rgba(255,255,255,.1)}.level-card.completed .level-number{background:#4ecdc426;color:#4ecdc4;border-color:#4ecdc44d}.level-card.locked .level-number{background:#ffffff08;color:#ffffff4d}.level-info{flex:1;min-width:0}.level-name{font-size:15px;color:#fff;font-weight:600;margin-bottom:3px}.level-desc{font-size:12px;color:#fff6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.level-meta{display:flex;gap:8px;margin-top:5px}.level-tag{font-size:10px;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.level-tag.difficulty-easy{background:#4ecdc426;color:#4ecdc4}.level-tag.difficulty-medium{background:#ffd70026;color:gold}.level-tag.difficulty-hard{background:#ff6b6b26;color:#ff6b6b}.level-tag.special{background:#f093fb26;color:#f093fb}.level-tag.turns{background:#667eea26;color:#a8b8ff}.level-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.level-stars{display:flex;gap:2px;font-size:16px}.level-star{opacity:.2}.level-star.earned{opacity:1}.level-best-score{font-size:11px;color:#ffffff59}.level-lock-icon{font-size:20px;color:#ffffff40}.level-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:3600}.level-detail-card{background:linear-gradient(145deg,#1e1e3a,#1a2040);border:1px solid rgba(102,126,234,.3);border-radius:16px;padding:28px;max-width:380px;width:85vw;text-align:center;animation:campaignSlideUp .25s ease-out}.level-detail-icon{font-size:48px;margin-bottom:8px}.level-detail-name{font-size:22px;font-weight:700;color:#fff;margin:0 0 6px}.level-detail-desc{font-size:14px;color:#fff9;margin-bottom:16px;line-height:1.5}.level-detail-rules{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:18px}.level-detail-stars{margin-bottom:18px}.level-detail-stars-label{font-size:12px;color:#fff6;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.star-thresholds{display:flex;justify-content:center;gap:16px}.star-threshold{display:flex;flex-direction:column;align-items:center;gap:2px}.star-threshold-stars{font-size:14px}.star-threshold-score{font-size:13px;color:#fff9;font-weight:600}.level-detail-best{font-size:13px;color:#fff6;margin-bottom:18px}.level-detail-best span{color:#4ecdc4;font-weight:600}.level-detail-buttons{display:flex;gap:10px;justify-content:center}.level-play-btn{background:linear-gradient(135deg,#4ecdc4,#44b8b0);color:#1a1a2e;border:none;font-size:16px;font-weight:700;padding:12px 32px;border-radius:12px;cursor:pointer;transition:all .2s}.level-play-btn:hover{transform:scale(1.03);box-shadow:0 4px 20px #4ecdc44d}.level-back-btn{background:none;border:1px solid rgba(255,255,255,.15);color:#fff9;font-size:14px;padding:12px 20px;border-radius:12px;cursor:pointer;transition:all .2s}.level-back-btn:hover{border-color:#ffffff4d;color:#fff}@media (max-width: 500px){.campaign-modal{width:95vw;padding:16px}.campaign-worlds{gap:4px}.world-tab{padding:10px 4px}}.puzzle-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:3500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.puzzle-modal{background:linear-gradient(135deg,#0f0f28f7,#19193cf7);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:28px;width:90%;max-width:480px;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 24px 80px #0009}.puzzle-close{position:absolute;top:14px;right:14px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#aaa;font-size:1rem;width:32px;height:32px;cursor:pointer;transition:all .2s}.puzzle-close:hover{background:#ffffff26;color:#fff}.puzzle-title{color:#fff;font-size:1.3rem;font-weight:700;margin:0 0 4px;text-align:center}.puzzle-subtitle{color:#ffffff80;font-size:.8rem;text-align:center;margin:0 0 16px}.puzzle-progress-bar{position:relative;height:20px;background:#ffffff0f;border-radius:10px;overflow:hidden;margin-bottom:16px}.puzzle-progress-fill{height:100%;background:linear-gradient(90deg,#4ecdc4,#44bd56);border-radius:10px;transition:width .5s ease}.puzzle-progress-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5)}.puzzle-tabs{display:flex;gap:6px;margin-bottom:14px}.puzzle-tab{flex:1;padding:8px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:#fff9;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;text-align:center}.puzzle-tab.active{background:#4ecdc426;border-color:#4ecdc466;color:#4ecdc4}.puzzle-tab:hover:not(.active){background:#ffffff14}.puzzle-list{display:flex;flex-direction:column;gap:8px}.puzzle-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 14px;cursor:pointer;transition:all .2s}.puzzle-card:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-1px)}.puzzle-card.completed{border-color:#4ecdc44d;background:#4ecdc40d}.puzzle-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.puzzle-card-name{font-size:.85rem;font-weight:700;color:#fff}.puzzle-card-moves{font-size:.7rem;color:#ffffff80;background:#ffffff0f;padding:2px 8px;border-radius:6px}.puzzle-card-desc{font-size:.75rem;color:#ffffff73;margin-bottom:6px}.puzzle-card-footer{display:flex;justify-content:space-between;align-items:center}.puzzle-card-target{font-size:.72rem;font-weight:600;color:#f1c40f}.puzzle-card-best{font-size:.7rem;color:#4ecdc4;font-weight:600}.tutorial-overlay{position:fixed;top:8px;left:50%;transform:translate(-50%);z-index:1500;pointer-events:none;width:90vw;max-width:340px}.tutorial-bubble{background:linear-gradient(145deg,#1a1a2eee,#16213eee);border:1.5px solid rgba(78,205,196,.45);border-radius:14px;padding:12px 14px 10px;box-shadow:0 8px 30px #00000080,0 0 15px #4ecdc41a;pointer-events:auto;animation:tutBubbleIn .3s ease-out}@keyframes tutBubbleIn{0%{transform:translateY(-12px);opacity:0}to{transform:translateY(0);opacity:1}}.tutorial-bubble-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.tutorial-step-counter{font-size:10px;color:#4ecdc499;text-transform:uppercase;letter-spacing:1.2px;font-weight:600}.tutorial-close-btn{background:none;border:none;color:#ffffff59;font-size:16px;cursor:pointer;padding:0 2px;line-height:1;transition:color .15s}.tutorial-close-btn:hover{color:#ffffffb3}.tutorial-title{font-size:15px;font-weight:700;color:#fff;margin:0 0 4px;line-height:1.2}.tutorial-instruction{font-size:12px;color:#ffffffb8;line-height:1.5;margin:0 0 10px}.tutorial-buttons{display:flex;justify-content:flex-end;align-items:center}.tutorial-waiting-hint{font-size:12px;color:#4ecdc4;font-weight:600;animation:hintPulse 1.6s ease-in-out infinite}@keyframes hintPulse{0%,to{opacity:.7}50%{opacity:1}}.tutorial-next-btn{background:linear-gradient(135deg,#4ecdc4,#44b8b0);color:#1a1a2e;border:none;font-size:13px;font-weight:700;padding:7px 18px;border-radius:8px;cursor:pointer;transition:all .15s}.tutorial-next-btn:hover{transform:scale(1.03);box-shadow:0 3px 10px #4ecdc44d}.tutorial-next-btn:active{transform:scale(.98)}.tutorial-progress{display:flex;justify-content:center;gap:5px;margin-top:8px}.tutorial-dot{width:6px;height:6px;border-radius:50%;background:#ffffff26;transition:all .3s}.tutorial-dot.completed{background:#4ecdc4}.tutorial-dot.current{background:#4ecdc4;box-shadow:0 0 6px #4ecdc480;transform:scale(1.3)}@media (max-width: 500px){.tutorial-overlay{top:4px;width:92vw;max-width:300px}.tutorial-bubble{padding:10px 12px 8px;border-radius:12px}.tutorial-title{font-size:13px;margin-bottom:3px}.tutorial-instruction{font-size:11px;line-height:1.4;margin-bottom:8px}.tutorial-next-btn{font-size:12px;padding:6px 14px}.tutorial-dot{width:5px;height:5px}.tutorial-progress{margin-top:6px;gap:4px}}.achievement-toast-container{position:fixed;top:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.achievement-toast{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#0a0a1ed9;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(255,215,0,.3);border-radius:16px;box-shadow:0 8px 32px #ffd70026,0 0 40px #ffd7000d;animation:achievementSlideIn .5s cubic-bezier(.16,1,.3,1) forwards,achievementFadeOut .5s ease-in 3.5s forwards;min-width:260px;max-width:340px}.achievement-toast-icon{font-size:2rem;flex-shrink:0;animation:achievementBounce .6s ease .3s}.achievement-toast-content{display:flex;flex-direction:column;gap:2px}.achievement-toast-label{font-size:.65rem;text-transform:uppercase;letter-spacing:2px;color:#ffd700cc;font-weight:700}.achievement-toast-name{font-size:1rem;font-weight:800;color:#fff}.achievement-toast-desc{font-size:.75rem;color:#fff9}@keyframes achievementSlideIn{0%{transform:translate(100px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes achievementFadeOut{0%{transform:translate(0);opacity:1}to{transform:translate(60px);opacity:0}}@keyframes achievementBounce{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}@media (max-width: 768px){.achievement-toast-container{top:10px;right:10px;left:10px}.achievement-toast{min-width:auto;padding:10px 14px}.achievement-toast-icon{font-size:1.5rem}.achievement-toast-name{font-size:.85rem}}.privacy-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:#000000d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:20px;animation:privacyFadeIn .4s ease}@keyframes privacyFadeIn{0%{opacity:0}to{opacity:1}}.privacy-modal{background:linear-gradient(145deg,#1a1a2e,#16213e);border:1px solid rgba(102,126,234,.3);border-radius:20px;padding:36px 32px;max-width:520px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080,0 0 40px #667eea1a;animation:privacySlideUp .5s ease}@keyframes privacySlideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.privacy-modal h1{color:#fff;font-size:1.6rem;margin:8px 0 4px;text-align:center}.privacy-icon{text-align:center;font-size:2.8rem;margin-bottom:4px}.privacy-subtitle{text-align:center;color:#aaa;font-size:.95rem;margin-bottom:24px}.privacy-summary{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.privacy-point{display:flex;align-items:flex-start;gap:10px;font-size:.92rem;color:#ccc;line-height:1.5}.privacy-point strong{color:#e0e0e0}.privacy-check{flex-shrink:0;font-size:1rem;margin-top:1px}.privacy-full-link{display:block;text-align:center;color:#667eea;font-size:.9rem;text-decoration:none;margin-bottom:24px;transition:color .2s}.privacy-full-link:hover{color:#a78bfa;text-decoration:underline}.privacy-actions{display:flex;gap:12px;justify-content:center}.privacy-btn{padding:12px 32px;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.privacy-btn-accept{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.privacy-btn-accept:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.privacy-btn-decline{background:#ffffff14;color:#999;border:1px solid rgba(255,255,255,.12)}.privacy-btn-decline:hover{background:#ff464626;color:#ff6b6b;border-color:#ff46464d}.privacy-declined{text-align:center;max-width:420px}.privacy-declined h2{color:#ff6b6b;margin:8px 0 12px}.privacy-declined p{color:#aaa;font-size:.95rem;line-height:1.6;margin-bottom:24px}.privacy-modal::-webkit-scrollbar{width:6px}.privacy-modal::-webkit-scrollbar-track{background:transparent}.privacy-modal::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:3px}@media (max-width: 480px){.privacy-modal{padding:24px 20px;border-radius:16px}.privacy-modal h1{font-size:1.3rem}.privacy-point{font-size:.85rem}.privacy-btn{padding:10px 24px;font-size:.9rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}.app{position:relative;width:100vw;height:100vh;height:100dvh;overflow:hidden}.game-over-modal{position:absolute;top:0;left:0;width:100%;height:100%;background:#05050fd9;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:linear-gradient(160deg,#141432f2,#0a0a1efa);padding:50px 70px;border-radius:30px;text-align:center;box-shadow:0 25px 80px #0009,0 0 100px #4ecdc414,inset 0 1px #ffffff1a;border:1px solid rgba(78,205,196,.2);animation:modalSlideIn .6s cubic-bezier(.16,1,.3,1);max-width:450px;width:90%}@keyframes modalSlideIn{0%{transform:translateY(40px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.winner-trophy{font-size:5rem;margin-bottom:10px;animation:trophyBounce 1s cubic-bezier(.16,1,.3,1) .3s both;filter:drop-shadow(0 8px 20px rgba(255,215,0,.4))}@keyframes trophyBounce{0%{transform:scale(0) rotate(-20deg);opacity:0}50%{transform:scale(1.2) rotate(5deg)}to{transform:scale(1) rotate(0);opacity:1}}.winner-title{font-size:2.8rem;font-weight:900;background:linear-gradient(135deg,#4ecdc4,#667eea,#f093fb);background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:15px;animation:titleGradientWin 4s ease infinite;letter-spacing:1px}@keyframes titleGradientWin{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.final-scores{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:15px;animation:fadeIn .8s ease .4s both}.final-score{display:flex;flex-direction:column;align-items:center;gap:4px}.final-score-label{font-size:.8rem;color:#ffffff80;text-transform:uppercase;letter-spacing:1px;font-weight:600}.final-score-value{font-size:2.5rem;font-weight:900;color:#fff}.player1-score .final-score-value{color:#ff6b6b}.player2-score .final-score-value{color:#4ecdc4}.final-score-divider{color:#fff3;font-size:1.5rem;font-weight:300}.winner-subtitle{font-size:1.1rem;color:#ffffff80;margin-bottom:30px;font-weight:400}.restart-button{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border:none;padding:16px 50px;font-size:1.2rem;font-weight:700;border-radius:50px;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 8px 25px #4ecdc459;text-transform:uppercase;letter-spacing:2px;position:relative;overflow:hidden}.restart-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .5s ease}.restart-button:hover:before{left:100%}.restart-button:hover{transform:translateY(-3px);box-shadow:0 12px 35px #4ecdc480}.restart-button:active{transform:translateY(-1px)}.help-button{position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:50%;background:#0f0f23b3;color:#ffffffb3;border:1px solid rgba(255,255,255,.15);font-size:20px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000004d;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.help-button:hover{background:#667eea4d;border-color:#667eea80;color:#fff;transform:scale(1.1);box-shadow:0 6px 20px #667eea4d}.help-button:active{transform:scale(.95)}.online-status{position:absolute;top:20px;right:130px;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.opponent-info{background:#0f0f23bf;padding:10px 16px;border-radius:14px;color:#ffffffb3;border:1px solid rgba(255,255,255,.1);font-size:.85rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.opponent-info strong{color:#4ecdc4}.turn-indicator{padding:8px 18px;border-radius:14px;font-weight:700;font-size:.9rem;transition:all .3s ease;border:1px solid;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.turn-indicator.your-turn{background:#4ecdc426;color:#4ecdc4;border-color:#4ecdc44d;animation:turnPulse 2s ease-in-out infinite}.turn-indicator.opponent-turn{background:#ff6b6b1a;color:#ff6b6bcc;border-color:#ff6b6b33}@keyframes turnPulse{0%,to{box-shadow:0 0 10px #4ecdc433}50%{box-shadow:0 0 25px #4ecdc466}}.chat-wrapper{position:absolute;bottom:180px;right:20px;z-index:50}.floating-chat-button{position:absolute;bottom:120px;right:20px;width:50px;height:50px;border-radius:50%;background:#0f0f23bf;color:#fff;border:1px solid rgba(78,205,196,.3);font-size:22px;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #0000004d;display:flex;align-items:center;justify-content:center;z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.floating-chat-button:hover{background:#4ecdc433;border-color:#4ecdc480;transform:scale(1.1);box-shadow:0 8px 25px #4ecdc433}.floating-chat-button:active{transform:scale(.95)}.chat-notification-badge{position:absolute;top:-4px;right:-4px;background:#ff6b6b;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;border:2px solid rgba(15,15,35,.9);box-shadow:0 2px 8px #ff6b6b80}@media (max-width: 768px){.modal-content{padding:30px 25px}.winner-title{font-size:1.8rem}.winner-trophy{font-size:3.5rem}.final-score-value{font-size:1.8rem}.winner-subtitle{font-size:.9rem}.restart-button{padding:12px 30px;font-size:1rem}.help-button{top:10px;right:10px;width:36px;height:36px;font-size:16px}.online-status{top:5px;right:95px}.opponent-info{padding:6px 10px;font-size:.7rem}.turn-indicator{padding:5px 10px;font-size:.75rem}.chat-wrapper{position:fixed;bottom:0;top:auto;left:0;right:0;transform:none;z-index:1000;background:#00000080;padding:0}.chat-wrapper .chat-container{width:100%;height:50vh;border-radius:16px 16px 0 0;border-bottom:none}.floating-chat-button{position:fixed;bottom:130px;right:10px;width:40px;height:40px;font-size:18px;z-index:101}.chat-notification-badge{width:16px;height:16px;font-size:9px}}.ai-thinking-overlay{position:fixed;top:60px;left:50%;transform:translate(-50%);z-index:999;pointer-events:none}.ai-thinking-indicator{display:flex;align-items:center;gap:8px;background:#1e1e3ce6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(100,200,255,.3);border-radius:20px;padding:8px 18px;box-shadow:0 4px 20px #0006;animation:aiPulse 1.5s ease-in-out infinite}.ai-thinking-emoji{font-size:1.2rem;animation:aiWobble .8s ease-in-out infinite}.ai-thinking-text{color:#c8e6ffe6;font-size:.85rem;font-weight:500}.ai-thinking-dots span{color:#64c8ffcc;font-size:1.2rem;font-weight:700;animation:aiDot 1.4s ease-in-out infinite}.ai-thinking-dots span:nth-child(2){animation-delay:.2s}.ai-thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes aiPulse{0%,to{opacity:.9}50%{opacity:1}}@keyframes aiWobble{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes aiDot{0%,80%,to{opacity:.2}40%{opacity:1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 480px){.ai-thinking-indicator{padding:6px 12px;font-size:.8rem}.ai-thinking-emoji{font-size:1rem}}*:focus-visible{outline:2px solid rgba(100,200,255,.8);outline-offset:2px}button:focus-visible{outline:2px solid rgba(100,200,255,.8);outline-offset:2px;box-shadow:0 0 0 4px #64c8ff33}.pwa-install-banner{position:fixed;top:0;left:0;right:0;z-index:10000;display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:14px;box-shadow:0 4px 20px #0006;animation:slideDown .3s ease-out}.pwa-ios-hint{background:linear-gradient(135deg,#4ecdc4,#44a8a0)}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.pwa-install-icon{font-size:24px;flex-shrink:0}.pwa-install-text{flex:1;line-height:1.3}.pwa-install-btn{padding:8px 20px;background:#fff;color:#667eea;border:none;border-radius:20px;font-weight:700;font-size:14px;cursor:pointer;flex-shrink:0;transition:transform .15s}.pwa-install-btn:active{transform:scale(.95)}.pwa-install-dismiss{background:none;border:none;color:#fffc;font-size:18px;cursor:pointer;padding:4px 8px;flex-shrink:0}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffe6;background-color:#080818;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}body{margin:0;min-width:320px;min-height:100vh;overscroll-behavior:none}#root{width:100%;height:100vh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#ffffff05}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}::selection{background:#4ecdc44d;color:#fff}
