@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{color:#f4f0fa;font-synthesis:none;--muted:#aca4b9;--accent:#c4a0ff;--panel:#1d1827;--line:#37303f;--danger:#ff9b9b;background:#121019;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea{font:inherit}button,.button{background:var(--accent);color:#21132f;cursor:pointer;text-align:center;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;padding:13px 19px;font-weight:700;display:inline-flex}button:hover,.button:hover{filter:brightness(1.08);text-decoration:none}button:disabled{opacity:.45;cursor:not-allowed}.secondary{color:var(--accent);border-color:var(--line);background:0 0}.danger{color:var(--danger);background:0 0;border-color:#694045}.link{color:var(--muted);background:0 0;padding:0;font-weight:400}input,textarea{color:inherit;background:#141019;border:1px solid #51455e;border-radius:10px;width:100%;padding:12px}input[type=checkbox]{width:18px;min-width:18px}input[type=file]{margin-top:14px}textarea{resize:vertical;min-height:90px}label{color:#d3c9df;gap:8px;font-size:.95rem;display:grid}.check{align-items:flex-start;line-height:1.6;display:flex}.account-session{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.account-session p{overflow-wrap:anywhere}.account-session>div{min-width:0}.sign-out button{white-space:nowrap;min-height:44px}h1,h2,h3,.brand{letter-spacing:-.04em;font-family:Space Grotesk,system-ui,sans-serif}h1{margin:12px 0 18px;font-size:clamp(2.3rem,5vw,3.8rem);line-height:1.07}h2{margin:0 0 10px;font-size:1.4rem}p{color:var(--muted);margin:0 0 10px;line-height:1.65}small{color:var(--muted)}.app-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;max-width:1200px;margin:auto;padding:28px 32px;display:flex}.brand{color:#fff;white-space:nowrap;font-size:1.8rem;font-weight:700}.brand span{color:var(--muted);font-size:1.1rem;font-weight:400}nav{align-items:center;gap:22px;display:flex}nav a{color:#d3c9df;font-size:.9rem}main{max-width:1120px;min-height:78vh;margin:auto;padding:42px 32px 70px}footer{text-align:center;border-top:1px solid var(--line);color:var(--muted);padding:25px;font-size:.8rem}.stack{gap:22px;display:grid}.panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:24px;overflow:hidden}.heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.17em;color:var(--accent);font-size:.74rem}.badge{color:#dcc3ff;background:#342443;border-radius:99px;padding:6px 10px;font-size:.75rem}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.project-card{color:inherit;display:block}.project-card h2{margin-top:24px}.project-card:hover{border-color:var(--accent);text-decoration:none}.actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.metrics{flex-wrap:wrap;gap:12px;display:flex}.metrics span{color:#c8bad7;background:#241c30;border-radius:10px;padding:10px 14px;font-size:.85rem}.dropzone{text-align:center;background:#241b32;border:1px dashed #8d6caf;border-radius:12px;padding:34px}canvas{width:100%;height:110px;display:block}img,video{border-radius:12px;width:100%;display:block}.scenes img{aspect-ratio:16/9;object-fit:cover;margin-bottom:20px}.media-placeholder{aspect-ratio:16/9;background:#2b2038;border-radius:12px;place-items:center;margin-bottom:20px;display:grid}.scenes h2{margin-top:10px}.scenes p{font-size:.9rem}.notice,[role=alert]{color:#f4cf94;background:#2b241c;border:1px solid #695133;border-radius:10px;padding:14px}.local-banner{color:#b9a38a;margin-bottom:26px;font-size:.8rem}audio,progress{width:100%}progress{height:12px;accent-color:var(--accent)}.history{margin:0;padding:0;list-style:none}.history li{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:14px 0;font-size:.9rem;display:flex}:focus-visible{outline-offset:4px;outline:2px solid #d3b4ff}@media (width<=640px){.app-header{flex-direction:column;align-items:flex-start;padding:20px}nav{flex-wrap:wrap;gap:18px}main{padding:28px 18px}.grid{grid-template-columns:1fr}.panel{padding:20px}.heading{flex-direction:column;align-items:flex-start}.brand span{font-size:1rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.lyrics-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem;display:grid}.lyrics-preview{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:#ffffff0a;border-radius:12px;max-height:320px;padding:1rem;line-height:1.7;overflow:auto}.lyrics-option{text-align:left;overflow-wrap:anywhere}.lyrics-option small{margin-top:.35rem;font-weight:400;display:block}.lyrics-results{max-height:360px;overflow:auto}.waveform-card{background:radial-gradient(at 80% 0,#33223f80,#0000 65%),#17121f;border:1px solid #493653;border-radius:18px;min-width:0;padding:22px}.waveform-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:24px;display:flex}.waveform-heading>div{gap:8px;display:grid}.waveform-heading strong{font-size:1.05rem;font-weight:500}.waveform-heading .eyebrow{font-size:.65rem}.waveform-duration{color:#e0c6fa;background:#c4a0ff0a;border:1px solid #594268;border-radius:99px;flex-shrink:0;padding:6px 10px;font-size:.7rem}.waveform-track{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;border-radius:8px;height:160px;position:relative}.waveform-track:active{cursor:grabbing}.waveform-track canvas{pointer-events:none;height:100%;position:relative}.waveform-grid{background:repeating-linear-gradient(90deg,#b89bd010 0 1px,#0000 1px 25%);border-block:1px solid #b89bd010;position:absolute;inset:0}.waveform-grid:after{content:"";background:#b89bd01a;height:1px;position:absolute;inset:50% 0 auto}.waveform-selection{background:linear-gradient(135deg,#ba87ff20,#ef95ce10);border:1px solid #c4a0ff99;border-inline:2px solid #d6b1ff;border-radius:7px;height:100%;position:absolute;box-shadow:0 0 24px #b576ff0d,inset 0 0 20px #c4a0ff08}.waveform-grip{z-index:1;background:#3b284d;border:2px solid #d6b1ff;border-radius:4px;width:7px;height:26px;position:absolute;top:calc(50% - 13px)}.waveform-grip-start{left:-5px}.waveform-grip-end{right:-5px}.waveform-ruler{color:#a396b2;font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:12px;font-size:.68rem;display:flex}.waveform-footer{color:#b5a5c4;border-top:1px solid #b89bd018;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:16px;font-size:.75rem;display:flex}.waveform-range{color:#ebd9ff;font-variant-numeric:tabular-nums;align-items:center;gap:9px;display:flex}.waveform-range>span:not(.waveform-dot){color:#8d779e}.waveform-dot{background:#d1a3ff;border-radius:50%;width:6px;height:6px;box-shadow:0 0 10px #c4a0ff55}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=640px){.waveform-card{padding:16px 14px}.waveform-heading{align-items:flex-start;gap:8px}.waveform-heading strong{font-size:.9rem}.waveform-duration{padding:5px 8px;font-size:.63rem}.waveform-track{height:136px}.waveform-footer{gap:10px;font-size:.7rem}}.segment-player{gap:12px;display:grid}.segment-player audio{display:none}.segment-player-controls{justify-content:space-between;align-items:center;gap:12px;display:flex}.segment-play{gap:10px}.segment-play svg{flex-shrink:0}.segment-playback-time{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8rem}.segment-player progress{height:5px}.segment-player small{font-size:.75rem}.payment-description{gap:5px;min-width:0;display:grid}.payment-description time{color:var(--muted);font-size:.78rem}.payment-amount{color:#d5b9ff;flex-shrink:0;font-weight:650}.payment-refunded{color:var(--muted);font-weight:400}.history li{align-items:center}.history li:last-child{border-bottom:0}.payment-empty{color:var(--muted);font-size:.9rem;line-height:1.6}.history-more{margin-top:16px}.test-credit-history{border-top:1px solid var(--line);color:var(--muted);margin-top:20px;padding-top:16px;font-size:.85rem}.test-credit-history summary{cursor:pointer;padding:8px 0}.test-credit-history summary span{margin-left:8px;font-size:.8rem}.purchase-toast{bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:50;box-sizing:border-box;color:#f6f0ff;background:#251d30;border:1px solid #544066;border-radius:18px;align-items:center;gap:12px;width:min(440px,100% - 32px);padding:16px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0006}.purchase-toast>div{flex:1;min-width:0}.purchase-toast strong{font-size:.92rem;line-height:1.4;display:block}.purchase-toast p{color:#cec1db;margin:4px 0 0;font-size:.8rem;line-height:1.45}.purchase-toast-icon{color:#dfc9ff;background:#423052;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.purchase-toast-success .purchase-toast-icon{color:#a2edca;background:#23483b}.purchase-toast button{color:#d1c5dd;background:0 0;border:0;border-radius:10px;flex-shrink:0;width:44px;height:44px;padding:0;font-size:1.5rem}@media (width<=380px){.history li{gap:8px;font-size:.8rem}}.onboarding{max-width:780px;margin:0 auto}.onboarding [hidden]{display:none!important}.onboarding-intro h1{outline:none;font-size:clamp(2.2rem,6vw,3.5rem)}.onboarding-intro p{max-width:560px}.creation-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 6px;padding:0;list-style:none;display:grid}.creation-steps button{gap:10px;width:100%;padding:12px 8px;font-size:.85rem}.creation-steps button span{background:#ffffff0c;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.75rem;display:grid}.creation-steps button[aria-current=step]{border-color:var(--accent);color:#f4e9ff;background:#342443}.creation-steps button[aria-current=step] span{background:var(--accent);color:#21132f}.creation-fields{border:0;min-width:0;margin:0;padding:0}.song-upload{cursor:pointer;background:radial-gradient(at 50% 0,#6c3fa63d,#0000 70%),#21182c;justify-items:center;gap:12px;padding:40px 18px;display:grid;position:relative}.song-upload:focus-within{outline:2px solid var(--accent);outline-offset:4px}.song-upload input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.song-upload strong{overflow-wrap:anywhere;min-width:0;max-width:100%;font-size:1.2rem}.song-upload>span:not(.song-upload-icon){color:var(--muted);font-size:.8rem}.song-upload-icon{color:#dcc4ff;background:#c4a0ff15;border:1px solid #c4a0ff33;border-radius:20px;place-items:center;width:64px;height:64px;font-size:2rem;display:grid}.song-upload-selected{padding:18px}.song-upload-selected .song-upload-icon{display:none}.creation-hint{text-align:center;font-size:.88rem}.highlight-summary h2{font-variant-numeric:tabular-nums;margin-top:8px}.highlight-summary p{margin-bottom:0;font-size:.9rem}.creation-options>summary{cursor:pointer;color:#dfcff2;padding:12px 0;font-weight:500}.creation-options[open]>summary{margin-bottom:14px}.creation-options .panel{background:0 0;border:0;padding:0}.creation-options>label{margin-bottom:16px}.creation-privacy{color:var(--muted);font-size:.78rem}.creation-privacy summary{cursor:pointer;padding:8px 0}.creation-privacy p{margin-top:8px}.creation-next{justify-items:center;gap:12px;display:grid}.creation-next>button:not(.link){gap:16px;width:100%;min-height:52px}.look-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.look-card{text-align:left;background:var(--panel);border:2px solid var(--line);color:#f4f0fa;flex-direction:column;align-items:stretch;padding:0;display:flex;position:relative;overflow:hidden}.look-card[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 3px #c4a0ff14}.look-art{background:#252038;height:128px;display:block;position:relative;overflow:hidden}.look-neon .look-art{background:linear-gradient(125deg,#fb4ab233,#0000 55%),repeating-linear-gradient(90deg,#19102d 0 14%,#763d9940 14% 16%),linear-gradient(#211336,#a75ce5)}.look-neon .look-art:after{content:"";background:repeating-linear-gradient(0deg,#0000 0 18px,#ed86f7aa 19px 20px),repeating-linear-gradient(90deg,#0000 0 30px,#ed86f777 31px 32px);position:absolute;inset:40% -20% -80%;transform:perspective(140px)rotateX(50deg)}.look-dream .look-art{background:radial-gradient(at 20% 70%,#ebb5d2,#0000 65%),radial-gradient(at 80% 20%,#8d9fe9,#0000 65%),#6a4599}.look-dream .look-art span{background:linear-gradient(135deg,#ffe9ffcc,#de9eff11);border-radius:50%;width:80px;height:80px;margin:25px auto;display:block;box-shadow:-30px 45px 35px #efc3ed77}.look-gold .look-art{background:radial-gradient(circle at 65% 45%,#fff1b8 0 11%,#ffce7255 12%,#0000 40%),linear-gradient(#a26762,#e6a572 65%,#513e50)}.look-gold .look-art:after{content:"";background:#3f3345;border-radius:50% 60% 0 0;position:absolute;inset:60% -10% -20%;transform:rotate(-8deg)}.look-noir .look-art{background:repeating-linear-gradient(140deg,#bfc1ce 0 9%,#333443 10% 23%)}.look-noir .look-art:after{content:"";background:linear-gradient(90deg,#101018ed,#0000);position:absolute;inset:0}.look-copy{gap:7px;padding:16px 36px 18px 16px;display:grid}.look-copy strong{font-size:1rem}.look-copy>span{color:var(--muted);font-size:.78rem;font-weight:400;line-height:1.5}.look-selected{color:var(--accent);position:absolute;bottom:19px;right:12px}.optional-label{color:var(--muted);margin-left:8px;font-size:.75rem;font-weight:400}.plan-summary{gap:14px;margin:0;display:grid}.plan-summary>div{grid-template-columns:90px 1fr;gap:12px;display:grid}.plan-summary dt{color:var(--muted);font-size:.9rem}.plan-summary dd{overflow-wrap:anywhere;margin:0}.video-plan h2{overflow-wrap:anywhere}.creation-cost{background:#c4a0ff0a;border:1px solid #c4a0ff24;border-radius:12px;padding:18px}.creation-cost strong{font-size:.95rem}.creation-cost p{margin:8px 0 0;font-size:.85rem}.first-video{max-width:720px;padding:36px}.first-video .button{justify-self:start}@media (width<=480px){.creation-steps{gap:6px}.creation-steps button{gap:6px;font-size:.78rem}.look-art{height:104px}.look-copy{padding:14px 26px 14px 12px}.look-copy strong{font-size:.9rem}.look-grid{gap:10px}.first-video{padding:24px}}.project-scenes>summary{cursor:pointer;color:var(--accent);margin-bottom:12px;padding:12px 0}.project-scenes>.grid{margin:20px 0}.project-scenes .scenes summary{cursor:pointer;color:var(--muted);margin-top:8px;font-size:.85rem}
