:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility}body{margin:0;padding:0;box-sizing:border-box}*{box-sizing:border-box}.app{width:100%;max-width:1200px;margin:0 auto;padding:20px}button{cursor:pointer;border-radius:4px;padding:8px 16px;font-weight:600;transition:all .2s ease;border:none;background-color:#4a90e2;color:#fff}button:hover{background-color:#357abd}button:disabled{background-color:#ccc;cursor:not-allowed}input{padding:8px;border:1px solid #ddd;border-radius:4px;font-size:16px}h1,h2,h3,h4,h5,h6{margin-top:0;color:#333}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.tile{display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:4px;box-shadow:0 2px 4px #0003;-webkit-user-select:none;user-select:none;position:relative;transition:transform .1s,box-shadow .1s;cursor:grab;touch-action:none}.tile:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.tile:active:not(.disabled){cursor:grabbing}.tile.small{width:30px;height:30px}.tile.medium{width:40px;height:40px}.tile.large{width:50px;height:50px}.tile.dragging{opacity:.5}.tile.disabled{opacity:.7;cursor:not-allowed}.tile-value{font-weight:700;text-align:center}.tile-points{position:absolute;bottom:2px;right:2px;font-size:10px;font-weight:700}.board-container{display:flex;flex-direction:column;align-items:center;margin:20px 0}.board-grid{display:flex;flex-direction:column;border:2px solid #333;background-color:#f5f5f5;box-shadow:0 4px 8px #0003}.board-row{display:flex}.board-cell{width:50px;height:50px;border:1px solid #ccc;display:flex;justify-content:center;align-items:center;position:relative;transition:all .2s ease}.board-cell:hover{background-color:#0000000d}.board-cell.highlighted{background-color:#ffff004d}.board-cell.drop-hover{background-color:#0000001a}.board-cell.valid-drop{background-color:#0f03}.board-cell.invalid-drop{background-color:#f003}.board-cell.multiplier-tile-2{background-color:#c8e6c9}.board-cell.multiplier-tile-3{background-color:#81c784}.board-cell.multiplier-expression-2{background-color:#bbdefb}.board-cell.multiplier-expression-3{background-color:#64b5f6}.multiplier-label{font-size:12px;font-weight:700;color:#555}.expression-display{margin-top:15px;padding:10px;border:1px solid #ddd;border-radius:4px;background-color:#fff;width:80%;text-align:center}.current-expression{font-size:18px;font-weight:700;padding:5px;min-height:30px}.current-expression.valid{color:#2e7d32}.current-expression.invalid{color:#c62828}.expression-validity{font-size:14px;margin-top:5px}.board-cell.locked{background-color:#c8c8c84d}.board-cell.locked:hover{cursor:not-allowed}.tile-rack{display:flex;flex-direction:column;background-color:#8b5a2b;border-radius:8px;padding:10px;margin:10px 0;box-shadow:0 4px 8px #0003;min-height:80px;transition:box-shadow .3s ease}.tile-rack.highlight{box-shadow:0 0 15px #ffd700b3}.tile-rack.active{border:2px solid #4caf50}.tile-rack.inactive{border:2px solid #9e9e9e;opacity:.8}.rack-label{font-size:14px;font-weight:700;color:#fff;margin-bottom:8px;text-align:center}.rack-tiles{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;min-height:50px}.rack-tile-slot{display:flex;justify-content:center;align-items:center}.empty-rack-message{color:#e0e0e0;font-style:italic;padding:10px;text-align:center}.scoreboard{background-color:#f5f5f5;border-radius:8px;padding:15px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;width:100%;max-width:300px}.scoreboard h2{margin-top:0;margin-bottom:15px;font-size:1.5rem;color:#333;text-align:center;border-bottom:1px solid #ddd;padding-bottom:8px}.scoreboard-container{display:flex;flex-direction:column;gap:10px}.player-score{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:4px;background-color:#fff;transition:background-color .3s ease}.player-score.current-player{background-color:#e6f7ff;border-left:4px solid #1890ff;font-weight:700}.player-name{display:flex;align-items:center;gap:5px}.turn-indicator{color:#1890ff;font-size:1.2em}.player-score-value{font-size:1.2rem;font-weight:700;color:#333}@media (max-width: 768px){.scoreboard{max-width:100%}}.game-controls{background-color:#f5f5f5;border-radius:8px;padding:15px;box-shadow:0 2px 4px #0000001a;margin-top:20px}.game-controls h3{margin-top:0;margin-bottom:15px;font-size:1.2rem;color:#333}.controls-container button{padding:10px;border:none;border-radius:4px;font-weight:700;cursor:pointer;transition:background-color .2s}.end-turn-button{background-color:#4caf50;color:#fff}.shuffle-button{background-color:#2196f3;color:#fff}.reset-button{background-color:#f44336;color:#fff}.controls-hint{margin-top:15px;font-size:14px;color:#666;font-style:italic}button:disabled{background-color:#ccc!important;cursor:not-allowed;opacity:.7}.game-controls{background-color:#f5f5f5;border-radius:8px;padding:15px;box-shadow:0 2px 4px #0000001a}.game-controls h3{margin-top:0;margin-bottom:15px;font-size:1.2rem;color:#333;text-align:center;border-bottom:1px solid #ddd;padding-bottom:8px}.controls-container{display:flex;flex-direction:column;gap:10px}.end-turn-button{background-color:#4caf50}.end-turn-button:hover:not(:disabled){background-color:#45a049}.shuffle-button{background-color:#2196f3}.shuffle-button:hover:not(:disabled){background-color:#0b7dda}.reset-button{background-color:#f44336}.reset-button:hover{background-color:#d32f2f}.controls-hint{font-size:14px;color:#666;margin-top:10px;text-align:center;font-style:italic}.options-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.options-dialog{background-color:#fff;border-radius:8px;padding:20px;width:400px;max-width:90%;box-shadow:0 4px 8px #0003}.options-dialog h2{margin-top:0;color:#333;border-bottom:1px solid #eee;padding-bottom:10px}.option-group{margin-bottom:15px;display:flex;justify-content:space-between;align-items:center}.option-group label{font-weight:700;margin-right:10px}.option-group select,.option-group input[type=number]{padding:8px;border:1px solid #ccc;border-radius:4px;width:150px}.options-dialog-buttons{display:flex;justify-content:flex-end;margin-top:20px}.options-dialog-buttons button{padding:8px 16px;margin-left:10px;border:none;border-radius:4px;cursor:pointer;background-color:#e0e0e0}.options-dialog-buttons .save-button{background-color:#4caf50;color:#fff}.options-dialog-buttons button:hover{opacity:.9}.game-container{display:flex;flex-direction:column;max-width:1200px;margin:0 auto;padding:20px;font-family:Arial,sans-serif}.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.game-header h1{margin:0;color:#333;font-size:2rem}.game-main{display:flex;gap:20px}.game-board-container{flex:1}.game-sidebar{width:300px;display:flex;flex-direction:column;gap:20px}.current-player-info{background-color:#f0f0f0;padding:10px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.current-player-info h2{margin:0;font-size:1.2rem;color:#333}.game-over-message{background-color:#f8d7da;color:#721c24;padding:15px;border-radius:8px;margin-top:20px;text-align:center;box-shadow:0 2px 4px #0000001a}.game-over-message h2{margin-top:0;font-size:1.5rem}.game-setup{max-width:600px;margin:0 auto;padding:20px;background-color:#f9f9f9;border-radius:8px;box-shadow:0 4px 8px #0000001a}.game-setup h1{text-align:center;color:#333;margin-bottom:30px}.player-setup{margin-bottom:30px}.player-setup h2{margin-bottom:15px;font-size:1.3rem;color:#444}.player-name-input{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.player-name-input label{font-weight:700;color:#555}.player-name-input input{padding:8px;border:1px solid #ddd;border-radius:4px;width:60%;font-size:1rem}.start-game-button{display:block;width:100%;padding:12px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background-color .3s}.start-game-button:hover{background-color:#45a049}@media (max-width: 768px){.game-main{flex-direction:column}.game-sidebar{width:100%}.game-header{flex-direction:column;gap:15px}}
