/* The replay room: SingingCoach's bird, ink and colour, with a calmer reading canvas. */
.pt-results {--pt-paper:#ffffff;--pt-canvas:#fbfbfb;--pt-muted:#919191;--pt-line:#e7e7e7;--pt-ink:#0d0d0d;}
.stage.pt-results {background:var(--pt-canvas);padding:24px clamp(20px,4vw,64px) 0;gap:0;}
.stage.pt-results>.stage-head {margin-bottom:24px;}
.stage.pt-results>.readout,.stage.pt-results>#take-replay,.shared.pt-results>#sh-replay,.shared.pt-results>.sh-summary,.shared.pt-results>.sh-tiles {display:none;}
.stage.pt-results>.chart-card {flex:none;height:260px;min-height:200px;background:var(--pt-paper);border:2px solid var(--pt-line);border-radius:12px;box-shadow:none;padding:12px 16px;}
.stage.pt-results>.dock {position:sticky;bottom:0;z-index:4;flex-shrink:0;margin:0 -16px;background:var(--pt-canvas);padding:12px 16px;border-top:1px solid var(--pt-line);}
.shared.pt-results {background:var(--pt-canvas)!important;padding:24px max(20px,calc((100vw - 1000px)/2)) 0;gap:0;}
.shared.pt-results > * {width:100%;max-width:860px;margin-left:auto;margin-right:auto;}
.shared.pt-results>.sh-top {margin-bottom:24px;align-items:center;}
.shared.pt-results .sh-owner {font-size:14px;letter-spacing:.04em;}
.shared.pt-results .sh-title {font-size:20px;}
.shared.pt-results .sh-medal {width:36px;height:36px;}
.shared.pt-results>.sh-graph {flex:none;height:220px;min-height:180px;}
.shared.pt-results .sh-canvas {border-radius:12px;background:var(--pt-paper);box-shadow:none;}
.shared.pt-results>.sh-foot {position:sticky;bottom:0;z-index:4;display:flex;flex-direction:row;justify-content:space-between;gap:24px;flex:none;padding:12px 0;background:var(--pt-canvas);border-top:1px solid var(--pt-line);}
.shared.pt-results .sh-play {width:auto;min-width:240px;background:var(--blue);font-size:15px;border-radius:12px;padding:12px 24px;}
.shared.pt-results .sh-cta {font-size:14px;white-space:nowrap;}
.pt-song {flex:none;display:block!important;width:100%;margin:0 0 36px;}
.pt-song[hidden] {display:none!important;}
.pt-song:has(>.pt-analysis-intro) {margin:0;}
.pt-celebration {display:grid;grid-template-columns:minmax(0,1fr) 260px;position:relative;isolation:isolate;background:#dbf5ff;border:2px solid var(--pt-line);border-radius:12px;padding:36px 36px 32px;overflow:hidden;}
.pt-eyebrow {display:block;font-family:var(--sans);font-weight:800;letter-spacing:.1em;font-size:14px;line-height:1.5;color:var(--pt-ink);}
.pt-eyebrow i {display:inline-block;width:7px;height:7px;border-radius:50%;background:#3bb44c;margin-right:4px;}
.pt-hero-copy {z-index:1;align-self:center;}
.pt-hero-copy h2 {font-family:var(--display);font-size:2.5rem;line-height:1.12;max-width:14ch;margin:12px 0 16px;letter-spacing:-.02em;overflow-wrap:anywhere;}
.pt-hero-copy p {font-size:14px;line-height:1.7;max-width:36ch;margin:0;}
.pt-take-facts {display:flex;flex-wrap:wrap;gap:8px 20px;margin:20px 0;font-size:14px;font-weight:600;color:#4c4c4c;}
.pt-take-facts span+span::before {content:'·';margin-right:16px;}
.pt-hero-play {display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:12px 20px;background:var(--blue);color:#ffffff;border:2px solid var(--pt-ink);border-radius:8px;font-family:var(--display);font-size:14px;font-weight:400;box-shadow:2px 4px 0 #171717;transition:transform .12s,box-shadow .12s;}
.pt-hero-play:active {transform:translate(2px,4px);box-shadow:none;}
.pt-hero-play>span {font-size:15px;}
.pt-hero-art {position:relative;min-height:230px;align-self:center;}
.pt-hero-art::before {content:'';position:absolute;width:200px;height:200px;background:#e9f9ff;border:2px solid var(--pt-line);border-radius:50%;left:12px;top:12px;}
.pt-hero-bird {position:absolute;inset:0;width:230px;height:230px;object-fit:contain;transform:rotate(-8deg);}
.pt-cover {position:absolute;top:0;right:0;width:110px;height:110px;border:2px solid var(--pt-line);border-radius:12px;object-fit:cover;transform:rotate(9deg);}
.pt-cover~.pt-hero-bird {width:180px;height:180px;top:45px;left:-15px;}
.pt-score-sticker {position:absolute;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100px;height:100px;background:var(--blue);border:2px solid var(--pt-line);border-radius:50%;}
.pt-score-sticker strong {font:42px/1 var(--display);letter-spacing:-.04em;}
.pt-score-sticker span {font-size:14px;font-weight:800;letter-spacing:.09em;margin-top:5px;}
.pt-spark {position:absolute;width:34px;height:34px;object-fit:contain;}
.pt-spark-one {top:0;left:-16px;transform:rotate(-20deg);}
.pt-spark-two {right:-8px;top:52px;width:24px;height:24px;transform:rotate(18deg);}
.pt-coach-welcome {display:flex;align-items:center;gap:16px;margin-top:16px;padding:0 8px;}
.pt-coach-welcome>img {width:44px;height:44px;object-fit:contain;flex:none;}
.pt-coach-welcome p {font-size:14px;line-height:1.75;margin:0;max-width:74ch;color:var(--pt-muted);}
.pt-coach-welcome strong {color:var(--pt-ink);}
.pt-chart-heading {flex:none;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 16px;}
.pt-chart-heading h2 {font-size:1.25rem;line-height:1.25;margin:0;}
.pt-chart-heading>span {font-size:14px;color:var(--pt-muted);padding-bottom:4px;}
.pt-graph-options {font-size:14px;margin:0 0 8px;}
.pt-graph-options summary {cursor:pointer;padding:4px;}
.pt-graph-options .chart-top {margin:8px 0;}
.pt-timeline-tags {flex:none;display:block;min-height:28px;font-size:14px;line-height:1.5;color:var(--pt-muted);padding:6px 2px;margin:0;overflow-wrap:anywhere;}
.post-take {flex:none;width:100%;min-width:0;color:var(--pt-ink);padding:20px 0 32px;line-height:1.65;text-align:left;}
.post-take[hidden] {display:none;}
.post-take h2 {font-size:1.75rem;line-height:1.2;letter-spacing:-.025em;margin:6px 0 12px;}
.post-take p {max-width:74ch;}
.pt-heading {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;}
.pt-heading h2 {font-size:1.375rem;margin:0;}
.pt-heading p {font-size:14px;color:var(--pt-muted);margin:0;}
.pt-exploration {flex:none;min-width:150px;padding-bottom:5px;}
.pt-progress-label {font-size:14px;font-weight:700;white-space:nowrap;}
.pt-progress-track {height:7px;background:#ffffff;border:1px solid #dbdbdb;border-radius:6px;margin-top:8px;overflow:hidden;}
.pt-progress-track i {display:block;height:100%;background:#00b6fe;border-radius:6px;transition:width .3s;}
.pt-moments {display:flex;gap:12px;margin:0 0 20px;align-items:stretch;}
.pt-moment {flex:1;min-width:0;display:flex;gap:12px;align-items:center;text-align:left;padding:14px 16px;border:2px solid var(--pt-line);border-radius:12px;box-shadow:2px 4px 0 #171717;transition:transform .12s,box-shadow .12s;}
.pt-moment:active {transform:translate(2px,4px);box-shadow:none;}
.pt-best {background:#dbf5ff;flex:1.15;}
.pt-next {background:#ffb5bb;}
.pt-moment>img {width:36px;height:36px;object-fit:contain;flex:none;}
.pt-moment>span {min-width:0;flex:1;}
.pt-moment small {display:block;font-size:14px;font-weight:800;letter-spacing:.09em;margin-bottom:6px;}
.pt-moment strong {font-family:var(--display);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:1.1rem;line-height:1.25;}
.pt-moment em {display:block;font-style:normal;font-size:14px;margin-top:10px;line-height:1.5;}
.pt-moment em b {margin-left:8px;}
.pt-moment>i {font:28px var(--display);align-self:flex-start;}
.pt-breakdown-heading {display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:8px;}
.pt-breakdown-heading p {font-size:14px;color:var(--pt-muted);margin:0;}
.pt-legend {display:flex;align-items:center;gap:8px;font-size:14px;white-space:nowrap;color:var(--pt-muted);}
.pt-legend i {display:block;width:68px;height:7px;border-radius:5px;background:linear-gradient(90deg in oklch increasing hue,oklch(87% .12 25),oklch(87% .12 145));}
.pt-tap-hint {font-size:14px;color:var(--pt-muted);margin:0 0 24px;}
.pt-lyrics {border:2px solid var(--pt-line);border-radius:12px;background:var(--pt-paper);overflow:hidden;}.pt-lyrics.is-collapsed .pt-line-extra {display:none;}
.pt-show-lines {display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;margin:0;padding:12px 16px;background:var(--pt-paper);border:0;border-top:1px solid var(--pt-line);font:400 14px/1.2 var(--display);color:var(--pt-ink);cursor:pointer;}.pt-show-lines:hover {background:#f2fbff;}.pt-show-lines:focus-visible {outline:3px solid #008fc8;outline-offset:-3px;}.pt-show-lines .pt-chevron {width:18px;height:18px;transform:rotate(180deg);}.pt-show-lines[aria-expanded="true"] .pt-chevron {transform:none;}
.pt-line {display:flex;gap:16px;position:relative;padding:18px 20px;border-bottom:1px solid var(--pt-line);transition:background .2s;}
.pt-line:last-child {border-bottom:0;}
.pt-line.pt-active {background:#f2fbff;}
.pt-line-rail {display:flex;align-items:center;flex-direction:column;width:40px;gap:10px;flex:none;padding-top:5px;}
.pt-line-number {font-family:var(--display);font-size:14px;color:#919191;}
.pt-line-play {display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1.5px solid var(--pt-ink);background:var(--pt-paper);font-size:14px;box-shadow:1px 1px 0 #171717;}
.pt-active .pt-line-play {background:var(--blue);}
.pt-line-play:active {transform:translate(1px,2px);box-shadow:none;}
.pt-line-time {font-size:14px;font-weight:600;color:var(--pt-muted);font-variant-numeric:tabular-nums;}
.pt-explored-mark {font-size:14px;line-height:1;color:#3bb44c;visibility:hidden;}
.is-explored .pt-explored-mark {visibility:visible;animation:pt-pop .25s ease-out;}
.pt-line-body {min-width:0;flex:1;}
.pt-line-top {display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;}
.pt-line-label {font-size:14px;letter-spacing:.04em;font-weight:700;color:var(--pt-muted);}
.pt-line-score {display:flex;align-items:baseline;gap:2px;background:var(--score-color);padding:3px 9px;border-radius:6px;font:20px/1.3 var(--display);}
.pt-line-score small {font:14px var(--sans);}
.pt-words {display:flex;flex-wrap:wrap;gap:2px 4px;align-items:baseline;}
.pt-word {position:relative;border:0;border-radius:5px;background:linear-gradient(to top,var(--word-color) 32%,transparent 32%);color:var(--pt-ink);font:1.5rem/1.35 var(--display);padding:4px 5px 6px;min-height:44px;max-width:100%;overflow-wrap:anywhere;transition:background .12s,transform .12s;}
.pt-word:hover,.pt-word-current {background:var(--word-color);transform:translateY(-2px);}
.pt-word:active {transform:translateY(1px);}
.pt-coaching {font-size:14px;line-height:1.7;margin:12px 0;color:#4c4c4c;}
.pt-reference {font-size:14px;color:var(--pt-muted);line-height:1.7;margin:10px 0 0;}
.pt-line-actions {display:flex;gap:20px;align-items:flex-start;margin-top:8px;}
.pt-detail {min-width:0;flex:1;}
.pt-detail summary {cursor:pointer;font-size:14px;font-weight:700;min-height:36px;padding:8px 0;}
.pt-detail summary span {font-weight:400;font-size:14px;color:var(--pt-muted);margin-left:8px;}
.pt-detail[open] {flex-basis:100%;}
.pt-line-actions:has(.pt-detail[open]) {flex-wrap:wrap;}
.pt-loop {flex:none;font-size:14px;font-weight:600;color:var(--pt-muted);padding:8px 0;min-height:36px;}
.pt-loop[aria-pressed=true] {color:#3bb44c;}
.pt-evidence {padding:12px 0;font-size:14px;}
.pt-tag-list {display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;}
.pt-tag-list span {padding:4px 8px;background:#f7f7f7;border-radius:5px;}
.pt-pitch svg {display:block;width:100%;height:auto;background:#f7f7f7;border-radius:8px;}
.pt-pitch text {font:14px var(--sans);fill:var(--pt-muted);}
.pt-pitch-grid {stroke:#919191;stroke-opacity:.18;}
.pt-pitch-line {stroke:#3bb44c;stroke-width:2;fill:none;stroke-linejoin:round;}
.pt-resolution,.pt-score-note,.pt-attribution {font-size:14px;line-height:1.7;color:var(--pt-muted);}
.pt-score-note {margin:16px 0 40px;}
.pt-score-note summary {cursor:pointer;padding:4px 0;}
.pt-overall {border-top:2px solid var(--pt-line);padding-top:32px;}
.pt-coach-heading {display:flex;align-items:center;gap:20px;}
.pt-coach-heading img {width:72px;height:72px;object-fit:contain;flex:none;}
.pt-coach-heading h2 {margin:4px 0 0;font-size:2rem;}
.pt-summary {font-size:14px;line-height:1.9;margin:20px 0 28px;color:#4c4c4c;}
.pt-coach-findings {display:flex;flex-wrap:wrap;gap:24px 40px;margin-bottom:36px;}
.pt-finding {flex:1 1 42%;}
.pt-finding h3 {font-size:1.125rem;margin:0 0 12px;}
.pt-finding h3::before {content:'↗';margin-right:8px;color:#ff6708;}
.pt-finding-strong_areas h3::before {content:'✓';color:#3bb44c;}
.pt-finding ul {padding-left:18px;margin:0;}
.pt-finding li {font-size:14px;line-height:1.9;margin-bottom:12px;color:#4c4c4c;}
.pt-jump {font-size:14px;color:#005b7f;background:#bfedff;border-radius:5px;margin-left:4px;padding:5px 8px;min-height:32px;white-space:nowrap;}
.pt-quest-heading {display:flex;align-items:center;gap:12px;margin:0 0 20px;}
.pt-quest-heading img {width:40px;height:40px;object-fit:contain;}
.pt-quest-heading h3 {font-size:1.375rem;margin:4px 0 0;}
.pt-panel {margin-top:20px;}
.pt-panel>summary {list-style:none;display:block;padding:8px;background:var(--pt-paper);border:2px solid var(--pt-line);border-radius:8px;font:400 16px/22px var(--display);color:var(--pt-ink);cursor:pointer;-webkit-tap-highlight-color:transparent;}.pt-panel-head {display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:22px;pointer-events:none;}
.pt-panel>summary::-webkit-details-marker {display:none;}.pt-panel>summary:focus-visible {outline:3px solid #008fc8;outline-offset:2px;}
.pt-chevron {width:20px;height:20px;flex:none;transition:transform .2s;}.pt-panel:not([open]) .pt-chevron {transform:rotate(180deg);}
.pt-exercises {list-style:none;margin:16px 0 0;padding:0;display:grid;gap:16px;}
.pt-exercise {position:relative;overflow:hidden;display:grid;gap:16px;justify-items:start;padding:16px 16px 24px;background:var(--pt-paper);border:2px solid var(--pt-line);border-radius:12px;}
.pt-exercise-blob {position:absolute;top:-32px;right:-38px;width:159px;height:159px;pointer-events:none;}
.pt-exercise h4 {position:relative;margin:0;padding-bottom:4px;font:400 16px/22px var(--display);color:var(--pt-ink);overflow-wrap:anywhere;}
.pt-difficulty {position:relative;display:inline-flex;align-items:center;gap:8px;padding:4px;border-radius:4px;background:var(--pt-paper);font:500 14px/16px var(--sans);color:#000000;}.pt-difficulty img {width:13px;height:13px;}
.pt-teach {position:relative;display:flex;align-items:center;gap:16px;width:100%;min-height:50px;margin:0;padding:8px 24px;background:#fe3144;border:2px solid var(--pt-ink);border-radius:8px;box-shadow:2px 4px 0 #171717;color:#fff;font:400 18px/22px var(--display);cursor:default;}
.pt-teach>span {flex:1;text-align:left;}.pt-teach img {width:20px;height:20px;flex:none;}
.pt-testing {border-top:1px dashed #e7e7e7;margin-top:40px;padding:16px 0;font-size:14px;}
.pt-testing summary {cursor:pointer;padding:8px 0;font-size:14px;font-weight:700;}
.pt-testing summary span {font-weight:400;color:var(--pt-muted);margin-left:8px;}
.pt-testing p {margin:12px 0;}
.pt-testing label {display:grid;gap:6px;margin:16px 0;}
.pt-testing select {width:100%;max-width:100%;min-height:44px;padding:10px;background:var(--pt-paper);border:1px solid var(--pt-line);border-radius:8px;font:inherit;}
.pt-testing .btn {font-size:14px;border-radius:10px;}
.pt-status {padding:24px 0;font-size:14px;}
.pt-chart-heading {display:none;}.pt-results .pt-chart-heading {display:flex;}
@keyframes pt-pop {from{transform:scale(.6)}to{transform:scale(1)}}
@media(min-width:1500px){.stage.pt-results {padding-left:max(64px,calc((100% - 1000px)/2));padding-right:max(64px,calc((100% - 1000px)/2));}}
@media(max-width:900px){.pt-celebration {grid-template-columns:minmax(0,1fr) 180px;padding:28px;}.pt-hero-art {transform:scale(.8);transform-origin:right center;margin-left:-50px;}.pt-hero-copy h2 {font-size:2rem;}.pt-moment {padding:16px;}.pt-moment>img {width:28px;height:28px;}.pt-moment>i {font-size:22px;}.pt-chart-heading>span {max-width:20ch;text-align:right;line-height:1.5;}}
@media(max-width:620px){
 .stage.pt-results {overflow:visible;padding:16px 16px 0;}.shared.pt-results {padding:16px 16px 0;}
 .pt-celebration {padding:24px 20px 20px;grid-template-columns:minmax(0,1fr) 100px;border-radius:12px;}
 .pt-hero-copy h2 {font-size:1.75rem;max-width:10ch;margin:12px 0;}.pt-hero-copy p {font-size:14px;max-width:25ch;}
 .pt-hero-art {transform:scale(.57);width:220px;transform-origin:right center;margin-left:-120px;margin-top:-34px;}
 .pt-score-sticker {right:2px;bottom:-18px;}.pt-take-facts {gap:8px;font-size:14px;flex-direction:column;margin:16px 0;}
 .pt-take-facts span+span::before {display:none;}.pt-hero-play {font-size:14px;min-height:44px;padding:10px 14px;gap:8px;white-space:nowrap;}
 .pt-song {margin-bottom:28px;}.pt-coach-welcome {gap:10px;padding:0;margin-top:14px;}.pt-coach-welcome>img {width:36px;height:36px;}.pt-coach-welcome p {font-size:14px;}
 .pt-chart-heading {gap:16px;margin-bottom:12px;}.pt-chart-heading h2 {font-size:1.25rem;}.pt-chart-heading>span {font-size:14px;max-width:15ch;}.pt-eyebrow {font-size:14px;}
 .shared.pt-results>.sh-graph {height:170px;min-height:160px;}.stage.pt-results>.chart-card {height:230px;min-height:200px;border-radius:12px;padding:12px;}
 .pt-timeline-tags {font-size:14px;padding:6px 0;}.post-take {padding-top:16px;}.pt-heading {display:flex;margin-bottom:12px;}.post-take h2 {font-size:1.5rem;max-width:18ch;}.pt-heading p {font-size:14px;}
 .pt-exploration {margin-top:0;min-width:0;display:block;}.pt-progress-label {font-size:14px;}.pt-progress-track {width:100%;margin-top:5px;}
 .pt-moments {gap:10px;margin-bottom:16px;}.pt-moment {padding:12px;gap:8px;align-items:flex-start;flex-wrap:wrap;border-radius:12px;}.pt-moment>img {display:none;}.pt-moment>span {flex-basis:100%;}.pt-moment small {font-size:14px;}.pt-moment strong {font-size:1rem;}.pt-moment em {font-size:14px;}.pt-moment>i {display:none;}
 .pt-breakdown-heading {display:flex;margin-bottom:12px;}.pt-breakdown-heading h3 {font-size:1.05rem;}.pt-legend {margin:0;gap:6px;font-size:14px;}.pt-tap-hint {font-size:14px;max-width:42ch;line-height:1.7;margin-bottom:20px;}
 .pt-lyrics {border-radius:12px;}.pt-line {gap:10px;padding:16px 12px 14px 10px;}.pt-line-rail {width:30px;gap:8px;}.pt-line-number {font-size:14px;}.pt-line-play {width:30px;height:30px;}.pt-line-time {font-size:14px;}
 .pt-line-score {font-size:17px;padding:3px 6px;}.pt-line-score small {font-size:14px;}.pt-line-label {font-size:14px;}.pt-word {font-size:1.3rem;min-height:40px;padding:4px 3px;}.pt-words {gap:2px;}
 .pt-coaching {font-size:14px;line-height:1.7;margin:10px 0;}.pt-line-actions {gap:12px;}.pt-detail summary {font-size:14px;}.pt-detail summary span {display:none;}.pt-loop {font-size:14px;}.pt-reference {font-size:14px;}
 .pt-score-note {font-size:14px;margin:14px 0 28px;}.pt-coach-heading {gap:14px;}.pt-coach-heading img {width:52px;height:52px;}.pt-coach-heading h2 {font-size:1.75rem;}.pt-summary {font-size:14px;margin:16px 0 24px;}
 .pt-coach-findings {display:block;margin-bottom:28px;}.pt-finding {margin-bottom:24px;}.pt-finding h3 {font-size:1rem;}.pt-finding li {font-size:14px;}
 .pt-quest-heading h3 {font-size:1.125rem;}
 .shared.pt-results>.sh-foot {gap:16px;padding:12px 0;}.shared.pt-results .sh-play {min-width:0;flex:1;padding:12px;font-size:14px;}.shared.pt-results .sh-cta {font-size:14px;}
 .shared.pt-results .sh-owner {font-size:14px;}.shared.pt-results .sh-title {font-size:16px;}.shared.pt-results .sh-top {margin-bottom:20px;}
}
@media(prefers-reduced-motion:reduce){.pt-results * {animation:none!important;transition:none!important;}.pt-word:hover,.pt-word-current {transform:none;}}

.pt-analysis-intro {display:flex;align-items:center;gap:20px;padding:24px;background:#dbf5ff;border:2px solid #e7e7e7;border-radius:12px;margin:12px 0 24px;}.pt-analysis-intro img {width:80px;height:80px;object-fit:contain;}.pt-analysis-intro h2 {font-size:1.375rem;}.pt-analysis-intro p {font-size:14px;line-height:1.7;margin:8px 0 16px;}

@media(max-width:620px){.pt-analysis-intro {padding:16px;gap:12px;}.pt-analysis-intro img {width:48px;height:48px;}.pt-analysis-intro h2 {font-size:1.125rem;}}

/* Compact coaching: summary first, replay in the middle, practice last. */
.pt-results .pt-song {margin-bottom:24px;}
.pt-score-card {position:relative;background:#dbf5ff;border:2px solid var(--pt-line);border-radius:20px;padding:24px;color:var(--pt-ink);}
.pt-score-top {display:flex;align-items:center;justify-content:space-between;gap:16px;}.pt-score-art {flex:none;width:112px;height:112px;border-radius:16px;border:2px solid #ffffff;background:#ffffff;object-fit:cover;box-shadow:0 1px 0 rgba(13,13,13,.06);}.pt-score-bird {object-fit:contain;padding:8px;}
.pt-score-badge {flex:none;width:128px;height:128px;border-radius:50%;background:var(--tone,#00b6fe);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;}.pt-score-badge strong {font:400 40px/1 var(--display);letter-spacing:-.5px;}.pt-score-badge span {font:800 14px/1 var(--sans);letter-spacing:.06em;margin-top:8px;}
.pt-score-title {margin:14px 0 0;font:600 18px/1.3 var(--sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pt-score-stats {display:flex;align-items:flex-start;gap:20px;margin-top:26px;padding-right:64px;}.pt-score-stat {display:grid;gap:8px;}.pt-score-stat>span {font:500 14px/1.3 var(--sans);color:#3a3a3a;white-space:nowrap;}.pt-score-stat>strong,.pt-score-seek {font:400 22px/1.1 var(--display);color:var(--tone,#0d0d0d);font-variant-numeric:tabular-nums;}.pt-score-seek {appearance:none;background:none;border:0;padding:0;margin:0;cursor:pointer;text-align:left;border-radius:4px;}.pt-score-seek:focus-visible {outline:3px solid #008fc8;outline-offset:3px;}
.pt-score-share {position:absolute;right:20px;bottom:20px;width:64px;height:64px;border-radius:50%;background:var(--blue);border:2px solid var(--pt-ink);box-shadow:2px 4px 0 #171717;display:grid;place-items:center;color:#fff;cursor:pointer;padding:0;}.pt-score-share:active {transform:translate(2px,4px);box-shadow:none;}.pt-score-share:focus-visible {outline:3px solid #008fc8;outline-offset:3px;}.pt-score-share svg {width:28px;height:28px;}
.pt-takeaway {padding:24px 0 0;}.pt-takeaway>h2 {font-size:1.125rem;margin:0 0 12px;}.pt-takeaway-grid {display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,2fr);gap:24px;align-items:start;}.pt-takeaway-grid:not(:has(.pt-quick-finding)) {display:block;}
.pt-quick-findings {display:flex;flex-direction:column;gap:16px;}.pt-quick-finding {min-width:0;}.pt-quick-finding h3 {font:700 14px var(--sans);margin:0 0 8px;}.pt-quick-finding .pt-coaching {font-size:14px;line-height:1.6;-webkit-line-clamp:3;}.pt-quick-finding:first-child h3 {color:#3bb44c;}.pt-quick-finding:last-child h3 {color:#fe3144;}.pt-quick-finding .pt-jump {margin-top:8px;font-size:14px;padding:8px 14px;min-height:38px;}
.pt-copy .pt-coaching {max-width:none;margin:0;font-size:14px;line-height:1.65;color:#4c4c4c;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
.pt-copy-summary .pt-coaching {font-size:14px;-webkit-line-clamp:4;}.pt-copy-exercise .pt-coaching {-webkit-line-clamp:3;}.pt-copy.is-expanded .pt-coaching {display:block;overflow:visible;}
.pt-more {display:inline-flex;align-items:center;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:3px;color:#008fc8;min-height:24px;padding:2px 0;margin-top:2px;}
.pt-full-notes {margin-top:16px;border-bottom:1px solid var(--pt-line);padding-bottom:12px;}.pt-full-notes>summary {font-size:14px;font-weight:700;cursor:pointer;min-height:32px;padding:6px 0;}.pt-full-notes>summary span {font-size:14px;font-weight:400;color:var(--pt-muted);margin-left:8px;}
.pt-full-notes .pt-coach-findings {display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;margin:20px 0 4px;}.pt-finding {min-width:0;}.pt-finding h3 {font-size:1rem;margin-bottom:8px;}.pt-finding li {line-height:1.65;font-size:14px;}
.pt-moments {gap:12px;margin-bottom:16px;}.pt-moment {padding:10px 12px;box-shadow:1px 2px 0 #171717;border-radius:12px;gap:10px;}.pt-moment>img {width:24px;height:24px;}.pt-moment small {margin-bottom:3px;font-size:14px;}.pt-moment strong {font-size:1rem;-webkit-line-clamp:1;}.pt-moment>em {flex:none;font-size:14px;font-style:normal;white-space:nowrap;}
.pt-line {padding:12px 16px;gap:12px;}.pt-line-rail {padding-top:2px;gap:6px;width:36px;}.pt-line-play {width:34px;height:34px;}.pt-explored-mark {font-size:14px;}
.pt-line-main {display:flex;align-items:flex-start;gap:12px;}.pt-words {flex:1;min-width:0;gap:0 2px;}.pt-word {font-size:1.25rem;line-height:1.35;min-height:34px;padding:2px 3px 4px;}.pt-line-score {flex:none;font-size:18px;padding:3px 7px;margin-top:2px;}
.pt-line-body>.pt-copy {margin-top:6px;}.pt-line-actions {gap:16px;margin-top:4px;align-items:center;}.pt-detail {flex:0 1 auto;}.pt-detail[open] {flex:1 1 100%;}.pt-detail summary,.pt-loop {min-height:28px;font-size:14px;padding:5px 0;}.pt-line-label {font-size:14px;margin-left:auto;}.pt-line-actions:has(.pt-detail[open])>.pt-line-label {display:none;}
.pt-score-note {margin:12px 0 24px;}.post-take p {max-width:none;}.pt-empty {padding:20px;}.pt-evidence {padding:8px 0;font-size:14px;}.pt-tag-list {margin-bottom:12px;}.pt-tag-list p {font-size:14px;color:var(--pt-muted);}.pt-reference {margin:8px 0;}
.pt-next-steps {border-top:2px solid var(--pt-line);padding-top:20px;}.pt-next-heading {display:flex;gap:10px;align-items:center;margin-bottom:16px;}.pt-next-heading img {width:28px;height:28px;object-fit:contain;}.pt-next-heading h2 {font-size:1.375rem;margin:0;}
.pt-priorities {list-style:none;margin:0 0 20px;padding:0;display:flex;gap:20px;flex-wrap:wrap;}.pt-priorities li {flex:1 1 200px;border-left:3px solid #7bd9ff;padding-left:12px;}.pt-priorities .pt-jump {margin-top:6px;}
.pt-loading {display:flex;align-items:center;gap:48px;padding:16px 16px 18px;border:2px solid #e7e7e7;background:#ffffff;border-radius:12px;margin:12px 0 20px;color:#0d0d0d;}.pt-loading-bird {flex:none;width:171px;aspect-ratio:200/303;}.pt-loading-bird img,.pt-loading-bird svg {display:block;width:100%;height:100%;object-fit:contain;}.pt-loading-body {flex:1;min-width:0;display:grid;gap:16px;}
.pt-loading h2 {font:400 26px/1 var(--display);margin:0;}.pt-loading p {font:400 14px/18px var(--sans);margin:0;color:#0d0d0d;}.pt-loading-step {display:flex;align-items:baseline;gap:16px;font:400 14px/18px var(--sans);color:#5d5d5d;}.pt-loading-step strong {font:500 22px/18px var(--sans);color:#000000;}
.pt-loading-track {position:relative;height:12px;background:#dbf5ff;border-radius:6px;overflow:hidden;}.pt-loading-fill {position:absolute;top:0;bottom:0;left:0;width:var(--pt-done,0%);background:#00b6fe;border-radius:6px;}.is-working .pt-loading-fill {animation:pt-creep 90s cubic-bezier(.25,.45,.35,1) forwards;}.is-idle .pt-loading-fill {width:22%;animation:pt-progress 1.8s ease-in-out infinite;}
.pt-loading-small {gap:20px;padding:12px 16px;margin:16px 0;}.pt-loading-small .pt-loading-bird {width:72px;}.pt-loading-small .pt-loading-body {gap:10px;}.pt-loading-small h2 {font-size:18px;}
.pt-skeleton {display:grid;gap:6px;margin:10px 0;}.pt-skeleton i {height:10px;max-width:80%;border-radius:4px;background:#e7e7e7;animation:pt-breathe 1.5s ease-in-out infinite;}.pt-skeleton i:last-child {max-width:48%;}
@keyframes pt-creep {from{width:var(--pt-done,0%);}to{width:var(--pt-next,0%);}}@keyframes pt-progress {from{transform:translateX(-110%);}to{transform:translateX(460%);}}@keyframes pt-breathe {50%{opacity:.45;}}
/* Piano keys and a separate note guide; the original trace remains continuous. */
.pt-pitch-header {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;}.pt-pitch-header h4 {font:700 14px var(--sans);margin:0;}.pt-pitch-legend {display:flex;gap:12px;font-size:14px;}.pt-pitch-legend span {display:flex;align-items:center;gap:5px;}.pt-pitch-legend i {width:16px;height:3px;background:#3bb44c;}.pt-pitch-legend .is-guide {height:8px;background:#bfedff;border:1px solid #00b6fe;border-radius:2px;}
.pt-pitch-hint {font-size:14px;color:var(--pt-muted);margin:0 0 10px!important;}.pt-pitch-scroll {max-height:330px;overflow:auto;border:1px solid #e7e7e7;border-radius:10px;background:#f7f7f7;overscroll-behavior:contain;}.pt-pitch svg {display:block;width:100%;max-width:none;border-radius:0;cursor:crosshair;}.pt-pitch-background {fill:#f7f7f7;}.pt-pitch-row {fill:transparent;}.pt-pitch-row.is-sharp {fill:#ededed;}.pt-pitch-grid {stroke:#dbdbdb;stroke-opacity:.45;}.pt-pitch text {font:14px var(--sans);fill:#4c4c4c;}
.pt-piano-key {cursor:pointer;}.pt-piano-key rect {fill:#ffffff;stroke:#dbdbdb;stroke-width:.7;}.pt-piano-key.is-sharp rect {fill:#0d0d0d;stroke:#0d0d0d;}.pt-piano-key.is-sharp text {fill:#ffffff;}.pt-piano-key text {font-size:14px;font-weight:600;}.pt-piano-key:hover rect,.pt-piano-key.is-previewing rect {fill:#bfedff;}.pt-piano-key.is-previewing text {fill:#0d0d0d;}
.pt-guide-note {cursor:pointer;}.pt-guide-note rect {fill:#bfedff;stroke:#00b6fe;stroke-width:1;}.pt-guide-note:hover rect,.pt-guide-note.is-previewing rect {fill:#7bd9ff;stroke:#008fc8;stroke-width:2;}.pt-pitch-line {stroke:#3bb44c;stroke-width:2;pointer-events:none;}.pt-pitch-hit {stroke:transparent;stroke-width:9;fill:none;pointer-events:stroke;}.pt-pitch-playhead {stroke:#fe3144;stroke-width:1.5;pointer-events:none;}
.pt-note-auditions {display:flex;gap:6px;align-items:center;overflow-x:auto;padding:10px 0;max-width:100%;}.pt-note-auditions>span {font-size:14px;white-space:nowrap;color:var(--pt-muted);}.pt-note-auditions button {flex:none;border:1px solid #7bd9ff;border-radius:6px;background:#e9f9ff;padding:5px 9px;font-size:14px;min-width:34px;min-height:30px;}.pt-note-auditions button:hover,.pt-note-auditions .is-previewing {background:#bfedff;}.pt-pitch .pt-resolution {font-size:14px;line-height:1.6;}
.pt-pitch-audio-access {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}.pt-pitch-audio-access:focus-within {position:static;width:auto;height:auto;clip-path:none;display:flex;flex-wrap:wrap;gap:8px;padding:8px;}.pt-pitch-audio-access button {padding:8px;background:#e9f9ff;border-radius:6px;}
.pt-pitch [role=button]:focus-visible {outline:2px solid #008fc8;outline-offset:-2px;}.pt-more:focus-visible,.pt-note-auditions button:focus-visible {outline:2px solid #008fc8;outline-offset:2px;}
@media(max-width:620px){
 .pt-score-card {padding:20px;}.pt-score-stats {gap:16px;}
 .pt-takeaway {padding-top:20px;}.pt-takeaway-grid {display:block;}.pt-takeaway>h2 {font-size:1.05rem;}.pt-copy-summary .pt-coaching {font-size:14px;-webkit-line-clamp:3;}.pt-quick-findings {margin-top:16px;gap:14px;}.pt-quick-finding h3 {font-size:14px;}.pt-quick-finding .pt-coaching {font-size:14px;line-height:1.6;-webkit-line-clamp:3;}
 .pt-full-notes>summary span {display:none;}.pt-full-notes .pt-coach-findings {grid-template-columns:1fr;gap:16px;}.pt-finding {margin-bottom:0;}.pt-results .pt-song {margin-bottom:20px;}
 .pt-moment {padding:8px 10px;flex-wrap:nowrap;gap:6px;}.pt-moment>span {flex-basis:auto;}.pt-moment strong {font-size:14px;-webkit-line-clamp:1;}.pt-moment>em {display:none;}.pt-line {padding:10px;gap:8px;}.pt-line-rail {width:30px;gap:6px;}.pt-line-play {width:30px;height:30px;}.pt-line-main {gap:6px;}.pt-word {font-size:1.05rem;min-height:30px;padding:2px 2px 3px;}.pt-line-score {font-size:16px;padding:3px 5px;}.pt-line-score small {font-size:14px;}.pt-line-actions {gap:14px;}.pt-detail summary,.pt-loop {font-size:14px;}.pt-line-body>.pt-copy {margin-top:6px;}.pt-copy-line .pt-coaching {font-size:14px;line-height:1.65;-webkit-line-clamp:2;}.pt-line-label {font-size:14px;}.pt-next-heading h2 {font-size:1.25rem;}.pt-priorities {gap:12px;}
 .pt-loading {gap:14px;padding:14px 14px 16px;}.pt-loading-bird {width:84px;}.pt-loading-body {gap:10px;}.pt-loading h2 {font-size:1.25rem;line-height:1.1;}.pt-loading p {font-size:14px;line-height:1.5;}.pt-loading-step {gap:10px;font-size:14px;}.pt-loading-step strong {font-size:18px;}.pt-loading-track {height:10px;}.pt-loading-small .pt-loading-bird {width:56px;}.pt-loading-small h2 {font-size:1rem;}.pt-pitch-legend {gap:8px;font-size:14px;}.pt-pitch-scroll {max-height:270px;}
}
@media(prefers-reduced-motion:reduce){.pt-loading-fill,.pt-skeleton i {animation:none!important;}.pt-loading-fill {width:var(--pt-done,0%);}.is-idle .pt-loading-fill {width:100%;opacity:.5;}}
.pt-loading .sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;display:block;}
.pt-fetch-error {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border:1px solid #ffb5bb;border-radius:12px;background:#ffffff;margin:12px 0;}.pt-fetch-error p {font-size:14px;margin:0;}.pt-fetch-error .btn {flex:none;}
.pt-coaching-retry {padding:16px 0;display:flex;align-items:center;flex-wrap:wrap;gap:10px;}.pt-coaching-retry .pt-status {flex-basis:100%;margin:0;}.pt-coaching-retry>span {font-size:14px;color:var(--muted);}
.pt-pitch-header {flex-wrap:wrap;gap:8px;}.pt-pitch-header .pt-pitch-legend {margin-left:auto;}.pt-piano-toggle {padding:6px 9px;min-height:30px;border:1px solid #00b6fe;border-radius:6px;background:#e9f9ff;font:700 14px var(--sans);white-space:nowrap;cursor:pointer;}.pt-piano-toggle[aria-pressed=false] {background:transparent;border-color:#e7e7e7;color:var(--muted);}.pt-piano-toggle:focus-visible {outline:2px solid #008fc8;outline-offset:2px;}

/* Brand alignment: pressables keep the ink outline, containers use the light rule (see app.css). */
.pt-moment {border:2px solid var(--pt-ink);border-radius:8px;}
.pt-hero-play {border:2px solid var(--pt-ink);}
.pt-score-sticker {color:#fff;border:0;}
.pt-score-sticker span {color:#fff;}
.pt-line-play {border:2px solid var(--pt-ink);font-size:14px;}
.pt-active .pt-line-play {color:#fff;}
.pt-line-score {color:var(--pt-ink);border-radius:999px;padding:3px 10px;}
.pt-word {border-radius:4px;}
.pt-eyebrow {font-weight:600;letter-spacing:0;text-transform:none;font-size:14px;color:var(--pt-muted);}
.pt-moment small,.pt-progress-label,.pt-line-label,.pt-detail summary,.pt-loop,.pt-more,.pt-full-notes>summary,.pt-testing summary,.pt-quick-finding h3,.pt-pitch-header h4 {letter-spacing:0;text-transform:none;font-weight:600;}
.pt-take-facts {font-weight:500;color:var(--pt-muted);}
.pt-heading p,.pt-breakdown-heading p,.pt-tap-hint,.pt-reference,.pt-resolution,.pt-score-note,.pt-attribution,.pt-coach-welcome p {font-weight:500;}
.pt-jump {border-radius:999px;font-weight:600;}
.pt-tag-list span {border-radius:999px;}
.pt-finding h3,.pt-quest-heading h3,.pt-next-heading h2,.pt-takeaway>h2 {color:var(--pt-ink);}
.pt-loading {border:2px solid #e7e7e7;background:#fff;}
.pt-fetch-error {border:2px solid #ffb5bb;}
.pt-testing select {border:2px solid #e7e7e7;border-radius:8px;}
.pt-piano-toggle {border-radius:999px;}
.pt-note-auditions button {border-radius:999px;}
/* Score stickers sit straight and take the band colour, like the recording badges. */
.pt-score-sticker.band-low {background:#ff4a5b;}
.pt-score-sticker.band-mid {background:#7bd9ff;color:#00425c;}
.pt-score-sticker.band-mid span {color:#00425c;}
.pt-score-sticker.band-good {background:#00b6fe;}
.pt-score-sticker.band-high {background:#3bb44c;}
