.app{max-width:1200px;width:100%;margin:0 auto;padding:20px;min-height:100vh;overflow-x:hidden;box-sizing:border-box}.loading,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.spinner{width:50px;height:50px;border:4px solid var(--color-light);border-top:4px solid var(--color-primary);border-radius:50%;margin-bottom:20px}.error-container{background:#fff;padding:40px;border-radius:var(--border-radius);box-shadow:var(--shadow-lg);max-width:600px;margin:0 auto}.error-container h2{color:var(--color-primary);margin-bottom:20px;font-size:2em}.game-header{background:#fff;border-radius:var(--border-radius);padding:12px 20px;margin-bottom:15px;box-shadow:var(--shadow-sm);width:100%;max-width:100%;box-sizing:border-box}.header-content{display:flex;justify-content:space-between;align-items:center;gap:15px}.logo-section{display:flex;align-items:center;gap:10px}.logo{font-size:1.8em;line-height:1}.title-group{display:flex;flex-direction:column;gap:2px}.game-header h1{font-size:1.3em;color:var(--color-secondary);font-weight:700;margin:0}.puzzle-number{font-size:.75em;color:var(--color-primary);font-weight:600;opacity:.8}.tries-section{display:flex;justify-content:center;align-items:center;gap:20px;margin-bottom:20px;flex-wrap:wrap}.tries-container{display:flex;gap:12px;align-items:center;padding:10px 20px;background:#fff;border-radius:var(--border-radius);box-shadow:var(--shadow-sm)}.difficulty-selector{display:flex;align-items:center;gap:8px}.difficulty-label{font-size:.9em;font-weight:600;color:var(--color-secondary);white-space:nowrap}.difficulty-dropdown{padding:8px 16px;font-size:14px;font-weight:600;border:2px solid;border-radius:var(--border-radius);background:#fff;cursor:pointer;transition:all .2s;outline:none}.difficulty-dropdown:hover{opacity:.8}.difficulty-dropdown:focus{box-shadow:0 0 0 3px #3b82f61a}.try-dot{width:18px;height:18px;border-radius:50%;transition:var(--transition)}.try-dot.active{background:var(--color-success);box-shadow:0 0 8px #95a59580}.try-dot.used{background:var(--color-error);box-shadow:0 0 8px #ef44444d}.header-buttons{display:flex;gap:10px;align-items:center}.how-to-play-btn,.stats-btn,.feedback-btn{width:35px;height:35px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:1.3em;font-weight:700;display:flex;align-items:center;justify-content:center;transition:var(--transition);cursor:pointer}.stats-btn,.feedback-btn{font-size:1.2em}.how-to-play-btn:hover,.stats-btn:hover,.feedback-btn:hover{background:var(--color-dark);transform:scale(1.1)}.beta-banner{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;padding:12px 20px;border-radius:var(--border-radius);margin-bottom:15px;text-align:center;font-weight:600;border:2px solid #fbbf24;box-shadow:0 4px 6px #fbbf2433}@media (max-width: 768px){.beta-banner{font-size:.85em;padding:10px 15px}}.feedback{position:fixed;top:100px;left:50%;transform:translate(-50%);padding:15px 30px;border-radius:var(--border-radius);font-weight:600;z-index:1000;box-shadow:var(--shadow-lg);max-width:90%}.feedback-success{background:#d1fae5;color:#065f46;border:2px solid #10b981}.feedback-error{background:#fee2e2;color:#991b1b;border:2px solid #ef4444}.game-container{display:flex;flex-direction:column;gap:20px;width:100%;max-width:100%;overflow-x:hidden}.fill-in-blanks-section{background:#fff;border-radius:var(--border-radius);padding:20px;box-shadow:var(--shadow-sm);width:100%;max-width:100%;overflow:hidden;box-sizing:border-box;transition:all .3s ease}.fill-in-blanks-section.collapsed{padding:15px 20px;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid var(--color-success);box-shadow:var(--shadow-md)}.fill-in-blanks-section.collapsed .section-title{margin-bottom:0;color:#065f46;-webkit-user-select:none;user-select:none}.section-title{color:var(--color-primary);font-size:1.2em;margin-bottom:15px;text-align:center;font-weight:700}.fill-in-blank{position:relative;padding:12px 15px;margin:8px 0;border-radius:var(--border-radius);background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid transparent;transition:var(--transition)}.fill-in-blank:hover{border-color:var(--color-light);box-shadow:var(--shadow-sm)}.fill-in-blank.solved{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-color:var(--color-success)}.sentence-text{font-size:1em;line-height:1.6;color:var(--color-dark)}.solved-word{background:var(--color-success);color:#fff;padding:4px 10px;border-radius:6px;font-weight:600;display:inline-block}.wrong-word{background:var(--color-error);color:#fff;padding:4px 10px;border-radius:6px;font-weight:600;display:inline-block}.sentence-number{font-weight:700;color:var(--color-primary);min-width:30px}.inline-form{display:inline}.blank-input{padding:4px 8px;border:2px solid var(--color-primary);border-radius:6px;font-size:16px;width:auto;min-width:80px;max-width:150px;transition:var(--transition);background:#fff;text-align:center}.blank-input:focus{outline:none;border-color:var(--color-dark);box-shadow:0 0 0 3px #6b7c9833}.blank-input.solved{background:var(--color-success);color:#fff;border-color:var(--color-success)}.checkmark{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:30px;height:30px;background:var(--color-success);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2em;font-weight:700}.phrase-builder-section{background:#fff;border-radius:var(--border-radius);padding:20px;box-shadow:var(--shadow-sm);width:100%;max-width:100%;overflow:hidden;transition:opacity .3s ease,filter .3s ease}.phrase-builder-section.disabled{opacity:.5;pointer-events:none;filter:grayscale(.3)}.revealed-phrase{font-size:2em;font-weight:700;color:var(--color-primary);text-align:center;padding:30px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:var(--border-radius);margin:15px 0;box-shadow:var(--shadow-md)}.phrase-builder{margin:15px 0;min-height:80px;width:100%;max-width:100%;overflow:hidden}.word-list{display:flex;flex-direction:column;gap:12px;list-style:none;padding:20px;background:linear-gradient(135deg,#f0f4f8,#e3eaf2);border-radius:var(--border-radius);min-height:80px;width:100%;max-width:100%;box-sizing:border-box}.word-card{-webkit-user-select:none;user-select:none;touch-action:none;position:relative;width:100%;cursor:grab}.word-card:active{cursor:grabbing}.word-content{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;background:#fff;border:2px solid var(--color-primary);border-radius:10px;font-weight:600;font-size:1.2em;cursor:grab;transition:all .2s ease;box-shadow:var(--shadow-sm);white-space:nowrap;min-height:55px;width:100%;box-sizing:border-box}.phrase-builder.size-normal .word-content{padding:18px 24px;font-size:1.3em}.phrase-builder.size-medium .word-content{padding:16px 24px;font-size:1.2em}.phrase-builder.size-compact .word-content{padding:14px 20px;font-size:1.1em}.word-content:active{cursor:grabbing}.word-card:hover .word-content{transform:translateY(-2px);box-shadow:var(--shadow-md)}.word-card.blank .word-content{background:#f8f9fa;border-style:dashed;cursor:default;pointer-events:none}.word-card.solved .word-content{background:var(--color-success);color:#fff;border-color:var(--color-success)}.drag-handle{font-size:1.2em;color:var(--color-primary);opacity:.5}.word-card.solved .drag-handle{color:#fff;opacity:.8}.blank-placeholder{color:#cbd5e0;font-weight:400}.check-button{width:100%;padding:16px;background:var(--color-primary);color:#fff;border-radius:var(--border-radius);font-size:1.1em;font-weight:700;box-shadow:var(--shadow-md);transition:var(--transition)}.check-button:hover:not(:disabled){background:var(--color-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.check-button:disabled{opacity:.5;cursor:not-allowed}.continue-button{width:100%;padding:16px;background:var(--color-accent);color:#fff;border-radius:var(--border-radius);font-size:1.1em;font-weight:700;box-shadow:var(--shadow-md);transition:var(--transition);margin-top:20px}.continue-button:hover{background:var(--color-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.game-over{background:#fff;border-radius:var(--border-radius);padding:50px 40px;box-shadow:var(--shadow-lg);text-align:center;max-width:600px;margin:40px auto}.result-badge{font-size:2.5em;font-weight:900;padding:20px 40px;border-radius:var(--border-radius);margin-bottom:30px;display:inline-block}.result-badge.won{background:linear-gradient(135deg,var(--color-success) 0%,#a7f3d0 100%);color:#fff;box-shadow:0 0 30px #95a59580}.result-badge.lost{background:linear-gradient(135deg,#fecaca,#f87171);color:#991b1b;box-shadow:0 0 30px #ef44444d}.tries-display{margin:30px 0}.tries-container-large{display:flex;gap:15px;justify-content:center;margin-bottom:10px}.try-dot-large{width:40px;height:40px;border-radius:50%;transition:var(--transition);box-shadow:var(--shadow-sm)}.try-dot-large.active{background:linear-gradient(135deg,var(--color-success) 0%,#a7f3d0 100%);box-shadow:0 0 15px #95a59566}.try-dot-large.used{background:linear-gradient(135deg,var(--color-error) 0%,#fca5a5 100%);box-shadow:0 0 15px #ef44444d}.tries-label{font-size:.95em;color:var(--color-secondary);margin:0}.button-group{display:flex;gap:15px;margin:30px 0}.back-button{flex:1;padding:16px;background:var(--color-secondary);color:#fff;border-radius:var(--border-radius);font-size:1em;font-weight:700;box-shadow:var(--shadow-md);transition:var(--transition)}.back-button:hover{background:var(--color-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.phrase-reveal h2{color:var(--color-primary);margin-bottom:15px;font-size:1.5em}.correct-phrase{font-size:1.8em;font-weight:700;color:var(--color-dark);margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:var(--border-radius)}.game-stats{margin:25px 0}.game-stats h3{color:var(--color-primary);font-size:1.3em;margin-bottom:15px;text-align:center}.stats-grid-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-box-summary{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:15px;border-radius:var(--border-radius);text-align:center;box-shadow:var(--shadow-sm)}.stats{display:flex;gap:20px;justify-content:center;margin:30px 0}.stat{display:flex;flex-direction:column;padding:20px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:var(--border-radius);min-width:120px}.stat-label{font-size:.9em;color:var(--color-secondary);margin-bottom:5px}.stat-value{font-size:2em;font-weight:900;color:var(--color-primary)}.share-button{flex:1;padding:16px;background:var(--color-accent);color:#fff;border-radius:var(--border-radius);font-size:1em;font-weight:700;box-shadow:var(--shadow-md);transition:var(--transition)}.share-button:hover{background:var(--color-dark);transform:translateY(-2px)}.come-back{margin-top:20px;color:var(--color-secondary);font-style:italic}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000}.modal-wrapper{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001;width:90%;max-width:600px}.modal-content{background:#fff;border-radius:var(--border-radius);padding:40px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.close-button{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:50%;background:var(--color-light);font-size:1.5em;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.close-button:hover{background:var(--color-error);color:#fff;transform:rotate(90deg)}.how-to-play h2{color:var(--color-primary);margin-bottom:25px;font-size:2em}.how-to-play h3{color:var(--color-secondary);margin:20px 0 10px;font-size:1.3em}.how-to-play section{margin-bottom:25px}.how-to-play ul{margin-left:20px;margin-top:10px}.how-to-play li{margin:8px 0;line-height:1.6}.hint-message{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;padding:12px 20px;border-radius:var(--border-radius);margin-bottom:20px;text-align:center;font-weight:600;border:2px solid #fbbf24;box-shadow:0 4px 6px #fbbf2433}.blank-input.hint{border-color:#fbbf24;background:#fef3c7}.blank-input.hint::placeholder{color:#92400e;font-weight:700;opacity:1}.blank-input.hint:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #fbbf2433}@media (max-width: 768px){.app{padding:10px}.game-header{padding:10px 15px}.header-content{flex-wrap:wrap}.game-header h1{font-size:1.1em}.logo{font-size:1.5em}.tries-container{padding:8px 15px}.try-dot{width:15px;height:15px}.how-to-play-btn,.stats-btn,.feedback-btn{width:30px;height:30px;font-size:1.1em}.stats-btn,.feedback-btn{font-size:1em}.difficulty-label{font-size:.85em}.difficulty-dropdown{font-size:13px;padding:6px 12px}.fill-in-blanks-section,.phrase-builder-section{padding:15px}.section-title{font-size:1.1em;margin-bottom:12px}.fill-in-blank{padding:10px 12px;margin:6px 0}.sentence-text{font-size:.95em}.blank-input{min-width:60px;max-width:120px;font-size:.9em}.word-list{padding:15px;gap:10px}.word-content{padding:14px 18px;font-size:1.1em;min-height:50px}.drag-handle{font-size:1em}.modal-wrapper{width:95%;max-width:95%}.modal-content,.game-over{padding:30px 20px}.result-badge{font-size:1.8em;padding:15px 30px}.correct-phrase{font-size:1.3em}.stats-grid-summary{grid-template-columns:repeat(2,1fr);gap:10px}.stat-box-summary{padding:12px}.game-stats h3{font-size:1.1em}.stats{flex-direction:column}}.feedback-modal{max-width:500px}.feedback-intro{text-align:center;color:var(--color-secondary);margin-bottom:25px;font-size:.95em}.feedback-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:var(--color-secondary);font-size:.95em}.form-group input,.form-group textarea{padding:12px;border:2px solid var(--color-light);border-radius:var(--border-radius);font-size:16px;font-family:inherit;transition:var(--transition)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6b7c981a}.form-group textarea{resize:vertical;min-height:120px}.char-count{text-align:right;font-size:.85em;color:var(--color-secondary);opacity:.7}.form-status{padding:12px 16px;border-radius:var(--border-radius);font-weight:600;text-align:center}.form-status.success{background:#d1fae5;color:#065f46;border:2px solid #10b981}.form-status.error{background:#fee2e2;color:#991b1b;border:2px solid #ef4444}.submit-feedback-button{width:100%;padding:16px;background:var(--color-primary);color:#fff;border-radius:var(--border-radius);font-size:1em;font-weight:700;box-shadow:var(--shadow-md);transition:var(--transition);cursor:pointer}.submit-feedback-button:hover:not(:disabled){background:var(--color-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.submit-feedback-button:disabled{opacity:.6;cursor:not-allowed}.feedback-note{text-align:center;font-size:.85em;color:var(--color-secondary);margin:0;font-style:italic}.stats-modal{max-width:500px}.stats-content h2{color:var(--color-primary);margin-bottom:25px;font-size:2em;text-align:center}.stats-content h3{color:var(--color-secondary);margin:30px 0 15px;font-size:1.2em}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:20px}.stat-box{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:20px;border-radius:var(--border-radius);text-align:center;box-shadow:var(--shadow-sm)}.stat-number{font-size:2em;font-weight:900;color:var(--color-primary);margin-bottom:5px}.stat-label{font-size:.85em;color:var(--color-secondary);font-weight:600}.histogram{display:flex;flex-direction:column;gap:8px;margin-bottom:25px}.histogram-row{display:flex;align-items:center;gap:10px}.histogram-label{font-weight:700;font-size:1em;color:var(--color-secondary);min-width:20px;text-align:center}.histogram-bar-container{flex:1;background:var(--color-light);border-radius:4px;height:30px;position:relative}.histogram-bar{background:var(--color-success);height:100%;border-radius:4px;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;transition:width .3s ease}.histogram-count{color:#fff;font-weight:700;font-size:.9em}.share-stats-button{width:100%;padding:16px;background:var(--color-accent);color:#fff;border-radius:var(--border-radius);font-size:1em;font-weight:700;box-shadow:var(--shadow-md);transition:var(--transition)}.share-stats-button:hover{background:var(--color-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-box{padding:15px}.stat-number{font-size:1.6em}.stat-label{font-size:.8em}}.app-footer{text-align:center;padding:30px 20px;margin-top:40px;border-top:2px solid var(--color-light);background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.app-footer p{color:var(--color-secondary);font-size:.9em;margin:5px 0;font-weight:500}.app-footer a{color:var(--color-primary);text-decoration:none;font-weight:600;transition:var(--transition)}.app-footer a:hover{color:var(--color-dark);text-decoration:underline}@media (max-width: 768px){.app-footer{padding:20px 15px;margin-top:30px}.app-footer p{font-size:.85em}}*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #6B7C98;--color-secondary: #7B7F8A;--color-accent: #AB978C;--color-light: #E9E6E7;--color-dark: #5E5653;--color-success: #95A595;--color-error: #ef4444;--color-bg: linear-gradient(135deg, #b6becb 0%, #aca7a5 100%);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .2);--border-radius: 12px;--transition: all .3s ease}body{font-family:Roboto,sans-serif;background:var(--color-bg);min-height:100vh;color:#2d3748;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;width:100%}#root{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;width:100%}button{font-family:inherit;cursor:pointer;border:none;background:none;outline:none}input{font-family:inherit}.button{padding:12px 24px;border-radius:var(--border-radius);font-weight:600;transition:var(--transition);text-decoration:none;display:inline-block;text-align:center}.button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#0000000d;border-radius:10px}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--color-dark)}
