.space-slot{display:inline-block;height:50px;width:20px}.filled-slot{align-items:center;display:inline-flex;height:50px;justify-content:center;margin:2px;width:40px}.filled-jamo{color:#333;font-size:18px;font-weight:700}.jamo-slot{align-items:center;background-color:#fff;border:2px solid #ccc;border-radius:6px;cursor:pointer;display:inline-flex;height:50px;justify-content:center;margin:2px;transition:all .2s ease;width:40px}.jamo-slot:hover{background-color:#f0f8ff;border-color:#2196f3}.jamo-slot.selected{background-color:#e3f2fd;border-color:#2196f3;box-shadow:0 0 5px #2196f380}.jamo-slot.completed{background-color:#e8f5e8;border-color:#4caf50}.slot-content{align-items:center;display:flex;flex-direction:column;gap:2px}.user-jamo{color:#2196f3;font-size:16px;font-weight:700;line-height:1}.jamo-slot.completed .user-jamo{color:#4caf50}.jamo-number{color:#666;font-size:14px;font-weight:700;line-height:1}.jamo-slot.chosung{background-color:#fff3e0;border-color:#ff5722}.jamo-slot.chosung:hover{background-color:#ffcc80;border-color:#ff5722}.jamo-slot.chosung.selected{background-color:#ffb74d;border-color:#ff5722;box-shadow:0 0 5px #ff572280}.jamo-slot.jungsung{background-color:#e3f2fd;border-color:#2196f3}.jamo-slot.jungsung:hover{background-color:#90caf9;border-color:#2196f3}.jamo-slot.jungsung.selected{background-color:#64b5f6;border-color:#2196f3;box-shadow:0 0 5px #2196f380}.jamo-slot.jongsung{background-color:#f3e5f5;border-color:#9c27b0}.jamo-slot.jongsung:hover{background-color:#ce93d8;border-color:#9c27b0}.jamo-slot.jongsung.selected{background-color:#ba68c8;border-color:#9c27b0;box-shadow:0 0 5px #9c27b080}.jamo-slot.other{background-color:#efebe9;border-color:#795548}.jamo-slot.other:hover{background-color:#d7ccc8;border-color:#795548}.palette-container{background-color:#f5f5f5;border-top:1px solid #ddd;max-height:300px;overflow-y:auto;padding:16px}.palette-title{color:#333;font-size:16px;font-weight:700;margin-bottom:12px;margin-top:0}.jamo-section{margin-bottom:16px}.section-title{color:#555;font-size:14px}.jamo-grid{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.jamo-button{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;display:flex;height:40px;justify-content:center;transition:background-color .2s;width:40px}.jamo-button:hover{background-color:#f0f0f0}.selected-jamo{background-color:#2196f3!important;border-color:#1976d2}.jamo-button-text{color:#333;font-size:18px;font-weight:700}.selected-jamo-text{color:#fff!important}.used-jamo{background-color:#4caf50!important;border-color:#388e3c}.used-jamo-text{color:#fff!important}.completed-jamo{border-color:#757575;cursor:not-allowed!important;opacity:.6}.completed-jamo,.completed-jamo:hover{background-color:#9e9e9e!important}.jamo-button.chosung{background-color:#fff3e0;border-color:#ff5722}.jamo-button.chosung:hover{background-color:#ffcc80;border-color:#ff5722}.jamo-button.jungsung{background-color:#e3f2fd;border-color:#2196f3}.jamo-button.jungsung:hover{background-color:#90caf9;border-color:#2196f3}.jamo-button.jongsung{background-color:#f3e5f5;border-color:#9c27b0}.jamo-button.jongsung:hover{background-color:#ce93d8;border-color:#9c27b0}.tutorial-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.tutorial-modal{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000004d;max-height:80vh;max-width:400px;overflow-y:auto;padding:30px;position:relative;width:90%}.tutorial-close{align-items:center;background:#d3d3d3;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:16px;height:35px;justify-content:center;position:absolute;right:15px;top:15px;width:35px}.tutorial-close:hover{background:#bbb}.tutorial-header{margin-bottom:25px;text-align:center}.tutorial-title{color:#333;font-size:22px;font-weight:700;margin:0}.tutorial-step{text-align:center}.tutorial-example{background:#f8f9fa;border-radius:10px;margin-bottom:25px;padding:20px}.tutorial-sentence{color:#333;font-size:24px;font-weight:700;letter-spacing:2px;margin-bottom:15px}.tutorial-jamo-grid{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin-bottom:15px}.tutorial-jamo-item{align-items:center;display:flex;flex-direction:column;gap:2px}.tutorial-jamo{align-items:center;background:#fff;border:2px solid #ddd;border-radius:4px;display:inline-block;display:flex;font-size:14px;font-weight:700;height:25px;justify-content:center;width:25px}.tutorial-jamo.selected{background-color:#e8f5e8;border-color:#4caf50;color:#4caf50}.tutorial-jamo.filled{background-color:#4caf50;border-color:#4caf50;color:#fff}.tutorial-jamo.empty{background-color:#f9f9f9;border-color:#ddd;color:#999}.tutorial-linear{margin-bottom:10px}.tutorial-linear,.tutorial-numbers{display:flex;flex-wrap:wrap;gap:3px;justify-content:center}.number{align-items:center;color:#666;display:inline-block;display:flex;font-size:12px;height:20px;justify-content:center;width:25px}.number.highlighted{background:#4caf50;border-radius:4px;color:#fff;font-weight:700}.tutorial-palette{margin:15px 0}.tutorial-consonants,.tutorial-vowels{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin:10px 0}.tutorial-key{align-items:center;background:#fff;border:2px solid #ddd;border-radius:6px;cursor:pointer;display:inline-block;display:flex;font-size:14px;font-weight:700;height:30px;justify-content:center;width:30px}.tutorial-key.highlighted{background-color:#e8f5e8;border-color:#4caf50;color:#4caf50}.tutorial-key.used{background-color:#4caf50;border-color:#4caf50;color:#fff}.space{width:15px}.tutorial-description{color:#666;font-size:16px;line-height:1.5;margin:0}.tutorial-dots{display:flex;gap:8px;justify-content:center;margin:25px 0}.tutorial-dot{background:#ddd;border-radius:50%;cursor:pointer;height:10px;width:10px}.tutorial-dot.active{background:#4caf50}.tutorial-footer{text-align:center}.tutorial-button{background:#4caf50;border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:18px;font-weight:700;padding:12px 40px;transition:background-color .3s}.tutorial-button:hover{background:#45a049}@media (max-width:480px){.tutorial-modal{margin:20px;padding:20px}.tutorial-sentence{font-size:20px}.tutorial-key{font-size:12px;height:25px;width:25px}}.container{background-color:#fff;display:flex;flex-direction:column;min-height:100vh}.header{background-color:#f5f5f5;border-bottom:1px solid #ddd;padding:16px}.title-container{align-items:center;display:flex;justify-content:center;position:relative}.title{color:#333;font-size:24px;font-weight:700;margin-bottom:12px;margin-top:0;text-align:center}.help-button{align-items:center;background-color:#2196f3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:30px;justify-content:center;position:absolute;right:0;top:50%;transform:translateY(-50%);transition:background-color .2s;width:30px}.help-button:hover{background-color:#1976d2}.stage-info{margin-bottom:16px;text-align:center}.stage-display{align-items:center;display:flex;font-size:16px;gap:12px;justify-content:center}.stage-text{color:#2196f3;font-size:20px;font-weight:700}.stage-progress{color:#666;font-size:14px}.difficulty{border-radius:12px;font-size:12px;font-weight:700;padding:4px 8px}.difficulty.easy{background-color:#e8f5e8;color:#4caf50}.difficulty.medium{background-color:#fff3e0;color:#ff9800}.difficulty.hard{background-color:#ffebee;color:#f44336}.game-info{flex-direction:column;gap:12px}.game-info,.lives-display{align-items:center;display:flex}.lives-display{font-size:16px;font-weight:700;gap:8px}.heart.alive{filter:none}.heart.dead{filter:grayscale(100%);opacity:.5}.button-row{display:flex;flex-direction:row;gap:12px;justify-content:center}.button{background-color:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;padding:8px 16px;transition:background-color .2s}.button:hover{background-color:#1976d2}.hint-button-action{background-color:#ff9800}.hint-button-action:hover:not(:disabled){background-color:#f57c00}.hint-button-action:disabled{background-color:#ccc;color:#999;cursor:not-allowed}.hints-display{align-items:center;display:flex;font-size:16px;font-weight:700;gap:8px}.hint-count{color:#ff9800;font-size:18px}.game-area{flex:1 1;overflow:visible;padding:16px}.section{margin-bottom:24px}.section-title{color:#333;font-size:16px;font-weight:700;margin-bottom:8px;margin-top:0}.linear-jamo-container{align-items:center;background-color:#fafafa;border:1px solid #eee;border-radius:8px;display:flex;flex-direction:row;flex-wrap:wrap;gap:2px;justify-content:center;min-height:80px;padding:16px}.completed-sentence{background-color:#e8f5e8;border:2px solid #4caf50;border-radius:8px;color:#2196f3;font-size:24px;font-weight:700;padding:16px;text-align:center}.section-title.game-over{color:#f44336}.game-over-message{background-color:#ffebee;border:2px solid #f44336;border-radius:8px;color:#f44336;font-size:18px;padding:16px}.game-over-message,.message{font-weight:700;text-align:center}.message{border-radius:6px;font-size:16px;margin:8px 0;padding:12px 16px}.error-message{background-color:#ffebee;border:1px solid #f44336;color:#f44336}.info-message{background-color:#fff3e0;border:1px solid #ff9800;color:#ff9800}.hint-section{background-color:#f0f8ff;border:2px solid #2196f3;border-radius:8px;margin-bottom:16px;padding:16px;text-align:center}.hint-category{color:#1976d2;font-size:18px;font-weight:700;margin-bottom:8px}.hint-text{color:#555;font-size:14px;font-style:italic}.color-legend{background-color:#f8f9fa;border-top:1px solid #dee2e6;color:#6c757d;display:flex;flex-wrap:wrap;font-size:12px;gap:40px;justify-content:center;padding:16px}.legend-section{display:flex;flex-direction:column;gap:8px}.legend-title{color:#495057;font-weight:700;margin-bottom:4px;text-align:center}.legend-items{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.legend-item{align-items:center;display:flex;gap:6px}.legend-color{border:1px solid;border-radius:3px;height:16px;width:16px}.legend-color.chosung{background-color:#fff3e0;border-color:#ff5722}.legend-color.jungsung{background-color:#e3f2fd;border-color:#2196f3}.legend-color.jongsung{background-color:#f3e5f5;border-color:#9c27b0}.legend-color.used{background-color:#4caf50;border-color:#388e3c}.legend-color.completed{background-color:#9e9e9e;border-color:#757575}.input-help{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#495057;font-size:14px;margin-top:12px;padding:12px;text-align:center}.hint-section-compact{margin-bottom:8px}.hint-compact{background-color:#f0f8ff;border:1px solid #b3d9ff;border-radius:6px;display:flex;flex-direction:column;gap:4px;padding:8px 12px;text-align:center}.hint-label{color:#1976d2;font-size:14px;font-weight:700}.hint-desc{color:#555;font-size:12px;font-style:italic}.puzzle-section{background-color:#fff;border:2px solid #2196f3;border-radius:12px;box-shadow:0 4px 8px #2196f31a;margin:16px 0;padding:20px}.puzzle-header{margin-bottom:16px;text-align:center}.puzzle-title{color:#1976d2;font-size:24px;font-weight:700;margin:0 0 8px}.puzzle-instruction{color:#666;font-size:14px;font-style:italic;margin:0}.puzzle-board{align-items:center;background-color:#fafafa;border:2px solid #e0e0e0;border-radius:8px;display:flex;justify-content:center;min-height:120px;padding:20px}.jamo-legend-compact{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:12px}.legend-row{align-items:center;display:flex;gap:12px;margin-bottom:8px}.legend-title-small{color:#495057;font-size:13px;font-weight:700;min-width:80px}.legend-items-horizontal{display:flex;flex-wrap:wrap;gap:16px}.input-help-compact{color:#666;padding-top:8px;text-align:center}.bottom-legend,.input-help-compact{border-top:1px solid #dee2e6;font-size:12px}.bottom-legend{background-color:#f8f9fa;display:flex;justify-content:center;padding:12px 16px}.bottom-legend .legend-section{align-items:center;display:flex;gap:12px}.App{background-color:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}
/*# sourceMappingURL=main.c1019297.css.map*/