.chess_wrapper__zzJIM{min-height:100vh;padding:.5rem;background:var(--background)}.chess_container__HKncu,.chess_wrapper__zzJIM{display:flex;flex-direction:column;align-items:center}.chess_container__HKncu{width:100%;max-width:600px}.chess_header___peH6{width:100%;display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;padding:0 .5rem}.chess_titleBlock__gqsJd h1{font-family:var(--font-raleway,sans-serif);font-weight:900;font-size:1.75rem;color:var(--primary);line-height:1}.chess_subtitle__VpV_v{font-size:.7rem;color:var(--text-light);margin-top:2px}.chess_status__kFZW8{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.chess_statusLabel__jUQhl{font-size:.6rem;font-weight:600;text-transform:uppercase;color:var(--text-light)}.chess_statusValue__MdWMN{font-family:Courier New,monospace;font-size:1rem;font-weight:700;color:var(--text)}.chess_turn__yhvaZ{display:flex;align-items:center;gap:6px}.chess_turnIndicator__BJida{width:12px;height:12px;border-radius:50%;border:1px solid #666}.chess_turnWhite__28fre{background:#fff}.chess_turnBlack__pK76z{background:#333}.chess_boardWrapper__qslJ0{position:relative;width:100%;max-width:480px;background:#5d4e37;border-radius:8px;padding:8px;box-shadow:0 4px 20px rgba(0,0,0,.3)}.chess_board__R7uzu{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1;border:2px solid #3d3428;border-radius:2px;overflow:hidden}.chess_square__oGzCA{aspect-ratio:1;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;font-size:clamp(1.5rem,8vw,3rem);-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;transition:background .1s}.chess_squareLight__AX30O{background:#f0d9b5}.chess_squareDark__V7xlN{background:#b58863}.chess_squareSelected__zF64K{background:#829769!important}.chess_squareValidMove___Hrzh{position:relative}.chess_squareValidMove___Hrzh:after{content:"";position:absolute;width:30%;height:30%;background:rgba(0,0,0,.15);border-radius:50%}.chess_squareCapture__lONkk:after{width:90%;height:90%;background:transparent;border:4px solid rgba(0,0,0,.15);border-radius:50%}.chess_squareLastMove__3BYSK{background:#cdd26a!important}.chess_squareCheck__vwenv{background:radial-gradient(circle,#ff6b6b 0,#ff6b6b 25%,transparent 70%)!important}.chess_piece__DBk4E{font-size:inherit;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.3);pointer-events:none}.chess_pieceWhite__hjP0s{filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.chess_pieceBlack__pOi97{filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.chess_thinking__9M9yl{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.8);color:white;padding:12px 24px;border-radius:8px;font-size:.9rem;font-weight:600;z-index:10;display:flex;align-items:center;gap:8px}.chess_thinkingDots__77op1:after{content:"";animation:chess_dots__evWML 1.5s infinite}@keyframes chess_dots__evWML{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.chess_controls__KQHB4{display:flex;gap:8px;margin-top:.75rem;width:100%;max-width:400px;justify-content:center;flex-wrap:wrap}.chess_controlBtn__ZYAQU{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 16px;border:2px solid #ddd;border-radius:8px;background:white;cursor:pointer;-webkit-tap-highlight-color:transparent;-moz-user-select:none;user-select:none;-webkit-user-select:none;transition:all .15s;flex:1;min-width:80px;max-width:120px}.chess_controlBtn__ZYAQU:active{background:#f0f0f0}.chess_controlBtn__ZYAQU:disabled{opacity:.4;cursor:default}.chess_controlIcon__EJA_q{font-size:1.3rem}.chess_controlLabel__nMSw_{font-size:.55rem;font-weight:700;text-transform:uppercase;color:var(--text-light)}.chess_captured__OWZuW{display:flex;justify-content:space-between;width:100%;max-width:480px;margin-top:.5rem;padding:0 4px}.chess_capturedRow__ljeLU{display:flex;gap:2px;flex-wrap:wrap;font-size:1.2rem}.chess_overlay__AH272{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000}.chess_modal__pj4Fe{background:white;border-radius:12px;padding:28px;max-width:360px;width:90%;text-align:center}.chess_modal__pj4Fe h2{font-family:var(--font-raleway,sans-serif);font-weight:900;font-size:1.5rem;color:var(--primary);margin-bottom:12px}.chess_modal__pj4Fe p{color:var(--text-light);font-size:.9rem;margin-bottom:16px;line-height:1.6}.chess_modalBtns__xDLky{display:flex;flex-direction:column;gap:8px}.chess_btn__K612W{background:var(--accent);color:white;border:none;padding:12px 24px;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;transition:opacity .2s;width:100%}.chess_btn__K612W:hover{opacity:.85}.chess_btnSecondary__v_0b6{background:#e5e7eb;color:var(--text)}.chess_promotionOverlay__5ozOZ{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:20}.chess_promotionDialog__8JnD8{background:white;border-radius:8px;padding:12px;display:flex;gap:8px}.chess_promotionPiece__2aliV{width:50px;height:50px;display:flex;align-items:center;justify-content:center;font-size:2rem;background:#f0d9b5;border:2px solid #b58863;border-radius:4px;cursor:pointer;transition:transform .1s}.chess_promotionPiece__2aliV:hover{transform:scale(1.1)}.chess_difficultySelector__U8d6N{display:flex;gap:8px;margin-bottom:16px}.chess_difficultyBtn__7RGP0{padding:8px 16px;border:2px solid #ddd;border-radius:6px;background:white;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .15s}.chess_difficultyBtn__7RGP0:hover{border-color:var(--accent)}.chess_difficultyBtnActive__OzVuq{background:var(--accent);color:white;border-color:var(--accent)}@media (max-width:500px){.chess_wrapper__zzJIM{padding:.25rem}.chess_header___peH6{padding:0 .25rem}.chess_titleBlock__gqsJd h1{font-size:1.4rem}.chess_boardWrapper__qslJ0{padding:4px;border-radius:4px}.chess_square__oGzCA{font-size:clamp(1.2rem,10vw,2.5rem)}.chess_controls__KQHB4{gap:6px}.chess_controlBtn__ZYAQU{padding:8px 12px;min-width:70px}.chess_controlIcon__EJA_q{font-size:1.1rem}.chess_controlLabel__nMSw_{font-size:.5rem}}