@import"https://fonts.googleapis.com/css2?family=ZCOOL+XiaoWei&family=ZCOOL+QingKe+HuangYou&display=swap";:root{--bg: #0F0808;--surface: #1F1010;--primary: #C13030;--primary-dark: #9A2424;--accent: #D4AF37;--text: #F5E6D3;--text-muted: #C4A574;--border: #2A1818;--success: #5C8A4B;--warning: #D4AF37;--danger: #C13030;--radius: 12px;--shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04)}body{margin:0;padding:0;background:radial-gradient(ellipse at 30% 20%,#C1303011 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,#D4AF3711 0%,transparent 50%),var(--bg);color:var(--text);font-family:ZCOOL XiaoWei,ZCOOL QingKe HuangYou,KaiTi,楷体,STKaiti,STZhongsong,serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;justify-content:center;align-items:center;min-height:100vh;overflow:hidden;position:relative}body:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle,rgba(255,255,255,.02) 1px,transparent 1px);background-size:3px 3px;pointer-events:none;z-index:-1}.app-container{display:flex;flex-direction:column;align-items:center;padding:20px;max-width:1200px;width:100%;box-sizing:border-box;position:relative}.cloud-status{position:absolute;top:10px;right:20px;display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.85em;z-index:10}.cloud-badge{display:flex;align-items:center;gap:4px;background:var(--surface);padding:4px 8px;border-radius:var(--radius);box-shadow:var(--shadow)}.cloud-message{background:var(--accent);color:var(--bg);padding:6px 12px;border-radius:var(--radius);box-shadow:var(--shadow);font-weight:700}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-title{font-family:ZCOOL QingKe HuangYou,STZhongsong,华文中宋,serif;font-size:3.5em;color:var(--primary);text-shadow:0 0 10px rgba(193,48,48,.5);margin-bottom:30px;letter-spacing:2px}.start-screen{background:var(--surface);padding:40px 60px;border-radius:var(--radius);box-shadow:0 8px 30px #0006;text-align:center;display:flex;flex-direction:column;gap:20px;max-width:500px;width:100%;border:1px solid var(--border)}.start-title{font-family:ZCOOL QingKe HuangYou,STZhongsong,华文中宋,serif;color:var(--accent);font-size:2.2em;margin-bottom:10px}.start-intro{font-size:1.1em;color:var(--text-muted);line-height:1.6}.player-input-group{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:15px}.input-label{font-size:1em;color:var(--text);font-weight:700}.player-name-input{width:100%;padding:12px 15px;border:1px solid var(--border);border-radius:var(--radius);background:#0003;color:var(--text);font-size:1em;box-sizing:border-box;transition:border-color .3s ease,box-shadow .3s ease}.player-name-input::placeholder{color:var(--text-muted)}.player-name-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #c130304d}.button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 25px;border:none;border-radius:var(--radius);font-size:1.1em;cursor:pointer;transition:all .3s ease;font-family:ZCOOL XiaoWei,sans-serif;font-weight:700;box-shadow:var(--shadow)}.primary-button{background:var(--primary);color:var(--text)}.primary-button:hover{background:var(--primary-dark);box-shadow:0 4px 15px #c1303066}.secondary-button{background:var(--text-muted);color:var(--surface)}.secondary-button:hover{background:#b08c5d;box-shadow:0 4px 15px #d4af374d}.danger-button{background:var(--danger);color:var(--text)}.danger-button:hover{background:#a02020;box-shadow:0 4px 15px #c1303066}.game-layout{display:flex;gap:30px;width:100%;justify-content:center;align-items:flex-start;flex-wrap:wrap}.game-board-container{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;gap:5px;background:var(--surface);border-radius:var(--radius);box-shadow:0 8px 30px #0006;padding:15px;border:1px solid var(--border)}.board-labels{display:flex;justify-content:space-around;color:var(--text-muted);font-size:.85em;font-weight:700}.top-labels{grid-column:2 / 3;grid-row:1 / 2;margin-left:-2px}.side-labels{grid-column:1 / 2;grid-row:2 / 3;flex-direction:column;justify-content:space-around;margin-top:-2px}.label-item{width:30px;height:30px;display:flex;justify-content:center;align-items:center}.game-board{display:grid;grid-template-columns:repeat(15,30px);grid-template-rows:repeat(15,30px);border:1px solid var(--border);box-shadow:inset 0 0 10px #0000004d;background:linear-gradient(135deg,#4a2e1f,#6b4e3c);border-radius:5px;overflow:hidden}.board-row{display:contents}.board-cell{width:30px;height:30px;border:1px solid var(--border);box-sizing:border-box;position:relative;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:background-color .1s ease}.board-cell:hover{background-color:#d4af371a}.intersection-marker{position:absolute;width:10px;height:10px;z-index:0}.chess-piece-wrapper{position:absolute;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1}.chess-piece{width:90%;height:90%}.game-sidebar{display:flex;flex-direction:column;gap:25px;max-width:300px;width:100%}.player-info-card{background:var(--surface);padding:25px;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);text-align:center}.card-title{font-family:ZCOOL QingKe HuangYou,STZhongsong,华文中宋,serif;color:var(--accent);font-size:1.8em;margin-bottom:20px}.current-player-indicator{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:20px;font-size:1.5em;font-weight:700;padding:10px 20px;border-radius:var(--radius);background:#0000001a;box-shadow:inset 0 0 5px #0003}.current-player-indicator.black{color:#333;background:linear-gradient(45deg,#1a1a1a,#000);color:var(--text);border:1px solid #333}.current-player-indicator.white{color:#ddd;background:linear-gradient(45deg,#e0e0e0,#fff);color:var(--surface);border:1px solid #CCC}.current-player-indicator .chess-piece{width:40px;height:40px}.scores-display{display:flex;justify-content:space-around;margin-top:15px;gap:10px}.score-item{display:flex;align-items:center;gap:8px;font-size:1.1em;font-weight:700;padding:8px 12px;border-radius:var(--radius);background:#0000001a;box-shadow:inset 0 0 3px #0000001a;flex:1}.score-item.black,.score-item.white{color:var(--text)}.score-item .chess-piece{width:25px;height:25px}.winner-message{background:var(--primary);color:var(--text);padding:20px;border-radius:var(--radius);text-align:center;box-shadow:0 4px 20px #c1303099;border:1px solid var(--primary-dark)}.winner-title{font-family:ZCOOL QingKe HuangYou,STZhongsong,华文中宋,serif;font-size:2em;margin-bottom:10px;color:var(--accent);text-shadow:0 0 5px rgba(212,175,55,.5)}.winner-text{font-size:1.1em;color:var(--text)}.game-controls{display:flex;flex-direction:column;gap:15px;background:var(--surface);padding:25px;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border)}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:100}.modal-content{background:var(--surface);padding:40px;border-radius:var(--radius);box-shadow:0 10px 40px #0009;max-width:600px;width:90%;border:1px solid var(--border);text-align:center;position:relative}.modal-title{font-family:ZCOOL QingKe HuangYou,STZhongsong,华文中宋,serif;font-size:2.5em;color:var(--accent);margin-bottom:30px;display:flex;align-items:center;justify-content:center;gap:10px}.leaderboard-modal .modal-title{color:var(--accent)}.leaderboard-list{list-style:none;padding:0;margin:0 0 30px;max-height:400px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);background:#0000001a}.leaderboard-item{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid var(--border);font-size:1.1em;color:var(--text)}.leaderboard-item:last-child{border-bottom:none}.leaderboard-item .rank{font-weight:700;width:30px;text-align:left;color:var(--text-muted)}.leaderboard-item .name{flex-grow:1;text-align:left;font-weight:700}.leaderboard-item .score{width:100px;text-align:right;color:var(--primary);font-weight:700}.leaderboard-item .date{width:100px;text-align:right;color:var(--text-muted);font-size:.9em}.leaderboard-item.top-player .rank,.leaderboard-item.top-player .name{color:var(--accent);text-shadow:0 0 5px rgba(212,175,55,.3)}.leaderboard-item.top-player .score{color:var(--primary);font-size:1.2em}.move-history-modal{max-width:450px}.move-history-list{list-style:none;padding:0;margin:0 0 30px;max-height:400px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);background:#0000001a}.move-item{display:flex;align-items:center;padding:10px 15px;border-bottom:1px solid var(--border);font-size:1em;gap:10px}.move-item:last-child{border-bottom:none}.move-item .move-number{font-weight:700;color:var(--text-muted);width:30px;text-align:right}.move-item .move-player{font-weight:700;width:60px;text-align:left}.move-item.black .move-player{color:#333}.move-item.white .move-player{color:#ddd}.move-item .move-coords{flex-grow:1;text-align:right;color:var(--text)}.no-history{padding:20px;color:var(--text-muted);text-align:center}@media (max-width: 768px){.app-title{font-size:2.5em;margin-bottom:20px}.game-layout{flex-direction:column;align-items:center}.game-board-container{padding:10px}.game-board{grid-template-columns:repeat(15,25px);grid-template-rows:repeat(15,25px)}.board-cell,.label-item{width:25px;height:25px}.game-sidebar{max-width:100%;width:90%}.start-screen,.modal-content{padding:30px}.modal-title{font-size:2em}}@media (max-width: 480px){.app-title{font-size:2em}.start-screen{padding:20px}.player-name-input,.button{font-size:.9em;padding:10px 20px}.modal-content{padding:20px}.leaderboard-item,.move-item{font-size:.9em;padding:10px}.leaderboard-item .score,.leaderboard-item .date{width:80px}}
