.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{color:var(--color-brand-primary-text);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);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-sm);overflow-wrap:anywhere;padding:.85rem 1.1rem;font-size:.95rem;line-height:1.6}.song-notice{background:var(--color-warning-surface);color:var(--color-warning)}.song-notice:before{content:"! ";font-weight:var(--weight-strong)}.song-error{background:var(--color-error-surface);color: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-making{min-height:72px;margin:var(--space-4) 0;justify-content:center;align-items:center;gap:6px;display:flex}.song-making span{background:var(--color-brand-primary);border-radius:var(--radius-pill);width:6px;height:24px;animation:song-wave calc(var(--song-transition)*5) ease-in-out infinite;display:block}.song-making span:nth-child(2n){background:var(--color-brand-secondary);animation-delay:calc(var(--song-transition)*-1);height:40px}.song-making span:nth-child(3){animation-delay:calc(var(--song-transition)*-2);height:50px}.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)}}@keyframes song-wave{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1)}}@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:100%}.song-result-actions .button{flex:100%}.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,.song-making span{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-aqua)}.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}
