:root{--font-primary: "Roboto", sans-serif;--font-secondary: "Open Sans", sans-serif;--color-bg: #f4f7f6;--color-container-bg: #ffffff;--color-primary: #007bff;--color-secondary: #6c757d;--color-accent: #28a745;--color-accent-light: #e9f7ec;--color-error: #dc3545;--color-text-dark: #343a40;--color-text-light: #f8f9fa;--color-border: #dee2e6;--color-border-light: #e9ecef;--color-cell-bg: #fff;--color-cell-empty-bg: #f8f9fa;--color-cell-selected-bg: #cfe2ff;--color-cell-selected-border: #5c9eff;--color-cell-solved-bg: var(--color-accent-light);--color-cell-solved-border: var(--color-accent);--color-cell-solved-text: #084219;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 8px rgba(0,0,0,.1);--border-radius-sm: 4px;--border-radius-md: 8px}body{font-family:var(--font-secondary);background-color:var(--color-bg);color:var(--color-text-dark);margin:0;padding:20px;display:flex;justify-content:center;align-items:flex-start;min-height:100vh;box-sizing:border-box}.loading-message{font-size:1.5em;color:var(--color-secondary);text-align:center;padding:50px}.game-container{background-color:var(--color-container-bg);padding:25px 35px;border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);max-width:800px;width:100%;text-align:center}.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--color-border-light)}.game-header h1{font-family:var(--font-primary);font-size:2em;color:var(--color-primary);margin:0}.reset-button{font-family:var(--font-primary);background-color:var(--color-accent);color:var(--color-text-light);border:none;padding:10px 18px;border-radius:var(--border-radius-sm);cursor:pointer;font-size:.95em;font-weight:500;transition:background-color .2s ease,transform .1s ease}.reset-button:hover{background-color:#1e7e34}.reset-button:active{transform:translateY(1px)}.instructions{margin-bottom:30px;color:var(--color-secondary);font-style:normal;font-size:.95em;line-height:1.5;max-width:90%;margin-left:auto;margin-right:auto}.solution-area h2,.pool-area h2{font-family:var(--font-primary);margin-top:25px;margin-bottom:15px;font-size:1.4em;color:var(--color-text-dark);text-align:left}.grid-8x4{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(8,auto)}.grid-cell{padding:8px 4px;border:1px solid var(--color-border);background-color:var(--color-cell-bg);cursor:pointer;text-align:center;font-size:.9em;font-weight:600;font-family:var(--font-primary);border-radius:var(--border-radius-sm);transition:background-color .15s ease,border-color .15s ease,transform .1s ease;min-height:55px;display:flex;justify-content:center;align-items:center;box-sizing:border-box;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;line-height:1.25;-webkit-user-select:none;user-select:none}.grid-cell:hover:not(:disabled){border-color:var(--color-secondary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.grid-cell.empty{background-color:var(--color-cell-empty-bg);border:1px dashed var(--color-border-light)}.grid-cell.empty:hover:not(:disabled){background-color:#e9ecef;transform:none;box-shadow:none}.grid-cell.selected{background-color:var(--color-cell-selected-bg);border-color:var(--color-cell-selected-border);color:var(--color-primary);transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-md)}.grid-cell.solved-cell-in-row{background-color:var(--color-cell-solved-bg)!important;border-color:var(--color-cell-solved-border)!important;color:var(--color-cell-solved-text)!important;cursor:default}.grid-cell:disabled{cursor:not-allowed;opacity:.7}.grid-cell.empty:disabled{opacity:.5}.solution-area{margin-bottom:25px}.solution-row{display:flex;align-items:stretch;margin-bottom:12px;padding:8px;border:1px solid var(--color-border-light);border-radius:var(--border-radius-sm);background-color:var(--color-container-bg);transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}.solution-row.solved{border:1px solid var(--color-cell-solved-border);background-color:var(--color-cell-solved-bg);box-shadow:var(--shadow-sm)}.solution-row-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;flex-grow:1}.solved-category-name{flex-shrink:0;width:180px;margin-left:12px;padding-left:12px;border-left:2px solid var(--color-cell-solved-border);font-weight:600;color:var(--color-cell-solved-text);font-size:.9em;text-align:left;display:flex;align-items:center;font-family:var(--font-secondary)}.pool-area{margin-top:20px;padding:15px;background-color:var(--color-border-light);border-radius:var(--border-radius-sm)}.grid{display:grid;gap:8px}.pool-grid{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,auto);background-color:transparent;border:none;padding:0}.message{margin-top:25px;padding:12px 18px;font-size:1.05em;font-weight:500;border-radius:var(--border-radius-sm);text-align:center}.success-message{color:var(--color-text-light);background-color:var(--color-accent)}.error-message{color:var(--color-text-light);background-color:var(--color-error)}.solved-categories-container{display:none}.grid-cell.dragging{opacity:.5;border:2px dashed var(--color-primary);transform:scale(.95);box-shadow:none}.grid-cell.drag-over{background-color:var(--color-cell-selected-bg);outline:2px dashed var(--color-primary);outline-offset:-2px}.grid-cell.solved-cell-in-row.drag-over{background-color:var(--color-cell-solved-bg)!important;outline:none}.game-status{display:flex;justify-content:space-around;align-items:flex-start;padding:15px;margin-bottom:20px;background-color:#f0f0f0;border-radius:8px;border:1px solid #ddd}.mistakes-counter{font-size:1.1em;font-weight:700;color:#c0392b}.star-guide{text-align:left}.star-guide h3{margin-top:0;margin-bottom:8px;color:#2c3e50;font-size:1.2em}.star-guide p{margin:4px 0;font-size:1em;color:#34495e}.current-stars-display{font-size:1.2em;font-weight:700;color:#f39c12}.solution-row-container{display:flex;align-items:center;margin-bottom:10px;padding:5px;border-radius:6px;transition:background-color .3s ease}.solution-row-container.solved{background-color:#e8f5e9}.solution-row{display:flex;align-items:center;flex-grow:1}.solution-row-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;flex-grow:1}.guess-button{padding:10px 15px;margin-left:15px;font-size:1em;font-weight:700;color:#fff;background-color:#3498db;border:none;border-radius:5px;cursor:pointer;transition:background-color .2s ease}.guess-button:hover:not(:disabled){background-color:#2980b9}.guess-button:disabled{background-color:#bdc3c7;cursor:not-allowed}.solved-category-name{margin-left:15px;padding:10px 15px;font-weight:700;color:#27ae60;background-color:#e8f5e9;border-radius:5px;white-space:nowrap}.message{padding:10px;margin-top:10px;margin-bottom:15px;border-radius:5px;text-align:center;font-weight:700}.success-message{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.error-message{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.reset-button{padding:10px 15px;font-size:1em}.instructions{margin-bottom:20px}.grid-cell{min-height:60px}
