body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f5f5f5,#e8e8e8);color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App,body{min-height:100vh}.App{display:flex;flex-direction:column}.App-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border-bottom:1px solid #0000001a;box-shadow:0 2px 10px #0000001a;padding:20px;position:relative;text-align:center}.App-header h1{-webkit-text-fill-color:#0000;animation:gradient-animation 3s ease infinite;background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#ff6b6b);-webkit-background-clip:text;background-clip:text;background-size:200% 200%;font-size:48px;font-weight:800;letter-spacing:3px;text-transform:uppercase}@keyframes gradient-animation{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.game-container{display:flex;flex:1 1;gap:40px;margin:0 auto;max-width:1400px;padding:40px;width:100%}.board-container{align-items:center;display:flex;flex:1 1;justify-content:center}.info-container{align-items:flex-start;display:flex;padding-top:40px}.header-score{bottom:20px;color:#666;font-size:18px;font-weight:600;position:absolute;right:20px}.game-end-overlay{animation:fadeIn .3s ease;background:#fffffffa;border-radius:20px;box-shadow:0 20px 60px #0000004d;left:50%;padding:40px 60px;position:fixed;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:1000}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.game-end-message{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#ff6b6b,#4ecdc4);-webkit-background-clip:text;background-clip:text;font-size:36px;font-weight:700;margin-bottom:30px}.play-again-btn{background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border:none;border-radius:30px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;letter-spacing:1px;padding:15px 40px;text-transform:uppercase;transition:all .3s ease}.play-again-btn:hover{box-shadow:0 5px 20px #0003;transform:translateY(-2px)}.play-again-btn:active{transform:translateY(0)}.draw-note{animation:slideIn .3s ease;background:#4ecdc41a;border:1px solid #4ecdc44d;border-radius:12px;box-shadow:0 4px 12px #0000001a;left:20px;max-width:400px;padding:15px 40px 15px 20px;position:fixed;top:20px;z-index:50}@keyframes slideIn{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}.draw-note p{color:#333;font-size:14px;line-height:1.5;margin:0}.close-note{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:24px;height:24px;justify-content:center;line-height:1;padding:0;position:absolute;right:10px;top:10px;transition:all .2s ease;width:24px}.close-note:hover{background:#0000001a;color:#333}.name-prompt-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.name-prompt{background:#fff;border-radius:10px;box-shadow:0 4px 20px #0003;max-width:400px;padding:30px;text-align:center}.name-prompt h2{color:#333;margin:0 0 10px}.name-prompt p{color:#666;margin:0 0 20px}.name-prompt form{display:flex;flex-direction:column;gap:15px}.name-prompt input{border:2px solid #ddd;border-radius:5px;font-size:16px;outline:none;padding:10px 15px}.name-prompt input:focus{border-color:#00bcd4}.name-prompt button{background:#00bcd4;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;padding:12px 20px;transition:background-color .3s}.name-prompt button:hover{background:#00acc1}@media (max-width:1024px){.game-container{flex-direction:column;padding:20px}.App-header h1{font-size:36px}.info-container{padding-top:0;width:100%}.header-score{font-size:16px;margin-top:10px;position:static}}.game-info{background:linear-gradient(135deg,#fff,#f8f8f8);border:1px solid #0000000d;border-radius:20px;box-shadow:0 10px 30px #0000001a;color:#333;min-width:320px;padding:30px}.status-section{margin-bottom:30px;text-align:center}.game-status{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#ff6b6b,#4ecdc4);-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700;margin:0 0 20px}.new-game-btn{background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border:none;border-radius:30px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;letter-spacing:1px;padding:12px 30px;text-transform:uppercase;transition:all .3s ease}.new-game-btn:hover{box-shadow:0 5px 15px #0000004d;transform:translateY(-2px)}.new-game-btn:active{transform:translateY(0)}.score-section{margin-bottom:30px}.history-section h3,.score-section h3{color:#666;font-size:20px;font-weight:600;letter-spacing:1px;margin-bottom:15px;text-transform:uppercase}.score-board{display:flex;gap:15px;justify-content:space-between}.score-item{background:#00000008;border:1px solid #00000014;border-radius:15px;flex:1 1;padding:20px;text-align:center;transition:all .3s ease}.score-item:hover{background:#0000000d;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.player-label{display:block;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.player-x{color:#ff6b6b}.player-o{color:#4ecdc4}.score-value{display:block;font-size:32px;font-weight:700}.history-section{margin-top:30px}.game-history{background:#00000008;border:1px solid #00000014;border-radius:15px;padding:15px}.no-history{color:#666;font-style:italic;margin:10px 0;text-align:center}.history-item{align-items:center;border-radius:8px;display:flex;justify-content:space-between;padding:10px;transition:background .2s ease}.history-item:hover{background:#0000000d}.history-number{color:#666;font-size:14px;font-weight:600}.history-result{color:#666;font-size:16px;font-weight:600}.history-tabs{display:flex;gap:5px;margin-bottom:15px}.tab-button{background:#00000008;border:1px solid #00000014;border-radius:8px;color:#666;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px 15px;transition:all .2s ease}.tab-button:hover{background:#0000000d}.tab-button.active{background:linear-gradient(45deg,#ff6b6b,#4ecdc4);border-color:#0000;color:#fff;font-weight:600}.history-moves{color:#999;font-size:14px;font-weight:500}.move-records{padding:10px 0}.record-item{align-items:center;background:#00000005;border:1px solid #0000000d;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:10px;padding:12px}.record-label{color:#666;font-size:14px;font-weight:600}.record-value{color:#4ecdc4;font-size:16px;font-weight:700}.record-empty{color:#999;font-size:14px;font-style:italic}.global-game{display:flex;flex-wrap:wrap;font-size:14px;gap:10px}.player-name{color:#333;flex:0 0 auto;font-weight:600;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-time{color:#999;font-size:12px;margin-left:auto}.loading{color:#666;font-style:italic;padding:20px;text-align:center}.position-key{background:#fffffff2;border:1px solid #0000001a;border-radius:12px;bottom:20px;box-shadow:0 4px 12px #0000001a;left:20px;padding:15px;position:fixed;z-index:100}.position-key h3{color:#666;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.layer-key{margin-bottom:10px}.layer-key:last-child{margin-bottom:0}.layer-name{color:#999;font-size:12px;font-weight:500;margin-bottom:4px}.position-grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(3,1fr);width:90px}.position-cell{align-items:center;background:#f0f0f0;border:1px solid #e0e0e0;border-radius:4px;color:#666;display:flex;font-size:12px;font-weight:500;height:26px;justify-content:center;transition:all .2s ease;width:26px}.position-cell:hover{background:#e8e8e8;transform:scale(1.1)}.position-cell.occupied{background:#d8d8d8;color:#333;font-weight:700}.position-cell.occupied:hover{transform:none}.key-subtitle{color:#999;font-size:11px;font-style:italic;margin-bottom:10px}.position-grid .position-cell:nth-child(5){background:#e8f4f8;border-color:#b8d4e0;font-weight:700}.x-piece{height:16px;position:relative;width:16px}.x-line{background-color:#ff6b6b;height:3px;left:50%;position:absolute;top:50%;transform-origin:center;width:20px}.x-line-1{transform:translate(-50%,-50%) rotate(45deg)}.x-line-2{transform:translate(-50%,-50%) rotate(-45deg)}.o-piece{border:3px solid #4ecdc4;border-radius:50%;box-sizing:border-box;height:18px;width:14px}.position-cell.winning{background:#fff3cd;border-color:gold}.winning-piece{animation:spin 2s linear infinite}.winning-piece.x-piece .x-line{background-color:gold}.winning-piece.o-piece{border-color:gold}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.position-key{bottom:10px;left:10px;padding:10px}.position-key h3{font-size:12px;margin-bottom:8px}.position-grid{width:75px}.position-cell{font-size:11px;height:22px;width:22px}}
/*# sourceMappingURL=main.769c9719.css.map*/