:root{--bg:#fff;--text:#1f2937;color:var(--text);background-color:var(--bg);font-family:system-ui,-apple-system,sans-serif}body,html{width:100%;min-height:100vh;margin:0;padding:0}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}.game-container{text-align:center;max-width:800px;margin:0 auto;padding:2rem}header{border-bottom:1px solid #e5e7eb;margin-bottom:2rem;padding-bottom:1rem}header h1{color:#1f2937;margin:0 0 .5rem;font-size:2.5rem}.flames-container{letter-spacing:4px;color:#4b5563;margin-top:1rem;font-size:clamp(1rem,4vw,1.5rem)}.spell-display{text-align:center;scrollbar-width:none;-ms-overflow-style:none;width:100%;margin:1rem 0 2rem;padding-bottom:10px;overflow-x:auto}.spell-display::-webkit-scrollbar{display:none}.category-hint{color:#6b7280;text-transform:uppercase;letter-spacing:2px;margin:0 0 1rem;font-size:1rem}.spell-display h2{color:#111827;white-space:nowrap;letter-spacing:.4em;margin:0 -.4em 0 auto;font-family:monospace;font-size:clamp(1.2rem,6vw,3rem);display:inline-block}.keyboard{flex-wrap:wrap;justify-content:center;gap:8px;max-width:450px;margin:20px auto;display:flex}.key-btn{cursor:pointer;color:#374151;background-color:#f9fafb;border:1px solid #d1d5db;border-radius:6px;padding:12px 18px;font-size:1.2rem;font-weight:700;transition:all .2s}.key-btn:hover:not(:disabled){background-color:#e5e7eb}.key-btn.correct{color:#fff;background-color:#3b82f6;border-color:#2563eb}.key-btn.wrong{color:#9ca3af;opacity:.5;cursor:not-allowed;background-color:#374151}.game-end{border-radius:8px;margin-top:2rem;padding:2rem}.game-end h2{margin-top:0}.game-end.victory{color:#065f46;background-color:#d1fae5;border:1px solid #10b981}.game-end.defeat{color:#991b1b;background-color:#fee2e2;border:1px solid #ef4444}.game-end button{cursor:pointer;color:#fff;background-color:#1f2937;border:none;border-radius:6px;margin-top:1rem;padding:10px 24px;font-size:1.1rem;font-weight:700;transition:background-color .2s}.game-end button:hover{background-color:#111827}.loading-screen{text-align:center;color:#6b7280;margin-top:20vh;font-size:1.5rem}.game-header{border-bottom:1px solid #e5e7eb;margin-bottom:2rem;padding-bottom:1rem}.header-top{justify-content:space-between;align-items:center;display:flex}.header-top h1{color:#1f2937;margin:0;font-size:clamp(1.5rem,5vw,2.5rem)}.header-actions{gap:12px;display:flex}.icon-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.icon-btn:hover{color:#1f2937;background-color:#f3f4f6}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{text-align:left;background:#fff;border-radius:12px;width:100%;max-width:500px;padding:2rem;position:relative;box-shadow:0 20px 25px -5px #0000001a}.close-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;position:absolute;top:1rem;right:1rem}.close-btn:hover{color:#111827;background-color:#f3f4f6}.modal-content h2{border-bottom:2px solid #f3f4f6;margin-top:0;margin-bottom:1.5rem;padding-bottom:.5rem}.modal-section{margin-bottom:1.5rem}.modal-section h3{color:#374151;margin:0 0 .5rem;font-size:1.1rem}.modal-section p{color:#4b5563;margin:0 0 .5rem;font-size:.95rem;line-height:1.5}.modal-footer{text-align:center;color:#9ca3af;border-top:1px solid #f3f4f6;margin-top:2rem;padding-top:1rem;font-size:.85rem}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-8px)}40%,60%{transform:translate(8px)}}.shake-error{animation:.5s cubic-bezier(.36,.07,.19,.97) both shake}.word-container{justify-content:center;gap:8px;display:flex}@keyframes popIn{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.revealed-letter{color:#10b981;animation:.3s cubic-bezier(.175,.885,.32,1.275) forwards popIn;display:inline-block}.hidden-letter{color:#1f2937;display:inline-block}.end-game-modal{text-align:center;animation:.4s ease-out forwards popIn}.end-game-modal.victory{border-top:6px solid #10b981}.end-game-modal.game_over{border-top:6px solid #ef4444}.victory-title{color:#10b981}.defeat-title{color:#ef4444}.primary-action-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:8px;width:100%;margin-top:24px;padding:12px 24px;font-size:1.1rem;font-weight:700;transition:transform .2s,background-color .2s}.primary-action-btn:hover{background-color:#2563eb;transform:translateY(-2px)}
