.app-root{--app-card:#ece3ec;--app-card-pressed:#e3d7e3;--app-selected:#efdcfb;--app-selected-ink:#2b0a59;--app-disabled:#e9dde4;--app-disabled-ink:#a8949f;--app-shadow:0 3px 6px #4a1e3a1f}.app-root:focus{outline:none}.app-shell{flex-direction:column;width:min(100% - 2rem,560px);min-height:100dvh;margin:0 auto;display:flex}.app-main{flex-direction:column;flex:1;padding-block:.5rem 2rem;display:flex}.app-main.is-centered{justify-content:center;padding-block:1.5rem 4rem}body.sheet-open{overflow:hidden}.app-header{justify-content:space-between;align-items:center;gap:.5rem;padding:.9rem 0 .6rem;display:flex}.app-header-group{align-items:center;gap:.4rem;display:flex}.app-brand{min-height:48px;color:var(--ink);align-items:center;gap:.6rem;font-weight:700;text-decoration:none;display:inline-flex}.app-brand img{border-radius:10px}.app-icon-button{width:48px;height:48px;color:var(--brand-primary);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.app-help{color:var(--ink)}.app-history{min-width:64px;min-height:52px;color:var(--ink);font:inherit;letter-spacing:.02em;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:.1rem;padding:.2rem .4rem;font-size:.75rem;font-weight:650;display:flex}.app-soon{cursor:default;opacity:.55}.app-balance{background:var(--app-card);min-height:48px;color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:.35rem;padding:0 .95rem 0 .8rem;font-size:1.15rem;font-weight:600;text-decoration:none;display:inline-flex}.app-balance .app-balance-note,.app-balance .app-balance-plus{color:var(--brand-primary)}.app-login-link{font-size:1rem}.app-login-link .icon{color:var(--brand-primary)}.app-login-link:hover{color:var(--ink);background:var(--app-card-pressed)}.app-button{background:var(--brand-primary);color:#fff;min-height:52px;font:inherit;text-align:center;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.6rem;font-size:1.05rem;font-weight:650;text-decoration:none;display:inline-flex}.app-button:hover{color:#fff;background:#f5579f}.app-button:disabled,.app-button:disabled:hover{background:var(--app-disabled);color:var(--app-disabled-ink);cursor:not-allowed}.app-button-wide{width:100%}.app-button-secondary{background:var(--app-card);color:var(--accent-text)}.app-button-secondary:hover{background:var(--app-card-pressed);color:var(--accent-text)}.app-root :is(button,a,textarea):focus-visible{outline:3px solid var(--brand-secondary);outline-offset:3px}.app-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);text-align:center;padding:2rem 1.6rem}.app-card h1{letter-spacing:-.03em;margin-bottom:.8rem;font-size:clamp(1.6rem,6vw,2.1rem);line-height:1.2}.app-lead{color:var(--muted);margin:0 0 1.6rem;line-height:1.65}.app-status{color:var(--muted);text-align:center;padding-block:2rem}.app-error{color:var(--error-text);text-align:left;background:#fde8ee;border-radius:12px;margin:0 0 1rem;padding:.75rem 1rem;font-weight:600;line-height:1.5}.app-retry{text-align:center}.app-note{color:var(--muted);text-align:center;margin:1.2rem 0 0;font-size:.85rem;line-height:1.6}.app-note a{color:var(--brand-primary);font-weight:600;text-decoration:none}.app-providers{gap:.75rem;display:grid}.provider-button{border-radius:14px;justify-content:center;align-items:center;gap:.7rem;min-height:56px;padding:.8rem 1.2rem;font-size:1rem;font-weight:650;text-decoration:none;display:flex}.provider-mark{background:#fff;border-radius:8px;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:.8rem;font-weight:800;line-height:1;display:grid}.provider-vk .provider-mark{color:#07f}.provider-yandex .provider-mark{color:#fff;background:#fc3f1d;border-radius:50%;font-size:1rem}.provider-vk{color:#fff;background:#07f}.provider-vk:hover{color:#fff;background:#0066db}.provider-yandex{color:#fff;background:#1c1b1f}.provider-yandex:hover{color:#fff;background:#000}.spinner{border:4px solid var(--app-card);border-top-color:var(--brand-primary);border-radius:50%;width:36px;height:36px;margin:0 auto 1.6rem;animation:.9s linear infinite app-spin;display:block}@keyframes app-spin{to{transform:rotate(360deg)}}.song-wait-icon{background:var(--app-selected);width:72px;height:72px;color:var(--brand-primary);border-radius:50%;place-items:center;margin:0 auto 1rem;display:grid}.song-wait-icon.is-ready{color:var(--success-text);background:#e3f4ea}.create{flex-direction:column;flex:1;gap:1.6rem;display:flex}.create fieldset{border:0;min-width:0;margin:0;padding:0}.create-label{letter-spacing:.01em;align-items:center;gap:.7rem;margin:0 0 .9rem;padding:0;font-size:1.3rem;font-weight:650;display:flex}.create-label-icon{color:var(--brand-primary)}.language-button{background:var(--surface);width:100%;min-height:60px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:1px solid #d9cdd4;border-radius:14px;align-items:center;gap:.9rem;padding:.6rem 1.1rem;font-size:1.2rem;display:flex}.language-button span{flex:1}.language-button img,.language-option img,.language-flag{object-fit:cover;background:var(--app-card);border-radius:4px;flex-shrink:0;width:40px;height:28px}.chips{flex-wrap:wrap;gap:.6rem;display:flex}.chip{background:var(--app-card);min-height:52px;color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:999px;padding:0 1.4rem;font-size:1.1rem;font-weight:650}.chip:hover{background:var(--app-card-pressed)}.chip[aria-pressed=true]{background:var(--brand-primary);color:#fff}.create-text-label{margin-bottom:.35rem;font-size:1.15rem;font-weight:650;display:block}.create-hint{color:var(--muted);margin:0 0 .9rem;line-height:1.5}.create-hint-lead{margin:0 0 .9rem;font-size:1.1rem;line-height:1.55}.create-textarea{width:100%;min-height:140px;color:var(--ink);font:inherit;resize:vertical;background:0 0;border:2px solid #f08cbf;border-radius:24px;padding:1rem 1.2rem;font-size:1.1rem;line-height:1.5;display:block}.create-textarea::placeholder{color:#8f7d88;opacity:1;white-space:pre-line}.create-textarea:focus-visible{border-color:var(--brand-primary);outline:none;box-shadow:0 0 0 3px #ff69b433}.create-counter{color:var(--muted);text-align:right;margin:.4rem .4rem 0;font-size:.85rem}.create-actions{z-index:2;background:linear-gradient(to bottom, #fff0f500, var(--background) 30%);margin-top:auto;padding:.8rem 0 1rem;position:sticky;bottom:0}.create-back{min-height:44px;color:var(--accent-text);font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:.3rem;margin-bottom:-.8rem;padding:0 .6rem 0 .2rem;font-weight:600;display:inline-flex}.create-intro h1{letter-spacing:-.02em;margin:0 0 .4rem;font-size:clamp(1.9rem,8vw,2.4rem)}.create-intro p{color:var(--muted);margin:0;font-size:1.1rem;line-height:1.5}.styles{gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.style-card{background:var(--app-card);min-height:76px;box-shadow:var(--app-shadow);border:2px solid #0000;border-radius:20px;align-items:center;display:flex;position:relative}.style-card.is-selected{border-color:var(--brand-primary);background:var(--app-selected)}.style-play{z-index:1;background:var(--brand-primary);color:#fff;cursor:pointer;border:0;border-radius:50%;flex-shrink:0;place-items:center;width:52px;height:52px;margin-left:.9rem;padding:0;display:grid;position:relative}.style-play:hover{background:#f5579f}.style-select{min-width:0;min-height:72px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:18px;flex:1;align-items:center;gap:.75rem;padding:.6rem 1.1rem;font-size:1.2rem;font-weight:650;display:flex}.style-select span{flex:1;min-width:0}.style-icon{color:var(--brand-primary);flex-shrink:0}.is-selected .style-select{color:var(--app-selected-ink)}.style-check{background:var(--brand-primary);color:#fff;stroke-width:2.5px;border-radius:50%;flex-shrink:0;width:30px;height:30px;padding:5px}.sheet-layer{z-index:60;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop{backdrop-filter:blur(2px);background:#ffe9f2cc;animation:.2s ease-out sheet-fade;position:absolute;inset:0}.sheet{background:#faf3f8;border-radius:28px 28px 0 0;flex-direction:column;width:100%;max-width:640px;max-height:92dvh;animation:.25s ease-out sheet-up;display:flex;position:relative;box-shadow:0 -8px 30px #4a1e3a26}.sheet:focus{outline:none}.sheet-handle{cursor:pointer;background:0 0;border:0;flex-shrink:0;align-self:center;width:64px;height:28px;padding:0}.sheet-handle:before{content:"";background:#6e6470;border-radius:3px;width:40px;height:5px;margin:0 auto;display:block}.sheet-body{overscroll-behavior:contain;padding:.6rem 1.4rem calc(1.6rem + env(safe-area-inset-bottom));overflow-y:auto}.sheet-title{margin:.4rem 0 1rem;font-size:1.5rem;line-height:1.3}.sheet-center{text-align:center}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}}@keyframes sheet-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.sheet,.sheet-backdrop,.spinner{animation:none}}.welcome-icon{color:#1e88e5;place-items:center;margin:.6rem 0 .8rem;display:inline-grid}.welcome-title{margin:0 0 .6rem;font-size:clamp(1.6rem,7vw,2rem);line-height:1.25}.welcome-lead{max-width:26em;color:var(--muted);margin:0 auto 1.4rem;font-size:1.1rem;line-height:1.5}.welcome-points{text-align:left;gap:.8rem;margin:0 0 1.6rem;padding:0;font-size:1.15rem;list-style:none;display:grid}.welcome-points li{align-items:center;gap:.7rem;display:flex}.welcome-points .icon{color:var(--brand-primary)}.welcome-count{color:var(--muted);margin:.9rem 0 0}.language-list{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.language-option{width:100%;min-height:56px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;align-items:center;gap:.9rem;padding:.4rem .8rem;font-size:1.1rem;display:flex}.language-option span{flex:1}.language-option:hover,.language-option[aria-pressed=true]{background:var(--app-card)}.language-option .icon{color:var(--brand-primary)}.faq-title{align-items:center;gap:.6rem;margin:.4rem 0 1rem;font-size:1.7rem;line-height:1.25;display:flex}.faq-title .icon{color:#1e88e5;flex-shrink:0}.faq-support{margin:0 0 .9rem;font-size:1.15rem;font-weight:650;line-height:1.45}.app-faq .app-button{width:100%}.faq-section{margin-top:1.8rem}.faq-section-title{align-items:center;gap:.6rem;margin:0 0 .8rem;font-size:1.3rem;display:flex}.faq-section-title .icon{color:var(--brand-primary)}.faq-item{margin-bottom:1.1rem}.faq-item h4{margin:0 0 .3rem;font-size:1.12rem;line-height:1.4}.faq-item p{color:var(--muted);margin:0 0 .5rem;line-height:1.6}.faq-links{gap:.6rem;margin:1.8rem 0 1.4rem;display:grid}.faq-links a{color:var(--brand-primary);font-weight:650;text-decoration:none}.app-faq .faq-logout{margin-bottom:.4rem}@media (width<=420px){.app-card{padding:1.6rem 1.1rem}.app-shell{width:min(100% - 1.5rem,560px)}.app-balance{padding:0 .75rem 0 .6rem}.chip{padding:0 1.1rem;font-size:1.02rem}}.app-banner{background:var(--app-selected);color:var(--app-selected-ink);border-radius:18px;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1.2rem;padding:.8rem .9rem .8rem 1.1rem;line-height:1.45;display:flex}.app-button-small{flex-shrink:0;min-height:44px;padding:.5rem 1.1rem;font-size:.95rem}.sheet-layer.is-full .sheet{height:calc(100dvh - 8px);max-height:none}.sheet-text{color:var(--muted);margin:0 0 1.4rem;font-size:1.05rem;line-height:1.6}@media (width>=900px){.sheet-layer.is-full{justify-content:flex-end;align-items:stretch}.sheet-layer.is-full .sheet{border-radius:28px 0 0 28px;width:480px;height:100%;animation-name:sheet-side}}@keyframes sheet-side{0%{opacity:0;transform:translate(40px)}}.history-title{text-align:center;margin-bottom:1.2rem;font-size:1.8rem;font-weight:500}.history-spinner{margin-top:3rem}.history-empty{color:var(--muted);text-align:center;padding:3rem 0;font-size:1.1rem}.history-empty p{margin:0 0 1.2rem}.history-note{background:var(--app-selected);color:var(--app-selected-ink);border-radius:18px;margin:0 0 1rem;padding:.9rem 1.1rem;line-height:1.5}.history-list{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.history-card{background:var(--surface);border-radius:24px;flex-direction:column;gap:.9rem;padding:1.3rem 1.1rem;display:flex}.history-card-head{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.history-card-head h3{overflow-wrap:anywhere;min-width:0;margin:0;font-size:1.25rem;line-height:1.3}.status-chip{letter-spacing:.03em;text-align:center;border:1px solid #0000001f;border-radius:10px;flex-shrink:0;max-width:50%;padding:.35rem .75rem;font-size:.85rem;font-weight:600;line-height:1.3}.status-chip.is-tertiary{color:#3b0b20;background:#ffd9e6;border-color:#e7a9c1}.status-chip.is-accent{color:#fff;background:#c2185b}.status-chip.is-secondary{color:#2b0a59;background:#ecdcf6}.status-chip.is-primary{background:var(--brand-primary);color:#fff}.status-chip.is-error{color:var(--error-text);background:#fde0e3;border-color:#f1a7af}.status-chip.is-muted{color:#5f5560;background:#ece3ec}.history-copyright p{color:var(--error-text);margin:0 0 .2rem;font-weight:650}.history-details p{margin:0 0 .15rem;line-height:1.45}.history-details .history-meta,.history-copyright .history-meta{color:var(--muted);font-weight:400}.history-cover{aspect-ratio:1;object-fit:cover;background:var(--app-card);border-radius:18px;width:100%;display:block}.history-cover.is-empty{color:var(--brand-primary);place-items:center;display:grid}.variant-tabs{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.variant-tab{min-height:56px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #d9cdd4;border-radius:18px;flex-direction:column;align-items:center;padding:.4rem;font-size:1.05rem;font-weight:650;display:flex}.variant-tab[aria-selected=true]{border-color:var(--brand-primary);color:var(--brand-primary);background:#fde8f2}.variant-tab-note{color:var(--muted);font-size:.8rem;font-weight:500}.history-button{width:100%;min-height:52px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #c9bcc5;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:1.1rem;font-weight:600;display:inline-flex}.history-button:hover:not(:disabled){background:var(--app-card)}.history-button:disabled{color:var(--app-disabled-ink);cursor:not-allowed}.history-lyrics{gap:.8rem;display:grid}.history-lyrics p{white-space:pre-line;margin:0;line-height:1.6}.history-regenerate{align-items:center;gap:.6rem;display:flex}.history-help{background:var(--app-selected);width:52px;height:52px;color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:50%;flex-shrink:0;font-size:1.3rem;font-weight:650}.player{background:var(--app-card);border-radius:20px;padding:1rem 1rem .6rem}.player-main{align-items:center;gap:1rem;display:flex}.player-toggle{background:var(--brand-primary);color:#fff;cursor:pointer;border:0;border-radius:50%;flex-shrink:0;place-items:center;width:56px;height:56px;padding:0;display:grid}.player-toggle:hover{background:#f5579f}.player-track{flex:1;min-width:0}.player-title{text-overflow:ellipsis;white-space:nowrap;margin:0 0 .3rem;font-size:1.1rem;font-weight:650;overflow:hidden}.player-seek{width:100%;accent-color:var(--brand-primary);margin:0}.player-time{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin:.1rem 0 0;font-size:.85rem;display:flex}.player-error{color:var(--error-text);margin:.6rem 0 0;font-size:.9rem}.player-actions{justify-content:space-around;gap:.5rem;margin-top:.4rem;display:flex}.player-action{min-height:48px;color:var(--brand-primary);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:0 .8rem;font-size:1.05rem;font-weight:650;display:inline-flex}.player-action:disabled{cursor:progress;opacity:.7}.toast{left:50%;bottom:calc(1.5rem + env(safe-area-inset-bottom));z-index:80;color:#fff;overflow-wrap:anywhere;background:#322f35;border-radius:14px;width:max-content;max-width:calc(100% - 2rem);margin:0;padding:.8rem 1.2rem;line-height:1.4;position:fixed;transform:translate(-50%)}.share-targets{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;margin:0 0 1.2rem;padding:0;list-style:none;display:grid}.share-target{color:var(--ink);text-align:center;hyphens:auto;overflow-wrap:anywhere;border-radius:16px;flex-direction:column;align-items:center;gap:.45rem;padding:.5rem .2rem;font-size:.85rem;font-weight:600;line-height:1.25;text-decoration:none;display:flex}.share-target:hover{background:var(--app-card);color:var(--ink)}.share-mark{color:#fff;border-radius:50%;place-items:center;width:56px;height:56px;font-size:1.2rem;font-weight:800;display:grid}.share-mark.is-telegram{background:#1b85b8}.share-mark.is-whatsapp{background:#1c8a4a}.share-mark.is-vk{background:#07f}.share-mark.is-ok{background:#c45f00}.share-copy{margin-bottom:.4rem}.song-center{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.2rem;padding-block:1rem 2rem;display:flex}.song-center .spinner{margin-bottom:.4rem}.song-missing{margin-top:3rem}.song-offline{color:#7a5a00;text-align:center;background:#fff4cc;border-radius:12px;margin:.4rem 0 0;padding:.6rem 1rem;font-weight:600}.song-page-title{align-items:center;gap:.6rem;margin:.4rem 0 .5rem;font-size:clamp(1.6rem,6.5vw,2rem);line-height:1.2;display:flex}.song-page-title-icon{color:var(--brand-primary);flex-shrink:0}.song-page-lead{color:var(--muted);margin:0 0 1.4rem;line-height:1.55}.waiting-art{place-items:center;width:240px;height:240px;margin-bottom:1.2rem;display:grid;position:relative}.waiting-halo{background:radial-gradient(circle,#ffd6ea 0%,#ffe9f400 70%);border-radius:50%;animation:2.8s ease-in-out infinite halo-pulse;position:absolute;inset:14px}.lottie{position:relative}.waiting-message{max-width:26em;margin:0;font-size:1.15rem;font-weight:600;line-height:1.55;animation:.5s ease-out both rise-in}.waiting-hint{max-width:26em;color:var(--muted);margin:.9rem 0 0;line-height:1.5}.accepted-notice{text-align:left;background:#ff69b41a;border:1px solid #ff69b459;border-radius:18px;width:100%;margin-bottom:1.2rem;padding:.9rem 1.1rem}.accepted-notice p{color:var(--muted);margin:0;line-height:1.5}.accepted-notice .accepted-notice-title{color:var(--accent-text);margin-bottom:.25rem;font-weight:700}@keyframes halo-pulse{0%,to{opacity:.75;transform:scale(.9)}50%{opacity:1;transform:scale(1.06)}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}}.writing-steps{background:var(--surface);width:100%;box-shadow:var(--app-shadow);text-align:left;border-radius:24px;margin:0 0 1.4rem;padding:1.1rem 1rem;list-style:none}.writing-step{align-items:center;gap:.8rem;display:flex;position:relative}.writing-step+.writing-step{margin-top:1.5rem}.writing-step+.writing-step:before{content:"";background:var(--app-card);width:2px;height:1.3rem;transition:background .6s;position:absolute;bottom:calc(100% + .1rem);left:28px}.writing-step.is-done+.writing-step:before{background:var(--brand-primary)}.writing-step-icon{background:var(--app-card);color:#a8949f;border:2px solid #0000;border-radius:50%;flex-shrink:0;place-items:center;width:58px;height:58px;transition:background .4s,color .4s,border-color .4s;display:grid}.is-done .writing-step-icon,.is-active .writing-step-icon{color:var(--brand-primary);background:#ff69b424}.is-active .writing-step-icon{border-color:var(--brand-primary);animation:1.8s ease-in-out infinite step-glow}.writing-step-text{flex-direction:column;flex:1;min-width:0;display:flex}.writing-step-title{color:var(--muted);font-weight:600;line-height:1.35}.is-active .writing-step-title{color:var(--ink);font-weight:750}.writing-step-note{color:var(--muted);font-size:.85rem;line-height:1.4}.writing-step-done{background:var(--brand-primary);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;animation:.35s ease-out both pop-in;display:grid}.writing-step-done .icon{stroke-width:2.6px}.writing-step-spinner{border:3px solid #ff69b433;border-top-color:var(--brand-primary);border-radius:50%;flex-shrink:0;width:26px;height:26px;animation:.9s linear infinite app-spin}.writing-art{width:220px;height:220px;margin-bottom:.8rem;position:relative}.writing-art img{opacity:0;width:100%;height:100%;transition:opacity .7s,transform .7s;position:absolute;inset:0;transform:scale(.92)}.writing-art img.is-current{opacity:1;animation:4s ease-in-out infinite float;transform:none}.writing-caption{animation:.5s ease-out both rise-in}.writing-caption h1{margin:0 0 .35rem;font-size:1.35rem;line-height:1.3}.writing-caption p{color:var(--muted);margin:0;line-height:1.5}@keyframes step-glow{0%,to{box-shadow:0 0 #ff69b433}50%{box-shadow:0 0 0 8px #ff69b400}}@keyframes pop-in{0%{opacity:0;transform:scale(.3)}}@keyframes float{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-8px)rotate(1deg)}}.enrichment{flex-direction:column;flex:1;display:flex}.enrichment-question{margin-bottom:1.2rem}.enrichment-question-head{align-items:flex-start;gap:.5rem;margin-bottom:.55rem;display:flex}.enrichment-question-head label{flex:1;font-size:1.1rem;font-weight:600;line-height:1.45}.enrichment-answer{min-height:96px}.icon-clear{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;margin-top:-.4rem;padding:0;display:grid}.icon-clear:hover{background:var(--app-card)}.review{flex-direction:column;flex:1;gap:.6rem;scroll-margin-top:1rem;display:flex}.review-head{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.review-head h1{margin:.3rem 0;font-size:clamp(1.5rem,6vw,1.9rem);line-height:1.25}.review-ai{min-width:76px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:16px;flex-direction:column;flex-shrink:0;align-items:center;gap:.15rem;padding:.45rem .7rem;font-size:.8rem;font-weight:650;line-height:1.2;display:flex}.review-ai .icon{color:var(--brand-primary)}.review-ai:hover:not(:disabled){background:var(--app-card)}.review-ai:disabled{color:var(--app-disabled-ink);cursor:not-allowed}.review-ai:disabled .icon{color:var(--app-disabled-ink)}.review-note{color:var(--muted);background:#ff69b414;border-radius:14px;align-items:center;gap:.6rem;margin:0;padding:.65rem .8rem;font-size:.95rem;line-height:1.45;display:flex}.review-note .icon{color:var(--brand-primary);flex-shrink:0}.review-note.is-warning{color:#7a5a00;background:#fff4cc}.review-note.is-warning .icon{color:#b7791f}.review-error{color:var(--error-text);margin:0;font-size:.95rem}.review-versions{flex-wrap:wrap;gap:.5rem;display:flex}.chip-small{min-height:42px;padding:0 1rem;font-size:1rem}.review-sections{flex-direction:column;gap:.9rem;margin-top:.4rem;display:flex}.review-section{flex-direction:column;gap:.3rem;display:flex}.review-section-label{letter-spacing:.02em;font-size:.95rem;font-weight:700}.review-textarea{background:var(--surface);width:100%;min-height:72px;color:var(--ink);font:inherit;resize:none;border:1px solid #d9cdd4;border-radius:14px;padding:.75rem .9rem;font-size:1.05rem;line-height:1.55;display:block;overflow:hidden}.review-textarea:focus-visible{border-color:var(--brand-primary);outline:none;box-shadow:0 0 0 3px #ff69b433}.review-plain{white-space:pre-line;margin:0;line-height:1.6}.review-back{margin-top:.6rem}.review-length{color:var(--muted);margin:.3rem .2rem 0;font-size:.9rem}.review-length.is-near{color:#9a6700;font-weight:650}.review-length.is-over{color:var(--error-text);font-weight:650}.stress-text{flex-direction:column;gap:1rem;margin-top:.4rem;display:flex}.stress-section{flex-direction:column;gap:.45rem;display:flex}.stress-label{letter-spacing:.02em;margin:0 0 .1rem;font-size:.9rem;font-weight:700}.stress-line{flex-wrap:wrap;align-items:center;gap:.45rem;margin:0;display:flex}.stress-plain{padding:.2rem 0;font-size:1.02rem}.stress-chip{color:var(--ink);font:inherit;cursor:pointer;background:#f3e9f1;border:1px solid #ff69b438;border-radius:9px;padding:.25rem .55rem;font-size:1.02rem;line-height:1.4;transition:transform .12s,background .2s}.stress-chip:hover{background:#ecdcea}.stress-chip:active{transform:scale(.96)}.stress-chip.is-missing{color:#7a5a00;background:#fff4cc;border-color:#e0a000}.stress-chip.is-selected{border-color:var(--brand-primary);color:var(--ink);background:#ff69b42e}.stress-word-label{color:var(--muted);margin:0}.stress-word{margin:0 0 1rem;font-size:1.9rem;font-weight:650}.stress-options{gap:.6rem;margin:0 0 .6rem;padding:0;list-style:none;display:grid}.stress-option{background:var(--app-card);width:100%;min-height:56px;color:var(--ink);font:inherit;cursor:pointer;border:2px solid #0000;border-radius:22px;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1.2rem;font-size:1.3rem;display:flex}.stress-option:hover{background:var(--app-card-pressed)}.stress-option[aria-pressed=true]{border-color:var(--brand-primary);background:#ff69b424}.stress-radio{border:2px solid #8f7d88;border-radius:50%;flex-shrink:0;width:26px;height:26px}.stress-option[aria-pressed=true] .stress-radio{border:7px solid var(--brand-primary)}.sheet-layer.is-dialog{align-items:center;padding:1rem}.sheet-layer.is-dialog .sheet{border-radius:28px;max-width:420px;animation-name:dialog-in}.sheet-layer.is-dialog .sheet-body{padding:1.5rem 1.4rem 1.3rem}.dialog-title{margin:0 0 .7rem;font-size:1.4rem;line-height:1.3}.dialog-text{color:var(--muted);margin:0 0 .9rem;line-height:1.55}.dialog-check{cursor:pointer;align-items:center;gap:.7rem;margin:.4rem 0 1.2rem;padding:.5rem 0;font-size:1.05rem;font-weight:600;display:flex}.dialog-check input{width:22px;height:22px;accent-color:var(--brand-primary);cursor:pointer;flex-shrink:0;margin:0}.dialog-actions{gap:.6rem;margin-top:.4rem;display:grid}.dialog-actions .app-button{width:100%;min-height:48px;font-size:1rem}.howto-video{background:#000;border-radius:16px;width:100%;max-height:360px;margin-bottom:.8rem;display:block}.ai-left{color:var(--muted);margin:.6rem .2rem .9rem;font-size:.9rem}@keyframes dialog-in{0%{opacity:0;transform:scale(.94)}}.ready{text-align:center;flex-direction:column;flex:1;gap:.9rem;display:flex;position:relative}.ready-title{margin:.6rem 0 0;font-size:clamp(1.7rem,7vw,2.2rem);line-height:1.2;animation:.5s ease-out both rise-in}.ready-name{overflow-wrap:anywhere;margin:0 0 .4rem;font-size:1.2rem;font-weight:600}.ready-lyrics{text-align:left}.ready-cover{animation:.6s ease-out both rise-in}.ready .player,.ready .history-note{text-align:left}.ready-expired{color:var(--muted);margin:0;line-height:1.6}.pending-track{text-align:left;background:#ece3ec8c;border:1px solid #0000001a;border-radius:16px;padding:1rem}.pending-track-art{aspect-ratio:1;max-height:260px;color:var(--muted);text-align:center;background:#fff8;border-radius:12px;place-content:center;justify-items:center;gap:.4rem;margin:0 auto .9rem;padding:1.5rem;display:grid}.pending-track-art .icon{color:var(--brand-primary);animation:3s ease-in-out infinite float}.pending-track-art p{margin:0}.pending-track-art .pending-track-title{color:var(--ink);font-weight:650}.pending-track-row{align-items:center;gap:.8rem;display:flex}.pending-track-row>span:last-child{flex-direction:column;min-width:0;display:flex}.pending-track-icon{width:44px;height:44px;color:var(--muted);background:#0000000f;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.pending-track-note{color:var(--muted);font-size:.85rem}.celebration{pointer-events:none;height:0;position:absolute;inset:0 0 auto}.celebration span{top:1.6rem;left:calc(5% + var(--i) * 5%);background:var(--brand-primary);opacity:0;width:10px;height:14px;animation:confetti 1.9s ease-out calc(var(--i) * 70ms) both;border-radius:3px;position:absolute}.celebration span:nth-child(2n){animation-duration:2.3s;top:.4rem}.celebration span:nth-child(4n+1){animation-duration:1.6s;top:2.8rem}.celebration span:nth-child(3n){background:#ffc94a;border-radius:50%;width:10px;height:10px}.celebration span:nth-child(3n+1){background:#9b7bf2}@keyframes confetti{0%{opacity:0;transform:translateY(-24px)scale(.4)rotate(0)}12%{opacity:1}to{opacity:0;transform:translate(calc((var(--i) - 9) * 6px), 220px) rotate(calc(var(--i) * 70deg))}}.copyright h1{margin:.4rem 0 .8rem;font-size:clamp(1.5rem,6vw,1.9rem);line-height:1.3}.copyright-icon{width:72px;height:72px;color:var(--error-text);background:#fde0e3;border-radius:50%;place-items:center;margin-bottom:.6rem;display:grid}.copyright-violation{color:var(--error-text);margin:-.6rem 0 1.4rem;font-weight:650}@media (prefers-reduced-motion:reduce){.waiting-halo,.waiting-message,.is-active .writing-step-icon,.writing-step-done,.writing-step-spinner,.writing-art img.is-current,.writing-caption,.ready-title,.ready-cover,.pending-track-art .icon,.sheet-layer.is-dialog .sheet{animation:none}.celebration{display:none}}.voice-field{position:relative}.voice-field textarea{padding-right:3.6rem}.voice-button{width:42px;height:42px;color:var(--brand-primary);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:.55rem;right:.55rem}.voice-button:hover:not(:disabled){background:#ff69b41a}.voice-button:disabled{color:var(--app-disabled-ink);cursor:not-allowed}.voice-button.is-listening{background:var(--brand-primary);color:#fff;animation:1.4s ease-out infinite voice-pulse}.voice-field:has(.is-listening) textarea{border-color:var(--brand-primary);box-shadow:0 0 0 3px #ff69b433}.voice-status{color:var(--brand-primary);align-items:center;gap:.5rem;margin:.4rem .4rem 0;font-size:.9rem;line-height:1.45;display:flex}.voice-status em{color:inherit;opacity:.85;font-style:italic}.voice-dot{background:#e53935;border-radius:50%;flex:none;width:10px;height:10px;animation:1s ease-in-out infinite voice-blink}@keyframes voice-blink{50%{opacity:.25}}.voice-error{color:var(--error-text);margin:.4rem .4rem 0;font-size:.9rem;line-height:1.45}@keyframes voice-pulse{0%{box-shadow:0 0 #ff69b466}to{box-shadow:0 0 0 14px #ff69b400}}.push-prompt{text-align:center;flex-direction:column;align-items:center;display:flex}.push-prompt .sheet-title{margin-top:.8rem}.push-icon{color:#3b0b20;background:#ffd9e6;border-radius:50%;place-items:center;width:64px;height:64px;display:grid}.push-note{color:var(--muted);margin:-.6rem 0 1.2rem;font-size:.95rem;line-height:1.5}.push-later{min-height:48px;color:var(--accent-text);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:.3rem;padding:0 1rem;font-weight:650}.pwa-steps{text-align:left;counter-reset:pwa;gap:.7rem;width:100%;margin:0 0 1.2rem;padding:0;list-style:none;display:grid}.pwa-steps li{background:var(--app-card);counter-increment:pwa;border-radius:16px;align-items:center;gap:.8rem;padding:.7rem .9rem;line-height:1.45;display:flex}.pwa-steps li:before{content:counter(pwa);width:1.2rem;color:var(--brand-primary);flex-shrink:0;font-weight:800}.pwa-step-icon{color:#007aff;background:#fff;border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.pwa-step-icon img{border-radius:7px}.topup{flex-direction:column;gap:.6rem;display:flex}.topup-head{align-items:center;gap:.5rem;display:flex}.topup-title{flex:1;margin:.2rem 0;font-size:1.45rem;font-weight:650;line-height:1.3}.topup-close{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;margin-right:-.5rem;padding:0;display:grid}.topup-close:hover{background:var(--app-card)}.topup-text{max-height:40vh;color:var(--muted);white-space:pre-line;margin:0;line-height:1.5;overflow-y:auto}.topup-text.is-small{font-size:.92rem}.topup-spinner{margin:3rem auto}.topup-retry{text-align:center}.topup-pay{min-height:54px;margin-top:.6rem}.plan{user-select:none;padding:.3rem 12px 0}.plan-badges,.plan-labels{position:relative}.plan-badges{height:34px}.plan-labels{height:20px;margin-top:.1rem}.plan-placed{white-space:nowrap;flex-direction:column;display:flex;position:absolute;top:0}.plan-badge{flex-direction:column;align-items:center;display:flex}.plan-placed.is-end .plan-badge{align-items:flex-end}.plan-placed.is-end .plan-badge-text{transform:translate(7px)}.plan-badge-text{background:color-mix(in srgb, var(--badge) 22%, transparent);color:var(--badge);border-radius:8px;padding:5px 8px;font-size:.68rem;font-weight:650;line-height:1.2}.plan-badge-arrow{border-top:6px solid color-mix(in srgb, var(--badge) 70%, transparent);border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;margin-top:2px}.plan-label{color:var(--muted);font-size:.82rem}.plan-track{cursor:pointer;touch-action:none;height:40px;position:relative}.plan-track:focus-visible{outline:3px solid var(--brand-secondary);outline-offset:4px;border-radius:12px}.plan-line,.plan-fill,.plan-halo{border-radius:999px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.plan-line{background:#cac4d059;height:8px;right:0}.plan-halo{background:#ff69b426;height:16px}.plan-fill{background:linear-gradient(90deg, #ff69b480, var(--brand-primary));height:8px}.plan-tick{background:#79747e4d;border-radius:2px;width:1.5px;height:22px;transition:height .2s,width .2s,background .2s;position:absolute;top:50%;transform:translate(-50%,-50%)}.plan-tick.is-active{background:var(--brand-primary);width:3px;height:32px}.plan-thumb{background:#ff69b426;border-radius:50%;width:36px;height:36px;position:absolute;top:50%;transform:translate(-50%,-50%)}.plan-thumb:after{content:"";background:var(--brand-primary);border-radius:50%;transition:transform .15s ease-out;position:absolute;inset:7px}.plan-track.is-dragging .plan-thumb:after{transform:scale(1.25)}.plan-track:not(.is-dragging) :is(.plan-thumb,.plan-fill,.plan-halo){transition:left .35s cubic-bezier(.34,1.4,.64,1),width .35s cubic-bezier(.34,1.4,.64,1)}.tariff-hero{color:#fff;isolation:isolate;border-radius:24px;margin-top:.4rem;position:relative;overflow:hidden}.tariff-hero-image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.tariff-hero-shade{background:linear-gradient(#00000094,#0000001f);position:absolute;inset:0}.confetti{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tariff-hero-body{padding:12px 18px 14px;position:relative}.tariff-hero-body p{margin:0}.tariff-hero-count{font-size:1.25rem;font-weight:700;line-height:1.2}.tariff-hero-price{font-variant-numeric:tabular-nums;font-size:1.65rem;font-weight:700;line-height:1.15;margin-top:4px!important}.tariff-hero-per-song{color:#ffffffeb;font-size:.82rem;line-height:1.3;margin-top:1px!important}.tariff-hero-savings{font-variant-numeric:tabular-nums;background:#ffffff1f;border:1.5px solid #ffffff52;border-radius:16px;align-items:baseline;padding:6px 14px;display:flex;margin-top:8px!important}.tariff-hero-savings span{color:#ffffffe0;font-size:1.12rem;font-weight:500}.tariff-hero-savings b{color:#ffe082;font-size:1.65rem;line-height:1.1}@media (prefers-reduced-motion:reduce){.voice-button.is-listening,.voice-dot{animation:none}.plan-track :is(.plan-thumb,.plan-fill,.plan-halo){transition:none!important}}.progress{margin-bottom:.9rem}.progress-card{background:var(--app-card);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:20px;padding:.35rem 1.25rem .7rem;display:block}.progress-card:hover{background:var(--app-card-pressed)}.progress-head{align-items:center;gap:.5rem;display:flex}.progress-head-text{flex-direction:column;flex:1;min-width:0;padding-top:.4rem;display:flex}.progress-label{color:var(--muted);font-size:.9rem;font-weight:500}.progress-title{margin-top:.25rem;font-size:1.1rem;font-weight:650;line-height:1.4}.progress-chevron{flex-shrink:0;transition:transform .2s}.progress-chevron.is-open{transform:rotate(180deg)}.progress-bar{background:var(--app-selected);border-radius:3px;height:6px;margin-top:.65rem;display:block;overflow:hidden}.progress-bar>span{background:var(--brand-primary);border-radius:3px;height:100%;transition:width .4s;display:block}.progress-count{color:var(--muted);margin-top:.5rem;font-size:.8rem;display:block}.progress-list{margin:1rem 0 0;padding:0;list-style:none}.progress-list li{padding-block:2px}.progress-stage{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:1rem;padding:0;display:flex}.progress-rail{flex-direction:column;align-items:center;display:flex}.progress-dot{box-sizing:border-box;border:1px solid #d9cdd4;border-radius:50%;place-items:center;width:32px;height:32px;font-size:.8rem;font-weight:500;display:grid}.is-tappable .progress-dot{background:#ff69b426}.is-current .progress-dot,.is-done .progress-dot{background:var(--brand-primary);color:#fff;border-color:#0000}.progress-line{background:var(--line);width:2px;height:32px}.is-done .progress-line{background:var(--brand-primary)}.progress-stage-text{flex-direction:column;padding-top:.4rem;display:flex}.progress-stage-title{color:var(--muted);font-size:1rem;line-height:1.5}.is-tappable .progress-stage-title{color:var(--accent-text);font-weight:500}.is-locked .progress-stage-title{opacity:.5}.is-current .progress-stage-title{color:var(--ink);font-size:1.1rem;font-weight:650}.progress-stage-note{color:var(--accent-text);margin-top:2px;font-size:.8rem}.progress-hint{color:var(--accent-text);margin:.6rem 0 0;font-size:.85rem;line-height:1.45}@media (prefers-reduced-motion:reduce){.progress-chevron,.progress-bar>span{transition:none}}.field-head{align-items:flex-start;gap:.5rem;display:flex}.field-head-text{flex:1;min-width:0}.clear-field{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;margin:-.3rem -.4rem 0 0;padding:0;display:grid}.clear-field:hover{background:var(--app-card)}.clear-field-inline{width:36px;height:36px;margin:0;position:absolute;top:.4rem;right:.55rem}.voice-field:has(.clear-field-inline) .voice-button{top:2.9rem}.app-button-danger,.app-button-danger:hover{color:var(--error-text)}
