:root{--square-size:80px}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0;padding:0;display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f0f0f0}header h1{color:#2c3e50;font-size:32px;line-height:1.4;margin-bottom:20px;text-align:center;font-weight:700}.seo-content{background-color:#f9f9f9;padding:20px;margin:20px 0;border-radius:8px;line-height:1.7;color:#333;text-align:justify}.seo-content h2{color:#2575fc;font-size:26px;margin-bottom:15px;font-weight:700}.seo-content p{margin-bottom:15px;font-size:18px}.hero-text{font-size:19px;line-height:1.8}.cta-text{color:#2575fc;font-size:20px}.seo-content strong{color:#2c3e50}.difficulty-list,.features-list{list-style:none;padding-left:0;text-align:left}.difficulty-list li,.features-list li{padding:10px 0;border-bottom:1px solid #e0e0e0;display:flex;align-items:flex-start;gap:8px;line-height:1.5}.features-list li:first-child{padding-top:5px}.difficulty-list li strong,.features-list li strong{display:inline-block;min-width:120px}.difficulty-list li{line-height:1.8}.difficulty-list li:last-child,.features-list li:last-child{border-bottom:none}.difficulty-description{margin-top:20px;margin-bottom:0}.difficulty-selector .difficulty-description{display:block!important}.site-footer{background-color:#34495e;color:#ecf0f1;text-align:center;padding:20px;margin-top:30px;border-radius:8px}.site-footer a{color:#3498db;text-decoration:none;font-weight:700}.site-footer a:hover{text-decoration:underline}@keyframes player-turn-pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:0.8}100%{transform:scale(1);opacity:1}}.player-turn-pulse{animation:player-turn-pulse 2s infinite ease-in-out}@media (max-width:480px){body{align-items:flex-start;padding-top:10px}}.game-container{text-align:center;max-width:1200px;width:100%;background-color:#fff;padding:40px;border-radius:10px;box-shadow:0 0 20px rgba(0,0,0,.1)}h1{color:#333;margin-bottom:20px}.game-menu{display:flex;flex-direction:column;align-items:center;margin-bottom:30px}.game-menu h2{color:#555;margin-bottom:20px}.menu-button{background:linear-gradient(to bottom right,#6a11cb,#2575fc);color:#fff;border:none;border-radius:8px;padding:15px 30px;margin:10px;font-size:18px;cursor:pointer;transition:transform .2s,box-shadow .2s;width:280px}.menu-button:hover{transform:translateY(-3px);box-shadow:0 6px 12px rgba(0,0,0,.15)}.menu-button:active{transform:translateY(1px);box-shadow:0 2px 6px rgba(0,0,0,.1)}.menu-button.secondary{background:linear-gradient(to bottom right,#757575,#424242)}.menu-button.secondary:hover{background:linear-gradient(to bottom right,#616161,#212121)}.difficulty-selector{margin-top:30px;padding:20px;background-color:#f9f9f9;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.difficulty-selector h3{color:#333;margin-bottom:20px;font-size:18px}.difficulty-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.difficulty-btn{padding:16px;border:2px solid #ddd;background-color:#fff;color:#333;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;transition:all .3s ease}.difficulty-btn:hover{border-color:#2575fc;background-color:#f0f8ff;transform:translateY(-2px)}.difficulty-btn.active{background:linear-gradient(to bottom right,#6a11cb,#2575fc);color:#fff;border-color:#2575fc}.difficulty-btn.active:hover{background:linear-gradient(to bottom right,#5a0fb7,#1e6bfc)}@media (max-width:480px){.difficulty-buttons{grid-template-columns:repeat(2,1fr);gap:8px}.difficulty-btn{padding:14px 12px;font-size:12px}.difficulty-selector{padding:15px;margin-top:20px}.difficulty-selector h3{font-size:16px;margin-bottom:15px}}.game-info{margin-bottom:5px;background-color:#f9f9f9;padding:8px 15px;border-radius:5px}.game-info .info-col{padding:5px 10px;margin:0 5px}.game-info .info-col{align-items:center;display:flex;flex-direction:column;font-size:1.1em}.game-info .info-col span:first-child{font-weight:700;margin-bottom:3px}.game-info .turn-indicator{font-size:2.5em;font-weight:700;text-align:center;width:100%;padding:15px 0}.game-info-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px;width:100%}.compact-indicator{flex-direction:row!important;justify-content:center;align-items:center;gap:5px;font-size:16px!important;padding:5px 10px;margin:0}.compact-indicator span:first-child{font-weight:bold;font-size:16px!important;margin-right:2px}.compact-indicator span:last-child{font-weight:bold;font-size:16px;padding:2px 6px;border-radius:3px;background:rgba(255,255,255,.1)}.compact-indicator span{font-size:1em!important;margin:0!important;padding:0!important}.compact-indicator span:first-child{font-weight:700;color:#333}.compact-indicator span:last-child{font-weight:700;font-size:1.1em;padding:4px 8px!important;border-radius:4px;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.center-player-indicator{text-align:center;width:100%;font-size:1.3em;font-weight:700;padding:8px 15px;margin-bottom:20px;border-radius:6px;background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1);display:inline-block}.center-player-indicator,.computer-mode-indicator,.computer-player-indicator{font-weight:700;background-color:#f0f0f0;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.1)}.computer-mode-indicator,.computer-player-indicator{font-size:18px;padding:8px 12px;margin:0 5px}.hide-mode-indicator{display:none}#player-vs-computer-info{display:flex;justify-content:space-around;align-items:flex-start;width:100%}#player-vs-player-info{display:none;justify-content:center;align-items:center;padding:10px 0}#player-vs-player-info .info-col{text-align:center;padding:0 20px}#player-vs-player-info .info-col span:first-child{display:block;font-weight:bold;color:#333;margin-bottom:5px;font-size:1.1em}#player-vs-player-info .info-col span:last-child{display:block;font-size:1.3em;font-weight:bold;padding:8px 16px;margin-bottom:10px;border-radius:8px;background-color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.1)}#player-vs-computer-info .info-col{margin:0 20px;text-align:center}#player-indicator,#computer-indicator{font-size:1.3em;font-weight:700;padding:8px 15px;border-radius:6px;background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1);display:inline-block;margin-top:5px}#mode-text,#player-indicator{transition:color .3s ease}#mode-text{color:#2575fc}.chessboard-container{justify-content:center;gap:30px;position:relative}.captured-pieces,.chessboard-container{display:flex;align-items:center;padding:20px}.captured-pieces{width:180px;min-height:640px;border-radius:8px;background:rgba(0,0,0,.05);flex-direction:column}.captured-pieces h3{margin:0 0 15px;color:#555;font-size:16px;text-align:center}.captured-pieces .piece{width:40px;height:40px;margin:5px;transition:transform .3s ease}.chessboard{display:grid;grid-template-columns:repeat(8,var(--square-size));grid-template-rows:repeat(8,var(--square-size));gap:0;border:3px solid #333;box-shadow:0 10px 25px rgba(0,0,0,.2);position:relative}.chessboard div{width:var(--square-size);height:var(--square-size);display:flex;justify-content:center;align-items:center;cursor:pointer}.chessboard div:hover{opacity:.8}.light-square{background-color:#f0d9b5}.dark-square{background-color:#b58863}.chessboard.theme-blue .light-square{background-color:#f0d9b5}.chessboard.theme-blue .dark-square{background-color:#5b9bd5}.chessboard.theme-green .light-square{background-color:#f0d9b5}.chessboard.theme-green .dark-square{background-color:#6fa86f}.controls{margin-top:20px;display:flex;flex-wrap:wrap;justify-content:center}.controls button{padding:10px 20px;margin:5px 10px;font-size:16px;cursor:pointer;background-color:#4caf50;color:#fff;border:none;border-radius:4px;transition:background-color .3s}.controls button:hover{background-color:#45a049}#back-to-menu{background-color:#f44336}#back-to-menu:hover{background-color:#d32f2f}#toggle-player{background-color:#2196f3}#toggle-player:hover{background-color:#0b7dda}#invert-colors{background-color:#9c27b0;font-size:20px;padding:8px 16px}#invert-colors:hover{background-color:#7b1fa2}#toggle-neon{background-color:#9c27b0;font-size:20px;padding:8px 16px;position:relative}#toggle-neon:hover{background-color:#7b1fa2}#toggle-neon.muted{background-color:#616161}#toggle-neon.muted:hover{background-color:#424242}#toggle-neon.muted:after{content:"";position:absolute;width:2px;height:70%;background-color:#ff5252;transform:rotate(45deg);top:15%;left:0;right:0;margin:0 auto}#toggle-sound{background-color:#424242;font-size:20px;padding:8px 16px;position:relative}#toggle-sound:hover{background-color:#212121}#toggle-sound.muted:after{content:"";position:absolute;width:2px;height:70%;background-color:#ff5252;transform:rotate(45deg);top:15%;left:0;right:0;margin:0 auto}.icon-button{padding:8px 12px!important;font-size:18px!important;min-width:auto!important;display:inline-flex;align-items:center;justify-content:center}.help-button{background-color:#4caf50!important;color:#fff!important;font-weight:700;border-radius:50%;width:36px;height:36px;padding:0!important}.help-button:hover{background-color:#45a049!important}.theme-button{background-color:#9c27b0!important;border:none!important;border-radius:4px;padding:3px 8px!important;font-size:20px!important;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;width:auto;height:auto}.theme-button:hover{background-color:#7b1fa2!important}.theme-button svg{display:block;width:34px;height:28px}.piece{width:70px;height:70px;background-size:contain;background-repeat:no-repeat;background-position:50%;transition:all .3s ease}.two-player-mode .piece.top-piece{transform:rotate(180deg)}.two-player-mode .piece.top-piece.king-in-check{transform:rotate(180deg) scale(1);animation:a .7s infinite ease-in-out}@keyframes a{0%,to{filter:brightness(1) drop-shadow(0 0 0 transparent);transform:rotate(180deg) scale(1);box-shadow:0 0 0 0 rgba(255,0,0,0)}25%{filter:brightness(1.3) drop-shadow(0 0 5px rgba(255,0,0,.6));transform:rotate(180deg) scale(1.08);box-shadow:0 0 10px 2px rgba(255,0,0,.4)}50%{filter:brightness(1.5) drop-shadow(0 0 8px rgba(255,50,50,.8));transform:rotate(180deg) scale(1.15);box-shadow:0 0 15px 3px rgba(255,0,0,.6)}75%{filter:brightness(1.3) drop-shadow(0 0 5px rgba(255,0,0,.6));transform:rotate(180deg) scale(1.08);box-shadow:0 0 10px 2px rgba(255,0,0,.4)}}@keyframes b{0%,to{box-shadow:0 0 5px rgba(170,0,255,.7),0 0 10px rgba(170,0,255,.7),0 0 15px rgba(170,0,255,.5),inset 0 0 5px rgba(170,0,255,.5)}50%{box-shadow:0 0 10px rgba(170,0,255,.9),0 0 20px rgba(170,0,255,.9),0 0 30px rgba(170,0,255,.7),inset 0 0 10px rgba(170,0,255,.7)}}.neon-highlight{position:relative;animation:b 1.5s infinite ease-in-out;background-color:rgba(170,0,255,.15)!important;box-sizing:border-box;z-index:1}.coordinate{position:absolute;font-size:14px;font-weight:700;color:#555;pointer-events:none}.file-coord{bottom:-25px;transform:translateX(-50%)}.rank-coord{left:-25px;transform:translateY(-50%)}.selected{box-shadow:inset 0 0 0 4px rgba(255,255,0,.8);background-color:rgba(255,255,0,.3)!important}.square-king-in-check{background-color:rgba(255,0,0,.25)!important;animation:c .7s infinite ease-in-out;border:2px solid rgba(255,0,0,.6)!important;box-sizing:border-box}@keyframes c{0%,to{background-color:rgba(255,0,0,.15)!important;border-color:rgba(255,0,0,.5)!important}50%{background-color:rgba(255,0,0,.4)!important;border-color:rgba(255,0,0,.8)!important}}@media (max-width:480px){.square-king-in-check{border-width:2px!important}@keyframes c{0%,to{background-color:rgba(255,0,0,.2)!important;border-color:rgba(255,0,0,.6)!important}50%{background-color:rgba(255,0,0,.5)!important;border-color:rgba(255,0,0,.9)!important}}}@media (max-width:1200px){.game-container{padding:20px}.chessboard-container{flex-direction:column;gap:15px}.captured-pieces{width:100%;min-height:auto;padding:10px;flex-direction:row;flex-wrap:wrap;justify-content:center}}@media (max-width:768px){.chessboard{grid-template-columns:repeat(8,70px);grid-template-rows:repeat(8,70px)}.chessboard div{width:70px;height:70px}.piece{width:65px;height:65px}.controls button{padding:8px 16px;font-size:14px}}@media (max-width:480px){header h1{font-size:24px;margin-bottom:10px;padding:0 10px}.seo-content{padding:15px;margin:15px 0}.seo-content h2{font-size:22px}.seo-content p{font-size:16px}.hero-text{font-size:17px}.cta-text{font-size:18px}.difficulty-list li,.features-list li{font-size:14px;padding:8px 0}.site-footer{padding:15px;font-size:12px}.game-container{padding:2px;margin:0;width:100vw;max-width:100vw;border-radius:0;box-shadow:none}.icon-button{padding:6px 10px!important;font-size:16px!important}.help-button{width:32px;height:32px}.theme-button{padding:2px 6px!important}.theme-button svg{width:28px;height:24px}.chessboard-container{padding:2px;gap:8px}.chessboard{grid-template-columns:repeat(8,calc((100vw - 12px) / 8));grid-template-rows:repeat(8,calc((100vw - 12px) / 8));max-width:calc(100vw - 12px);width:calc(100vw - 12px);margin:0 auto;border-width:2px}.chessboard div{width:calc((100vw - 12px) / 8);height:calc((100vw - 12px) / 8)}.piece{width:calc((100vw - 20px) / 8);height:calc((100vw - 20px) / 8);max-width:50px;max-height:50px}.captured-pieces{width:100%;min-height:auto;padding:6px}.captured-pieces h3{font-size:13px;margin-bottom:6px}.controls{margin-top:12px}.controls button{padding:6px 10px;font-size:12px;margin:2px 4px}.game-info{margin-bottom:10px;padding:6px;font-size:14px}}@media (max-width:400px){.chessboard{grid-template-columns:repeat(8,calc((100vw - 8px) / 8));grid-template-rows:repeat(8,calc((100vw - 8px) / 8));max-width:calc(100vw - 8px);width:calc(100vw - 8px);border-width:1px}.chessboard div{width:calc((100vw - 8px) / 8);height:calc((100vw - 8px) / 8)}.piece{width:calc((100vw - 16px) / 8);height:calc((100vw - 16px) / 8);max-width:48px;max-height:48px}.game-container{padding:1px}.chessboard-container{padding:1px;gap:6px}h1{font-size:18px;margin-bottom:8px}.controls button{padding:5px 8px;font-size:11px;margin:1px 3px}}@media (max-width:350px){.chessboard{grid-template-columns:repeat(8,calc((100vw - 6px) / 8));grid-template-rows:repeat(8,calc((100vw - 6px) / 8));max-width:calc(100vw - 6px);width:calc(100vw - 6px);border-width:1px}.chessboard div{width:calc((100vw - 6px) / 8);height:calc((100vw - 6px) / 8)}.piece{width:calc((100vw - 12px) / 8);height:calc((100vw - 12px) / 8);max-width:45px;max-height:45px}.game-container{padding:0}.chessboard-container{padding:0;gap:4px}h1{font-size:16px}.game-info,h1{margin-bottom:6px}.game-info{padding:4px;font-size:12px}.captured-pieces h3{font-size:11px;margin-bottom:4px}.controls{margin-top:8px}.controls button{padding:4px 6px;font-size:10px;margin:1px 2px}}.game-over-message{position:absolute;width:100%;height:100%;padding:20px;box-sizing:border-box}.game-over-message,.game-over-overlay{top:0;left:0;display:flex;justify-content:center;align-items:center;z-index:1000;background-color:rgba(0,0,0,.8);animation:i .5s ease-in-out}.game-over-overlay{position:fixed;width:100vw;height:100vh}.game-over-overlay.two-player-white-wins{align-items:flex-start;padding-top:10vh}.game-over-overlay.two-player-black-wins{align-items:flex-end;padding-bottom:10vh}.game-over-overlay.two-player-white-wins .game-over-box{animation:d .6s ease-out}.game-over-overlay.two-player-black-wins .game-over-box{animation:e .6s ease-out}@keyframes d{0%{transform:translateY(-100px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes e{0%{transform:translateY(100px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.game-over-box{background:#fff;border-radius:15px;padding:30px;box-shadow:0 10px 30px rgba(0,0,0,.3);text-align:center;max-width:90vw;max-height:90vh;overflow:visible!important;animation:f .6s ease-out;position:relative}.victory-box{border:3px solid #4caf50;background:linear-gradient(135deg,#f8fff8,#e8f5e8)}.defeat-box{border:3px solid #f44336;background:linear-gradient(135deg,#fff8f8,#f5e8e8)}.game-over-title{font-size:28px;font-weight:700;margin:0 0 20px;color:#333}.game-over-content{display:flex!important;align-items:center!important;justify-content:center!important;gap:20px!important;margin:20px 0!important;overflow:visible!important;position:relative!important;z-index:10!important}.game-over-text{font-size:20px;color:#333;line-height:1.4}.game-over-button{padding:15px 30px;font-size:18px;font-weight:700;border:none;border-radius:8px;cursor:pointer;margin-top:25px;transition:all .3s ease;min-width:200px}.victory-btn{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.victory-btn:hover{background:linear-gradient(135deg,#45a049,#3d8b40);transform:translateY(-2px);box-shadow:0 5px 15px rgba(76,175,80,.4)}.defeat-btn{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff}.defeat-btn:hover{background:linear-gradient(135deg,#d32f2f,#c62828);transform:translateY(-2px);box-shadow:0 5px 15px rgba(244,67,54,.4)}.neutral-btn{background:linear-gradient(135deg,#757575,#616161);color:#fff}.neutral-btn:hover{background:linear-gradient(135deg,#616161,#424242);transform:translateY(-2px);box-shadow:0 5px 15px hsla(0,0%,46%,.4)}@keyframes f{0%{transform:translateY(-50px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.share-button{bottom:15px;right:15px;width:50px;height:50px;background:linear-gradient(135deg,#00d4aa,#00b894);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 15px rgba(0,212,170,.4);transition:all .3s ease;z-index:50;position:absolute}.share-button:after{content:"";width:24px;height:24px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 24 24'%3E%3Cpath d='M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92-1.31-2.92-2.92-2.92z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:50%}.share-button:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 20px rgba(0,212,170,.5);background:linear-gradient(135deg,#00b894,#00a085)}.share-button:active{transform:translateY(0) scale(.95)}.share-button:before{content:"Compartilhar Vitória";position:absolute;bottom:55px;right:0;background:rgba(0,0,0,.8);color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s ease;transform:translateX(50%)}.share-button:hover:before{opacity:1}@media (max-width:768px){.share-button{width:40px;height:40px;font-size:18px;bottom:12px;right:12px}.share-button:before{font-size:11px;padding:6px 10px;bottom:50px}}.share-button{animation:g .8s ease-out .5s both}@keyframes g{0%{transform:translateX(100px) scale(0);opacity:0}to{transform:translateX(0) scale(1);opacity:1}}.share-dialog{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:2000;animation:i .3s ease-in-out}.share-dialog-content{background:#fff;border-radius:15px;padding:25px;max-width:90vw;width:400px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.3)}.share-dialog-content h3{margin:0 0 15px;color:#333;font-size:20px}.share-dialog-content textarea{width:100%;height:120px;border:2px solid #ddd;border-radius:8px;padding:10px;font-size:14px;resize:none;margin-bottom:15px;font-family:inherit}.share-dialog-buttons{display:flex;gap:10px;justify-content:center}.close-btn,.copy-btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s ease}.copy-btn{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.copy-btn:hover{background:linear-gradient(135deg,#45a049,#3d8b40)}.close-btn{background:linear-gradient(135deg,#757575,#616161);color:#fff}.close-btn:hover{background:linear-gradient(135deg,#616161,#424242)}.share-success{position:fixed;top:20px;right:20px;z-index:3000;animation:h .5s ease-out}.share-success-content{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:15px 20px;border-radius:10px;box-shadow:0 5px 15px rgba(76,175,80,.3);display:flex;align-items:center;gap:10px;max-width:300px}.share-success-icon{font-size:20px}.share-success-text{font-size:14px;font-weight:700}@keyframes h{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@media (max-width:480px){.share-dialog-content{padding:20px;width:95vw}.share-dialog-content h3{font-size:18px}.share-dialog-content textarea{height:100px;font-size:13px}.share-success{top:10px;right:10px;left:10px}.share-success-content{padding:12px 15px}.share-success-text{font-size:13px}}@media (max-width:768px){.game-over-message{font-size:28px}.game-over-box{padding:25px;margin:10px}.game-over-title{font-size:24px}.game-over-text{font-size:18px}.game-over-button{font-size:16px;padding:12px 25px}}@media (max-width:480px){.game-over-message{font-size:24px;padding:5px}.game-over-box{padding:20px;margin:5px}.game-over-title{font-size:22px;margin-bottom:15px}.game-over-content{flex-direction:column;gap:15px}.game-over-text{font-size:16px}.game-over-button{font-size:14px;padding:10px 20px;margin-top:20px;min-width:150px}.victory-medal{width:60px;height:60px}.victory-trophy{width:70px;height:80px}.trophy-bronze,.trophy-gold,.trophy-silver{width:60px;height:60px}.trophy-bronze:before,.trophy-gold:before,.trophy-silver:before{font-size:50px}.game-over-overlay.two-player-white-wins{padding-top:5vh}.game-over-overlay.two-player-black-wins{padding-bottom:5vh}}@keyframes i{0%{opacity:0}to{opacity:1}}.custom-alert{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:rgba(0,0,0,.9);color:#fff;padding:20px 30px;border-radius:10px;font-size:24px;font-weight:700;text-align:center;z-index:2000;max-width:90%;box-shadow:0 5px 15px rgba(0,0,0,.3);animation:i .3s ease-in-out}.custom-alert.checkmate{background-color:rgba(244,67,54,.95);padding:25px 35px;font-size:28px}.custom-alert.check{background-color:rgba(255,152,0,.95)}.custom-alert-button{display:block;margin:20px auto 0;padding:10px 20px;background-color:#fff;color:#000;border:none;border-radius:5px;font-size:18px;font-weight:700;cursor:pointer}@media (max-width:768px){.custom-alert{font-size:22px;padding:20px 25px;width:80%}.custom-alert.checkmate{font-size:24px}.custom-alert-button{padding:12px 20px;font-size:20px;margin-top:15px}}@keyframes j{0%,to{filter:brightness(1) drop-shadow(0 0 0 transparent);transform:scale(1);box-shadow:0 0 0 0 rgba(255,0,0,0)}25%{filter:brightness(1.3) drop-shadow(0 0 5px rgba(255,0,0,.6));transform:scale(1.08);box-shadow:0 0 10px 2px rgba(255,0,0,.4)}50%{filter:brightness(1.5) drop-shadow(0 0 8px rgba(255,50,50,.8));transform:scale(1.15);box-shadow:0 0 15px 3px rgba(255,0,0,.6)}75%{filter:brightness(1.3) drop-shadow(0 0 5px rgba(255,0,0,.6));transform:scale(1.08);box-shadow:0 0 10px 2px rgba(255,0,0,.4)}}.king-in-check{animation:j .7s infinite ease-in-out;position:relative;z-index:10;border-radius:50%}.king-in-check:before{content:"";position:absolute;top:-3px;left:-3px;right:-3px;bottom:-3px;background:radial-gradient(circle,rgba(255,0,0,.2) 0,rgba(255,0,0,.05) 50%,transparent 100%);border-radius:50%;z-index:-1;animation:k .7s infinite ease-in-out}@keyframes k{0%,to{opacity:.2;transform:scale(.95)}50%{opacity:.5;transform:scale(1.05)}}@media (max-width:480px){.king-in-check{animation:j .6s infinite ease-in-out}@keyframes j{0%,to{filter:brightness(1) drop-shadow(0 0 0 transparent);transform:scale(1);box-shadow:0 0 0 0 rgba(255,0,0,0)}25%{filter:brightness(1.4) drop-shadow(0 0 4px rgba(255,0,0,.7));transform:scale(1.12);box-shadow:0 0 8px 2px rgba(255,0,0,.5)}50%{filter:brightness(1.6) drop-shadow(0 0 6px rgba(255,30,30,.8));transform:scale(1.2);box-shadow:0 0 12px 3px rgba(255,0,0,.7)}75%{filter:brightness(1.4) drop-shadow(0 0 4px rgba(255,0,0,.7));transform:scale(1.12);box-shadow:0 0 8px 2px rgba(255,0,0,.5)}}.two-player-mode .piece.top-piece.king-in-check{animation:l .6s infinite ease-in-out}@keyframes l{0%,to{filter:brightness(1) drop-shadow(0 0 0 transparent);transform:rotate(180deg) scale(1);box-shadow:0 0 0 0 rgba(255,0,0,0)}25%{filter:brightness(1.4) drop-shadow(0 0 4px rgba(255,0,0,.7));transform:rotate(180deg) scale(1.12);box-shadow:0 0 8px 2px rgba(255,0,0,.5)}50%{filter:brightness(1.6) drop-shadow(0 0 6px rgba(255,30,30,.8));transform:rotate(180deg) scale(1.2);box-shadow:0 0 12px 3px rgba(255,0,0,.7)}75%{filter:brightness(1.4) drop-shadow(0 0 4px rgba(255,0,0,.7));transform:rotate(180deg) scale(1.12);box-shadow:0 0 8px 2px rgba(255,0,0,.5)}}}@keyframes m{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.player-turn-pulse{animation:m 1.2s infinite ease-in-out;border:2px solid transparent;border-radius:8px;box-shadow:0 0 8px rgba(0,0,0,.2)}#promotion-overlay{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;background:rgba(0,0,0,.7)!important;justify-content:center!important;z-index:10000!important}#promotion-overlay,#promotion-overlay>div{display:flex!important;align-items:center!important}#promotion-overlay>div{background:#fff!important;padding:30px 20px!important;border-radius:12px!important;box-shadow:0 4px 24px rgba(0,0,0,.3)!important;flex-direction:column!important;max-width:90vw!important}#promotion-overlay h3{margin:0 0 20px!important;color:#333!important;font-size:18px!important;text-align:center!important}#promotion-overlay button{background:none!important;border:2px solid #ddd!important;border-radius:8px!important;cursor:pointer!important;padding:10px!important;transition:all .2s ease!important}#promotion-overlay button:hover{border-color:#2575fc!important;transform:scale(1.1)!important;box-shadow:0 2px 8px rgba(0,0,0,.2)!important}#promotion-overlay img{width:60px!important;height:60px!important;display:block!important}@media (max-width:480px){#promotion-overlay>div{padding:20px 15px!important}#promotion-overlay h3{font-size:16px!important;margin-bottom:15px!important}#promotion-overlay img{width:50px!important;height:50px!important}#promotion-overlay button{padding:8px!important}}.victory-medal{width:80px;height:80px;border-radius:50%}.victory-medal,.victory-trophy{margin-left:20px;display:flex;align-items:center;justify-content:center;position:relative;animation:medalPulse 2s infinite ease-in-out}.victory-trophy{width:90px;height:100px}.medal-bronze{background:linear-gradient(135deg,#cd7f32,#8b4513,#cd7f32)!important;border:3px solid #8b4513!important;box-shadow:0 0 20px rgba(205,127,50,.6)!important;border-radius:50%!important}.medal-bronze,.medal-silver{display:flex!important;align-items:center!important;justify-content:center!important;width:80px!important;height:80px!important;flex-shrink:0!important;opacity:1!important;visibility:visible!important;z-index:100!important}.medal-silver{background:linear-gradient(135deg,silver,gray,silver)!important;border:3px solid gray!important;box-shadow:0 0 20px hsla(0,0%,75%,.6)!important;border-radius:50%!important}.medal-gold{background:linear-gradient(135deg,gold,orange,gold)!important;border:3px solid orange!important;box-shadow:0 0 20px rgba(255,215,0,.8)!important;border-radius:50%!important}.medal-gold,.trophy-bronze,.trophy-gold,.trophy-silver{display:flex!important;align-items:center!important;justify-content:center!important;width:80px!important;height:80px!important;flex-shrink:0!important;opacity:1!important;visibility:visible!important;z-index:100!important}.trophy-bronze,.trophy-gold,.trophy-silver{font-size:70px!important;position:relative!important;background:none!important;border:none!important;box-shadow:none!important}.trophy-bronze:before{content:"🥉"!important}.trophy-bronze:before,.trophy-silver:before{font-size:70px!important;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.2))!important;display:block!important;opacity:1!important;visibility:visible!important;z-index:101!important}.trophy-silver:before{content:"🥈"!important}.trophy-gold:before{content:"🥇"!important;font-size:70px!important;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.2))!important;display:block!important;opacity:1!important;visibility:visible!important;z-index:101!important}.victory-medal:before,.victory-trophy:before{content:"";position:absolute;width:40px;height:40px;background-size:contain;background-repeat:no-repeat;background-position:50%}.medal-bronze:before{content:"🥉"!important}.medal-bronze:before,.medal-silver:before{font-size:35px!important;display:block!important;opacity:1!important;visibility:visible!important;z-index:101!important}.medal-silver:before{content:"🥈"!important}.medal-gold:before{content:"🥇"!important;font-size:35px!important;display:block!important;opacity:1!important;visibility:visible!important;z-index:101!important}.victory-message-container{display:flex;align-items:center;justify-content:center;gap:20px;padding:20px;background:linear-gradient(135deg,rgba(76,175,80,.95),rgba(56,142,60,.95));border-radius:15px;box-shadow:0 8px 32px rgba(0,0,0,.3);max-width:90vw;animation:o .8s ease-out}.victory-message-container.grandmaster-victory{background:linear-gradient(135deg,rgba(255,215,0,.95),rgba(255,165,0,.95),rgba(255,215,0,.95));box-shadow:0 0 50px rgba(255,215,0,.8),0 0 100px rgba(255,165,0,.6);animation:n 2s ease-in-out infinite}@keyframes n{0%,to{box-shadow:0 0 50px rgba(255,215,0,.8),0 0 100px rgba(255,165,0,.6)}50%{box-shadow:0 0 80px gold,0 0 150px rgba(255,165,0,.8)}}.victory-message-text{flex:1;color:#fff;font-size:24px;font-weight:700;text-align:center;text-shadow:2px 2px 4px rgba(0,0,0,.5);line-height:1.4}.defeat-message-container{display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,rgba(244,67,54,.95),rgba(211,47,47,.95));border-radius:15px;box-shadow:0 8px 32px rgba(0,0,0,.3);max-width:90vw;animation:o .8s ease-out}.defeat-message-text{color:#fff;font-size:24px;font-weight:700;text-align:center;text-shadow:2px 2px 4px rgba(0,0,0,.5);line-height:1.4}@keyframes o{0%{transform:translateY(-50px) scale(.8);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@media (max-width:480px){.victory-medal,.victory-trophy{width:60px;height:60px;margin-left:15px}.medal-bronze:before,.medal-gold:before,.medal-silver:before,.trophy-bronze:before,.trophy-gold:before,.trophy-silver:before{font-size:25px!important}.defeat-message-text,.victory-message-text{font-size:18px}.defeat-message-container,.victory-message-container{gap:15px;padding:15px}}.trophy-gold:after{content:"";position:absolute;top:-5px;left:-5px;right:-5px;bottom:-5px;background:linear-gradient(45deg,transparent,rgba(255,215,0,.4),transparent);border-radius:inherit;animation:p 2s linear infinite;z-index:-1}@keyframes p{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.trophy-gold.grandmaster-victory{animation:q 1s ease-in-out infinite}@keyframes q{0%,to{transform:scale(1) rotate(0deg);box-shadow:0 0 30px rgba(255,215,0,.9)}25%{transform:scale(1.15) rotate(-5deg);box-shadow:0 0 50px gold,0 0 70px rgba(255,215,0,.7)}75%{transform:scale(1.15) rotate(5deg);box-shadow:0 0 50px gold,0 0 70px rgba(255,215,0,.7)}}.victory-stars{position:absolute;width:100%;height:100%;pointer-events:none;overflow:hidden}.star{position:absolute;color:gold;font-size:20px;animation:r 2s ease-in-out infinite}@keyframes r{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.gold-particles{position:absolute;width:100%;height:100%;pointer-events:none;overflow:hidden}.gold-particle{position:absolute;width:4px;height:4px;background:radial-gradient(circle,gold,orange);border-radius:50%;animation:s 3s ease-in-out infinite}@keyframes s{0%{transform:translateY(100vh) scale(0);opacity:0}10%{opacity:1;transform:scale(1)}90%{opacity:1}to{transform:translateY(-100px) scale(0);opacity:0}}.game-over-back-button{margin-top:25px;padding:12px 30px;font-size:18px;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 15px rgba(0,0,0,.2)}.victory-button{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.victory-button:hover{background:linear-gradient(135deg,#45a049,#3d8b40);transform:translateY(-2px);box-shadow:0 6px 20px rgba(76,175,80,.4)}.defeat-button{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff}.defeat-button:hover{background:linear-gradient(135deg,#d32f2f,#b71c1c);transform:translateY(-2px);box-shadow:0 6px 20px rgba(244,67,54,.4)}.game-over-back-button:active{transform:translateY(0);box-shadow:0 2px 10px rgba(0,0,0,.2)}@media (max-width:480px){.game-over-back-button{margin-top:20px;padding:10px 25px;font-size:16px}}.defeat-message-container,.victory-message-container{flex-direction:column;align-items:center;text-align:center}@media (max-width:768px){.player-turn-pulse{animation:none!important;transform:none!important;opacity:1!important;box-shadow:0 0 5px rgba(0,0,0,.15)!important}}
@media (max-width:480px){.player-turn-pulse{animation:none!important;transform:none!important;opacity:1!important;box-shadow:none!important;border:none!important}}.ches
sboard.theme-gray .light-square{background-color:#f0d9b5}.chessboard.theme-gray .dark-square{background-color:#9EA1A6}