.promotion-backdrop.svelte-ejc95q{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:svelte-ejc95q-fadeIn .2s ease-out}.promotion-backdrop.svelte-ejc95q:focus{outline:none}@keyframes svelte-ejc95q-fadeIn{0%{opacity:0}to{opacity:1}}.promotion-dialog.svelte-ejc95q{background-color:#2d2d2d;border:2px solid #4a9eff;border-radius:1rem;padding:2rem;box-shadow:0 8px 32px #0009;animation:svelte-ejc95q-slideUp .3s ease-out;max-width:400px;width:90%}.promotion-dialog.svelte-ejc95q:focus{outline:none;box-shadow:0 8px 32px #0009,0 0 0 3px #4a9eff80}@keyframes svelte-ejc95q-slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.promotion-title.svelte-ejc95q{color:#e8e8e8;font-size:1.5rem;font-weight:700;margin:0 0 1.5rem;text-align:center}.promotion-grid.svelte-ejc95q{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.promotion-option.svelte-ejc95q{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;background-color:#3d3d3d;border:2px solid #404040;border-radius:.75rem;cursor:pointer;transition:all .2s}.promotion-option.svelte-ejc95q:hover{background-color:#4d4d4d;border-color:#4a9eff;transform:translateY(-2px);box-shadow:0 4px 12px #4a9eff4d}.promotion-option.svelte-ejc95q:active{transform:translateY(0)}.piece-icon.svelte-ejc95q{font-size:3rem;line-height:1}.promotion-option.white-piece.svelte-ejc95q .piece-icon:where(.svelte-ejc95q){color:#f0f0f0;text-shadow:0 0 2px rgba(255,255,255,.8),0 2px 4px rgba(0,0,0,.5)}.promotion-option.black-piece.svelte-ejc95q .piece-icon:where(.svelte-ejc95q){color:#2d2d2d;text-shadow:0 0 2px rgba(0,0,0,.5),0 2px 4px rgba(0,0,0,.3)}.piece-name.svelte-ejc95q{color:#e8e8e8;font-weight:600;font-size:1rem}.promotion-cancel.svelte-ejc95q{width:100%;padding:.75rem;background-color:#404040;border:2px solid #505050;border-radius:.5rem;color:#e8e8e8;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.promotion-cancel.svelte-ejc95q:hover{background-color:#505050;border-color:#f87171;color:#f87171}.board-container.svelte-8w08u3{position:relative;width:600px;max-width:100%;border-radius:.5rem;overflow:hidden;box-shadow:0 8px 16px #00000080}.chessground-board.svelte-8w08u3{width:100%;aspect-ratio:1}.status-message.svelte-8w08u3{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:1rem 2rem;border-radius:.5rem;font-size:1.5rem;font-weight:700;text-align:center;pointer-events:none;z-index:10;box-shadow:0 8px 16px #0009;border:2px solid}.status-message.check.svelte-8w08u3{background-color:#facc15f2;color:#1e1e1e;border-color:#facc15}.status-message.checkmate.svelte-8w08u3{background-color:#f87171f2;color:#1e1e1e;border-color:#f87171}.status-message.stalemate.svelte-8w08u3,.status-message.draw.svelte-8w08u3{background-color:#4a9efff2;color:#1e1e1e;border-color:#4a9eff}.move-history.svelte-xmd6uw{background-color:#2d2d2d;border-radius:.5rem;padding:1rem;box-shadow:0 4px 6px #0000004d;border:1px solid #404040;display:flex;flex-direction:column;height:280px}.title.svelte-xmd6uw{color:#e8e8e8;font-size:1.125rem;font-weight:600;margin-bottom:.75rem;flex-shrink:0}.empty-message.svelte-xmd6uw{color:#a0a0a0;font-size:.875rem;font-style:italic}.moves-list.svelte-xmd6uw{display:flex;flex-direction:column;gap:.25rem;overflow-y:auto;overflow-x:hidden;padding-right:.5rem;max-height:200px}.moves-list.svelte-xmd6uw::-webkit-scrollbar{width:6px}.moves-list.svelte-xmd6uw::-webkit-scrollbar-track{background:#1e1e1e;border-radius:3px}.moves-list.svelte-xmd6uw::-webkit-scrollbar-thumb{background:#4a9eff;border-radius:3px}.moves-list.svelte-xmd6uw::-webkit-scrollbar-thumb:hover{background:#3b8fe0}.move-entry.svelte-xmd6uw{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:.25rem;transition:background-color .2s}.move-entry.svelte-xmd6uw:hover{background-color:#3d3d3d}.move-number.svelte-xmd6uw{font-weight:600;color:#a0a0a0;min-width:1.5rem;font-size:.875rem}.move.svelte-xmd6uw{padding:.25rem .5rem;border-radius:.25rem;font-family:monospace;font-size:.875rem;min-width:3.5rem;text-align:center}.white-move.svelte-xmd6uw{background-color:#e8e8e8;color:#1e1e1e;border:1px solid #a0a0a0}.black-move.svelte-xmd6uw{background-color:#404040;color:#e8e8e8;border:1px solid #505050}.confirm-wrapper.svelte-1endtrn{display:flex!important;align-items:center;justify-content:center;gap:.75rem;border:2px solid #facc15!important;animation:svelte-1endtrn-slideIn .2s ease-out}@keyframes svelte-1endtrn-slideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.confirm-yes.svelte-1endtrn,.confirm-no.svelte-1endtrn{flex:1;padding:0;border-radius:.375rem;font-weight:600;font-size:inherit;cursor:pointer;transition:all .2s;border:none;min-width:0}.confirm-yes.svelte-1endtrn{background-color:#4ade80;color:#1e1e1e}.confirm-yes.svelte-1endtrn:hover{background-color:#22c55e;transform:translateY(-1px)}.confirm-no.svelte-1endtrn{background-color:#404040;color:#e8e8e8}.confirm-no.svelte-1endtrn:hover{background-color:#505050;transform:translateY(-1px)}.game-controls.svelte-2j8tuf{display:flex;flex-wrap:wrap;gap:.75rem;padding:1rem;background-color:#2d2d2d;border-radius:.5rem;box-shadow:0 4px 6px #0000004d;border:1px solid #404040}.game-controls.svelte-2j8tuf .control-button{flex:1;min-width:120px;padding:.75rem 1.5rem;border:2px solid #404040;border-radius:.5rem;background-color:#2d2d2d;color:#e8e8e8;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.game-controls.svelte-2j8tuf .control-button:hover:not(:disabled){background-color:#3d3d3d;border-color:#4a9eff;transform:translateY(-1px)}.game-controls.svelte-2j8tuf .control-button:active:not(:disabled){transform:translateY(0)}.game-controls.svelte-2j8tuf .control-button:disabled{opacity:.3;cursor:not-allowed;color:#6b7280}.game-controls.svelte-2j8tuf .control-button.undo:hover:not(:disabled){border-color:#facc15;color:#facc15}.game-controls.svelte-2j8tuf .control-button.copy-fen:hover:not(:disabled){border-color:#4ade80;color:#4ade80}.game-controls.svelte-2j8tuf .control-button.load-fen:hover:not(:disabled){border-color:#c084fc;color:#c084fc}.game-controls.svelte-2j8tuf .control-button.copied{background-color:#4ade80;color:#1e1e1e;border-color:#4ade80;animation:svelte-2j8tuf-pulse .3s ease-out}.game-controls.svelte-2j8tuf .control-button.toggle-sound.sound-on:hover:not(:disabled){border-color:#4ade80;color:#4ade80}.game-controls.svelte-2j8tuf .control-button.toggle-sound.sound-off:hover:not(:disabled){border-color:#f87171;color:#f87171}@keyframes svelte-2j8tuf-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.fen-input-modal.svelte-2j8tuf{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:svelte-2j8tuf-fadeIn .2s ease-out}@keyframes svelte-2j8tuf-fadeIn{0%{opacity:0}to{opacity:1}}.fen-input-content.svelte-2j8tuf{background-color:#2d2d2d;border:2px solid #4a9eff;border-radius:1rem;padding:2rem;box-shadow:0 8px 32px #0009;animation:svelte-2j8tuf-slideUp .3s ease-out;max-width:500px;width:90%}@keyframes svelte-2j8tuf-slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fen-input-title.svelte-2j8tuf{color:#e8e8e8;font-size:1.5rem;font-weight:700;margin:0 0 1rem}.fen-input-field.svelte-2j8tuf{width:100%;padding:.75rem;background-color:#3d3d3d;border:2px solid #404040;border-radius:.5rem;color:#e8e8e8;font-family:monospace;font-size:.875rem;margin-bottom:1rem;transition:border-color .2s}.fen-input-field.svelte-2j8tuf:focus{outline:none;border-color:#4a9eff}.fen-input-field.error.svelte-2j8tuf{border-color:#f87171}.fen-error.svelte-2j8tuf{color:#f87171;font-size:.875rem;margin:-.5rem 0 1rem}.fen-input-actions.svelte-2j8tuf{display:flex;gap:.75rem}.fen-submit.svelte-2j8tuf,.fen-cancel.svelte-2j8tuf{flex:1;padding:.75rem;border-radius:.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;border:none}.fen-submit.svelte-2j8tuf{background-color:#4a9eff;color:#1e1e1e}.fen-submit.svelte-2j8tuf:hover{background-color:#3b8fe0;transform:translateY(-1px)}.fen-cancel.svelte-2j8tuf{background-color:#404040;color:#e8e8e8}.fen-cancel.svelte-2j8tuf:hover{background-color:#505050;border:2px solid #f87171;color:#f87171}
