.song-dashboard{width:min(960px,100%);margin:var(--space-6) auto var(--space-8);padding:0 var(--page-gutter);overflow-wrap:anywhere}.song-intro{gap:var(--space-6);margin-bottom:var(--space-6);grid-template-columns:1.1fr .9fr;align-items:center;display:grid}.song-intro h1{margin:var(--space-3) 0;font-size:clamp(2rem,4.6vw,3.2rem)}.song-intro h1 em{font-style:italic}.song-intro p{color:var(--color-text-secondary)}.song-intro .art-hero{max-width:420px}.song-test-badge{align-items:center;gap:var(--space-2);background:var(--color-surface-aqua);color:var(--color-brand-secondary-text);border-radius:var(--radius-pill);font-size:var(--text-small);font-weight:var(--weight-strong);padding:.4rem .9rem;display:inline-flex}.song-test-badge:before{content:"✓";font-weight:var(--weight-strong)}.song-card{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-card);scroll-margin-top:var(--space-4);padding:clamp(20px,4vw,40px)}.song-step{justify-content:space-between;gap:var(--space-3);color:var(--color-text-secondary);font-size:var(--text-small);display:flex}.song-step span:last-child{font-weight:var(--weight-strong);text-align:right}.song-card progress{width:100%;height:8px;margin:var(--space-3) 0 0;accent-color:var(--color-brand-primary);border-radius:var(--radius-pill);background:var(--color-surface-alt);border:0;display:block;overflow:hidden}.song-card progress::-webkit-progress-bar{background:var(--color-surface-alt);border-radius:var(--radius-pill)}.song-card progress::-webkit-progress-value{background:var(--color-brand-primary);border-radius:var(--radius-pill);transition:width var(--song-transition) ease}.song-card progress::-moz-progress-bar{background:var(--color-brand-primary)}.song-journey{justify-content:space-between;align-items:center;gap:var(--space-2);margin:var(--space-4) 0 var(--space-5);padding:0;list-style:none;display:flex}.song-journey li{width:28px;height:28px;font-size:.75rem;font-weight:var(--weight-strong);color:var(--color-text-secondary);background:var(--color-surface-alt);border:var(--border-width) solid var(--color-border);border-radius:50%;place-items:center;display:grid}.song-journey .complete{background:var(--color-surface-aqua);color:var(--color-brand-secondary-text);border-color:var(--color-brand-secondary)}.song-journey .current{background:var(--color-text-primary);color:var(--palette-white);border-color:var(--color-text-primary);box-shadow:0 0 0 4px var(--color-surface-aqua)}.song-question{animation:song-question-in var(--song-transition) ease-out}.song-question-head{align-items:center;gap:var(--space-4);display:flex}.song-question-head .art-icon{width:64px;height:64px}.song-card h2{margin:var(--space-3) 0;font-size:clamp(1.5rem,3.4vw,2rem)}.song-card h2:focus{outline:none}.song-guidance{color:var(--color-text-secondary);font-size:var(--text-body);margin:var(--space-3) 0 var(--space-4);max-width:60ch}.song-person-pill{font-size:var(--text-small);font-weight:var(--weight-strong);color:var(--color-brand-secondary-text);background:var(--color-surface-aqua);border-radius:var(--radius-pill);max-width:100%;padding:.25rem .8rem;display:inline-block}.song-choices{gap:var(--space-3);margin:var(--space-4) 0 var(--space-5);grid-template-columns:repeat(auto-fit,minmax(132px,1fr));display:grid}.song-choices button{background:var(--color-surface);border:var(--border-width) solid var(--color-border-control);border-radius:var(--radius-sm);min-width:0;min-height:48px;color:var(--color-text-primary);font-size:.95rem;font-weight:var(--weight-body);overflow-wrap:anywhere;transition:background var(--song-transition),border-color var(--song-transition),box-shadow var(--song-transition);padding:.7rem .9rem;line-height:1.4}.song-choices button[aria-pressed=true]{border-color:var(--color-brand-secondary-text);background:var(--color-selected-surface);color:var(--color-text-primary);font-weight:var(--weight-strong);box-shadow:inset 0 0 0 1px var(--color-brand-secondary-text);padding-right:2.1rem;position:relative}.song-choices button[aria-pressed=true]:after{content:"";border:solid var(--color-brand-secondary-text);border-width:0 3px 3px 0;width:.4rem;height:.8rem;margin-top:-.55rem;position:absolute;top:50%;right:.8rem;transform:rotate(45deg)}.song-choices button:active{background:var(--color-surface-aqua)}.song-field{font-weight:var(--weight-strong);font-size:var(--text-body);gap:var(--space-2);margin:var(--space-5) 0;flex-direction:column;display:flex}.song-field small{font-size:var(--text-small);font-weight:var(--weight-body);color:var(--color-text-secondary);text-align:right}.song-field input,.song-field textarea,.song-field select{border:var(--border-width) solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);width:100%;min-width:0;font-size:16px;line-height:1.6;font-weight:var(--weight-body);padding:.85rem .95rem}.song-field input:focus,.song-field textarea:focus,.song-field select:focus,.song-field input:focus-visible,.song-field textarea:focus-visible,.song-field select:focus-visible{border-color:var(--color-focus);box-shadow:inset 0 0 0 1px var(--color-focus);outline:none}.song-field textarea{resize:vertical;min-height:142px}.song-actions{gap:var(--space-3);margin-top:var(--space-5);grid-template-columns:auto minmax(0,1fr);display:grid}.song-actions-start{grid-template-columns:1fr}.song-actions .button{text-align:center;min-width:0;min-height:50px;padding:.8rem 1.4rem}.song-actions-start .button{justify-self:end;width:min(100%,280px)}.song-reassurance{font-size:var(--text-small);text-align:center;color:var(--color-text-secondary);margin:var(--space-4) 0 0}.song-fine-print{font-size:var(--text-small);color:var(--color-text-secondary);line-height:1.6}.song-summary{border:var(--border-width) solid var(--color-border);background:var(--color-surface-alt);border-radius:var(--radius-md);padding:var(--space-4)}.song-summary strong{font-size:1.1rem}.song-summary>p{font-size:var(--text-small);color:var(--color-text-secondary)}.song-summary dl{margin:var(--space-4) 0 0}.song-summary dt{font-weight:var(--weight-strong);font-size:var(--text-small);color:var(--color-brand-secondary-text);margin-top:var(--space-3)}.song-summary dd{margin:var(--space-2) 0 0;white-space:pre-wrap;line-height:1.7}.song-notice,.song-error{border-radius:var(--radius-md);overflow-wrap:anywhere;background:var(--color-surface);border:var(--border-width) solid var(--color-border);color:var(--color-text-primary);padding:.85rem 1.1rem;font-size:.95rem;line-height:1.6}.song-error{border-left:4px solid var(--color-error)}.song-error:before{content:"✕ ";font-weight:var(--weight-strong)}.song-credit-note{background:var(--color-surface-aqua);border-radius:var(--radius-sm);font-size:var(--text-small);padding:.8rem 1rem}.song-result h2{margin-top:var(--space-3)}.song-result .art-spot{max-width:300px;margin:var(--space-4) auto}.song-track{background:var(--color-surface-aqua);border:var(--border-width) solid var(--color-border);border-left:6px solid var(--color-brand-primary);border-radius:var(--radius-md);min-width:0;padding:var(--space-4);margin:var(--space-4) 0}.song-track h3{margin:0 0 var(--space-3);font-size:1rem;line-height:1.5}.song-track audio{width:100%;min-width:0;max-width:100%;accent-color:var(--color-brand-primary);display:block}.song-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:.95rem;line-height:1.8}.song-result details{margin-top:var(--space-5)}.song-download{min-height:var(--touch-target);color:var(--color-text-link);font-weight:var(--weight-strong);align-items:center;text-decoration:underline;display:inline-flex}.song-result-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.song-result-actions .button{text-align:center;min-height:48px}.song-connecting{text-align:center;padding:var(--space-7) var(--space-5);color:var(--color-text-secondary)}.song-pulse{color:var(--color-brand-primary-text);margin-bottom:var(--space-3);font-size:2rem;display:block}.song-review textarea{min-height:18rem}.song-step-art{max-width:240px;margin:0 auto var(--space-4)}@media (width<=600px){.song-step-art{display:none}}@keyframes song-question-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (hover:hover){.song-choices button:hover{border-color:var(--color-brand-secondary-text);background:var(--color-brand-secondary-hover)}}.song-language-blend{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);margin:var(--space-5) 0;min-width:0}.song-language-blend legend{padding:0 var(--space-2);font-weight:var(--weight-strong)}.song-language-options{gap:var(--space-2);margin:var(--space-3) 0;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));display:grid}.song-language-options label{align-items:center;gap:var(--space-3);border:var(--border-width) solid var(--color-border-control);border-radius:var(--radius-sm);min-height:46px;font-size:.95rem;font-weight:var(--weight-body);cursor:pointer;margin:0;padding:.5rem .7rem;display:flex}.song-language-options label:has(input:checked){background:var(--color-selected-surface);border-color:var(--color-brand-secondary-text);font-weight:var(--weight-strong)}.song-language-options label:has(input:disabled){opacity:.6;cursor:default}.song-language-preset{min-height:var(--touch-target);border:var(--border-width) solid var(--color-brand-secondary-text);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-brand-secondary-text);font-size:var(--text-small);font-weight:var(--weight-strong);padding:.5rem 1rem}.song-language-preset:hover{background:var(--color-brand-secondary-hover)}.song-dialects{gap:var(--space-2);margin:var(--space-3) 0 var(--space-4);flex-wrap:wrap;display:flex}.song-field-error{margin:var(--space-2) 0 0;border-radius:var(--radius-sm);background:var(--color-error-surface);color:var(--color-error);font-size:var(--text-small);font-weight:var(--weight-strong);padding:.55rem .8rem;line-height:1.4}.song-field input[aria-invalid=true],.song-field textarea[aria-invalid=true],.song-field select[aria-invalid=true],.song-field input[aria-invalid=true]:focus,.song-field textarea[aria-invalid=true]:focus,.song-field select[aria-invalid=true]:focus{border-color:var(--color-error);box-shadow:inset 0 0 0 1px var(--color-error);outline:none}.song-choices[aria-invalid=true]{outline:2px solid var(--color-error);outline-offset:2px}@media (width<=760px){.song-intro{text-align:center;grid-template-columns:1fr}.song-intro .art-hero{max-width:300px}}@media (width<=600px){.song-dashboard{margin:var(--space-5) auto var(--space-7)}.song-card{border-radius:var(--radius-md);padding:22px 18px}.song-choices{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.song-choices button{padding:.7rem .6rem;font-size:.9rem}.song-actions .button{padding:.8rem 1rem}.song-actions-start .button{width:auto}.song-result-actions .button{flex:0 auto}.song-summary,.song-track{padding:var(--space-3)}.song-journey{gap:5px}.song-journey li{width:24px;height:24px}.song-question-head .art-icon{width:48px;height:48px}}@media (width<=340px){.song-dashboard{padding:0 10px}.song-card{padding:20px 14px}.song-step{font-size:.75rem}.song-actions .button{padding-inline:12px}}@media (height<=500px) and (orientation:landscape){.song-intro .art-hero{display:none}.song-dashboard{margin-top:var(--space-3)}}@media (prefers-reduced-motion:reduce){.song-question{animation:none}.song-choices button,.song-card progress::-webkit-progress-value{transition:none}}.song-signin{margin-top:var(--space-5);padding:var(--space-5);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.song-signin h3{margin:0 0 var(--space-2)}.song-signin .button{margin-top:var(--space-3)}.song-turnstile{margin-top:var(--space-3);min-height:65px}.song-making-block{align-items:center;gap:var(--space-4);margin:var(--space-4) 0;display:flex}.song-making-block p{margin:0}.song-details{margin-top:var(--space-5);border-top:var(--border-width) solid var(--color-border);padding-top:var(--space-4)}.song-details summary{cursor:pointer;font-weight:var(--weight-strong);min-height:var(--touch-target);align-items:center;display:flex}.song-waiting{text-align:center;justify-items:center;gap:var(--space-2);display:grid}.song-waiting h2{margin:0}.song-waiting-line{min-height:3em;color:var(--color-text-secondary);animation:song-line-in var(--motion-base) var(--motion-ease);margin:0}.song-time-notice{margin:var(--space-4) auto 0;max-width:32rem;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-aqua);color:var(--color-text-primary);font-weight:var(--weight-strong);font-size:var(--text-small);line-height:1.5}.song-team-line{margin:var(--space-2) 0 0;color:var(--color-brand-secondary-text);font-weight:var(--weight-strong)}@keyframes song-line-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.song-buy,.gift-builder,.revision-panel{gap:var(--space-3);margin-top:var(--space-5);display:grid}.gift-builder h3,.revision-panel h3{margin:var(--space-3) 0 0}.gift-builder-form,.revision-editor{gap:var(--space-3);display:grid}.gift-share{gap:var(--space-3);padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-aqua);display:grid}.gift-share h4{margin:0}.gift-share-link{overflow-wrap:anywhere;font-size:var(--text-small);margin:0}.gift-qr{background:var(--color-surface);width:min(220px,60vw);padding:var(--space-2);border-radius:var(--radius-sm)}.gift-qr svg{width:100%;height:auto;display:block}.revision-version{gap:var(--space-3);display:grid}@media (prefers-reduced-motion:reduce){.song-waiting-line{animation:none}}.gift-builder-photo{gap:var(--space-2);justify-items:start;margin:0;display:grid}.gift-builder-photo img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-lg);border:var(--border-width) solid var(--color-border);width:min(220px,60vw)}.gift-builder-photo figcaption{font-size:var(--text-small);color:var(--color-text-secondary)}.song-signin{gap:var(--space-4);display:grid}.song-turnstile{min-height:65px}.song-agreement{font-size:var(--text-small);color:var(--color-text-secondary);margin:0;line-height:1.6}.song-agreement a,.song-buy-terms a{font-weight:var(--weight-strong);color:var(--color-text-link);text-decoration:underline}.song-buy-terms{font-size:var(--text-small);color:var(--color-text-secondary);margin:0;line-height:1.6}.revision-style{margin-top:var(--space-3)}.song-field-error-soft{margin:0 0 var(--space-3);color:var(--color-warning);font-size:var(--text-small);line-height:1.5}.song-fine-print.is-over{color:var(--color-error);font-weight:var(--weight-strong)}.song-dashboard:has(.vinyl-player){width:min(1240px,100%)}.song-buy-terms{margin-top:var(--space-3)}.revision-panel .button+.song-buy-terms{margin-top:var(--space-4)}.song-subfield{margin-top:calc(-1 * var(--space-2));padding-left:var(--space-4);border-left:2px solid var(--color-border);font-size:var(--text-small);font-weight:var(--weight-body);color:var(--color-text-secondary);max-width:560px}.song-subfield input{font-size:var(--text-body);max-width:100%}.song-optional{margin-left:var(--space-2);border-radius:var(--radius-pill);background:var(--color-disabled-surface);font-size:.75rem;font-weight:var(--weight-strong);color:var(--color-text-secondary);vertical-align:middle;padding:1px 8px;display:inline-block}.song-field small{width:100%;max-width:560px}.song-field .field-with-mic+small{max-width:760px}.version-chooser{gap:var(--space-4);min-width:0;display:grid}.version-tabs{gap:var(--space-2);flex-wrap:wrap;display:flex}.version-tab{min-height:var(--touch-target);padding:var(--space-2) var(--space-4);border:var(--border-width) solid var(--color-border-control);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-weight:var(--weight-strong);cursor:pointer}.version-tab[aria-pressed=true]{background:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-background)}.version-tab:focus-visible,.version-option:focus-within{outline:3px solid var(--color-focus);outline-offset:2px}.version-kept{font-weight:400}.version-nav{justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;display:flex}.version-choice{border:0;min-width:0;margin:0;padding:0}.version-choice legend{float:left;width:100%;margin:0 0 var(--space-3);font-weight:var(--weight-strong);font-size:var(--text-h3);font-family:var(--font-display);padding:0;line-height:1.3}.version-options{clear:both;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));max-width:640px;display:grid}.version-option{gap:var(--space-3);min-height:var(--touch-target);border:var(--border-width) solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;align-items:flex-start;padding:.7rem .9rem;font-size:.95rem;display:flex}.version-option.is-selected{border-color:var(--color-brand-secondary-text);background:var(--color-selected-surface);box-shadow:inset 0 0 0 1px var(--color-brand-secondary-text)}@media (hover:hover){.version-option:hover{border-color:var(--color-brand-secondary-text)}}.version-option input{width:18px;height:18px;accent-color:var(--color-brand-primary);flex:none;margin-top:3px}.version-option span{gap:2px;min-width:0;display:grid}.version-option small{color:var(--color-text-secondary);font-size:var(--text-small)}.version-choice-note{margin:var(--space-3) 0 0;font-size:var(--text-small);color:var(--color-text-secondary)}.version-both strong:after{content:" ★";color:var(--color-brand-primary)}.version-now{font-size:var(--text-small);color:var(--color-text-secondary);margin:0}.preview-end{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4);border:var(--border-width-strong) solid var(--color-brand-primary);border-radius:var(--radius-md);background:var(--color-surface-sand);animation:song-question-in var(--song-transition) ease-out;flex-wrap:wrap;display:flex}.preview-end p{max-width:44ch;margin:0}.gift-card-box .song-details{margin-top:var(--space-3)}.gift-card-form .song-field{margin:var(--space-3) 0}.gift-card-form .button{margin-top:var(--space-3)}.gift-card-balance{margin-bottom:0}.gift-card-pay{margin-bottom:var(--space-4)}.song-credit-note,.song-time-notice{background:var(--color-surface-mint);color:var(--color-text-on-mint)}.gift-share{background:var(--color-surface-lime);color:var(--color-text-on-lime)}.song-summary{color:var(--color-text-on-alt)}
