*,:before,:after{box-sizing:border-box}body{color:#111;-webkit-font-smoothing:antialiased;background:#fff;margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif}#root{width:100%;max-width:600px;margin:0 auto}button{font-family:inherit}.loader-screen{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100svh;display:flex}.spinner{border:4px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loader-text{color:#6b7280;margin:0;font-size:1rem}.game{box-sizing:border-box;flex-direction:column;align-items:center;gap:28px;min-height:100svh;padding:24px 20px 40px;display:flex}.game-header{justify-content:space-between;align-items:center;width:100%;max-width:320px;display:flex}.back-btn{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:.95rem;font-weight:500}.back-btn:hover{text-decoration:underline}.score{color:#111;font-size:1.1rem;font-weight:700}.game-body{flex-direction:column;align-items:center;gap:28px;width:100%;max-width:320px;display:flex;position:relative}.used-words-anchor{width:100%;height:40px;position:relative}.used-words-box{cursor:pointer;text-align:left;color:#374151;box-sizing:border-box;z-index:1;background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;height:40px;padding:8px 36px 8px 12px;font-family:inherit;font-size:.875rem;transition:border-color .15s,background .15s;position:absolute;top:0;left:0;right:0;overflow:hidden}.used-words-box.expanded{z-index:25;height:auto;max-height:400px;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.used-words-box:not(:disabled):hover{background:#f3f4f6;border-color:#9ca3af}.used-words-box:disabled{cursor:default;color:#9ca3af}.used-words-empty{font-style:italic}.used-words-preview{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.used-words-list{flex-direction:column;display:flex}.used-words-item{padding:2px 0}.used-words-chevron{color:#9ca3af;pointer-events:none;font-size:.7rem;position:absolute;top:8px;right:10px}.word-display-wrapper{z-index:20;flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.toast-row{pointer-events:none;z-index:20;align-items:center;gap:8px;display:flex;position:absolute;top:-48px}.toast{color:#fff;white-space:nowrap;border-radius:20px;padding:8px 18px;font-size:.95rem;font-weight:600;animation:.2s ease-out toast-in}.toast--success{background:#16a34a;box-shadow:0 4px 12px #16a34a4d}.toast--error{background:#dc2626;box-shadow:0 4px 12px #dc26264d}.points-float{color:#16a34a;white-space:nowrap;font-size:1.1rem;font-weight:700;animation:1.8s ease-out forwards points-rise}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes points-rise{0%{opacity:1;transform:translateY(0)}60%{opacity:1;transform:translateY(-18px)}to{opacity:0;transform:translateY(-32px)}}.word-display{box-sizing:border-box;background:#f3f4f6;border-radius:10px;justify-content:center;align-items:center;width:100%;min-height:56px;padding:8px 16px;display:flex}.word-placeholder{color:#9ca3af;font-size:1rem}.word-text{letter-spacing:4px;color:#111;text-transform:uppercase;font-size:1.6rem;font-weight:700}.game-grid{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;display:grid}.game-letter-btn{cursor:pointer;color:#111;-webkit-user-select:none;user-select:none;background:#f9fafb;border:2px solid #d1d5db;border-radius:10px;justify-content:center;align-items:center;height:90px;font-size:1.6rem;font-weight:700;transition:background .12s,border-color .12s,transform .1s;display:flex}.game-letter-btn:hover{background:#e5e7eb;border-color:#9ca3af}.game-letter-btn:active{transform:scale(.93)}.game-letter-btn.center{color:#fff;background:#2563eb;border-color:#1d4ed8}.game-letter-btn.center:hover{background:#1d4ed8}.game-actions{gap:10px;width:100%;display:flex}.action-btn{cursor:pointer;border:2px solid #d1d5db;border-radius:8px;flex:1;padding:12px 8px;font-size:.9rem;font-weight:600;transition:background .12s,border-color .12s,opacity .12s}.action-btn:disabled{opacity:.35;cursor:not-allowed}.delete-btn{color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.delete-btn:hover:not(:disabled){background:#fee2e2;border-color:#f87171}.shuffle-btn{color:#374151;background:#f9fafb;border-color:#d1d5db}.shuffle-btn:hover{background:#e5e7eb;border-color:#9ca3af}.enter-btn{color:#fff;background:#2563eb;border-color:#1d4ed8}.enter-btn:hover:not(:disabled){background:#1d4ed8}.confirm-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog{background:#fff;border-radius:14px;flex-direction:column;gap:20px;width:calc(100% - 40px);max-width:300px;padding:28px 24px 20px;display:flex;box-shadow:0 20px 40px #0003}.confirm-text{color:#111;text-align:center;margin:0;font-size:1rem;line-height:1.5}.confirm-actions{gap:10px;display:flex}.confirm-btn{cursor:pointer;border:2px solid #0000;border-radius:8px;flex:1;padding:11px 8px;font-family:inherit;font-size:.9rem;font-weight:600;transition:background .12s,opacity .12s}.confirm-cancel{color:#374151;background:#f3f4f6;border-color:#e5e7eb}.confirm-cancel:hover{background:#e5e7eb}.confirm-exit{color:#fff;background:#dc2626}.confirm-exit:hover{background:#b91c1c}.setup{box-sizing:border-box;flex-direction:column;align-items:center;gap:28px;min-height:100svh;padding:40px 20px;display:flex}.title{letter-spacing:-1px;color:#111;margin:0;font-size:2.5rem;font-weight:700}.selected-letters{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-height:52px;display:flex}.placeholder{color:#aaa;font-size:.95rem}.selected-tile{color:#111;background:#e5e7eb;border:2px solid #d1d5db;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;font-weight:700;display:inline-flex}.selected-tile.first{color:#fff;background:#2563eb;border-color:#1d4ed8}.letter-grid{grid-template-columns:repeat(5,1fr);gap:10px;width:100%;max-width:320px;display:grid}.letter-btn{cursor:pointer;color:#111;background:#f9fafb;border:2px solid #d1d5db;border-radius:8px;justify-content:center;align-items:center;height:52px;font-size:1.1rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:flex}.letter-btn:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.letter-btn.selected{color:#111;background:#e5e7eb;border-color:#6b7280}.letter-btn.selected-first{color:#fff;background:#2563eb;border-color:#1d4ed8}.letter-btn.disabled{opacity:.35;cursor:not-allowed}.random-btn{cursor:pointer;color:#374151;background:#f9fafb;border:2px solid #d1d5db;border-radius:8px;padding:10px 24px;font-size:.95rem;font-weight:500;transition:background .15s,border-color .15s}.random-btn:hover{background:#e5e7eb;border-color:#9ca3af}.start-btn{cursor:pointer;color:#fff;background:#2563eb;border:none;border-radius:8px;padding:12px 36px;font-size:1rem;font-weight:700;transition:background .15s,opacity .15s}.start-btn:hover:not(:disabled){background:#1d4ed8}.start-btn:disabled{opacity:.35;cursor:not-allowed}
