.move-timeline .move-timeline-title{margin-bottom:.7rem;font-size:1.1rem;font-weight:500;color:#222}.move-timeline .move-timeline-list{display:flex;flex-direction:column;max-height:160px;padding:1rem;overflow-y:auto;background:#f0f6ff;border-radius:1.25rem}.move-timeline .move-timeline-empty{display:flex;flex:1 1 auto;flex-direction:column;gap:.5rem;align-items:center;justify-content:center;text-align:center}.move-timeline .move-timeline-empty .move-timeline-empty-icon{font-size:2rem}.move-timeline .move-timeline-empty .move-timeline-empty-text{font-size:.9rem;color:#6b7280}.move-timeline .move-timeline-item{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;font-size:.98rem}.move-timeline .move-timeline-item:last-child{margin-bottom:0}.move-timeline .move-timeline-item.fading,.move-timeline .move-timeline-item.fading .move-fading,.move-timeline .move-timeline-item.fading .move-label{color:#ff6b00}.move-timeline .move-timeline-item .move-label{font-weight:500}.move-timeline .move-timeline-item .move-player-x{color:#ffd100}.move-timeline .move-timeline-item .move-player-o{color:#08f}.move-timeline .move-timeline-item .move-fading{color:#ff6b00}@media(width <= 768px){.move-timeline .move-timeline-title{margin-bottom:.625rem;font-size:1rem}.move-timeline .move-timeline-list{max-height:140px;padding:.875rem}.move-timeline .move-timeline-item{margin-bottom:.375rem;font-size:.9rem}}@media(width <= 480px){.move-timeline .move-timeline-title{margin-bottom:.5rem;font-size:.95rem}.move-timeline .move-timeline-list{max-height:120px;padding:.75rem}.move-timeline .move-timeline-item{margin-bottom:.25rem;font-size:.85rem}}.player-stats{display:flex;gap:1rem;align-items:center}.player-stats .player-icon{flex-shrink:0}.player-stats .player-info{flex:1 1 0}.player-stats .player-info .player-name{font-size:1.1rem;font-weight:600}.player-stats .player-info .player-status{font-size:.95rem;color:#6b7280}.player-stats .player-score{font-family:var(--font-fredoka),"Fredoka",sans-serif;font-size:2rem;font-weight:700}.player-stats .player-score-x{color:#ffd100}.player-stats .player-score-o,.player-stats.active .player-name{color:#08f}.game-stats{padding:.5rem 2rem 2rem}.game-stats .game-stats-title{margin-bottom:1.5rem;font-family:var(--font-fredoka),"Fredoka",sans-serif;font-size:1.5rem;color:#222}.game-stats .player-stats-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.game-stats--full-height{display:flex;flex-direction:column;max-height:80vh}.game-stats--full-height .move-timeline{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.game-stats--full-height .move-timeline .move-timeline-list{flex:1 1 auto;max-height:none}@media(width <= 768px){.game-stats{padding:.5rem 1.5rem 1.5rem}.game-stats .game-stats-title{margin-bottom:1.25rem;font-size:1.375rem}.game-stats .player-stats-list{gap:.875rem;margin-bottom:1.25rem}}@media(width <= 480px){.game-stats{padding:.5rem 1rem 1rem}.game-stats .game-stats-title{margin-bottom:1rem;font-size:1.25rem}.game-stats .player-stats-list{gap:.75rem;margin-bottom:1rem}}@keyframes victory-fade-in{0%{opacity:0}to{opacity:100%}}@keyframes victory-card-in{0%{opacity:0;transform:scale(.72) translateY(48px)}to{opacity:100%;transform:scale(1) translateY(0)}}@keyframes confetti-fall{0%{opacity:100%;transform:translateX(0) translateY(-20px) rotate(0deg)}85%{opacity:100%}to{opacity:0;transform:translateX(var(--drift)) translateY(105vh) rotate(var(--spin))}}@keyframes trophy-bounce{0%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-14px) scale(1.12)}65%{transform:translateY(-6px) scale(1.05)}}.victory-overlay{position:fixed;z-index:200;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.52);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:victory-fade-in .3s ease forwards}.victory-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti-piece{position:absolute;top:0;left:var(--x);width:var(--size);height:var(--size);background:var(--color);border-radius:2px;animation:confetti-fall var(--duration) var(--delay) ease-in forwards}.victory-card{position:relative;z-index:1;min-width:300px;max-width:90vw;padding:2.75rem 3rem 2.5rem;text-align:center;background:#fff;border-radius:2rem;box-shadow:0 24px 64px rgba(0,0,0,.28);animation:victory-card-in .4s cubic-bezier(.175,.885,.32,1.275) .1s both}.victory-trophy{display:inline-block;margin-bottom:1rem;font-size:4rem;line-height:1;animation:trophy-bounce 1.2s ease-in-out .5s infinite}.victory-title{margin:0 0 .375rem;font-family:var(--font-fredoka),"Fredoka",sans-serif;font-size:2.5rem;font-weight:700}.victory-title--x{color:#08f}.victory-title--o{color:#ff6b00}.victory-subtitle{margin:0 0 2rem;font-size:1rem;color:#6b7280}.victory-new-match-btn{transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;gap:.5rem;align-items:center;padding:.75rem 2.25rem;font-family:var(--font-fredoka),"Fredoka",sans-serif;font-size:1.1rem;font-weight:700;color:#fff;background:linear-gradient(90deg,#08f,#ff6b00);border:none;border-radius:9999px;cursor:pointer}.victory-new-match-btn:active{box-shadow:0 4px 18px rgba(0,136,255,.35);transform:scale(1.06)}@media(hover:hover){.victory-new-match-btn:hover{box-shadow:0 4px 18px rgba(0,136,255,.35);transform:scale(1.06)}}.victory-new-match-btn:active{transform:scale(.97)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes bounce-slow{0%,to{transform:translateY(0) rotate(3deg)}50%{transform:translateY(-80px) rotate(3deg)}}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.float{animation:float 6s ease-in-out infinite}.bounce-slow{animation:bounce-slow 3s infinite}.spin-slow{animation:spin-slow 8s linear infinite}.main-screen{display:flex;flex-direction:column;min-height:100vh;background:#f0f6ff}.game-main{position:relative;display:flex;flex:1 1 auto;flex-direction:row;gap:2rem;align-items:stretch;justify-content:center;padding:7rem 2rem 2rem}.game-board-section{display:flex;flex:2 1 0;flex-direction:column;align-items:center;min-width:0}.game-sidebar{display:flex;flex:1 1 0;flex-direction:column;gap:1.5rem;min-width:320px;max-width:400px}@media(width <= 1024px){.game-main{gap:1.5rem;padding:5rem 1.5rem 1.5rem}.game-sidebar{min-width:280px;max-width:350px}}@media(width <= 1024px)and (width > 768px){.game-board-section{margin-top:4rem}}@media(width <= 768px){.game-main{flex-direction:column;gap:2rem;align-items:center;padding:7rem 1rem 1rem}.game-board-section,.game-sidebar{flex:none;width:100%;max-width:500px}.game-sidebar{min-width:0}}@media(width <= 480px){.game-main{gap:1.5rem;padding:8rem .75rem .75rem}.game-board-section,.game-sidebar{max-width:100%}}