:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#0a0a0a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600}button{border-radius:6px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;color:inherit;cursor:pointer;transition:all .2s ease}button:hover:not(:disabled){background-color:#2a2a2a}button:focus,button:focus-visible{outline:2px solid #4a9eff;outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#1a1a1a}::-webkit-scrollbar-thumb{background:#333;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#444}::selection{background:#4a9eff44;color:inherit}.chess-board{display:flex;flex-direction:column;border:2px solid #333;border-radius:4px;overflow:hidden;background:#1a1a1a;box-shadow:0 4px 12px #0000004d;-webkit-user-select:none;user-select:none}.chess-board.historical{opacity:.8;border-color:#555}.chess-board.active{border-color:#4a9eff;box-shadow:0 0 20px #4a9eff4d}.board-header{display:flex;justify-content:space-between;padding:4px 8px;background:#2a2a2a;color:#888;font-size:.75rem;font-family:monospace}.timeline-label{color:#4a9eff}.turn-label{color:#888}.board-grid{display:flex;flex-direction:column}.row{display:flex}.row-label{display:flex;align-items:center;justify-content:center;width:20px;font-size:.7rem;color:#666;background:#1a1a1a}.col-labels{display:flex;margin-left:20px}.col-label{display:flex;align-items:center;justify-content:center;width:48px;height:16px;font-size:.7rem;color:#666;background:#1a1a1a}.square{width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:background-color .15s ease}.square.light{background-color:#f0d9b5}.square.dark{background-color:#b58863}.square.selected{background-color:#7fc67f!important}.square.valid-move:after{content:"";position:absolute;width:16px;height:16px;background-color:#0003;border-radius:50%}.square.valid-capture{box-shadow:inset 0 0 0 4px #ff000080}.square.clickable:hover{filter:brightness(1.1)}.move-indicator{width:16px;height:16px;background-color:#0003;border-radius:50%}.piece{font-size:2rem;line-height:1;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.piece-white{color:#fff;text-shadow:0 0 3px #000,1px 1px 2px rgba(0,0,0,.5)}.piece-black{color:#000;text-shadow:0 0 1px #fff}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.square.valid-move .move-indicator{animation:pulse 1.5s ease-in-out infinite}.multiverse-view{display:flex;flex-direction:column;padding:20px;background:#0a0a0a;min-height:100vh;overflow:auto}.multiverse-header{display:flex;justify-content:space-between;margin-bottom:16px;color:#666;font-size:.875rem}.time-axis-label{margin-left:120px}.timeline-axis-label{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);position:absolute;left:8px}.multiverse-grid{display:flex;flex-direction:column;gap:16px}.timeline-row{display:flex;align-items:flex-start;gap:16px}.timeline-info{width:100px;display:flex;flex-direction:column;padding:8px;background:#1a1a1a;border-radius:4px;flex-shrink:0}.timeline-id{font-family:monospace;font-weight:700;font-size:1rem}.timeline-id.white{color:#4a9eff}.timeline-id.black{color:#ff6b6b}.timeline-id.main{color:#8b8b8b}.branch-info{font-size:.7rem;color:#555;margin-top:4px}.boards-container{display:flex;gap:12px;overflow-x:auto;padding:8px 0}.board-wrapper{flex-shrink:0;transition:transform .2s ease}.board-wrapper.latest{transform:scale(1.02)}.board-wrapper:hover{transform:scale(1.05);z-index:10}.board-placeholder{width:420px;height:440px;background:repeating-linear-gradient(45deg,#151515,#151515 10px,#1a1a1a 10px 20px);border:2px dashed #333;border-radius:4px;flex-shrink:0;opacity:.3}.time-axis{display:flex;margin-left:116px;margin-top:16px;gap:12px}.time-marker{width:420px;flex-shrink:0;text-align:center;color:#555;font-family:monospace;font-size:.875rem;padding:8px;background:#151515;border-radius:4px}.boards-container::-webkit-scrollbar{height:8px}.boards-container::-webkit-scrollbar-track{background:#1a1a1a;border-radius:4px}.boards-container::-webkit-scrollbar-thumb{background:#333;border-radius:4px}.boards-container::-webkit-scrollbar-thumb:hover{background:#444}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.timeline-row{animation:slideIn .3s ease-out}.game-controls{display:flex;flex-direction:column;gap:24px;padding:24px;background:#1a1a1a;border-radius:8px;min-width:280px;max-width:320px;height:fit-content;position:sticky;top:20px}.game-info{display:flex;flex-direction:column;gap:12px}.game-title{margin:0;font-size:2rem;font-weight:700;background:linear-gradient(135deg,#4a9eff,#a855f7);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.game-subtitle{margin:0;font-size:.875rem;color:#666;font-style:italic}.game-status{padding:12px;border-radius:6px;background:#2a2a2a;text-align:center;font-weight:500;color:#ddd}.game-status.status-check{background:#ff6b3533;color:#ff6b35;animation:pulse-warning 1s infinite}.game-status.status-checkmate{background:#ff353533;color:#ff3535;font-weight:700}.game-status.status-draw{background:#a855f733;color:#a855f7}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.7}}.game-stats{display:flex;justify-content:space-around;padding:12px;background:#2a2a2a;border-radius:6px}.stat{display:flex;flex-direction:column;align-items:center}.stat-label{font-size:.75rem;color:#666;text-transform:uppercase}.stat-value{font-size:1.5rem;font-weight:700;color:#4a9eff}.current-player{display:flex;align-items:center;gap:12px;padding:12px;background:#2a2a2a;border-radius:6px}.player-indicator{width:24px;height:24px;border-radius:50%;border:2px solid #333}.player-indicator.white{background:linear-gradient(135deg,#fff,#ddd);box-shadow:0 0 10px #ffffff4d}.player-indicator.black{background:linear-gradient(135deg,#333,#111);box-shadow:0 0 10px #00000080}.control-buttons{display:flex;flex-direction:column;gap:12px}.control-btn{padding:12px 16px;border:none;border-radius:6px;background:#2a2a2a;color:#ddd;font-size:.875rem;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:8px}.control-btn:hover:not(:disabled){background:#3a3a3a;transform:translateY(-1px)}.control-btn:active:not(:disabled){transform:translateY(0)}.control-btn:disabled{opacity:.5;cursor:not-allowed}.control-btn.new-game{background:linear-gradient(135deg,#4a9eff,#2d7dd2);color:#fff;font-weight:500}.control-btn.new-game:hover{background:linear-gradient(135deg,#5ba8ff,#3d8de2)}.undo-redo-group,.save-load-group{display:flex;gap:8px}.undo-redo-group .control-btn,.save-load-group .control-btn{flex:1}.game-instructions{padding:16px;background:#2a2a2a;border-radius:6px}.game-instructions h3{margin:0 0 12px;font-size:.875rem;color:#888;text-transform:uppercase}.game-instructions ul{margin:0;padding-left:20px;font-size:.8rem;color:#666;line-height:1.6}.game-instructions li{margin-bottom:4px}.game-container{display:flex;min-height:100vh;background:#0a0a0a;color:#fff}.game-sidebar{flex-shrink:0;padding:20px;background:#111;border-right:1px solid #222}.game-main{flex:1;overflow:auto}.error-toast{position:fixed;bottom:20px;right:20px;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ff353555;border:1px solid #ff3535;border-radius:8px;color:#ff6b6b;animation:slideInUp .3s ease-out;z-index:1000}.error-toast button{background:none;border:none;color:#ff6b6b;font-size:1.25rem;cursor:pointer;padding:0;line-height:1}.error-toast button:hover{color:#fff}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1200px){.game-container{flex-direction:column}.game-sidebar{border-right:none;border-bottom:1px solid #222}.game-controls{max-width:none;width:100%}}#root{width:100%;min-height:100vh;margin:0;padding:0}
