body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#222;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{color:#e0e0e0;background-color:#121212;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.app-container{flex-direction:column;align-items:center;min-height:100vh;padding:20px;display:flex}h1{letter-spacing:1px;margin-bottom:20px;font-size:1.8rem}.main-layout{flex-direction:row;justify-content:center;align-items:flex-start;gap:40px;width:100%;max-width:1100px;display:flex}.board-wrapper{border-radius:4px;width:68vh;max-width:650px;position:relative;box-shadow:0 8px 24px #00000080}.move-list-container{background-color:#1e1e1e;border:1px solid #2d2d2d;border-radius:8px;flex-direction:column;width:260px;height:68vh;max-height:650px;padding:16px;display:flex;box-shadow:0 8px 24px #0000004d}.move-list-container h3{color:#a0a0a0;border-bottom:1px solid #333;margin-bottom:10px;padding-bottom:10px;font-size:1.1rem}.moves-scroll{flex-grow:1;padding-right:5px;overflow-y:auto}.move-row{border-bottom:1px solid #262626;padding:6px 4px;font-size:.95rem;display:flex}.move-row:nth-child(2n){background-color:#ffffff05}.turn-number{color:#666;width:35px}.white-move{width:90px;font-weight:500}.black-move{color:#aaa;width:90px}@media (width<=850px){.main-layout{flex-direction:column;align-items:center;gap:24px}.board-wrapper{width:90vw;max-width:450px}.move-list-container{width:90vw;max-width:450px;height:350px}}.board-wrapper{position:relative}.promotion-modal{z-index:1000;background-color:#000000c7;border-radius:4px;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.promotion-content{text-align:center;background-color:#1e1e1e;border:1px solid #3c3c3c;border-radius:8px;min-width:250px;padding:24px;box-shadow:0 12px 32px #0009}.promotion-content h4{color:#f0f0f0;margin-bottom:16px;font-size:1.1rem}.promotion-pieces{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.promotion-btn{color:#fff;cursor:pointer;background-color:#2b2b2b;border:1px solid #444;border-radius:6px;padding:10px 16px;font-size:1.1rem;transition:background-color .15s,border-color .15s}.promotion-btn:hover{background-color:#3b3b3b;border-color:#666}.cancel-btn{color:#888;cursor:pointer;background:0 0;border:none;font-size:.9rem;text-decoration:underline}.cancel-btn:hover{color:#ccc}.game-column{flex-direction:column;align-items:center;gap:12px;display:flex}.player-banner{background-color:#1e1e1e;border:1px solid #2d2d2d;border-radius:6px;justify-content:space-between;align-items:center;width:68vh;max-width:650px;padding:10px 16px;transition:border-color .2s,background-color .2s;display:flex}.player-banner.active-turn{background-color:#242b24;border-color:#4caf50}.player-name{color:#ccc;font-size:1.05rem;font-weight:600}.clock{color:#f0f0f0;background-color:#121212;border:1px solid #333;border-radius:4px;padding:4px 10px;font-family:monospace;font-size:1.25rem;font-weight:700}.clock.time-low{color:#ff4d4d;border-color:#ff4d4d}.game-over-banner{color:#ff8080;text-align:center;background-color:#ff4d4d26;border:1px solid #ff4d4d;border-radius:6px;margin-bottom:12px;padding:10px;font-weight:600}@media (width<=850px){.player-banner{width:90vw;max-width:450px}}.menu-card{text-align:center;background-color:#1e1e1e;border:1px solid #333;border-radius:12px;width:90vw;max-width:480px;margin-top:20px;padding:32px 28px;box-shadow:0 16px 40px #0009}.menu-card h2{color:#fff;margin-bottom:4px;font-size:1.6rem}.menu-subtitle{color:#888;margin-bottom:24px;font-size:.95rem}.menu-section{text-align:left;margin-bottom:24px}.menu-section label{color:#aaa;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:.9rem;font-weight:600;display:block}.btn-group{gap:10px;display:flex}.time-grid{grid-template-columns:1fr 1fr;display:grid}.option-btn{color:#ccc;cursor:pointer;background-color:#2b2b2b;border:1px solid #444;border-radius:6px;flex:1;padding:12px;font-size:.95rem;font-weight:500;transition:all .15s}.option-btn:hover{color:#fff;background-color:#383838}.option-btn.selected{color:#fff;background-color:#2e7d32;border-color:#4caf50;box-shadow:0 0 8px #4caf504d}.start-match-btn{color:#fff;cursor:pointer;background-color:#4caf50;border:none;border-radius:8px;width:100%;margin-top:10px;padding:14px;font-size:1.1rem;font-weight:700;transition:background-color .2s}.start-match-btn:hover{background-color:#43a047}.resign-btn{color:#ef5350;cursor:pointer;background:0 0;border:1px solid #c62828;border-radius:4px;margin-left:12px;padding:3px 8px;font-size:.8rem;font-weight:600;transition:background-color .15s,color .15s}.resign-btn:hover{color:#fff;background-color:#c62828}.new-game-btn{color:#fff;cursor:pointer;background-color:#2b2b2b;border:1px solid #555;border-radius:4px;width:100%;margin-top:10px;padding:8px 16px;font-weight:600}.new-game-btn:hover{background-color:#3b3b3b}.result-text{font-size:1.05rem}.engine-info-box{color:#9aa0a6;text-align:left;background-color:#ffffff08;border:1px solid #333;border-radius:8px;margin-top:22px;padding:14px 16px;font-size:.82rem;line-height:1.5}.engine-info-box p{margin:0 0 8px}.engine-info-box p:last-child{margin-bottom:0}.engine-info-box strong{color:#dedede}.engine-info-box a{color:#4caf50;font-weight:600;text-decoration:none;transition:color .15s}.engine-info-box a:hover{color:#66bb6a;text-decoration:underline}
