@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&display=swap";:root{--bg:#fff;--text:#000;--border:#000;--accent:#000;--grey-light:#f3f4f6;--grey-mid:#e5e7eb}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:JetBrains Mono,monospace;line-height:1.6}.app-container{flex-direction:column;gap:4rem;max-width:800px;margin:0 auto;padding:4rem 2rem;display:flex}.bg-glow{display:none}header{padding-bottom:2rem}.internal-badge{letter-spacing:.3rem;opacity:.4;text-transform:uppercase;font-size:.75rem;font-weight:700}.main-grid{flex-direction:column;gap:3rem;display:flex}.card{background:var(--bg);border:2px solid var(--border);padding:2rem}.input-group{flex-direction:column;gap:.5rem;margin-bottom:2rem;display:flex}label{text-transform:uppercase;font-size:.8rem;font-weight:700}textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);width:100%;min-height:150px;padding:1rem;font-family:JetBrains Mono,monospace;font-size:.9rem}textarea:focus{background:var(--grey-light);outline:none}.genre-grid{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1px;display:grid}.genre-btn{background:var(--bg);color:var(--text);cursor:pointer;text-align:center;border:none;padding:.75rem;font-family:inherit;font-size:.8rem}.genre-btn:hover{background:var(--grey-light)}.genre-btn.active{background:var(--text);color:var(--bg)}.generate-btn{background:var(--text);border:2px solid var(--border);color:var(--bg);text-transform:uppercase;cursor:pointer;width:100%;padding:1rem;font-family:inherit;font-size:1rem;font-weight:700;transition:all .1s}.generate-btn:hover{background:var(--bg);color:var(--text)}.generate-btn:disabled{opacity:.3;cursor:not-allowed}.result-card{flex-direction:column;gap:2rem;display:flex}.player-container{border:1px solid var(--border);padding:1.5rem}.status-badge{border:1px solid var(--border);margin-bottom:1rem;padding:.25rem .5rem;font-size:.7rem;display:inline-block}audio{width:100%;height:30px}.lyrics-container{border:1px solid var(--border);white-space:pre-wrap;background:var(--grey-light);padding:1.5rem;font-size:.85rem}.empty-state{border:1px dashed var(--border);text-align:center;opacity:.5;padding:4rem 2rem}.loader{background:var(--bg);border:2px solid var(--text);width:12px;height:12px;margin-right:10px;animation:.6s infinite alternate pulse;display:inline-block}@keyframes pulse{0%{opacity:1}to{opacity:.2}}footer{border-top:1px solid var(--border);opacity:.5;padding-top:2rem;font-size:.7rem}.login-overlay{background:var(--bg);z-index:1000;justify-content:center;align-items:center;width:100%;height:100%;padding:2rem;display:flex;position:fixed;top:0;left:0}.login-modal{background:var(--bg);border:4px solid var(--border);text-align:center;flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:450px;padding:3rem;display:flex;box-shadow:20px 20px #0000000d}.login-modal img{filter:grayscale();width:auto;height:100px;margin-bottom:.5rem}.login-modal .auth-label{letter-spacing:.3rem;text-transform:uppercase;opacity:.6;margin-bottom:1rem;font-size:.7rem;font-weight:700}.login-modal input{border:2px solid var(--border);text-align:center;background:var(--bg);width:100%;padding:1.25rem;font-family:inherit;font-size:1.2rem}.login-modal input:focus{background:var(--grey-light);outline:none}.login-modal .login-btn{background:var(--text);width:100%;color:var(--bg);text-transform:uppercase;cursor:pointer;letter-spacing:.1rem;border:none;padding:1.25rem;font-family:inherit;font-weight:700;transition:opacity .2s}.login-modal .login-btn:hover{opacity:.8}.login-error{color:red;margin-top:.5rem;font-size:.7rem;font-weight:700}
