@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css);#app{height:100vh;width:100vw}.home-page{height:100%;width:100%;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;justify-content:center;align-items:center}.container{width:80%;max-width:800px;background:hsla(0,0%,100%,.9);border-radius:12px;padding:40px;box-shadow:0 10px 30px rgba(0,0,0,.1);text-align:center}h1{margin-bottom:40px;color:#2c3e50;font-size:2.5rem;position:relative;padding-bottom:15px}h1:after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:100px;height:3px;background:linear-gradient(90deg,#1976d2,#64b5f6);border-radius:3px}.demo-links{display:flex;justify-content:center;gap:30px;margin-top:40px}.link-card{flex:1;background:#fff;border-radius:12px;padding:30px;box-shadow:0 5px 15px rgba(0,0,0,.05);transition:all .3s ease;cursor:pointer;display:flex;flex-direction:column;align-items:center}.link-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,.1)}.link-card i{font-size:3rem;margin-bottom:20px;color:#1976d2}.link-card h3{margin-bottom:10px;color:#2c3e50}.link-card p{color:#666}@media (max-width:768px){.demo-links{flex-direction:column}.container{width:90%;padding:30px}h1{font-size:2rem}}.home-container[data-v-11e5eda9]{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:0 20px}.hero-section[data-v-11e5eda9]{text-align:center;padding:80px 20px}.hero-section h1[data-v-11e5eda9]{font-size:48px;color:#4a148c;margin:0 0 20px 0}.hero-section p[data-v-11e5eda9]{font-size:20px;color:#666;max-width:800px;margin:0 auto}.features-section[data-v-11e5eda9]{padding:40px 0 80px}.feature-cards[data-v-11e5eda9]{display:flex;justify-content:center;flex-wrap:wrap;gap:30px;max-width:1200px;margin:0 auto}.feature-card[data-v-11e5eda9]{background:#fff;border-radius:12px;padding:30px;width:320px;box-shadow:0 10px 30px rgba(0,0,0,.1);text-align:center;transition:all .3s ease;cursor:pointer}.feature-card[data-v-11e5eda9]:hover{transform:translateY(-10px);box-shadow:0 15px 40px rgba(0,0,0,.15)}.feature-card.disabled[data-v-11e5eda9]{opacity:.7;cursor:not-allowed}.feature-card.disabled[data-v-11e5eda9]:hover{transform:none;box-shadow:0 10px 30px rgba(0,0,0,.1)}.card-icon[data-v-11e5eda9]{font-size:48px;color:#4a148c;margin-bottom:20px}.feature-card h2[data-v-11e5eda9]{font-size:24px;color:#2c3e50;margin:0 0 15px 0}.feature-card p[data-v-11e5eda9]{color:#666;font-size:16px;line-height:1.5;margin:0 0 25px 0;min-height:72px}.card-btn[data-v-11e5eda9]{background:#4a148c;color:#fff;border:none;border-radius:6px;padding:12px 24px;font-size:16px;cursor:pointer;transition:all .3s ease}.card-btn[data-v-11e5eda9]:hover{background:#7b1fa2}.card-btn.disabled[data-v-11e5eda9]{background:#9e9e9e;cursor:not-allowed}.card-btn.disabled[data-v-11e5eda9]:hover{background:#9e9e9e}.about-section[data-v-11e5eda9]{background:hsla(0,0%,100%,.9);border-radius:12px;padding:40px;max-width:1000px;margin:0 auto 80px;box-shadow:0 4px 6px rgba(0,0,0,.1);text-align:center}.about-section h2[data-v-11e5eda9]{font-size:32px;color:#4a148c;margin:0 0 20px 0}.about-section p[data-v-11e5eda9]{color:#444;font-size:16px;line-height:1.8;margin:0}@media (max-width:768px){.hero-section h1[data-v-11e5eda9]{font-size:36px}.hero-section p[data-v-11e5eda9]{font-size:18px}.feature-card[data-v-11e5eda9]{width:100%}.feature-card p[data-v-11e5eda9]{min-height:auto}.about-section[data-v-11e5eda9]{padding:30px}}.chess-board-container[data-v-45cabb66]{display:flex;flex-direction:column;align-items:center;width:100%;height:100%;padding:20px;box-sizing:border-box}.chess-placeholder[data-v-45cabb66]{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:400px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:16px;color:#64748b;text-align:center;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.chess-icon[data-v-45cabb66]{font-size:64px;margin-bottom:16px;opacity:.6;color:#8b5cf6}.chess-placeholder p[data-v-45cabb66]{margin:8px 0;font-size:18px;font-weight:500}.simple-chessboard[data-v-45cabb66]{display:flex;flex-direction:column;align-items:center;width:100%;height:100%}.board-grid[data-v-45cabb66]{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);width:100%;max-width:600px;aspect-ratio:1/1;border:4px solid #8b4513;border-radius:12px;overflow:hidden;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04),inset 0 0 0 1px hsla(0,0%,100%,.1);background:linear-gradient(45deg,#8b4513,sienna);position:relative}.board-grid[data-v-45cabb66]:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,#d4af37,gold,#d4af37);border-radius:14px;z-index:-1}.chess-square[data-v-45cabb66]{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;transition:all .3s ease;overflow:hidden}.chess-square.light[data-v-45cabb66]{background:linear-gradient(135deg,#f0d9b5,#f5e6d3)}.chess-square.dark[data-v-45cabb66]{background:linear-gradient(135deg,#b58863,#8b6f47)}.chess-square[data-v-45cabb66]:hover{box-shadow:inset 0 0 0 2px rgba(59,130,246,.5);transform:scale(1.02)}.chess-square.highlight[data-v-45cabb66]{background:linear-gradient(135deg,#fef08a,#fde047)!important;box-shadow:inset 0 0 0 3px #eab308;animation:pulse-45cabb66 2s infinite}.chess-square.last-move[data-v-45cabb66]{background:linear-gradient(135deg,#bbf7d0,#86efac)!important;box-shadow:inset 0 0 0 2px #22c55e}@keyframes pulse-45cabb66{0%,to{opacity:1}50%{opacity:.8}}.chess-piece[data-v-45cabb66]{width:85%;height:85%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.3))}.chess-piece img[data-v-45cabb66]{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;transition:all .2s ease}.chess-piece[data-v-45cabb66]:hover{transform:scale(1.1);filter:drop-shadow(4px 4px 8px rgba(0,0,0,.4))}.chess-piece:hover img[data-v-45cabb66]{filter:brightness(1.1)}.square-notation[data-v-45cabb66]{position:absolute;font-size:12px;font-weight:700;color:rgba(0,0,0,.7);text-shadow:1px 1px 2px hsla(0,0%,100%,.8);pointer-events:none}.chess-square.light .square-notation[data-v-45cabb66]{color:#8b4513}.chess-square.dark .square-notation[data-v-45cabb66]{color:#f0d9b5;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.chess-square:first-child .square-notation[data-v-45cabb66],.chess-square:nth-child(8n+1) .square-notation[data-v-45cabb66]{top:4px;left:4px}.chess-square:nth-child(n+57) .square-notation[data-v-45cabb66]{bottom:4px;right:4px}.move-info-simple[data-v-45cabb66]{margin-top:20px;padding:16px 24px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;font-size:14px;color:#475569;border:1px solid #e2e8f0;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);min-width:300px;text-align:center}.current-position[data-v-45cabb66]{display:flex;flex-direction:column;gap:8px}.current-position .label[data-v-45cabb66]{font-weight:600;color:#334155}.current-position .fen[data-v-45cabb66]{font-family:Courier New,monospace;font-size:12px;color:#64748b;background:hsla(0,0%,100%,.8);padding:8px 12px;border-radius:6px;border:1px solid #e2e8f0}.advanced-chessboard[data-v-45cabb66]{background:#f0f0f0;border:2px solid #8b4513;border-radius:6px}.flipped .chess-piece[data-v-45cabb66],.flipped .square-notation[data-v-45cabb66],.flipped[data-v-45cabb66]{transform:rotate(180deg)}@media (max-width:768px){.chess-board-container[data-v-45cabb66]{padding:12px}.board-grid[data-v-45cabb66]{max-width:90vw;border-width:3px}.square-notation[data-v-45cabb66]{font-size:10px}.move-info-simple[data-v-45cabb66]{min-width:auto;width:90%;padding:12px 16px}}@media (max-width:480px){.chess-board-container[data-v-45cabb66]{padding:8px}.board-grid[data-v-45cabb66]{border-width:2px;border-radius:8px}.chess-piece[data-v-45cabb66]{width:90%;height:90%}}.moves-list[data-v-5ddf17e7]{width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column}.moves-container[data-v-5ddf17e7]{flex:1;overflow-y:auto;padding-right:8px}.moves-container[data-v-5ddf17e7]::-webkit-scrollbar{width:6px}.moves-container[data-v-5ddf17e7]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.moves-container[data-v-5ddf17e7]::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.moves-container[data-v-5ddf17e7]::-webkit-scrollbar-thumb:hover{background:#555}.move-item[data-v-5ddf17e7]{display:flex;align-items:center;padding:8px;border-radius:6px;cursor:pointer;transition:all .3s ease}.move-item[data-v-5ddf17e7]:hover{background:#f0f0f0}.move-item.active[data-v-5ddf17e7]{background:#e3f2fd;color:#1976d2}.move-number[data-v-5ddf17e7]{width:40px;color:#666}.move-text[data-v-5ddf17e7]{flex:1;font-weight:500}.move-time[data-v-5ddf17e7]{font-size:12px;color:#999}.chess-replay-app[data-v-ae6853f8]{max-width:600px;margin:0 auto;padding:20px;font-family:Roboto,Arial,sans-serif;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);min-height:100vh}.loading-overlay[data-v-ae6853f8]{position:fixed;top:0;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.9);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:100}.loading-spinner[data-v-ae6853f8]{width:50px;height:50px;border:4px solid #edf2f7;border-radius:50%;border-top-color:gold;animation:spinner-ae6853f8 1s linear infinite;margin-bottom:15px}@keyframes spinner-ae6853f8{to{transform:rotate(1turn)}}.error-message[data-v-ae6853f8]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;padding:30px;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.15);text-align:center;width:80%;max-width:350px;z-index:100}.error-message i[data-v-ae6853f8]{font-size:40px;color:#e53e3e;margin-bottom:15px}.error-message p[data-v-ae6853f8]{margin-bottom:20px;color:#4a5568;font-size:16px}.retry-button[data-v-ae6853f8]{background:gold;border:none;color:#1a202c;padding:10px 20px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease}.retry-button[data-v-ae6853f8]:hover{background:#f6e05e;transform:translateY(-1px)}.header-section[data-v-ae6853f8]{text-align:center;padding:15px;background:#fff;border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,.07);margin-bottom:15px;position:relative;overflow:hidden}.header-section[data-v-ae6853f8]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,gold,#d4af37)}.game-title[data-v-ae6853f8]{font-size:18px;color:#1a202c;margin:0 0 8px 0;font-weight:600}.game-meta[data-v-ae6853f8]{color:#718096;font-size:12px;display:flex;justify-content:center;align-items:center;gap:12px}.game-meta .event[data-v-ae6853f8]{position:relative;padding-right:12px}.game-meta .event[data-v-ae6853f8]:after{content:"•";position:absolute;right:0;color:#cbd5e0}.game-result[data-v-ae6853f8]{margin-top:10px;display:flex;justify-content:center}.result-badge[data-v-ae6853f8]{display:inline-flex;align-items:center;justify-content:center;padding:5px 12px;border-radius:20px;font-size:14px;font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.1);animation:pulseResult-ae6853f8 2s infinite}@keyframes pulseResult-ae6853f8{0%{box-shadow:0 0 0 0 rgba(255,215,0,.4)}70%{box-shadow:0 0 0 6px rgba(255,215,0,0)}to{box-shadow:0 0 0 0 rgba(255,215,0,0)}}.white-win[data-v-ae6853f8]{background:linear-gradient(45deg,#f7f7f7,#fff);border:1px solid gold;color:#333}.black-win[data-v-ae6853f8]{background:linear-gradient(45deg,#2d3748,#1a202c);border:1px solid #2d3748;color:#fff}.draw[data-v-ae6853f8]{background:linear-gradient(45deg,#cbd5e0,#e2e8f0);border:1px solid #a0aec0;color:#4a5568}.result-icon[data-v-ae6853f8]{margin-right:6px;font-size:16px}.white-win .result-icon[data-v-ae6853f8]{color:gold}.black-win .result-icon[data-v-ae6853f8]{color:#a0aec0}.draw .result-icon[data-v-ae6853f8]{color:#718096}.players-section[data-v-ae6853f8]{display:flex;justify-content:space-between;margin-bottom:15px;background:#fff;border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,.07);padding:12px;position:relative}.vs-indicator[data-v-ae6853f8]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.1);font-weight:600;font-size:12px;color:#4a5568;z-index:1}.player-card[data-v-ae6853f8]{display:flex;align-items:center;gap:10px;width:46%;position:relative;z-index:1}.player-card.white[data-v-ae6853f8]{border-left:3px solid gold;padding-left:8px}.player-card.black[data-v-ae6853f8]{border-right:3px solid #333;padding-right:8px;flex-direction:row-reverse;text-align:right}.player-avatar[data-v-ae6853f8]{width:46px;height:46px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.1);background:#f5f7fa;position:relative}.result-indicator[data-v-ae6853f8]{position:absolute;top:-3px;right:-3px;width:20px;height:20px;border-radius:50%;background-color:#10b981;color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0,0,0,.2);border:2px solid #fff;font-weight:700;z-index:2}.result-indicator.loss[data-v-ae6853f8]{background-color:#ef4444}.result-indicator.draw[data-v-ae6853f8]{background-color:#f59e0b}.player-card.black .player-avatar .result-indicator[data-v-ae6853f8]{left:-3px;right:auto}.player-avatar img[data-v-ae6853f8]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.player-info[data-v-ae6853f8]{overflow:hidden}.player-name[data-v-ae6853f8]{margin:0 0 2px 0;font-size:14px;color:#1a202c;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-rating[data-v-ae6853f8]{display:flex;align-items:center;gap:3px;color:#718096;font-size:12px}.player-card.black .player-rating[data-v-ae6853f8]{justify-content:flex-end}.rating-star[data-v-ae6853f8]{color:gold;font-size:14px}.board-section[data-v-ae6853f8]{margin-bottom:15px;display:flex;justify-content:center}.board-container[data-v-ae6853f8]{width:100%;max-width:320px;aspect-ratio:1/1}.board-container[data-v-ae6853f8],.moves-section[data-v-ae6853f8]{background:#fff;padding:12px;border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,.07)}.moves-section[data-v-ae6853f8]{margin-bottom:70px;height:200px}.control-panel[data-v-ae6853f8]{position:fixed;bottom:0;left:0;right:0;background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:0 -4px 15px rgba(0,0,0,.07);padding:15px;display:flex;justify-content:center;align-items:center;gap:20px;z-index:10}.control-buttons[data-v-ae6853f8]{display:flex;gap:10px}.control-btn[data-v-ae6853f8]{width:40px;height:40px;border-radius:50%;border:none;background:#f0f0f0;color:#333;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.control-btn[data-v-ae6853f8]:hover:not(:disabled){background:#e0e0e0;transform:translateY(-2px)}.control-btn[data-v-ae6853f8]:disabled{opacity:.5;cursor:not-allowed}.play-btn[data-v-ae6853f8]{width:50px;height:50px;background:gold;color:#333}.play-btn[data-v-ae6853f8]:hover{background:#f6e05e}.playback-speed select[data-v-ae6853f8]{padding:8px;border-radius:20px;border:1px solid #ddd;background:#fff;font-size:14px;outline:none}@media (max-width:600px){.chess-replay-app[data-v-ae6853f8]{padding:10px}.board-container[data-v-ae6853f8]{padding:8px}.control-panel[data-v-ae6853f8]{padding:10px}.control-btn[data-v-ae6853f8]{width:36px;height:36px}.play-btn[data-v-ae6853f8]{width:44px;height:44px}}.player-card.white .player-avatar[data-v-ae6853f8]:after{content:"♔";right:-2px;background:gold}.player-card.black .player-avatar[data-v-ae6853f8]:after,.player-card.white .player-avatar[data-v-ae6853f8]:after{position:absolute;bottom:-2px;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;border:2px solid #fff;z-index:1}.player-card.black .player-avatar[data-v-ae6853f8]:after{content:"♚";left:-2px;background:#333}.teacher-chess-board[data-v-0166d1c7]{display:flex;flex-direction:column;height:calc(100% - 30px);width:calc(100% - 30px);box-sizing:border-box;margin:5px}.board-wrapper[data-v-0166d1c7]{position:relative;width:100%;height:100%;aspect-ratio:1/1;margin:0 auto}.chess-board[data-v-0166d1c7]{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);width:100%;height:100%;border:3px solid #765c48;box-shadow:0 8px 20px rgba(0,0,0,.25);position:relative;grid-gap:0}.square[data-v-0166d1c7]{position:relative;width:100%;height:100%;aspect-ratio:1/1;margin:0;padding:0}.square[data-v-0166d1c7]>*{position:absolute;top:0;left:0;width:100%;height:100%}.piece[data-v-0166d1c7]{top:0;left:0;width:100%;height:100%;background-size:90%;background-position:50%;background-repeat:no-repeat;z-index:2;cursor:grab;transition:transform .2s ease}.piece[data-v-0166d1c7]:hover{transform:scale(1.15)}.piece[data-v-0166d1c7]:active{cursor:grabbing}.light[data-v-0166d1c7]{background-color:#f0d9b5}.dark[data-v-0166d1c7]{background-color:#b58863}.flipped .file-label[data-v-0166d1c7],.flipped .marker[data-v-0166d1c7],.flipped .piece[data-v-0166d1c7],.flipped .rank-label[data-v-0166d1c7],.flipped[data-v-0166d1c7]{transform:rotate(180deg)}.white-p[data-v-0166d1c7]{background-image:url(https://lichess1.org/assets/piece/cburnett/wP.svg)}.white-r[data-v-0166d1c7]{background-image:url(https://lichess1.org/assets/piece/cburnett/wR.svg)}.white-n[data-v-0166d1c7]{background-image:url(https://lichess1.org/assets/piece/cburnett/wN.svg)}.white-b[data-v-0166d1c7]{background-image:url(https://lichess1.org/assets/piece/cburnett/wB.svg)}.white-q[data-v-0166d1c7]{background-image:url(https://lichess1.org/assets/piece/cburnett/wQ.svg)}.white-k[data-v-0166d1c7]{background-image:url(https://lichess1.org/assets/piece/cburnett/wK.svg)}.black-p[data-v-0166d1c7]{background-image:url(https://lichess1.org/assets/piece/cburnett/bP.svg)}.black-r[data-v-0166d1c7]{background-image:url(https://lichess1.org/assets/piece/cburnett/bR.svg)}.black-n[data-v-0166d1c7]{background-image:url(https://lichess1.org/assets/piece/cburnett/bN.svg)}.black-b[data-v-0166d1c7]{background-image:url(https://lichess1.org/assets/piece/cburnett/bB.svg)}.black-q[data-v-0166d1c7]{background-image:url(https://lichess1.org/assets/piece/cburnett/bQ.svg)}.black-k[data-v-0166d1c7]{background-image:url(https://lichess1.org/assets/piece/cburnett/bK.svg)}.file-label[data-v-0166d1c7],.rank-label[data-v-0166d1c7]{position:absolute;font-size:.8em;color:rgba(0,0,0,.7);font-weight:700}.rank-label[data-v-0166d1c7]{left:5%;top:5%}.file-label[data-v-0166d1c7]{right:5%;bottom:5%}.light .file-label[data-v-0166d1c7],.light .rank-label[data-v-0166d1c7]{color:#8b5a2b}.dark .file-label[data-v-0166d1c7],.dark .rank-label[data-v-0166d1c7]{color:#f0d9b5}.highlight[data-v-0166d1c7]{position:relative;z-index:1}.last-move-from[data-v-0166d1c7]{background-color:rgba(155,199,0,.4)}.last-move-to[data-v-0166d1c7]{background-color:rgba(155,199,0,.7)}.light.last-move-from[data-v-0166d1c7]{background-color:#f7e9c0}.dark.last-move-from[data-v-0166d1c7]{background-color:#caa26d}.light.last-move-to[data-v-0166d1c7]{background-color:#f8ec9a}.dark.last-move-to[data-v-0166d1c7]{background-color:#d9c577}.marker[data-v-0166d1c7]{position:absolute;font-size:2em;font-weight:700;z-index:5;text-shadow:1px 1px 3px rgba(0,0,0,.5)}.arrows-container[data-v-0166d1c7]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.arrow[data-v-0166d1c7]{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;opacity:.8;filter:drop-shadow(0 0 2px rgba(0,0,0,.5))}.arrow-head[data-v-0166d1c7]{fill:currentColor;stroke:none;opacity:.8;filter:drop-shadow(0 0 1px rgba(0,0,0,.5))}.arrow-start[data-v-0166d1c7]{box-shadow:inset 0 0 0 4px rgba(233,30,99,.8);background-color:rgba(233,30,99,.2);position:relative;z-index:3}.arrow-start[data-v-0166d1c7]:after{content:"";position:absolute;top:50%;left:50%;width:25%;height:25%;background-color:rgba(233,30,99,.8);border-radius:50%;transform:translate(-50%,-50%);z-index:4}.square.highlight[data-v-0166d1c7]{position:relative;z-index:1}.square.selected[data-v-0166d1c7]{background-color:rgba(0,123,255,.3)}.drawing-board-overlay[data-v-575961ef]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:1000;display:flex;justify-content:center;align-items:center}.drawing-board-container[data-v-575961ef]{background:#fff;border-radius:12px;width:90%;height:90%;display:flex;flex-direction:column;overflow:hidden}.drawing-board-header[data-v-575961ef]{padding:12px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee}.tools[data-v-575961ef]{display:flex;gap:8px}.tool-btn[data-v-575961ef]{padding:8px;border:none;border-radius:6px;background:#f0f0f0;cursor:pointer;transition:all .3s ease}.tool-btn[data-v-575961ef]:hover{background:#e0e0e0}.tool-btn.active[data-v-575961ef]{background:#1976d2;color:#fff}.close-btn[data-v-575961ef]{padding:8px;border:none;border-radius:6px;background:#f0f0f0;cursor:pointer;transition:all .3s ease}.close-btn[data-v-575961ef]:hover{background:#e0e0e0}canvas[data-v-575961ef]{flex:1;width:100%;height:100%;cursor:crosshair}.teacher-chess-board[data-v-c6778dba]{display:flex;flex-direction:column;height:calc(100% - 30px);width:calc(100% - 30px);box-sizing:border-box;margin:5px}.board-wrapper[data-v-c6778dba]{position:relative;width:100%;height:100%;aspect-ratio:1/1;margin:0 auto}.chess-board[data-v-c6778dba]{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);width:100%;height:100%;border:3px solid #765c48;box-shadow:0 8px 20px rgba(0,0,0,.25);position:relative;grid-gap:0}.square[data-v-c6778dba]{position:relative;width:100%;height:100%;aspect-ratio:1/1;margin:0;padding:0}.square[data-v-c6778dba]>*{position:absolute;top:0;left:0;width:100%;height:100%}.piece[data-v-c6778dba]{top:0;left:0;width:100%;height:100%;background-size:90%;background-position:50%;background-repeat:no-repeat;z-index:2;cursor:grab;transition:transform .2s ease}.piece[data-v-c6778dba]:hover{transform:scale(1.15)}.piece[data-v-c6778dba]:active{cursor:grabbing}.light[data-v-c6778dba]{background-color:#f0d9b5}.dark[data-v-c6778dba]{background-color:#b58863}.flipped .file-label[data-v-c6778dba],.flipped .marker[data-v-c6778dba],.flipped .piece[data-v-c6778dba],.flipped .rank-label[data-v-c6778dba],.flipped[data-v-c6778dba]{transform:rotate(180deg)}.white-p[data-v-c6778dba]{background-image:url(https://lichess1.org/assets/piece/cburnett/wP.svg)}.white-r[data-v-c6778dba]{background-image:url(https://lichess1.org/assets/piece/cburnett/wR.svg)}.white-n[data-v-c6778dba]{background-image:url(https://lichess1.org/assets/piece/cburnett/wN.svg)}.white-b[data-v-c6778dba]{background-image:url(https://lichess1.org/assets/piece/cburnett/wB.svg)}.white-q[data-v-c6778dba]{background-image:url(https://lichess1.org/assets/piece/cburnett/wQ.svg)}.white-k[data-v-c6778dba]{background-image:url(https://lichess1.org/assets/piece/cburnett/wK.svg)}.black-p[data-v-c6778dba]{background-image:url(https://lichess1.org/assets/piece/cburnett/bP.svg)}.black-r[data-v-c6778dba]{background-image:url(https://lichess1.org/assets/piece/cburnett/bR.svg)}.black-n[data-v-c6778dba]{background-image:url(https://lichess1.org/assets/piece/cburnett/bN.svg)}.black-b[data-v-c6778dba]{background-image:url(https://lichess1.org/assets/piece/cburnett/bB.svg)}.black-q[data-v-c6778dba]{background-image:url(https://lichess1.org/assets/piece/cburnett/bQ.svg)}.black-k[data-v-c6778dba]{background-image:url(https://lichess1.org/assets/piece/cburnett/bK.svg)}.file-label[data-v-c6778dba],.rank-label[data-v-c6778dba]{position:absolute;font-size:.8em;color:rgba(0,0,0,.7);font-weight:700}.rank-label[data-v-c6778dba]{left:5%;top:5%}.file-label[data-v-c6778dba]{right:5%;bottom:5%}.light .file-label[data-v-c6778dba],.light .rank-label[data-v-c6778dba]{color:#8b5a2b}.dark .file-label[data-v-c6778dba],.dark .rank-label[data-v-c6778dba]{color:#f0d9b5}.highlight[data-v-c6778dba]{position:relative;z-index:1}.last-move-from[data-v-c6778dba]{background-color:rgba(155,199,0,.4)}.last-move-to[data-v-c6778dba]{background-color:rgba(155,199,0,.7)}.light.last-move-from[data-v-c6778dba]{background-color:#f7e9c0}.dark.last-move-from[data-v-c6778dba]{background-color:#caa26d}.light.last-move-to[data-v-c6778dba]{background-color:#f8ec9a}.dark.last-move-to[data-v-c6778dba]{background-color:#d9c577}.marker[data-v-c6778dba]{position:absolute;font-size:2em;font-weight:700;z-index:5;text-shadow:1px 1px 3px rgba(0,0,0,.5)}.arrows-container[data-v-c6778dba]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.arrow[data-v-c6778dba]{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;opacity:.8;filter:drop-shadow(0 0 2px rgba(0,0,0,.5))}.arrow-head[data-v-c6778dba]{fill:currentColor;stroke:none;opacity:.8;filter:drop-shadow(0 0 1px rgba(0,0,0,.5))}.arrow-start[data-v-c6778dba]{box-shadow:inset 0 0 0 4px rgba(233,30,99,.8);background-color:rgba(233,30,99,.2);position:relative;z-index:3}.arrow-start[data-v-c6778dba]:after{content:"";position:absolute;top:50%;left:50%;width:25%;height:25%;background-color:rgba(233,30,99,.8);border-radius:50%;transform:translate(-50%,-50%);z-index:4}.square.highlight[data-v-c6778dba]{position:relative;z-index:1}.square.selected[data-v-c6778dba]{background-color:rgba(0,123,255,.3)}.custom-notification[data-v-b1efa90e]{position:fixed;top:20px;left:50%;transform:translateX(-50%);min-width:300px;max-width:500px;padding:15px 20px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:2000;animation:slideDown-b1efa90e .3s ease-out}.notification-content[data-v-b1efa90e]{display:flex;align-items:center;gap:12px}.notification-content i[data-v-b1efa90e]{font-size:20px}.notification-close[data-v-b1efa90e]{background:none;border:none;color:inherit;opacity:.7;cursor:pointer;font-size:16px;padding:0;margin-left:10px}.notification-close[data-v-b1efa90e]:hover{opacity:1}.custom-notification.info[data-v-b1efa90e]{background-color:#e3f2fd;color:#0d47a1;border-left:4px solid #2196f3}.custom-notification.success[data-v-b1efa90e]{background-color:#e8f5e9;color:#1b5e20;border-left:4px solid #4caf50}.custom-notification.warning[data-v-b1efa90e]{background-color:#fff3e0;color:#e65100;border-left:4px solid #ff9800}.custom-notification.error[data-v-b1efa90e]{background-color:#ffebee;color:#b71c1c;border-left:4px solid #f44336}@keyframes slideDown-b1efa90e{0%{transform:translateX(-50%) translateY(-20px);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}.setup-board-modal[data-v-b1efa90e]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.setup-board-container[data-v-b1efa90e]{background-color:#fff;border-radius:12px;width:calc(100% - 60px);max-width:1400px;height:calc(100% - 60px);max-height:calc(100vh - 60px);box-shadow:0 4px 20px rgba(0,0,0,.3);display:flex;flex-direction:column;overflow:hidden}.setup-board-header[data-v-b1efa90e]{padding:15px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e0e0e0}.setup-board-header h3[data-v-b1efa90e]{margin:0;font-size:18px;color:#333}.close-btn[data-v-b1efa90e]{background:none;border:none;font-size:20px;color:#666;cursor:pointer;padding:5px}.close-btn[data-v-b1efa90e]:hover{color:#000}.setup-board-content[data-v-b1efa90e]{display:flex;padding:10px;gap:20px;overflow:auto;flex:1;height:calc(100% - 60px)}.board-section[data-v-b1efa90e]{flex:0 0 60%;max-width:800px;max-height:800px;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}.pieces-panel[data-v-b1efa90e]{flex:1;display:flex;flex-direction:column;gap:20px;padding:10px}.panel-title[data-v-b1efa90e]{font-size:16px;font-weight:600;color:#333;margin-bottom:10px}.setup-tips[data-v-b1efa90e]{display:flex;flex-direction:column;gap:6px;margin-bottom:15px;background-color:#f0f8ff;border-radius:8px;padding:10px;border-left:3px solid #1976d2}.tip-item[data-v-b1efa90e]{display:flex;align-items:center;gap:8px;font-size:13px;color:#555}.tip-item i[data-v-b1efa90e]{color:#1976d2;font-size:14px;width:18px}.turn-selector[data-v-b1efa90e]{margin:8px 0;display:flex;align-items:center;gap:10px}.turn-label[data-v-b1efa90e]{font-size:13px;color:#555;font-weight:500;white-space:nowrap}.turn-switch[data-v-b1efa90e]{display:flex;border:1px solid #ddd;border-radius:4px;overflow:hidden;width:140px;height:30px}.turn-switch-option[data-v-b1efa90e]{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;font-size:13px;cursor:pointer;transition:all .2s ease;background:#f5f5f5;height:100%;position:relative}.turn-switch-option[data-v-b1efa90e]:first-child{border-right:1px solid #ddd}.turn-switch-option.active[data-v-b1efa90e]{background:#1976d2;color:#fff}.turn-switch-option[data-v-b1efa90e]:hover:not(.active){background:#e0e0e0}.turn-icon[data-v-b1efa90e]{font-size:14px}.pieces-select[data-v-b1efa90e]{display:flex;flex-direction:column;gap:15px}.pieces-group[data-v-b1efa90e]{display:flex;flex-direction:column;gap:5px}.pieces-label[data-v-b1efa90e]{font-size:14px;color:#666;font-weight:500}.pieces-row[data-v-b1efa90e]{display:flex;flex-wrap:wrap;gap:10px}.piece-option[data-v-b1efa90e]{width:50px;height:50px;background-size:80%;background-position:50%;background-repeat:no-repeat;cursor:pointer;border:2px solid transparent;border-radius:6px;background-color:#f5f5f5;transition:all .2s ease}.piece-option[data-v-b1efa90e]:hover{background-color:#e0e0e0;transform:translateY(-2px)}.piece-option.selected[data-v-b1efa90e]{border-color:#1976d2;background-color:#e3f2fd;box-shadow:0 0 0 2px rgba(25,118,210,.3)}.eraser[data-v-b1efa90e]{display:flex;justify-content:center;align-items:center;font-size:24px;color:#e53935;background-color:#ffebee}.eraser[data-v-b1efa90e]:hover{background-color:#ffcdd2}.eraser.selected[data-v-b1efa90e]{border-color:#e53935;background-color:#ffcdd2;box-shadow:0 0 0 2px rgba(229,57,53,.3)}.fen-display[data-v-b1efa90e]{margin-top:10px;display:flex;flex-direction:column;gap:5px}.fen-label[data-v-b1efa90e]{font-size:14px;color:#666}.fen-input[data-v-b1efa90e]{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-family:monospace;font-size:14px}.board-controls[data-v-b1efa90e]{margin-top:auto;display:flex;flex-wrap:wrap;gap:10px}.control-btn[data-v-b1efa90e]{flex:1;min-width:120px;padding:10px 15px;border:none;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.control-btn[data-v-b1efa90e]:hover{transform:translateY(-2px)}.clear-btn[data-v-b1efa90e]{background-color:#ffebee;color:#e53935}.clear-btn[data-v-b1efa90e]:hover{background-color:#ffcdd2;box-shadow:0 2px 5px rgba(229,57,53,.2)}.reset-btn[data-v-b1efa90e]{background-color:#e8f5e9;color:#43a047}.reset-btn[data-v-b1efa90e]:hover{background-color:#c8e6c9;box-shadow:0 2px 5px rgba(67,160,71,.2)}.flip-btn[data-v-b1efa90e]{background-color:#e3f2fd;color:#1976d2}.flip-btn[data-v-b1efa90e]:hover{background-color:#bbdefb;box-shadow:0 2px 5px rgba(25,118,210,.2)}.apply-btn[data-v-b1efa90e]{background-color:#1976d2;color:#fff}.apply-btn[data-v-b1efa90e]:hover{background-color:#1565c0;box-shadow:0 2px 5px rgba(25,118,210,.4)}@media (max-width:900px){.setup-board-content[data-v-b1efa90e]{flex-direction:column;align-items:center}.board-section[data-v-b1efa90e]{flex:0 0 auto;width:100%;max-width:600px}.pieces-panel[data-v-b1efa90e]{width:100%}}@media (max-width:600px){.setup-board-container[data-v-b1efa90e]{width:calc(100% - 30px);height:calc(100% - 30px)}.setup-board-header[data-v-b1efa90e]{padding:10px 15px}.setup-board-content[data-v-b1efa90e]{padding:10px}.board-section[data-v-b1efa90e]{max-width:450px}.piece-option[data-v-b1efa90e]{width:40px;height:40px}.control-btn[data-v-b1efa90e]{min-width:unset;flex:1 0 45%}}.piece[data-v-b1efa90e]:active,.square:active .piece[data-v-b1efa90e]{transform:scale(1.1);opacity:.8;cursor:grabbing}.disabled[data-v-b1efa90e]{opacity:.7;pointer-events:none}.non-clickable[data-v-b1efa90e]{cursor:default!important}.game-tips[data-v-b1efa90e]{display:flex;flex-direction:column;gap:6px;margin-bottom:15px;background-color:#e3f2fd;border-radius:8px;padding:10px;border-left:3px solid #1976d2}.full-width[data-v-b1efa90e]{width:100%}.navigation-controls[data-v-b1efa90e]{display:flex;justify-content:space-between;gap:10px;margin-top:5px;padding:0 10px;position:fixed;bottom:50px}.nav-btn[data-v-b1efa90e]{padding:0 5px;height:30px;width:80px;background-color:#e3f2fd;color:#1976d2;border:none;border-radius:4px;font-size:13px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.1);flex:0 0 auto}.nav-btn[data-v-b1efa90e]:hover{background-color:#bbdefb;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.nav-btn[data-v-b1efa90e]:active{transform:translateY(0);box-shadow:0 1px 3px rgba(0,0,0,.1)}.prev-btn[data-v-b1efa90e]{background-color:#e8eaf6;color:#3949ab}.prev-btn[data-v-b1efa90e]:hover{background-color:#c5cae9}.next-btn[data-v-b1efa90e]{background-color:#e8f5e9;color:#388e3c}.next-btn[data-v-b1efa90e]:hover{background-color:#c8e6c9}.teacher-replay[data-v-641b926e]{min-height:100vh;background:linear-gradient(135deg,#f0f4f8,#d9e2ec);padding:5px;display:flex;flex-direction:column;height:100vh;box-sizing:border-box;overflow:hidden}.info-bar[data-v-641b926e]{background:#fff;border-radius:8px;padding:8px 15px;margin-bottom:5px;box-shadow:0 2px 8px rgba(0,0,0,.08);display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;height:40px;transition:all .3s ease;z-index:10}.info-bar.collapsed[data-v-641b926e]{height:0;padding:0;margin:0;overflow:hidden;opacity:0}.nav-toggle[data-v-641b926e]{display:flex;align-items:center;gap:15px}.nav-toggle-btn[data-v-641b926e]{background:none;border:none;cursor:pointer;font-size:16px;color:#334e68;transition:color .3s ease;padding:5px}.nav-toggle-btn[data-v-641b926e]:hover{color:#2b6cb0}.title[data-v-641b926e]{margin:0;color:#334e68;font-size:16px;font-weight:600}.game-meta[data-v-641b926e]{display:flex;gap:15px;align-items:center}.board-name[data-v-641b926e]{background:#ebf5ff;padding:4px 10px;border-radius:6px;color:#2680c2;font-weight:500;font-size:12px}.date[data-v-641b926e]{color:#627d98;font-size:12px}.main-content[data-v-641b926e]{display:flex;flex:1;gap:10px;overflow:hidden;width:100%;height:calc(100vh - 50px)}.chess-board-container[data-v-641b926e]{flex:0 1 calc(100vh - 15px);display:flex;background:#fff;border-radius:12px;box-shadow:0 5px 15px rgba(0,0,0,.07);overflow:hidden;min-width:0;max-height:calc(100vh - 15px);max-width:calc(100vh - 15px)}.chess-board-section[data-v-641b926e]{flex:1;background:#f8fafc;display:flex;justify-content:center;align-items:center;height:calc(100% - 40px);min-width:0;max-height:calc(100vh - 90px)}.board-section[data-v-641b926e] .chess-board{width:100%;height:100%;max-width:min(100vh - 50px,100%);max-height:min(100vh - 50px,100%);aspect-ratio:1/1}.side-controls[data-v-641b926e]{display:flex;flex-direction:column;gap:20px;background:#fff;padding:15px;width:80px;border-left:1px solid #e7edf3;overflow-y:auto;justify-content:space-between;max-height:calc(100vh - 90px)}.control-buttons-vertical[data-v-641b926e],.drawing-tools-vertical[data-v-641b926e],.function-buttons-vertical[data-v-641b926e]{display:flex;flex-direction:column;gap:10px;align-items:center}.side-settings[data-v-641b926e]{display:flex;flex-direction:column;gap:10px}.control-btn[data-v-641b926e]{width:40px;height:40px;border:none;border-radius:8px;background:#3182ce;color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;box-shadow:0 2px 6px rgba(49,130,206,.2)}.control-btn.active[data-v-641b926e]{background:#e91e63;box-shadow:0 2px 6px rgba(233,30,99,.2)}.play-btn[data-v-641b926e]{background:#38a169;box-shadow:0 2px 6px rgba(56,161,105,.2)}.play-btn[data-v-641b926e]:hover:not(:disabled){background:#2f855a;box-shadow:0 4px 10px rgba(56,161,105,.3)}.control-btn[data-v-641b926e]:hover:not(:disabled){background:#2b6cb0;transform:translateY(-2px);box-shadow:0 4px 10px rgba(49,130,206,.3)}.control-btn[data-v-641b926e]:disabled{background:#e2e8f0;color:#a0aec0;cursor:not-allowed;box-shadow:none}.download-btn[data-v-641b926e]{background:#38b2ac;box-shadow:0 2px 6px rgba(56,178,172,.2)}.download-btn[data-v-641b926e]:hover:not(:disabled){background:#319795;box-shadow:0 4px 10px rgba(56,178,172,.3)}.reset-btn[data-v-641b926e]{background:#e53e3e;box-shadow:0 2px 6px rgba(229,62,62,.2)}.reset-btn[data-v-641b926e]:hover:not(:disabled){background:#c53030;box-shadow:0 4px 10px rgba(229,62,62,.3)}.draw-btn[data-v-641b926e]{background:#805ad5;box-shadow:0 2px 6px rgba(128,90,213,.2)}.draw-btn[data-v-641b926e]:hover:not(:disabled){background:#6b46c1;box-shadow:0 4px 10px rgba(128,90,213,.3)}.setup-btn[data-v-641b926e]{background:#9c27b0;box-shadow:0 2px 6px rgba(156,39,176,.2)}.setup-btn[data-v-641b926e]:hover:not(:disabled){background:#7b1fa2;box-shadow:0 4px 10px rgba(156,39,176,.3)}.edit-mode[data-v-641b926e]{display:flex;flex-direction:column;align-items:center;gap:8px}.playback-speed[data-v-641b926e]{display:flex;flex-direction:column;align-items:center;gap:6px}.playback-speed select[data-v-641b926e]{padding:6px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:12px;color:#334e68;cursor:pointer;transition:all .3s ease;width:60px}.playback-speed label[data-v-641b926e]{font-size:12px;color:#334e68}.right-sidebar[data-v-641b926e]{width:350px;flex:0 0 350px;display:flex;flex-direction:column;gap:10px;overflow:hidden}.moves-section[data-v-641b926e]{flex:3;background:#fff;border-radius:12px;padding:15px;box-shadow:0 5px 15px rgba(0,0,0,.07);display:flex;flex-direction:column;overflow:hidden;min-height:70%}.moves-section h3[data-v-641b926e]{margin:0 0 10px 0;color:#334e68;font-size:16px;font-weight:600}.moves-container[data-v-641b926e]{flex:1;overflow-y:auto;padding:10px;background:#f8fafc;border-radius:8px;box-shadow:inset 0 2px 4px rgba(0,0,0,.05)}.moves-grid[data-v-641b926e]{display:flex;flex-direction:column;gap:6px}.move-row[data-v-641b926e]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.move-item[data-v-641b926e]{display:flex;align-items:center;padding:8px 10px;border-radius:6px;cursor:pointer;transition:all .2s ease;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.03)}.move-item[data-v-641b926e]:hover{background:#ebf8ff;transform:translateY(-1px);box-shadow:0 2px 5px rgba(0,0,0,.05)}.move-item.active[data-v-641b926e]{background:#bee3f8;color:#2b6cb0;font-weight:500;box-shadow:0 2px 5px rgba(43,108,176,.1)}.move-number[data-v-641b926e]{width:30px;color:#718096;font-weight:500;font-size:13px}.move-text[data-v-641b926e]{flex:1;font-weight:500;color:#2d3748;font-size:13px}.no-moves[data-v-641b926e]{display:flex;align-items:center;justify-content:center;height:80px;color:#a0aec0;font-style:italic;background:#f9fafb;border-radius:8px;font-size:13px}.notes-section[data-v-641b926e]{background:#fff;border-radius:12px;padding:15px;box-shadow:0 5px 15px rgba(0,0,0,.07);display:flex;flex-direction:column;max-height:25%}.notes-header[data-v-641b926e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.notes-header h3[data-v-641b926e]{margin:0;color:#334e68;font-size:16px;font-weight:600}.notes-section textarea[data-v-641b926e]{flex:1;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px;font-size:14px;line-height:1.6;transition:all .3s ease;resize:none;color:#2d3748;min-height:80px}.notes-section textarea[data-v-641b926e]:focus{border-color:#3182ce;box-shadow:0 0 0 2px rgba(49,130,206,.1);background:#fff}.save-btn[data-v-641b926e]{padding:8px 12px;background:#3182ce;color:#fff;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .3s ease;font-size:13px;font-weight:500;box-shadow:0 2px 6px rgba(49,130,206,.2)}.save-btn[data-v-641b926e]:hover{background:#2b6cb0;transform:translateY(-2px);box-shadow:0 4px 10px rgba(49,130,206,.3)}.save-btn i[data-v-641b926e]{font-size:13px}.switch[data-v-641b926e]{position:relative;display:inline-flex;align-items:center;cursor:pointer;flex-direction:column}.switch input[data-v-641b926e]{opacity:0;width:0;height:0}.slider[data-v-641b926e]{position:relative;display:inline-block;width:40px;height:20px;background-color:#cbd5e0;transition:.4s;border-radius:20px;margin-bottom:5px;box-shadow:inset 0 1px 3px rgba(0,0,0,.1)}.slider[data-v-641b926e]:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background-color:#fff;transition:.4s;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.1)}input:checked+.slider[data-v-641b926e]{background-color:#3182ce}input:checked+.slider[data-v-641b926e]:before{transform:translateX(20px)}.label[data-v-641b926e]{font-size:12px;color:#334e68;font-weight:500;white-space:nowrap}@media(max-width:1100px){.main-content[data-v-641b926e]{flex-direction:column}.right-sidebar[data-v-641b926e]{width:100%;flex-direction:row;max-height:200px}.moves-section[data-v-641b926e]{flex:3;max-height:200px}.notes-section[data-v-641b926e]{flex:1;max-height:200px}}@media(max-width:768px){.chess-board-container[data-v-641b926e]{flex-direction:column}.side-controls[data-v-641b926e]{width:100%;flex-direction:row;height:auto;border-left:none;border-top:1px solid #e7edf3}.control-buttons-vertical[data-v-641b926e],.function-buttons-vertical[data-v-641b926e]{flex-direction:row}.side-players-info[data-v-641b926e],.side-settings[data-v-641b926e]{flex-direction:row;gap:15px}.right-sidebar[data-v-641b926e]{flex-direction:column;max-height:none}.board-section[data-v-641b926e]{height:calc(100vw - 30px);max-height:calc(100vh - 250px)}.move-row[data-v-641b926e]{grid-template-columns:1fr}}@media(max-width:480px){.control-btn[data-v-641b926e]{width:36px;height:36px;font-size:12px}.side-controls[data-v-641b926e]{flex-wrap:wrap;justify-content:center;padding:10px;gap:10px}.side-players-info[data-v-641b926e]{order:-1;width:100%}.side-settings[data-v-641b926e]{width:100%;justify-content:center}}.players-info-top[data-v-641b926e]{background:#fff;border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.08);padding:15px;margin-bottom:15px;display:flex;flex-direction:column}.players-info-top .section-title[data-v-641b926e]{font-size:16px;font-weight:600;margin-bottom:12px;color:#454545;border-bottom:1px solid #eaeaea;padding-bottom:8px}.players-info-top .game-status-bar[data-v-641b926e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.players-info-top .game-status[data-v-641b926e]{display:flex;align-items:center;padding:6px 12px;border-radius:8px;font-weight:600;font-size:13px;background:#edf2f7;color:#4a5568;border:1px solid #e2e8f0}.players-info-top .game-status.white-win[data-v-641b926e]{background:linear-gradient(135deg,#ebf8ff,#bee3f8);color:#2c5282;border:1px solid #90cdf4}.players-info-top .game-status.black-win[data-v-641b926e]{background:linear-gradient(135deg,#2d3748,#1a202c);color:#fff;border:1px solid #4a5568}.players-info-top .game-status.draw[data-v-641b926e]{background:linear-gradient(135deg,#f7fafc,#edf2f7);color:#4a5568;border:1px solid #e2e8f0}.players-info-top .game-status.in-progress[data-v-641b926e]{background:linear-gradient(135deg,#e6fffa,#b2f5ea);color:#285e61;border:1px solid #81e6d9}.players-info-top .game-status i[data-v-641b926e]{margin-right:6px;font-size:14px}.players-info-top .game-time[data-v-641b926e]{display:flex;align-items:center;padding:6px 12px;border-radius:8px;background:#edf2f7;border:1px solid #e2e8f0}.players-info-top .game-time i[data-v-641b926e]{margin-right:6px;font-size:14px}.players-info-top .players-container[data-v-641b926e]{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.players-info-top .player[data-v-641b926e]{display:flex;align-items:center;flex:1;min-width:120px;background:#f9fafc;padding:8px 12px;border-radius:8px;border:1px solid #edf2f7}.players-info-top .player-avatar[data-v-641b926e]{width:36px;height:36px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;margin-right:10px;border:1px solid #e2e8f0}.players-info-top .white-king[data-v-641b926e]{color:#f8a102;font-size:20px}.players-info-top .black-king[data-v-641b926e]{color:#202020;font-size:20px}.players-info-top .player-details[data-v-641b926e]{display:flex;flex-direction:column}.players-info-top .player-role[data-v-641b926e]{font-size:12px;color:#718096;margin-bottom:2px}.players-info-top .player-name[data-v-641b926e]{font-weight:600;font-size:14px;color:#2d3748}.players-info-top .vs[data-v-641b926e]{font-weight:700;color:#a0aec0;margin:0 5px;font-size:14px}.players-info-top .result-badge[data-v-641b926e]{display:flex;align-items:center;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600;margin-left:auto;background:#edf2f7;color:#4a5568;border:1px solid #e2e8f0}.players-info-top .result-badge i[data-v-641b926e]{margin-right:6px;font-size:14px}.players-info-top .result-badge.white-win[data-v-641b926e]{background:#ebf8ff;color:#2c5282;border-color:#bee3f8}.players-info-top .result-badge.black-win[data-v-641b926e]{background:#f0fff4;color:#276749;border-color:#c6f6d5}.players-info-top .result-badge.draw[data-v-641b926e]{background:#fffaf0;color:#975a16;border-color:#feebc8}.left-sidebar[data-v-641b926e]{display:flex;flex-direction:column;width:350px;min-width:350px;max-width:350px;background:#fff;border-radius:12px;box-shadow:0 5px 15px rgba(0,0,0,.07);overflow:hidden;padding:15px}.moves-section[data-v-641b926e]{flex:1.5;min-height:200px;margin-bottom:15px}.notes-section[data-v-641b926e]{flex:1;min-height:150px}@media(max-width:1200px){.left-sidebar[data-v-641b926e]{width:300px;min-width:300px;max-width:300px}}@media(max-width:768px){.left-sidebar[data-v-641b926e]{flex-direction:column}.moves-section[data-v-641b926e],.notes-section[data-v-641b926e]{width:100%;min-height:200px}.players-info-top .players-container[data-v-641b926e]{flex-direction:column}.players-info-top .game-status-bar[data-v-641b926e]{flex-direction:column;gap:8px;align-items:flex-start}.players-info-top .game-status[data-v-641b926e],.players-info-top .game-time[data-v-641b926e]{width:100%}.players-info-top .result-badge[data-v-641b926e]{margin-top:10px;width:100%;justify-content:center}}.save-success-message[data-v-641b926e]{position:fixed;top:20px;right:20px;background:#48bb78;color:#fff;padding:12px 20px;border-radius:8px;display:flex;align-items:center;gap:10px;box-shadow:0 4px 12px rgba(72,187,120,.3);z-index:1000;animation:slideIn-641b926e .3s ease-out}.save-success-message i[data-v-641b926e]{font-size:18px}.save-success-message span[data-v-641b926e]{font-weight:500;font-size:14px}@keyframes slideIn-641b926e{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.handwriting-sidebar[data-v-641b926e]{display:flex;flex-direction:column;width:300px;min-width:300px;background-color:#fff;border-left:1px solid #e0e0e0;overflow:hidden;box-shadow:-2px 0 5px rgba(0,0,0,.05)}.handwriting-header[data-v-641b926e]{display:flex;justify-content:space-between;align-items:center;padding:15px;border-bottom:1px solid #e0e0e0}.handwriting-header h3[data-v-641b926e]{margin:0;font-size:16px;color:#333}.handwriting-header .handwriting-tools[data-v-641b926e]{display:flex;align-items:center;gap:10px}.handwriting-header .handwriting-tools .tool-btn[data-v-641b926e]{width:36px;height:36px;border-radius:50%;border:none;background-color:#f5f5f5;color:#555;display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:16px;transition:all .2s ease}.handwriting-header .handwriting-tools .tool-btn[data-v-641b926e]:hover{background-color:#e9e9e9;color:#333}.handwriting-header .handwriting-tools .tool-btn.eraser-btn[data-v-641b926e]{background-color:#f8f8f8;color:#e53935}.handwriting-header .handwriting-tools .tool-btn.eraser-btn[data-v-641b926e]:hover{background-color:#fce4ec}.handwriting-header .handwriting-tools .color-picker[data-v-641b926e]{width:30px;height:30px;border:none;border-radius:50%;cursor:pointer;padding:0;overflow:hidden}.handwriting-header .handwriting-tools .color-picker[data-v-641b926e]::-webkit-color-swatch-wrapper{padding:0}.handwriting-header .handwriting-tools .color-picker[data-v-641b926e]::-webkit-color-swatch{border:none;border-radius:50%}.handwriting-container[data-v-641b926e]{flex:1;position:relative;background-color:#f9f9f9}.handwriting-container canvas[data-v-641b926e]{width:100%;height:100%;background-color:#fff;border:1px solid #eee;box-shadow:inset 0 0 5px rgba(0,0,0,.05)}@media screen and (max-width:1400px){.handwriting-sidebar[data-v-641b926e]{width:250px;min-width:250px}}@media screen and (max-width:1100px){.main-content[data-v-641b926e]{flex-direction:column}.left-sidebar[data-v-641b926e]{width:100%;min-width:100%;max-width:100%;height:auto;flex-direction:row;flex-wrap:wrap;border-right:none;padding:10px}.players-info-top[data-v-641b926e]{width:100%;margin-bottom:10px}.moves-section[data-v-641b926e],.notes-section[data-v-641b926e]{width:48%;min-height:250px}.handwriting-sidebar[data-v-641b926e]{width:100%;min-width:100%;height:300px;min-height:300px;border-left:none;border-top:1px solid #e0e0e0}}@media screen and (max-width:768px){.left-sidebar[data-v-641b926e]{flex-direction:column}.moves-section[data-v-641b926e],.notes-section[data-v-641b926e]{width:100%;min-height:200px}.players-info-top .players-container[data-v-641b926e]{flex-direction:column}.players-info-top .result-badge[data-v-641b926e]{margin-top:10px;width:100%;justify-content:center}}@media screen and (max-width:480px){.handwriting-sidebar[data-v-641b926e],.left-sidebar[data-v-641b926e]{padding:8px}.players-info-top[data-v-641b926e]{padding:10px}.moves-section[data-v-641b926e],.notes-section[data-v-641b926e]{min-height:180px}}.floating-back-button[data-v-641b926e]{position:fixed;left:20px;bottom:20px;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.15);cursor:pointer;z-index:100;transition:all .3s cubic-bezier(.34,1.56,.64,1);border:none;animation:floatIn-641b926e .5s cubic-bezier(.34,1.56,.64,1)}.floating-back-button[data-v-641b926e]:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-3px) scale(1.05);box-shadow:0 6px 16px rgba(0,0,0,.2)}.floating-back-button[data-v-641b926e]:active{transform:translateY(0) scale(.95);box-shadow:0 2px 8px rgba(0,0,0,.1)}.floating-back-button i[data-v-641b926e]{font-size:18px}@keyframes floatIn-641b926e{0%{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:480px){.floating-back-button[data-v-641b926e]{width:45px;height:45px;left:15px;bottom:15px}.floating-back-button i[data-v-641b926e]{font-size:16px}}[data-v-7ad9f8f7]{box-sizing:border-box;margin:0;padding:0}.dashboard-container[data-v-7ad9f8f7]{display:flex;min-height:100vh;background-color:#f8f9fa;font-family:Noto Sans,-apple-system,BlinkMacSystemFont,sans-serif}.sidebar[data-v-7ad9f8f7]{width:260px;background:linear-gradient(180deg,#5b5fc2,#4338ca);color:#fff;display:flex;flex-direction:column;position:fixed;height:100vh;box-shadow:2px 0 10px rgba(0,0,0,.1);z-index:100}.logo-container[data-v-7ad9f8f7]{display:flex;align-items:center;padding:25px;border-bottom:1px solid hsla(0,0%,100%,.1)}.logo[data-v-7ad9f8f7]{width:42px;height:42px;background:hsla(0,0%,100%,.15);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-right:15px;font-size:20px}.logo-container h2[data-v-7ad9f8f7]{font-size:18px;font-weight:600}.menu-items[data-v-7ad9f8f7]{flex-grow:1;padding:20px 0;overflow-y:auto}.menu-item[data-v-7ad9f8f7]{display:flex;align-items:center;padding:14px 25px;margin-bottom:5px;cursor:pointer;transition:all .2s ease;border-left:3px solid transparent}.menu-item i[data-v-7ad9f8f7]{font-size:18px;width:25px;margin-right:15px;opacity:.7}.menu-item span[data-v-7ad9f8f7]{font-size:15px;font-weight:500}.menu-item[data-v-7ad9f8f7]:hover{background:hsla(0,0%,100%,.08)}.menu-item.active[data-v-7ad9f8f7]{background:hsla(0,0%,100%,.12);border-left:3px solid #8b92d9}.menu-item.active i[data-v-7ad9f8f7],.menu-item.active span[data-v-7ad9f8f7]{opacity:1;color:#eef2ff}.logout-button[data-v-7ad9f8f7]{margin:15px 25px 25px;padding:12px;background:hsla(0,0%,100%,.05);border-radius:8px;display:flex;align-items:center;cursor:pointer;transition:all .2s ease}.logout-button[data-v-7ad9f8f7]:hover{background:hsla(0,0%,100%,.1)}.logout-button i[data-v-7ad9f8f7]{margin-right:12px;font-size:16px}.logout-button span[data-v-7ad9f8f7]{font-size:14px;font-weight:500}.main-content[data-v-7ad9f8f7]{flex:1;margin-left:260px;padding:25px;min-height:100vh}.main-content.full-width[data-v-7ad9f8f7]{margin-left:0;padding:20px}.navbar[data-v-7ad9f8f7]{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background-color:#5b5fc2;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15);min-height:60px;max-height:60px;z-index:10}.navbar-left[data-v-7ad9f8f7],.navbar-right[data-v-7ad9f8f7]{display:flex;align-items:center;gap:15px}.navbar h2[data-v-7ad9f8f7]{margin:0;font-size:20px;font-weight:500}.add-btn[data-v-7ad9f8f7],.add-explanation-btn[data-v-7ad9f8f7],.back-btn[data-v-7ad9f8f7],.nav-btn[data-v-7ad9f8f7]{display:flex;align-items:center;gap:8px;padding:6px 10px;border:none;border-radius:4px;background-color:hsla(0,0%,100%,.15);color:#fff;font-size:14px;cursor:pointer;transition:background-color .2s}.back-btn[data-v-7ad9f8f7]:hover,.nav-btn[data-v-7ad9f8f7]:hover{background-color:hsla(0,0%,100%,.25)}.add-btn[data-v-7ad9f8f7]{background-color:rgba(52,211,153,.2)}.add-btn[data-v-7ad9f8f7]:hover{background-color:rgba(52,211,153,.3)}.add-explanation-btn[data-v-7ad9f8f7]{background-color:rgba(251,191,36,.2)}.add-explanation-btn[data-v-7ad9f8f7]:hover{background-color:rgba(251,191,36,.3)}.classroom-info-bar[data-v-7ad9f8f7]{background:#fff;border-radius:8px;padding:15px 20px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.classroom-meta[data-v-7ad9f8f7]{display:flex;flex-wrap:wrap;gap:20px;color:#6c757d;font-size:14px}.classroom-meta span[data-v-7ad9f8f7]{display:flex;align-items:center;gap:6px}.classroom-meta i[data-v-7ad9f8f7]{color:#5b5fc2}.view-tabs[data-v-7ad9f8f7]{display:flex;background:#fff;border-radius:10px;margin-bottom:25px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.06)}.tab[data-v-7ad9f8f7]{flex:1;padding:16px;text-align:center;cursor:pointer;transition:all .2s ease;font-weight:500;color:#6c757d;display:flex;flex-direction:column;align-items:center;gap:8px;border-bottom:3px solid transparent}.tab i[data-v-7ad9f8f7]{font-size:18px}.tab[data-v-7ad9f8f7]:hover{background:#f8f9fa;color:#2c3e50}.tab.active[data-v-7ad9f8f7]{border-bottom:3px solid #5b5fc2;color:#5b5fc2}.content-wrapper[data-v-7ad9f8f7]{display:flex;gap:20px;height:calc(100vh - 160px)}.boards-container[data-v-7ad9f8f7]{flex:0 0 400px;min-width:350px;background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 12px rgba(0,0,0,.06);overflow:hidden;display:flex;flex-direction:column}.boards-container.compact[data-v-7ad9f8f7]{flex:0 0 350px;min-width:300px;overflow:hidden}.games-container[data-v-7ad9f8f7],.select-board-container[data-v-7ad9f8f7]{flex:1;min-width:400px;background:#fff;border-radius:10px;padding:25px;box-shadow:0 2px 12px rgba(0,0,0,.06);overflow:auto}.boards-list[data-v-7ad9f8f7]{width:100%;border:1px solid #e9ecef;border-radius:8px;overflow:hidden;flex:1;display:flex;flex-direction:column}.boards-list-header[data-v-7ad9f8f7]{display:flex;background:#f8f9fa;border-bottom:2px solid #dee2e6;font-weight:600;color:#495057;font-size:14px;flex-shrink:0;position:sticky;top:0;z-index:5;width:-moz-max-content;width:max-content;min-width:100%}.boards-list-content[data-v-7ad9f8f7]{flex:1;overflow-x:auto;overflow-y:auto;width:100%}.boards-list-content[data-v-7ad9f8f7]::-webkit-scrollbar{width:6px;height:6px}.boards-list-content[data-v-7ad9f8f7]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.boards-list-content[data-v-7ad9f8f7]::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.boards-list-content[data-v-7ad9f8f7]::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.header-cell[data-v-7ad9f8f7]{padding:16px 12px;border-right:1px solid #dee2e6;display:flex;align-items:center}.header-cell[data-v-7ad9f8f7]:last-child{border-right:none}.name-cell[data-v-7ad9f8f7]{flex:2;min-width:180px;width:180px}.serial-cell[data-v-7ad9f8f7]{flex:1.5;min-width:140px;width:140px}.position-cell[data-v-7ad9f8f7],.status-cell[data-v-7ad9f8f7]{flex:1;min-width:80px;width:80px}.activity-cell[data-v-7ad9f8f7]{flex:1.5;min-width:140px;width:140px}.actions-cell[data-v-7ad9f8f7]{flex:1.2;min-width:120px;width:120px}.board-row[data-v-7ad9f8f7]{display:flex;background:#fff;border-bottom:1px solid #e9ecef;cursor:pointer;transition:all .2s ease;position:relative;width:-moz-max-content;width:max-content;min-width:100%;flex-shrink:0}.board-row[data-v-7ad9f8f7]:last-child{border-bottom:none}.board-row[data-v-7ad9f8f7]:hover{background:#f8f9fa}.selected-board[data-v-7ad9f8f7]{background:rgba(91,95,194,.05)!important;border-left:4px solid #5b5fc2}.board-status-indicator[data-v-7ad9f8f7]{position:absolute;left:0;top:0;width:4px;height:100%}.board-status-indicator.status-online[data-v-7ad9f8f7]{background:#2ecc71}.board-status-indicator.status-offline[data-v-7ad9f8f7]{background:#e74c3c}.board-status-indicator.status-unknown[data-v-7ad9f8f7]{background:#95a5a6}.row-cell[data-v-7ad9f8f7]{padding:16px 12px;border-right:1px solid #e9ecef;display:flex;align-items:center}.row-cell[data-v-7ad9f8f7]:last-child{border-right:none}.board-name[data-v-7ad9f8f7]{display:flex;align-items:center;gap:8px;font-weight:500;color:#2c3e50}.board-name i[data-v-7ad9f8f7]{color:#5b5fc2;font-size:16px}.serial-number[data-v-7ad9f8f7]{font-family:Monaco,Consolas,monospace;color:#6c757d;font-size:13px;background:#f8f9fa;padding:4px 8px;border-radius:4px}.position[data-v-7ad9f8f7]{color:#6c757d;font-size:14px}.board-status[data-v-7ad9f8f7]{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500}.board-status i[data-v-7ad9f8f7]{font-size:8px}.board-status.status-online[data-v-7ad9f8f7]{color:#2ecc71}.board-status.status-offline[data-v-7ad9f8f7]{color:#e74c3c}.board-status.status-unknown[data-v-7ad9f8f7]{color:#95a5a6}.last-active[data-v-7ad9f8f7]{color:#6c757d;font-size:13px}.board-actions[data-v-7ad9f8f7]{display:flex;gap:6px}.action-btn[data-v-7ad9f8f7]{width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:14px}.action-btn[data-v-7ad9f8f7]:hover{transform:translateY(-1px)}.view-btn[data-v-7ad9f8f7]{background:#5b5fc2;color:#fff}.view-btn[data-v-7ad9f8f7]:hover{background:#4338ca;box-shadow:0 2px 8px rgba(91,95,194,.3)}.edit-btn[data-v-7ad9f8f7]{background:#f39c12;color:#fff}.edit-btn[data-v-7ad9f8f7]:hover{background:#d35400;box-shadow:0 2px 8px rgba(243,156,18,.3)}.unbind-btn[data-v-7ad9f8f7]{background:#e74c3c;color:#fff}.unbind-btn[data-v-7ad9f8f7]:hover{background:#c0392b;box-shadow:0 2px 8px rgba(231,76,60,.3)}.back-btn[data-v-7ad9f8f7]{background:#95a5a6;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-weight:500;gap:6px;height:32px;padding:0 12px;font-size:13px}.back-btn[data-v-7ad9f8f7]:hover{background:#7f8c8d}.games-grid[data-v-7ad9f8f7]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.games-header[data-v-7ad9f8f7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.games-header h2[data-v-7ad9f8f7]{font-size:18px;color:#2c3e50;display:flex;align-items:center;gap:8px}.games-header h2 i[data-v-7ad9f8f7]{color:#5b5fc2}.game-card[data-v-7ad9f8f7]{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.05);overflow:hidden;border:1px solid #e9ecef;transition:all .3s ease;cursor:pointer}.game-card[data-v-7ad9f8f7]:hover{box-shadow:0 5px 15px rgba(0,0,0,.08);transform:translateY(-3px)}.game-header[data-v-7ad9f8f7]{padding:16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e9ecef}.game-header h3[data-v-7ad9f8f7]{font-size:16px;font-weight:600;color:#2c3e50;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-result[data-v-7ad9f8f7]{display:inline-flex;align-items:center;padding:4px 8px;border-radius:20px;font-size:12px;font-weight:500}.result-white-win[data-v-7ad9f8f7]{background:rgba(46,204,113,.1);color:#2ecc71}.result-black-win[data-v-7ad9f8f7]{background:rgba(52,73,94,.1);color:#34495e}.result-draw[data-v-7ad9f8f7]{background:rgba(243,156,18,.1);color:#f39c12}.result-unknown[data-v-7ad9f8f7]{background:hsla(184,9%,62%,.1);color:#95a5a6}.game-players[data-v-7ad9f8f7]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f8f9fa}.player[data-v-7ad9f8f7]{display:flex;align-items:center;gap:8px}.player-icon[data-v-7ad9f8f7]{font-size:20px;color:#2c3e50}.player-name[data-v-7ad9f8f7]{font-weight:500;color:#2c3e50;font-size:14px}.vs[data-v-7ad9f8f7]{color:#6c757d;font-weight:500;font-size:12px}.black .player-icon[data-v-7ad9f8f7]{color:#000}.white .player-icon[data-v-7ad9f8f7]{color:#7f8c8d}.game-meta[data-v-7ad9f8f7]{display:flex;justify-content:space-between;color:#6c757d;font-size:13px;padding:12px 16px;border-top:1px solid #e9ecef}.game-date[data-v-7ad9f8f7],.game-moves[data-v-7ad9f8f7]{display:flex;align-items:center;gap:6px}.game-actions[data-v-7ad9f8f7]{display:flex;padding:0 16px 16px;gap:8px}.explain-btn[data-v-7ad9f8f7],.view-game-btn[data-v-7ad9f8f7]{border:none;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s ease}.view-game-btn[data-v-7ad9f8f7]{background:#5b5fc2;color:#fff;flex:1}.view-game-btn[data-v-7ad9f8f7]:hover{background:#4338ca}.explain-btn[data-v-7ad9f8f7]{background:#e67e22;color:#fff}.explain-btn[data-v-7ad9f8f7]:hover{background:#d35400}.no-boards[data-v-7ad9f8f7],.no-games[data-v-7ad9f8f7],.select-board-container[data-v-7ad9f8f7]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;min-height:300px}.empty-state-icon[data-v-7ad9f8f7],.hint-icon[data-v-7ad9f8f7]{width:80px;height:80px;background:rgba(91,95,194,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.empty-state-icon i[data-v-7ad9f8f7],.hint-icon i[data-v-7ad9f8f7]{font-size:32px;color:#5b5fc2}.no-boards h3[data-v-7ad9f8f7],.no-games h3[data-v-7ad9f8f7],.select-board-hint h3[data-v-7ad9f8f7]{font-size:18px;font-weight:600;color:#2c3e50;margin-bottom:8px}.no-boards p[data-v-7ad9f8f7],.no-games p[data-v-7ad9f8f7],.select-board-hint p[data-v-7ad9f8f7]{color:#6c757d;margin-bottom:20px;max-width:300px}.add-btn-lg[data-v-7ad9f8f7]{background:#5b5fc2;color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s ease}.add-btn-lg[data-v-7ad9f8f7]:hover{background:#4338ca}.empty-action[data-v-7ad9f8f7]{margin-top:15px;padding-top:15px;border-top:1px dashed #dee2e6;width:100%;max-width:300px}.hint[data-v-7ad9f8f7]{color:#6c757d;font-size:13px;font-style:italic}.games-loading[data-v-7ad9f8f7]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.spinner[data-v-7ad9f8f7]{margin-bottom:20px}.spinner>div[data-v-7ad9f8f7]{width:12px;height:12px;background-color:#5b5fc2;border-radius:100%;display:inline-block;margin:0 5px;animation:bounce-7ad9f8f7 1.4s ease-in-out infinite both}.spinner .bounce1[data-v-7ad9f8f7]{animation-delay:-.32s}.spinner .bounce2[data-v-7ad9f8f7]{animation-delay:-.16s}@keyframes bounce-7ad9f8f7{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.games-loading p[data-v-7ad9f8f7]{color:#6c757d}.modal[data-v-7ad9f8f7]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-7ad9f8f7]{width:500px;max-width:100%;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.2)}.explanation-modal[data-v-7ad9f8f7]{width:600px}.modal-header[data-v-7ad9f8f7]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e9ecef}.modal-header h2[data-v-7ad9f8f7]{font-size:18px;font-weight:600;color:#2c3e50;display:flex;align-items:center;gap:8px}.modal-header h2 i[data-v-7ad9f8f7]{color:#5b5fc2}.close-btn[data-v-7ad9f8f7]{background:none;border:none;color:#6c757d;font-size:18px;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-btn[data-v-7ad9f8f7]:hover{background:#f8f9fa;color:#2c3e50}.modal-body[data-v-7ad9f8f7]{padding:20px}.form-group[data-v-7ad9f8f7]{margin-bottom:20px}.form-group label[data-v-7ad9f8f7]{display:block;font-size:14px;font-weight:500;color:#2c3e50;margin-bottom:8px}.input-container[data-v-7ad9f8f7]{position:relative}.input-container i[data-v-7ad9f8f7]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#adb5bd;font-size:16px}.input-container textarea+i[data-v-7ad9f8f7]{top:16px;transform:none}.form-group input[data-v-7ad9f8f7],.form-group textarea[data-v-7ad9f8f7]{width:100%;padding:10px 10px 10px 36px;border:1px solid #ced4da;border-radius:6px;font-size:14px;color:#2c3e50;transition:all .2s ease}.form-group textarea[data-v-7ad9f8f7]{min-height:120px;resize:vertical}.form-group input[data-v-7ad9f8f7]:focus,.form-group textarea[data-v-7ad9f8f7]:focus{outline:none;border-color:#5b5fc2;box-shadow:0 0 0 3px rgba(91,95,194,.15)}.related-games[data-v-7ad9f8f7]{background:#f8f9fa;border:1px solid #ced4da;border-radius:6px;max-height:200px;overflow-y:auto}.game-select-hint[data-v-7ad9f8f7]{padding:12px;color:#6c757d;text-align:center;font-style:italic;font-size:14px}.game-option[data-v-7ad9f8f7]{padding:12px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .2s ease}.game-option[data-v-7ad9f8f7]:last-child{border-bottom:none}.game-option[data-v-7ad9f8f7]:hover{background:#e9ecef}.game-option.selected[data-v-7ad9f8f7]{background:rgba(91,95,194,.1)}.game-option-info[data-v-7ad9f8f7]{display:flex;flex-direction:column;gap:4px}.game-title[data-v-7ad9f8f7]{font-weight:500;color:#2c3e50;font-size:14px}.game-date[data-v-7ad9f8f7]{color:#6c757d;font-size:12px}.game-option i[data-v-7ad9f8f7]{color:#5b5fc2;font-size:18px}.modal-footer[data-v-7ad9f8f7]{padding:15px 20px;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #e9ecef}.cancel-btn[data-v-7ad9f8f7],.danger-btn[data-v-7ad9f8f7],.submit-btn[data-v-7ad9f8f7]{border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease}.cancel-btn[data-v-7ad9f8f7]{background:#f8f9fa;color:#6c757d;border:1px solid #ced4da}.cancel-btn[data-v-7ad9f8f7]:hover{background:#e9ecef;color:#2c3e50}.submit-btn[data-v-7ad9f8f7]{background:#5b5fc2;color:#fff}.submit-btn[data-v-7ad9f8f7]:hover{background:#4338ca}.submit-btn[data-v-7ad9f8f7]:disabled{background:#adb5bd;cursor:not-allowed}.danger-btn[data-v-7ad9f8f7]{background:#e74c3c;color:#fff}.danger-btn[data-v-7ad9f8f7]:hover{background:#c0392b}.warning-message[data-v-7ad9f8f7]{display:flex;gap:12px;background:rgba(231,76,60,.1);padding:16px;border-radius:6px;margin-bottom:10px}.warning-message i[data-v-7ad9f8f7]{color:#e74c3c;font-size:24px;flex-shrink:0}.warning-message p[data-v-7ad9f8f7]{margin:0;color:#2c3e50;font-size:14px;line-height:1.5}@media (max-width:1024px){.sidebar[data-v-7ad9f8f7]{width:220px}.main-content[data-v-7ad9f8f7]{margin-left:220px;padding:20px}.main-content.full-width[data-v-7ad9f8f7]{margin-left:0;padding:15px}.content-wrapper[data-v-7ad9f8f7]{flex-direction:column;height:auto}.boards-container.compact[data-v-7ad9f8f7]{flex:none;min-width:100%;max-height:400px}.logo-container[data-v-7ad9f8f7]{padding:20px}.menu-item[data-v-7ad9f8f7]{padding:12px 20px}.games-grid[data-v-7ad9f8f7]{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.boards-list-header[data-v-7ad9f8f7]{font-size:13px}.header-cell[data-v-7ad9f8f7],.row-cell[data-v-7ad9f8f7]{padding:12px 8px}.name-cell[data-v-7ad9f8f7]{min-width:150px;width:auto}.activity-cell[data-v-7ad9f8f7],.serial-cell[data-v-7ad9f8f7]{min-width:120px;width:auto}.position-cell[data-v-7ad9f8f7],.status-cell[data-v-7ad9f8f7]{min-width:80px;width:auto}.actions-cell[data-v-7ad9f8f7]{min-width:100px;width:auto}}@media (max-width:768px){.sidebar[data-v-7ad9f8f7]{display:none}.logo-container[data-v-7ad9f8f7]{padding:15px;justify-content:center}.logo[data-v-7ad9f8f7]{margin-right:0}.logo-container h2[data-v-7ad9f8f7],.logout-button span[data-v-7ad9f8f7],.menu-item span[data-v-7ad9f8f7]{display:none}.menu-item[data-v-7ad9f8f7]{padding:15px 0;justify-content:center}.menu-item i[data-v-7ad9f8f7]{margin-right:0;font-size:20px}.logout-button[data-v-7ad9f8f7]{margin:15px 10px;padding:15px 0;justify-content:center}.logout-button i[data-v-7ad9f8f7]{margin-right:0}.main-content.full-width[data-v-7ad9f8f7],.main-content[data-v-7ad9f8f7]{margin-left:0;padding:15px}.navbar[data-v-7ad9f8f7]{flex-direction:column;align-items:flex-start;gap:10px;min-height:auto;padding:15px}.navbar-left[data-v-7ad9f8f7],.navbar-right[data-v-7ad9f8f7]{width:100%;justify-content:space-between}.navbar-right[data-v-7ad9f8f7]{flex-wrap:wrap;gap:8px}.boards-container[data-v-7ad9f8f7],.games-container[data-v-7ad9f8f7],.select-board-container[data-v-7ad9f8f7]{padding:15px}.games-grid[data-v-7ad9f8f7]{grid-template-columns:1fr}.boards-list-header[data-v-7ad9f8f7]{display:none}.boards-list-content[data-v-7ad9f8f7]{min-width:100%;overflow-x:visible}.board-row[data-v-7ad9f8f7]{flex-direction:column;padding:12px;border:1px solid #e9ecef;border-radius:8px;margin-bottom:12px;min-width:100%}.row-cell[data-v-7ad9f8f7]{padding:4px 0;border-right:none;border-bottom:1px solid #f1f3f4;justify-content:space-between}.row-cell[data-v-7ad9f8f7]:last-child{border-bottom:none}.row-cell[data-v-7ad9f8f7]:before{content:attr(data-label);font-weight:600;color:#6c757d;font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin-right:8px}.name-cell[data-v-7ad9f8f7]:before{content:"棋盘名称"}.serial-cell[data-v-7ad9f8f7]:before{content:"序列号"}.position-cell[data-v-7ad9f8f7]:before{content:"位置"}.status-cell[data-v-7ad9f8f7]:before{content:"状态"}.activity-cell[data-v-7ad9f8f7]:before{content:"最后活跃"}.actions-cell[data-v-7ad9f8f7]:before{content:"操作"}.game-players[data-v-7ad9f8f7]{flex-wrap:wrap;gap:10px}.modal-content[data-v-7ad9f8f7]{width:95%}}@media (max-width:480px){.sidebar[data-v-7ad9f8f7]{display:none}.main-content.full-width[data-v-7ad9f8f7],.main-content[data-v-7ad9f8f7]{margin-left:0;padding:10px}.navbar[data-v-7ad9f8f7]{margin-bottom:15px}.navbar h2[data-v-7ad9f8f7]{font-size:18px}.classroom-info h1[data-v-7ad9f8f7]{font-size:20px}.classroom-meta[data-v-7ad9f8f7]{font-size:12px}.add-btn[data-v-7ad9f8f7],.add-explanation-btn[data-v-7ad9f8f7],.back-btn[data-v-7ad9f8f7],.nav-btn[data-v-7ad9f8f7]{padding:6px 8px;font-size:12px}.view-tabs[data-v-7ad9f8f7]{margin-bottom:15px}.tab[data-v-7ad9f8f7]{padding:12px 8px;font-size:12px}.tab i[data-v-7ad9f8f7]{font-size:16px}.boards-container[data-v-7ad9f8f7],.games-container[data-v-7ad9f8f7],.select-board-container[data-v-7ad9f8f7]{padding:12px;min-width:100%}.board-header[data-v-7ad9f8f7],.game-header[data-v-7ad9f8f7]{padding:12px}.board-actions[data-v-7ad9f8f7],.game-actions[data-v-7ad9f8f7]{flex-wrap:wrap}.explain-btn[data-v-7ad9f8f7],.view-game-btn[data-v-7ad9f8f7]{width:100%;height:auto;padding:8px}.action-btn[data-v-7ad9f8f7]{width:28px;height:28px;font-size:12px}.modal[data-v-7ad9f8f7]{padding:10px}.modal-body[data-v-7ad9f8f7],.modal-footer[data-v-7ad9f8f7],.modal-header[data-v-7ad9f8f7]{padding:15px}.form-group[data-v-7ad9f8f7]{margin-bottom:15px}}.login-container[data-v-d9106e94]{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:20px;font-family:Noto Sans,Arial,sans-serif}.login-card[data-v-d9106e94]{display:flex;width:900px;max-width:95%;height:600px;max-height:90vh;background:#fff;border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.15);overflow:hidden}.login-image[data-v-d9106e94]{flex:1;background-image:url(/img/chess-background.9a9ea221.jpg);background-size:cover;background-position:50%;position:relative;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center}.login-image[data-v-d9106e94]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,#5c6ac4,#6a75ca);z-index:0}.image-overlay[data-v-d9106e94]{position:relative;z-index:1;padding:30px;background:rgba(0,0,0,.4);border-radius:12px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);width:80%}.login-image h1[data-v-d9106e94]{margin:0 0 16px 0;font-size:32px;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.3)}.login-image p[data-v-d9106e94]{margin:0;font-size:16px;opacity:.9;line-height:1.6}.login-content[data-v-d9106e94]{flex:1;display:flex;flex-direction:column;padding:40px;overflow-y:auto}.login-header[data-v-d9106e94]{margin-bottom:32px;text-align:center}.login-header h2[data-v-d9106e94]{margin:0 0 12px 0;color:#2c3e50;font-size:26px;font-weight:600}.login-header p[data-v-d9106e94]{margin:0;color:#5c6ac4;font-size:16px;opacity:.9}.login-form[data-v-d9106e94]{flex:1;display:flex;flex-direction:column}.form-group[data-v-d9106e94]{margin-bottom:24px}.form-group label[data-v-d9106e94]{display:block;margin-bottom:10px;color:#424242;font-weight:500;font-size:15px}.input-wrapper[data-v-d9106e94]{position:relative;display:flex;align-items:center}.input-wrapper i[data-v-d9106e94]{position:absolute;left:14px;color:#5c6ac4}.form-group input[data-v-d9106e94]{width:100%;padding:14px 14px 14px 42px;border:1px solid #e0e0e0;border-radius:8px;font-size:16px;transition:all .2s ease;background:#f9fafc}.form-group input[data-v-d9106e94]:focus{outline:none;border-color:#5c6ac4;box-shadow:0 0 0 3px rgba(92,106,196,.15);background:#fff}.error-message[data-v-d9106e94]{margin-bottom:20px;padding:12px 16px;background:#fff5f5;color:#e53e3e;border-left:4px solid #e53e3e;border-radius:6px;font-size:14px;display:flex;align-items:center;gap:8px}.form-actions[data-v-d9106e94]{margin-top:10px}.login-btn[data-v-d9106e94]{width:100%;padding:14px;background:linear-gradient(180deg,#6a75ca,#5c6ac4);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 12px rgba(92,106,196,.3)}.login-btn[data-v-d9106e94]:hover:not(:disabled){background:linear-gradient(180deg,#5c6ac4,#4c59a8);transform:translateY(-2px);box-shadow:0 6px 16px rgba(92,106,196,.4)}.login-btn[data-v-d9106e94]:disabled{background:#a5afd7;cursor:not-allowed;opacity:.8;box-shadow:none}.login-footer[data-v-d9106e94]{margin-top:auto;padding-top:30px;display:flex;justify-content:center;gap:24px;font-size:14px}.login-footer a[data-v-d9106e94]{color:#5c6ac4;text-decoration:none;transition:color .2s ease;display:flex;align-items:center;gap:6px}.login-footer a[data-v-d9106e94]:hover{color:#4c59a8}.divider[data-v-d9106e94]{display:inline-block;width:1px;height:16px;background-color:#e0e0e0;margin-top:3px}@media (max-width:768px){.login-card[data-v-d9106e94]{flex-direction:column;height:auto;max-height:none}.login-image[data-v-d9106e94]{min-height:200px}.login-content[data-v-d9106e94]{padding:30px 20px}}.register-link[data-v-d9106e94]{text-align:center;margin-top:20px;color:#4a5568}.link[data-v-d9106e94]{color:#667eea;text-decoration:none}.link[data-v-d9106e94]:hover{text-decoration:underline}.sidebar[data-v-31d6ba0d]{width:280px;background:linear-gradient(180deg,#6366f1,#4f46e5);color:#fff;display:flex;flex-direction:column;position:fixed;height:100vh;box-shadow:2px 0 10px rgba(0,0,0,.1)}.logo-container[data-v-31d6ba0d]{display:flex;align-items:center;padding:25px;border-bottom:1px solid hsla(0,0%,100%,.1)}.logo[data-v-31d6ba0d]{width:45px;height:45px;background:hsla(0,0%,100%,.15);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-right:15px;font-size:22px}.logo-container h2[data-v-31d6ba0d]{font-size:20px;font-weight:600}.menu-items[data-v-31d6ba0d]{flex-grow:1;padding:25px 0;overflow-y:auto}.menu-item[data-v-31d6ba0d]{display:flex;align-items:center;padding:16px 25px;margin-bottom:5px;cursor:pointer;transition:all .2s ease;border-left:3px solid transparent}.menu-item i[data-v-31d6ba0d]{font-size:18px;width:25px;margin-right:15px;opacity:.7}.menu-item span[data-v-31d6ba0d]{font-size:15px;font-weight:500}.menu-item[data-v-31d6ba0d]:hover{background:hsla(0,0%,100%,.1)}.menu-item.active[data-v-31d6ba0d]{background:hsla(0,0%,100%,.15);border-left:3px solid #a5b4fc}.logout-button[data-v-31d6ba0d]{margin:20px 25px;padding:15px;background:hsla(0,0%,100%,.08);border-radius:10px;display:flex;align-items:center;cursor:pointer;transition:all .2s ease}.logout-button[data-v-31d6ba0d]:hover{background:hsla(0,0%,100%,.15)}.logout-button i[data-v-31d6ba0d]{margin-right:15px;font-size:18px}[data-v-1897911a]{box-sizing:border-box;margin:0;padding:0}.page-container[data-v-1897911a]{display:flex;min-height:100vh;background-color:#f5f7fa;font-family:Noto Sans,-apple-system,BlinkMacSystemFont,sans-serif}.sidebar[data-v-1897911a]{width:280px;background:linear-gradient(180deg,#6366f1,#4f46e5);color:#fff;display:flex;flex-direction:column;position:fixed;height:100vh;box-shadow:2px 0 10px rgba(0,0,0,.1)}.logo-container[data-v-1897911a]{display:flex;align-items:center;padding:25px;border-bottom:1px solid hsla(0,0%,100%,.1)}.logo[data-v-1897911a]{width:45px;height:45px;background:hsla(0,0%,100%,.15);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-right:15px;font-size:22px}.logo-container h2[data-v-1897911a]{font-size:20px;font-weight:600}.menu-items[data-v-1897911a]{flex-grow:1;padding:25px 0;overflow-y:auto}.menu-item[data-v-1897911a]{display:flex;align-items:center;padding:16px 25px;margin-bottom:5px;cursor:pointer;transition:all .2s ease;border-left:3px solid transparent}.menu-item i[data-v-1897911a]{font-size:18px;width:25px;margin-right:15px;opacity:.7}.menu-item span[data-v-1897911a]{font-size:15px;font-weight:500}.menu-item[data-v-1897911a]:hover{background:hsla(0,0%,100%,.1)}.menu-item.active[data-v-1897911a]{background:hsla(0,0%,100%,.15);border-left:3px solid #a5b4fc}.menu-item.active i[data-v-1897911a],.menu-item.active span[data-v-1897911a]{opacity:1;color:#eef2ff}.logout-button[data-v-1897911a]{margin:20px 25px;padding:15px;background:hsla(0,0%,100%,.08);border-radius:10px;display:flex;align-items:center;cursor:pointer;transition:all .2s ease}.logout-button[data-v-1897911a]:hover{background:hsla(0,0%,100%,.15)}.logout-button i[data-v-1897911a]{margin-right:15px;font-size:18px}.logout-button span[data-v-1897911a]{font-size:15px;font-weight:500}.main-content[data-v-1897911a]{flex:1;margin-left:280px;padding:30px}.header[data-v-1897911a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.page-title h1[data-v-1897911a]{font-size:28px;font-weight:700;color:#2c3e50;margin-bottom:5px}.page-title p[data-v-1897911a]{font-size:16px;color:#7f8c8d}.header-actions[data-v-1897911a]{display:flex;align-items:center}.teacher-info[data-v-1897911a]{margin-right:20px;font-size:15px}.welcome-text[data-v-1897911a]{color:#7f8c8d;margin-right:5px}.teacher-name[data-v-1897911a]{color:#4f46e5;font-weight:600}.create-btn[data-v-1897911a]{background:#4f46e5;color:#fff;border:none;border-radius:8px;padding:12px 20px;font-size:15px;font-weight:500;cursor:pointer;display:flex;align-items:center;transition:all .2s ease}.create-btn[data-v-1897911a]:hover{background:#4338ca}.create-btn i[data-v-1897911a]{margin-right:8px}.content-area[data-v-1897911a]{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.04);padding:30px;min-height:calc(100vh - 160px)}.empty-state[data-v-1897911a]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.empty-icon[data-v-1897911a]{width:100px;height:100px;background:#eef2ff;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:25px;font-size:40px;color:#6366f1}.empty-state h2[data-v-1897911a]{font-size:22px;color:#2c3e50;margin-bottom:12px}.empty-state p[data-v-1897911a]{font-size:16px;color:#7f8c8d;margin-bottom:30px;max-width:450px}.create-btn-lg[data-v-1897911a]{background:#4f46e5;color:#fff;border:none;border-radius:8px;padding:14px 30px;font-size:16px;font-weight:500;cursor:pointer;display:flex;align-items:center;transition:all .2s ease}.create-btn-lg[data-v-1897911a]:hover{background:#4338ca}.create-btn-lg i[data-v-1897911a]{margin-right:10px}.classroom-grid[data-v-1897911a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px}.classroom-card[data-v-1897911a]{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);overflow:hidden;border:1px solid #ecf0f1;transition:all .3s ease;cursor:pointer;display:flex;flex-direction:column}.classroom-card[data-v-1897911a]:hover{box-shadow:0 5px 15px rgba(99,102,241,.15);transform:translateY(-5px)}.card-top[data-v-1897911a]{padding:20px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #ecf0f1}.card-top h3[data-v-1897911a]{font-size:18px;font-weight:600;color:#2c3e50;max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-count[data-v-1897911a]{background:#6366f1;color:#fff;border-radius:20px;padding:5px 12px;font-size:14px;display:flex;align-items:center;gap:5px}.card-middle[data-v-1897911a]{padding:20px;flex-grow:1}.card-middle p[data-v-1897911a]{font-size:15px;color:#7f8c8d;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-bottom[data-v-1897911a]{padding:15px 20px;display:flex;justify-content:space-between;align-items:center;background:#f8f9fa;border-top:1px solid #ecf0f1}.card-date[data-v-1897911a]{display:flex;align-items:center;gap:6px;font-size:14px;color:#95a5a6}.card-link[data-v-1897911a]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#6366f1;transition:all .2s ease}.classroom-card:hover .card-link[data-v-1897911a]{color:#4338ca;gap:12px}.loading-container[data-v-1897911a]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px}.spinner[data-v-1897911a]{margin-bottom:20px}.spinner>div[data-v-1897911a]{width:12px;height:12px;background-color:#6366f1;border-radius:100%;display:inline-block;margin:0 5px;animation:bounce-1897911a 1.4s ease-in-out infinite both}.spinner .bounce1[data-v-1897911a]{animation-delay:-.32s}.spinner .bounce2[data-v-1897911a]{animation-delay:-.16s}@keyframes bounce-1897911a{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.loading-container p[data-v-1897911a]{font-size:16px;color:#7f8c8d}.modal-overlay[data-v-1897911a]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-container[data-v-1897911a]{width:500px;max-width:90%;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.2)}.modal-header[data-v-1897911a]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #ecf0f1}.modal-header h2[data-v-1897911a]{font-size:20px;font-weight:600;color:#2c3e50}.close-btn[data-v-1897911a]{background:none;border:none;color:#95a5a6;font-size:18px;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-btn[data-v-1897911a]:hover{background:#f8f9fa;color:#2c3e50}.modal-body[data-v-1897911a]{padding:20px}.form-group[data-v-1897911a]{margin-bottom:20px}.form-group label[data-v-1897911a]{display:block;font-size:15px;font-weight:600;color:#2c3e50;margin-bottom:8px}.input-container[data-v-1897911a]{position:relative}.input-container i[data-v-1897911a]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#bdc3c7;font-size:16px}.input-container textarea+i[data-v-1897911a]{top:20px;transform:none}.form-group input[data-v-1897911a],.form-group textarea[data-v-1897911a]{width:100%;padding:12px 12px 12px 40px;border:1px solid #dfe4ea;border-radius:8px;font-size:15px;color:#2c3e50;transition:all .2s ease;background:#f8f9fa}.form-group textarea[data-v-1897911a]{min-height:120px;resize:vertical}.form-group input[data-v-1897911a]:focus,.form-group textarea[data-v-1897911a]:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.15);background:#fff}.modal-footer[data-v-1897911a]{padding:15px 20px 20px;display:flex;justify-content:flex-end;gap:12px}.cancel-btn[data-v-1897911a],.submit-btn[data-v-1897911a]{padding:10px 20px;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-btn[data-v-1897911a]{background:#f8f9fa;border:1px solid #dfe4ea;color:#7f8c8d}.cancel-btn[data-v-1897911a]:hover{background:#ecf0f1;color:#2c3e50}.submit-btn[data-v-1897911a]{background:#6366f1;border:none;color:#fff;display:flex;align-items:center;gap:6px}.submit-btn[data-v-1897911a]:hover{background:#4f46e5}.submit-btn[data-v-1897911a]:disabled{background:#bdc3c7;cursor:not-allowed}.fade-enter-active[data-v-1897911a],.fade-leave-active[data-v-1897911a]{transition:opacity .3s}.fade-enter-from[data-v-1897911a],.fade-leave-to[data-v-1897911a]{opacity:0}.modal-enter-active[data-v-1897911a],.modal-leave-active[data-v-1897911a]{transition:all .3s}.modal-enter-from[data-v-1897911a],.modal-leave-to[data-v-1897911a]{opacity:0;transform:scale(.9)}@media (max-width:1024px){.sidebar[data-v-1897911a]{width:250px}.main-content[data-v-1897911a]{margin-left:250px;padding:25px}.logo-container[data-v-1897911a]{padding:20px}.menu-item[data-v-1897911a]{padding:14px 20px}}@media (max-width:768px){.page-container[data-v-1897911a]{flex-direction:column}.sidebar[data-v-1897911a]{width:100%;height:auto;position:relative;box-shadow:none}.logo-container[data-v-1897911a]{justify-content:center;padding:15px}.logout-button[data-v-1897911a],.menu-items[data-v-1897911a]{display:none}.main-content[data-v-1897911a]{margin-left:0;padding:20px}.header[data-v-1897911a]{flex-direction:column;align-items:flex-start;gap:15px}.header-actions[data-v-1897911a]{width:100%;justify-content:space-between}.content-area[data-v-1897911a]{padding:20px}.classroom-grid[data-v-1897911a]{grid-template-columns:1fr}}.teacher-chess-board[data-v-2cb1b22b]{display:flex;flex-direction:column;height:calc(100% - 30px);width:calc(100% - 30px);box-sizing:border-box;margin:5px}.board-wrapper[data-v-2cb1b22b]{position:relative;width:100%;height:100%;aspect-ratio:1/1;margin:0 auto}.chess-board[data-v-2cb1b22b]{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);width:100%;height:100%;border:3px solid #765c48;box-shadow:0 8px 20px rgba(0,0,0,.25);position:relative;grid-gap:0}.square[data-v-2cb1b22b]{position:relative;width:100%;height:100%;aspect-ratio:1/1;margin:0;padding:0}.square[data-v-2cb1b22b]>*{position:absolute;top:0;left:0;width:100%;height:100%}.piece[data-v-2cb1b22b]{top:0;left:0;width:100%;height:100%;background-size:90%;background-position:50%;background-repeat:no-repeat;z-index:2;cursor:grab;transition:transform .2s ease}.piece[data-v-2cb1b22b]:hover{transform:scale(1.15)}.piece[data-v-2cb1b22b]:active{cursor:grabbing}.light[data-v-2cb1b22b]{background-color:#f0d9b5}.dark[data-v-2cb1b22b]{background-color:#b58863}.flipped .file-label[data-v-2cb1b22b],.flipped .marker[data-v-2cb1b22b],.flipped .piece[data-v-2cb1b22b],.flipped .rank-label[data-v-2cb1b22b],.flipped[data-v-2cb1b22b]{transform:rotate(180deg)}.white-p[data-v-2cb1b22b]{background-image:url(https://lichess1.org/assets/piece/cburnett/wP.svg)}.white-r[data-v-2cb1b22b]{background-image:url(https://lichess1.org/assets/piece/cburnett/wR.svg)}.white-n[data-v-2cb1b22b]{background-image:url(https://lichess1.org/assets/piece/cburnett/wN.svg)}.white-b[data-v-2cb1b22b]{background-image:url(https://lichess1.org/assets/piece/cburnett/wB.svg)}.white-q[data-v-2cb1b22b]{background-image:url(https://lichess1.org/assets/piece/cburnett/wQ.svg)}.white-k[data-v-2cb1b22b]{background-image:url(https://lichess1.org/assets/piece/cburnett/wK.svg)}.black-p[data-v-2cb1b22b]{background-image:url(https://lichess1.org/assets/piece/cburnett/bP.svg)}.black-r[data-v-2cb1b22b]{background-image:url(https://lichess1.org/assets/piece/cburnett/bR.svg)}.black-n[data-v-2cb1b22b]{background-image:url(https://lichess1.org/assets/piece/cburnett/bN.svg)}.black-b[data-v-2cb1b22b]{background-image:url(https://lichess1.org/assets/piece/cburnett/bB.svg)}.black-q[data-v-2cb1b22b]{background-image:url(https://lichess1.org/assets/piece/cburnett/bQ.svg)}.black-k[data-v-2cb1b22b]{background-image:url(https://lichess1.org/assets/piece/cburnett/bK.svg)}.file-label[data-v-2cb1b22b],.rank-label[data-v-2cb1b22b]{position:absolute;font-size:.8em;color:rgba(0,0,0,.7);font-weight:700}.rank-label[data-v-2cb1b22b]{left:5%;top:5%}.file-label[data-v-2cb1b22b]{right:5%;bottom:5%}.light .file-label[data-v-2cb1b22b],.light .rank-label[data-v-2cb1b22b]{color:#8b5a2b}.dark .file-label[data-v-2cb1b22b],.dark .rank-label[data-v-2cb1b22b]{color:#f0d9b5}.highlight[data-v-2cb1b22b]{position:relative;z-index:1}.last-move-from[data-v-2cb1b22b]{background-color:rgba(155,199,0,.4)}.last-move-to[data-v-2cb1b22b]{background-color:rgba(155,199,0,.7)}.light.last-move-from[data-v-2cb1b22b]{background-color:#f7e9c0}.dark.last-move-from[data-v-2cb1b22b]{background-color:#caa26d}.light.last-move-to[data-v-2cb1b22b]{background-color:#f8ec9a}.dark.last-move-to[data-v-2cb1b22b]{background-color:#d9c577}.marker[data-v-2cb1b22b]{position:absolute;font-size:2em;font-weight:700;z-index:5;text-shadow:1px 1px 3px rgba(0,0,0,.5)}.arrows-container[data-v-2cb1b22b]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.arrow[data-v-2cb1b22b]{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;opacity:.8;filter:drop-shadow(0 0 2px rgba(0,0,0,.5))}.arrow-head[data-v-2cb1b22b]{fill:currentColor;stroke:none;opacity:.8;filter:drop-shadow(0 0 1px rgba(0,0,0,.5))}.arrow-start[data-v-2cb1b22b]{box-shadow:inset 0 0 0 4px rgba(233,30,99,.8);background-color:rgba(233,30,99,.2);position:relative;z-index:3}.arrow-start[data-v-2cb1b22b]:after{content:"";position:absolute;top:50%;left:50%;width:25%;height:25%;background-color:rgba(233,30,99,.8);border-radius:50%;transform:translate(-50%,-50%);z-index:4}.square.highlight[data-v-2cb1b22b]{position:relative;z-index:1}.square.selected[data-v-2cb1b22b]{box-shadow:inset 0 0 0 4px rgba(255,215,0,.7);position:relative;z-index:2}.dark.selected[data-v-2cb1b22b],.light.selected[data-v-2cb1b22b],.square.selected[data-v-2cb1b22b]{background-color:rgba(255,215,0,.3)}.square.selected.last-move-from[data-v-2cb1b22b],.square.selected.last-move-to[data-v-2cb1b22b]{box-shadow:inset 0 0 0 4px rgba(255,215,0,.7),inset 0 0 0 2px rgba(155,199,0,.6)}.coordinate-label[data-v-2cb1b22b]{position:absolute;font-size:.85em;font-weight:700;z-index:1;pointer-events:none;text-shadow:1px 1px 2px hsla(0,0%,100%,.9),0 0 4px hsla(0,0%,100%,.7);top:3px;left:3px;opacity:.9;font-family:Arial,sans-serif;letter-spacing:.5px}.light .coordinate-label[data-v-2cb1b22b]{color:#5d3a1a}.dark .coordinate-label[data-v-2cb1b22b]{color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.8),0 0 4px rgba(0,0,0,.6),2px 2px 4px rgba(0,0,0,.4);font-weight:900}.flipped .coordinate-label[data-v-2cb1b22b]{transform:rotate(180deg)}.free-chessboard-container[data-v-fbffeef6]{display:flex;flex-direction:column;height:100vh;width:100%;background-color:#f5f7fa;overflow:hidden}.navbar[data-v-fbffeef6]{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background-color:#5b5fc2;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15);min-height:60px;max-height:60px;z-index:10}.navbar-left[data-v-fbffeef6],.navbar-right[data-v-fbffeef6]{display:flex;align-items:center;gap:15px}.navbar h2[data-v-fbffeef6]{margin:0;font-size:20px;font-weight:500}.back-btn[data-v-fbffeef6],.clear-pieces-btn[data-v-fbffeef6],.flip-btn[data-v-fbffeef6],.reset-btn[data-v-fbffeef6]{display:flex;align-items:center;gap:8px;padding:6px 10px;border:none;border-radius:4px;background-color:hsla(0,0%,100%,.15);color:#fff;font-size:14px;cursor:pointer;transition:background-color .2s}.back-btn[data-v-fbffeef6]:hover,.clear-pieces-btn[data-v-fbffeef6]:hover,.flip-btn[data-v-fbffeef6]:hover,.reset-btn[data-v-fbffeef6]:hover{background-color:hsla(0,0%,100%,.25)}.reset-btn[data-v-fbffeef6]{background-color:rgba(52,211,153,.2)}.reset-btn[data-v-fbffeef6]:hover{background-color:rgba(52,211,153,.3)}.clear-pieces-btn[data-v-fbffeef6]{background-color:rgba(239,68,68,.2)}.clear-pieces-btn[data-v-fbffeef6]:hover{background-color:rgba(239,68,68,.3)}.start-game-btn[data-v-fbffeef6]{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;padding:12px 24px;color:#fff;font-weight:600;font-size:14px;cursor:pointer;position:relative;overflow:hidden;box-shadow:0 4px 15px rgba(102,126,234,.4),0 2px 4px rgba(0,0,0,.1);transition:all .3s cubic-bezier(.4,0,.2,1);transform:translateY(0)}.start-game-btn .btn-content[data-v-fbffeef6]{display:flex;align-items:center;gap:8px;position:relative;z-index:2}.start-game-btn .btn-decoration[data-v-fbffeef6]{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,hsla(0,0%,100%,.1),transparent);transform:rotate(45deg);transition:all .6s;z-index:1}.start-game-btn[data-v-fbffeef6]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px rgba(102,126,234,.5),0 4px 8px rgba(0,0,0,.15)}.start-game-btn:hover:not(:disabled) .btn-decoration[data-v-fbffeef6]{left:100%}.start-game-btn[data-v-fbffeef6]:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 10px rgba(102,126,234,.3),0 1px 2px rgba(0,0,0,.1)}.start-game-btn[data-v-fbffeef6]:disabled{background:linear-gradient(135deg,#a0a0a0,grey);cursor:not-allowed;opacity:.6;transform:none;box-shadow:0 2px 4px rgba(0,0,0,.1)}.start-game-btn:disabled .btn-decoration[data-v-fbffeef6]{display:none}.start-game-btn i[data-v-fbffeef6]{font-size:16px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.stop-game-btn[data-v-fbffeef6]{background:linear-gradient(135deg,#ff6b6b,#ee5a24);border:none;border-radius:12px;padding:12px 24px;color:#fff;font-weight:600;font-size:14px;cursor:pointer;position:relative;overflow:hidden;box-shadow:0 4px 15px hsla(0,100%,71%,.4),0 2px 4px rgba(0,0,0,.1);transition:all .3s cubic-bezier(.4,0,.2,1);transform:translateY(0)}.stop-game-btn .btn-content[data-v-fbffeef6]{display:flex;align-items:center;gap:8px;position:relative;z-index:2}.stop-game-btn[data-v-fbffeef6]:hover{transform:translateY(-2px);background:linear-gradient(135deg,#ff5252,#d63031);box-shadow:0 8px 25px hsla(0,100%,71%,.5),0 4px 8px rgba(0,0,0,.15)}.stop-game-btn[data-v-fbffeef6]:active{transform:translateY(0);box-shadow:0 2px 10px hsla(0,100%,71%,.3),0 1px 2px rgba(0,0,0,.1)}.stop-game-btn i[data-v-fbffeef6]{font-size:16px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.board-container[data-v-fbffeef6]{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;overflow:hidden;max-height:calc(100vh - 30px)}.main-board[data-v-fbffeef6]{width:100%;max-width:min(calc(100vh - 120px),900px);height:auto;box-shadow:0 8px 30px rgba(0,0,0,.15);border-radius:8px;margin-bottom:20px}.pieces-panel[data-v-fbffeef6]{border-right:1px solid #eee;box-shadow:2px 0 10px rgba(0,0,0,.05)}.draw-tools-panel[data-v-fbffeef6],.pieces-panel[data-v-fbffeef6]{display:flex;background-color:#fff;border-top:none;height:100%;width:60px;overflow-y:auto;flex-direction:column;position:relative}.draw-tools-panel[data-v-fbffeef6]{border-left:1px solid #eee;box-shadow:-2px 0 10px rgba(0,0,0,.05)}.vertical-pieces-container[data-v-fbffeef6]{display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:15px 5px}.draw-tool-group[data-v-fbffeef6],.piece-group[data-v-fbffeef6]{display:flex;flex-direction:column;align-items:center;gap:15px}.draw-tool-group[data-v-fbffeef6]{margin-top:30px}.piece-option[data-v-fbffeef6]{width:40px;height:40px;background-size:85%;background-position:50%;background-repeat:no-repeat;cursor:pointer;border:2px solid transparent;border-radius:8px;background-color:#f5f7fa;transition:all .25s ease}.piece-option[data-v-fbffeef6]:hover{background-color:#e0e5f0;transform:translateY(-3px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.piece-option.selected[data-v-fbffeef6]{border-color:#5b5fc2;background-color:#e8eaff;box-shadow:0 0 0 3px rgba(91,95,194,.3)}.eraser[data-v-fbffeef6]{display:flex;justify-content:center;align-items:center;font-size:20px;color:#e53935;background-color:#ffebee}.eraser[data-v-fbffeef6]:hover{background-color:#ffcdd2;box-shadow:0 4px 8px rgba(229,57,53,.2)}.eraser.selected[data-v-fbffeef6]{border-color:#e53935;background-color:#ffcdd2;box-shadow:0 0 0 3px rgba(229,57,53,.2)}.draw-btn[data-v-fbffeef6]{width:40px;height:40px;border:none;border-radius:8px;background-color:#f0f0f0;color:#555;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:all .25s;box-shadow:0 2px 4px rgba(0,0,0,.1)}.draw-btn[data-v-fbffeef6]:hover{background-color:#e0e0e0;transform:translateY(-3px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.draw-btn.active[data-v-fbffeef6]{background-color:#5b5fc2;color:#fff;box-shadow:0 4px 8px rgba(91,95,194,.3)}.color-selector[data-v-fbffeef6]{display:flex;flex-direction:column;gap:8px;margin:8px 0}.color-btn[data-v-fbffeef6]{width:32px;height:32px;border:2px solid #ddd;border-radius:50%;background-color:#fff;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.color-btn[data-v-fbffeef6]:hover{transform:scale(1.1);box-shadow:0 2px 8px rgba(0,0,0,.2)}.color-btn.active[data-v-fbffeef6]{border-width:3px;border-color:#333;transform:scale(1.05);box-shadow:0 0 0 2px rgba(51,51,51,.3)}.color-dot[data-v-fbffeef6]{width:20px;height:20px;border-radius:50%;border:1px solid hsla(0,0%,100%,.8)}.clear-btn[data-v-fbffeef6]{background-color:#ff5722;color:#fff}.clear-btn[data-v-fbffeef6]:hover{background-color:#e64a19}.navigation-controls[data-v-fbffeef6]{display:flex;justify-content:center;gap:20px;width:100%;max-width:min(calc(100vh - 120px),900px);padding:0 15px;margin-bottom:15px}.nav-btn[data-v-fbffeef6]{flex:1;padding:12px 20px;background-color:#5b5fc2;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px rgba(0,0,0,.1);max-width:180px}.nav-btn[data-v-fbffeef6]:hover:not(:disabled){background-color:#4b4fa2;transform:translateY(-2px);box-shadow:0 6px 12px rgba(0,0,0,.15)}.nav-btn[data-v-fbffeef6]:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px rgba(0,0,0,.1)}.nav-btn[data-v-fbffeef6]:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.nav-btn i[data-v-fbffeef6]{font-size:18px}.initial-btn[data-v-fbffeef6]{background-color:#34d399;color:#fff}.initial-btn[data-v-fbffeef6]:hover:not(:disabled){background-color:#10b981}.shortcut-hint[data-v-fbffeef6]{position:absolute;top:2px;right:4px;font-size:9px;opacity:.7;background-color:hsla(0,0%,100%,.2);padding:1px 3px;border-radius:2px;font-family:monospace;font-weight:400}.nav-btn[data-v-fbffeef6]{position:relative}.move-counter[data-v-fbffeef6]{display:flex;align-items:center;justify-content:center;padding:8px 16px;background-color:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;min-width:120px}.counter-text[data-v-fbffeef6]{font-size:14px;font-weight:600;color:#4a5568;font-family:monospace;white-space:nowrap}@media (max-width:768px){.pieces-panel[data-v-fbffeef6]{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;padding:8px;max-height:100px}.navbar span[data-v-fbffeef6]{display:none}.piece-option[data-v-fbffeef6]{width:36px;height:36px}.panel-section[data-v-fbffeef6]{flex:0 0 auto}.navigation-controls[data-v-fbffeef6]{margin:10px 0}.nav-btn[data-v-fbffeef6]{padding:6px 10px;font-size:12px}.shortcut-hint[data-v-fbffeef6]{display:none}.move-counter[data-v-fbffeef6]{min-width:80px;padding:4px 8px}.counter-text[data-v-fbffeef6]{font-size:11px}}@media (max-width:480px){.piece-option[data-v-fbffeef6]{width:32px;height:32px}.pieces-panel[data-v-fbffeef6]{padding:5px;gap:8px}.panel-section h3[data-v-fbffeef6]{font-size:12px;margin-bottom:5px}}.status-indicator[data-v-fbffeef6]{text-align:center;margin:10px 0;padding:8px;background-color:hsla(0,0%,100%,.8);border-radius:6px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.status-message[data-v-fbffeef6]{font-size:14px;color:#4a5568;font-weight:500}.board-container-left[data-v-fbffeef6]{display:flex;flex-direction:column;justify-content:center;align-items:center;height:95%;width:calc(90vh - 100px)}.writing-board[data-v-fbffeef6]{width:400px;height:100%;background-color:#fff;border-left:1px solid #eee;display:flex;flex-direction:column;box-shadow:-2px 0 10px rgba(0,0,0,.03)}.writing-board-header[data-v-fbffeef6]{padding:10px 15px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}.writing-board-header h3[data-v-fbffeef6]{margin:0;font-size:16px;font-weight:500;color:#4a5568}.writing-tools[data-v-fbffeef6]{display:flex;gap:8px}.writing-tool-btn[data-v-fbffeef6]{background:none;border:none;color:#718096;font-size:14px;cursor:pointer;padding:5px;border-radius:4px;transition:all .2s}.writing-tool-btn[data-v-fbffeef6]:hover{color:#4a5568;background-color:#f7fafc}.writing-tool-btn.active[data-v-fbffeef6]{background-color:#e2e8f0;color:#4a5568}.color-btn.red-pen[data-v-fbffeef6]{color:#e53935}.color-btn.blue-pen[data-v-fbffeef6]{color:#2196f3}.writing-board-content[data-v-fbffeef6]{flex:1;padding:0;position:relative;background-color:#f8f9fa}.drawing-canvas[data-v-fbffeef6]{width:100%;height:100%;background-color:#fff;cursor:crosshair}.handwriting-sidebar[data-v-fbffeef6]{width:400px;height:100%;background-color:#fff;border-left:1px solid #eee;display:flex;flex-direction:column;box-shadow:-2px 0 10px rgba(0,0,0,.03)}.handwriting-header[data-v-fbffeef6]{padding:10px 15px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}.handwriting-header h3[data-v-fbffeef6]{margin:0;font-size:16px;font-weight:500;color:#4a5568}.handwriting-tools[data-v-fbffeef6]{display:flex;gap:8px;flex-wrap:wrap}.tool-btn[data-v-fbffeef6]{background:none;border:none;color:#718096;font-size:14px;cursor:pointer;padding:5px;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.tool-btn[data-v-fbffeef6]:hover{color:#4a5568;background-color:#f7fafc}.tool-btn.active[data-v-fbffeef6]{background-color:#e2e8f0;color:#4a5568}.color-btn.active[data-v-fbffeef6]{background-color:#e2e8f0}.eraser-btn[data-v-fbffeef6]{color:#e53935}.save-btn[data-v-fbffeef6]{color:#2196f3}.handwriting-container[data-v-fbffeef6]{flex:1;padding:0;position:relative;background-color:#f8f9fa}.handwriting-container canvas[data-v-fbffeef6]{width:100%;height:100%;background-color:#fff;cursor:crosshair}.line-width-control[data-v-fbffeef6]{display:flex;gap:4px}.line-btn[data-v-fbffeef6]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0}.line-sample[data-v-fbffeef6]{width:16px;background-color:#333;border-radius:2px}.editable-title[data-v-fbffeef6]{display:flex;align-items:center;cursor:pointer;padding:2px 4px;border-radius:4px;transition:background-color .2s}.editable-title[data-v-fbffeef6]:hover{background-color:#f0f4f8}.editable-title h3[data-v-fbffeef6]{margin-right:8px}.edit-icon[data-v-fbffeef6]{font-size:12px;color:#a0aec0;opacity:0;transition:opacity .2s}.editable-title:hover .edit-icon[data-v-fbffeef6]{opacity:1}.title-input[data-v-fbffeef6]{padding:4px 8px;border:1px solid #e2e8f0;border-radius:4px;font-size:16px;font-weight:500;color:#4a5568;width:150px;outline:none;transition:border-color .2s}.title-input[data-v-fbffeef6]:focus{border-color:#5b5fc2;box-shadow:0 0 0 2px rgba(91,95,194,.2)}.game-status[data-v-fbffeef6]{width:100%;max-width:min(calc(100vh - 120px),900px);background-color:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;padding:12px 16px;margin-bottom:15px;box-shadow:0 2px 4px rgba(0,0,0,.05);transition:all .3s ease}.game-status.check-warning[data-v-fbffeef6]{background-color:#fef3f2;border-color:#fecaca;box-shadow:0 4px 8px rgba(239,68,68,.1)}.status-info[data-v-fbffeef6]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.status-text[data-v-fbffeef6]{font-size:16px;font-weight:600;color:#1f2937}.turn-indicator[data-v-fbffeef6]{display:flex;align-items:center;gap:8px}.color-indicator[data-v-fbffeef6]{width:20px;height:20px;border-radius:50%;border:2px solid #374151;position:relative}.color-indicator.white[data-v-fbffeef6]{background-color:#fff;border-color:#374151}.color-indicator.black[data-v-fbffeef6]{background-color:#1f2937;border-color:#6b7280}.color-indicator[data-v-fbffeef6]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;background-color:#10b981;animation:pulse-fbffeef6 2s infinite}.color-indicator.in-check[data-v-fbffeef6]:after{background-color:#ef4444;animation:pulse-fast-fbffeef6 1s infinite}@keyframes pulse-fbffeef6{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@keyframes pulse-fast-fbffeef6{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.7;transform:translate(-50%,-50%) scale(1.2)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.selected-info[data-v-fbffeef6]{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#6b7280;margin-top:8px}.selected-piece[data-v-fbffeef6]{background-color:#e0e7ff;font-weight:600}.selected-piece[data-v-fbffeef6],.valid-moves[data-v-fbffeef6]{padding:4px 8px;border-radius:4px;font-family:monospace;font-size:12px}.valid-moves[data-v-fbffeef6]{background-color:#dbeafe;color:#1e40af}.valid-moves small[data-v-fbffeef6]{font-size:10px;opacity:.8;margin-left:4px}.no-moves[data-v-fbffeef6]{background-color:#fef3c7;padding:4px 8px;border-radius:4px;font-family:monospace;font-size:12px;color:#92400e}.pieces-panel.game-mode[data-v-fbffeef6]{background-color:#f3f4f6;border-right:2px solid #d1d5db}.draw-tools-panel.game-mode[data-v-fbffeef6]{background-color:#f3f4f6;border-left:2px solid #d1d5db}.game-mode-notice[data-v-fbffeef6]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px 10px;color:#059669;font-size:12px;font-weight:600;text-align:center;margin-bottom:20px;background-color:rgba(5,150,105,.1);border-radius:8px;border:1px solid rgba(5,150,105,.2)}.game-mode-notice i[data-v-fbffeef6]{font-size:20px;margin-bottom:6px}.game-mode-notice span[data-v-fbffeef6]{font-size:11px;margin-bottom:4px}.game-mode-notice small[data-v-fbffeef6]{font-size:9px;color:#047857;opacity:.8}.tool-separator[data-v-fbffeef6]{width:30px;height:2px;background-color:#e2e8f0;margin:8px 0;border-radius:1px}@media (max-width:1200px){.main-board-area[data-v-fbffeef6]{flex-direction:column}.handwriting-sidebar[data-v-fbffeef6]{width:100%;max-height:400px;border-left:none;border-top:1px solid #eee}.game-status[data-v-fbffeef6]{max-width:100%}}@media (max-width:768px){.handwriting-header[data-v-fbffeef6]{flex-direction:column;align-items:flex-start;gap:10px}.handwriting-tools[data-v-fbffeef6]{width:100%;justify-content:space-between}.main-board[data-v-fbffeef6]{max-width:100%}.navigation-controls[data-v-fbffeef6]{flex-wrap:wrap}.game-status[data-v-fbffeef6]{margin-bottom:10px;padding:8px 12px}.status-info[data-v-fbffeef6]{flex-direction:column;align-items:flex-start;gap:8px}.selected-info[data-v-fbffeef6]{flex-direction:row;flex-wrap:wrap;gap:8px}.selected-info span[data-v-fbffeef6]{font-size:11px}.game-mode-notice[data-v-fbffeef6]{padding:8px 5px;margin-bottom:10px}.game-mode-notice i[data-v-fbffeef6]{font-size:16px}.game-mode-notice span[data-v-fbffeef6]{font-size:10px}.game-mode-notice small[data-v-fbffeef6]{font-size:8px}.navbar-right[data-v-fbffeef6]{flex-wrap:wrap;gap:8px}.start-game-btn[data-v-fbffeef6],.stop-game-btn[data-v-fbffeef6]{padding:8px 16px;font-size:12px}.start-game-btn .btn-content[data-v-fbffeef6],.stop-game-btn .btn-content[data-v-fbffeef6]{gap:6px}}.notification[data-v-fbffeef6]{position:fixed;top:20px;right:20px;z-index:9999;min-width:320px;max-width:400px;border-radius:12px;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideInRight-fbffeef6 .4s cubic-bezier(.25,.46,.45,.94);box-shadow:0 10px 40px rgba(0,0,0,.15),0 4px 8px rgba(0,0,0,.1)}@keyframes slideInRight-fbffeef6{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.notification.success[data-v-fbffeef6]{background:linear-gradient(135deg,rgba(76,175,80,.95),rgba(67,160,71,.95));border-left:4px solid #4caf50}.notification.error[data-v-fbffeef6]{background:linear-gradient(135deg,rgba(244,67,54,.95),rgba(229,57,53,.95));border-left:4px solid #f44336}.notification.warning[data-v-fbffeef6]{background:linear-gradient(135deg,rgba(255,152,0,.95),rgba(245,124,0,.95));border-left:4px solid #ff9800}.notification.info[data-v-fbffeef6]{background:linear-gradient(135deg,rgba(33,150,243,.95),rgba(30,136,229,.95));border-left:4px solid #2196f3}.notification-content[data-v-fbffeef6]{display:flex;align-items:flex-start;padding:16px 20px;color:#fff;position:relative}.notification-icon[data-v-fbffeef6]{flex-shrink:0;margin-right:12px;font-size:20px;margin-top:2px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.notification-text[data-v-fbffeef6]{flex:1;min-width:0}.notification-title[data-v-fbffeef6]{font-size:16px;font-weight:600;margin-bottom:4px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.notification-message[data-v-fbffeef6]{font-size:14px;opacity:.95;line-height:1.4;text-shadow:0 1px 2px rgba(0,0,0,.2)}.notification-close[data-v-fbffeef6]{flex-shrink:0;background:none;border:none;color:#fff;font-size:16px;cursor:pointer;padding:4px;border-radius:4px;margin-left:8px;transition:all .2s;opacity:.8}.notification-close[data-v-fbffeef6]:hover{background:hsla(0,0%,100%,.2);opacity:1;transform:scale(1.1)}.notification-close[data-v-fbffeef6]:active{transform:scale(.95)}@media (max-width:768px){.notification[data-v-fbffeef6]{top:10px;right:10px;left:10px;min-width:auto;max-width:none}.notification-content[data-v-fbffeef6]{padding:12px 16px}.notification-title[data-v-fbffeef6]{font-size:14px}.notification-message[data-v-fbffeef6]{font-size:13px}}.turn-status[data-v-fbffeef6]{width:100%;max-width:min(calc(100vh - 120px),900px);background-color:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;padding:12px 16px;margin-bottom:15px;box-shadow:0 2px 4px rgba(0,0,0,.05);transition:all .3s ease}.turn-info[data-v-fbffeef6]{display:flex;align-items:center;justify-content:center;gap:12px}.turn-label[data-v-fbffeef6]{font-size:14px;font-weight:500;color:#4a5568}.turn-selector[data-v-fbffeef6]{display:flex;gap:12px}.turn-option[data-v-fbffeef6]{display:flex;align-items:center;gap:8px;padding:8px 16px;border:2px solid #e2e8f0;border-radius:8px;background-color:#fff;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500;color:#4a5568}.turn-option[data-v-fbffeef6]:hover{border-color:#cbd5e0;background-color:#f7fafc;transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.turn-option.active[data-v-fbffeef6]{border-color:#5b5fc2;background-color:#e8eaff;color:#5b5fc2;font-weight:600;box-shadow:0 0 0 2px rgba(91,95,194,.2)}.turn-color-indicator[data-v-fbffeef6]{width:16px;height:16px;border-radius:50%;border:2px solid #374151;flex-shrink:0}.turn-color-indicator.white[data-v-fbffeef6]{background-color:#fff;border-color:#374151}.turn-color-indicator.black[data-v-fbffeef6]{background-color:#1f2937;border-color:#6b7280}@media (max-width:768px){.turn-status[data-v-fbffeef6]{max-width:100%;margin-bottom:10px;padding:8px 12px}.turn-info[data-v-fbffeef6]{flex-direction:column;gap:8px}.turn-label[data-v-fbffeef6]{font-size:12px}.turn-selector[data-v-fbffeef6]{gap:8px}.turn-option[data-v-fbffeef6]{padding:6px 12px;font-size:12px}.turn-color-indicator[data-v-fbffeef6]{width:14px;height:14px}}.simple-chessboard-view[data-v-453206e6]{display:flex;flex-direction:column;height:100vh;background-color:#f5f5f5;padding:1rem}.navigation-bar[data-v-453206e6]{padding:.5rem 0;margin-bottom:1rem}.nav-buttons[data-v-453206e6]{display:flex;gap:1rem}.nav-button[data-v-453206e6]{padding:.5rem 1rem;background-color:#4338ca;color:#fff;border:none;border-radius:.25rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:1rem;transition:background-color .2s}.nav-button[data-v-453206e6]:hover{background-color:#3730a3}.content-area[data-v-453206e6]{display:flex;flex:1;gap:2rem}.board-container[data-v-453206e6]{flex:2;min-width:0}.pieces-container[data-v-453206e6]{flex:1;display:flex;flex-direction:column;gap:1.5rem;padding:1rem;background-color:#fff;border-radius:.5rem;box-shadow:0 2px 4px rgba(0,0,0,.1)}.piece-selector[data-v-453206e6]{margin-bottom:1rem}.piece-selector h3[data-v-453206e6]{margin-top:0;margin-bottom:.75rem;color:#333;font-size:1.2rem}.pieces-grid[data-v-453206e6]{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.piece-option[data-v-453206e6]{width:4rem;height:4rem;display:flex;align-items:center;justify-content:center;background-color:#f0f0f0;border-radius:.25rem;cursor:pointer;transition:background-color .2s}.piece-option[data-v-453206e6]:hover{background-color:#e0e0e0}.piece-option.selected[data-v-453206e6]{background-color:#4338ca;box-shadow:0 0 0 2px #6366f1}.piece-option img[data-v-453206e6]{width:80%;height:80%;-o-object-fit:contain;object-fit:contain}.tools[data-v-453206e6]{display:flex;gap:.75rem;margin-top:1rem}.tool-option[data-v-453206e6]{padding:.75rem;display:flex;align-items:center;justify-content:center;gap:.5rem;background-color:#f0f0f0;border-radius:.25rem;cursor:pointer;transition:background-color .2s}.tool-option[data-v-453206e6]:hover{background-color:#e0e0e0}.tool-option.selected[data-v-453206e6]{background-color:#4338ca;color:#fff;box-shadow:0 0 0 2px #6366f1}.icon[data-v-453206e6]{font-size:1.2rem}@media (max-width:968px){.content-area[data-v-453206e6]{flex-direction:column}.board-container[data-v-453206e6]{max-width:100%}.pieces-container[data-v-453206e6]{margin-top:1rem}}.teacher-replay[data-v-48ba74d7]{min-height:100vh;background:linear-gradient(135deg,#f0f4f8,#d9e2ec);padding:5px;display:flex;flex-direction:column;height:100vh;box-sizing:border-box;overflow:hidden}.info-bar[data-v-48ba74d7]{background:#fff;border-radius:8px;padding:8px 15px;margin-bottom:5px;box-shadow:0 2px 8px rgba(0,0,0,.08);display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;height:40px;transition:all .3s ease;z-index:10}.info-bar.collapsed[data-v-48ba74d7]{height:0;padding:0;margin:0;overflow:hidden;opacity:0}.nav-toggle[data-v-48ba74d7]{display:flex;align-items:center;gap:15px}.nav-toggle-btn[data-v-48ba74d7]{background:none;border:none;cursor:pointer;font-size:16px;color:#334e68;transition:color .3s ease;padding:5px}.nav-toggle-btn[data-v-48ba74d7]:hover{color:#2b6cb0}.title[data-v-48ba74d7]{margin:0;color:#334e68;font-size:16px;font-weight:600}.game-meta[data-v-48ba74d7]{display:flex;gap:15px;align-items:center}.board-name[data-v-48ba74d7]{background:#ebf5ff;padding:4px 10px;border-radius:6px;color:#2680c2;font-weight:500;font-size:12px}.date[data-v-48ba74d7]{color:#627d98;font-size:12px}.main-content[data-v-48ba74d7]{display:flex;flex:1;gap:10px;overflow:hidden;width:100%;height:calc(100vh - 50px)}.chess-board-container[data-v-48ba74d7]{flex:0 1 calc(100vh - 15px);display:flex;background:#fff;border-radius:12px;box-shadow:0 5px 15px rgba(0,0,0,.07);overflow:hidden;min-width:0;max-height:calc(100vh - 15px);max-width:calc(100vh - 15px)}.chess-board-section[data-v-48ba74d7]{flex:1;background:#f8fafc;display:flex;justify-content:center;align-items:center;height:calc(100% - 40px);min-width:0;max-height:calc(100vh - 90px)}.board-section[data-v-48ba74d7] .chess-board{width:100%;height:100%;max-width:min(100vh - 50px,100%);max-height:min(100vh - 50px,100%);aspect-ratio:1/1}.side-controls[data-v-48ba74d7]{display:flex;flex-direction:column;gap:20px;background:#fff;padding:15px;width:80px;border-left:1px solid #e7edf3;overflow-y:auto;justify-content:space-between;max-height:calc(100vh - 90px)}.control-buttons-vertical[data-v-48ba74d7],.drawing-tools-vertical[data-v-48ba74d7],.function-buttons-vertical[data-v-48ba74d7]{display:flex;flex-direction:column;gap:10px;align-items:center}.side-settings[data-v-48ba74d7]{display:flex;flex-direction:column;gap:10px}.control-btn[data-v-48ba74d7]{width:40px;height:40px;border:none;border-radius:8px;background:#3182ce;color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;box-shadow:0 2px 6px rgba(49,130,206,.2)}.control-btn.active[data-v-48ba74d7]{background:#e91e63;box-shadow:0 2px 6px rgba(233,30,99,.2)}.play-btn[data-v-48ba74d7]{background:#38a169;box-shadow:0 2px 6px rgba(56,161,105,.2)}.play-btn[data-v-48ba74d7]:hover:not(:disabled){background:#2f855a;box-shadow:0 4px 10px rgba(56,161,105,.3)}.control-btn[data-v-48ba74d7]:hover:not(:disabled){background:#2b6cb0;transform:translateY(-2px);box-shadow:0 4px 10px rgba(49,130,206,.3)}.control-btn[data-v-48ba74d7]:disabled{background:#e2e8f0;color:#a0aec0;cursor:not-allowed;box-shadow:none}.download-btn[data-v-48ba74d7]{background:#38b2ac;box-shadow:0 2px 6px rgba(56,178,172,.2)}.download-btn[data-v-48ba74d7]:hover:not(:disabled){background:#319795;box-shadow:0 4px 10px rgba(56,178,172,.3)}.reset-btn[data-v-48ba74d7]{background:#e53e3e;box-shadow:0 2px 6px rgba(229,62,62,.2)}.reset-btn[data-v-48ba74d7]:hover:not(:disabled){background:#c53030;box-shadow:0 4px 10px rgba(229,62,62,.3)}.draw-btn[data-v-48ba74d7]{background:#805ad5;box-shadow:0 2px 6px rgba(128,90,213,.2)}.draw-btn[data-v-48ba74d7]:hover:not(:disabled){background:#6b46c1;box-shadow:0 4px 10px rgba(128,90,213,.3)}.setup-btn[data-v-48ba74d7]{background:#9c27b0;box-shadow:0 2px 6px rgba(156,39,176,.2)}.setup-btn[data-v-48ba74d7]:hover:not(:disabled){background:#7b1fa2;box-shadow:0 4px 10px rgba(156,39,176,.3)}.edit-mode[data-v-48ba74d7]{display:flex;flex-direction:column;align-items:center;gap:8px}.playback-speed[data-v-48ba74d7]{display:flex;flex-direction:column;align-items:center;gap:6px}.playback-speed select[data-v-48ba74d7]{padding:6px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:12px;color:#334e68;cursor:pointer;transition:all .3s ease;width:60px}.playback-speed label[data-v-48ba74d7]{font-size:12px;color:#334e68}.right-sidebar[data-v-48ba74d7]{width:350px;flex:0 0 350px;display:flex;flex-direction:column;gap:10px;overflow:hidden}.moves-section[data-v-48ba74d7]{flex:3;background:#fff;border-radius:12px;padding:15px;box-shadow:0 5px 15px rgba(0,0,0,.07);display:flex;flex-direction:column;overflow:hidden;min-height:70%}.moves-section h3[data-v-48ba74d7]{margin:0 0 10px 0;color:#334e68;font-size:16px;font-weight:600}.moves-container[data-v-48ba74d7]{flex:1;overflow-y:auto;padding:10px;background:#f8fafc;border-radius:8px;box-shadow:inset 0 2px 4px rgba(0,0,0,.05)}.moves-grid[data-v-48ba74d7]{display:flex;flex-direction:column;gap:6px}.move-row[data-v-48ba74d7]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.move-item[data-v-48ba74d7]{display:flex;align-items:center;padding:8px 10px;border-radius:6px;cursor:pointer;transition:all .2s ease;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.03)}.move-item[data-v-48ba74d7]:hover{background:#ebf8ff;transform:translateY(-1px);box-shadow:0 2px 5px rgba(0,0,0,.05)}.move-item.active[data-v-48ba74d7]{background:#bee3f8;color:#2b6cb0;font-weight:500;box-shadow:0 2px 5px rgba(43,108,176,.1)}.move-number[data-v-48ba74d7]{width:30px;color:#718096;font-weight:500;font-size:13px}.move-text[data-v-48ba74d7]{flex:1;font-weight:500;color:#2d3748;font-size:13px}.no-moves[data-v-48ba74d7]{display:flex;align-items:center;justify-content:center;height:80px;color:#a0aec0;font-style:italic;background:#f9fafb;border-radius:8px;font-size:13px}.notes-section[data-v-48ba74d7]{background:#fff;border-radius:12px;padding:15px;box-shadow:0 5px 15px rgba(0,0,0,.07);display:flex;flex-direction:column;max-height:25%}.notes-header[data-v-48ba74d7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.notes-header h3[data-v-48ba74d7]{margin:0;color:#334e68;font-size:16px;font-weight:600}.notes-section textarea[data-v-48ba74d7]{flex:1;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px;font-size:14px;line-height:1.6;transition:all .3s ease;resize:none;color:#2d3748;min-height:80px}.notes-section textarea[data-v-48ba74d7]:focus{border-color:#3182ce;box-shadow:0 0 0 2px rgba(49,130,206,.1);background:#fff}.save-btn[data-v-48ba74d7]{padding:8px 12px;background:#3182ce;color:#fff;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .3s ease;font-size:13px;font-weight:500;box-shadow:0 2px 6px rgba(49,130,206,.2)}.save-btn[data-v-48ba74d7]:hover{background:#2b6cb0;transform:translateY(-2px);box-shadow:0 4px 10px rgba(49,130,206,.3)}.save-btn i[data-v-48ba74d7]{font-size:13px}.switch[data-v-48ba74d7]{position:relative;display:inline-flex;align-items:center;cursor:pointer;flex-direction:column}.switch input[data-v-48ba74d7]{opacity:0;width:0;height:0}.slider[data-v-48ba74d7]{position:relative;display:inline-block;width:40px;height:20px;background-color:#cbd5e0;transition:.4s;border-radius:20px;margin-bottom:5px;box-shadow:inset 0 1px 3px rgba(0,0,0,.1)}.slider[data-v-48ba74d7]:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background-color:#fff;transition:.4s;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.1)}input:checked+.slider[data-v-48ba74d7]{background-color:#3182ce}input:checked+.slider[data-v-48ba74d7]:before{transform:translateX(20px)}.label[data-v-48ba74d7]{font-size:12px;color:#334e68;font-weight:500;white-space:nowrap}@media(max-width:1100px){.main-content[data-v-48ba74d7]{flex-direction:column}.right-sidebar[data-v-48ba74d7]{width:100%;flex-direction:row;max-height:200px}.moves-section[data-v-48ba74d7]{flex:3;max-height:200px}.notes-section[data-v-48ba74d7]{flex:1;max-height:200px}}@media(max-width:768px){.chess-board-container[data-v-48ba74d7]{flex-direction:column}.side-controls[data-v-48ba74d7]{width:100%;flex-direction:row;height:auto;border-left:none;border-top:1px solid #e7edf3}.control-buttons-vertical[data-v-48ba74d7],.function-buttons-vertical[data-v-48ba74d7]{flex-direction:row}.side-players-info[data-v-48ba74d7],.side-settings[data-v-48ba74d7]{flex-direction:row;gap:15px}.right-sidebar[data-v-48ba74d7]{flex-direction:column;max-height:none}.board-section[data-v-48ba74d7]{height:calc(100vw - 30px);max-height:calc(100vh - 250px)}.move-row[data-v-48ba74d7]{grid-template-columns:1fr}}@media(max-width:480px){.control-btn[data-v-48ba74d7]{width:36px;height:36px;font-size:12px}.side-controls[data-v-48ba74d7]{flex-wrap:wrap;justify-content:center;padding:10px;gap:10px}.side-players-info[data-v-48ba74d7]{order:-1;width:100%}.side-settings[data-v-48ba74d7]{width:100%;justify-content:center}}.players-info-top[data-v-48ba74d7]{background:#fff;border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.08);padding:15px;margin-bottom:15px;display:flex;flex-direction:column}.players-info-top .section-title[data-v-48ba74d7]{font-size:16px;font-weight:600;margin-bottom:12px;color:#454545;border-bottom:1px solid #eaeaea;padding-bottom:8px}.players-info-top .game-status-bar[data-v-48ba74d7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.players-info-top .game-status[data-v-48ba74d7]{display:flex;align-items:center;padding:6px 12px;border-radius:8px;font-weight:600;font-size:13px;background:#edf2f7;color:#4a5568;border:1px solid #e2e8f0}.players-info-top .game-status.white-win[data-v-48ba74d7]{background:linear-gradient(135deg,#ebf8ff,#bee3f8);color:#2c5282;border:1px solid #90cdf4}.players-info-top .game-status.black-win[data-v-48ba74d7]{background:linear-gradient(135deg,#2d3748,#1a202c);color:#fff;border:1px solid #4a5568}.players-info-top .game-status.draw[data-v-48ba74d7]{background:linear-gradient(135deg,#f7fafc,#edf2f7);color:#4a5568;border:1px solid #e2e8f0}.players-info-top .game-status.in-progress[data-v-48ba74d7]{background:linear-gradient(135deg,#e6fffa,#b2f5ea);color:#285e61;border:1px solid #81e6d9}.players-info-top .game-status i[data-v-48ba74d7]{margin-right:6px;font-size:14px}.players-info-top .game-time[data-v-48ba74d7]{display:flex;align-items:center;padding:6px 12px;border-radius:8px;background:#edf2f7;border:1px solid #e2e8f0}.players-info-top .game-time i[data-v-48ba74d7]{margin-right:6px;font-size:14px}.players-info-top .players-container[data-v-48ba74d7]{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.players-info-top .player[data-v-48ba74d7]{display:flex;align-items:center;flex:1;min-width:120px;background:#f9fafc;padding:8px 12px;border-radius:8px;border:1px solid #edf2f7}.players-info-top .player-avatar[data-v-48ba74d7]{width:36px;height:36px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;margin-right:10px;border:1px solid #e2e8f0}.players-info-top .white-king[data-v-48ba74d7]{color:#f8a102;font-size:20px}.players-info-top .black-king[data-v-48ba74d7]{color:#202020;font-size:20px}.players-info-top .player-details[data-v-48ba74d7]{display:flex;flex-direction:column}.players-info-top .player-role[data-v-48ba74d7]{font-size:12px;color:#718096;margin-bottom:2px}.players-info-top .player-name[data-v-48ba74d7]{font-weight:600;font-size:14px;color:#2d3748}.players-info-top .vs[data-v-48ba74d7]{font-weight:700;color:#a0aec0;margin:0 5px;font-size:14px}.players-info-top .result-badge[data-v-48ba74d7]{display:flex;align-items:center;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600;margin-left:auto;background:#edf2f7;color:#4a5568;border:1px solid #e2e8f0}.players-info-top .result-badge i[data-v-48ba74d7]{margin-right:6px;font-size:14px}.players-info-top .result-badge.white-win[data-v-48ba74d7]{background:#ebf8ff;color:#2c5282;border-color:#bee3f8}.players-info-top .result-badge.black-win[data-v-48ba74d7]{background:#f0fff4;color:#276749;border-color:#c6f6d5}.players-info-top .result-badge.draw[data-v-48ba74d7]{background:#fffaf0;color:#975a16;border-color:#feebc8}.left-sidebar[data-v-48ba74d7]{display:flex;flex-direction:column;width:350px;min-width:350px;max-width:350px;background:#fff;border-radius:12px;box-shadow:0 5px 15px rgba(0,0,0,.07);overflow:hidden;padding:15px}.moves-section[data-v-48ba74d7]{flex:1.5;min-height:200px;margin-bottom:15px}.notes-section[data-v-48ba74d7]{flex:1;min-height:150px}@media(max-width:1200px){.left-sidebar[data-v-48ba74d7]{width:300px;min-width:300px;max-width:300px}}@media(max-width:768px){.left-sidebar[data-v-48ba74d7]{flex-direction:column}.moves-section[data-v-48ba74d7],.notes-section[data-v-48ba74d7]{width:100%;min-height:200px}.players-info-top .players-container[data-v-48ba74d7]{flex-direction:column}.players-info-top .game-status-bar[data-v-48ba74d7]{flex-direction:column;gap:8px;align-items:flex-start}.players-info-top .game-status[data-v-48ba74d7],.players-info-top .game-time[data-v-48ba74d7]{width:100%}.players-info-top .result-badge[data-v-48ba74d7]{margin-top:10px;width:100%;justify-content:center}}.save-success-message[data-v-48ba74d7]{position:fixed;top:20px;right:20px;background:#48bb78;color:#fff;padding:12px 20px;border-radius:8px;display:flex;align-items:center;gap:10px;box-shadow:0 4px 12px rgba(72,187,120,.3);z-index:1000;animation:slideIn-48ba74d7 .3s ease-out}.save-success-message i[data-v-48ba74d7]{font-size:18px}.save-success-message span[data-v-48ba74d7]{font-weight:500;font-size:14px}@keyframes slideIn-48ba74d7{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.handwriting-sidebar[data-v-48ba74d7]{display:flex;flex-direction:column;width:300px;min-width:300px;background-color:#fff;border-left:1px solid #e0e0e0;overflow:hidden;box-shadow:-2px 0 5px rgba(0,0,0,.05)}.handwriting-header[data-v-48ba74d7]{display:flex;justify-content:space-between;align-items:center;padding:15px;border-bottom:1px solid #e0e0e0}.handwriting-header h3[data-v-48ba74d7]{margin:0;font-size:16px;color:#333}.handwriting-header .handwriting-tools[data-v-48ba74d7]{display:flex;align-items:center;gap:10px}.handwriting-header .handwriting-tools .tool-btn[data-v-48ba74d7]{width:36px;height:36px;border-radius:50%;border:none;background-color:#f5f5f5;color:#555;display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:16px;transition:all .2s ease}.handwriting-header .handwriting-tools .tool-btn[data-v-48ba74d7]:hover{background-color:#e9e9e9;color:#333}.handwriting-header .handwriting-tools .tool-btn.eraser-btn[data-v-48ba74d7]{background-color:#f8f8f8;color:#e53935}.handwriting-header .handwriting-tools .tool-btn.eraser-btn[data-v-48ba74d7]:hover{background-color:#fce4ec}.handwriting-header .handwriting-tools .color-picker[data-v-48ba74d7]{width:30px;height:30px;border:none;border-radius:50%;cursor:pointer;padding:0;overflow:hidden}.handwriting-header .handwriting-tools .color-picker[data-v-48ba74d7]::-webkit-color-swatch-wrapper{padding:0}.handwriting-header .handwriting-tools .color-picker[data-v-48ba74d7]::-webkit-color-swatch{border:none;border-radius:50%}.handwriting-container[data-v-48ba74d7]{flex:1;position:relative;background-color:#f9f9f9}.handwriting-container canvas[data-v-48ba74d7]{width:100%;height:100%;background-color:#fff;border:1px solid #eee;box-shadow:inset 0 0 5px rgba(0,0,0,.05)}@media screen and (max-width:1400px){.handwriting-sidebar[data-v-48ba74d7]{width:250px;min-width:250px}}@media screen and (max-width:1100px){.main-content[data-v-48ba74d7]{flex-direction:column}.left-sidebar[data-v-48ba74d7]{width:100%;min-width:100%;max-width:100%;height:auto;flex-direction:row;flex-wrap:wrap;border-right:none;padding:10px}.players-info-top[data-v-48ba74d7]{width:100%;margin-bottom:10px}.moves-section[data-v-48ba74d7],.notes-section[data-v-48ba74d7]{width:48%;min-height:250px}.handwriting-sidebar[data-v-48ba74d7]{width:100%;min-width:100%;height:300px;min-height:300px;border-left:none;border-top:1px solid #e0e0e0}}@media screen and (max-width:768px){.left-sidebar[data-v-48ba74d7]{flex-direction:column}.moves-section[data-v-48ba74d7],.notes-section[data-v-48ba74d7]{width:100%;min-height:200px}.players-info-top .players-container[data-v-48ba74d7]{flex-direction:column}.players-info-top .result-badge[data-v-48ba74d7]{margin-top:10px;width:100%;justify-content:center}}@media screen and (max-width:480px){.handwriting-sidebar[data-v-48ba74d7],.left-sidebar[data-v-48ba74d7]{padding:8px}.players-info-top[data-v-48ba74d7]{padding:10px}.moves-section[data-v-48ba74d7],.notes-section[data-v-48ba74d7]{min-height:180px}}.floating-back-button[data-v-48ba74d7]{position:fixed;left:20px;bottom:20px;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.15);cursor:pointer;z-index:100;transition:all .3s cubic-bezier(.34,1.56,.64,1);border:none;animation:floatIn-48ba74d7 .5s cubic-bezier(.34,1.56,.64,1)}.floating-back-button[data-v-48ba74d7]:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-3px) scale(1.05);box-shadow:0 6px 16px rgba(0,0,0,.2)}.floating-back-button[data-v-48ba74d7]:active{transform:translateY(0) scale(.95);box-shadow:0 2px 8px rgba(0,0,0,.1)}.floating-back-button i[data-v-48ba74d7]{font-size:18px}@keyframes floatIn-48ba74d7{0%{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:480px){.floating-back-button[data-v-48ba74d7]{width:45px;height:45px;left:15px;bottom:15px}.floating-back-button i[data-v-48ba74d7]{font-size:16px}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50;background-color:#f5f5f5}h1,h2,h3,h4,h5,h6{font-weight:600}a{color:#1976d2;text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}