*,:before,:after{box-sizing:border-box}body{margin:0}#root{min-height:100vh}*{box-sizing:border-box;margin:0;padding:0}body{color:#eee;background:#1a1a2e;min-height:100vh;font-family:Segoe UI,sans-serif}.app{flex-direction:column;align-items:center;min-height:100vh;padding:24px 16px;display:flex;position:relative}.made-by{color:#557;font-size:20px;position:fixed;bottom:12px;right:16px}.social-links{align-items:center;gap:10px;display:flex;position:fixed;bottom:12px;left:16px}@media (width<=600px){.social-links{justify-content:center;margin-top:24px;position:static}.made-by{text-align:center;margin-top:8px;margin-bottom:16px;font-size:14px;position:static}}.social-icon{opacity:.6;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.social-icon:hover{opacity:1}.back-btn{color:#b0a8c8;background:#2a2840;border:1px solid #3a3860;border-radius:7px;padding:10px 20px;font-size:16px;font-weight:600;text-decoration:none;transition:background .13s,color .13s;position:absolute;top:20px;left:24px}.back-btn:hover{color:#e0d8f8;background:#33305a}.lang-btn-wrap{z-index:100;position:absolute;top:20px;right:24px}.lang-btn{color:#b0a8c8;cursor:pointer;background:#2a2840;border:1px solid #3a3860;border-radius:7px;align-items:center;gap:6px;padding:10px 20px;font-size:16px;font-weight:600;transition:background .13s,color .13s;display:flex}.lang-btn:hover{color:#e0d8f8;background:#33305a}.lang-caret{font-size:12px}.lang-dropdown{background:#2a2840;border:1px solid #3a3860;border-radius:7px;min-width:140px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 4px 16px #0006}.lang-option{color:#b0a8c8;cursor:pointer;text-align:left;background:0 0;border:none;width:100%;padding:10px 16px;font-size:15px;font-weight:500;transition:background .1s,color .1s;display:block}.lang-option:hover{color:#e0d8f8;background:#33305a}.lang-option.active{color:#f0d9b5;font-weight:700}h1{letter-spacing:4px;text-transform:uppercase;color:#f0d9b5;margin-bottom:24px;font-size:2rem}.game-layout{align-items:flex-start;gap:24px;display:flex}.board-container{border:4px solid #b58863;border-radius:4px;position:relative;box-shadow:0 8px 32px #00000080}.board-overlay{z-index:10;pointer-events:none;background:#0000008c;justify-content:center;align-items:center;animation:1.5s 3s forwards overlayFadeOut;display:flex;position:absolute;inset:0}@keyframes overlayFadeOut{to{opacity:0}}@keyframes generalAppear{0%{opacity:0;transform-origin:50%;transform:scale(.8)}to{opacity:1;transform-origin:50%;transform:scale(1)}}@keyframes drawX{to{stroke-dashoffset:0}}.board-overlay-text{letter-spacing:4px;text-transform:uppercase;text-shadow:0 2px 16px #000c;font-size:4rem;font-weight:900}.board-overlay-text.victory{color:#f0d9b5}.board-overlay-text.defeat{color:#e74c3c}.board-overlay-text.draw{color:#aaa}.sidebar{flex-direction:column;gap:16px;width:320px;max-height:720px;display:flex}.history-panel{flex-direction:column;width:240px;max-height:720px;display:flex}.player-info{color:#ddd;background:#16213e;border:1px solid #2a2a4a;border-radius:6px;padding:10px 12px;font-size:.9rem}.option-row{gap:8px;margin-top:8px;display:flex}.option-btn{flex:1;padding:8px;font-size:.8rem}.setup-overlay{z-index:5;cursor:crosshair;position:absolute;inset:0}.piece-palette{grid-template-columns:repeat(5,1fr);gap:6px;margin-top:8px;display:grid}.palette-btn{aspect-ratio:1;cursor:pointer;background:#2a2840;border:2px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:5px;font-size:1.1rem;transition:border-color .13s,background .13s;display:flex}.palette-btn:hover{background:#33305a}.palette-btn.selected{background:#33305a;border-color:#f0d9b5}.palette-btn.erase{color:#aaa}.status{text-align:center;color:#f0d9b5;background:#16213e;border:1px solid #b58863;border-radius:6px;justify-content:center;align-items:center;min-height:48px;padding:12px 16px;font-size:.95rem;font-weight:500;display:flex}.status.game-over{color:#e74c3c;border-color:#e74c3c;font-weight:700}.reset-btn{color:#1a1a2e;cursor:pointer;letter-spacing:1px;text-transform:uppercase;background:#b58863;border:none;border-radius:6px;padding:10px;font-size:.95rem;font-weight:700;transition:background .2s}.reset-btn:hover{background:#f0d9b5}.history,.rules{background:#16213e;border:1px solid #2a2a4a;border-radius:6px;padding:12px}.rules h3{letter-spacing:2px;text-transform:uppercase;color:#888;margin-bottom:10px;font-size:.8rem}.rules ul{color:#d4d8e8;flex-direction:column;gap:6px;margin-left:16px;font-size:.85rem;line-height:1.35;display:flex}.history h3{letter-spacing:2px;text-transform:uppercase;color:#888;margin-bottom:10px;font-size:.8rem}.moves-list{flex-direction:column;gap:2px;max-height:660px;display:flex;overflow-y:auto}.move-row{grid-template-columns:28px 1fr 1fr;gap:4px;padding:2px 0;font-size:.85rem;display:grid}.move-num{color:#666}.move{color:#ccc;font-family:monospace}.move-active{color:#f0d9b5;font-weight:700}.board-container-wrap{flex-direction:column;align-items:center;gap:12px;display:flex}.back-move-btn{width:120px}.review-controls{align-items:center;gap:8px;display:flex}.review-label{color:#b0a8c8;letter-spacing:.5px;font-size:.85rem;font-weight:600}.review-arrow{color:#b0a8c8;cursor:pointer;background:#2a2840;border:1px solid #3a3860;border-radius:6px;justify-content:center;align-items:center;width:48px;height:40px;font-size:1.6rem;line-height:1;transition:background .13s,color .13s;display:flex}.review-arrow:hover:not(:disabled){color:#e0d8f8;background:#33305a}.review-arrow:disabled{opacity:.3;cursor:default}@media (width<=900px){.app{padding:16px 16px 32px}h1{letter-spacing:2px;margin-top:44px;margin-bottom:16px;font-size:1.4rem}.back-btn{padding:7px 12px;font-size:13px}.game-layout{flex-direction:column;align-items:center;width:100%}.board-container-wrap{order:1;align-items:center;width:100%}.sidebar{order:2;width:100%;max-height:none}.history-panel{order:3;width:100%;max-height:180px}.moves-list{max-height:120px}.board-overlay-text{letter-spacing:2px;font-size:2.5rem}.reset-btn{padding:14px;font-size:1rem}.review-controls{justify-content:center;width:100%}.review-arrow{width:44px;height:44px}}
