:root{--bg-primary: #121212;--bg-secondary: #1e1e1e;--bg-tertiary: #2a2a2a;--bg-card: #252525;--bg-hover: #333333;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--text-tertiary: #808080;--border-color: #404040;--border-light: #303030;--accent-primary: #4a9eff;--accent-secondary: #40e0d0;--accent-success: #4caf50;--accent-warning: #ff9800;--accent-error: #f44336;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .5)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600}a{color:var(--accent-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-secondary)}button{font-family:inherit;cursor:pointer;transition:all .2s ease}input,select,textarea{font-family:inherit;background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);padding:8px 12px;border-radius:4px;transition:border-color .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-primary)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}.game-board{flex:1;min-width:300px;margin:0;padding:10px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;box-shadow:var(--shadow-sm);width:100%}.game-board h3{text-align:center;margin-bottom:8px;color:var(--text-primary);font-size:1rem}@media (max-width: 768px){.game-board{min-width:unset;margin:0;padding:12px;width:100%}.game-board h3{margin-bottom:12px;font-size:1.1rem}}@media (max-width: 480px){.game-board{padding:8px}.game-board h3{margin-bottom:8px;font-size:1rem}}.chairs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:400px;margin:0 auto}@media (max-width: 768px){.chairs-grid{max-width:400px;gap:10px}}@media (max-width: 480px){.chairs-grid{max-width:320px;gap:8px}}@media (max-width: 360px){.chairs-grid{max-width:280px;gap:6px}}.chair{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid var(--border-color);border-radius:8px;background-color:var(--bg-card);transition:all .3s ease}.chair.removed{background-color:#80808033;border-color:#888;opacity:.6;justify-content:center}.chair.removed .chair-number{margin:0}.chair.removed .removed-text{position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.chair.remaining{background-color:#4caf501a;border-color:var(--accent-success)}.chair.available{box-shadow:0 0 10px #4caf50b3;animation:pulse 2s infinite}.chair.clickable{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.chair.clickable:hover{transform:scale(1.05);box-shadow:0 0 15px #4caf50e6;background-color:var(--bg-hover)}.chair.selected{background-color:#ffc10733!important;border-color:var(--accent-warning)!important;box-shadow:0 0 15px #ffc107cc!important;animation:none}.chair-number{font-size:20px;font-weight:700;color:var(--text-primary)}.removed-text{font-size:10px;color:#888;margin-top:3px}.selected-text{font-size:10px;color:var(--accent-warning);margin-top:3px;font-weight:700}@media (max-width: 768px){.chair-number{font-size:18px}.removed-text,.selected-text{font-size:9px;margin-top:2px}}@media (max-width: 480px){.chair-number{font-size:16px}.removed-text,.selected-text{font-size:8px;margin-top:2px}}@media (max-width: 360px){.chair-number{font-size:14px}.removed-text,.selected-text{font-size:7px;margin-top:1px}}@keyframes pulse{0%{box-shadow:0 0 5px #4caf5080}50%{box-shadow:0 0 15px #4caf50cc}to{box-shadow:0 0 5px #4caf5080}}.strategy-display{margin:0;padding:10px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;box-shadow:var(--shadow-md);flex:1;min-width:350px;max-width:550px}.strategy-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:8px}.strategy-display h3{margin:0;color:var(--text-primary);font-size:1rem}.toggle-strategy-btn{padding:6px 12px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .2s ease;box-shadow:var(--shadow-sm)}.toggle-strategy-btn:hover{background-color:#45a049;box-shadow:var(--shadow-md);transform:translateY(-1px)}.strategy-display h4{margin:15px 0 10px;color:var(--text-secondary);font-size:1rem}.strategy-display.loading,.strategy-display.error{text-align:center;padding:10px;color:var(--text-secondary);min-height:200px;display:flex;align-items:center;justify-content:center}.strategy-display.error{color:var(--accent-error);background-color:#f443361a}.mock-data-warning{margin:10px 0;padding:10px;background-color:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:4px;color:var(--accent-warning);font-size:.9rem;font-weight:500}.state-info{margin:6px 0}.expected-value{margin-bottom:4px;padding:6px;background-color:#2196f31a;border-radius:4px;font-weight:700;color:var(--accent-primary);font-size:.9rem}.win-rates{padding:8px;background-color:var(--bg-tertiary);border-radius:4px}.win-rate-visualization{position:relative;width:100%;height:30px;background-color:var(--accent-error);border-radius:15px;margin-bottom:8px;box-shadow:inset 0 2px 4px #0000001a;overflow:hidden}.win-rate-bar{position:absolute;left:0;top:0;height:100%;background-color:var(--accent-primary);transition:width .5s ease;border-radius:15px 0 0 15px}.win-rate-percentages{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.player1-percentage{position:absolute;left:10px;color:#fff;font-weight:700;font-size:.75rem;text-shadow:0 1px 2px rgba(0,0,0,.4);transform:translateY(-50%);top:50%}.player2-percentage{position:absolute;right:10px;color:#fff;font-weight:700;font-size:.75rem;text-shadow:0 1px 2px rgba(0,0,0,.4);transform:translateY(-50%);top:50%}.win-rate-labels{display:flex;justify-content:space-between;font-size:.85rem}.player1-win-rate{color:var(--accent-primary);font-weight:600}.player2-win-rate{color:var(--accent-error);font-weight:600}.strategies-container{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:10px;overflow:hidden}@media (max-width: 768px){.strategy-display{padding:12px;margin:0;min-width:unset}.strategy-header{flex-direction:column;align-items:stretch;text-align:center;gap:8px}.strategy-display h3{font-size:1.1rem}.toggle-strategy-btn{font-size:.85rem;padding:6px 12px}.strategies-container{flex-direction:column;gap:12px}}@media (max-width: 480px){.strategy-display{padding:10px;margin:0;min-width:unset}.strategy-display h3{font-size:1rem}.toggle-strategy-btn{font-size:.8rem;padding:5px 10px}.expected-value{padding:8px;font-size:.9rem}.win-rates{padding:6px}.win-rate-visualization{height:25px;margin-bottom:6px}.win-rate-labels{font-size:.8rem}.mock-data-warning{padding:8px;font-size:.85rem}}.player-strategy{flex:1;padding:10px;background-color:var(--bg-card);border-radius:6px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);min-width:0}.player-strategy h4{margin-top:0;margin-bottom:8px;color:var(--text-secondary);font-size:.85rem;text-align:center}.probability-item{display:flex;align-items:center;margin:2px 0;padding:3px 5px;background-color:var(--bg-tertiary);border-radius:4px}.chair-label{min-width:25px;font-weight:500;color:var(--text-secondary);font-size:.75rem;text-align:right;margin-right:4px}.probability-bar-container{flex:1;position:relative;height:16px;background-color:var(--border-color);border-radius:8px;margin:0 4px;overflow:hidden}.probability-bar{height:100%;border-radius:8px;transition:width .3s ease}.probability-bar.player1{background-color:var(--accent-primary)}.probability-bar.player2{background-color:var(--accent-error)}.probability-value{position:absolute;left:6px;top:50%;transform:translateY(-50%);font-size:.7rem;font-weight:700;color:var(--text-primary)}@media (max-width: 768px){.player-strategy{padding:10px}.player-strategy h4{font-size:.9rem;margin-bottom:10px}.probability-item{padding:5px}.chair-label{min-width:45px;font-size:.8rem}.probability-bar-container{height:18px;margin:0 6px}.probability-value{font-size:.75rem;left:6px}}@media (max-width: 480px){.player-strategy{padding:8px}.player-strategy h4{font-size:.85rem;margin-bottom:8px}.probability-item{padding:4px;margin:4px 0}.chair-label{min-width:40px;font-size:.75rem}.probability-bar-container{height:16px;margin:0 5px}.probability-value{font-size:.7rem;left:5px}}.score-table-container{margin:20px 0;padding:15px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-sm)}.score-table-container h3{margin:0 0 15px;color:var(--text-primary);text-align:center;font-size:1.1rem}.score-table{width:100%;border-collapse:collapse;background-color:var(--bg-card);border-radius:6px;overflow:hidden;box-shadow:var(--shadow-md)}.score-table th,.score-table td{padding:8px 6px;text-align:center;border:1px solid var(--border-color);font-size:.9rem;color:var(--text-primary)}.score-table th{background-color:var(--bg-tertiary);font-weight:700;color:var(--text-primary)}.player-header{min-width:80px;background-color:var(--bg-tertiary)!important;color:var(--text-primary)!important}.round-header{min-width:35px;font-size:.85rem}.sum-header{min-width:40px;background-color:#969696cc!important;color:var(--text-primary)!important;font-weight:700}.player-label{background-color:var(--bg-tertiary);font-weight:700;color:var(--text-primary);text-align:left;padding-left:10px}.score-cell{position:relative;min-width:35px;font-weight:500}.score-cell:empty{background-color:var(--bg-secondary)}.sum-cell{background-color:rgba(100 100,100,.8);font-weight:700;color:var(--text-primary);font-size:1rem}.player1-row .score-cell{color:var(--accent-primary)}.player2-row .score-cell{color:var(--accent-error)}.score-cell:has-text("⚡"){background-color:#ff98001a;font-size:1.1rem}@media (max-width: 768px){.score-table-container{margin:15px 0;padding:10px}.score-table-container h3{font-size:1rem;margin-bottom:10px}.score-table th,.score-table td{padding:6px 4px;font-size:.8rem}.player-header,.player-label{min-width:70px;font-size:.75rem}.round-header{min-width:30px;font-size:.75rem}.sum-cell{font-size:.9rem}}@media (max-width: 480px){.score-table th,.score-table td{padding:4px 2px;font-size:.75rem}.player-header,.player-label{min-width:60px;font-size:.7rem}.round-header{min-width:25px;font-size:.7rem}.sum-cell{font-size:.8rem}}*{box-sizing:border-box}body{margin:0;padding:0;overflow-x:hidden;background-color:var(--bg-primary);color:var(--text-primary)}.app{max-width:1200px;margin:0 auto;padding:10px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh;width:100%;background-color:var(--bg-primary);color:var(--text-primary)}@media (max-width: 768px){.app{padding:8px}}@media (max-width: 480px){.app{padding:5px}}.app h1{text-align:center;color:var(--text-primary);margin-bottom:10px;font-size:1.8rem}@media (max-width: 768px){.app h1{font-size:1.5rem;margin-bottom:15px}}@media (max-width: 480px){.app h1{font-size:1.3rem;margin-bottom:10px}}.game-result{text-align:center;margin-bottom:8px}.game-result h3{color:var(--accent-primary);margin:0 0 4px;font-size:1.1rem;font-weight:700}.game-result p{margin:2px 0;color:var(--text-primary);font-size:.9rem;font-weight:500}.controls{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:15px;padding:10px;flex-wrap:wrap}.cpu-settings{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:15px;min-width:200px}.cpu-settings h3{margin:0 0 15px;font-size:1.1rem;color:var(--text-primary)}.cpu-toggle-container{display:flex;flex-direction:column;gap:10px}.cpu-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;padding:5px;transition:background-color .2s}.cpu-toggle:hover{background-color:var(--bg-hover);border-radius:4px}.cpu-toggle input[type=checkbox]{cursor:pointer}.cpu-toggle span{font-size:.95rem;color:var(--text-primary)}.reset-btn{padding:10px 20px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:all .3s;box-shadow:var(--shadow-sm)}.reset-btn:hover{background-color:#45a049;box-shadow:var(--shadow-md);transform:translateY(-1px)}@media (max-width: 768px){.reset-btn{padding:8px 16px;font-size:.9rem}.controls{margin-top:10px;padding:8px}}@media (max-width: 480px){.reset-btn{padding:6px 12px;font-size:.85rem}.controls{margin-top:8px;padding:6px}}.game-main-section{display:flex;gap:20px;align-items:flex-start;margin:8px 0}.strategy-display{order:1}.right-section{order:2;flex:2;min-width:350px;display:flex;flex-direction:column;gap:10px}.phase-info{order:1;text-align:center;margin:0;padding:10px;background-color:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px;width:100%}.game-board{order:2}.phase-info h3{margin:0 0 4px;color:var(--text-primary);font-size:1rem;line-height:1.2}.phase-info p{margin:2px 0;color:var(--text-secondary);font-size:.8rem;line-height:1.3}.phase-info.player1-bg{background-color:#1976d240;border-color:#1976d266}.phase-info.player2-bg{background-color:#f4433640;border-color:#f4433666}@media (max-width: 768px){.game-main-section{flex-direction:column;gap:10px;align-items:center}.strategy-display{order:3;max-width:600px;width:100%}.right-section{order:1;min-width:unset;max-width:600px;width:100%;margin:0}.phase-info{padding:10px;margin:0}.phase-info h3{font-size:1.1rem}.phase-info p{font-size:.85rem}}@media (max-width: 480px){.game-main-section{gap:8px;align-items:center}.strategy-display,.right-section{max-width:100%;width:100%}.phase-info{padding:10px;margin:0}.phase-info h3{font-size:1rem;margin-bottom:5px}.phase-info p{font-size:.8rem}}
