*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);min-height:100vh;color:#e8e8e8}#root{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:20px}h1{font-size:2.5rem;font-weight:700;background:linear-gradient(90deg,#e94560,#f39c12);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h2{font-size:1.5rem;font-weight:600;margin-bottom:1rem}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#e94560,#c73659);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 20px #e9456066}.btn-secondary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.btn-secondary:hover{background:#fff3}.btn-danger{background:#dc3545;color:#fff}.btn-success{background:#28a745;color:#fff}.card{background:#ffffff0d;border-radius:16px;padding:24px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}input[type=text]{padding:12px 16px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff0d;color:#fff;font-size:1rem;width:100%}input[type=text]:focus{outline:none;border-color:#e94560}input[type=text]::placeholder{color:#ffffff80}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.mt-4{margin-top:1rem}.text-center{text-align:center}.text-muted{color:#fff9}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.2);border-top-color:#e94560;border-radius:50%;animation:spin 1s linear infinite}.nav-link{color:#ffffffb3;text-decoration:none;padding:.5rem 1rem;border-radius:8px;transition:all .2s ease;font-weight:500}.nav-link:hover{color:#e94560;background:#ffffff1a}.game-history{max-width:800px;margin:0 auto}.games-list{display:flex;flex-direction:column;gap:.75rem}.game-card{display:flex;justify-content:space-between;align-items:center;text-decoration:none;color:inherit;transition:all .2s ease;padding:1rem 1.5rem}.game-card:hover{transform:translate(5px);border-color:#e9456080}.game-card-main{display:flex;flex-direction:column;gap:.25rem}.game-card-right{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.game-opponent{font-weight:600;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.color-indicator{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.3)}.color-indicator.white{background:#fff}.color-indicator.black{background:#333}.game-result{font-weight:600;padding:.25rem .75rem;border-radius:4px;font-size:.875rem}.game-result.won{color:#28a745;background:#28a74526}.game-result.lost{color:#dc3545;background:#dc354526}.game-result.draw{color:#f39c12;background:#f39c1226}.game-replay{max-width:1200px;margin:0 auto}.replay-layout{display:grid;grid-template-columns:1fr 280px;gap:1.5rem;align-items:start}@media (max-width: 900px){.replay-layout{grid-template-columns:1fr}}.replay-board-section{display:flex;flex-direction:column;gap:1rem}.game-info{text-align:center;padding:1rem}.game-players{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:1.25rem}.player-name{font-weight:600}.vs{color:#fff6;font-size:.875rem}.game-meta{margin-top:.5rem;font-size:.875rem}.replay-controls{display:flex;flex-direction:column;gap:1rem;align-items:center}.control-buttons{display:flex;justify-content:center;gap:.5rem}.control-buttons button{width:48px;height:40px;border:none;border-radius:8px;background:#ffffff1a;color:#fff;cursor:pointer;font-size:1rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.control-buttons button:hover{background:#fff3}.control-buttons button.play-btn{width:56px;background:linear-gradient(135deg,#e94560,#c73659)}.control-buttons button.play-btn:hover{transform:scale(1.05)}.move-slider{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff1a;border-radius:3px;cursor:pointer}.move-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:#e94560;border-radius:50%;cursor:pointer}.move-slider::-moz-range-thumb{width:16px;height:16px;background:#e94560;border-radius:50%;cursor:pointer;border:none}.move-counter{font-size:.875rem}.speed-control{display:flex;align-items:center;gap:.5rem}.speed-control select{padding:.375rem .75rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;cursor:pointer}.speed-control select:focus{outline:none;border-color:#e94560}.move-list{max-height:500px;overflow:hidden;display:flex;flex-direction:column}.move-list h3{margin-bottom:.75rem;font-size:1rem}.moves-scroll{overflow-y:auto;flex:1}.move-pair{display:grid;grid-template-columns:32px 1fr 1fr;gap:.25rem;margin-bottom:.25rem}.move-number{color:#fff6;font-size:.875rem;display:flex;align-items:center}.move-btn{padding:.375rem .5rem;border:none;border-radius:4px;background:transparent;color:#fffc;cursor:pointer;text-align:left;font-family:Courier New,monospace;font-size:.875rem;transition:all .15s ease}.move-btn:hover{background:#ffffff1a}.move-btn.active{background:#e945604d;color:#e94560}
