.audio-player{width:100%;background-color:var(--card);border-radius:var(--radius);display:flex;align-items:center;gap:1em;padding:1em;overflow:hidden}.album-art-container{position:relative;height:4em;width:4em;flex-shrink:0;overflow:hidden;border-radius:calc(var(--radius) - 4px)}.album-art-container img{-o-object-fit:cover;object-fit:cover}.track-info{flex-grow:1;display:flex;flex-direction:column;gap:.5em}.track-title{font-weight:600}.progress-container{display:flex;align-items:center;gap:.5em}.progress-bar{width:100%;height:.5em;background-color:var(--input);border-radius:.25em;overflow:hidden;flex:1 1}.progress-value{height:100%;background-color:var(--primary);transition:width .1s linear}.time-display{font-size:.75em;font-family:monospace;color:#666;text-align:right}.play-button{height:3em;width:3em;flex-shrink:0;border-radius:9999px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}.play-button:hover{background-color:rgba(var(--accent-rgb),.2)}.play-button svg{width:1.5em;height:1.5em}.play-button:disabled{cursor:not-allowed;opacity:.5}.play-button:disabled:hover{background-color:transparent}.error-container,.generating-container{display:flex;align-items:center}.error-message{font-size:.875em;color:var(--destructive,#dc2626)}.generating-message{font-size:.875em;color:var(--muted-foreground,#666)}.retry-button svg{color:var(--primary)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.play-button svg.lucide-loader-2{animation:spin 1s linear infinite}.lullaby-card{display:flex;flex-direction:column;overflow:hidden;transition:all .2s;background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.lullaby-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.card-image-container{position:relative;height:12em;width:100%}.card-image-container img{-o-object-fit:cover;object-fit:cover}.card-content{flex-grow:1;padding:1em;display:flex;flex-direction:column;gap:.5em}.card-title{font-size:1.125em;font-weight:700}.card-description{font-size:.875em;color:#666}.card-footer{padding:0 1em 1em}.button.full-width{width:100%}.modal-overlay{position:fixed;inset:0;z-index:50;background-color:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center}.modal-content{background-color:var(--background);padding:1.5em;border-radius:var(--radius);width:90%;max-width:480px;display:flex;flex-direction:column;gap:1em;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:1.25em;font-weight:700;margin:0}.close-button{background:none;border:none;font-size:1.5em;cursor:pointer;line-height:1}.modal-body{display:flex;flex-direction:column;gap:1em}.lyrics-display-modal{max-height:16em;overflow-y:auto;border:1px solid var(--border);background-color:rgba(var(--background-rgb),.7);padding:1em;border-radius:var(--radius);white-space:pre-wrap;font-family:monospace;font-size:.9em}.empty-library,.loading-container{margin-top:4em;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1em;text-align:center}.empty-icon-container{display:flex;height:6em;width:6em;align-items:center;justify-content:center;border-radius:9999px;background-color:var(--input)}.empty-icon-container svg{height:3em;width:3em;color:#999}.empty-library h3{font-size:1.5em;font-weight:600}.empty-library p{color:#666}.lullaby-grid{display:grid;grid-template-columns:repeat(1,1fr);grid-gap:1.5em;gap:1.5em;font-size:min(1rem,5.5vw)}@media (min-width:640px){.lullaby-grid{grid-template-columns:repeat(2,1fr)}}.built-with{display:flex;flex-direction:column;align-items:center;gap:.5em;padding:2em 1em;margin-top:2em}.built-with-label{font-size:.75em;color:var(--muted-foreground,#999)}.built-with-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.25em}.partner-link{color:var(--muted-foreground,#666);text-decoration:none;font-size:.75em;transition:color .2s}.partner-link:hover{color:var(--foreground);text-decoration:underline}.separator{color:var(--muted-foreground,#999);margin:0 .25em;font-size:.75em}.page-container{align-items:center;padding-top:4em;padding-bottom:1em}.main-content,.page-container{display:flex;flex-direction:column;gap:4em}.main-content{width:100%;max-width:720px}.create-section{align-items:center;text-align:center;gap:2.5em}.create-header,.create-section{display:flex;flex-direction:column}.create-header{gap:1em}.headline{font-size:2.5em;font-weight:700;line-height:1.2;font-family:serif}.headline-highlight{color:var(--accent)}.sub-headline{font-size:1.125em;color:#666;max-width:50ch;margin:0 auto}.agent-container{display:flex;flex-direction:column;align-items:center;gap:1em;padding:2em;border-radius:var(--radius);width:100%}.agent-icon-wrapper{width:6.25em;height:6.25em;border-radius:50%;background-color:rgba(var(--primary-rgb),.5);display:flex;align-items:center;justify-content:center;margin-bottom:1em;transition:background-color .3s}.agent-icon-wrapper.speaking{background-color:rgba(var(--accent-rgb),.7)}.agent-icon-wrapper svg{width:3em;height:3em;color:white}.agent-title{font-size:1.25em;font-weight:600;margin:0}.agent-description{color:#666;margin:0}.progress-bar-container{display:flex;gap:.5em;margin-top:1em;margin-bottom:1.5em}.progress-bar-step{width:4em;height:.5em;background-color:var(--input);border-radius:.25em}.progress-bar-step.active{background-color:var(--primary)}.lullabies-section{display:flex;flex-direction:column;gap:1.5em}.lullabies-header{display:flex;justify-content:space-between;align-items:center;padding:0 .5em}.lullabies-header h2{font-size:1.5em;font-weight:600;margin:0;display:flex;align-items:center;gap:.5em}.lullabies-header span{font-size:min(max(5vw,.875em),.8rem);font-weight:500;background-color:var(--input);padding:.5em 1em;border-radius:var(--radius)}.login-prompt,.lullabies-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1em;padding:2em;border:1px dashed var(--border);border-radius:var(--radius);text-align:center}.lullabies-loading .spinner{width:2em;height:2em}.form-error{font-size:.8em;color:var(--destructive)}.agent-container .form-error{margin-top:1em}