
.pm-app {
    --pm-bg: #07111f;
    --pm-panel: #0d1b2e;
    --pm-panel-2: #12243a;
    --pm-border: rgba(255,255,255,.10);
    --pm-text: #f7fbff;
    --pm-muted: #9fb1c5;
    --pm-accent: #5aa9ff;
    --pm-accent-2: #7bd6ff;
    --pm-success: #65d99b;
    --pm-chord-color: var(--pm-chord-color);
    box-sizing: border-box;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 22px;
    border-radius: 24px;
    color: var(--pm-text);
    background:
        radial-gradient(circle at top right, rgba(90,169,255,.13), transparent 28%),
        linear-gradient(180deg, #081320 0%, #060d17 100%);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.pm-app *,
.pm-app *::before,
.pm-app *::after { box-sizing: border-box; }

.pm-topbar {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    padding: 10px 4px 26px;
    border-bottom: 1px solid var(--pm-border);
}

.pm-eyebrow,
.pm-section-kicker {
    display: inline-block;
    color: var(--pm-accent-2);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
}

.pm-brand {
    margin: 4px 0 2px;
    font-size: clamp(30px, 5vw, 48px);
    line-height: 1;
    letter-spacing: -.04em;
    color: var(--pm-text);
}

.pm-tagline,
.pm-screen-head p,
.pm-welcome p,
.pm-coming p {
    color: var(--pm-muted);
}

.pm-tagline { margin: 7px 0 0; }

.pm-instrument {
    min-width: 160px;
    padding: 12px 14px;
    border: 1px solid var(--pm-border);
    border-radius: 14px;
    background: rgba(255,255,255,.035);
}
.pm-instrument span {
    display: block;
    color: var(--pm-muted);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.pm-instrument strong { display: block; margin-top: 4px; }

.pm-home,
.pm-screen { padding-top: 26px; }

.pm-welcome h3,
.pm-screen-head h3 {
    margin: 5px 0 7px;
    font-size: clamp(24px, 4vw, 36px);
    letter-spacing: -.03em;
}

.pm-welcome p,
.pm-screen-head p { margin: 0; max-width: 720px; }

.pm-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 14px;
    margin-top: 22px;
}

.pm-module-card {
    appearance: none;
    width: 100%;
    min-height: 124px;
    display: grid;
    grid-template-columns: 52px 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 18px;
    text-align: left;
    color: var(--pm-text);
    background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.026));
    border: 1px solid var(--pm-border);
    border-radius: 18px;
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.pm-module-card:hover {
    transform: translateY(-2px);
    border-color: rgba(90,169,255,.50);
    background: linear-gradient(180deg, rgba(90,169,255,.10), rgba(255,255,255,.03));
}

.pm-module-card:focus-visible,
.pm-back:focus-visible,
.pm-primary:focus-visible,
.pm-secondary:focus-visible,
.pm-app select:focus-visible,
.pm-app textarea:focus-visible {
    outline: 3px solid rgba(90,169,255,.55);
    outline-offset: 2px;
}

.pm-module-icon {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 14px;
    background: rgba(255,255,255,.06);
    font-size: 25px;
}

.pm-module-copy { min-width: 0; }
.pm-module-copy strong {
    display: block;
    font-size: 18px;
}
.pm-module-copy small {
    display: block;
    margin-top: 5px;
    color: var(--pm-muted);
    line-height: 1.4;
}

.pm-status {
    justify-self: end;
    padding: 6px 8px;
    border: 1px solid var(--pm-border);
    border-radius: 999px;
    color: var(--pm-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
}
.pm-status.is-active {
    color: #caffdf;
    border-color: rgba(101,217,155,.35);
    background: rgba(101,217,155,.09);
}

.pm-roadmap {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
    padding: 15px;
    border-radius: 15px;
    background: rgba(255,255,255,.03);
    border: 1px solid var(--pm-border);
    color: var(--pm-muted);
    font-size: 13px;
}
.pm-roadmap strong { color: var(--pm-text); margin-right: 5px; }

.pm-back {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--pm-accent-2);
    cursor: pointer;
    padding: 7px 0;
    margin-bottom: 12px;
    font-weight: 700;
}

.pm-tool-card,
.pm-library-demo {
    margin-top: 22px;
    padding: 20px;
    border: 1px solid var(--pm-border);
    border-radius: 18px;
    background: rgba(255,255,255,.035);
}

.pm-key-row {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 14px;
    align-items: end;
}

.pm-key-row label span,
.pm-field > span,
.pm-filter-group > span {
    display: block;
    margin-bottom: 7px;
    color: var(--pm-muted);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.pm-app select,
.pm-app input,
.pm-app textarea {
    width: 100%;
    color: var(--pm-text);
    background: #0a1626;
    border: 1px solid var(--pm-border);
    border-radius: 12px;
    font: inherit;
}

.pm-app select {
    min-height: 48px;
    padding: 0 12px;
}

.pm-app textarea {
    min-height: 140px;
    padding: 14px;
    resize: vertical;
    line-height: 1.55;
}

.pm-field { display: block; margin-top: 18px; }
.pm-arrow { padding-bottom: 14px; color: var(--pm-muted); }

.pm-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.pm-primary,
.pm-secondary {
    min-height: 46px;
    padding: 0 17px;
    border-radius: 12px;
    font-weight: 800;
    cursor: pointer;
}
.pm-primary {
    color: #06111e;
    background: linear-gradient(135deg, var(--pm-accent-2), var(--pm-accent));
    border: 0;
}
.pm-secondary {
    color: var(--pm-text);
    background: transparent;
    border: 1px solid var(--pm-border);
}

.pm-result {
    margin-top: 18px;
    padding: 15px;
    border-radius: 14px;
    background: #06101d;
    border: 1px solid var(--pm-border);
}
.pm-result > span {
    color: var(--pm-muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.pm-result pre {
    margin: 8px 0 0;
    white-space: pre-wrap;
    word-break: break-word;
    color: var(--pm-text);
    font: 700 17px/1.65 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.pm-coming {
    margin-top: 20px;
    padding: 20px;
    border: 1px dashed rgba(90,169,255,.35);
    border-radius: 16px;
    background: rgba(90,169,255,.055);
}
.pm-coming.compact { margin-top: 18px; }
.pm-coming strong { font-size: 17px; }
.pm-coming p { margin: 5px 0 0; }

.pm-filter-group + .pm-filter-group { margin-top: 18px; }
.pm-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.pm-pills button {
    min-height: 42px;
    padding: 0 14px;
    color: var(--pm-muted);
    background: rgba(255,255,255,.04);
    border: 1px solid var(--pm-border);
    border-radius: 999px;
}
.pm-pills button:disabled { opacity: .78; cursor: not-allowed; }

[hidden] { display: none !important; }

@media (max-width: 760px) {
    .pm-app { padding: 16px; border-radius: 18px; }
    .pm-topbar { align-items: flex-start; }
    .pm-instrument { min-width: 132px; }
    .pm-grid { grid-template-columns: 1fr; }
    .pm-module-card {
        grid-template-columns: 48px 1fr;
        min-height: 108px;
    }
    .pm-status {
        grid-column: 2;
        justify-self: start;
    }
}

@media (max-width: 520px) {
    .pm-topbar { display: block; }
    .pm-instrument { margin-top: 16px; }
    .pm-key-row { grid-template-columns: 1fr; }
    .pm-arrow { display: none; }
}


/* ===== MISSÃO 002 — ACORDES ===== */

.pm-chord-interpreter { margin-top:14px; padding:14px; border:1px solid var(--pm-border); border-radius:14px; background:rgba(255,255,255,.022); }
.pm-chord-interpreter label > span { display:block; margin-bottom:7px; color:var(--pm-muted); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.pm-inline-input { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; }
.pm-inline-input input { min-height:46px; padding:0 13px; }
.pm-chord-interpreter small { display:block; margin-top:7px; color:var(--pm-muted); }
.pm-category-chip { width:max-content; max-width:100%; padding:4px 8px; border:1px solid rgba(90,169,255,.28); border-radius:999px; color:var(--pm-accent-2)!important; background:rgba(90,169,255,.07); font-size:10px!important; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.pm-bass-card { border-color:rgba(90,169,255,.35); background:rgba(90,169,255,.055); }

.pm-chord-selectors { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.pm-chord-selectors label > span { display:block; margin-bottom:7px; color:var(--pm-muted); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.pm-chord-summary { display:grid; grid-template-columns:minmax(160px,.7fr) 1fr 1.3fr; gap:12px; margin-top:18px; }
.pm-chord-symbol-wrap,.pm-metric { min-width:0; padding:16px; border:1px solid var(--pm-border); border-radius:14px; background:rgba(255,255,255,.025); }
.pm-chord-symbol-wrap > span,.pm-metric > span { display:block; color:var(--pm-muted); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.pm-chord-symbol-wrap strong { display:block; margin-top:5px; font-size:clamp(34px,7vw,54px); line-height:1; letter-spacing:-.04em; }
.pm-chord-symbol-wrap small,.pm-metric small { display:block; margin-top:7px; color:var(--pm-muted); }
.pm-metric strong { display:block; margin-top:7px; font-size:clamp(16px,3vw,21px); line-height:1.35; }
.pm-keyboard-panel,.pm-inversions-panel { margin-top:18px; padding:16px; border:1px solid var(--pm-border); border-radius:16px; background:rgba(255,255,255,.025); overflow:hidden; }
.pm-panel-title { display:flex; gap:10px; align-items:baseline; justify-content:space-between; margin-bottom:14px; }
.pm-panel-title span { color:var(--pm-muted); font-size:12px; }
.pm-keyboard { position:relative; display:flex; height:180px; width:100%; min-width:560px; overflow:hidden; border-radius:10px; background:#07101b; }
.pm-keyboard-panel { overflow-x:auto; }
.pm-white-key { position:relative; flex:1 1 0; height:100%; border-right:1px solid #52606f; background:#f7f8fa; }
.pm-white-key:last-child { border-right:0; }
.pm-white-key span { position:absolute; left:50%; bottom:7px; transform:translateX(-50%); color:#233143; font-size:10px; font-weight:700; }
.pm-white-key.is-active { background:linear-gradient(180deg,#f7f8fa 0%,#d9f0ff 64%,#82c9ff 100%); box-shadow:inset 0 -8px 0 #4aa9ef; }
.pm-black-key { position:absolute; top:0; z-index:3; width:24px; height:62%; border-radius:0 0 5px 5px; background:linear-gradient(180deg,#151a20,#020509); box-shadow:0 3px 5px rgba(0,0,0,.45); }
.pm-black-key.is-active { background:linear-gradient(180deg,#79c9ff,#156bad); box-shadow:0 3px 8px rgba(44,160,236,.45); }
.pm-inversions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.pm-inversion-card { padding:13px 14px; border:1px solid var(--pm-border); border-radius:12px; background:rgba(255,255,255,.02); }
.pm-inversion-card span { display:block; color:var(--pm-muted); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.pm-inversion-card strong { display:block; margin-top:5px; font-size:16px; word-break:break-word; }
@media (max-width:760px){ .pm-chord-summary{grid-template-columns:1fr 1fr}.pm-chord-symbol-wrap{grid-column:1/-1}.pm-inversions{grid-template-columns:1fr} }
@media (max-width:520px){ .pm-chord-selectors,.pm-chord-summary{grid-template-columns:1fr}.pm-chord-symbol-wrap{grid-column:auto}.pm-panel-title{display:block}.pm-panel-title span{display:block;margin-top:4px} }

@media (max-width:520px){ .pm-inline-input{grid-template-columns:1fr}.pm-inline-input .pm-primary{width:100%} }


/* =========================================
   MISSÃO 003 — HARPA 120+
========================================= */
.pm-app input[type="search"],
.pm-app input[type="text"] {
    width: 100%;
    min-height: 48px;
    padding: 0 13px;
    color: var(--pm-text);
    background: #0a1626;
    border: 1px solid var(--pm-border);
    border-radius: 12px;
    font: inherit;
}

.pm-harpa-shell { margin-top: 22px; }
.pm-harpa-catalog,
.pm-song-workspace {
    padding: 18px;
    border: 1px solid var(--pm-border);
    border-radius: 18px;
    background: rgba(255,255,255,.03);
}
.pm-harpa-toolbar {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 14px;
    align-items: end;
}
.pm-harpa-toolbar .pm-field { margin: 0; }
.pm-catalog-count {
    padding: 13px 15px;
    border: 1px solid var(--pm-border);
    border-radius: 12px;
    color: var(--pm-muted);
    white-space: nowrap;
}
.pm-song-list {
    display: grid;
    gap: 8px;
    margin-top: 16px;
}
.pm-song-row {
    appearance: none;
    width: 100%;
    display: grid;
    grid-template-columns: 54px minmax(0,1fr) auto;
    gap: 12px;
    align-items: center;
    min-height: 72px;
    padding: 11px 14px;
    text-align: left;
    color: var(--pm-text);
    border: 1px solid var(--pm-border);
    border-radius: 14px;
    background: rgba(255,255,255,.025);
    cursor: pointer;
}
.pm-song-row:hover { border-color: rgba(90,169,255,.45); }
.pm-song-order {
    display: grid;
    place-items: center;
    min-height: 40px;
    border-radius: 10px;
    background: rgba(255,255,255,.05);
    color: var(--pm-accent-2);
    font-weight: 800;
    font-size: 12px;
}
.pm-song-row-copy { min-width: 0; }
.pm-song-row-copy strong { display: block; }
.pm-song-row-copy small {
    display: block;
    margin-top: 4px;
    color: var(--pm-muted);
}
.pm-song-back { margin-bottom: 16px; }
.pm-song-titlebar {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    align-items: flex-start;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--pm-border);
}
.pm-song-titlebar h3 { margin: 4px 0; }
.pm-song-titlebar p { margin: 0; color: var(--pm-muted); }
.pm-song-controls {
    display: grid;
    grid-template-columns: minmax(130px, .7fr) 1fr 1.2fr;
    gap: 14px;
    margin-top: 18px;
    align-items: end;
}
.pm-song-controls > label > span {
    display: block;
    margin-bottom: 7px;
    color: var(--pm-muted);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.pm-pills button.is-selected,
.pm-content-tabs button.is-selected {
    color: #06111e;
    background: var(--pm-accent-2);
    border-color: transparent;
}
.pm-content-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--pm-border);
}
.pm-content-tabs button {
    min-height: 44px;
    padding: 0 14px;
    color: var(--pm-text);
    background: rgba(255,255,255,.04);
    border: 1px solid var(--pm-border);
    border-radius: 12px;
    cursor: pointer;
}
.pm-song-content {
    margin-top: 14px;
    min-height: 240px;
}
.pm-music-sheet {
    padding: 22px;
    border: 1px solid var(--pm-border);
    border-radius: 15px;
    background: #fff;
    color: #111827;
}
.pm-music-sheet .pm-empty-music {
    background: #f7f8fa;
    border-color: #d5dbe3;
    color: #111827;
}
.pm-music-sheet .pm-empty-music p { color: #5a6573; }
.pm-print-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px;
    padding-bottom: 12px;
    margin-bottom: 14px;
    border-bottom: 1px solid #d5dbe3;
}
.pm-print-meta strong { font-size: 20px; }
.pm-print-meta span { color: #5a6573; }
.pm-empty-music {
    padding: 18px;
    border: 1px dashed var(--pm-border);
    border-radius: 14px;
    color: var(--pm-text);
}
.pm-empty-music p { margin: 6px 0 0; color: var(--pm-muted); }

@media (max-width: 760px) {
    .pm-song-controls { grid-template-columns: 1fr; }
    .pm-song-titlebar { display: block; }
    .pm-song-titlebar [data-pm-print] { margin-top: 12px; }
}
@media (max-width: 520px) {
    .pm-harpa-toolbar { grid-template-columns: 1fr; }
    .pm-song-row { grid-template-columns: 44px minmax(0,1fr); }
    .pm-song-row > :last-child { display: none; }
}

@media print {
    body * { visibility: hidden !important; }
    .pm-song-workspace,
    .pm-song-workspace *,
    .pm-song-content,
    .pm-song-content * { visibility: visible !important; }
    .pm-song-workspace {
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        background: #fff !important;
        color: #000 !important;
    }
    .pm-song-back,
    [data-pm-print],
    .pm-song-controls,
    .pm-content-tabs,
    .pm-song-titlebar { display: none !important; }
    .pm-song-content { margin: 0 !important; }
    .pm-music-sheet {
        border: 0 !important;
        padding: 0 !important;
        color: #000 !important;
    }
}


/* MISSÃO 003-B — cifra alinhada por sílaba */
.pm-song-section-title {
    margin: 24px 0 10px;
    padding-top: 8px;
    border-top: 1px solid #e4e7eb;
    color: #243244;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.pm-song-section-title:first-of-type { border-top: 0; margin-top: 8px; }
.pm-lyric-line {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    min-height: 48px;
    margin: 2px 0;
    line-height: 1.25;
}
.pm-chord-segment {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
}
.pm-inline-chord {
    min-height: 20px;
    color: var(--pm-chord-color);
    font-size: 14px;
    line-height: 20px;
    white-space: nowrap;
}
.pm-inline-lyric {
    color: #111827;
    font-size: 18px;
    line-height: 24px;
    white-space: pre-wrap;
}
.pm-chord-segment:not(:has(.pm-inline-chord))::before {
    content: "";
    display: block;
    height: 20px;
}
.pm-solo-notes h4 { margin: 0 0 8px; color: #243244; }
.pm-solo-notes p {
    margin: 0 0 18px;
    font-size: 18px;
    line-height: 1.8;
    color: #111827;
}
.pm-score-source img {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid #d9dee5;
    border-radius: 10px;
    background: #fff;
}
.pm-score-link {
    display: inline-flex;
    margin-top: 14px;
    min-height: 44px;
    align-items: center;
    padding: 0 14px;
    border-radius: 10px;
    background: #0a1626;
    color: #fff !important;
    text-decoration: none;
    font-weight: 700;
}
.pm-score-note { color: #5a6573; }

@media print {
    .pm-inline-chord { color: #000 !important; }
    .pm-inline-lyric { color: #000 !important; }
    .pm-score-link, .pm-score-note { display:none !important; }
}

/* v0.3.2 — Refrão e editor musical */
.pm-chorus-section .pm-inline-chord,
.pm-chorus-section .pm-inline-lyric,
.pm-chorus-section .pm-song-section-title { font-weight: 900 !important; }
.pm-chorus-section {
    margin: 16px 0;
    padding: 12px 14px;
    border-left: 4px solid #c51f2f;
    background: #fff8f8;
}
.pm-note-chords { margin: 8px 0 6px; color:#c51f2f; font-size:15px; }
.pm-edit-bar {
    display:flex; gap:10px; align-items:center; justify-content:flex-end;
    margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid #e4e7eb;
}
.pm-save-msg { color:#526173; font-size:13px; }
.pm-inline-editor {
    margin-bottom:18px; padding:14px; border:1px solid #cfd6df; border-radius:12px; background:#f8fafc;
}
.pm-inline-editor textarea {
    width:100%; min-height:220px; padding:12px; border:1px solid #bbc4cf; border-radius:10px;
    background:#fff; color:#111827; font:14px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    margin-bottom:10px;
}
.pm-score-link-secondary { margin-left:8px; background:#334155; }
@media print {
  .pm-edit-bar,.pm-inline-editor{display:none!important}
  .pm-chorus-section{background:#fff!important;border-left:2px solid #000!important}
}


/* v0.3.3 — Solo em Notas */
.pm-solo-note-sheet {
    display: grid;
    gap: 18px;
}
.pm-solo-section {
    padding: 16px;
    border: 1px solid #dfe4ea;
    border-radius: 12px;
    background: #fff;
}
.pm-solo-section h4 {
    margin: 0 0 12px;
    color: #1f2937;
}
.pm-solo-chorus,
.pm-solo-chorus * {
    font-weight: 800;
}
.pm-note-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 5px 0 10px;
}
.pm-note-cell {
    min-width: 43px;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    padding: 4px 6px;
    border-radius: 8px;
    background: #f7f8fa;
}
.pm-note-cell-chord {
    min-height: 18px;
    color: var(--pm-chord-color);
    font-size: 12px;
}
.pm-note-cell-note {
    color: #111827;
    font-size: 16px;
    white-space: nowrap;
}
.pm-score-source h4 {
    margin: 0 0 12px;
    color: #1f2937;
}

/* Refrão: cifra + letra sempre em negrito */
.pm-chorus-section .pm-inline-chord,
.pm-chorus-section .pm-inline-lyric,
.pm-chorus-section .pm-song-section-title {
    font-weight: 900 !important;
}

@media print {
    .pm-note-cell {
        background: transparent !important;
        border: 0 !important;
    }
}

.pm-app[data-chord-color="red"]{--pm-chord-color:#c51f2f}.pm-app[data-chord-color="orange"]{--pm-chord-color:#ee4d2d}.pm-app[data-chord-color="blue"]{--pm-chord-color:#2f6bff}.pm-app[data-chord-color="pink"]{--pm-chord-color:#df3f8f}.pm-app[data-chord-color="green"]{--pm-chord-color:#169b62}
.pm-top-actions{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;justify-content:flex-end}.pm-display-settings{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.pm-color-control{min-width:180px}.pm-color-control>span{display:block;margin-bottom:5px;color:var(--pm-muted);font-size:11px;text-transform:uppercase;font-weight:800}.pm-color-control select{min-height:42px}
.pm-app[data-reading-theme="dark"] .pm-music-sheet,.pm-app[data-reading-theme="dark"] .pm-solo-section,.pm-app[data-reading-theme="dark"] .pm-note-cell,.pm-app[data-reading-theme="dark"] .pm-mini-sibelius,.pm-app[data-reading-theme="dark"] .pm-score-editor{background:#05070a!important;color:#fff!important;border-color:#28303b!important}.pm-app[data-reading-theme="dark"] .pm-print-meta,.pm-app[data-reading-theme="dark"] .pm-song-section-title,.pm-app[data-reading-theme="dark"] .pm-inline-lyric,.pm-app[data-reading-theme="dark"] .pm-note-cell-note,.pm-app[data-reading-theme="dark"] .pm-solo-section h4,.pm-app[data-reading-theme="dark"] .pm-score-editor-help{color:#fff!important}.pm-app[data-reading-theme="dark"] .pm-print-meta span,.pm-app[data-reading-theme="dark"] .pm-score-status{color:#c7d0db!important}.pm-app[data-reading-theme="dark"] .pm-osmd-viewer{background:#05070a}/* v0.9.0: removido recolorimento global do SVG da partitura; OSMD preserva suas cores originais. */
.pm-mini-sibelius{padding:14px;border:1px solid #d7dde5;border-radius:14px;background:#fff}.pm-score-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px;border:1px solid #d9dfe6;border-radius:12px;background:#f6f8fa;margin-bottom:10px}.pm-score-toolbar button{min-height:40px;padding:0 12px;border:1px solid #c7d0db;border-radius:9px;background:#fff;cursor:pointer;font-weight:700}.pm-score-toolbar label{display:flex;align-items:center;gap:8px;color:#1f2937;font-size:13px;font-weight:700}.pm-score-toolbar input[type=range]{width:130px}.pm-score-edit-button{margin-left:auto}.pm-score-status{font-size:12px;color:#657180;margin:8px 0}.pm-osmd-viewer{min-height:260px;overflow-x:auto;padding:8px;border-radius:10px;background:#fff}.pm-osmd-viewer svg{max-width:100%;height:auto}.pm-score-editor{padding:14px;border:1px solid #d7dde5;border-radius:12px;background:#fff}.pm-score-editor-help{margin:0 0 12px;color:#364152}.pm-note-editor-table{display:grid;gap:5px;overflow-x:auto}.pm-note-editor-row{display:grid;grid-template-columns:42px minmax(88px,.7fr) minmax(72px,.6fr) minmax(160px,1fr) minmax(130px,1fr);gap:7px;align-items:center;min-width:650px;padding:6px;border-bottom:1px solid #e5e8ec}.pm-note-editor-head{font-size:12px;font-weight:900;text-transform:uppercase;color:#566171;background:#f5f7f9;border-radius:8px}.pm-note-editor-row select,.pm-note-editor-row input{min-height:38px!important;padding:5px 8px!important;color:#111827!important;background:#fff!important;border:1px solid #cfd6df!important;border-radius:8px!important}.pm-score-editor-actions{display:flex;gap:8px;margin-top:14px}
@media(max-width:760px){.pm-top-actions{justify-content:flex-start;width:100%}.pm-display-settings{width:100%}.pm-color-control{flex:1;min-width:160px}.pm-score-toolbar label{width:100%}.pm-score-toolbar input[type=range]{flex:1}.pm-score-edit-button{margin-left:0}}@media print{.pm-score-toolbar,.pm-score-status,.pm-score-editor{display:none!important}.pm-osmd-viewer{background:#fff!important}.pm-osmd-viewer svg *{fill:#000!important;stroke:#000!important}}

/* v0.4.2 — acompanhamento, acordes usados, introdução e feixes */
.pm-song-prelude{display:grid;gap:14px;margin:16px 0 24px}.pm-used-chords,.pm-song-intro{padding:14px;border:1px solid #d9dfe6;border-radius:12px;background:#f8fafc}.pm-used-chords h4,.pm-song-intro h4{margin:0 0 10px}.pm-used-chord-list{display:flex;gap:8px;flex-wrap:wrap}.pm-used-chord{border:1px solid color-mix(in srgb,var(--pm-chord-color) 55%,#d7dde5);background:#fff;color:var(--pm-chord-color);font-weight:900;font-size:16px;padding:8px 12px;border-radius:10px;cursor:pointer}.pm-used-chord:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.08)}
.pm-app[data-reading-theme="dark"] .pm-used-chords,.pm-app[data-reading-theme="dark"] .pm-song-intro{background:#090d12;border-color:#28303b}.pm-app[data-reading-theme="dark"] .pm-used-chord{background:#111923}.pm-osmd-viewer .osmd-cursor,.pm-osmd-viewer [class*="cursor"]{filter:drop-shadow(0 0 5px rgba(255,213,74,.95))}.pm-beam-check{display:flex;justify-content:center}.pm-beam-check input{width:18px;height:18px;accent-color:#2f6bff}.pm-note-editor-row{grid-template-columns:34px 42px minmax(88px,.7fr) minmax(72px,.6fr) minmax(160px,1fr) minmax(130px,1fr)}

.pm-return-song{display:inline-flex;align-items:center;gap:7px;margin:0 0 14px;padding:11px 16px;border:2px solid var(--pm-chord-color);border-radius:11px;background:var(--pm-chord-color);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 5px 16px rgba(0,0,0,.12)}.pm-return-song[hidden]{display:none!important}.pm-return-song:hover{transform:translateY(-1px)}

/* v0.4.4 — inversões interativas + impressão do dicionário */
.pm-chord-print-actions{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 14px}.pm-inversion-card[role="button"]{cursor:pointer;transition:.16s ease}.pm-inversion-card[role="button"]:hover{transform:translateY(-1px);border-color:#69c8ff}.pm-inversion-card.is-selected{border-color:#69c8ff;box-shadow:0 0 0 2px rgba(105,200,255,.16);background:rgba(105,200,255,.08)}.pm-inversion-card.is-selected span{color:#8dd7ff}
@media print{
 body.pm-print-chord-color *,body.pm-print-chord-bw *{visibility:hidden!important}
 body.pm-print-chord-color .pm-screen[data-pm-screen="acordes"],body.pm-print-chord-color .pm-screen[data-pm-screen="acordes"] *,body.pm-print-chord-bw .pm-screen[data-pm-screen="acordes"],body.pm-print-chord-bw .pm-screen[data-pm-screen="acordes"] *{visibility:visible!important}
 body.pm-print-chord-color .pm-screen[data-pm-screen="acordes"],body.pm-print-chord-bw .pm-screen[data-pm-screen="acordes"]{position:absolute;left:0;top:0;width:100%;display:block!important;background:#fff!important;color:#000!important}
 body.pm-print-chord-color .pm-back,body.pm-print-chord-color .pm-return-song,body.pm-print-chord-color .pm-chord-print-actions,body.pm-print-chord-color .pm-chord-selectors,body.pm-print-chord-color .pm-chord-interpreter,body.pm-print-chord-bw .pm-back,body.pm-print-chord-bw .pm-return-song,body.pm-print-chord-bw .pm-chord-print-actions,body.pm-print-chord-bw .pm-chord-selectors,body.pm-print-chord-bw .pm-chord-interpreter{display:none!important}
 body.pm-print-chord-color .pm-tool-card,body.pm-print-chord-color .pm-keyboard-panel,body.pm-print-chord-color .pm-inversions-panel,body.pm-print-chord-color .pm-inversion-card,body.pm-print-chord-bw .pm-tool-card,body.pm-print-chord-bw .pm-keyboard-panel,body.pm-print-chord-bw .pm-inversions-panel,body.pm-print-chord-bw .pm-inversion-card{background:#fff!important;color:#000!important;border-color:#999!important;box-shadow:none!important}
 body.pm-print-chord-color .pm-white-key.is-active{background:#a8ddff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.pm-print-chord-color .pm-black-key.is-active{background:#168fd2!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 body.pm-print-chord-bw .pm-white-key.is-active{background:#d8d8d8!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.pm-print-chord-bw .pm-black-key.is-active{background:#555!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 body.pm-print-chord-bw .pm-category-chip,body.pm-print-chord-bw .pm-inversion-card.is-selected{filter:grayscale(1)!important;background:#eee!important;color:#000!important}
}

/* v0.4.5 */
.pm-saved-solo-line{display:flex;gap:5px;align-items:flex-end;flex-wrap:wrap;line-height:1.8}.pm-saved-solo-line b{color:var(--pm-chord-color)}
.pm-osmd-viewer .pm-playing-note path,.pm-osmd-viewer .pm-playing-note ellipse,.pm-osmd-viewer .pm-playing-note polygon,.pm-osmd-viewer .pm-playing-note circle{fill:#ff3b30!important;stroke:#ff3b30!important;filter:drop-shadow(0 0 4px rgba(255,59,48,.9))}
@media print{.pm-music-sheet{padding-left:12mm!important;padding-right:8mm!important}.pm-song-section,.pm-song-prelude{margin-left:2mm!important}.pm-chord,.pm-note-cell-chord{color:var(--pm-chord-color)!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}

/* v0.4.6 — cifras alinhadas verticalmente sobre as notas */
.pm-note-score{display:grid;gap:12px}.pm-note-score-heading{margin:8px 0 0;font-size:17px;font-weight:900}.pm-note-score-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px 9px;min-height:46px}.pm-note-score-cell{display:inline-grid;grid-template-rows:18px 24px;min-width:24px;text-align:center}.pm-note-score-chord{display:block;min-height:18px;line-height:16px;font-size:12px;font-weight:900;color:var(--pm-chord-color);white-space:nowrap}.pm-note-score-note{display:block;line-height:24px;font-size:16px;white-space:nowrap}@media print{.pm-note-score-chord{color:var(--pm-chord-color)!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}

/* v0.4.7 — cores do teclado */
.pm-keyboard-color-control{margin:0 0 14px}.pm-keyboard-color-control label{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-weight:800}.pm-keyboard-color-control select{padding:9px 12px;border-radius:9px}
.pm-app[data-keyboard-color="red"] .pm-white-key.is-active{background:linear-gradient(#fff,#ffc2bd)!important;border-bottom-color:#ef3f35!important}.pm-app[data-keyboard-color="red"] .pm-black-key.is-active{background:linear-gradient(#ff8178,#c92219)!important}
.pm-app[data-keyboard-color="orange"] .pm-white-key.is-active{background:linear-gradient(#fff,#ffd4ad)!important;border-bottom-color:#ff6a00!important}.pm-app[data-keyboard-color="orange"] .pm-black-key.is-active{background:linear-gradient(#ffad63,#e85800)!important}
.pm-app[data-keyboard-color="pink"] .pm-white-key.is-active{background:linear-gradient(#fff,#ffc4dc)!important;border-bottom-color:#e83e8c!important}.pm-app[data-keyboard-color="pink"] .pm-black-key.is-active{background:linear-gradient(#ff86b8,#c92872)!important}

/* v0.4.8 — MOBILE FIRST + PARTITURA + IMPRESSÃO */
.pm-osmd-viewer .pm-playing-note path,.pm-osmd-viewer .pm-playing-note ellipse,.pm-osmd-viewer .pm-playing-note polygon,.pm-osmd-viewer .pm-playing-note circle{fill:var(--pm-playing-color,var(--pm-chord-color))!important;stroke:var(--pm-playing-color,var(--pm-chord-color))!important;filter:drop-shadow(0 0 4px var(--pm-playing-color,var(--pm-chord-color)))!important}
@media (max-width:760px){
  .pm-app{padding:12px;border-radius:18px}
  .pm-screen{padding-left:0!important;padding-right:0!important}
  .pm-keyboard-panel,.pm-inversions-panel{padding:12px}
  .pm-keyboard{min-width:0!important;width:100%!important;height:148px!important}
  .pm-black-key{width:18px!important;height:60%!important}
  .pm-white-key span{font-size:9px!important;bottom:6px!important}
  .pm-music-sheet{padding:14px!important;border-radius:12px}
  .pm-song-prelude{margin:12px 0 18px!important;gap:11px!important}
  .pm-used-chords,.pm-song-intro{padding:12px!important}
  .pm-inline-lyric{font-size:17px!important;line-height:23px!important}
  .pm-inline-chord{font-size:13px!important}
  .pm-lyric-line{min-height:45px!important}
  .pm-mini-sibelius{padding:8px!important;overflow:hidden}
  .pm-score-toolbar{padding:8px!important;gap:6px!important}
  .pm-score-toolbar button{min-height:38px!important;padding:0 9px!important;font-size:12px!important}
  .pm-osmd-viewer{width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;padding:4px!important;-webkit-overflow-scrolling:touch}
  /* Não comprime a partitura até deformar. Mantém proporções musicais e permite rolagem horizontal suave. */
  .pm-osmd-viewer > svg{min-width:680px!important;width:680px!important;max-width:none!important;height:auto!important}
}
@media (max-width:420px){
  .pm-app{padding:8px}
  .pm-music-sheet{padding:12px!important}
  .pm-keyboard{height:132px!important}
  .pm-black-key{width:16px!important}
  .pm-inline-lyric{font-size:16px!important;line-height:22px!important}
  .pm-osmd-viewer > svg{min-width:620px!important;width:620px!important}
}
@media print{
  .pm-music-sheet{padding-left:12mm!important;padding-right:8mm!important}
  .pm-inline-chord,.pm-note-cell-chord,.pm-note-score-chord,.pm-used-chord{color:var(--pm-chord-color)!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .pm-app[data-chord-color="red"]{--pm-chord-color:#c51f2f!important}
  .pm-app[data-chord-color="orange"]{--pm-chord-color:#ee4d2d!important}
  .pm-app[data-chord-color="blue"]{--pm-chord-color:#2f6bff!important}
  .pm-app[data-chord-color="pink"]{--pm-chord-color:#df3f8f!important}
  .pm-app[data-chord-color="green"]{--pm-chord-color:#169b62!important}
  .pm-chorus-section{border-left-color:var(--pm-chord-color)!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}


/* =========================================
   v0.4.9 — PARTITURA MOBILE REALMENTE RESPONSIVA
========================================= */
.pm-osmd-viewer{
  position:relative;
}
.pm-score-canvas{
  margin:0 auto;
  transform-origin:top left;
}
.pm-score-canvas > svg{
  display:block!important;
  max-width:none!important;
  height:auto!important;
}

/* Desktop */
@media (min-width:761px){
  .pm-score-canvas{width:100%!important;min-width:0!important}
  .pm-osmd-viewer{overflow-x:hidden!important}
}

/* Tablet / celular */
@media (max-width:760px){
  .pm-mini-sibelius{
    padding:6px!important;
    border-radius:10px!important;
  }
  .pm-osmd-viewer{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:2px 0 8px!important;
    scroll-snap-type:x proximity;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }
  /* cancela a regra antiga que redimensionava o SVG depois da diagramação */
  .pm-osmd-viewer > svg{
    min-width:0!important;
    width:auto!important;
  }
  .pm-score-canvas > svg{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
  .pm-score-status{
    margin:6px 4px 10px!important;
    font-size:11px!important;
    line-height:1.35!important;
  }
  .pm-score-toolbar{
    position:sticky;
    left:0;
    z-index:3;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px!important;
    padding:7px!important;
    margin-bottom:8px!important;
  }
  .pm-score-toolbar button{
    width:100%!important;
    min-width:0!important;
    min-height:38px!important;
    padding:0 7px!important;
    font-size:11px!important;
  }
  .pm-score-toolbar label{
    grid-column:1/-1;
    width:100%!important;
    display:grid!important;
    grid-template-columns:auto 1fr auto;
    gap:7px!important;
    font-size:11px!important;
  }
  .pm-score-toolbar input[type="range"]{
    width:100%!important;
    min-width:0!important;
  }
  .pm-score-edit-button{
    grid-column:1/-1;
    margin:0!important;
  }
  .pm-score-toolbar [data-zout],
  .pm-score-toolbar [data-zin]{
    min-height:34px!important;
    font-size:16px!important;
  }
  .pm-score-toolbar [data-zlabel]{
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:900;
  }
}

/* Telefones estreitos */
@media (max-width:430px){
  .pm-song-workspace{
    padding:9px!important;
  }
  .pm-song-content{
    margin-top:8px!important;
  }
  .pm-music-sheet{
    padding:9px!important;
  }
  .pm-mini-sibelius{
    margin-left:-3px;
    margin-right:-3px;
  }
  .pm-score-toolbar button{
    font-size:10.5px!important;
  }
}

/* Muito estreito */
@media (max-width:380px){
  .pm-song-workspace{padding:7px!important}
  .pm-music-sheet{padding:7px!important}
  .pm-score-toolbar{gap:4px!important;padding:5px!important}
  .pm-score-toolbar button{padding:0 4px!important;font-size:10px!important}
}


/* =========================================
   v0.4.10 — MOBILE COMPACT + COR ÚNICA + FIT SCORE
========================================= */

/* O teclado não tem mais cor própria: segue --pm-chord-color */
.pm-keyboard-color-control{display:none!important}
.pm-keyboard-color-note{
  margin:0 0 12px;
  color:var(--pm-muted);
  font-size:12px;
}
.pm-white-key.is-active{
  background:linear-gradient(
    180deg,
    #f7f8fa 0%,
    color-mix(in srgb,var(--pm-chord-color) 18%,#fff) 64%,
    color-mix(in srgb,var(--pm-chord-color) 58%,#fff) 100%
  )!important;
  box-shadow:inset 0 -7px 0 var(--pm-chord-color)!important;
}
.pm-black-key.is-active{
  background:linear-gradient(
    180deg,
    color-mix(in srgb,var(--pm-chord-color) 62%,#fff),
    var(--pm-chord-color)
  )!important;
  box-shadow:0 3px 8px color-mix(in srgb,var(--pm-chord-color) 55%,transparent)!important;
}

/* Partitura: botão de encaixe */
.pm-score-toolbar [data-fit].is-active{
  border-color:var(--pm-chord-color)!important;
  color:var(--pm-chord-color)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--pm-chord-color) 18%,transparent);
}
.pm-osmd-viewer.is-fit-width{
  overflow-x:hidden!important;
}
.pm-osmd-viewer.is-fit-width .pm-score-canvas{
  margin:0!important;
}

/* Nota em execução: usa exatamente a cor escolhida para as cifras */
.pm-osmd-viewer .pm-playing-note,
.pm-osmd-viewer .pm-playing-note *{
  color:var(--pm-playing-color,var(--pm-chord-color))!important;
}
.pm-osmd-viewer .pm-playing-note path,
.pm-osmd-viewer .pm-playing-note ellipse,
.pm-osmd-viewer .pm-playing-note polygon,
.pm-osmd-viewer .pm-playing-note circle,
.pm-osmd-viewer .pm-playing-note line{
  fill:var(--pm-playing-color,var(--pm-chord-color))!important;
  stroke:var(--pm-playing-color,var(--pm-chord-color))!important;
  filter:drop-shadow(0 0 5px var(--pm-playing-color,var(--pm-chord-color)))!important;
}

/* Teclado significativamente menor no celular */
@media (max-width:760px){
  .pm-keyboard-panel{
    padding:9px!important;
    overflow:hidden!important;
  }
  .pm-keyboard{
    width:min(100%,440px)!important;
    max-width:440px!important;
    min-width:0!important;
    height:112px!important;
    margin:0 auto!important;
  }
  .pm-black-key{
    width:14px!important;
    height:58%!important;
    border-radius:0 0 4px 4px!important;
  }
  .pm-white-key span{
    bottom:4px!important;
    font-size:8px!important;
  }
  .pm-keyboard-panel .pm-panel-title,
  .pm-keyboard-panel h4{
    font-size:16px!important;
  }
  .pm-keyboard-color-note{
    text-align:center;
    font-size:11px;
  }
}

@media (max-width:430px){
  .pm-keyboard{
    width:min(100%,360px)!important;
    max-width:360px!important;
    height:98px!important;
  }
  .pm-black-key{
    width:12px!important;
    height:57%!important;
  }
  .pm-white-key span{
    font-size:7.5px!important;
    bottom:3px!important;
  }

  /* O botão Fit ganha linha própria e fica fácil de tocar */
  .pm-score-toolbar [data-fit]{
    grid-column:1/-1;
    min-height:38px!important;
  }
}

@media (max-width:380px){
  .pm-keyboard{
    width:min(100%,330px)!important;
    max-width:330px!important;
    height:90px!important;
  }
  .pm-black-key{width:11px!important}
}


/* =========================================
   v0.4.11 — RETRATO REFINADO + SPOTLIGHT MOBILE
========================================= */
.pm-osmd-viewer{
  position:relative!important;
}
.pm-playing-halo{
  position:absolute;
  z-index:25;
  display:block;
  border-radius:999px;
  pointer-events:none;
  border:3px solid var(--pm-halo-color,var(--pm-chord-color));
  background:color-mix(in srgb,var(--pm-halo-color,var(--pm-chord-color)) 24%,transparent);
  box-shadow:
    0 0 0 3px color-mix(in srgb,var(--pm-halo-color,var(--pm-chord-color)) 20%,transparent),
    0 0 16px 7px color-mix(in srgb,var(--pm-halo-color,var(--pm-chord-color)) 58%,transparent);
  animation:pm-note-pulse .7s ease-in-out infinite alternate;
}
@keyframes pm-note-pulse{
  from{transform:scale(.92);opacity:.78}
  to{transform:scale(1.18);opacity:1}
}

/* O próprio desenho da nota continua colorido. */
.pm-osmd-viewer .pm-playing-note,
.pm-osmd-viewer .pm-playing-note *{
  opacity:1!important;
}
.pm-osmd-viewer .pm-playing-note path,
.pm-osmd-viewer .pm-playing-note ellipse,
.pm-osmd-viewer .pm-playing-note polygon,
.pm-osmd-viewer .pm-playing-note circle,
.pm-osmd-viewer .pm-playing-note line{
  fill:var(--pm-playing-color,var(--pm-chord-color))!important;
  stroke:var(--pm-playing-color,var(--pm-chord-color))!important;
  stroke-width:2.2px!important;
}

/* Partitura como página real no modo retrato. */
@media (max-width:760px) and (orientation:portrait){
  .pm-song-workspace:has(.pm-score-mode){
    padding:4px!important;
  }
  .pm-music-sheet.pm-score-mode{
    padding:3px!important;
    margin:0!important;
    border-radius:10px!important;
  }
  .pm-music-sheet.pm-score-mode .pm-print-meta{
    padding:7px 8px 8px!important;
    margin-bottom:5px!important;
  }
  .pm-music-sheet.pm-score-mode .pm-print-meta strong{
    font-size:15px!important;
  }
  .pm-music-sheet.pm-score-mode .pm-print-meta span{
    font-size:10px!important;
  }
  .pm-music-sheet.pm-score-mode .pm-mini-sibelius{
    padding:3px!important;
    border-radius:9px!important;
  }
  .pm-music-sheet.pm-score-mode .pm-osmd-viewer{
    margin:0!important;
    padding:0!important;
    width:100%!important;
    background:#fff!important;
    border-radius:7px!important;
  }
  .pm-music-sheet.pm-score-mode .pm-score-canvas{
    margin:0!important;
  }

  /* A partitura ganha quase toda a largura da tela. */
  .pm-song-content:has(.pm-score-mode){
    margin-left:-5px!important;
    margin-right:-5px!important;
  }

  .pm-score-toolbar{
    border-radius:9px!important;
  }
  .pm-score-status{
    padding-left:4px!important;
    font-size:10px!important;
  }

  /* Halo maior em celular porque a pauta inteira foi reduzida. */
  .pm-playing-halo{
    border-width:3px;
    box-shadow:
      0 0 0 4px color-mix(in srgb,var(--pm-halo-color,var(--pm-chord-color)) 24%,transparent),
      0 0 20px 9px color-mix(in srgb,var(--pm-halo-color,var(--pm-chord-color)) 72%,transparent);
  }
}

@media (max-width:430px) and (orientation:portrait){
  .pm-music-sheet.pm-score-mode{
    padding:1px!important;
  }
  .pm-song-content:has(.pm-score-mode){
    margin-left:-7px!important;
    margin-right:-7px!important;
  }
  .pm-score-toolbar{
    margin:0 2px 6px!important;
  }
}

@media print{
  .pm-playing-halo{display:none!important}
}


/* =========================================
   v0.4.12 — TOM FEMININO
========================================= */
.pm-female-key-button{
  width:100%;
  margin-top:7px;
  min-height:38px;
  border-color:color-mix(in srgb,var(--pm-chord-color) 55%,var(--pm-border))!important;
  font-weight:850!important;
}
.pm-female-key-button:hover,
.pm-female-key-button.is-active{
  color:#fff!important;
  background:var(--pm-chord-color)!important;
  border-color:var(--pm-chord-color)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--pm-chord-color) 18%,transparent);
}
@media (max-width:760px){
  .pm-female-key-button{
    min-height:42px;
    font-size:13px!important;
  }
}
@media print{
  .pm-female-key-button{display:none!important}
}


/* =========================================
   v0.4.13 — PARTITURA MOBILE FINAL OVERRIDE
   Evita conflito com regras legadas das versões anteriores.
========================================= */
.pm-osmd-viewer{
  position:relative!important;
}
.pm-score-scale-shell{
  position:relative;
  display:block;
  margin:0 auto;
}
.pm-score-canvas{
  position:absolute;
  left:0;
  top:0;
  margin:0!important;
  transform-origin:0 0!important;
}
.pm-score-canvas > svg{
  display:block!important;
  max-width:none!important;
  height:auto!important;
}

/* Nota executada: cabeça realmente colorida, halo apenas como reforço. */
.pm-playing-halo{
  position:absolute;
  z-index:50;
  pointer-events:none;
  border-radius:50%;
  border:3px solid var(--pm-halo-color,var(--pm-chord-color));
  background:color-mix(in srgb,var(--pm-halo-color,var(--pm-chord-color)) 14%,transparent);
  box-shadow:0 0 10px 3px color-mix(in srgb,var(--pm-halo-color,var(--pm-chord-color)) 48%,transparent);
  animation:pm-note-ring-pulse .48s ease-in-out infinite alternate;
}
@keyframes pm-note-ring-pulse{
  from{opacity:.68;transform:scale(.9)}
  to{opacity:1;transform:scale(1.10)}
}

/* Desktop continua amplo. */
@media (min-width:761px){
  .pm-score-scale-shell{
    width:100%!important;
    min-width:0!important;
  }
  .pm-score-canvas{
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    transform:none!important;
  }
}

/* Mobile */
@media (max-width:760px){
  .pm-song-workspace:has(.pm-score-mode){
    padding:5px!important;
  }
  .pm-music-sheet.pm-score-mode{
    padding:4px!important;
    margin:0!important;
    border-radius:9px!important;
  }
  .pm-music-sheet.pm-score-mode .pm-print-meta{
    padding:6px 7px!important;
    margin-bottom:5px!important;
  }
  .pm-music-sheet.pm-score-mode .pm-print-meta strong{
    font-size:14px!important;
  }
  .pm-music-sheet.pm-score-mode .pm-print-meta span{
    font-size:10px!important;
  }
  .pm-mini-sibelius{
    padding:4px!important;
  }
  .pm-osmd-viewer{
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    border-radius:7px!important;
    background:#fff!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
  }
  .pm-osmd-viewer.is-fit-width{
    overflow-x:hidden!important;
  }

  /* Barra mobile realmente compacta */
  .pm-score-toolbar{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
    padding:6px!important;
    margin:0 0 6px!important;
  }
  .pm-score-toolbar button{
    min-width:0!important;
    min-height:36px!important;
    padding:0 5px!important;
    font-size:10.5px!important;
  }
  .pm-score-toolbar label{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:auto 1fr auto!important;
    gap:6px!important;
    font-size:10.5px!important;
  }
  .pm-score-toolbar [data-fit]{
    grid-column:1/-1!important;
    border-color:var(--pm-chord-color)!important;
    font-weight:900!important;
  }
  .pm-score-toolbar [data-zlabel]{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:13px!important;
    font-weight:900!important;
  }
  .pm-score-edit-button{
    grid-column:1/-1!important;
    margin:0!important;
  }
  .pm-score-status{
    margin:5px 3px 7px!important;
    font-size:10px!important;
  }

  /* No celular o cursor quase desaparece; a nota colorida é o guia principal. */
  .pm-osmd-viewer .osmd-cursor,
  .pm-osmd-viewer [class*="cursor"]{
    opacity:.025!important;
    filter:none!important;
  }

  .pm-playing-halo{
    border-width:3px!important;
    box-shadow:
      0 0 0 2px #fff,
      0 0 12px 5px color-mix(in srgb,var(--pm-halo-color,var(--pm-chord-color)) 65%,transparent)!important;
  }
}

/* Retrato estreito: quase toda a largura física fica para a pauta */
@media (max-width:520px) and (orientation:portrait){
  .pm-song-content:has(.pm-score-mode){
    margin-left:-8px!important;
    margin-right:-8px!important;
  }
  .pm-song-workspace:has(.pm-score-mode){
    padding-left:2px!important;
    padding-right:2px!important;
  }
  .pm-music-sheet.pm-score-mode{
    padding-left:1px!important;
    padding-right:1px!important;
  }
  .pm-mini-sibelius{
    padding-left:2px!important;
    padding-right:2px!important;
  }
}

/* Impressão nunca leva halo/cursor */
@media print{
  .pm-playing-halo,
  .pm-osmd-viewer .osmd-cursor,
  .pm-osmd-viewer [class*="cursor"]{
    display:none!important;
  }
}


/* =========================================
   v0.4.14 — HALO COMPACTO + TONS RÁPIDOS
========================================= */
.pm-tone-quick-buttons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  width:100%;
  margin-top:7px;
}
.pm-tone-quick-buttons .pm-secondary{
  width:100%;
  margin:0!important;
  min-height:39px;
  padding:6px 8px!important;
  font-weight:850!important;
  line-height:1.15;
}
.pm-original-key-button:hover,
.pm-female-key-button:hover{
  border-color:var(--pm-chord-color)!important;
}
.pm-original-key-button.is-active,
.pm-female-key-button.is-active{
  color:#fff!important;
  background:var(--pm-chord-color)!important;
  border-color:var(--pm-chord-color)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--pm-chord-color) 16%,transparent);
}

/* Neutraliza a margem antiga do botão feminino agora que ele está num grupo. */
.pm-tone-quick-buttons .pm-female-key-button{
  margin-top:0!important;
}

/* Halo menor: reforça a nota sem esconder cifras próximas. */
.pm-playing-halo{
  border-width:2px!important;
  background:color-mix(in srgb,var(--pm-halo-color,var(--pm-chord-color)) 5%,transparent)!important;
  box-shadow:
    0 0 0 1px #fff,
    0 0 6px 2px color-mix(in srgb,var(--pm-halo-color,var(--pm-chord-color)) 42%,transparent)!important;
  animation:pm-note-ring-pulse-small .5s ease-in-out infinite alternate!important;
}
@keyframes pm-note-ring-pulse-small{
  from{opacity:.72;transform:scale(.94)}
  to{opacity:1;transform:scale(1.05)}
}

/* A cabeça da nota continua sendo o principal destaque. */
.pm-osmd-viewer .pm-playing-note path,
.pm-osmd-viewer .pm-playing-note ellipse,
.pm-osmd-viewer .pm-playing-note polygon,
.pm-osmd-viewer .pm-playing-note circle{
  filter:drop-shadow(0 0 3px var(--pm-playing-color,var(--pm-chord-color)))!important;
}

@media (max-width:430px){
  .pm-tone-quick-buttons{
    gap:5px;
  }
  .pm-tone-quick-buttons .pm-secondary{
    min-height:42px;
    font-size:11px!important;
    padding:5px 4px!important;
  }
  .pm-playing-halo{
    border-width:2px!important;
    box-shadow:
      0 0 0 1px #fff,
      0 0 5px 2px color-mix(in srgb,var(--pm-halo-color,var(--pm-chord-color)) 46%,transparent)!important;
  }
}

@media print{
  .pm-tone-quick-buttons{display:none!important}
}


/* =========================================
   v0.4.15 — EDIÇÃO DE PARTITURA
========================================= */
.pm-score-editor-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.pm-score-editor-actions .pm-slur-button{
  border-color:color-mix(in srgb,var(--pm-chord-color) 45%,#c7d0db)!important;
}
.pm-score-editor-actions .pm-delete-note-button{
  border-color:#d84a4a!important;
  color:#c92f2f!important;
}
.pm-score-editor-actions .pm-delete-note-button:hover{
  background:#c92f2f!important;
  color:#fff!important;
}
@media (max-width:760px){
  .pm-score-editor-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr;
  }
  .pm-score-editor-actions .pm-primary{
    grid-column:1/-1;
  }
  .pm-score-editor-actions button{
    width:100%;
    min-height:42px;
  }
}


/* =========================================
   v0.4.16 — IMPRESSÃO A4 COM MARGENS SEGURAS
========================================= */
@page{
  size:A4;
  /* margem física aplicada em TODAS as páginas */
  margin:18mm 14mm 19mm 14mm;
}

@media print{
  html,
  body{
    margin:0!important;
    padding:0!important;
  }

  /* Não somar margens excessivas do container às margens físicas da página. */
  .pm-music-sheet{
    padding-top:2mm!important;
    padding-bottom:2mm!important;
  }

  /* Mantém títulos/seções afastados das quebras de página. */
  .pm-song-section-title{
    break-after:avoid-page!important;
    page-break-after:avoid!important;
  }

  .pm-song-section,
  .pm-song-prelude,
  .pm-used-chords,
  .pm-song-intro{
    break-inside:avoid-page;
    page-break-inside:avoid;
  }

  /* Caso uma estrofe seja longa demais para caber inteira,
     as linhas ainda mantêm um pequeno respiro na quebra. */
  .pm-lyric-line{
    orphans:2;
    widows:2;
  }
}


/* =========================================
   v0.4.17 — IMPRESSÃO PAGINADA REAL
========================================= */

/*
 * O portal de impressão é filho direto do BODY.
 * Isso elimina o problema de fragmentação causado pelo workspace absoluto
 * e pelos containers do WordPress/tema.
 */
.pm-print-portal{
  display:none;
}

@page{
  size:A4 portrait;
  margin:19mm 15mm 20mm 15mm;
}

@media print{
  /* Durante a impressão de música, somente o portal participa do layout. */
  body.pm-print-song-active > *:not(.pm-print-portal){
    display:none!important;
  }

  body.pm-print-song-active{
    margin:0!important;
    padding:0!important;
    background:#fff!important;
  }

  body.pm-print-song-active .pm-print-portal{
    display:block!important;
    position:static!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    color:#000!important;
    visibility:visible!important;
  }

  body.pm-print-song-active .pm-print-portal,
  body.pm-print-song-active .pm-print-portal *{
    visibility:visible!important;
    box-sizing:border-box!important;
  }

  body.pm-print-song-active .pm-print-portal .pm-music-sheet{
    display:block!important;
    position:static!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fff!important;
    color:#000!important;
    overflow:visible!important;
  }

  body.pm-print-song-active .pm-print-meta{
    display:flex!important;
    break-inside:avoid-page!important;
    page-break-inside:avoid!important;
    margin:0 0 7mm!important;
    padding:0 0 3mm!important;
  }

  /*
   * REGRA FUNDAMENTAL:
   * Uma linha musical inteira é uma unidade atômica de impressão.
   * Nunca pode haver cifra numa folha e sua letra na seguinte.
   */
  body.pm-print-song-active .pm-lyric-line{
    display:table!important;
    width:auto!important;
    max-width:100%!important;
    min-height:0!important;
    margin:1.4mm 0!important;
    padding:0!important;
    break-inside:avoid-page!important;
    page-break-inside:avoid!important;
    break-before:auto!important;
    break-after:auto!important;
    orphans:99!important;
    widows:99!important;
  }

  body.pm-print-song-active .pm-chord-segment{
    display:table-cell!important;
    vertical-align:bottom!important;
    break-inside:avoid-page!important;
    page-break-inside:avoid!important;
    white-space:normal!important;
  }

  body.pm-print-song-active .pm-inline-chord{
    display:block!important;
    min-height:4.2mm!important;
    line-height:4mm!important;
    font-size:10pt!important;
    color:var(--pm-chord-color)!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
    break-after:avoid!important;
    page-break-after:avoid!important;
  }

  body.pm-print-song-active .pm-inline-lyric{
    display:block!important;
    font-size:11.5pt!important;
    line-height:1.28!important;
    color:#000!important;
    white-space:pre-wrap!important;
    break-before:avoid!important;
    page-break-before:avoid!important;
  }

  /*
   * Estrofes, refrões e blocos iniciais são mantidos juntos sempre que
   * fisicamente couberem numa página.
   */
  body.pm-print-song-active .pm-song-section,
  body.pm-print-song-active .pm-song-prelude,
  body.pm-print-song-active .pm-used-chords,
  body.pm-print-song-active .pm-song-intro,
  body.pm-print-song-active .pm-solo-section{
    display:block!important;
    position:static!important;
    break-inside:avoid-page!important;
    page-break-inside:avoid!important;
    overflow:visible!important;
  }

  body.pm-print-song-active .pm-song-section{
    margin:0 0 5mm!important;
    padding:0!important;
  }

  body.pm-print-song-active .pm-song-section-title{
    margin:5mm 0 2mm!important;
    padding:0!important;
    border:0!important;
    font-size:9.5pt!important;
    break-after:avoid-page!important;
    page-break-after:avoid!important;
  }

  body.pm-print-song-active .pm-chorus-section{
    border-left:1.2mm solid var(--pm-chord-color)!important;
    padding-left:4mm!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  body.pm-print-song-active .pm-used-chords,
  body.pm-print-song-active .pm-song-intro{
    margin:0 0 5mm!important;
    padding:3mm!important;
    border:0.3mm solid #d7dce2!important;
    background:#fff!important;
  }

  body.pm-print-song-active .pm-used-chord{
    color:var(--pm-chord-color)!important;
    background:#fff!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  body.pm-print-song-active .pm-note-cell-chord,
  body.pm-print-song-active .pm-note-score-chord{
    color:var(--pm-chord-color)!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  /* A partitura também usa o portal sem controles. */
  body.pm-print-song-active .pm-mini-sibelius,
  body.pm-print-song-active .pm-osmd-viewer{
    position:static!important;
    overflow:visible!important;
    break-inside:auto!important;
  }

  body.pm-print-song-active .pm-score-scale-shell,
  body.pm-print-song-active .pm-score-canvas{
    position:static!important;
    transform:none!important;
    width:100%!important;
    height:auto!important;
  }

  body.pm-print-song-active .pm-playing-halo,
  body.pm-print-song-active .osmd-cursor,
  body.pm-print-song-active [class*="cursor"]{
    display:none!important;
  }
}


/* =========================================
   v0.4.18 — PAGINAÇÃO A4 DETERMINÍSTICA
   Cada folha é criada antes do window.print().
========================================= */
.pm-print-portal.pm-print-preparing{
  display:block!important;
  position:fixed!important;
  left:-10000px!important;
  top:0!important;
  width:210mm!important;
  visibility:hidden!important;
  pointer-events:none!important;
  z-index:-1!important;
}
.pm-print-pages{
  display:block;
  margin:0;
  padding:0;
}
.pm-print-page{
  width:210mm;
  height:297mm;
  box-sizing:border-box;
  padding:18mm 15mm 20mm 15mm;
  margin:0;
  background:#fff;
  color:#000;
  overflow:hidden;
}
.pm-print-page-body{
  width:180mm;
  height:259mm;
  box-sizing:border-box;
  margin:0;
  padding:0;
  overflow:hidden;
}

@page{
  size:A4 portrait;
  margin:0!important;
}

@media print{
  body.pm-print-song-active > *:not(.pm-print-portal){display:none!important}
  html,body.pm-print-song-active{
    margin:0!important;
    padding:0!important;
    width:auto!important;
    min-width:0!important;
    background:#fff!important;
  }
  body.pm-print-song-active .pm-print-portal{
    display:block!important;
    position:static!important;
    visibility:visible!important;
    width:210mm!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
  }
  body.pm-print-song-active .pm-print-page{
    display:block!important;
    position:relative!important;
    width:210mm!important;
    height:297mm!important;
    min-height:297mm!important;
    max-height:297mm!important;
    padding:18mm 15mm 20mm 15mm!important;
    margin:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    break-after:page!important;
    page-break-after:always!important;
    background:#fff!important;
  }
  body.pm-print-song-active .pm-print-page:last-child{
    break-after:auto!important;
    page-break-after:auto!important;
  }
  body.pm-print-song-active .pm-print-page-body{
    display:block!important;
    position:static!important;
    width:180mm!important;
    height:259mm!important;
    max-height:259mm!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
  }
  body.pm-print-song-active .pm-music-sheet{
    display:contents!important;
  }
  body.pm-print-song-active .pm-print-meta{
    margin:0 0 5mm!important;
    padding:0 0 2.5mm!important;
    break-inside:avoid!important;
  }
  body.pm-print-song-active .pm-song-section,
  body.pm-print-song-active .pm-print-section-fragment{
    position:static!important;
    display:block!important;
    margin:0 0 4.5mm!important;
    padding:0!important;
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  body.pm-print-song-active .pm-print-section-continuation{
    margin-top:0!important;
  }
  body.pm-print-song-active .pm-song-section-title{
    margin:2.5mm 0 1.6mm!important;
    padding:0!important;
    border:0!important;
    font-size:9.5pt!important;
    line-height:1.15!important;
    break-after:avoid!important;
    page-break-after:avoid!important;
  }
  body.pm-print-song-active .pm-lyric-line{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:flex-end!important;
    width:100%!important;
    min-height:0!important;
    margin:1.1mm 0!important;
    padding:0!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  body.pm-print-song-active .pm-chord-segment{
    display:inline-flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    min-width:0!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  body.pm-print-song-active .pm-inline-chord{
    display:block!important;
    min-height:3.6mm!important;
    line-height:3.6mm!important;
    font-size:9.5pt!important;
    font-weight:700!important;
    color:var(--pm-chord-color)!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
    white-space:nowrap!important;
  }
  body.pm-print-song-active .pm-inline-lyric{
    display:block!important;
    color:#000!important;
    font-size:11pt!important;
    line-height:1.2!important;
    white-space:pre-wrap!important;
  }
  body.pm-print-song-active .pm-chorus-section,
  body.pm-print-song-active .pm-print-section-fragment.pm-chorus-section{
    border-left:1mm solid var(--pm-chord-color)!important;
    padding-left:3.5mm!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
  body.pm-print-song-active .pm-song-prelude,
  body.pm-print-song-active .pm-used-chords,
  body.pm-print-song-active .pm-song-intro{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    margin:0 0 4.5mm!important;
  }
  body.pm-print-song-active .pm-used-chords,
  body.pm-print-song-active .pm-song-intro{
    padding:2.5mm!important;
    border:.25mm solid #d7dce2!important;
    border-radius:2mm!important;
    background:#fff!important;
  }
  body.pm-print-song-active .pm-used-chord,
  body.pm-print-song-active .pm-note-cell-chord,
  body.pm-print-song-active .pm-note-score-chord{
    color:var(--pm-chord-color)!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
}


/* =========================================
   v0.4.19 — IMPRESSÃO A4: MEDIÇÃO = RESULTADO FINAL
   O mesmo layout compacto é usado DURANTE a paginação e NA impressão.
========================================= */

/* Dimensões físicas estáveis para medição fora de @media print */
.pm-print-portal .pm-print-page{
  width:210mm!important;
  height:297mm!important;
  min-height:297mm!important;
  max-height:297mm!important;
  box-sizing:border-box!important;
  padding:18mm 15mm 20mm 15mm!important;
  margin:0!important;
  overflow:hidden!important;
  background:#fff!important;
  color:#000!important;
}
.pm-print-portal .pm-print-page-body{
  display:block!important;
  position:static!important;
  width:180mm!important;
  height:259mm!important;
  min-height:259mm!important;
  max-height:259mm!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
}

/* IMPORTANTE: estas regras NÃO ficam apenas em @media print.
   O algoritmo de paginação precisa medir exatamente o mesmo layout que será impresso. */
.pm-print-portal .pm-music-sheet{
  display:contents!important;
}
.pm-print-portal .pm-print-meta{
  display:flex!important;
  margin:0 0 4mm!important;
  padding:0 0 2mm!important;
  break-inside:avoid!important;
}
.pm-print-portal .pm-song-section,
.pm-print-portal .pm-print-section-fragment{
  position:static!important;
  display:block!important;
  margin:0 0 3.2mm!important;
  padding:0!important;
  overflow:visible!important;
  break-inside:auto!important;
  page-break-inside:auto!important;
}
.pm-print-portal .pm-print-section-continuation{
  margin-top:0!important;
}
.pm-print-portal .pm-song-section-title{
  margin:2.2mm 0 1.8mm!important;
  padding:0!important;
  border:0!important;
  font-size:9.5pt!important;
  line-height:1.15!important;
  break-after:avoid!important;
}
.pm-print-portal .pm-lyric-line{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-end!important;
  width:100%!important;
  min-height:0!important;
  margin:1mm 0!important;
  padding:0!important;
  break-inside:avoid!important;
  page-break-inside:avoid!important;
}
.pm-print-portal .pm-chord-segment{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  min-width:0!important;
  break-inside:avoid!important;
}
.pm-print-portal .pm-inline-chord{
  display:block!important;
  min-height:3.45mm!important;
  line-height:3.45mm!important;
  font-size:9.4pt!important;
  font-weight:700!important;
  color:var(--pm-chord-color)!important;
  -webkit-print-color-adjust:exact!important;
  print-color-adjust:exact!important;
  white-space:nowrap!important;
}
.pm-print-portal .pm-inline-lyric{
  display:block!important;
  color:#000!important;
  font-size:10.8pt!important;
  line-height:1.18!important;
  white-space:pre-wrap!important;
}
.pm-print-portal .pm-chorus-section,
.pm-print-portal .pm-print-section-fragment.pm-chorus-section{
  border-left:1mm solid var(--pm-chord-color)!important;
  padding-left:3.5mm!important;
  -webkit-print-color-adjust:exact!important;
  print-color-adjust:exact!important;
}
.pm-print-portal .pm-song-prelude,
.pm-print-portal .pm-used-chords,
.pm-print-portal .pm-song-intro{
  margin:0 0 3.5mm!important;
  break-inside:avoid!important;
}
.pm-print-portal .pm-used-chords,
.pm-print-portal .pm-song-intro{
  padding:2.2mm!important;
  border:.25mm solid #d7dce2!important;
  border-radius:2mm!important;
  background:#fff!important;
}
.pm-print-portal .pm-used-chord,
.pm-print-portal .pm-note-cell-chord,
.pm-print-portal .pm-note-score-chord{
  color:var(--pm-chord-color)!important;
  -webkit-print-color-adjust:exact!important;
  print-color-adjust:exact!important;
}

/* Pequeno respiro ENTRE parágrafos musicais, sem desperdiçar a folha. */
.pm-print-portal .pm-song-section + .pm-song-section,
.pm-print-portal .pm-song-prelude + .pm-song-section{
  margin-top:1.6mm!important;
}

@media print{
  /* Garante paridade com a medição feita antes de abrir a prévia. */
  body.pm-print-song-active .pm-print-page,
  body.pm-print-song-active .pm-print-page-body,
  body.pm-print-song-active .pm-print-meta,
  body.pm-print-song-active .pm-song-section,
  body.pm-print-song-active .pm-print-section-fragment,
  body.pm-print-song-active .pm-song-section-title,
  body.pm-print-song-active .pm-lyric-line,
  body.pm-print-song-active .pm-chord-segment,
  body.pm-print-song-active .pm-inline-chord,
  body.pm-print-song-active .pm-inline-lyric,
  body.pm-print-song-active .pm-song-prelude,
  body.pm-print-song-active .pm-used-chords,
  body.pm-print-song-active .pm-song-intro{
    box-sizing:border-box!important;
  }
}


/* =========================================
   v0.4.21 — ADICIONAR NOTA
========================================= */
.pm-score-editor-actions .pm-add-note-button{
  border-color:#2f9e62!important;
  color:#21864f!important;
  font-weight:850!important;
}
.pm-score-editor-actions .pm-add-note-button:hover{
  background:#2f9e62!important;
  color:#fff!important;
}


/* ==========================================================
   v0.5.1 — PARTITURA MOBILE RECOVERY / FINAL OVERRIDE
   Último bloco do arquivo para neutralizar regras históricas.
========================================================== */
@media screen and (max-width:760px){
  .pm-song-content:has(.pm-score-mode){
    width:auto!important;
    max-width:none!important;
    margin-left:-4px!important;
    margin-right:-4px!important;
    overflow:visible!important;
  }

  .pm-song-workspace:has(.pm-score-mode){
    width:100%!important;
    max-width:100%!important;
    padding:3px!important;
    overflow:visible!important;
  }

  .pm-music-sheet.pm-score-mode{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:2px!important;
    border-radius:8px!important;
    overflow:visible!important;
  }

  .pm-music-sheet.pm-score-mode .pm-print-meta{
    margin:0 0 5px!important;
    padding:6px 7px!important;
  }

  .pm-music-sheet.pm-score-mode .pm-print-meta strong{
    font-size:14px!important;
    line-height:1.15!important;
  }

  .pm-music-sheet.pm-score-mode .pm-print-meta span{
    font-size:10px!important;
    line-height:1.2!important;
  }

  .pm-music-sheet.pm-score-mode .pm-mini-sibelius{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:2px!important;
    overflow:visible!important;
    border-radius:8px!important;
  }

  .pm-osmd-viewer{
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow-y:hidden!important;
    background:#fff!important;
    border-radius:6px!important;
    box-sizing:border-box!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
  }

  .pm-osmd-viewer.is-fit-width{overflow-x:hidden!important}
  .pm-osmd-viewer:not(.is-fit-width){overflow-x:auto!important}

  .pm-score-scale-shell{
    position:relative!important;
    display:block!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    transform-origin:0 0!important;
  }

  .pm-score-canvas{
    position:absolute!important;
    left:0!important;
    top:0!important;
    margin:0!important;
    padding:0!important;
    transform-origin:0 0!important;
  }

  .pm-score-canvas > svg{
    display:block!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
  }

  .pm-score-toolbar{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    z-index:2!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;
    max-width:100%!important;
    gap:5px!important;
    margin:0 0 6px!important;
    padding:6px!important;
    border-radius:8px!important;
    box-sizing:border-box!important;
  }

  .pm-score-toolbar button{
    width:100%!important;
    min-width:0!important;
    min-height:36px!important;
    margin:0!important;
    padding:0 5px!important;
    font-size:10.5px!important;
    line-height:1.05!important;
    white-space:normal!important;
  }

  .pm-score-toolbar label{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:6px!important;
    margin:0!important;
    font-size:10.5px!important;
  }

  .pm-score-toolbar input[type="range"]{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  .pm-score-toolbar [data-fit]{
    grid-column:1/-1!important;
    min-height:37px!important;
    font-weight:900!important;
  }

  .pm-score-toolbar [data-zout],
  .pm-score-toolbar [data-zin]{
    min-height:36px!important;
    font-size:17px!important;
  }

  .pm-score-toolbar [data-zlabel]{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    min-height:36px!important;
    font-size:13px!important;
    font-weight:900!important;
  }

  .pm-score-edit-button{
    grid-column:1/-1!important;
    margin:0!important;
  }

  .pm-score-status{
    width:100%!important;
    margin:4px 2px 6px!important;
    padding:0!important;
    font-size:10px!important;
    line-height:1.3!important;
  }

  .pm-osmd-viewer .osmd-cursor,
  .pm-osmd-viewer [class*="cursor"]{
    opacity:.02!important;
  }

  .pm-playing-halo{
    z-index:50!important;
    border-width:2px!important;
    background:color-mix(in srgb,var(--pm-halo-color,var(--pm-chord-color)) 4%,transparent)!important;
    box-shadow:
      0 0 0 1px #fff,
      0 0 5px 2px color-mix(in srgb,var(--pm-halo-color,var(--pm-chord-color)) 42%,transparent)!important;
  }

  .pm-score-editor{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    padding:9px!important;
  }

  .pm-note-editor-table{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .pm-score-editor-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
  }

  .pm-score-editor-actions button{
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    white-space:normal!important;
  }

  .pm-score-editor-actions .pm-primary{
    grid-column:1/-1!important;
  }
}

@media screen and (max-width:430px) and (orientation:portrait){
  .pm-song-content:has(.pm-score-mode){
    margin-left:-6px!important;
    margin-right:-6px!important;
  }
  .pm-song-workspace:has(.pm-score-mode){padding:1px!important}
  .pm-music-sheet.pm-score-mode{padding:1px!important}
  .pm-score-toolbar{gap:4px!important;padding:5px!important}
  .pm-score-toolbar button{
    min-height:35px!important;
    padding:0 3px!important;
    font-size:10px!important;
  }
  .pm-score-toolbar label{font-size:10px!important}
}

@media screen and (max-width:380px){
  .pm-score-toolbar button{font-size:9.5px!important}
  .pm-score-toolbar [data-zout],
  .pm-score-toolbar [data-zin]{font-size:16px!important}
}


/* ==========================================================
   v0.5.2 — MOBILE FEATURE PARITY
   Todas as funções principais do PC permanecem acessíveis no celular.
========================================================== */
@media screen and (max-width:760px){

  .pm-song-controls{
    position:relative!important;
    z-index:20!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    width:100%!important;
    overflow:visible!important;
  }

  .pm-song-controls > label,
  .pm-song-controls .pm-filter-group{
    width:100%!important;
    min-width:0!important;
    position:relative!important;
    z-index:21!important;
  }

  .pm-song-controls select{
    width:100%!important;
    min-height:44px!important;
  }

  .pm-tone-quick-buttons{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    width:100%!important;
    margin-top:7px!important;
    visibility:visible!important;
    opacity:1!important;
  }

  .pm-tone-quick-buttons .pm-original-key-button,
  .pm-tone-quick-buttons .pm-female-key-button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    margin:0!important;
    padding:7px 5px!important;
    font-size:11px!important;
    line-height:1.15!important;
    white-space:normal!important;
    touch-action:manipulation!important;
    pointer-events:auto!important;
  }

  [data-pm-song-levels]{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%!important;
    position:relative!important;
    z-index:25!important;
    overflow:visible!important;
  }

  [data-pm-song-levels] button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    padding:0!important;
    margin:0!important;
    touch-action:manipulation!important;
    pointer-events:auto!important;
    cursor:pointer!important;
    -webkit-tap-highlight-color:rgba(90,169,255,.18);
  }

  [data-pm-song-levels] button.is-selected{
    outline:2px solid color-mix(in srgb,var(--pm-accent-2) 72%,transparent)!important;
    outline-offset:1px!important;
    font-weight:900!important;
  }

  .pm-content-tabs{
    position:relative!important;
    z-index:20!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%!important;
  }

  .pm-content-tabs button{
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    padding:5px!important;
    line-height:1.15!important;
    white-space:normal!important;
    touch-action:manipulation!important;
    pointer-events:auto!important;
  }

  .pm-print-meta span{
    font-weight:800!important;
  }

  /* O conteúdo musical jamais deve capturar o toque destinado aos controles acima. */
  .pm-song-content{
    position:relative!important;
    z-index:1!important;
  }
}

@media screen and (max-width:390px){
  .pm-tone-quick-buttons .pm-original-key-button,
  .pm-tone-quick-buttons .pm-female-key-button{
    font-size:10px!important;
  }
  .pm-content-tabs button{
    font-size:10px!important;
  }
}


/* ==========================================================
   v0.5.3 — MOBILE CACHE/DEVICE SYNC
========================================================== */
.pm-version-badge{
  position:absolute;
  top:4px;
  right:6px;
  z-index:9999;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:22px;
  padding:2px 7px;
  border-radius:999px;
  background:#111827;
  color:#fff;
  font:700 10px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  opacity:.72;
  pointer-events:none;
}

@media screen and (max-width:760px){
  .pm-app{position:relative!important}

  [data-pm-original-key],
  [data-pm-female-key],
  [data-pm-tone-quick-buttons],
  [data-pm-song-levels],
  [data-pm-song-levels] button{
    visibility:visible!important;
    opacity:1!important;
  }

  [data-pm-original-key],
  [data-pm-female-key]{
    display:flex!important;
  }

  [data-pm-song-levels]{
    display:grid!important;
  }
}


/* ==========================================================
   v0.5.4 — ÁREA DE LEITURA AMPLIADA MOBILE
   Objetivo:
   - usar melhor a largura disponível;
   - Cifra, Solar Música e Partitura mais próximas das bordas
     internas do PlaMúsica;
   - controles superiores permanecem contidos e organizados;
   - NÃO é modo Teleprompter / Culto.
========================================================== */

@media screen and (max-width:760px){

  /*
   * Mantém cabeçalho/controles dentro da moldura,
   * mas deixa a região MUSICAL quase edge-to-edge.
   */
  .pm-song-workspace{
    overflow:visible!important;
  }

  .pm-song-content{
    width:calc(100% + 28px)!important;
    max-width:none!important;
    margin-left:-14px!important;
    margin-right:-14px!important;
    margin-top:9px!important;
    overflow:visible!important;
  }

  /*
   * Cartão branco principal:
   * reduz espaço desperdiçado sem colar texto na borda.
   */
  .pm-music-sheet{
    width:100%!important;
    max-width:none!important;
    padding:10px!important;
    border-radius:12px!important;
  }

  .pm-print-meta{
    padding:4px 4px 10px!important;
    margin-bottom:10px!important;
  }

  /* Cifra */
  .pm-song-prelude{
    margin-left:0!important;
    margin-right:0!important;
  }

  .pm-song-section{
    margin-left:1px!important;
    margin-right:1px!important;
  }

  .pm-used-chords,
  .pm-song-intro{
    padding:10px!important;
  }

  /*
   * Solar Música:
   * as caixas de seção também passam a aproveitar
   * praticamente toda a largura do cartão.
   */
  .pm-solo-note-sheet{
    width:100%!important;
    gap:12px!important;
  }

  .pm-solo-section{
    width:100%!important;
    max-width:none!important;
    padding:11px!important;
    border-radius:11px!important;
  }

  .pm-note-grid{
    width:100%!important;
    gap:6px!important;
  }

  .pm-note-cell{
    min-width:42px!important;
    padding-left:5px!important;
    padding-right:5px!important;
  }

  /*
   * Partitura:
   * preserva o mecanismo de escala/zoom da v0.5.1–0.5.3,
   * apenas entrega mais viewport horizontal ao motor.
   */
  .pm-song-content:has(.pm-score-mode){
    width:calc(100% + 32px)!important;
    margin-left:-16px!important;
    margin-right:-16px!important;
  }

  .pm-song-workspace:has(.pm-score-mode){
    padding-left:1px!important;
    padding-right:1px!important;
  }

  .pm-music-sheet.pm-score-mode{
    padding-left:1px!important;
    padding-right:1px!important;
  }

  .pm-music-sheet.pm-score-mode .pm-mini-sibelius{
    padding-left:1px!important;
    padding-right:1px!important;
  }

  /*
   * O editor inline não deve extrapolar a tela
   * apesar do conteúdo musical ampliado.
   */
  .pm-inline-editor,
  .pm-score-editor{
    max-width:100%!important;
  }
}

/* Celulares mais estreitos: ganha ainda alguns pixels. */
@media screen and (max-width:430px){
  .pm-app{
    padding-left:6px!important;
    padding-right:6px!important;
  }

  .pm-song-content{
    width:calc(100% + 32px)!important;
    margin-left:-16px!important;
    margin-right:-16px!important;
  }

  .pm-music-sheet{
    padding:8px!important;
  }

  .pm-solo-section{
    padding:9px!important;
  }

  .pm-song-content:has(.pm-score-mode){
    width:calc(100% + 36px)!important;
    margin-left:-18px!important;
    margin-right:-18px!important;
  }
}

/* Muito estreitos: segurança contra corte horizontal da página. */
@media screen and (max-width:360px){
  .pm-song-content{
    width:calc(100% + 26px)!important;
    margin-left:-13px!important;
    margin-right:-13px!important;
  }

  .pm-song-content:has(.pm-score-mode){
    width:calc(100% + 30px)!important;
    margin-left:-15px!important;
    margin-right:-15px!important;
  }
}


/* ==========================================================
   v0.5.5 — CURRENT VERSION / SELF-HEAL
========================================================== */
.pm-app[data-pm-ui-repaired="1"]{
  --pm-mobile-sync-ok:1;
}

@media screen and (max-width:760px){
  .pm-tone-quick-buttons,
  [data-pm-tone-quick-buttons]{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    visibility:visible!important;
    opacity:1!important;
  }

  [data-pm-original-key],
  [data-pm-female-key]{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
}


/* ==========================================================
   v0.6.0 — CONTEÚDO DINÂMICO DO GERENCIADOR
========================================================== */
.pm-managed-source-note{
  margin-top:14px;
  padding:10px 12px;
  border:1px solid rgba(70,120,180,.22);
  border-radius:10px;
  background:rgba(70,120,180,.07);
  font-size:12px;
  line-height:1.45;
  color:var(--pm-muted,#667085);
}

@media screen and (max-width:760px){
  .pm-managed-source-note{
    margin-left:2px;
    margin-right:2px;
    font-size:11px;
  }
}


/* v0.6.2 — diagnóstico de carregamento gerenciado */
.pm-load-diagnostic{
  margin-top:10px!important;
  padding:8px 10px!important;
  border-radius:8px!important;
  background:rgba(180,35,24,.06)!important;
  color:#9b2c22!important;
  font:600 11px/1.4 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;
  overflow-wrap:anywhere!important;
}


/* ==========================================================
   v0.8.0 — MISSÃO 006: BUSCA, CATEGORIAS, DARK SCORE, EDIÇÃO UNIVERSAL
========================================================== */
.pm-harpa-toolbar{display:grid!important;grid-template-columns:minmax(0,2fr) minmax(190px,.8fr) auto!important;gap:12px!important;align-items:end!important}
.pm-category-filter-field select{min-height:46px!important}
.pm-song-row-categories{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.pm-song-row-categories em,.pm-song-category-chip{display:inline-flex;padding:3px 7px;border-radius:999px;background:rgba(105,200,255,.12);border:1px solid rgba(105,200,255,.28);font-size:10px;font-style:normal;font-weight:800;color:#78cff7}.pm-song-categories{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}

/* Partitura permanece como folha branca mesmo quando o restante do app está escuro. */
.pm-app[data-reading-theme="dark"] .pm-score-mode,
.pm-app[data-reading-theme="dark"] .pm-score-mode .pm-mini-sibelius,
.pm-app[data-reading-theme="dark"] .pm-score-mode .pm-osmd-viewer{background:#fff!important;color:#111827!important;border-color:#d7dde5!important}
/* SVG da partitura sem override de fill/stroke: preserva atributos originais do MusicXML/OSMD. */
.pm-app[data-reading-theme="dark"] .pm-score-mode .pm-score-toolbar{background:#f6f8fa!important;border-color:#d9dfe6!important;color:#111827!important}
.pm-app[data-reading-theme="dark"] .pm-score-mode .pm-score-toolbar label{color:#1f2937!important}
.pm-app[data-reading-theme="dark"] .pm-score-mode .pm-score-status{color:#657180!important}
.pm-app[data-reading-theme="dark"] .pm-score-mode .pm-score-editor{background:#fff!important;color:#111827!important;border-color:#d7dde5!important}
.pm-app[data-reading-theme="dark"] .pm-score-mode .pm-score-editor-help{color:#364152!important}

/* Refrão legível no modo escuro. */
.pm-app[data-reading-theme="dark"] .pm-chorus-section{background:#240d13!important;border-left-color:var(--pm-chord-color)!important}
.pm-app[data-reading-theme="dark"] .pm-chorus-section .pm-inline-lyric,
.pm-app[data-reading-theme="dark"] .pm-chorus-section .pm-song-section-title{color:#fff!important}
.pm-app[data-reading-theme="dark"] .pm-chorus-section .pm-inline-chord{color:#ff5b68!important}

/* Editor completo de partitura: coluna de compasso + novos botões. */
.pm-note-editor-row{grid-template-columns:34px 38px 52px minmax(88px,.7fr) minmax(72px,.6fr) minmax(150px,1fr) minmax(125px,1fr)!important;min-width:740px!important}
.pm-measure-number{display:flex;align-items:center;justify-content:center;font-weight:800;color:#64748b}
.pm-score-editor-actions .pm-add-measure-button{border-color:#2f855a!important;color:#166534!important}
.pm-score-editor-actions .pm-delete-measure-button{border-color:#ef4444!important;color:#b42318!important}

@media(max-width:760px){
  .pm-harpa-toolbar{grid-template-columns:1fr!important}
  .pm-category-filter-field{width:100%!important}
  .pm-song-row-categories{margin-top:4px}
  .pm-score-editor-actions{grid-template-columns:1fr 1fr!important}
}


/* ==========================================================
   v0.9.0 — PARTITURA LIGHT-ISLAND + PUBLICAÇÃO MODULAR
========================================================== */
.pm-content-publication-badge{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:900}.pm-content-publication-badge.is-published{background:#e7f7ed;color:#176b39;border:1px solid #b7e4c7}.pm-content-publication-badge.is-draft{background:#fff4da;color:#8a5b00;border:1px solid #f0d898}

/* A partitura é tratada como uma folha física clara, independentemente do tema do app. */
.pm-app[data-reading-theme="dark"] .pm-music-sheet.pm-score-mode,
.pm-app[data-reading-theme="dark"] .pm-music-sheet.pm-score-mode .pm-mini-sibelius,
.pm-app[data-reading-theme="dark"] .pm-music-sheet.pm-score-mode .pm-osmd-viewer,
.pm-app[data-reading-theme="dark"] .pm-music-sheet.pm-score-mode .pm-score-scale-shell,
.pm-app[data-reading-theme="dark"] .pm-music-sheet.pm-score-mode .pm-score-canvas{
  background:#fff!important;
  color:#111827!important;
  border-color:#d7dde5!important;
  color-scheme:light!important;
  filter:none!important;
}
.pm-app[data-reading-theme="dark"] .pm-music-sheet.pm-score-mode .pm-osmd-viewer svg{
  background:#fff!important;
  color:#000!important;
  filter:none!important;
  opacity:1!important;
}
/* Não definir fill/stroke nos elementos internos: o OSMD mantém cabeças, hastes, claves, acidentes e cifras corretamente. */
.pm-app[data-reading-theme="dark"] .pm-music-sheet.pm-score-mode .pm-score-toolbar,
.pm-app[data-reading-theme="dark"] .pm-music-sheet.pm-score-mode .pm-score-editor{
  background:#f6f8fa!important;
  color:#111827!important;
  border-color:#d9dfe6!important;
  color-scheme:light!important;
}
.pm-app[data-reading-theme="dark"] .pm-music-sheet.pm-score-mode .pm-score-toolbar button,
.pm-app[data-reading-theme="dark"] .pm-music-sheet.pm-score-mode .pm-score-editor button,
.pm-app[data-reading-theme="dark"] .pm-music-sheet.pm-score-mode .pm-score-editor input,
.pm-app[data-reading-theme="dark"] .pm-music-sheet.pm-score-mode .pm-score-editor select{
  background:#fff!important;
  color:#111827!important;
}
.pm-app[data-reading-theme="dark"] .pm-music-sheet.pm-score-mode .pm-print-meta strong{color:#111827!important}
.pm-app[data-reading-theme="dark"] .pm-music-sheet.pm-score-mode .pm-print-meta span,
.pm-app[data-reading-theme="dark"] .pm-music-sheet.pm-score-mode .pm-score-status{color:#5f6b7a!important}


/* ==========================================================
   v1.0.0 — MISSÃO 008-A · PLAMÚSICA EXPERIENCE 2.0
   Design system premium sem alterar o motor musical.
========================================================== */
.pm-app{
  --pm-bg:#06101c;
  --pm-panel:#0a1726;
  --pm-panel-2:#102239;
  --pm-panel-3:#142a44;
  --pm-text:#f7fbff;
  --pm-muted:#93a7bd;
  --pm-accent:#5bc0ff;
  --pm-accent-2:#72dcff;
  --pm-violet:#8b7cff;
  --pm-gold:#e7bd62;
  --pm-success:#5fdaa0;
  max-width:1440px!important;
  padding:0!important;
  overflow:hidden;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 10% -10%,rgba(91,192,255,.13),transparent 25%),
    radial-gradient(circle at 90% 0,rgba(139,124,255,.10),transparent 24%),
    linear-gradient(180deg,#07111d 0%,#050c15 100%)!important;
  box-shadow:0 28px 80px rgba(0,0,0,.28);
}

.pm-xp-header{
  min-height:78px;
  padding:14px 24px!important;
  gap:18px!important;
  background:rgba(5,13,23,.82);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.07)!important;
  position:relative;
  z-index:80;
}
.pm-xp-brand-wrap{display:flex;align-items:center;gap:12px;min-width:max-content}
.pm-xp-mark{
  width:44px;height:44px;border-radius:14px;display:grid;place-items:center;
  font-size:23px;font-weight:900;color:#04111d;
  background:linear-gradient(135deg,var(--pm-accent-2),var(--pm-accent));
  box-shadow:0 10px 28px rgba(91,192,255,.24);
}
.pm-xp-header .pm-brand{font-size:25px!important;margin:1px 0 0!important;letter-spacing:-.045em}
.pm-xp-header .pm-tagline{font-size:11px!important;margin:3px 0 0!important}
.pm-xp-header .pm-eyebrow{font-size:9px!important;letter-spacing:.18em}
.pm-xp-nav{display:flex;align-items:center;justify-content:center;gap:3px;flex:1}
.pm-xp-nav-link{
  appearance:none;border:0;background:transparent;color:var(--pm-muted);
  padding:10px 12px;border-radius:11px;font:700 12px/1 inherit;cursor:pointer;
  transition:.18s ease;
}
.pm-xp-nav-link:hover,.pm-xp-nav-link.is-current{color:#fff;background:rgba(255,255,255,.055)}
.pm-xp-icon-btn{width:44px!important;min-width:44px!important;padding:0!important;font-size:0!important}
.pm-xp-icon-btn::first-letter{font-size:18px}
.pm-xp-color-control{min-width:150px}
.pm-xp-color-control span{font-size:9px!important;margin-bottom:4px!important}
.pm-xp-color-control select{min-height:38px!important;font-size:11px!important}

.pm-xp-home{padding:0!important}
.pm-xp-hero{
  position:relative;min-height:520px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);
  gap:30px;align-items:center;padding:64px clamp(24px,5vw,76px) 54px;overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:
    linear-gradient(90deg,rgba(6,16,28,.96) 0%,rgba(6,16,28,.80) 48%,rgba(6,16,28,.35) 100%),
    radial-gradient(circle at 82% 28%,rgba(91,192,255,.14),transparent 25%),
    radial-gradient(circle at 78% 72%,rgba(139,124,255,.14),transparent 27%);
}
.pm-xp-hero-copy{position:relative;z-index:3;max-width:760px}
.pm-xp-pill{
  display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;
  border:1px solid rgba(114,220,255,.25);background:rgba(91,192,255,.08);
  color:var(--pm-accent-2);font-size:10px;font-weight:900;letter-spacing:.16em;
}
.pm-xp-hero h3{
  margin:16px 0 14px;font-size:clamp(42px,6vw,78px);line-height:.98;letter-spacing:-.055em;max-width:820px;
}
.pm-xp-hero h3 span{background:linear-gradient(135deg,#fff 0%,var(--pm-accent-2) 55%,var(--pm-violet) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.pm-xp-hero p{max-width:700px;margin:0;color:#a8bbcf;font-size:clamp(15px,1.8vw,19px);line-height:1.65}
.pm-xp-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.pm-xp-cta{min-height:50px!important;border-radius:14px!important;padding:0 20px!important}
.pm-xp-hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.pm-xp-hero-meta span{padding:7px 10px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.035);font-size:10px;font-weight:800;color:#b6c7d9}

.pm-xp-hero-visual{position:relative;min-height:390px;display:grid;place-items:center;z-index:2}
.pm-xp-piano{width:178px;height:178px;border-radius:44px;display:grid;place-items:center;font-size:82px;background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.11);box-shadow:0 35px 80px rgba(0,0,0,.36),0 0 80px rgba(91,192,255,.08);position:relative;z-index:3}
.pm-xp-orbit{position:absolute;border:1px solid rgba(114,220,255,.16);border-radius:50%}
.pm-xp-orbit-one{width:310px;height:310px}
.pm-xp-orbit-two{width:390px;height:390px;border-color:rgba(139,124,255,.12)}
.pm-xp-note-card{position:absolute;z-index:4;width:120px;padding:11px 12px;border-radius:15px;background:rgba(13,31,51,.88);border:1px solid rgba(255,255,255,.10);box-shadow:0 15px 40px rgba(0,0,0,.28);backdrop-filter:blur(14px)}
.pm-xp-note-card strong{display:block;color:var(--pm-accent-2);font-size:20px}.pm-xp-note-card span{display:block;margin-top:4px;color:#9fb4c8;font-size:10px}
.pm-xp-note-a{top:34px;left:16px}.pm-xp-note-b{right:10px;top:105px}.pm-xp-note-c{bottom:24px;left:48px}
.pm-xp-hero-glow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.32;pointer-events:none}.pm-xp-hero-glow-a{width:260px;height:260px;background:#35a9ff;right:18%;top:12%}.pm-xp-hero-glow-b{width:230px;height:230px;background:#7b68ff;right:2%;bottom:8%}

.pm-xp-shelf{padding:42px clamp(22px,4vw,58px) 12px}
.pm-xp-shelf-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}
.pm-xp-shelf-head h3,.pm-xp-journey h3{margin:5px 0 0;font-size:clamp(24px,3.2vw,36px);letter-spacing:-.035em}
.pm-xp-shelf-hint{color:var(--pm-muted);font-size:11px;font-weight:800}
.pm-xp-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pm-xp-feature-card{
  position:relative;min-height:220px;padding:22px;text-align:left;color:var(--pm-text);
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.022));
  border:1px solid rgba(255,255,255,.09);border-radius:22px;cursor:pointer;overflow:hidden;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.pm-xp-feature-card::after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-48px;top:-48px;background:radial-gradient(circle,rgba(91,192,255,.16),transparent 68%)}
.pm-xp-feature-card:hover{transform:translateY(-4px);border-color:rgba(91,192,255,.42);box-shadow:0 22px 46px rgba(0,0,0,.22)}
.pm-xp-feature-card.is-featured{background:linear-gradient(145deg,rgba(91,192,255,.12),rgba(255,255,255,.025))}
.pm-xp-card-icon{font-size:28px;display:block;margin-bottom:22px}.pm-xp-card-kicker{display:block;color:var(--pm-accent-2);font-size:9px;font-weight:900;letter-spacing:.16em;margin-bottom:6px}.pm-xp-feature-card strong{display:block;font-size:22px;letter-spacing:-.025em}.pm-xp-feature-card small{display:block;margin-top:8px;color:var(--pm-muted);line-height:1.5;max-width:320px}.pm-xp-card-action{display:block;margin-top:18px;color:#fff;font-size:11px;font-weight:900}

.pm-xp-tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pm-xp-tool-card{min-height:140px;padding:18px;text-align:left;color:var(--pm-text);background:rgba(255,255,255,.028);border:1px solid rgba(255,255,255,.075);border-radius:18px;cursor:pointer;transition:.18s ease}.pm-xp-tool-card:hover{background:rgba(91,192,255,.075);border-color:rgba(91,192,255,.32);transform:translateY(-2px)}.pm-xp-tool-card>span{display:block;font-size:25px;margin-bottom:14px}.pm-xp-tool-card strong{display:block;font-size:16px}.pm-xp-tool-card small{display:block;margin-top:6px;color:var(--pm-muted);line-height:1.45}

.pm-xp-journey{margin:42px clamp(22px,4vw,58px) 58px;padding:28px;border-radius:24px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(139,124,255,.08),rgba(91,192,255,.06));display:grid;grid-template-columns:1.4fr .6fr;gap:28px;align-items:center}.pm-xp-journey p{color:var(--pm-muted);max-width:760px}.pm-xp-levels{display:flex;justify-content:flex-end;gap:8px}.pm-xp-levels span{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03);font-weight:900;color:#8da0b4}.pm-xp-levels span.is-live{color:#05101b;background:linear-gradient(135deg,var(--pm-accent-2),var(--pm-accent));box-shadow:0 8px 28px rgba(91,192,255,.24)}

.pm-xp-mobile-nav{display:none}

/* Telas internas ganham moldura premium sem mexer no motor. */
.pm-screen{padding:28px clamp(18px,3vw,36px) 40px!important}
.pm-harpa-shell,.pm-tool-card,.pm-library-demo{box-shadow:0 18px 55px rgba(0,0,0,.13)}

@media (max-width:1100px){
  .pm-xp-nav{display:none}
  .pm-xp-hero{grid-template-columns:1fr .72fr}
  .pm-xp-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:760px){
  .pm-app{border-radius:0!important;padding-bottom:76px!important}
  .pm-xp-header{min-height:64px;padding:10px 14px!important;position:sticky!important;top:0!important}
  .pm-xp-mark{width:38px;height:38px;border-radius:12px;font-size:20px}
  .pm-xp-header .pm-brand{font-size:20px!important}.pm-xp-header .pm-tagline,.pm-xp-header .pm-eyebrow{display:none}
  .pm-xp-color-control{display:none!important}
  .pm-xp-hero{min-height:auto;grid-template-columns:1fr;padding:42px 18px 34px}
  .pm-xp-hero h3{font-size:clamp(38px,12vw,56px)}
  .pm-xp-hero p{font-size:15px}
  .pm-xp-hero-visual{min-height:240px;margin-top:6px}.pm-xp-piano{width:132px;height:132px;border-radius:34px;font-size:60px}.pm-xp-orbit-one{width:205px;height:205px}.pm-xp-orbit-two{width:255px;height:255px}.pm-xp-note-card{width:98px;padding:9px}.pm-xp-note-card strong{font-size:16px}.pm-xp-note-a{top:8px;left:6px}.pm-xp-note-b{right:0;top:60px}.pm-xp-note-c{left:24px;bottom:0}
  .pm-xp-hero-actions{display:grid;grid-template-columns:1fr 1fr}.pm-xp-cta{width:100%;min-width:0!important;padding:0 8px!important;font-size:11px!important}
  .pm-xp-hero-meta{gap:6px}.pm-xp-hero-meta span{font-size:9px}
  .pm-xp-shelf{padding:30px 14px 4px}.pm-xp-shelf-head{align-items:center}.pm-xp-shelf-head h3{font-size:25px}
  .pm-xp-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch}.pm-xp-feature-card{min-width:82%;scroll-snap-align:start;min-height:210px}
  .pm-xp-tool-grid{grid-template-columns:1fr 1fr;gap:8px}.pm-xp-tool-card{min-height:138px;padding:14px}.pm-xp-tool-card small{font-size:10px}
  .pm-xp-journey{margin:30px 14px 24px;padding:20px;grid-template-columns:1fr}.pm-xp-levels{justify-content:flex-start}.pm-xp-levels span{width:42px;height:42px}
  .pm-xp-mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:99999;display:grid;grid-template-columns:repeat(5,1fr);padding:7px max(6px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));background:rgba(5,13,23,.96);border-top:1px solid rgba(255,255,255,.09);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .pm-xp-mobile-nav button{appearance:none;border:0;background:transparent;color:#8fa4b9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;font-weight:800}.pm-xp-mobile-nav button span{font-size:19px}.pm-xp-mobile-nav button small{font-size:8px;letter-spacing:.02em}
  .pm-screen{padding:18px 10px 28px!important}
}

@media (max-width:390px){
  .pm-xp-tool-grid{grid-template-columns:1fr}
  .pm-xp-feature-card{min-width:88%}
  .pm-xp-hero-actions{grid-template-columns:1fr}
}

/* Tema claro da Experience sem afetar folha branca da partitura. */
.pm-app[data-theme="light"] .pm-xp-header{background:rgba(248,251,255,.9)}
.pm-app[data-theme="light"] .pm-xp-hero{background:linear-gradient(90deg,rgba(246,250,255,.98),rgba(242,247,252,.92)),radial-gradient(circle at 82% 28%,rgba(91,192,255,.12),transparent 25%)}
.pm-app[data-theme="light"] .pm-xp-feature-card,.pm-app[data-theme="light"] .pm-xp-tool-card{background:rgba(255,255,255,.68)}


/* v1.1.0 — MISSÃO 008-B */
.pm-xp-mobile-menu-wrap{display:none}.pm-xp-text-action{appearance:none;border:0;background:transparent;color:var(--pm-accent-2);font-weight:900;font-size:11px;cursor:pointer;padding:8px 0}.pm-xp-song-rail{display:flex;gap:13px;overflow-x:auto;padding:2px 2px 12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.pm-xp-song-card{position:relative;isolation:isolate;overflow:hidden;flex:0 0 245px;min-height:236px;padding:20px;text-align:left;color:var(--pm-text);background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.018));border:1px solid rgba(255,255,255,.085);border-radius:20px;cursor:pointer;scroll-snap-align:start;transition:.18s ease;box-shadow:0 14px 34px rgba(0,0,0,.12)}.pm-xp-song-card:hover{transform:translateY(-3px);border-color:rgba(91,192,255,.42)}.pm-xp-song-card-glow{position:absolute;right:-42px;top:-46px;width:145px;height:145px;border-radius:50%;background:radial-gradient(circle,rgba(91,192,255,.24),transparent 68%);z-index:-1}.pm-xp-song-number{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:30px;padding:0 9px;border:1px solid rgba(91,192,255,.28);border-radius:999px;background:rgba(91,192,255,.08);color:var(--pm-accent-2);font-size:11px;font-weight:950;letter-spacing:.08em}.pm-xp-song-collection{display:block;margin-top:24px;color:#8196aa;font-size:8px;font-weight:950;letter-spacing:.18em}.pm-xp-song-card strong{display:block;margin-top:7px;font-size:19px;line-height:1.12}.pm-xp-song-meta{display:block;margin-top:8px;color:var(--pm-muted);font-size:10px}.pm-xp-song-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:15px}.pm-xp-song-badges em{font-style:normal;padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.065);font-size:8px;font-weight:850;color:#b8c9da}.pm-xp-song-open{display:block;margin-top:18px;color:#fff;font-size:10px;font-weight:950}.pm-xp-category-rail{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 10px}.pm-xp-category-card{flex:0 0 170px;min-height:104px;padding:15px;text-align:left;color:var(--pm-text);background:rgba(255,255,255,.028);border:1px solid rgba(255,255,255,.075);border-radius:17px;cursor:pointer}.pm-xp-category-card>span{color:var(--pm-violet);font-size:18px}.pm-xp-category-card strong{display:block;margin-top:11px;font-size:14px}.pm-xp-category-card small{display:block;margin-top:4px;color:var(--pm-muted);font-size:9px}.pm-app[data-reading-theme="light"] .pm-xp-song-card,.pm-app[data-reading-theme="light"] .pm-xp-category-card{background:rgba(255,255,255,.78);border-color:rgba(25,55,85,.10)}.pm-app[data-reading-theme="light"] .pm-xp-song-open{color:#14304c}
@media screen and (max-width:760px){.pm-xp-header{position:relative!important;padding-right:82px!important}.pm-top-actions{display:none!important}.pm-xp-mobile-menu-wrap{display:block;position:absolute;top:13px;right:11px;z-index:100050}.pm-xp-mobile-menu-trigger{appearance:none;display:flex;align-items:center;justify-content:center;gap:6px;min-width:64px;min-height:48px;padding:0 10px;border:1px solid rgba(91,192,255,.42);border-radius:15px;background:linear-gradient(145deg,rgba(91,192,255,.18),rgba(123,104,255,.12));color:#eef9ff;font-size:10px;font-weight:950;box-shadow:0 8px 26px rgba(0,0,0,.24);backdrop-filter:blur(14px)}.pm-xp-mobile-menu-icon{font-size:20px}.pm-xp-mobile-menu{position:absolute;right:0;top:57px;width:min(330px,calc(100vw - 24px));padding:12px;border:1px solid rgba(91,192,255,.28);border-radius:20px;background:rgba(5,14,25,.985);box-shadow:0 22px 60px rgba(0,0,0,.48);backdrop-filter:blur(22px)}.pm-xp-mobile-menu[hidden]{display:none!important}.pm-xp-mobile-menu-head{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 12px}.pm-xp-mobile-menu-head strong{display:block;color:#fff;font-size:15px}.pm-xp-mobile-menu-head small{display:block;color:#8096aa;font-size:9px}.pm-xp-mobile-menu-close{width:36px;height:36px;border:1px solid rgba(255,255,255,.10);border-radius:11px;background:rgba(255,255,255,.04);color:#fff;font-size:22px}.pm-xp-mobile-theme-action{width:100%;display:grid;grid-template-columns:48px 1fr;align-items:center;text-align:left;gap:10px;padding:11px;border:1px solid rgba(91,192,255,.34);border-radius:15px;background:linear-gradient(135deg,rgba(91,192,255,.16),rgba(123,104,255,.10));color:#fff}.pm-theme-action-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#08192b;border:1px solid rgba(91,192,255,.32);font-size:24px}.pm-theme-action-copy strong{display:block;font-size:14px}.pm-theme-action-copy small{display:block;margin-top:3px;color:#a8bbce;font-size:9px}.pm-xp-mobile-color-control{display:block;margin-top:9px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.025)}.pm-xp-mobile-color-control>span{display:block;margin-bottom:6px;color:#9db0c2;font-size:9px;font-weight:900;text-transform:uppercase}.pm-xp-mobile-color-control select{width:100%;min-height:43px!important;background:#09192a!important;color:#fff!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:11px!important}.pm-xp-mobile-menu-links{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.pm-xp-mobile-menu-links button{min-height:44px;padding:8px 9px;text-align:left;border:1px solid rgba(255,255,255,.075);border-radius:12px;background:rgba(255,255,255,.025);color:#d9e7f4;font-size:10px;font-weight:800}.pm-app[data-reading-theme="light"] .pm-xp-mobile-menu{background:rgba(248,252,255,.985)}.pm-app[data-reading-theme="light"] .pm-xp-mobile-menu-head strong,.pm-app[data-reading-theme="light"] .pm-xp-mobile-theme-action{color:#0d2237}.pm-app[data-reading-theme="light"] .pm-xp-mobile-theme-action{background:linear-gradient(135deg,#eaf7ff,#f1efff);border-color:#b9def7}.pm-app[data-reading-theme="light"] .pm-theme-action-icon{background:#fff}.pm-app[data-reading-theme="light"] .pm-xp-mobile-color-control{background:#fff}.pm-app[data-reading-theme="light"] .pm-xp-mobile-color-control select{background:#fff!important;color:#152638!important}.pm-app[data-reading-theme="light"] .pm-xp-mobile-menu-links button{background:#fff;color:#173047}.pm-xp-song-card{flex-basis:78%;min-height:220px;padding:17px}.pm-xp-category-card{flex-basis:150px}.pm-xp-dynamic-shelf .pm-xp-shelf-head h3{font-size:20px}}
@media screen and (max-width:390px){.pm-xp-header{padding-right:72px!important}.pm-xp-mobile-menu-wrap{right:8px;top:10px}.pm-xp-mobile-menu-trigger{min-width:58px;min-height:45px;padding:0 7px}.pm-xp-mobile-menu-trigger>span:last-child{display:none}.pm-xp-song-card{flex-basis:84%}}


/* ==========================================================
   v1.2.0 — MISSÃO 008-C · CATÁLOGO HARPA + GOSPEL 2.0
========================================================== */
.pm-catalog-hero{position:relative;overflow:hidden}
.pm-catalog-hero::after{content:"";position:absolute;width:320px;height:320px;right:-120px;top:-170px;border-radius:50%;background:radial-gradient(circle,rgba(93,198,255,.2),transparent 67%);pointer-events:none}
.pm-library-switcher{display:flex;gap:8px;margin:18px 0;padding:6px;border:1px solid var(--pm-border);border-radius:16px;background:color-mix(in srgb,var(--pm-panel) 88%,transparent);width:max-content;max-width:100%}
.pm-library-switcher button{border:0;background:transparent;color:var(--pm-muted);min-height:44px;padding:0 18px;border-radius:11px;font-weight:850;cursor:pointer}
.pm-library-switcher button.is-active{background:var(--pm-accent);color:#06111c;box-shadow:0 8px 24px rgba(83,188,247,.18)}
.pm-catalog-2-shell{display:block!important}
.pm-catalog-2{border:1px solid var(--pm-border);border-radius:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--pm-panel) 94%,transparent),color-mix(in srgb,var(--pm-bg) 92%,transparent));padding:18px}
.pm-global-search-card{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr);gap:20px;align-items:center;padding:18px;border:1px solid color-mix(in srgb,var(--pm-accent) 28%,var(--pm-border));border-radius:18px;background:radial-gradient(circle at 92% 0%,rgba(89,194,255,.12),transparent 34%),color-mix(in srgb,var(--pm-panel) 94%,transparent)}
.pm-global-search-copy{display:grid;gap:5px}.pm-global-search-copy strong{font-size:18px}.pm-global-search-copy small{color:var(--pm-muted);line-height:1.45}
.pm-global-search-field{position:relative;display:flex;align-items:center;gap:10px;min-height:58px;padding:0 12px 0 16px;border:1px solid color-mix(in srgb,var(--pm-accent) 55%,var(--pm-border));border-radius:16px;background:var(--pm-bg);box-shadow:0 0 0 3px rgba(80,185,245,.05)}
.pm-global-search-field>span{font-size:25px;color:var(--pm-accent)}
.pm-global-search-field input{flex:1;min-width:0;border:0!important;outline:0!important;background:transparent!important;color:var(--pm-text)!important;font-size:16px;box-shadow:none!important}
.pm-global-search-field button{width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:var(--pm-muted);font-size:22px;cursor:pointer}
.pm-catalog-filter-panel{margin-top:14px;padding:14px;border:1px solid var(--pm-border);border-radius:16px;background:color-mix(in srgb,var(--pm-panel) 78%,transparent)}
.pm-catalog-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(125px,1fr));gap:10px}
.pm-catalog-filter-grid .pm-field{margin:0}.pm-catalog-filter-grid select{width:100%;min-height:42px}
.pm-catalog-filter-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}
.pm-view-toggle{display:inline-flex;padding:4px;border:1px solid var(--pm-border);border-radius:11px;background:var(--pm-bg)}
.pm-view-toggle button{width:40px;height:34px;border:0;border-radius:8px;background:transparent;color:var(--pm-muted);font-size:18px;cursor:pointer}
.pm-view-toggle button.is-active{background:var(--pm-accent);color:#07121c}
.pm-catalog-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 2px 10px}
.pm-catalog-summary>div:first-child{display:flex;align-items:baseline;gap:9px}.pm-catalog-summary strong{font-size:19px}.pm-catalog-summary>div:first-child span{color:var(--pm-muted)}
.pm-catalog-summary-badges{display:flex;flex-wrap:wrap;gap:6px}.pm-catalog-summary-badges span{padding:6px 9px;border:1px solid var(--pm-border);border-radius:999px;color:var(--pm-muted);font-size:11px;font-weight:800}
.pm-song-catalog-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pm-catalog-song-card{appearance:none;width:100%;min-width:0;display:flex;flex-direction:column;gap:9px;text-align:left;padding:16px;border:1px solid var(--pm-border);border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--pm-panel) 96%,transparent),color-mix(in srgb,var(--pm-bg) 88%,transparent));color:var(--pm-text);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.pm-catalog-song-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--pm-accent) 55%,var(--pm-border));box-shadow:0 16px 38px rgba(0,0,0,.16)}
.pm-catalog-card-top{display:flex;align-items:center;gap:7px}.pm-catalog-number{min-width:43px;padding:5px 8px;border-radius:9px;background:color-mix(in srgb,var(--pm-accent) 18%,transparent);color:var(--pm-accent);font-size:12px;font-weight:950;text-align:center}
.pm-catalog-collection{color:var(--pm-muted);font-size:10px;font-weight:900;letter-spacing:.09em}.pm-catalog-draft{margin-left:auto;padding:4px 6px;border-radius:7px;background:rgba(219,166,23,.13);color:#c78d00;font-size:9px;font-weight:900}
.pm-catalog-song-card>strong{font-size:17px;line-height:1.2}.pm-catalog-card-meta{color:var(--pm-muted);font-size:12px}
.pm-catalog-snippet{min-height:34px;color:color-mix(in srgb,var(--pm-text) 78%,var(--pm-muted));font-size:12px;line-height:1.42;font-style:italic;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.pm-catalog-content-badges{display:flex;flex-wrap:wrap;gap:5px}.pm-catalog-content-badges em{font-style:normal;padding:5px 7px;border-radius:8px;background:color-mix(in srgb,var(--pm-muted) 9%,transparent);color:color-mix(in srgb,var(--pm-muted) 78%,transparent);font-size:10px;font-weight:800}
.pm-catalog-content-badges em.is-on{background:color-mix(in srgb,var(--pm-accent) 13%,transparent);color:var(--pm-accent)}
.pm-catalog-card-foot{display:flex;justify-content:space-between;gap:8px;align-items:center;padding-top:10px;margin-top:auto;border-top:1px solid var(--pm-border)}.pm-catalog-card-foot small{color:var(--pm-muted);font-size:10px}.pm-catalog-card-foot b{color:var(--pm-accent);font-size:11px}
.pm-song-list.is-list-view{display:flex!important;flex-direction:column!important;gap:7px!important}
.pm-song-list.is-list-view .pm-catalog-song-card{display:grid;grid-template-columns:160px minmax(220px,1fr) minmax(180px,.8fr) auto;align-items:center;gap:12px;padding:12px 14px}
.pm-song-list.is-list-view .pm-catalog-card-top{grid-column:1}.pm-song-list.is-list-view .pm-catalog-song-card>strong{grid-column:2;grid-row:1}.pm-song-list.is-list-view .pm-catalog-card-meta{grid-column:2;grid-row:2}.pm-song-list.is-list-view .pm-catalog-snippet{display:none}.pm-song-list.is-list-view .pm-catalog-content-badges{grid-column:3;grid-row:1/3}.pm-song-list.is-list-view .pm-catalog-card-foot{grid-column:4;grid-row:1/3;border:0;padding:0}.pm-song-list.is-list-view .pm-catalog-card-foot small{display:none}
.pm-catalog-empty{grid-column:1/-1;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px dashed var(--pm-border);border-radius:16px;color:var(--pm-muted);text-align:center}.pm-catalog-empty>span{font-size:36px;color:var(--pm-accent)}.pm-catalog-empty strong{color:var(--pm-text);font-size:17px}.pm-catalog-empty p{margin:0}
@media(max-width:1100px){.pm-catalog-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pm-song-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .pm-library-switcher{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px}.pm-library-switcher button{min-width:0;padding:0 5px;font-size:11px}
  .pm-catalog-2{padding:8px;border-radius:14px}.pm-global-search-card{grid-template-columns:1fr;gap:12px;padding:12px}.pm-global-search-copy strong{font-size:16px}.pm-global-search-field{min-height:54px}.pm-global-search-field input{font-size:16px!important}
  .pm-catalog-filter-grid{grid-template-columns:1fr 1fr;gap:7px}.pm-catalog-filter-panel{padding:9px}.pm-catalog-filter-actions{align-items:stretch}.pm-catalog-filter-actions>.pm-secondary{flex:1}
  .pm-catalog-summary{align-items:flex-start;flex-direction:column;gap:8px}.pm-catalog-summary-badges{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.pm-catalog-summary-badges span{text-align:center;padding:6px 3px;font-size:9px}
  .pm-song-catalog-grid{grid-template-columns:1fr!important;gap:8px}.pm-catalog-song-card{padding:13px}.pm-catalog-song-card>strong{font-size:16px}
  .pm-song-list.is-list-view .pm-catalog-song-card{display:flex;flex-direction:column;align-items:stretch}.pm-song-list.is-list-view .pm-catalog-card-foot{display:flex;border-top:1px solid var(--pm-border);padding-top:8px}.pm-song-list.is-list-view .pm-catalog-card-foot small{display:block}
}
@media(max-width:410px){.pm-catalog-filter-grid{grid-template-columns:1fr}.pm-library-switcher button{font-size:10px}}


/* ==========================================================
   v1.2.1 — REFINAMENTO VISUAL EXPERIENCE 2.0
========================================================== */

/* Botão tema — DESKTOP */
.pm-xp-icon-btn{
  width:auto!important;
  min-width:148px!important;
  min-height:42px!important;
  padding:0 15px!important;
  border:1px solid rgba(114,220,255,.48)!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,rgba(61,172,238,.24),rgba(126,105,255,.18))!important;
  color:#f4fbff!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.01em!important;
  box-shadow:0 8px 26px rgba(0,0,0,.20),inset 0 0 0 1px rgba(255,255,255,.025)!important;
  text-shadow:none!important;
  white-space:nowrap!important;
}
.pm-xp-icon-btn::first-letter{font-size:inherit!important}
.pm-xp-icon-btn:hover{
  border-color:rgba(114,220,255,.82)!important;
  background:linear-gradient(135deg,rgba(61,172,238,.36),rgba(126,105,255,.27))!important;
  box-shadow:0 10px 30px rgba(53,164,230,.18)!important;
  transform:translateY(-1px);
}

/* Tema claro real */
.pm-app[data-reading-theme="light"]{
  --pm-bg:#f4f8fc!important;
  --pm-panel:#ffffff!important;
  --pm-panel-2:#eef5fb!important;
  --pm-panel-3:#e4eef7!important;
  --pm-text:#102235!important;
  --pm-muted:#587086!important;
  --pm-border:rgba(24,64,98,.15)!important;
  --pm-accent:#218fd0!important;
  --pm-accent-2:#087fba!important;
  background:
    radial-gradient(circle at 10% -10%,rgba(44,161,225,.10),transparent 25%),
    radial-gradient(circle at 90% 0,rgba(109,94,230,.07),transparent 24%),
    linear-gradient(180deg,#f8fbfe 0%,#eef4f9 100%)!important;
  color:var(--pm-text)!important;
}

.pm-app[data-reading-theme="light"] .pm-xp-header{
  background:rgba(249,252,255,.96)!important;
  border-bottom-color:rgba(26,67,101,.13)!important;
  box-shadow:0 7px 25px rgba(37,67,91,.07);
}
.pm-app[data-reading-theme="light"] .pm-xp-header .pm-brand,
.pm-app[data-reading-theme="light"] .pm-xp-nav-link{color:#173047!important}
.pm-app[data-reading-theme="light"] .pm-xp-nav-link:hover,
.pm-app[data-reading-theme="light"] .pm-xp-nav-link.is-current{
  color:#063e64!important;background:#e7f3fb!important
}
.pm-app[data-reading-theme="light"] .pm-xp-icon-btn{
  border-color:#74bfe8!important;
  background:linear-gradient(135deg,#e3f5ff,#edf0ff)!important;
  color:#0e4061!important;
  box-shadow:0 7px 20px rgba(35,113,159,.12)!important;
}
.pm-app[data-reading-theme="light"] .pm-xp-color-control span{color:#49667d!important}
.pm-app[data-reading-theme="light"] .pm-xp-color-control select{
  background:#fff!important;color:#173047!important;border-color:#bfd0de!important
}

.pm-app[data-reading-theme="light"] .pm-xp-hero{
  background:
    linear-gradient(90deg,rgba(249,252,255,.99),rgba(239,247,253,.96)),
    radial-gradient(circle at 82% 28%,rgba(91,192,255,.14),transparent 25%)!important;
  border-bottom-color:rgba(20,62,96,.12)!important;
}
.pm-app[data-reading-theme="light"] .pm-xp-hero h3,
.pm-app[data-reading-theme="light"] .pm-xp-shelf-head h3,
.pm-app[data-reading-theme="light"] .pm-xp-journey h3{color:#102235!important}
.pm-app[data-reading-theme="light"] .pm-xp-hero p,
.pm-app[data-reading-theme="light"] .pm-xp-shelf-hint,
.pm-app[data-reading-theme="light"] .pm-xp-journey p{color:#597287!important}

/* Cards da Home em modo claro */
.pm-app[data-reading-theme="light"] .pm-xp-song-card{
  background:
    radial-gradient(circle at 95% 5%,rgba(69,176,235,.16),transparent 32%),
    linear-gradient(145deg,#ffffff,#edf4f9)!important;
  border:1px solid #c7d7e4!important;
  color:#11273a!important;
  box-shadow:0 14px 30px rgba(36,70,96,.11)!important;
}
.pm-app[data-reading-theme="light"] .pm-xp-song-card:hover{
  border-color:#72bce5!important;
  box-shadow:0 18px 36px rgba(31,103,148,.17)!important;
}
.pm-app[data-reading-theme="light"] .pm-xp-song-card strong{color:#132a3e!important}
.pm-app[data-reading-theme="light"] .pm-xp-song-number{
  color:#087fb8!important;background:#e8f7ff!important;border-color:#a9d9f2!important
}
.pm-app[data-reading-theme="light"] .pm-xp-song-collection{color:#55748b!important}
.pm-app[data-reading-theme="light"] .pm-xp-song-meta{color:#567086!important}
.pm-app[data-reading-theme="light"] .pm-xp-song-badges em{
  background:#f3f8fc!important;border-color:#d5e1ea!important;color:#43677e!important
}
.pm-app[data-reading-theme="light"] .pm-xp-song-open{color:#074f7b!important}
.pm-app[data-reading-theme="light"] .pm-xp-song-card-glow{
  background:radial-gradient(circle,rgba(50,167,228,.20),transparent 68%)!important
}

.pm-app[data-reading-theme="light"] .pm-xp-category-card,
.pm-app[data-reading-theme="light"] .pm-xp-feature-card,
.pm-app[data-reading-theme="light"] .pm-xp-tool-card{
  background:linear-gradient(145deg,#fff,#f0f6fa)!important;
  border-color:#cad9e5!important;
  color:#132a3d!important;
  box-shadow:0 10px 24px rgba(36,70,96,.08)!important;
}
.pm-app[data-reading-theme="light"] .pm-xp-category-card strong,
.pm-app[data-reading-theme="light"] .pm-xp-feature-card strong,
.pm-app[data-reading-theme="light"] .pm-xp-tool-card strong{color:#132a3d!important}
.pm-app[data-reading-theme="light"] .pm-xp-category-card small,
.pm-app[data-reading-theme="light"] .pm-xp-feature-card small,
.pm-app[data-reading-theme="light"] .pm-xp-tool-card small{color:#597287!important}
.pm-app[data-reading-theme="light"] .pm-xp-card-action{color:#07527f!important}
.pm-app[data-reading-theme="light"] .pm-xp-journey{
  background:linear-gradient(135deg,#f0f4ff,#eefaff)!important;border-color:#cad9e5!important
}

/* Catálogo 2.0 em modo claro */
.pm-app[data-reading-theme="light"] .pm-catalog-2,
.pm-app[data-reading-theme="light"] .pm-catalog-filter-panel{
  background:#f8fbfe!important;border-color:#cad9e5!important
}
.pm-app[data-reading-theme="light"] .pm-global-search-card{
  background:linear-gradient(135deg,#fff,#eef8fd)!important;border-color:#a9d5ec!important
}
.pm-app[data-reading-theme="light"] .pm-global-search-field,
.pm-app[data-reading-theme="light"] .pm-view-toggle{
  background:#fff!important;border-color:#bed1df!important
}
.pm-app[data-reading-theme="light"] .pm-catalog-song-card{
  background:
    radial-gradient(circle at 96% 0%,rgba(48,167,229,.12),transparent 32%),
    linear-gradient(180deg,#fff,#f2f7fb)!important;
  border-color:#cbd9e4!important;
  color:#142b3e!important;
  box-shadow:0 10px 25px rgba(37,72,99,.08);
}
.pm-app[data-reading-theme="light"] .pm-catalog-song-card>strong{color:#132b3f!important}
.pm-app[data-reading-theme="light"] .pm-catalog-card-meta,
.pm-app[data-reading-theme="light"] .pm-catalog-snippet,
.pm-app[data-reading-theme="light"] .pm-catalog-card-foot small{color:#567086!important}
.pm-app[data-reading-theme="light"] .pm-catalog-collection{color:#52738b!important}
.pm-app[data-reading-theme="light"] .pm-catalog-content-badges em{
  background:#edf3f7!important;color:#718391!important
}
.pm-app[data-reading-theme="light"] .pm-catalog-content-badges em.is-on{
  background:#e3f5ff!important;color:#087cad!important
}
.pm-app[data-reading-theme="light"] .pm-library-switcher{
  background:#fff!important;border-color:#cad9e5!important
}
.pm-app[data-reading-theme="light"] .pm-library-switcher button{color:#4e687e!important}
.pm-app[data-reading-theme="light"] .pm-library-switcher button.is-active{
  color:#fff!important;background:#168bc5!important
}

/* Tipografia desktop */
@media screen and (min-width:761px){
  .pm-xp-header .pm-brand{font-size:29px!important}
  .pm-xp-nav-link{font-size:14px!important;padding:11px 14px!important}
  .pm-xp-header .pm-tagline{font-size:12px!important}
  .pm-xp-header .pm-eyebrow{font-size:10px!important}
  .pm-xp-shelf-head h3,.pm-xp-journey h3{font-size:clamp(30px,3vw,40px)!important}
  .pm-section-kicker,.pm-eyebrow{font-size:13px!important}
  .pm-xp-shelf-hint{font-size:13px!important}

  .pm-xp-song-card{flex-basis:270px;min-height:258px!important;padding:22px!important}
  .pm-xp-song-card strong{font-size:22px!important}
  .pm-xp-song-meta{font-size:12px!important}
  .pm-xp-song-collection{font-size:10px!important}
  .pm-xp-song-number{font-size:12px!important}
  .pm-xp-song-badges em{font-size:10px!important;padding:6px 8px!important}
  .pm-xp-song-open{font-size:12px!important}
  .pm-xp-feature-card strong{font-size:24px!important}
  .pm-xp-feature-card small{font-size:13px!important}
  .pm-xp-tool-card strong{font-size:18px!important}
  .pm-xp-tool-card small{font-size:12px!important}

  .pm-global-search-copy strong{font-size:20px!important}
  .pm-global-search-copy small{font-size:12px!important}
  .pm-catalog-song-card>strong{font-size:19px!important}
  .pm-catalog-card-meta,.pm-catalog-snippet{font-size:13px!important}
}

/* Tipografia celular */
@media screen and (max-width:760px){
  .pm-xp-header .pm-brand{font-size:24px!important}
  .pm-xp-mobile-menu-trigger{
    min-width:68px!important;min-height:50px!important;font-size:12px!important
  }
  .pm-xp-mobile-menu-icon{font-size:23px!important}
  .pm-xp-mobile-menu-head strong{font-size:20px!important}
  .pm-xp-mobile-menu-head small{font-size:12px!important}
  .pm-xp-mobile-theme-action{
    grid-template-columns:54px 1fr!important;padding:13px!important
  }
  .pm-theme-action-icon{width:52px!important;height:52px!important;font-size:27px!important}
  .pm-theme-action-copy strong{font-size:17px!important}
  .pm-theme-action-copy small{font-size:12px!important;line-height:1.35!important}
  .pm-xp-mobile-color-control>span{font-size:11px!important}
  .pm-xp-mobile-color-control select{font-size:14px!important}
  .pm-xp-mobile-menu-links button{
    min-height:50px!important;font-size:13px!important;line-height:1.2!important
  }

  .pm-xp-shelf{padding-left:18px!important;padding-right:18px!important}
  .pm-xp-shelf-head h3,.pm-xp-dynamic-shelf .pm-xp-shelf-head h3{
    font-size:30px!important;line-height:1.08!important
  }
  .pm-xp-shelf-hint,.pm-xp-text-action{font-size:13px!important}
  .pm-section-kicker,.pm-eyebrow{font-size:12px!important}

  .pm-xp-song-card{flex-basis:82%!important;min-height:248px!important;padding:20px!important}
  .pm-xp-song-number{font-size:13px!important;height:34px!important}
  .pm-xp-song-collection{font-size:10px!important;margin-top:26px!important}
  .pm-xp-song-card strong{font-size:23px!important;line-height:1.1!important}
  .pm-xp-song-meta{font-size:13px!important}
  .pm-xp-song-badges em{font-size:10px!important;padding:6px 8px!important}
  .pm-xp-song-open{font-size:13px!important}

  .pm-xp-mobile-nav button span{font-size:23px!important}
  .pm-xp-mobile-nav button small{font-size:10px!important}

  .pm-global-search-copy strong{font-size:19px!important}
  .pm-global-search-copy small{font-size:12px!important}
  .pm-global-search-field input{font-size:17px!important}
  .pm-catalog-summary strong{font-size:20px!important}
  .pm-catalog-song-card>strong{font-size:19px!important}
  .pm-catalog-card-meta,.pm-catalog-snippet{font-size:13px!important}
  .pm-catalog-card-foot b{font-size:12px!important}

  .pm-top-actions{display:none!important}
}


/* ==========================================================
   v1.3.0 — MISSÃO 008-D + modo escuro padrão
========================================================== */

.pm-xp-instrument-chip{
  position:absolute;
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(91,192,255,.24);
  background:linear-gradient(145deg,rgba(8,20,38,.88),rgba(10,26,44,.70));
  box-shadow:0 16px 28px rgba(0,0,0,.16);
  backdrop-filter:blur(16px);
  color:#eaf6ff;
  z-index:1;
}
.pm-xp-instrument-chip b{font-size:19px;line-height:1}
.pm-xp-instrument-chip span{font-size:11px;font-weight:900;letter-spacing:.02em}
.pm-xp-inst-violao{left:6%;top:18%}
.pm-xp-inst-guitarra{right:7%;top:20%}
.pm-xp-inst-ukulele{left:10%;bottom:14%}
.pm-xp-inst-cavaquinho{right:14%;bottom:10%}
.pm-app[data-reading-theme="light"] .pm-xp-instrument-chip{
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(239,246,252,.90));
  border-color:#c8dae7;
  color:#12314b;
  box-shadow:0 14px 26px rgba(32,74,105,.10);
}

.pm-song-experience{
  display:grid;
  grid-template-columns:minmax(320px,1.15fr) minmax(320px,.85fr);
  gap:16px;
  margin:18px 0 22px;
}
.pm-song-overview-card,
.pm-song-types-card{
  border:1px solid var(--pm-border);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  padding:18px;
  box-shadow:0 18px 34px rgba(0,0,0,.10);
}
.pm-song-overview-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.pm-song-number-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:72px;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(91,192,255,.28);
  background:rgba(91,192,255,.08);
  color:var(--pm-accent-2);
  font-size:16px;
  font-weight:950;
  letter-spacing:.08em;
}
.pm-song-overview-tag{
  color:var(--pm-accent-2);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pm-song-overview-title{
  display:block;
  margin-top:14px;
  font-size:26px;
  letter-spacing:-.03em;
}
.pm-song-overview-copy{
  margin:10px 0 0;
  color:var(--pm-muted);
  font-size:14px;
  line-height:1.55;
}
.pm-song-study-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}
.pm-song-study-chip{
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:rgba(255,255,255,.028);
  padding:12px;
}
.pm-song-study-chip span{
  display:block;
  color:var(--pm-muted);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.pm-song-study-chip strong{
  display:block;
  margin-top:6px;
  font-size:18px;
  line-height:1.1;
}
.pm-song-types-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.pm-song-types-head strong{font-size:18px}
.pm-song-types-head small{color:var(--pm-muted);font-size:12px}
.pm-song-type-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.pm-song-type-card{
  appearance:none;
  text-align:left;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:rgba(255,255,255,.03);
  color:var(--pm-text);
  padding:14px;
  cursor:pointer;
  transition:.18s ease;
}
.pm-song-type-card span{
  display:block;
  color:var(--pm-accent-2);
  font-size:12px;
  font-weight:900;
}
.pm-song-type-card strong{
  display:block;
  margin-top:9px;
  font-size:17px;
}
.pm-song-type-card small{
  display:block;
  margin-top:7px;
  color:var(--pm-muted);
  font-size:12px;
  line-height:1.4;
}
.pm-song-type-card:hover{transform:translateY(-2px);border-color:rgba(91,192,255,.32)}
.pm-song-type-card.is-active{
  border-color:rgba(91,192,255,.54);
  background:linear-gradient(145deg,rgba(91,192,255,.14),rgba(123,104,255,.10));
  box-shadow:0 14px 30px rgba(53,164,230,.14);
}
.pm-song-type-card.is-ready strong{color:#ecfbff}
.pm-song-type-card.is-empty strong{color:#e4eef7}
.pm-app[data-reading-theme="light"] .pm-song-overview-card,
.pm-app[data-reading-theme="light"] .pm-song-types-card{
  background:linear-gradient(145deg,#fff,#f1f6fa);
  border-color:#cad9e5;
  box-shadow:0 14px 26px rgba(32,74,105,.08);
}
.pm-app[data-reading-theme="light"] .pm-song-study-chip,
.pm-app[data-reading-theme="light"] .pm-song-type-card{
  background:rgba(255,255,255,.82);
  border-color:#d6e1ea;
}
.pm-app[data-reading-theme="light"] .pm-song-type-card.is-active{
  background:linear-gradient(145deg,#e7f6ff,#edf0ff);
  border-color:#88c9ea;
}
.pm-app[data-reading-theme="light"] .pm-song-type-card.is-ready strong{color:#14304c}

@media screen and (max-width:980px){
  .pm-song-experience{grid-template-columns:1fr}
}
@media screen and (max-width:760px){
  .pm-xp-instrument-chip{padding:8px 10px;border-radius:14px}
  .pm-xp-instrument-chip b{font-size:16px}
  .pm-xp-instrument-chip span{font-size:10px}
  .pm-xp-inst-violao{left:0;top:10%}
  .pm-xp-inst-guitarra{right:0;top:14%}
  .pm-xp-inst-ukulele{left:2%;bottom:8%}
  .pm-xp-inst-cavaquinho{right:4%;bottom:6%}

  .pm-song-experience{margin:14px 0 18px;gap:12px}
  .pm-song-overview-card,.pm-song-types-card{padding:15px}
  .pm-song-overview-title{font-size:22px}
  .pm-song-overview-copy{font-size:13px}
  .pm-song-study-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .pm-song-study-chip strong{font-size:17px}
  .pm-song-type-grid{grid-template-columns:1fr;gap:8px}
}
@media print{
  .pm-song-experience{display:none!important}
}


/* ==========================================================
   v1.4.0 — MISSÃO 008-E · Página da Música Premium
========================================================== */
.pm-song-titlebar{position:relative;overflow:hidden;padding:22px!important;border:1px solid var(--pm-border);border-radius:24px;background:radial-gradient(circle at 85% 0%,rgba(91,192,255,.14),transparent 34%),linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));box-shadow:0 18px 36px rgba(0,0,0,.10)}
.pm-song-titlebar::after{content:"♫";position:absolute;right:24px;bottom:-28px;font-size:120px;line-height:1;color:rgba(91,192,255,.045);pointer-events:none}
.pm-song-titlebar h3{font-size:clamp(30px,4vw,46px)!important;letter-spacing:-.035em!important;line-height:1.03!important}
.pm-song-title-actions{display:flex;gap:8px;position:relative;z-index:1;flex-wrap:wrap;justify-content:flex-end}.pm-song-favorite-placeholder{opacity:.8}
.pm-tone-quick-buttons{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.pm-original-key-button,.pm-female-key-button{min-height:64px!important;display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:8px!important;padding:10px 14px!important;border-radius:16px!important;text-align:left!important}
.pm-original-key-button span,.pm-female-key-button span{font-weight:900!important;font-size:12px!important}.pm-original-key-button strong,.pm-female-key-button strong{min-width:38px;min-height:34px;display:grid;place-items:center;border-radius:10px;font-size:15px}
.pm-original-key-button strong{background:rgba(91,192,255,.11);color:var(--pm-accent-2)}
.pm-female-key-button{border-color:color-mix(in srgb,var(--pm-chord-color) 58%,var(--pm-border))!important;background:linear-gradient(135deg,color-mix(in srgb,var(--pm-chord-color) 10%,transparent),rgba(255,255,255,.02))!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--pm-chord-color) 10%,transparent) inset!important}.pm-female-key-button strong{background:color-mix(in srgb,var(--pm-chord-color) 14%,transparent);color:var(--pm-chord-color)}
.pm-used-chords{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(91,192,255,.055),rgba(255,255,255,.02))!important}.pm-used-chords::after{content:"ACORDES";position:absolute;right:16px;top:12px;color:rgba(91,192,255,.08);font-size:24px;font-weight:950;letter-spacing:.12em;pointer-events:none}.pm-used-chord{min-width:52px!important;min-height:44px!important;border-radius:13px!important;font-size:15px!important;font-weight:950!important;box-shadow:0 6px 16px rgba(0,0,0,.08)!important}
.pm-song-sequence{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.pm-song-sequence-card{appearance:none;min-height:86px;padding:15px 17px;border:1px solid var(--pm-border);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));color:var(--pm-text);text-align:left;cursor:pointer;transition:.18s ease}.pm-song-sequence-card.is-next{text-align:right}.pm-song-sequence-card span{display:block;color:var(--pm-accent-2);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.pm-song-sequence-card strong{display:block;margin-top:8px;font-size:17px}.pm-song-sequence-card:hover{transform:translateY(-2px);border-color:rgba(91,192,255,.38)}
.pm-song-to-top{position:fixed;right:max(18px,calc((100vw - 1260px)/2 + 18px));bottom:92px;z-index:9995;width:48px;height:48px;border:1px solid rgba(91,192,255,.38);border-radius:50%;background:linear-gradient(145deg,#10263d,#081624);color:#dff7ff;font-size:23px;font-weight:950;box-shadow:0 14px 34px rgba(0,0,0,.28);cursor:pointer}.pm-song-to-top[hidden]{display:none!important}
.pm-app[data-reading-theme="light"] .pm-song-titlebar,.pm-app[data-reading-theme="light"] .pm-song-sequence-card{background:linear-gradient(145deg,#fff,#f1f7fb)!important;border-color:#cbd9e4!important;box-shadow:0 12px 28px rgba(35,79,111,.08)!important}.pm-app[data-reading-theme="light"] .pm-female-key-button{background:linear-gradient(135deg,#fff5f6,#fff)!important}.pm-app[data-reading-theme="light"] .pm-song-to-top{background:#fff;color:#0e4263;border-color:#9ecfe9;box-shadow:0 12px 28px rgba(38,96,132,.16)}
@media screen and (max-width:760px){.pm-song-titlebar{padding:16px!important;border-radius:18px!important}.pm-song-titlebar h3{font-size:31px!important}.pm-song-titlebar p{font-size:13px!important;line-height:1.45!important}.pm-song-title-actions{justify-content:flex-start;margin-top:13px}.pm-song-title-actions .pm-secondary{min-height:46px!important;font-size:12px!important}.pm-tone-quick-buttons{grid-template-columns:1fr 1fr!important}.pm-original-key-button,.pm-female-key-button{min-height:60px!important;padding:8px 10px!important;grid-template-columns:auto 1fr!important}.pm-original-key-button strong,.pm-female-key-button strong{grid-column:2;justify-self:start;min-height:26px;min-width:34px;font-size:13px}.pm-song-sequence{grid-template-columns:1fr;gap:8px;margin-bottom:10px}.pm-song-sequence-card,.pm-song-sequence-card.is-next{text-align:left;min-height:74px}.pm-song-sequence-card strong{font-size:15px}.pm-song-to-top{right:15px;bottom:92px;width:46px;height:46px}.pm-used-chords::after{font-size:16px;right:10px;top:10px}}
@media print{.pm-song-sequence,.pm-song-to-top,.pm-song-title-actions{display:none!important}}


/* ==========================================================
   v1.4.1 — Cards da Página da Música clicáveis de verdade
========================================================== */
.pm-song-type-card{
  position:relative;
  cursor:pointer!important;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.pm-song-type-card::after{
  content:"Abrir →";
  display:block;
  margin-top:10px;
  color:var(--pm-accent-2);
  font-size:11px;
  font-weight:950;
  letter-spacing:.02em;
}
.pm-song-type-card:hover,
.pm-song-type-card:focus-visible{
  transform:translateY(-3px);
  border-color:rgba(91,192,255,.72)!important;
  box-shadow:0 14px 28px rgba(53,164,230,.16);
  outline:none;
}
.pm-song-type-card:active{
  transform:translateY(0) scale(.985);
}
.pm-song-type-card.is-active::after{
  content:"✓ Área aberta";
}
@media(max-width:760px){
  .pm-song-type-card::after{font-size:12px}
}


/* ==========================================================
   v1.5.0 — MISSÃO 008-F · IDENTIDADE VISUAL PREMIUM FINAL
   Dourado = destaque; azul/ciano = interação; vermelho = cifra.
========================================================== */

.pm-app{
  --pm-gold:#D7B45A;
  --pm-gold-light:#F0D58A;
  --pm-gold-deep:#9A7426;
  --pm-gold-soft:rgba(215,180,90,.12);
  --pm-gold-border:rgba(215,180,90,.38);
  --pm-gold-glow:rgba(215,180,90,.18);
}

/* ---------- Marca ---------- */
.pm-xp-mark{
  position:relative;
  background:
    radial-gradient(circle at 30% 20%,rgba(255,255,255,.20),transparent 32%),
    linear-gradient(145deg,#4fb8f5 0%,#277fb8 68%,#173b59 100%)!important;
  border:1px solid rgba(240,213,138,.40)!important;
  box-shadow:
    0 12px 34px rgba(36,139,199,.22),
    0 0 0 1px rgba(215,180,90,.10) inset!important;
}
.pm-xp-mark::after{
  content:"";
  position:absolute;
  inset:-4px;
  border:1px solid rgba(215,180,90,.16);
  border-radius:inherit;
  pointer-events:none;
}

.pm-xp-brand-bottom{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.pm-xp-brand-bottom .pm-tagline{margin:7px 0 0}
.pm-xp-premium-badge{
  margin-top:7px;
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 8px;
  border:1px solid var(--pm-gold-border);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(215,180,90,.10),rgba(215,180,90,.035));
  color:var(--pm-gold-light);
  font-size:8px;
  font-weight:950;
  letter-spacing:.12em;
  box-shadow:0 0 20px rgba(215,180,90,.05);
}

/* ---------- Header: azul continua principal; dourado indica refinamento ---------- */
.pm-xp-header{
  border-bottom-color:rgba(215,180,90,.12)!important;
}
.pm-xp-nav-link{
  position:relative;
}
.pm-xp-nav-link.is-current::after{
  content:"";
  position:absolute;
  left:13px;
  right:13px;
  bottom:4px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--pm-gold),transparent);
  box-shadow:0 0 10px rgba(215,180,90,.20);
}

/* ---------- Hero ---------- */
.pm-xp-hero{
  background:
    radial-gradient(circle at 79% 17%,rgba(215,180,90,.065),transparent 21%),
    radial-gradient(circle at 74% 42%,rgba(55,166,238,.12),transparent 29%),
    linear-gradient(135deg,#07111f 0%,#08182a 55%,#0a1424 100%)!important;
}
.pm-xp-hero-kickers{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 11px;
}
.pm-xp-gold-kicker{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 9px;
  border:1px solid rgba(215,180,90,.27);
  border-radius:999px;
  background:rgba(215,180,90,.06);
  color:var(--pm-gold-light);
  font-size:9px;
  font-weight:950;
  letter-spacing:.10em;
}
.pm-xp-orbit{
  border-color:rgba(215,180,90,.12)!important;
}
.pm-xp-orbit-two{
  border-color:rgba(91,192,255,.14)!important;
}
.pm-xp-piano{
  border-color:rgba(215,180,90,.20)!important;
  box-shadow:
    0 24px 60px rgba(0,0,0,.28),
    0 0 44px rgba(215,180,90,.055)!important;
}
.pm-xp-instrument-chip{
  border-color:rgba(215,180,90,.22)!important;
}
.pm-xp-instrument-chip span{
  color:#e7d7a2!important;
}

/* ---------- Dourado somente nos números oficiais ---------- */
.pm-xp-song-number,
.pm-catalog-number,
.pm-song-number-badge{
  color:var(--pm-gold-light)!important;
  border-color:var(--pm-gold-border)!important;
  background:
    linear-gradient(135deg,rgba(215,180,90,.13),rgba(215,180,90,.045))!important;
  box-shadow:0 0 18px rgba(215,180,90,.035);
}

/* ---------- Cards: hover premium, sem trocar toda a identidade ---------- */
.pm-xp-song-card:hover,
.pm-catalog-song-card:hover{
  border-color:rgba(215,180,90,.32)!important;
  box-shadow:
    0 18px 38px rgba(0,0,0,.16),
    0 0 0 1px rgba(215,180,90,.035) inset!important;
}
.pm-xp-song-card:hover .pm-xp-song-open,
.pm-catalog-song-card:hover .pm-catalog-card-foot b{
  color:var(--pm-gold-light)!important;
}

/* ---------- Section titles ---------- */
.pm-section-kicker,
.pm-eyebrow{
  text-shadow:0 0 18px rgba(91,192,255,.10);
}
.pm-xp-shelf-head::before,
.pm-screen-head::before{
  content:"";
  display:block;
  width:42px;
  height:2px;
  margin-bottom:10px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--pm-gold),rgba(215,180,90,.04));
}

/* ---------- Categorias / ferramentas ---------- */
.pm-xp-category-card>span,
.pm-xp-tool-card>span{
  filter:drop-shadow(0 0 10px rgba(215,180,90,.10));
}
.pm-xp-category-card:hover,
.pm-xp-feature-card:hover,
.pm-xp-tool-card:hover{
  border-color:rgba(215,180,90,.27)!important;
}

/* ---------- Página da música 2.0 ---------- */
.pm-song-overview-card{
  position:relative;
  overflow:hidden;
}
.pm-song-overview-card::before{
  content:"";
  position:absolute;
  width:170px;
  height:170px;
  top:-100px;
  right:-72px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(215,180,90,.12),transparent 69%);
  pointer-events:none;
}
.pm-song-overview-tag{
  color:var(--pm-gold-light)!important;
}
.pm-song-study-chip{
  transition:border-color .18s ease,background .18s ease;
}
.pm-song-study-chip:hover{
  border-color:rgba(215,180,90,.22);
  background:rgba(215,180,90,.035);
}

/*
 * Cards Cifra / Solar / Partitura:
 * estado ativo continua azul/ciano para deixar a navegação óbvia;
 * o dourado entra apenas como aro premium.
 */
.pm-song-type-card.is-active{
  border-color:rgba(91,192,255,.58)!important;
  box-shadow:
    0 14px 30px rgba(53,164,230,.12),
    0 0 0 1px rgba(215,180,90,.16) inset!important;
}
.pm-song-type-card.is-active::before{
  content:"";
  position:absolute;
  top:-1px;
  left:16px;
  right:16px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--pm-gold),transparent);
}
.pm-song-type-card.is-active::after{
  color:var(--pm-gold-light)!important;
}

/* ---------- Filtros / seleção ---------- */
.pm-library-switcher button.is-active{
  background:linear-gradient(135deg,#2a95cd,#1679ad)!important;
  color:#fff!important;
  box-shadow:
    0 8px 24px rgba(42,149,205,.18),
    0 0 0 1px rgba(215,180,90,.12) inset!important;
}
.pm-view-toggle button.is-active{
  background:#218fd0!important;
  color:#fff!important;
  box-shadow:0 0 0 1px rgba(215,180,90,.12) inset;
}

/* ---------- Botões especiais ---------- */
.pm-primary{
  box-shadow:
    0 10px 26px rgba(28,132,190,.12),
    0 0 0 1px rgba(215,180,90,.06) inset;
}
.pm-primary:hover{
  box-shadow:
    0 13px 32px rgba(28,132,190,.20),
    0 0 0 1px rgba(215,180,90,.12) inset;
}

/* ---------- Mobile menu ---------- */
.pm-xp-mobile-menu{
  border-color:rgba(215,180,90,.18)!important;
}
.pm-xp-mobile-menu-head::after{
  content:"✦";
  margin-left:auto;
  margin-right:10px;
  color:var(--pm-gold);
  font-size:12px;
}
.pm-xp-mobile-menu-trigger{
  box-shadow:
    0 8px 26px rgba(0,0,0,.24),
    0 0 0 1px rgba(215,180,90,.10) inset!important;
}

/* ---------- Mobile bottom nav ---------- */
.pm-xp-mobile-nav{
  border-top-color:rgba(215,180,90,.12)!important;
}
.pm-xp-mobile-nav button:active span,
.pm-xp-mobile-nav button:focus-visible span{
  color:var(--pm-gold-light);
}

/* ==========================================================
   MODO CLARO — dourado vira detalhe sofisticado, não amarelo forte
========================================================== */
.pm-app[data-reading-theme="light"]{
  --pm-gold:#B98A2F;
  --pm-gold-light:#8D661D;
  --pm-gold-deep:#6F4C0E;
  --pm-gold-soft:rgba(185,138,47,.09);
  --pm-gold-border:rgba(185,138,47,.30);
}
.pm-app[data-reading-theme="light"] .pm-xp-header{
  border-bottom-color:rgba(185,138,47,.15)!important;
}
.pm-app[data-reading-theme="light"] .pm-xp-premium-badge{
  color:#785315;
  background:#fff8e8;
  border-color:#e0c888;
}
.pm-app[data-reading-theme="light"] .pm-xp-hero{
  background:
    radial-gradient(circle at 80% 15%,rgba(185,138,47,.08),transparent 22%),
    radial-gradient(circle at 73% 42%,rgba(48,167,229,.08),transparent 29%),
    linear-gradient(135deg,#fbfdff 0%,#eff6fb 58%,#f8f5ed 100%)!important;
}
.pm-app[data-reading-theme="light"] .pm-xp-gold-kicker{
  color:#775418;
  background:#fff7e3;
  border-color:#dec781;
}
.pm-app[data-reading-theme="light"] .pm-xp-instrument-chip span{
  color:#70501d!important;
}
.pm-app[data-reading-theme="light"] .pm-xp-song-number,
.pm-app[data-reading-theme="light"] .pm-catalog-number,
.pm-app[data-reading-theme="light"] .pm-song-number-badge{
  color:#7b5719!important;
  border-color:#dcc17a!important;
  background:linear-gradient(135deg,#fff7df,#f9edd0)!important;
}
.pm-app[data-reading-theme="light"] .pm-song-overview-tag{
  color:#79571b!important;
}
.pm-app[data-reading-theme="light"] .pm-song-type-card.is-active::after{
  color:#805d1f!important;
}

/* ---------- Responsivo ---------- */
@media screen and (max-width:760px){
  .pm-xp-premium-badge{
    font-size:7px;
    padding:0 7px;
    min-height:20px;
  }
  .pm-xp-gold-kicker{
    font-size:8px;
    min-height:24px;
  }
  .pm-xp-shelf-head::before,
  .pm-screen-head::before{
    width:34px;
    margin-bottom:8px;
  }
}

/* ---------- Acessibilidade ---------- */
@media (prefers-reduced-motion: reduce){
  .pm-xp-song-card,
  .pm-catalog-song-card,
  .pm-song-type-card,
  .pm-primary{
    transition:none!important;
  }
}


/* ==========================================================
   v1.6.0 — MISSÃO 008-G · EXPERIÊNCIA PESSOAL DO ALUNO
   + correção dos instrumentos do Hero
========================================================== */

/* ----------------------------------------------------------
   HERO: instrumentos maiores, visíveis e acima dos acordes
---------------------------------------------------------- */
.pm-xp-hero-visual{
  overflow:visible!important;
}
.pm-xp-instrument-chip{
  z-index:7!important;
  min-width:138px!important;
  min-height:64px!important;
  padding:10px 14px!important;
  gap:11px!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at 18% 10%,rgba(215,180,90,.09),transparent 42%),
    linear-gradient(145deg,rgba(9,24,42,.97),rgba(10,30,51,.92))!important;
  border:1px solid rgba(215,180,90,.34)!important;
  box-shadow:
    0 18px 38px rgba(0,0,0,.28),
    0 0 24px rgba(215,180,90,.045)!important;
}
.pm-xp-instrument-chip b{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  border-radius:13px!important;
  background:linear-gradient(145deg,rgba(215,180,90,.15),rgba(91,192,255,.07))!important;
  font-size:27px!important;
  line-height:1!important;
}
.pm-xp-instrument-chip span{
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:.01em!important;
  color:#f0d58a!important;
  white-space:nowrap!important;
}

/* Afasta os chips dos cards C / Am / F. */
.pm-xp-inst-violao{left:-4%!important;top:39%!important}
.pm-xp-inst-guitarra{right:-6%!important;top:37%!important}
.pm-xp-inst-ukulele{left:16%!important;bottom:-4%!important}
.pm-xp-inst-cavaquinho{right:12%!important;bottom:-4%!important}

/* Cards de acordes continuam legíveis, mas abaixo dos instrumentos. */
.pm-xp-note-card{z-index:5!important}
.pm-xp-piano{z-index:6!important}

/* ----------------------------------------------------------
   Favoritos reais
---------------------------------------------------------- */
.pm-song-favorite{
  transition:.18s ease!important;
}
.pm-song-favorite.is-favorite{
  border-color:var(--pm-gold-border)!important;
  background:linear-gradient(135deg,rgba(215,180,90,.15),rgba(215,180,90,.05))!important;
  color:var(--pm-gold-light)!important;
  box-shadow:0 8px 22px rgba(215,180,90,.08)!important;
}
.pm-xp-card-favorite{
  position:absolute;
  top:18px;
  right:18px;
  z-index:4;
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  border:1px solid var(--pm-gold-border);
  background:rgba(8,20,35,.72);
  color:var(--pm-gold-light);
  font-size:14px;
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}
.pm-xp-study-resume{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:5px 8px;
  border:1px solid rgba(91,192,255,.16);
  border-radius:999px;
  background:rgba(91,192,255,.055);
  color:#a9dbf6;
  font-size:10px;
  font-weight:850;
}

/* ----------------------------------------------------------
   Trilhos pessoais
---------------------------------------------------------- */
.pm-xp-personal-shelf{
  position:relative;
}
.pm-xp-personal-shelf::before{
  content:"";
  position:absolute;
  left:0;
  top:54px;
  bottom:18px;
  width:2px;
  border-radius:99px;
  background:linear-gradient(180deg,var(--pm-gold),rgba(215,180,90,0));
  opacity:.38;
}
.pm-xp-personal-shelf .pm-xp-song-card{
  border-color:rgba(215,180,90,.18);
}

/* ----------------------------------------------------------
   Claro
---------------------------------------------------------- */
.pm-app[data-reading-theme="light"] .pm-xp-instrument-chip{
  background:
    radial-gradient(circle at 18% 10%,rgba(185,138,47,.08),transparent 42%),
    linear-gradient(145deg,#fff,#eef5fa)!important;
  border-color:#d7be7b!important;
  box-shadow:0 15px 30px rgba(37,72,99,.11)!important;
}
.pm-app[data-reading-theme="light"] .pm-xp-instrument-chip b{
  background:linear-gradient(145deg,#fff6dc,#eaf6fd)!important;
}
.pm-app[data-reading-theme="light"] .pm-xp-instrument-chip span{
  color:#76531a!important;
}
.pm-app[data-reading-theme="light"] .pm-xp-card-favorite{
  background:#fff9e8;
  color:#875f1d;
}
.pm-app[data-reading-theme="light"] .pm-xp-study-resume{
  background:#eaf7fe;
  color:#176a99;
}

/* ----------------------------------------------------------
   Mobile: grandes o bastante, porém sem cobrir C / Am / F
---------------------------------------------------------- */
@media screen and (max-width:760px){
  .pm-xp-hero-visual{
    min-height:355px!important;
    margin-top:18px!important;
  }
  .pm-xp-piano{
    transform:translateY(-16px);
  }
  .pm-xp-instrument-chip{
    min-width:112px!important;
    min-height:54px!important;
    padding:8px 10px!important;
    gap:8px!important;
    border-radius:17px!important;
  }
  .pm-xp-instrument-chip b{
    width:34px!important;
    height:34px!important;
    flex-basis:34px!important;
    border-radius:11px!important;
    font-size:22px!important;
  }
  .pm-xp-instrument-chip span{
    font-size:11px!important;
  }

  .pm-xp-inst-violao{left:0!important;top:39%!important}
  .pm-xp-inst-guitarra{right:0!important;top:39%!important}
  .pm-xp-inst-ukulele{left:7%!important;bottom:0!important}
  .pm-xp-inst-cavaquinho{right:7%!important;bottom:0!important}

  .pm-xp-note-a{top:0!important;left:2px!important}
  .pm-xp-note-b{right:0!important;top:70px!important}
  .pm-xp-note-c{left:12px!important;bottom:72px!important}

  .pm-xp-card-favorite{
    width:28px;
    height:28px;
    top:15px;
    right:15px;
  }
  .pm-xp-study-resume{font-size:10px}
}

@media screen and (max-width:400px){
  .pm-xp-instrument-chip{
    min-width:102px!important;
  }
  .pm-xp-instrument-chip span{
    font-size:10px!important;
  }
  .pm-xp-inst-ukulele{left:2%!important}
  .pm-xp-inst-cavaquinho{right:2%!important}
}


/* ==========================================================
   v1.7.0 — MISSÃO 008-H · MEU ESTUDO / BIBLIOTECA PESSOAL
========================================================== */
.pm-study-head{position:relative;overflow:hidden}
.pm-study-head::after{
  content:"★";position:absolute;right:28px;top:10px;color:rgba(215,180,90,.08);
  font-size:110px;line-height:1;pointer-events:none
}
.pm-study-dashboard{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0
}
.pm-study-stat{
  display:flex;align-items:center;gap:14px;min-height:96px;padding:16px;
  border:1px solid var(--pm-border);border-radius:20px;
  background:radial-gradient(circle at 95% 0%,rgba(215,180,90,.06),transparent 42%),
             linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018))
}
.pm-study-stat>span{
  display:grid;place-items:center;width:50px;height:50px;flex:0 0 50px;border-radius:15px;
  border:1px solid var(--pm-gold-border);background:var(--pm-gold-soft);
  color:var(--pm-gold-light);font-size:23px
}
.pm-study-stat strong{display:block;font-size:25px;line-height:1}
.pm-study-stat small{display:block;margin-top:7px;color:var(--pm-muted);font-size:11px;font-weight:800}

.pm-study-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 12px
}
.pm-study-tabs{
  display:inline-flex;gap:5px;padding:5px;border:1px solid var(--pm-border);
  border-radius:15px;background:rgba(255,255,255,.025)
}
.pm-study-tabs button{
  border:0;min-height:40px;padding:0 14px;border-radius:11px;background:transparent;
  color:var(--pm-muted);font-weight:900;cursor:pointer
}
.pm-study-tabs button.is-active{
  background:linear-gradient(135deg,#2a95cd,#1679ad);color:#fff;
  box-shadow:0 0 0 1px rgba(215,180,90,.13) inset
}
.pm-study-section{
  margin-top:16px;padding:18px;border:1px solid var(--pm-border);border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012))
}
.pm-study-section-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px
}
.pm-study-section-head h4{margin:4px 0 0;font-size:25px;letter-spacing:-.025em}
.pm-study-section-head small{max-width:340px;color:var(--pm-muted);text-align:right;line-height:1.45}
.pm-study-rail{padding-bottom:8px}
.pm-study-empty{
  display:flex;min-height:210px;flex-direction:column;align-items:center;justify-content:center;gap:7px;
  border:1px dashed var(--pm-border);border-radius:18px;text-align:center;color:var(--pm-muted)
}
.pm-study-empty>span{color:var(--pm-gold-light);font-size:38px}
.pm-study-empty strong{color:var(--pm-text);font-size:17px}
.pm-study-empty p{max-width:420px;margin:0;line-height:1.5}

.pm-xp-mobile-nav button.is-current{color:var(--pm-accent-2)!important}
.pm-xp-mobile-nav button.is-current span{
  color:var(--pm-gold-light)!important;filter:drop-shadow(0 0 9px rgba(215,180,90,.16))
}
.pm-xp-mobile-nav button.is-current small{color:#dcefff!important}

.pm-app[data-reading-theme="light"] .pm-study-stat,
.pm-app[data-reading-theme="light"] .pm-study-section{
  background:linear-gradient(145deg,#fff,#f1f6fa);border-color:#cad9e5;
  box-shadow:0 10px 24px rgba(32,74,105,.06)
}
.pm-app[data-reading-theme="light"] .pm-study-tabs{background:#fff;border-color:#cad9e5}
.pm-app[data-reading-theme="light"] .pm-study-empty{background:#fff;border-color:#cad9e5}
.pm-app[data-reading-theme="light"] .pm-xp-mobile-nav button.is-current small{color:#14304c!important}

@media screen and (max-width:760px){
  .pm-study-dashboard{grid-template-columns:1fr;gap:8px}
  .pm-study-stat{min-height:76px;padding:12px}
  .pm-study-stat>span{width:44px;height:44px;flex-basis:44px;font-size:20px}
  .pm-study-stat strong{font-size:22px}
  .pm-study-toolbar{align-items:stretch;flex-direction:column}
  .pm-study-tabs{display:grid;grid-template-columns:repeat(3,1fr);width:100%}
  .pm-study-tabs button{padding:0 5px;font-size:11px}
  .pm-study-clear{width:100%}
  .pm-study-section{padding:12px}
  .pm-study-section-head{align-items:flex-start;flex-direction:column}
  .pm-study-section-head h4{font-size:22px}
  .pm-study-section-head small{max-width:none;text-align:left;font-size:11px}
}


/* ==========================================================
   v1.8.0 — MISSÃO 008-I · SISTEMA DE PROGRESSO DO ALUNO
========================================================== */

/* ---------- Página da Música ---------- */
.pm-song-progress-panel{
  margin:0 0 20px;
  padding:18px;
  border:1px solid var(--pm-border);
  border-radius:22px;
  background:
    radial-gradient(circle at 96% 0%,rgba(215,180,90,.07),transparent 32%),
    linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.015));
}
.pm-song-progress-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.pm-song-progress-head>div:first-child{display:grid;gap:4px}
.pm-song-progress-head strong{font-size:20px}
.pm-song-progress-head small{color:var(--pm-muted);line-height:1.4}
.pm-song-progress-percent{
  min-width:74px;
  text-align:right;
  color:var(--pm-gold-light);
  font-size:27px;
  font-weight:950;
}
.pm-song-progress-track,
.pm-weekly-goal-track{
  height:9px;
  margin-top:14px;
  overflow:hidden;
  border:1px solid var(--pm-border);
  border-radius:999px;
  background:rgba(255,255,255,.035);
}
.pm-song-progress-track span,
.pm-weekly-goal-track span{
  display:block;
  height:100%;
  width:0;
  border-radius:inherit;
  background:linear-gradient(90deg,#2e9ed7,#62cef5 65%,var(--pm-gold));
  transition:width .28s ease;
}
.pm-song-progress-levels{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:15px;
}
.pm-progress-level-chip{
  appearance:none;
  min-width:98px;
  display:grid;
  gap:3px;
  text-align:left;
  padding:10px 12px;
  border:1px solid var(--pm-border);
  border-radius:14px;
  background:rgba(255,255,255,.025);
  color:var(--pm-text);
  cursor:pointer;
}
.pm-progress-level-chip span{font-weight:950}
.pm-progress-level-chip small{color:var(--pm-muted);font-size:10px}
.pm-progress-level-chip.is-current{
  border-color:rgba(91,192,255,.58);
  box-shadow:0 0 0 2px rgba(91,192,255,.07);
}
.pm-progress-level-chip.is-studied{
  background:rgba(91,192,255,.08);
}
.pm-progress-level-chip.is-completed{
  border-color:var(--pm-gold-border);
  background:linear-gradient(135deg,rgba(215,180,90,.13),rgba(215,180,90,.035));
}
.pm-progress-level-chip.is-completed span::after{content:" 🏆"}
.pm-song-progress-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:15px;
}
.pm-song-progress-actions button{min-height:44px}
.pm-song-progress-actions button.is-done{
  border-color:var(--pm-gold-border)!important;
}
.pm-song-completed-banner{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:15px;
  padding:12px 14px;
  border:1px solid var(--pm-gold-border);
  border-radius:16px;
  background:var(--pm-gold-soft);
}
.pm-song-completed-banner>span{font-size:30px}
.pm-song-completed-banner strong{display:block;color:var(--pm-gold-light)}
.pm-song-completed-banner small{display:block;margin-top:3px;color:var(--pm-muted)}

/* ---------- Progresso no card da música ---------- */
.pm-xp-card-progress{
  position:absolute;
  right:18px;
  top:54px;
  z-index:4;
  padding:5px 8px;
  border:1px solid rgba(91,192,255,.20);
  border-radius:999px;
  background:rgba(5,18,31,.72);
  color:#b9e7ff;
  font-size:10px;
  font-weight:950;
}
.pm-xp-card-progress.is-complete{
  border-color:var(--pm-gold-border);
  color:var(--pm-gold-light);
}

/* ---------- Painel visual de evolução ---------- */
.pm-evolution-panel{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:14px;
  margin:16px 0 20px;
}
.pm-evolution-main,
.pm-weekly-goal{
  border:1px solid var(--pm-border);
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0%,rgba(91,192,255,.06),transparent 35%),
    linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.015));
  padding:18px;
}
.pm-evolution-main{
  display:flex;
  align-items:center;
  gap:20px;
}
.pm-evolution-ring{
  --pm-progress:0;
  position:relative;
  display:grid;
  place-items:center;
  width:132px;
  height:132px;
  flex:0 0 132px;
  border-radius:50%;
  background:
    radial-gradient(circle at center,var(--pm-panel) 58%,transparent 59%),
    conic-gradient(var(--pm-gold) calc(var(--pm-progress)*1%),rgba(255,255,255,.07) 0);
  box-shadow:0 0 35px rgba(215,180,90,.05);
}
.pm-evolution-ring>div{text-align:center}
.pm-evolution-ring strong{display:block;font-size:28px;color:var(--pm-gold-light)}
.pm-evolution-ring small{display:block;color:var(--pm-muted);font-size:10px}
.pm-evolution-copy h4{margin:5px 0 6px;font-size:25px}
.pm-evolution-copy p{margin:0;color:var(--pm-muted);line-height:1.5}
.pm-evolution-mini-stats{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:13px;
}
.pm-evolution-mini-stats span{
  padding:7px 9px;
  border:1px solid var(--pm-border);
  border-radius:11px;
  color:var(--pm-muted);
  font-size:11px;
}
.pm-evolution-mini-stats strong{color:var(--pm-text);font-size:14px}

.pm-weekly-goal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.pm-weekly-goal-head strong{display:block;margin-top:5px;font-size:17px}
.pm-goal-stepper{
  display:flex;
  gap:5px;
}
.pm-goal-stepper button{
  width:36px;height:36px;
  border:1px solid var(--pm-border);
  border-radius:10px;
  background:rgba(255,255,255,.035);
  color:var(--pm-text);
  font-size:20px;
  cursor:pointer;
}
.pm-weekly-goal>small{
  display:block;
  margin-top:9px;
  color:var(--pm-muted);
  line-height:1.4;
}

/* ---------- Modo claro ---------- */
.pm-app[data-reading-theme="light"] .pm-song-progress-panel,
.pm-app[data-reading-theme="light"] .pm-evolution-main,
.pm-app[data-reading-theme="light"] .pm-weekly-goal{
  background:linear-gradient(145deg,#fff,#f2f7fb);
  border-color:#cad9e5;
  box-shadow:0 10px 24px rgba(32,74,105,.06);
}
.pm-app[data-reading-theme="light"] .pm-progress-level-chip{
  background:#fff;
  border-color:#d3e0e9;
}
.pm-app[data-reading-theme="light"] .pm-progress-level-chip.is-studied{
  background:#eaf7fe;
}
.pm-app[data-reading-theme="light"] .pm-progress-level-chip.is-completed{
  background:linear-gradient(135deg,#fff8e5,#f8efd7);
}
.pm-app[data-reading-theme="light"] .pm-xp-card-progress{
  background:#eef8fd;
  color:#176a99;
}
.pm-app[data-reading-theme="light"] .pm-xp-card-progress.is-complete{
  background:#fff7df;
  color:#7b5719;
}
.pm-app[data-reading-theme="light"] .pm-evolution-ring{
  background:
    radial-gradient(circle at center,#fff 58%,transparent 59%),
    conic-gradient(var(--pm-gold) calc(var(--pm-progress)*1%),#dfe9f0 0);
}

/* ---------- Mobile ---------- */
@media screen and (max-width:760px){
  .pm-song-progress-panel{padding:14px}
  .pm-song-progress-head strong{font-size:18px}
  .pm-song-progress-percent{font-size:24px}
  .pm-song-progress-levels{
    display:grid;
    grid-template-columns:repeat(3,1fr);
  }
  .pm-progress-level-chip{min-width:0;padding:9px}
  .pm-song-progress-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .pm-song-progress-actions button{width:100%}

  .pm-evolution-panel{grid-template-columns:1fr}
  .pm-evolution-main{
    align-items:flex-start;
    flex-direction:column;
  }
  .pm-evolution-ring{
    width:112px;
    height:112px;
    flex-basis:112px;
  }
  .pm-evolution-copy h4{font-size:22px}
  .pm-weekly-goal{padding:14px}
  .pm-xp-card-progress{
    right:14px;
    top:50px;
  }
}


/* ==========================================================
   v1.9.0 — MISSÃO 008-J · GAMIFICAÇÃO INICIAL
========================================================== */
.pm-gamification-panel{
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);
  gap:14px;margin:0 0 20px
}
.pm-game-profile,.pm-game-streak,.pm-achievement-zone{
  border:1px solid var(--pm-border);border-radius:22px;
  background:radial-gradient(circle at 100% 0%,rgba(215,180,90,.075),transparent 34%),
             linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.014))
}
.pm-game-profile{display:flex;align-items:center;gap:18px;padding:18px}
.pm-game-level-emblem{
  display:grid;place-items:center;width:92px;height:92px;flex:0 0 92px;border-radius:26px;
  border:1px solid var(--pm-gold-border);
  background:radial-gradient(circle at 35% 22%,rgba(255,255,255,.12),transparent 28%),
             linear-gradient(145deg,rgba(215,180,90,.22),rgba(31,106,149,.13));
  color:var(--pm-gold-light);font-size:39px;font-weight:1000;
  box-shadow:0 16px 36px rgba(0,0,0,.17),0 0 28px rgba(215,180,90,.06)
}
.pm-game-profile-copy{min-width:0;flex:1}
.pm-game-profile-copy h4{margin:5px 0 4px;font-size:24px;letter-spacing:-.025em}
.pm-game-profile-copy p{margin:0;color:var(--pm-muted)}
.pm-game-profile-copy p strong{color:var(--pm-text)}
.pm-game-xp-track{
  height:9px;overflow:hidden;margin:12px 0 7px;border:1px solid var(--pm-border);
  border-radius:999px;background:rgba(255,255,255,.035)
}
.pm-game-xp-track span{
  display:block;width:0;height:100%;border-radius:inherit;
  background:linear-gradient(90deg,var(--pm-gold-deep),var(--pm-gold-light),#5cccf5);
  transition:width .3s ease
}
.pm-game-profile-copy>small{color:var(--pm-muted)}

.pm-game-streak{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px
}
.pm-game-streak-icon{
  display:grid;place-items:center;width:64px;height:64px;border-radius:20px;
  background:linear-gradient(145deg,rgba(247,135,47,.18),rgba(215,180,90,.08));
  border:1px solid rgba(247,135,47,.25);font-size:32px
}
.pm-game-streak strong{display:block;font-size:25px}
.pm-game-streak small{color:var(--pm-muted);font-size:11px}
.pm-game-best{min-width:94px;padding-left:15px;border-left:1px solid var(--pm-border);text-align:right}
.pm-game-best strong{color:var(--pm-gold-light);font-size:22px}

.pm-achievement-zone{grid-column:1/-1;padding:18px}
.pm-achievement-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.pm-achievement-head h4{margin:4px 0 0;font-size:24px}
.pm-achievement-head>strong{color:var(--pm-gold-light);font-size:17px}
.pm-achievement-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px
}
.pm-achievement-card{
  position:relative;display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:start;
  min-height:112px;padding:13px;border:1px solid var(--pm-border);border-radius:17px;
  background:rgba(255,255,255,.02);opacity:.55;filter:saturate(.45)
}
.pm-achievement-card>span{
  display:grid;place-items:center;width:42px;height:42px;border-radius:13px;
  background:rgba(255,255,255,.035);font-size:23px
}
.pm-achievement-card strong{display:block;font-size:13px;line-height:1.25}
.pm-achievement-card small{display:block;margin-top:5px;color:var(--pm-muted);font-size:10px;line-height:1.35}
.pm-achievement-card em{
  grid-column:1/-1;width:max-content;margin-top:2px;padding:4px 7px;border-radius:999px;
  background:rgba(255,255,255,.035);color:var(--pm-muted);font-style:normal;font-size:9px;font-weight:900
}
.pm-achievement-card.is-unlocked{
  opacity:1;filter:none;border-color:var(--pm-gold-border);
  background:radial-gradient(circle at 0 0,rgba(215,180,90,.10),transparent 38%),rgba(215,180,90,.025)
}
.pm-achievement-card.is-unlocked>span{background:var(--pm-gold-soft);box-shadow:0 0 20px rgba(215,180,90,.08)}
.pm-achievement-card.is-unlocked em{
  color:var(--pm-gold-light);border:1px solid var(--pm-gold-border);background:rgba(215,180,90,.06)
}

.pm-song-xp-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.pm-song-xp-strip>span{
  padding:7px 10px;border:1px solid var(--pm-border);border-radius:11px;color:var(--pm-muted);font-size:11px
}
.pm-song-xp-strip strong{color:var(--pm-gold-light)}

.pm-game-toast{
  position:fixed;right:22px;bottom:88px;z-index:99999;display:flex;align-items:center;gap:12px;
  width:min(360px,calc(100vw - 28px));padding:14px;border:1px solid var(--pm-gold-border);
  border-radius:18px;background:rgba(7,18,31,.96);color:#fff;
  box-shadow:0 22px 60px rgba(0,0,0,.34),0 0 30px rgba(215,180,90,.08);
  opacity:0;transform:translateY(18px) scale(.97);
  transition:opacity .2s ease,transform .2s ease;backdrop-filter:blur(18px)
}
.pm-game-toast.is-showing{opacity:1;transform:translateY(0) scale(1)}
.pm-game-toast>span{
  display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;
  border-radius:15px;background:var(--pm-gold-soft);font-size:26px
}
.pm-game-toast strong{display:block;color:var(--pm-gold-light)}
.pm-game-toast small{display:block;margin-top:3px;color:#c9d8e4;line-height:1.35}

.pm-xp-song-card{position:relative}

/* Claro */
.pm-app[data-reading-theme="light"] .pm-game-profile,
.pm-app[data-reading-theme="light"] .pm-game-streak,
.pm-app[data-reading-theme="light"] .pm-achievement-zone{
  background:linear-gradient(145deg,#fff,#f2f7fb);border-color:#cad9e5;
  box-shadow:0 10px 24px rgba(32,74,105,.06)
}
.pm-app[data-reading-theme="light"] .pm-game-level-emblem{
  background:linear-gradient(145deg,#fff5d8,#e8f6fd);color:#7b5719
}
.pm-app[data-reading-theme="light"] .pm-game-streak-icon{background:#fff1e4}
.pm-app[data-reading-theme="light"] .pm-achievement-card{background:#f8fbfd;border-color:#d5e1e9}
.pm-app[data-reading-theme="light"] .pm-achievement-card.is-unlocked{
  background:linear-gradient(145deg,#fff9e8,#f7f2e7);border-color:#dcc17a
}
.pm-app[data-reading-theme="light"] .pm-game-toast{
  background:rgba(255,255,255,.97);color:#153047;border-color:#d8bd73
}
.pm-app[data-reading-theme="light"] .pm-game-toast small{color:#587086}

@media(max-width:900px){
  .pm-gamification-panel{grid-template-columns:1fr}
  .pm-achievement-zone{grid-column:auto}
  .pm-achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .pm-game-profile{align-items:flex-start;padding:14px}
  .pm-game-level-emblem{width:72px;height:72px;flex-basis:72px;border-radius:21px;font-size:31px}
  .pm-game-profile-copy h4{font-size:20px}
  .pm-game-streak{padding:14px}
  .pm-game-streak-icon{width:54px;height:54px;font-size:27px}
  .pm-game-streak strong{font-size:21px}
  .pm-achievement-zone{padding:13px}
  .pm-achievement-grid{grid-template-columns:1fr}
  .pm-achievement-card{min-height:auto}
  .pm-game-toast{right:14px;bottom:86px}
}

/* v2.0.0 — Pedidos Inteligentes */
.pm-request-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:16px;margin-top:18px}
.pm-request-form,.pm-request-ranking-card,.pm-my-requests,.pm-request-login{border:1px solid var(--pm-border);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.014));padding:18px}
.pm-request-form-head,.pm-request-ranking-head{display:flex;justify-content:space-between;gap:12px}.pm-request-form-head strong,.pm-request-ranking-head strong{display:block;font-size:18px}
.pm-request-quota{padding:7px 10px;border:1px solid var(--pm-gold-border);border-radius:999px;background:var(--pm-gold-soft);color:var(--pm-gold-light);font-weight:950}
.pm-request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.pm-request-grid label{display:grid;gap:6px}.pm-request-grid label>span{color:var(--pm-muted);font-size:11px;font-weight:850}.pm-request-wide{grid-column:1/-1}
.pm-request-grid input,.pm-request-grid select,.pm-request-grid textarea{width:100%;box-sizing:border-box;border:1px solid var(--pm-border);border-radius:12px;background:rgba(255,255,255,.035);color:var(--pm-text);padding:11px 12px}
.pm-request-actions{display:flex;align-items:center;gap:12px;margin-top:14px}.pm-request-actions small{color:var(--pm-muted)}
.pm-request-match{margin-top:14px;padding:13px;border:1px solid var(--pm-gold-border);border-radius:15px;background:var(--pm-gold-soft)}.pm-request-match>strong{display:block;margin-bottom:7px;color:var(--pm-gold-light)}
.pm-request-match-row{display:grid;grid-template-columns:1fr;gap:2px;padding:7px 0;border-top:1px solid var(--pm-border)}.pm-request-match-row small{color:var(--pm-muted)}.pm-request-match p{color:var(--pm-muted);font-size:11px}
.pm-request-rank-row{display:grid;grid-template-columns:32px 1fr auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid var(--pm-border)}.pm-request-rank-number{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--pm-gold-soft);color:var(--pm-gold-light);font-weight:950}.pm-request-rank-row strong{display:block;font-size:12px}.pm-request-rank-row small{display:block;color:var(--pm-muted);font-size:10px}.pm-request-rank-row>b{color:var(--pm-accent-2);font-size:11px}
.pm-request-empty{min-height:90px;display:grid;place-items:center;text-align:center;color:var(--pm-muted);border:1px dashed var(--pm-border);border-radius:14px;padding:12px}
.pm-my-requests{margin-top:16px}.pm-my-request-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--pm-border)}.pm-my-request-row>div{display:grid;gap:3px}.pm-my-request-row small{color:var(--pm-muted)}
.pm-request-status{width:max-content;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:950;background:rgba(91,192,255,.07);color:#9bdcff}.pm-request-status.is-fulfilled{background:rgba(92,190,124,.10);color:#8de3aa}.pm-request-status.is-cancelled{color:var(--pm-muted)}
.pm-request-login{text-align:center;margin-top:18px}.pm-request-login p{max-width:650px;margin:8px auto 14px;color:var(--pm-muted)}
.pm-app[data-reading-theme="light"] .pm-request-form,.pm-app[data-reading-theme="light"] .pm-request-ranking-card,.pm-app[data-reading-theme="light"] .pm-my-requests,.pm-app[data-reading-theme="light"] .pm-request-login{background:#fff;border-color:#cad9e5}
.pm-app[data-reading-theme="light"] .pm-request-grid input,.pm-app[data-reading-theme="light"] .pm-request-grid select,.pm-app[data-reading-theme="light"] .pm-request-grid textarea{background:#fff;color:#163047;border-color:#cbd9e4}
@media(max-width:900px){.pm-request-layout{grid-template-columns:1fr}}@media(max-width:760px){.pm-request-grid{grid-template-columns:1fr}.pm-request-wide{grid-column:auto}.pm-request-actions,.pm-my-request-row{align-items:stretch;flex-direction:column}.pm-request-actions .pm-primary,.pm-my-request-row button{width:100%}}

/* ==========================================================
   v2.1.0 — MISSÃO 009-A · ACORDES 2.0
========================================================== */
.pm-chords-hero{
  background:radial-gradient(circle at 90% 15%,rgba(215,180,90,.07),transparent 30%),
             radial-gradient(circle at 72% 55%,rgba(91,192,255,.065),transparent 30%)
}
.pm-chord-quickbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin:16px 0}
.pm-chord-search-hero{padding:15px;border:1px solid var(--pm-border);border-radius:18px;background:rgba(255,255,255,.025)}
.pm-chord-search-hero label>span{display:block;margin-bottom:7px;color:var(--pm-muted);font-size:11px;font-weight:900}
.pm-chord-search-hero small{display:block;margin-top:6px;color:var(--pm-muted)}
.pm-chord-actionbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.pm-chord-actionbar .is-favorite{border-color:var(--pm-gold-border)!important;color:var(--pm-gold-light)!important;background:var(--pm-gold-soft)!important}
.pm-chord-tool-2{padding:18px}
.pm-chord-summary-2{grid-template-columns:minmax(170px,1.2fr) repeat(3,minmax(140px,1fr))!important}
.pm-instrument-tabs{
  display:flex;gap:7px;overflow-x:auto;margin:18px 0 12px;padding:5px;
  border:1px solid var(--pm-border);border-radius:16px;background:rgba(255,255,255,.022)
}
.pm-instrument-tabs button{
  flex:0 0 auto;min-height:43px;padding:0 14px;border:0;border-radius:12px;background:transparent;
  color:var(--pm-muted);font-weight:900;cursor:pointer
}
.pm-instrument-tabs button.is-active{
  background:linear-gradient(135deg,#278fc9,#176f9e);color:#fff;
  box-shadow:0 0 0 1px rgba(215,180,90,.16) inset
}
.pm-instrument-view[hidden]{display:none!important}
.pm-fretboard-card,.pm-chord-library-mini{
  padding:15px;border:1px solid var(--pm-border);border-radius:18px;background:rgba(255,255,255,.02)
}
.pm-string-shape-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0}
.pm-string-shape-summary strong{font-size:26px;color:var(--pm-gold-light)}
.pm-string-shape-summary span{font-weight:950;letter-spacing:.08em}
.pm-string-shape-summary small{color:var(--pm-muted)}
.pm-fretboard{display:grid;gap:5px;overflow-x:auto;padding:8px 0}
.pm-fret-string{display:grid;grid-template-columns:34px repeat(6,minmax(38px,1fr));min-width:360px;align-items:center}
.pm-string-label{font-weight:950;color:var(--pm-gold-light)}
.pm-fret-cell{
  display:grid;place-items:center;height:34px;border-left:1px solid rgba(255,255,255,.16);
  border-bottom:2px solid rgba(255,255,255,.16);font-size:18px;color:transparent
}
.pm-fret-cell:first-of-type{border-left:3px solid rgba(255,255,255,.45)}
.pm-fret-cell.is-active{color:#65d1ff;text-shadow:0 0 12px rgba(91,192,255,.45)}
.pm-fret-cell.is-muted{color:#ff7a7a}
.pm-string-notes{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}
.pm-string-notes span,.pm-chord-favorite-chip{
  padding:6px 9px;border:1px solid var(--pm-border);border-radius:999px;background:rgba(255,255,255,.03);
  color:var(--pm-text);font-size:10px;font-weight:850
}
.pm-chord-library-mini{margin-top:14px}
.pm-chord-favorites{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.pm-chord-favorite-chip{cursor:pointer}
.pm-chord-favorite-chip:hover{border-color:var(--pm-gold-border);color:var(--pm-gold-light)}
.pm-chord-empty{color:var(--pm-muted);font-size:11px}

/* Ranking público: somente posição + música/artista */
.pm-request-rank-row{grid-template-columns:32px 1fr!important}
.pm-request-rank-row>b{display:none!important}

.pm-app[data-reading-theme="light"] .pm-chord-search-hero,
.pm-app[data-reading-theme="light"] .pm-fretboard-card,
.pm-app[data-reading-theme="light"] .pm-chord-library-mini{background:#fff;border-color:#cad9e5}
.pm-app[data-reading-theme="light"] .pm-fret-cell{border-color:#cbd8e2}
.pm-app[data-reading-theme="light"] .pm-fret-cell:first-of-type{border-left-color:#8da3b4}

@media(max-width:900px){
  .pm-chord-quickbar{grid-template-columns:1fr}
  .pm-chord-actionbar{justify-content:flex-start}
  .pm-chord-summary-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .pm-chord-tool-2{padding:12px}
  .pm-chord-actionbar{display:grid;grid-template-columns:repeat(2,1fr)}
  .pm-chord-actionbar button{width:100%}
  .pm-chord-summary-2{grid-template-columns:1fr!important}
  .pm-instrument-tabs button{padding:0 11px;font-size:11px}
}


/* v2.1.1 — detecção automática de Harpa Cristã no pedido */
.pm-request-harpa-hint{
  color:var(--pm-gold-light);
  font-style:normal;
  font-weight:900;
  font-size:10px;
}
.pm-request-grid input[readonly]{
  border-color:var(--pm-gold-border);
  background:var(--pm-gold-soft);
  color:var(--pm-gold-light);
}
.pm-app[data-reading-theme="light"] .pm-request-grid input[readonly]{
  background:#fff7df;
  color:#7b5719;
  border-color:#dcc17a;
}


/* ==========================================================
   v2.2.0 — MISSÃO 009-B · TRANSPOSITOR 2.0
========================================================== */
.pm-transposer-hero{
  background:radial-gradient(circle at 91% 12%,rgba(215,180,90,.075),transparent 30%),
             radial-gradient(circle at 73% 52%,rgba(91,192,255,.065),transparent 32%)
}
.pm-transposer-context{
  display:flex;align-items:center;justify-content:space-between;gap:14px;margin:15px 0;padding:13px 15px;
  border:1px solid var(--pm-gold-border);border-radius:17px;
  background:linear-gradient(135deg,rgba(215,180,90,.085),rgba(91,192,255,.035))
}
.pm-transposer-context>div{display:grid;gap:3px}
.pm-transposer-context span{color:var(--pm-gold-light);font-size:9px;font-weight:950;letter-spacing:.11em}
.pm-transposer-context strong{font-size:16px}.pm-transposer-context small{color:var(--pm-muted)}
.pm-transposer-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:15px;align-items:start}
.pm-transposer-workspace,.pm-transposer-result-card{min-width:0;padding:18px}
.pm-transposer-title-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.45fr);gap:12px;margin-bottom:14px}
.pm-transposer-title-row label{display:grid;gap:6px}
.pm-transposer-title-row label>span,.pm-key-row-2 label>span{color:var(--pm-muted);font-size:11px;font-weight:900}
.pm-transposer-title-row input{width:100%;box-sizing:border-box;min-height:43px;border:1px solid var(--pm-border);border-radius:12px;background:rgba(255,255,255,.035);color:var(--pm-text);padding:0 12px}
.pm-transposer-detection{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--pm-border);border-radius:14px;background:rgba(255,255,255,.025)}
.pm-transposer-detection>span{color:var(--pm-muted);font-size:9px;font-weight:900;letter-spacing:.08em}
.pm-transposer-detection strong{color:var(--pm-gold-light);font-size:21px}
.pm-transposer-detection small{color:var(--pm-muted);font-size:10px;line-height:1.35}
.pm-key-row-2{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px!important;align-items:end}
.pm-key-row-2 label{display:grid;gap:6px}.pm-key-row-2 select{width:100%;min-height:44px}
.pm-transposer-shift{display:flex;align-items:center;gap:6px;padding-bottom:1px}
.pm-transposer-shift button{width:42px;height:42px;border:1px solid var(--pm-border);border-radius:11px;background:rgba(255,255,255,.035);color:var(--pm-text);font-size:13px;font-weight:950;cursor:pointer}
.pm-transposer-shift button:hover{border-color:rgba(91,192,255,.50);color:#8ddcff}
.pm-transposer-shift span{color:var(--pm-gold-light);font-weight:950}
.pm-transposer-key-actions{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 15px}
.pm-transposer-input-field textarea{min-height:370px;resize:vertical;font:13px/1.55 "Courier New",monospace}
.pm-transposer-analysis{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.pm-transposer-analysis>span{padding:6px 8px;border:1px solid var(--pm-border);border-radius:999px;color:var(--pm-muted);font-size:10px}
.pm-transposer-analysis b{color:var(--pm-text)}
.pm-transposer-main-actions{margin-top:13px}
.pm-transposer-result-card{position:sticky;top:92px}
.pm-transposer-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.pm-transposer-result-head>div{display:grid;gap:3px}.pm-transposer-result-head strong{font-size:20px}.pm-transposer-result-head small{color:var(--pm-muted)}
.pm-transposer-badge{flex:0 0 auto;padding:7px 9px;border:1px solid var(--pm-gold-border);border-radius:999px;background:var(--pm-gold-soft);color:var(--pm-gold-light);font-size:10px;font-weight:950}
.pm-transposer-result{min-height:480px;max-height:660px;overflow:auto;margin:0;padding:16px;border:1px solid var(--pm-border);border-radius:16px;background:#06111d;color:#eaf5fc;white-space:pre-wrap;word-break:normal;font:13px/1.6 "Courier New",monospace}
.pm-transposer-result-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:11px}
.pm-transposer-result-actions button{width:100%}
.pm-transposer-tip{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:11px;border:1px solid rgba(91,192,255,.13);border-radius:14px;background:rgba(91,192,255,.035)}
.pm-transposer-tip>span{font-size:20px}.pm-transposer-tip p{margin:0;color:var(--pm-muted);font-size:10px;line-height:1.5}.pm-transposer-tip b{color:var(--pm-text)}
.pm-open-transposer-button{width:100%;margin-top:7px;border-color:rgba(91,192,255,.22)!important}
.pm-app[data-reading-theme="light"] .pm-transposer-title-row input,
.pm-app[data-reading-theme="light"] .pm-transposer-detection,
.pm-app[data-reading-theme="light"] .pm-transposer-shift button{background:#fff;border-color:#cad9e5;color:#163047}
.pm-app[data-reading-theme="light"] .pm-transposer-result{background:#fff;color:#102235;border-color:#cad9e5}
.pm-app[data-reading-theme="light"] .pm-transposer-context{background:linear-gradient(135deg,#fff9e9,#eef8fd)}
@media(max-width:1050px){.pm-transposer-grid{grid-template-columns:1fr}.pm-transposer-result-card{position:static}.pm-transposer-result{min-height:360px;max-height:none}}
@media(max-width:760px){
  .pm-transposer-workspace,.pm-transposer-result-card{padding:13px}
  .pm-transposer-title-row{grid-template-columns:1fr}
  .pm-key-row-2{grid-template-columns:1fr!important}
  .pm-transposer-shift{justify-content:center;padding:0}
  .pm-transposer-key-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .pm-transposer-key-actions button{width:100%}
  .pm-transposer-input-field textarea{min-height:300px}
  .pm-transposer-result{min-height:320px}
  .pm-transposer-context{align-items:stretch;flex-direction:column}
}
@media(max-width:420px){.pm-transposer-key-actions,.pm-transposer-result-actions{grid-template-columns:1fr}}


/* ==========================================================
   v2.3.0 — MISSÃO 009-A.1 · INSTRUMENTOS PREMIUM + ÁUDIO REAL
========================================================== */

/* ---------- Status do áudio sob demanda ---------- */
.pm-premium-audio-status{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid var(--pm-border);
  border-radius:17px;
  background:
    radial-gradient(circle at 0 0,rgba(91,192,255,.055),transparent 38%),
    linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
}
.pm-premium-audio-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:13px;
  border:1px solid rgba(91,192,255,.18);
  background:rgba(91,192,255,.065);
  font-size:21px;
}
.pm-premium-audio-copy{display:grid;gap:3px}
.pm-premium-audio-copy strong{font-size:12px}
.pm-premium-audio-copy small{color:var(--pm-muted);font-size:10px;line-height:1.35}
.pm-premium-audio-status>em{
  padding:5px 8px;
  border:1px solid var(--pm-border);
  border-radius:999px;
  color:var(--pm-muted);
  font-size:9px;
  font-style:normal;
  font-weight:950;
  white-space:nowrap;
}
.pm-premium-audio-status>em[data-state="loading"]{color:#83d7ff;border-color:rgba(91,192,255,.28)}
.pm-premium-audio-status>em[data-state="ready"]{color:#94e4ae;border-color:rgba(83,191,119,.28)}
.pm-premium-audio-status>em[data-state="fallback"]{color:#f3c778;border-color:rgba(215,180,90,.28)}
.pm-audio-load-track{
  height:3px;
  overflow:hidden;
  margin-top:3px;
  border-radius:999px;
  background:rgba(255,255,255,.05);
}
.pm-audio-load-track span{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#39a7df,#76d5ff,var(--pm-gold));
  transition:width .22s ease;
}
.pm-premium-audio-status.is-loading .pm-premium-audio-icon{animation:pmAudioPulse 1.05s ease-in-out infinite}
@keyframes pmAudioPulse{50%{transform:scale(1.06);box-shadow:0 0 22px rgba(91,192,255,.13)}}

/* ---------- Piano premium ---------- */
.pm-keyboard-panel{
  overflow:hidden;
  border-color:rgba(215,180,90,.16)!important;
  background:
    radial-gradient(circle at 50% 0,rgba(255,255,255,.055),transparent 35%),
    linear-gradient(180deg,#132235,#09131f)!important;
}
.pm-keyboard{
  position:relative!important;
  min-height:218px!important;
  padding:0!important;
  border:12px solid #111a24!important;
  border-top-width:19px!important;
  border-bottom-width:19px!important;
  border-radius:13px!important;
  background:#111a24!important;
  box-shadow:
    0 18px 38px rgba(0,0,0,.28),
    0 0 0 1px rgba(215,180,90,.10) inset!important;
}
.pm-keyboard button{
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  font:inherit;
  outline:none;
}
.pm-white-key{
  position:relative!important;
  height:180px!important;
  border:1px solid #aeb9c1!important;
  border-top:0!important;
  border-radius:0 0 7px 7px!important;
  background:
    linear-gradient(90deg,#d9dfe3 0,#fff 12%,#fbfbfa 76%,#cfd7dc 100%)!important;
  box-shadow:
    inset 0 -9px 10px rgba(42,54,64,.12),
    0 3px 0 #9eaab2!important;
  color:#40505c!important;
  transition:transform .07s ease,box-shadow .07s ease,background .12s ease!important;
}
.pm-white-key span{
  position:absolute!important;
  bottom:10px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  font-size:9px!important;
  font-weight:900!important;
  opacity:.68!important;
}
.pm-black-key{
  z-index:4!important;
  width:25px!important;
  height:112px!important;
  border:1px solid #020507!important;
  border-radius:0 0 6px 6px!important;
  background:
    linear-gradient(90deg,#05090c,#29333b 42%,#080d10 72%,#020405)!important;
  box-shadow:
    0 7px 8px rgba(0,0,0,.48),
    inset 0 -5px 5px rgba(255,255,255,.045)!important;
  transition:transform .07s ease,box-shadow .07s ease!important;
}
.pm-white-key:hover{background:linear-gradient(90deg,#dbe9ef,#fff 14%,#fff 80%,#cbdce5)!important}
.pm-black-key:hover{background:linear-gradient(90deg,#071019,#364956 45%,#091019)!important}
.pm-white-key:active,.pm-white-key.is-playing{
  transform:translateY(3px)!important;
  box-shadow:inset 0 -4px 7px rgba(42,54,64,.10)!important;
}
.pm-black-key:active,.pm-black-key.is-playing{
  transform:translateY(3px)!important;
  box-shadow:0 2px 3px rgba(0,0,0,.45)!important;
}
.pm-white-key.is-active{
  background:
    linear-gradient(180deg,#fdfcf8 0,#fff8d8 63%,#e8c96f 100%)!important;
  box-shadow:
    inset 0 -10px 17px rgba(215,180,90,.22),
    0 3px 0 #b18b34!important;
}
.pm-black-key.is-active{
  background:
    linear-gradient(180deg,#745a20,#d7b45a 62%,#5f4615)!important;
  box-shadow:
    0 7px 10px rgba(0,0,0,.48),
    0 0 16px rgba(215,180,90,.25)!important;
}
.pm-white-key.is-playing,.pm-black-key.is-playing{
  filter:brightness(1.15);
  box-shadow:0 0 24px rgba(91,192,255,.45)!important;
}

/* ---------- Braço profissional ---------- */
.pm-fretboard-card{
  overflow:hidden;
  background:
    radial-gradient(circle at 80% -10%,rgba(215,180,90,.06),transparent 32%),
    linear-gradient(145deg,#0d1722,#09111a)!important;
}
.pm-string-shape-summary-pro{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:10px 0 12px!important;
}
.pm-string-shape-summary-pro>div:first-child{display:grid;gap:3px}
.pm-string-shape-summary-pro strong{font-size:29px!important}
.pm-string-performance{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.pm-shape-position-tabs{
  display:flex;
  gap:7px;
  overflow-x:auto;
  margin:9px 0 13px;
  padding-bottom:2px;
}
.pm-shape-position-tabs button{
  flex:0 0 auto;
  display:grid;
  gap:2px;
  min-width:108px;
  padding:8px 10px;
  border:1px solid var(--pm-border);
  border-radius:12px;
  background:rgba(255,255,255,.025);
  color:var(--pm-text);
  text-align:left;
  cursor:pointer;
}
.pm-shape-position-tabs button strong{font-size:11px}
.pm-shape-position-tabs button small{color:var(--pm-muted);font-size:9px}
.pm-shape-position-tabs button.is-active{
  border-color:var(--pm-gold-border);
  background:var(--pm-gold-soft);
}
.pm-shape-position-tabs button.is-active strong{color:var(--pm-gold-light)}

.pm-fretboard-pro{
  position:relative;
  gap:0!important;
  padding:11px 12px 13px!important;
  border:1px solid #2c1d12;
  border-radius:13px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.025),transparent 14%,rgba(255,255,255,.02) 82%,transparent),
    repeating-linear-gradient(90deg,#492b18 0,#5b3620 11%,#422616 22%,#604027 33%,#3e2415 45%,#58351f 58%);
  box-shadow:
    inset 0 0 32px rgba(0,0,0,.36),
    0 16px 34px rgba(0,0,0,.18);
}
.pm-fret-header,
.pm-fret-string-pro{
  display:grid!important;
  grid-template-columns:38px 40px repeat(5,minmax(48px,1fr))!important;
  min-width:440px!important;
}
.pm-fret-header{
  align-items:center;
  min-height:24px;
  color:#d9c8b0;
  font-size:9px;
  font-weight:900;
  text-align:center;
}
.pm-fret-string-pro{
  position:relative;
  align-items:center!important;
  min-height:42px;
}
.pm-fret-string-pro::after{
  content:"";
  position:absolute;
  left:38px;
  right:0;
  top:50%;
  height:var(--pm-string-weight,1.4px);
  transform:translateY(-50%);
  background:linear-gradient(180deg,#f0e9dd,#8f8173 45%,#f4ede4 60%,#776a60);
  box-shadow:0 1px 1px rgba(0,0,0,.45);
  pointer-events:none;
  z-index:1;
}
.pm-string-label{
  position:relative;
  z-index:3;
  color:#f1d58e!important;
  text-shadow:0 1px 4px rgba(0,0,0,.8);
}
.pm-fretboard-pro .pm-fret-cell{
  position:relative;
  z-index:2;
  display:grid!important;
  place-items:center!important;
  width:auto!important;
  height:42px!important;
  padding:0!important;
  border:0!important;
  border-right:3px solid rgba(207,210,208,.70)!important;
  border-radius:0!important;
  background:transparent!important;
  color:transparent!important;
  box-shadow:none!important;
  cursor:default;
}
.pm-fretboard-pro .pm-fret-cell:first-of-type{
  border-left:5px solid rgba(234,228,215,.92)!important;
}
.pm-fretboard-pro .pm-open-cell{
  border-left:0!important;
  border-right:5px solid rgba(234,228,215,.92)!important;
}
.pm-fretboard-pro .pm-fret-cell.is-active{
  cursor:pointer;
}
.pm-fretboard-pro .pm-fret-cell.is-active i{
  position:relative;
  z-index:4;
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:50%;
  background:linear-gradient(145deg,#62c9f6,#1779ae);
  color:transparent;
  border:2px solid rgba(255,255,255,.72);
  box-shadow:0 3px 10px rgba(0,0,0,.34),0 0 15px rgba(91,192,255,.24);
}
.pm-fretboard-pro .pm-fret-cell.is-active small{
  position:absolute;
  z-index:5;
  color:#fff;
  font-size:8px;
  font-weight:950;
  pointer-events:none;
}
.pm-fretboard-pro .pm-open-cell.is-active{
  color:#fff!important;
  font-size:20px!important;
  text-shadow:0 0 12px rgba(91,192,255,.7);
}
.pm-fretboard-pro .pm-open-cell.is-muted{
  color:#ff8b8b!important;
  font-size:18px!important;
}
.pm-fretboard-pro .pm-fret-cell.is-playing i,
.pm-fretboard-pro .pm-open-cell.is-playing{
  filter:brightness(1.24);
  box-shadow:0 0 25px rgba(215,180,90,.48)!important;
}
.pm-fret-position-note{
  margin:7px 0 0 38px;
  color:var(--pm-gold-light);
  font-size:9px;
  font-weight:850;
}

/* ---------- Créditos/licenças discretos ---------- */
.pm-audio-credits{
  display:flex;
  align-items:flex-start;
  gap:7px;
  margin-top:14px;
  padding:9px 11px;
  border:1px solid rgba(215,180,90,.12);
  border-radius:12px;
  background:rgba(215,180,90,.025);
}
.pm-audio-credits span{
  flex:0 0 auto;
  color:var(--pm-gold-light);
  font-size:9px;
  font-weight:900;
}
.pm-audio-credits small{
  color:var(--pm-muted);
  font-size:9px;
  line-height:1.45;
}

/* ---------- Light mode ---------- */
.pm-app[data-reading-theme="light"] .pm-premium-audio-status{
  background:linear-gradient(145deg,#fff,#f3f8fb);
  border-color:#cad9e5;
}
.pm-app[data-reading-theme="light"] .pm-keyboard-panel{
  background:linear-gradient(180deg,#edf4f8,#dfe9ef)!important;
}
.pm-app[data-reading-theme="light"] .pm-fretboard-card{
  background:linear-gradient(145deg,#fff,#f2f7fa)!important;
}
.pm-app[data-reading-theme="light"] .pm-shape-position-tabs button{
  background:#fff;
  border-color:#cddbe5;
}
.pm-app[data-reading-theme="light"] .pm-fretboard-pro{
  border-color:#68452d;
}
.pm-app[data-reading-theme="light"] .pm-audio-credits{
  background:#fffaf0;
  border-color:#e4d4aa;
}

/* ---------- Mobile ---------- */
@media(max-width:760px){
  .pm-premium-audio-status{
    grid-template-columns:auto 1fr;
    padding:10px;
  }
  .pm-premium-audio-status>em{
    grid-column:2;
    width:max-content;
  }
  .pm-chord-actionbar{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .pm-chord-actionbar button{width:100%}
  .pm-string-shape-summary-pro{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  .pm-string-performance{
    display:grid;
    grid-template-columns:repeat(2,1fr);
  }
  .pm-string-performance button{width:100%}
  .pm-keyboard{
    min-height:184px!important;
    border-width:8px!important;
    border-top-width:14px!important;
    border-bottom-width:14px!important;
  }
  .pm-white-key{height:150px!important}
  .pm-black-key{height:92px!important;width:21px!important}
}


/* ==========================================================
   v2.4.0 — MISSÃO 009-A.2 · DICIONÁRIO DE ACORDES PRO
   Diagramas verticais profissionais + partitura clicável
========================================================== */

.pm-instrument-local-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 14px;
}
.pm-instrument-local-actions>span{
  color:var(--pm-muted);
  font-size:10px;
  line-height:1.4;
}
.pm-string-local-actions{
  margin-top:12px;
}
.pm-string-local-actions .pm-primary{
  min-width:132px;
}

/* ---------- Galeria de diagramas ---------- */
.pm-chord-diagram-stage{
  overflow:hidden;
}
.pm-chord-diagram-gallery{
  display:block;
}
.pm-diagram-gallery-intro{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin:7px 0 12px;
}
.pm-diagram-gallery-intro strong{
  font-size:18px;
}
.pm-diagram-gallery-intro span{
  color:var(--pm-muted);
  font-size:10px;
}
.pm-diagram-card-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(135px,1fr));
  gap:10px;
  overflow-x:auto;
  padding:2px 1px 8px;
}
.pm-diagram-card{
  min-width:0;
  padding:9px 7px 6px;
  border:1px solid var(--pm-border);
  border-radius:14px;
  background:
    radial-gradient(circle at 50% 0,rgba(255,255,255,.045),transparent 35%),
    rgba(255,255,255,.02);
  cursor:pointer;
  transition:.17s ease;
}
.pm-diagram-card:hover{
  transform:translateY(-2px);
  border-color:rgba(91,192,255,.35);
}
.pm-diagram-card.is-selected{
  border-color:var(--pm-gold-border);
  box-shadow:0 0 0 2px rgba(215,180,90,.06),0 11px 24px rgba(0,0,0,.12);
  background:
    radial-gradient(circle at 50% 0,rgba(215,180,90,.08),transparent 38%),
    rgba(215,180,90,.025);
}
.pm-chord-diagram-svg{
  display:block;
  width:100%;
  max-width:180px;
  height:auto;
  margin:auto;
  overflow:visible;
}
.pm-diagram-string{
  stroke:rgba(230,235,239,.72);
  stroke-width:1.25;
}
.pm-diagram-fret{
  stroke:rgba(219,225,229,.55);
  stroke-width:1.05;
}
.pm-diagram-nut{
  stroke:#edf2f4;
  stroke-width:4.2;
}
.pm-diagram-marker{
  fill:#eef4f8;
  font-size:18px;
  font-weight:900;
}
.pm-diagram-open{
  fill:none;
  stroke:#edf4f7;
  stroke-width:2.1;
}
.pm-diagram-fret-label{
  fill:var(--pm-gold-light);
  font-size:10px;
  font-weight:950;
}
.pm-diagram-dot{
  fill:#58a941;
  stroke:rgba(255,255,255,.26);
  stroke-width:1.2;
}
.pm-diagram-barre{
  fill:#58a941;
  stroke:rgba(255,255,255,.22);
  stroke-width:1;
}
.pm-diagram-finger{
  fill:#fff;
  font-size:9px;
  font-weight:950;
  pointer-events:none;
}
.pm-diagram-footer{
  fill:var(--pm-muted);
  font-size:8px;
  font-weight:850;
}
.pm-diagram-note:hover .pm-diagram-dot,
.pm-diagram-open:hover{
  filter:drop-shadow(0 0 6px rgba(91,192,255,.75));
}
.pm-diagram-note.is-playing .pm-diagram-dot,
.pm-diagram-open.is-playing{
  fill:var(--pm-gold);
  stroke:var(--pm-gold-light);
  filter:drop-shadow(0 0 8px rgba(215,180,90,.75));
}
.pm-selected-shape-notes{
  margin-top:10px;
}
.pm-selected-shape-notes button{
  appearance:none;
  cursor:pointer;
}

/* Remove o visual de braço horizontal anterior: o motor continua disponível
   internamente, mas a experiência pública agora usa cards de acordes. */
.pm-fretboard-pro,
.pm-fret-position-note,
.pm-string-shape-summary-pro,
.pm-shape-position-tabs{
  display:none!important;
}

/* ---------- Partitura ---------- */
.pm-staff-card{
  padding:16px;
  border:1px solid var(--pm-border);
  border-radius:18px;
  background:
    radial-gradient(circle at 96% 0,rgba(215,180,90,.045),transparent 30%),
    rgba(255,255,255,.018);
}
.pm-chord-staff{
  overflow-x:auto;
  margin-top:4px;
  border:1px solid var(--pm-border);
  border-radius:14px;
  background:#fff;
}
.pm-chord-staff-svg{
  display:block;
  width:100%;
  min-width:560px;
  height:auto;
  color:#111;
}
.pm-staff-line,
.pm-staff-ledger{
  stroke:#111;
  stroke-width:2;
}
.pm-staff-ledger{
  stroke-width:1.8;
}
.pm-staff-clef{
  fill:#111;
  font-family:"Segoe UI Symbol","Apple Symbols","Noto Music",serif;
  font-size:112px;
}
.pm-staff-notehead{
  fill:#111;
}
.pm-staff-stem{
  stroke:#111;
  stroke-width:2.2;
}
.pm-staff-accidental{
  fill:#111;
  font-family:Georgia,serif;
  font-size:25px;
}
.pm-staff-note{
  cursor:pointer;
}
.pm-staff-note:hover .pm-staff-notehead{
  fill:#1788c2;
}
.pm-staff-note.is-playing .pm-staff-notehead{
  fill:#bd8b1e;
  filter:drop-shadow(0 0 5px rgba(215,180,90,.45));
}
.pm-staff-note-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}
.pm-staff-note-list button{
  appearance:none;
  padding:6px 9px;
  border:1px solid var(--pm-border);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:var(--pm-text);
  font-size:10px;
  font-weight:900;
  cursor:pointer;
}
.pm-staff-note-list button:hover{
  border-color:var(--pm-gold-border);
  color:var(--pm-gold-light);
}

/* ---------- Modo claro ---------- */
.pm-app[data-reading-theme="light"] .pm-diagram-card{
  background:#fff;
  border-color:#ccd9e3;
}
.pm-app[data-reading-theme="light"] .pm-diagram-card.is-selected{
  background:#fff9e9;
  border-color:#d5b55c;
}
.pm-app[data-reading-theme="light"] .pm-diagram-string,
.pm-app[data-reading-theme="light"] .pm-diagram-fret{
  stroke:#56636c;
}
.pm-app[data-reading-theme="light"] .pm-diagram-nut{
  stroke:#1d262d;
}
.pm-app[data-reading-theme="light"] .pm-diagram-marker{
  fill:#152634;
}
.pm-app[data-reading-theme="light"] .pm-diagram-open{
  stroke:#152634;
}
.pm-app[data-reading-theme="light"] .pm-staff-card{
  background:#fff;
  border-color:#cad9e5;
}
.pm-app[data-reading-theme="light"] .pm-staff-note-list button{
  background:#fff;
  border-color:#cad9e5;
  color:#163047;
}

/* ---------- Responsivo ---------- */
@media(max-width:1080px){
  .pm-diagram-card-row{
    grid-template-columns:repeat(2,minmax(145px,1fr));
  }
}
@media(max-width:760px){
  .pm-instrument-local-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .pm-instrument-local-actions button{
    width:100%;
  }
  .pm-instrument-local-actions>span{
    grid-column:1/-1;
  }
  .pm-diagram-gallery-intro{
    align-items:flex-start;
    flex-direction:column;
  }
  .pm-diagram-card-row{
    display:flex;
    scroll-snap-type:x mandatory;
  }
  .pm-diagram-card{
    flex:0 0 72%;
    max-width:210px;
    scroll-snap-align:start;
  }
  .pm-chord-diagram-svg{
    max-width:175px;
  }
  .pm-staff-card{
    padding:12px;
  }
}
@media(max-width:420px){
  .pm-diagram-card{
    flex-basis:82%;
  }
}


/* ==========================================================
   v2.5.0 — ACORDES AVANÇADOS + PROGRESSÕES 2.0
========================================================== */

/* ---------- Harmonia avançada / Poliacordes ---------- */
.pm-advanced-harmony-lab{
  margin:16px 0 5px;
  padding:15px;
  border:1px solid var(--pm-border);
  border-radius:18px;
  background:
    radial-gradient(circle at 97% 0,rgba(215,180,90,.08),transparent 35%),
    rgba(255,255,255,.018);
}
.pm-advanced-harmony-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.pm-advanced-harmony-head>div{display:grid;gap:3px}
.pm-advanced-harmony-head strong{font-size:17px}
.pm-advanced-harmony-head small{color:var(--pm-muted);font-size:10px;line-height:1.4}
.pm-harmony-badge{
  padding:5px 8px;
  border:1px solid var(--pm-gold-border);
  border-radius:999px;
  background:var(--pm-gold-soft);
  color:var(--pm-gold-light);
  font-size:9px;
  font-weight:950;
}
.pm-polychord-builder{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;
  align-items:end;
  gap:10px;
  margin-top:13px;
}
.pm-polychord-side{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.pm-polychord-side>span{
  grid-column:1/-1;
  color:var(--pm-muted);
  font-size:9px;
  font-weight:950;
  letter-spacing:.08em;
}
.pm-polychord-side select{
  min-height:40px;
  border:1px solid var(--pm-border);
  border-radius:11px;
  background:rgba(255,255,255,.035);
  color:var(--pm-text);
  padding:0 9px;
}
.pm-polychord-fraction{
  display:grid;
  place-items:center;
  min-width:35px;
  padding-bottom:7px;
  color:var(--pm-gold-light);
  font-size:18px;
}
.pm-polychord-result{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:13px;
  margin-top:12px;
  padding:11px 13px;
  border:1px solid rgba(91,192,255,.12);
  border-radius:14px;
  background:rgba(91,192,255,.025);
}
.pm-polychord-symbol{
  display:grid;
  min-width:58px;
  text-align:center;
}
.pm-polychord-symbol strong{font-size:17px}
.pm-polychord-symbol span{
  width:100%;
  height:1px;
  background:var(--pm-gold);
}
.pm-polychord-result>div:nth-child(2){display:grid;gap:3px}
.pm-polychord-result small{color:var(--pm-muted);font-size:10px}

/* ---------- Progressões 2.0 ---------- */
.pm-progressions-hero{
  background:
    radial-gradient(circle at 92% 4%,rgba(215,180,90,.08),transparent 30%),
    radial-gradient(circle at 74% 50%,rgba(91,192,255,.06),transparent 33%);
}
.pm-progression-controls{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin:16px 0;
  padding:14px;
  border:1px solid var(--pm-border);
  border-radius:18px;
  background:rgba(255,255,255,.018);
}
.pm-progression-controls label{
  display:grid;
  gap:6px;
}
.pm-progression-controls label>span,
.pm-progression-custom label>span{
  color:var(--pm-muted);
  font-size:10px;
  font-weight:900;
}
.pm-progression-controls select,
.pm-progression-custom input{
  width:100%;
  min-height:42px;
  box-sizing:border-box;
  border:1px solid var(--pm-border);
  border-radius:11px;
  background:rgba(255,255,255,.035);
  color:var(--pm-text);
  padding:0 10px;
}
.pm-progression-tempo{
  grid-column:span 2;
}
.pm-progression-tempo input{
  width:100%;
  accent-color:var(--pm-gold);
}
.pm-progression-presets{
  padding:14px;
  border:1px solid var(--pm-border);
  border-radius:18px;
  background:rgba(255,255,255,.014);
}
.pm-progression-preset-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:11px;
}
.pm-progression-preset-grid button{
  display:grid;
  gap:3px;
  padding:10px;
  min-height:64px;
  border:1px solid var(--pm-border);
  border-radius:13px;
  background:rgba(255,255,255,.025);
  color:var(--pm-text);
  text-align:left;
  cursor:pointer;
}
.pm-progression-preset-grid button strong{font-size:13px}
.pm-progression-preset-grid button small{color:var(--pm-muted);font-size:9px}
.pm-progression-preset-grid button.is-active{
  border-color:var(--pm-gold-border);
  background:var(--pm-gold-soft);
}
.pm-progression-preset-grid button.is-active strong{color:var(--pm-gold-light)}
.pm-progression-custom{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 10px;
  align-items:end;
  margin:12px 0;
  padding:12px 14px;
  border:1px solid var(--pm-border);
  border-radius:16px;
  background:rgba(91,192,255,.018);
}
.pm-progression-custom label{display:grid;gap:5px}
.pm-progression-custom>small{
  grid-column:1/-1;
  color:var(--pm-muted);
  font-size:9px;
}
.pm-progression-stage{
  padding:16px;
  border:1px solid var(--pm-border);
  border-radius:20px;
  background:
    radial-gradient(circle at 98% 0,rgba(91,192,255,.05),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
}
.pm-progression-stage-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.pm-progression-stage-head h4{
  margin:4px 0;
  font-size:22px;
}
.pm-progression-stage-head p{
  margin:0;
  color:var(--pm-gold-light);
  font-size:15px;
  font-weight:900;
}
.pm-progression-play-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:7px;
}
.pm-progression-loop{
  display:flex;
  align-items:center;
  gap:5px;
  color:var(--pm-muted);
  font-size:10px;
  white-space:nowrap;
}
.pm-progression-loop input{accent-color:var(--pm-gold)}
.pm-progression-cards{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin-top:15px;
}
.pm-progression-card{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:9px;
  align-items:start;
  min-height:120px;
  padding:12px;
  border:1px solid var(--pm-border);
  border-radius:15px;
  background:rgba(255,255,255,.02);
  cursor:pointer;
  transition:.16s ease;
}
.pm-progression-card:hover{
  transform:translateY(-2px);
  border-color:rgba(91,192,255,.28);
}
.pm-progression-card.is-playing{
  border-color:var(--pm-gold-border);
  background:
    radial-gradient(circle at 0 0,rgba(215,180,90,.12),transparent 45%),
    rgba(215,180,90,.035);
  box-shadow:0 0 25px rgba(215,180,90,.08);
}
.pm-progression-degree{
  display:grid;
  place-items:center;
  align-content:center;
  width:42px;
  height:52px;
  border:1px solid rgba(91,192,255,.16);
  border-radius:12px;
  background:rgba(91,192,255,.04);
}
.pm-progression-degree span{
  font-size:16px;
  font-weight:950;
}
.pm-progression-degree small{
  color:var(--pm-gold-light);
  font-size:9px;
  font-weight:950;
}
.pm-progression-chord-copy{
  display:grid;
  gap:2px;
  min-width:0;
}
.pm-progression-chord-copy strong{
  font-size:21px;
  color:#89ddff;
}
.pm-progression-chord-copy small{
  color:var(--pm-muted);
  font-size:9px;
  line-height:1.3;
}
.pm-progression-chord-copy em{
  margin-top:3px;
  color:var(--pm-gold-light);
  font-size:9px;
  font-style:normal;
}
.pm-progression-card>button{
  grid-column:1/-1;
  width:100%;
  min-height:34px;
  margin-top:auto;
}
.pm-progression-theory{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:12px;
  padding:13px 15px;
  border:1px solid var(--pm-border);
  border-radius:16px;
  background:rgba(255,255,255,.015);
}
.pm-progression-theory>div:first-child{display:grid;gap:3px}
.pm-progression-theory p{
  max-width:760px;
  margin:2px 0 0;
  color:var(--pm-muted);
  font-size:10px;
  line-height:1.45;
}
.pm-progression-legend{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:6px;
}
.pm-progression-legend span{
  padding:6px 8px;
  border:1px solid var(--pm-border);
  border-radius:999px;
  color:var(--pm-muted);
  font-size:9px;
  white-space:nowrap;
}
.pm-progression-legend b{color:var(--pm-gold-light)}
.pm-primary.is-playing{
  box-shadow:0 0 0 2px rgba(215,180,90,.14),0 0 28px rgba(215,180,90,.12);
}

/* Claro */
.pm-app[data-reading-theme="light"] .pm-advanced-harmony-lab,
.pm-app[data-reading-theme="light"] .pm-progression-controls,
.pm-app[data-reading-theme="light"] .pm-progression-presets,
.pm-app[data-reading-theme="light"] .pm-progression-custom,
.pm-app[data-reading-theme="light"] .pm-progression-stage,
.pm-app[data-reading-theme="light"] .pm-progression-theory{
  background:#fff;
  border-color:#cad9e5;
}
.pm-app[data-reading-theme="light"] .pm-polychord-side select,
.pm-app[data-reading-theme="light"] .pm-progression-controls select,
.pm-app[data-reading-theme="light"] .pm-progression-custom input{
  background:#fff;
  border-color:#cad9e5;
  color:#163047;
}
.pm-app[data-reading-theme="light"] .pm-progression-preset-grid button,
.pm-app[data-reading-theme="light"] .pm-progression-card{
  background:#f8fbfd;
  border-color:#d2dfe8;
}

/* Responsivo */
@media(max-width:1050px){
  .pm-progression-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pm-progression-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pm-progression-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pm-polychord-builder{grid-template-columns:1fr auto 1fr}
  .pm-polychord-builder>.pm-primary{grid-column:1/-1;width:100%}
}
@media(max-width:760px){
  .pm-polychord-builder{grid-template-columns:1fr}
  .pm-polychord-fraction{min-height:16px;padding:0}
  .pm-polychord-result{grid-template-columns:auto 1fr}
  .pm-polychord-result>button{grid-column:1/-1;width:100%}
  .pm-progression-controls{grid-template-columns:1fr}
  .pm-progression-tempo{grid-column:auto}
  .pm-progression-preset-grid{grid-template-columns:1fr 1fr}
  .pm-progression-custom{grid-template-columns:1fr}
  .pm-progression-custom>button{width:100%}
  .pm-progression-stage-head{flex-direction:column}
  .pm-progression-play-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .pm-progression-play-actions button{width:100%}
  .pm-progression-loop{grid-column:1/-1}
  .pm-progression-cards{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
  }
  .pm-progression-card{
    flex:0 0 78%;
    max-width:270px;
    scroll-snap-align:start;
  }
  .pm-progression-theory{
    align-items:flex-start;
    flex-direction:column;
  }
  .pm-progression-legend{justify-content:flex-start}
}
@media(max-width:420px){
  .pm-progression-preset-grid{grid-template-columns:1fr}
  .pm-progression-play-actions{grid-template-columns:1fr}
}


/* ==========================================================
   v2.6.0 — CAMPO HARMÔNICO PRO + MISSÃO 009-D ESCALAS 2.0
========================================================== */

/* Navegação expandida */
.pm-xp-nav{
  flex-wrap:wrap;
  row-gap:4px;
}

/* ==================== CAMPO HARMÔNICO ==================== */
.pm-harmonic-field-hero{
  background:
    radial-gradient(circle at 92% 8%,rgba(215,180,90,.09),transparent 29%),
    radial-gradient(circle at 72% 56%,rgba(91,192,255,.055),transparent 34%);
}
.pm-field-controls{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin:16px 0 12px;
  padding:14px;
  border:1px solid var(--pm-border);
  border-radius:18px;
  background:rgba(255,255,255,.018);
}
.pm-field-controls label{
  display:grid;
  gap:6px;
}
.pm-field-controls label>span{
  color:var(--pm-muted);
  font-size:10px;
  font-weight:900;
}
.pm-field-controls select{
  width:100%;
  min-height:42px;
  border:1px solid var(--pm-border);
  border-radius:11px;
  background:rgba(255,255,255,.035);
  color:var(--pm-text);
  padding:0 9px;
}
.pm-field-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:15px;
  border:1px solid var(--pm-border);
  border-radius:18px;
  background:
    radial-gradient(circle at 100% 0,rgba(91,192,255,.05),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.034),rgba(255,255,255,.012));
}
.pm-field-summary h4{
  margin:4px 0;
  font-size:23px;
}
.pm-field-summary p{
  margin:0;
  color:var(--pm-gold-light);
  font-size:14px;
  font-weight:900;
}
.pm-field-summary-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px;
}
.pm-field-degree-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.pm-field-degree-card{
  display:flex;
  flex-direction:column;
  min-height:255px;
  padding:13px;
  border:1px solid var(--pm-border);
  border-radius:17px;
  background:rgba(255,255,255,.018);
  cursor:pointer;
  transition:.16s ease;
}
.pm-field-degree-card:hover{
  transform:translateY(-2px);
  border-color:rgba(91,192,255,.28);
}
.pm-field-degree-card.is-playing{
  border-color:var(--pm-gold-border);
  background:
    radial-gradient(circle at 0 0,rgba(215,180,90,.12),transparent 42%),
    rgba(215,180,90,.03);
  box-shadow:0 0 25px rgba(215,180,90,.08);
}
.pm-field-card-head{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:9px;
  align-items:center;
}
.pm-field-degree-badge{
  display:grid;
  place-items:center;
  min-width:45px;
  min-height:49px;
  padding:3px;
  border:1px solid rgba(91,192,255,.15);
  border-radius:12px;
  background:rgba(91,192,255,.04);
}
.pm-field-degree-badge strong{
  font-size:16px;
}
.pm-field-degree-badge small{
  color:var(--pm-muted);
  font-size:8px;
}
.pm-field-card-head>div:last-child{
  display:grid;
  gap:2px;
  min-width:0;
}
.pm-field-chord-symbol{
  color:#8addff;
  font-size:22px;
}
.pm-field-card-head small{
  color:var(--pm-muted);
  font-size:9px;
  line-height:1.25;
}
.pm-field-card-notes,
.pm-field-function{
  display:grid;
  gap:3px;
  margin-top:11px;
}
.pm-field-card-notes>span,
.pm-field-function>span{
  color:var(--pm-muted);
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.pm-field-card-notes strong,
.pm-field-function strong{
  font-size:11px;
  line-height:1.4;
}
.pm-field-tensions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px;
  margin-top:10px;
}
.pm-field-tensions span{
  display:grid;
  place-items:center;
  gap:1px;
  padding:6px 4px;
  border:1px solid var(--pm-gold-border);
  border-radius:10px;
  background:var(--pm-gold-soft);
}
.pm-field-tensions b{
  color:var(--pm-gold-light);
  font-size:11px;
}
.pm-field-tensions small{
  color:var(--pm-muted);
  font-size:8px;
}
.pm-field-expanded-symbol{
  margin-top:6px;
  color:var(--pm-muted);
  font-size:9px;
  word-break:break-word;
}
.pm-field-card-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin-top:auto;
  padding-top:12px;
}
.pm-field-card-actions button{
  width:100%;
}
.pm-field-tension-guide{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:12px;
  padding:13px 15px;
  border:1px solid var(--pm-border);
  border-radius:16px;
  background:rgba(255,255,255,.015);
}
.pm-field-tension-guide>div:first-child{
  display:grid;
  gap:3px;
}
.pm-field-tension-guide p{
  max-width:720px;
  margin:0;
  color:var(--pm-muted);
  font-size:10px;
  line-height:1.45;
}
.pm-field-tension-legend{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:5px;
}
.pm-field-tension-legend span{
  padding:5px 7px;
  border:1px solid var(--pm-border);
  border-radius:999px;
  color:var(--pm-muted);
  font-size:8px;
  white-space:nowrap;
}
.pm-field-tension-legend b{
  color:var(--pm-gold-light);
}
.pm-field-compare{
  margin-top:12px;
  padding:14px;
  border:1px solid var(--pm-border);
  border-radius:18px;
  background:rgba(255,255,255,.015);
}
.pm-field-compare-table{
  display:grid;
  gap:8px;
  margin-top:11px;
}
.pm-field-compare-row{
  display:grid;
  grid-template-columns:165px 1fr;
  gap:10px;
  padding:9px;
  border:1px solid var(--pm-border);
  border-radius:13px;
  background:rgba(255,255,255,.018);
}
.pm-field-compare-row>div:first-child{
  display:grid;
  align-content:center;
  gap:3px;
}
.pm-field-compare-row>div:first-child small{
  color:var(--pm-muted);
  font-size:8px;
  line-height:1.4;
}
.pm-field-compare-chords{
  display:grid;
  grid-template-columns:repeat(7,minmax(90px,1fr));
  gap:5px;
  overflow-x:auto;
}
.pm-field-compare-chords span{
  display:grid;
  gap:2px;
  min-width:90px;
  padding:6px;
  border:1px solid var(--pm-border);
  border-radius:9px;
  font-size:9px;
}
.pm-field-compare-chords b{
  color:var(--pm-gold-light);
  font-size:8px;
}
.pm-field-compare-chords em{
  color:var(--pm-muted);
  font-size:7px;
  font-style:normal;
}

/* ==================== ESCALAS 2.0 ==================== */
.pm-scales-hero{
  background:
    radial-gradient(circle at 92% 7%,rgba(91,192,255,.075),transparent 30%),
    radial-gradient(circle at 70% 58%,rgba(215,180,90,.06),transparent 33%);
}
.pm-scale-controls{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin:16px 0 12px;
  padding:14px;
  border:1px solid var(--pm-border);
  border-radius:18px;
  background:rgba(255,255,255,.018);
}
.pm-scale-controls label{
  display:grid;
  gap:6px;
}
.pm-scale-controls label>span{
  color:var(--pm-muted);
  font-size:10px;
  font-weight:900;
}
.pm-scale-controls select{
  width:100%;
  min-height:42px;
  border:1px solid var(--pm-border);
  border-radius:11px;
  background:rgba(255,255,255,.035);
  color:var(--pm-text);
  padding:0 9px;
}
.pm-scale-overview{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  gap:12px;
  margin-bottom:12px;
}
.pm-scale-overview-main,
.pm-scale-metrics{
  padding:15px;
  border:1px solid var(--pm-border);
  border-radius:18px;
  background:rgba(255,255,255,.018);
}
.pm-scale-overview-main h4{
  margin:4px 0;
  font-size:24px;
}
.pm-scale-overview-main p{
  margin:0;
  color:var(--pm-muted);
  font-size:11px;
  line-height:1.45;
}
.pm-scale-note-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:12px;
}
.pm-scale-note-chip{
  display:grid;
  place-items:center;
  gap:1px;
  min-width:48px;
  padding:7px 9px;
  border:1px solid rgba(91,192,255,.18);
  border-radius:11px;
  background:rgba(91,192,255,.04);
  color:var(--pm-text);
  cursor:pointer;
}
.pm-scale-note-chip strong{
  font-size:12px;
}
.pm-scale-note-chip small{
  color:var(--pm-muted);
  font-size:8px;
}
.pm-scale-note-chip.is-root{
  border-color:var(--pm-gold-border);
  background:var(--pm-gold-soft);
}
.pm-scale-note-chip.is-root strong{
  color:var(--pm-gold-light);
}
.pm-scale-note-chip.is-playing{
  box-shadow:0 0 18px rgba(91,192,255,.25);
  transform:translateY(-1px);
}
.pm-scale-metrics{
  display:grid;
  gap:8px;
}
.pm-scale-metrics>div{
  display:grid;
  gap:3px;
  padding:9px;
  border:1px solid var(--pm-border);
  border-radius:12px;
  background:rgba(255,255,255,.015);
}
.pm-scale-metrics span{
  color:var(--pm-muted);
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.pm-scale-metrics strong{
  font-size:11px;
  line-height:1.4;
}
.pm-scale-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:12px;
}
.pm-scale-actions label{
  display:flex;
  align-items:center;
  gap:6px;
  margin-left:auto;
}
.pm-scale-actions label span{
  color:var(--pm-muted);
  font-size:9px;
}
.pm-scale-actions select{
  min-height:36px;
  border:1px solid var(--pm-border);
  border-radius:10px;
  background:rgba(255,255,255,.035);
  color:var(--pm-text);
}
.pm-scale-visual-stage{
  padding:14px;
  border:1px solid var(--pm-border);
  border-radius:19px;
  background:rgba(255,255,255,.015);
}
.pm-scale-keyboard{
  position:relative;
  display:flex;
  min-height:190px;
  margin-top:11px;
  padding:0;
  border:10px solid #111a24;
  border-top-width:16px;
  border-bottom-width:16px;
  border-radius:12px;
  background:#111a24;
  overflow:visible;
}
.pm-scale-key{
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  border:0;
}
.pm-scale-white-key{
  position:relative;
  flex:1 1 0;
  height:160px;
  border-right:1px solid #b5c0c7;
  border-radius:0 0 6px 6px;
  background:linear-gradient(90deg,#dce2e6,#fff 16%,#fbfbfa 78%,#d2d9de);
  color:#4a5963;
}
.pm-scale-white-key span{
  position:absolute;
  left:50%;
  bottom:8px;
  transform:translateX(-50%);
  font-size:8px;
  font-weight:900;
}
.pm-scale-black-key{
  position:absolute;
  z-index:3;
  top:0;
  width:23px;
  height:98px;
  border-radius:0 0 5px 5px;
  background:linear-gradient(90deg,#05090c,#303c45 45%,#05090c);
  box-shadow:0 6px 8px rgba(0,0,0,.45);
}
.pm-scale-key.is-scale-note{
  box-shadow:inset 0 -12px 18px rgba(91,192,255,.35);
}
.pm-scale-black-key.is-scale-note{
  background:linear-gradient(180deg,#15577a,#2caeea 64%,#123c54);
}
.pm-scale-key.is-root{
  box-shadow:inset 0 -15px 20px rgba(215,180,90,.55)!important;
}
.pm-scale-black-key.is-root{
  background:linear-gradient(180deg,#6b531e,#d7b45a 65%,#614816);
}
.pm-scale-key.is-playing{
  filter:brightness(1.18);
  box-shadow:0 0 25px rgba(91,192,255,.45)!important;
}
.pm-scale-fret-view{
  overflow-x:auto;
}
.pm-scale-fretboard{
  display:grid;
  gap:0;
  min-width:820px;
  margin-top:11px;
  padding:11px;
  border:1px solid #342319;
  border-radius:13px;
  background:
    repeating-linear-gradient(90deg,#472a18 0,#5d3a22 12%,#402416 23%,#68442a 36%);
}
.pm-scale-fret-head,
.pm-scale-fret-row{
  display:grid;
  grid-template-columns:48px repeat(13,minmax(48px,1fr));
  align-items:center;
}
.pm-scale-fret-head{
  min-height:27px;
  color:#d7c3a7;
  font-size:8px;
  font-weight:900;
  text-align:center;
}
.pm-scale-fret-row{
  min-height:43px;
}
.pm-scale-fret-row>strong{
  color:#f0d288;
  text-align:center;
  font-size:10px;
}
.pm-scale-fret-cell{
  position:relative;
  display:grid;
  place-items:center;
  min-height:43px;
  border-right:2px solid rgba(216,216,210,.58);
}
.pm-scale-fret-cell::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:1px;
  background:rgba(238,231,220,.74);
}
.pm-scale-fret-note{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  border:2px solid rgba(255,255,255,.65);
  border-radius:50%;
  background:#198fcb;
  color:#fff;
  font-size:8px;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 3px 8px rgba(0,0,0,.30);
}
.pm-scale-fret-note.is-root{
  background:var(--pm-gold-deep);
  border-color:var(--pm-gold-light);
}
.pm-scale-fret-note.is-playing{
  filter:brightness(1.24);
  box-shadow:0 0 20px rgba(91,192,255,.55);
}
.pm-scale-improv{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:12px;
  padding:13px 15px;
  border:1px solid var(--pm-border);
  border-radius:16px;
  background:rgba(91,192,255,.018);
}
.pm-scale-improv>div:first-child{
  display:grid;
  gap:3px;
}
.pm-scale-improv p{
  max-width:760px;
  margin:0;
  color:var(--pm-muted);
  font-size:10px;
  line-height:1.45;
}
.pm-scale-compatible-chords{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:5px;
}
.pm-scale-compatible-chords span{
  padding:6px 8px;
  border:1px solid var(--pm-gold-border);
  border-radius:999px;
  background:var(--pm-gold-soft);
  color:var(--pm-gold-light);
  font-size:9px;
  font-weight:900;
}
.pm-scale-related{
  margin-top:12px;
  padding:13px 15px;
  border:1px solid var(--pm-border);
  border-radius:16px;
  background:rgba(255,255,255,.015);
}
.pm-scale-related>div:last-child{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}

/* Light */
.pm-app[data-reading-theme="light"] .pm-field-controls,
.pm-app[data-reading-theme="light"] .pm-field-summary,
.pm-app[data-reading-theme="light"] .pm-field-degree-card,
.pm-app[data-reading-theme="light"] .pm-field-tension-guide,
.pm-app[data-reading-theme="light"] .pm-field-compare,
.pm-app[data-reading-theme="light"] .pm-scale-controls,
.pm-app[data-reading-theme="light"] .pm-scale-overview-main,
.pm-app[data-reading-theme="light"] .pm-scale-metrics,
.pm-app[data-reading-theme="light"] .pm-scale-visual-stage,
.pm-app[data-reading-theme="light"] .pm-scale-improv,
.pm-app[data-reading-theme="light"] .pm-scale-related{
  background:#fff;
  border-color:#cad9e5;
}
.pm-app[data-reading-theme="light"] .pm-field-controls select,
.pm-app[data-reading-theme="light"] .pm-scale-controls select,
.pm-app[data-reading-theme="light"] .pm-scale-actions select{
  background:#fff;
  color:#163047;
  border-color:#cad9e5;
}
.pm-app[data-reading-theme="light"] .pm-field-degree-card{
  background:#f8fbfd;
}
.pm-app[data-reading-theme="light"] .pm-field-compare-row{
  background:#f8fbfd;
  border-color:#d4e0e8;
}

/* Responsive */
@media(max-width:1100px){
  .pm-field-controls,
  .pm-scale-controls{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .pm-field-degree-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .pm-scale-overview{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .pm-field-controls,
  .pm-scale-controls{
    grid-template-columns:1fr;
  }
  .pm-field-summary,
  .pm-field-tension-guide,
  .pm-scale-improv{
    align-items:flex-start;
    flex-direction:column;
  }
  .pm-field-summary-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .pm-field-summary-actions button{
    width:100%;
  }
  .pm-field-degree-grid{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
  }
  .pm-field-degree-card{
    flex:0 0 82%;
    max-width:300px;
    scroll-snap-align:start;
  }
  .pm-field-tension-legend,
  .pm-scale-compatible-chords{
    justify-content:flex-start;
  }
  .pm-field-compare-row{
    grid-template-columns:1fr;
  }
  .pm-scale-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .pm-scale-actions button{
    width:100%;
  }
  .pm-scale-actions label{
    grid-column:1/-1;
    margin-left:0;
  }
  .pm-scale-keyboard{
    min-width:620px;
  }
  .pm-scale-piano-view{
    overflow-x:auto;
  }
}
@media(max-width:430px){
  .pm-field-summary-actions,
  .pm-scale-actions{
    grid-template-columns:1fr;
  }
}


/* ==========================================================
   v2.6.1 — CORREÇÃO DE VISIBILIDADE DOS SELECTS
   Poliacordes + Filtros de categorias no modo escuro
========================================================== */

/* 1) Área de poliacordes: selects totalmente legíveis no dark mode */
.pm-advanced-harmony-lab .pm-polychord-side select,
.pm-advanced-harmony-lab .pm-polychord-side select option,
.pm-advanced-harmony-lab .pm-polychord-side select optgroup{
  background:#0c1827 !important;
  color:#eef8ff !important;
}

.pm-advanced-harmony-lab .pm-polychord-side select{
  border-color:rgba(91,192,255,.32) !important;
  box-shadow:0 0 0 1px rgba(91,192,255,.10) inset;
}

.pm-advanced-harmony-lab .pm-polychord-side select:focus{
  outline:none;
  border-color:#69c9ff !important;
  box-shadow:0 0 0 3px rgba(91,192,255,.18), 0 0 0 1px rgba(91,192,255,.24) inset !important;
}

/* Corrige o popup da lista em navegadores que usam option em fundo claro por padrão */
.pm-advanced-harmony-lab .pm-polychord-side select option:checked{
  background:#1f5fb8 !important;
  color:#ffffff !important;
}
.pm-advanced-harmony-lab .pm-polychord-side select option:hover{
  background:#173b68 !important;
  color:#ffffff !important;
}

/* 2) Filtros do catálogo: categorias e demais filtros visíveis no dark mode */
.pm-catalog-filter-panel select,
.pm-catalog-filter-panel select option,
.pm-catalog-filter-panel select optgroup{
  background:#0c1827 !important;
  color:#eef8ff !important;
}

.pm-catalog-filter-panel select{
  border-color:rgba(91,192,255,.26) !important;
  box-shadow:0 0 0 1px rgba(91,192,255,.08) inset;
}

.pm-catalog-filter-panel select:focus{
  outline:none;
  border-color:#69c9ff !important;
  box-shadow:0 0 0 3px rgba(91,192,255,.16), 0 0 0 1px rgba(91,192,255,.22) inset !important;
}

.pm-catalog-filter-panel select option:checked{
  background:#1f5fb8 !important;
  color:#ffffff !important;
}
.pm-catalog-filter-panel select option:hover{
  background:#173b68 !important;
  color:#ffffff !important;
}

/* 3) Segurança extra: quando o navegador ignora regras pontuais, aplica um fallback global
      somente dentro do app para evitar textos "apagados" em listas suspensas. */
.pm-app select,
.pm-app select option,
.pm-app select optgroup{
  color-scheme:dark;
}

.pm-app[data-reading-theme="light"] select,
.pm-app[data-reading-theme="light"] select option,
.pm-app[data-reading-theme="light"] select optgroup{
  color-scheme:light;
}

/* 4) Modo claro: mantém visual claro e legível */
.pm-app[data-reading-theme="light"] .pm-advanced-harmony-lab .pm-polychord-side select,
.pm-app[data-reading-theme="light"] .pm-advanced-harmony-lab .pm-polychord-side select option,
.pm-app[data-reading-theme="light"] .pm-advanced-harmony-lab .pm-polychord-side select optgroup,
.pm-app[data-reading-theme="light"] .pm-catalog-filter-panel select,
.pm-app[data-reading-theme="light"] .pm-catalog-filter-panel select option,
.pm-app[data-reading-theme="light"] .pm-catalog-filter-panel select optgroup{
  background:#ffffff !important;
  color:#163047 !important;
}

.pm-app[data-reading-theme="light"] .pm-advanced-harmony-lab .pm-polychord-side select option:checked,
.pm-app[data-reading-theme="light"] .pm-catalog-filter-panel select option:checked{
  background:#d8ecfb !important;
  color:#10283d !important;
}

/* 5) Pequeno refinamento visual dos grupos de filtro */
.pm-catalog-filter-panel .pm-field label,
.pm-catalog-filter-panel .pm-field > span,
.pm-catalog-filter-panel .pm-field-title{
  color:var(--pm-muted);
}

.pm-catalog-filter-panel .pm-secondary[data-pm-clear-filters]{
  white-space:nowrap;
}


/* v2.6.2 — Campo Harmônico: terceiro modo = Tétrade + 9ª */
.pm-field-tensions{
  grid-template-columns:minmax(110px,1fr)!important;
}
.pm-field-tensions span{
  justify-self:start;
  min-width:118px;
  padding:8px 12px;
}
.pm-field-expanded-symbol{
  color:var(--pm-gold-light);
  font-weight:900;
}


/* ==========================================================
   v2.7.0 — MISSÃO 010-A · TREINO DE OUVIDO 2.0
========================================================== */
.pm-ear-hero{
  background:
    radial-gradient(circle at 92% 7%,rgba(215,180,90,.085),transparent 30%),
    radial-gradient(circle at 72% 55%,rgba(91,192,255,.065),transparent 34%);
}
.pm-ear-controls{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin:16px 0 12px;
  padding:14px;
  border:1px solid var(--pm-border);
  border-radius:18px;
  background:rgba(255,255,255,.018);
}
.pm-ear-controls label{
  display:grid;
  gap:6px;
}
.pm-ear-controls label>span{
  color:var(--pm-muted);
  font-size:10px;
  font-weight:900;
}
.pm-ear-controls select{
  width:100%;
  min-height:42px;
  border:1px solid var(--pm-border);
  border-radius:11px;
  background:#0c1827;
  color:#eef8ff;
  padding:0 9px;
}
.pm-ear-controls select option{
  background:#0c1827;
  color:#eef8ff;
}
.pm-ear-dashboard{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-bottom:12px;
}
.pm-ear-stat{
  display:grid;
  gap:3px;
  padding:11px 12px;
  border:1px solid var(--pm-border);
  border-radius:14px;
  background:rgba(255,255,255,.018);
}
.pm-ear-stat span{
  color:var(--pm-muted);
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.pm-ear-stat strong{
  font-size:21px;
}
.pm-ear-stat.is-best{
  border-color:var(--pm-gold-border);
  background:var(--pm-gold-soft);
}
.pm-ear-stat.is-best strong{
  color:var(--pm-gold-light);
}
.pm-ear-game{
  display:grid;
  grid-template-columns:minmax(240px,.38fr) minmax(0,1fr);
  gap:12px;
}
.pm-ear-instructions,
.pm-ear-challenge{
  padding:16px;
  border:1px solid var(--pm-border);
  border-radius:20px;
  background:rgba(255,255,255,.018);
}
.pm-ear-instructions h4{
  margin:5px 0 4px;
  font-size:21px;
}
.pm-ear-instructions>p{
  margin:0;
  color:var(--pm-muted);
  font-size:11px;
  line-height:1.45;
}
.pm-ear-reference{
  display:grid;
  gap:5px;
  margin-top:16px;
  padding:11px;
  border:1px solid rgba(91,192,255,.13);
  border-radius:13px;
  background:rgba(91,192,255,.025);
}
.pm-ear-reference strong{
  font-size:10px;
}
.pm-ear-reference small{
  color:var(--pm-muted);
  font-size:9px;
  line-height:1.4;
}
.pm-ear-reference button{
  margin-top:3px;
  width:100%;
}
.pm-ear-session-progress{
  margin-top:16px;
}
.pm-ear-session-progress>div:first-child{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  color:var(--pm-muted);
  font-size:9px;
}
.pm-ear-session-progress strong{
  color:var(--pm-text);
}
.pm-ear-session-track{
  height:6px;
  overflow:hidden;
  margin-top:6px;
  border-radius:999px;
  background:rgba(255,255,255,.055);
}
.pm-ear-session-track span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#2595d2,#67d0ff,var(--pm-gold));
  transition:width .22s ease;
}
.pm-ear-challenge{
  display:grid;
  gap:13px;
}
.pm-ear-listening-orb{
  position:relative;
  display:grid;
  place-items:center;
  min-height:185px;
  padding:20px;
  overflow:hidden;
  text-align:center;
  border:1px solid rgba(91,192,255,.15);
  border-radius:20px;
  background:
    radial-gradient(circle at 50% 35%,rgba(91,192,255,.10),transparent 35%),
    radial-gradient(circle at 76% 90%,rgba(215,180,90,.07),transparent 34%),
    rgba(255,255,255,.015);
}
.pm-ear-listening-orb::before,
.pm-ear-listening-orb::after{
  content:"";
  position:absolute;
  border:1px solid rgba(91,192,255,.09);
  border-radius:50%;
}
.pm-ear-listening-orb::before{
  width:150px;
  height:150px;
}
.pm-ear-listening-orb::after{
  width:210px;
  height:210px;
}
.pm-ear-listening-orb>span{
  position:relative;
  z-index:2;
  font-size:43px;
}
.pm-ear-listening-orb>strong{
  position:relative;
  z-index:2;
  margin-top:7px;
  font-size:22px;
}
.pm-ear-listening-orb>small{
  position:relative;
  z-index:2;
  margin-top:3px;
  color:var(--pm-muted);
  font-size:10px;
}
.pm-ear-listening-orb.is-listening::before{
  animation:pmEarPulse 1s ease-out;
}
.pm-ear-listening-orb.is-listening::after{
  animation:pmEarPulse 1s .08s ease-out;
}
@keyframes pmEarPulse{
  from{transform:scale(.75);opacity:.85}
  to{transform:scale(1.25);opacity:.05}
}
.pm-ear-audio-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:7px;
}
.pm-ear-feedback{
  padding:11px 13px;
  border:1px solid var(--pm-border);
  border-radius:13px;
  background:rgba(255,255,255,.018);
}
.pm-ear-feedback strong{
  display:block;
  margin-bottom:3px;
}
.pm-ear-feedback p{
  margin:0;
  color:var(--pm-muted);
  font-size:10px;
  line-height:1.45;
}
.pm-ear-answers{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.pm-ear-answer{
  min-height:51px;
  padding:9px 10px;
  border:1px solid var(--pm-border);
  border-radius:13px;
  background:rgba(255,255,255,.025);
  color:var(--pm-text);
  font-size:11px;
  font-weight:900;
  cursor:pointer;
  transition:.14s ease;
}
.pm-ear-answer:hover:not(:disabled){
  transform:translateY(-1px);
  border-color:rgba(91,192,255,.38);
  background:rgba(91,192,255,.05);
}
.pm-ear-answer.is-correct{
  border-color:rgba(80,200,120,.50)!important;
  background:rgba(80,200,120,.10)!important;
  color:#9ce9b5!important;
}
.pm-ear-answer.is-wrong{
  border-color:rgba(235,91,91,.45)!important;
  background:rgba(235,91,91,.09)!important;
  color:#ffb0b0!important;
}
.pm-ear-next-wrap{
  display:flex;
  justify-content:flex-end;
  gap:7px;
}
.pm-ear-summary{
  display:grid;
  grid-template-columns:1fr auto auto;
  align-items:center;
  gap:16px;
  margin-top:12px;
  padding:16px;
  border:1px solid var(--pm-gold-border);
  border-radius:19px;
  background:
    radial-gradient(circle at 92% 0,rgba(215,180,90,.12),transparent 36%),
    var(--pm-gold-soft);
}
.pm-ear-summary h4{
  margin:4px 0;
  font-size:23px;
}
.pm-ear-summary p{
  margin:0;
  color:var(--pm-muted);
  font-size:10px;
}
.pm-ear-summary-score{
  display:grid;
  place-items:center;
  min-width:100px;
}
.pm-ear-summary-score strong{
  color:var(--pm-gold-light);
  font-size:28px;
}
.pm-ear-summary-score span{
  color:var(--pm-muted);
  font-size:10px;
}
.pm-ear-skills{
  margin-top:12px;
  padding:14px;
  border:1px solid var(--pm-border);
  border-radius:18px;
  background:rgba(255,255,255,.014);
}
.pm-ear-skill-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}
.pm-ear-skill-grid article{
  display:grid;
  gap:3px;
  padding:10px;
  border:1px solid var(--pm-border);
  border-radius:12px;
  background:rgba(255,255,255,.018);
}
.pm-ear-skill-grid article>span{
  font-size:20px;
}
.pm-ear-skill-grid strong{
  font-size:11px;
}
.pm-ear-skill-grid small{
  color:var(--pm-muted);
  font-size:9px;
  line-height:1.35;
}

/* Modo claro */
.pm-app[data-reading-theme="light"] .pm-ear-controls,
.pm-app[data-reading-theme="light"] .pm-ear-stat,
.pm-app[data-reading-theme="light"] .pm-ear-instructions,
.pm-app[data-reading-theme="light"] .pm-ear-challenge,
.pm-app[data-reading-theme="light"] .pm-ear-skills{
  background:#fff;
  border-color:#cad9e5;
}
.pm-app[data-reading-theme="light"] .pm-ear-controls select,
.pm-app[data-reading-theme="light"] .pm-ear-controls select option{
  background:#fff;
  color:#163047;
  border-color:#cad9e5;
}
.pm-app[data-reading-theme="light"] .pm-ear-answer{
  background:#f7fafc;
  border-color:#d3e0e8;
  color:#163047;
}
.pm-app[data-reading-theme="light"] .pm-ear-listening-orb{
  background:
    radial-gradient(circle at 50% 35%,rgba(91,192,255,.12),transparent 35%),
    radial-gradient(circle at 76% 90%,rgba(215,180,90,.09),transparent 34%),
    #f8fbfd;
}

/* Responsivo */
@media(max-width:1050px){
  .pm-ear-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pm-ear-dashboard{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pm-ear-skill-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .pm-ear-controls{grid-template-columns:1fr}
  .pm-ear-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pm-ear-game{grid-template-columns:1fr}
  .pm-ear-answers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pm-ear-audio-actions{display:grid;grid-template-columns:1fr 1fr}
  .pm-ear-audio-actions button{width:100%}
  .pm-ear-audio-actions .pm-primary{grid-column:1/-1}
  .pm-ear-summary{grid-template-columns:1fr}
  .pm-ear-summary-score{justify-items:start}
  .pm-ear-summary button{width:100%}
  .pm-ear-skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:430px){
  .pm-ear-dashboard{grid-template-columns:1fr 1fr}
  .pm-ear-answers{grid-template-columns:1fr}
  .pm-ear-skill-grid{grid-template-columns:1fr}
}


/* ==========================================================
   v2.7.1 — CAMPO HARMÔNICO: 9ª REAL + DROPDOWN DARK
========================================================== */
.pm-field-controls .pm-field-native-select{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
.pm-field-controls label{position:relative}
.pm-field-custom-select{position:relative;z-index:1;width:100%}
.pm-field-custom-select.is-open{z-index:80}
.pm-field-custom-select-button{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  width:100%;min-height:42px;padding:0 12px;
  border:1px solid rgba(91,192,255,.24);border-radius:11px;
  background:#101c2b;color:#f3f9fd;text-align:left;
  font:inherit;font-size:12px;cursor:pointer;
  box-shadow:0 0 0 1px rgba(91,192,255,.05) inset;
}
.pm-field-custom-select-button:hover{border-color:rgba(91,192,255,.42);background:#122235}
.pm-field-custom-select.is-open .pm-field-custom-select-button{
  border-color:#62c9f6;box-shadow:0 0 0 3px rgba(91,192,255,.16)
}
.pm-field-custom-select-button i{
  flex:0 0 auto;color:#d7e8f5;font-style:normal;font-size:15px
}
.pm-field-custom-select.is-open .pm-field-custom-select-button i{transform:rotate(180deg)}
.pm-field-custom-select-list{
  position:absolute;z-index:9999;top:calc(100% + 5px);left:0;right:0;
  max-height:285px;overflow:auto;padding:6px;
  border:1px solid rgba(91,192,255,.34);border-radius:12px;
  background:#091522;
  box-shadow:0 20px 48px rgba(0,0,0,.52),0 0 0 1px rgba(255,255,255,.025) inset;
  scrollbar-width:thin;scrollbar-color:#2b79ad #091522;
}
.pm-field-custom-select-list[hidden]{display:none!important}
.pm-field-custom-select-list::-webkit-scrollbar{width:8px}
.pm-field-custom-select-list::-webkit-scrollbar-track{background:#091522}
.pm-field-custom-select-list::-webkit-scrollbar-thumb{background:#2b79ad;border-radius:999px}
.pm-field-custom-option{
  display:block;width:100%;min-height:35px;padding:7px 9px;
  border:0;border-radius:8px;background:transparent;color:#eaf5fc;
  text-align:left;font:inherit;font-size:11px;cursor:pointer;
}
.pm-field-custom-option:hover,.pm-field-custom-option:focus{
  outline:none;background:#163653;color:#fff
}
.pm-field-custom-option.is-selected{background:#226fc0;color:#fff;font-weight:900}
.pm-field-expanded-symbol{display:none!important}

.pm-app[data-reading-theme="light"] .pm-field-custom-select-button{
  background:#fff;color:#163047;border-color:#cbdbe6
}
.pm-app[data-reading-theme="light"] .pm-field-custom-select-list{
  background:#fff;border-color:#bdced9;box-shadow:0 18px 40px rgba(30,52,70,.18)
}
.pm-app[data-reading-theme="light"] .pm-field-custom-option{color:#163047}
.pm-app[data-reading-theme="light"] .pm-field-custom-option:hover,
.pm-app[data-reading-theme="light"] .pm-field-custom-option:focus{
  background:#e9f4fb;color:#10283d
}
.pm-app[data-reading-theme="light"] .pm-field-custom-option.is-selected{background:#2878c5;color:#fff}
@media(max-width:760px){.pm-field-custom-select-list{max-height:240px}}


/* ==========================================================
   v2.7.2 — SELECT PREMIUM GLOBAL
   Remove o popup branco nativo em TODO o front-end PlaMúsica.
========================================================== */

/* O select real continua funcional no DOM, porém invisível. */
.pm-app .pm-app-native-select{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
}

/* Container */
.pm-app-custom-select{
  position:relative;
  z-index:2;
  width:100%;
  min-width:0;
}
.pm-app-custom-select.is-open{
  z-index:9990;
}

/* Botão que substitui visualmente o select */
.pm-app-custom-select-button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  min-height:42px;
  box-sizing:border-box;
  padding:0 11px;
  border:1px solid rgba(91,192,255,.24);
  border-radius:11px;
  background:#101c2b;
  color:#f0f8fd;
  text-align:left;
  font:inherit;
  font-size:12px;
  line-height:1.2;
  cursor:pointer;
  box-shadow:0 0 0 1px rgba(91,192,255,.045) inset;
  transition:border-color .14s ease,background .14s ease,box-shadow .14s ease;
}
.pm-app-custom-select-button:hover{
  border-color:rgba(91,192,255,.44);
  background:#122337;
}
.pm-app-custom-select-button:focus{
  outline:none;
  border-color:#62c9f6;
  box-shadow:0 0 0 3px rgba(91,192,255,.17);
}
.pm-app-custom-select-button:disabled{
  opacity:.52;
  cursor:not-allowed;
}

.pm-app-custom-select-value{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pm-app-custom-select-chevron{
  flex:0 0 auto;
  color:#d8ebf8;
  font-style:normal;
  font-size:15px;
  line-height:1;
  transition:transform .14s ease;
}
.pm-app-custom-select.is-open .pm-app-custom-select-chevron{
  transform:rotate(180deg);
}

/* Lista totalmente controlada pelo PlaMúsica */
.pm-app-custom-select-list{
  position:absolute;
  z-index:99999;
  top:calc(100% + 5px);
  left:0;
  right:0;
  max-height:300px;
  overflow:auto;
  padding:6px;
  border:1px solid rgba(91,192,255,.34);
  border-radius:12px;
  background:#091522;
  color:#eef8ff;
  box-shadow:
    0 20px 50px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,255,255,.025) inset;
  scrollbar-width:thin;
  scrollbar-color:#2e7dab #091522;
}
.pm-app-custom-select-list[hidden]{
  display:none!important;
}
.pm-app-custom-select-list::-webkit-scrollbar{
  width:8px;
}
.pm-app-custom-select-list::-webkit-scrollbar-track{
  background:#091522;
}
.pm-app-custom-select-list::-webkit-scrollbar-thumb{
  background:#2e7dab;
  border-radius:999px;
}

/* Opções */
.pm-app-custom-option{
  display:block;
  width:100%;
  min-height:35px;
  box-sizing:border-box;
  padding:7px 9px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#edf8ff;
  text-align:left;
  font:inherit;
  font-size:11px;
  line-height:1.25;
  cursor:pointer;
}
.pm-app-custom-option:hover,
.pm-app-custom-option:focus{
  outline:none;
  background:#163854;
  color:#fff;
}
.pm-app-custom-option.is-selected{
  background:#236fc0;
  color:#fff;
  font-weight:900;
}
.pm-app-custom-option:disabled{
  opacity:.38;
  cursor:not-allowed;
}

/* Optgroups, usados principalmente no Dicionário de Acordes */
.pm-app-custom-optgroup{
  padding:8px 8px 4px;
  color:var(--pm-gold-light);
  font-size:8px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Evita que cards/controles cortem a lista suspensa */
.pm-app .pm-field-controls,
.pm-app .pm-scale-controls,
.pm-app .pm-ear-controls,
.pm-app .pm-progression-controls,
.pm-app .pm-catalog-filter-panel,
.pm-app .pm-key-row,
.pm-app .pm-key-row-2,
.pm-app .pm-chord-tool,
.pm-app .pm-polychord-builder{
  overflow:visible!important;
}

/* O antigo custom select exclusivo do Campo Harmônico fica desativado
   caso algum CSS antigo permaneça no cache do navegador. */
.pm-app .pm-field-custom-select{
  display:none!important;
}

/* Light mode */
.pm-app[data-reading-theme="light"] .pm-app-custom-select-button{
  background:#fff;
  color:#163047;
  border-color:#c8d8e3;
}
.pm-app[data-reading-theme="light"] .pm-app-custom-select-button:hover{
  background:#f3f8fb;
}
.pm-app[data-reading-theme="light"] .pm-app-custom-select-list{
  background:#fff;
  color:#163047;
  border-color:#bdced9;
  box-shadow:0 18px 42px rgba(30,52,70,.20);
  scrollbar-color:#7ea9c4 #fff;
}
.pm-app[data-reading-theme="light"] .pm-app-custom-option{
  color:#163047;
}
.pm-app[data-reading-theme="light"] .pm-app-custom-option:hover,
.pm-app[data-reading-theme="light"] .pm-app-custom-option:focus{
  background:#e7f3fb;
  color:#10283d;
}
.pm-app[data-reading-theme="light"] .pm-app-custom-option.is-selected{
  background:#2b78c5;
  color:#fff;
}

/* Compacto em telas menores */
@media(max-width:760px){
  .pm-app-custom-select-list{
    max-height:250px;
  }
  .pm-app-custom-select-button{
    min-height:44px;
  }
}


/* ==========================================================
   v2.7.3 — CAMPO HARMÔNICO + OUVIDO PROGRESSIVO
========================================================== */
.pm-ear-reference small{
  line-height:1.55;
}


/* ==========================================================
   v2.8.0 — MISSÃO 010-B · EXERCÍCIOS 2.0
========================================================== */
.pm-exercise-hero{
  background:
    radial-gradient(circle at 92% 7%,rgba(215,180,90,.08),transparent 31%),
    radial-gradient(circle at 72% 55%,rgba(91,192,255,.07),transparent 35%);
}
.pm-exercise-controls{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin:16px 0 12px;
  padding:14px;
  border:1px solid var(--pm-border);
  border-radius:18px;
  background:rgba(255,255,255,.018);
}
.pm-exercise-controls label{
  display:grid;
  gap:6px;
}
.pm-exercise-controls label>span{
  color:var(--pm-muted);
  font-size:10px;
  font-weight:900;
}
.pm-exercise-dashboard{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-bottom:12px;
}
.pm-exercise-dashboard>div{
  display:grid;
  gap:3px;
  padding:11px 12px;
  border:1px solid var(--pm-border);
  border-radius:14px;
  background:rgba(255,255,255,.018);
}
.pm-exercise-dashboard span{
  color:var(--pm-muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pm-exercise-dashboard strong{
  font-size:20px;
}
.pm-exercise-shell{
  display:grid;
  grid-template-columns:minmax(250px,.34fr) minmax(0,1fr);
  gap:12px;
}
.pm-exercise-coach,
.pm-exercise-game{
  padding:16px;
  border:1px solid var(--pm-border);
  border-radius:20px;
  background:rgba(255,255,255,.018);
}
.pm-exercise-coach h4{
  margin:5px 0 4px;
  font-size:21px;
}
.pm-exercise-coach>p{
  margin:0;
  color:var(--pm-muted);
  font-size:10px;
  line-height:1.5;
}
.pm-exercise-weakness{
  margin-top:17px;
  padding:11px;
  border:1px solid rgba(91,192,255,.12);
  border-radius:13px;
  background:rgba(91,192,255,.02);
}
.pm-exercise-weakness>strong{
  display:block;
  margin-bottom:9px;
  font-size:10px;
}
.pm-exercise-weak-row{
  display:grid;
  gap:4px;
  margin-top:7px;
}
.pm-exercise-weak-row>div:first-child{
  display:flex;
  justify-content:space-between;
  gap:8px;
  color:var(--pm-muted);
  font-size:8px;
}
.pm-exercise-weak-row strong{
  color:var(--pm-text);
  font-size:8px;
}
.pm-exercise-weak-track,
.pm-exercise-progress-track{
  overflow:hidden;
  height:5px;
  border-radius:999px;
  background:rgba(255,255,255,.055);
}
.pm-exercise-weak-track span,
.pm-exercise-progress-track span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#2a98d0,#67d1ff,var(--pm-gold));
}
.pm-exercise-progress-track{
  height:6px;
  margin-top:16px;
}
.pm-exercise-game{
  display:grid;
  gap:13px;
}
.pm-exercise-question{
  min-height:145px;
  display:grid;
  align-content:center;
  padding:18px;
  border:1px solid rgba(91,192,255,.14);
  border-radius:17px;
  background:
    radial-gradient(circle at 92% 10%,rgba(91,192,255,.07),transparent 34%),
    rgba(255,255,255,.012);
}
.pm-exercise-topic{
  color:var(--pm-gold-light);
  font-size:9px;
  font-weight:950;
  letter-spacing:.09em;
}
.pm-exercise-question h4{
  margin:7px 0 4px;
  font-size:22px;
}
.pm-exercise-question p{
  margin:0;
  color:var(--pm-muted);
  font-size:10px;
}
.pm-exercise-tools{
  display:flex;
  justify-content:center;
  gap:7px;
  flex-wrap:wrap;
}
.pm-exercise-feedback{
  padding:11px 13px;
  border:1px solid var(--pm-border);
  border-radius:13px;
  background:rgba(255,255,255,.018);
}
.pm-exercise-feedback strong{
  display:block;
  margin-bottom:3px;
}
.pm-exercise-feedback p{
  margin:0;
  color:var(--pm-muted);
  font-size:10px;
  line-height:1.45;
}
.pm-exercise-answers{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.pm-exercise-answer{
  min-height:54px;
  padding:10px 12px;
  border:1px solid var(--pm-border);
  border-radius:13px;
  background:rgba(255,255,255,.024);
  color:var(--pm-text);
  font-size:11px;
  font-weight:900;
  cursor:pointer;
  transition:.14s ease;
}
.pm-exercise-answer:hover:not(:disabled){
  transform:translateY(-1px);
  border-color:rgba(91,192,255,.38);
  background:rgba(91,192,255,.05);
}
.pm-exercise-answer.is-correct{
  border-color:rgba(80,200,120,.50)!important;
  background:rgba(80,200,120,.10)!important;
  color:#9ce9b5!important;
}
.pm-exercise-answer.is-wrong{
  border-color:rgba(235,91,91,.45)!important;
  background:rgba(235,91,91,.09)!important;
  color:#ffb0b0!important;
}
.pm-exercise-actions{
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:7px;
}
.pm-exercise-summary{
  display:grid;
  grid-template-columns:1fr auto auto;
  align-items:center;
  gap:16px;
  margin-top:12px;
  padding:16px;
  border:1px solid var(--pm-gold-border);
  border-radius:19px;
  background:
    radial-gradient(circle at 92% 0,rgba(215,180,90,.12),transparent 36%),
    var(--pm-gold-soft);
}
.pm-exercise-summary h4{
  margin:4px 0;
  font-size:23px;
}
.pm-exercise-summary p{
  margin:0;
  color:var(--pm-muted);
  font-size:10px;
}
.pm-exercise-summary-score{
  display:grid;
  place-items:center;
  min-width:100px;
}
.pm-exercise-summary-score strong{
  color:var(--pm-gold-light);
  font-size:28px;
}
.pm-exercise-summary-score span{
  color:var(--pm-muted);
  font-size:10px;
}

/* Light */
.pm-app[data-reading-theme="light"] .pm-exercise-controls,
.pm-app[data-reading-theme="light"] .pm-exercise-dashboard>div,
.pm-app[data-reading-theme="light"] .pm-exercise-coach,
.pm-app[data-reading-theme="light"] .pm-exercise-game{
  background:#fff;
  border-color:#cad9e5;
}
.pm-app[data-reading-theme="light"] .pm-exercise-answer{
  background:#f8fbfd;
  color:#163047;
  border-color:#d3e0e8;
}

/* Responsive */
@media(max-width:1050px){
  .pm-exercise-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .pm-exercise-controls{grid-template-columns:1fr}
  .pm-exercise-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pm-exercise-shell{grid-template-columns:1fr}
  .pm-exercise-answers{grid-template-columns:1fr}
  .pm-exercise-actions{display:grid;grid-template-columns:1fr}
  .pm-exercise-actions button{width:100%}
  .pm-exercise-summary{grid-template-columns:1fr}
  .pm-exercise-summary-score{justify-items:start}
  .pm-exercise-summary button{width:100%}
}


/* ==========================================================
   v2.9.0 — MISSÃO 010-C · GAMIFICAÇÃO 2.0
========================================================== */
.pm-game-2-hero{
  background:
    radial-gradient(circle at 91% 8%,rgba(215,180,90,.11),transparent 30%),
    radial-gradient(circle at 69% 56%,rgba(91,192,255,.065),transparent 35%);
}
.pm-game-2-profile{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  padding:17px;
  border:1px solid var(--pm-gold-border);
  border-radius:20px;
  background:
    radial-gradient(circle at 95% 0,rgba(215,180,90,.09),transparent 35%),
    rgba(255,255,255,.018);
}
.pm-game-2-emblem{
  display:grid;
  place-items:center;
  width:76px;
  height:76px;
  border:1px solid var(--pm-gold-border);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(215,180,90,.13),rgba(91,192,255,.055));
  color:var(--pm-gold-light);
  font-size:30px;
  font-weight:950;
  box-shadow:0 18px 40px rgba(0,0,0,.17);
}
.pm-game-2-level-copy h4{
  margin:4px 0 2px;
  font-size:23px;
}
.pm-game-2-level-copy p{
  margin:0 0 7px;
  color:var(--pm-muted);
  font-size:10px;
}
.pm-game-2-level-copy p strong{
  color:var(--pm-gold-light);
  font-size:14px;
}
.pm-game-2-xp-track{
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.06);
}
.pm-game-2-xp-track span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#44bdf0,#d7b45a);
}
.pm-game-2-level-copy>small{
  display:block;
  margin-top:5px;
  color:var(--pm-muted);
  font-size:9px;
}
.pm-game-2-streak{
  display:grid;
  grid-template-columns:auto auto auto;
  gap:11px;
  align-items:center;
  min-width:230px;
  padding:11px;
  border:1px solid rgba(255,140,50,.22);
  border-radius:15px;
  background:rgba(255,120,30,.035);
}
.pm-game-2-streak>span{font-size:31px}
.pm-game-2-streak>div{
  display:grid;
  justify-items:center;
}
.pm-game-2-streak strong{font-size:19px}
.pm-game-2-streak small{color:var(--pm-muted);font-size:8px}

.pm-game-2-daily,
.pm-game-2-journey,
.pm-game-2-achievements,
.pm-game-2-activity{
  margin-top:12px;
  padding:15px;
  border:1px solid var(--pm-border);
  border-radius:18px;
  background:rgba(255,255,255,.015);
}
.pm-game-2-quest-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-top:11px;
}
.pm-game-2-quest{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:11px;
  border:1px solid var(--pm-border);
  border-radius:14px;
  background:rgba(255,255,255,.018);
}
.pm-game-2-quest>span{font-size:24px}
.pm-game-2-quest>div{display:grid;gap:2px}
.pm-game-2-quest strong{font-size:11px}
.pm-game-2-quest small{color:var(--pm-muted);font-size:8px;line-height:1.35}
.pm-game-2-quest em{
  min-width:43px;
  padding:5px 7px;
  border:1px solid var(--pm-border);
  border-radius:999px;
  color:var(--pm-muted);
  text-align:center;
  font-size:9px;
  font-style:normal;
  font-weight:950;
}
.pm-game-2-quest.is-complete{
  border-color:rgba(78,197,120,.40);
  background:rgba(78,197,120,.055);
}
.pm-game-2-quest.is-complete em{
  border-color:rgba(78,197,120,.40);
  color:#91e5ad;
}
.pm-game-2-daily-bonus{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:9px;
  align-items:center;
  margin-top:9px;
  padding:10px 12px;
  border:1px dashed var(--pm-gold-border);
  border-radius:13px;
  background:var(--pm-gold-soft);
}
.pm-game-2-daily-bonus>span{
  color:var(--pm-gold-light);
  font-size:22px;
}
.pm-game-2-daily-bonus>div{display:grid;gap:2px}
.pm-game-2-daily-bonus strong{font-size:10px}
.pm-game-2-daily-bonus small{color:var(--pm-muted);font-size:8px}
.pm-game-2-daily-bonus em{
  color:var(--pm-gold-light);
  font-size:9px;
  font-style:normal;
  font-weight:900;
}
.pm-game-2-daily-bonus.is-complete{
  border-style:solid;
  box-shadow:0 0 22px rgba(215,180,90,.08);
}

.pm-game-2-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
.pm-game-2-stats article{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:8px;
  align-items:center;
  padding:11px;
  border:1px solid var(--pm-border);
  border-radius:14px;
  background:rgba(255,255,255,.016);
}
.pm-game-2-stats article>span{
  grid-row:1/3;
  font-size:23px;
}
.pm-game-2-stats strong{font-size:18px}
.pm-game-2-stats small{color:var(--pm-muted);font-size:8px}

.pm-game-2-levels{
  display:grid;
  grid-template-columns:repeat(5,minmax(120px,1fr));
  gap:8px;
  margin-top:11px;
}
.pm-game-2-level-card{
  display:grid;
  justify-items:center;
  gap:2px;
  padding:10px 7px;
  border:1px solid var(--pm-border);
  border-radius:13px;
  background:rgba(255,255,255,.014);
  opacity:.47;
  text-align:center;
}
.pm-game-2-level-card>span{
  font-size:23px;
  filter:grayscale(1);
}
.pm-game-2-level-card strong{
  color:var(--pm-muted);
  font-size:8px;
}
.pm-game-2-level-card b{font-size:10px}
.pm-game-2-level-card small{color:var(--pm-muted);font-size:7px}
.pm-game-2-level-card.is-unlocked{
  opacity:1;
}
.pm-game-2-level-card.is-unlocked>span{
  filter:none;
}
.pm-game-2-level-card.is-current{
  border-color:var(--pm-gold-border);
  background:var(--pm-gold-soft);
  box-shadow:0 0 20px rgba(215,180,90,.07);
}
.pm-game-2-level-card.is-current b{
  color:var(--pm-gold-light);
}

.pm-game-2-achievement-grid{
  margin-top:11px;
}
.pm-game-2-activity-list{
  display:grid;
  gap:6px;
  margin-top:10px;
}
.pm-game-2-activity-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:10px;
  align-items:center;
  padding:8px 10px;
  border:1px solid var(--pm-border);
  border-radius:11px;
  background:rgba(255,255,255,.013);
}
.pm-game-2-activity-row>span{font-size:9px;font-weight:900}
.pm-game-2-activity-row small{color:var(--pm-muted);font-size:8px}
.pm-game-2-activity-row strong{color:var(--pm-gold-light);font-size:8px}
.pm-game-2-empty{
  display:grid;
  justify-items:center;
  gap:3px;
  padding:18px;
  color:var(--pm-muted);
  text-align:center;
}
.pm-game-2-empty>span{font-size:25px}
.pm-game-2-empty strong{color:var(--pm-text);font-size:11px}
.pm-game-2-empty small{font-size:8px}

/* Light */
.pm-app[data-reading-theme="light"] .pm-game-2-profile,
.pm-app[data-reading-theme="light"] .pm-game-2-daily,
.pm-app[data-reading-theme="light"] .pm-game-2-journey,
.pm-app[data-reading-theme="light"] .pm-game-2-achievements,
.pm-app[data-reading-theme="light"] .pm-game-2-activity,
.pm-app[data-reading-theme="light"] .pm-game-2-stats article{
  background:#fff;
  border-color:#cad9e5;
}
.pm-app[data-reading-theme="light"] .pm-game-2-quest,
.pm-app[data-reading-theme="light"] .pm-game-2-level-card,
.pm-app[data-reading-theme="light"] .pm-game-2-activity-row{
  background:#f8fbfd;
  border-color:#d3e0e8;
}

/* Responsive */
@media(max-width:1050px){
  .pm-game-2-levels{grid-template-columns:repeat(3,minmax(120px,1fr))}
}
@media(max-width:760px){
  .pm-game-2-profile{grid-template-columns:auto 1fr}
  .pm-game-2-streak{grid-column:1/-1;min-width:0}
  .pm-game-2-quest-grid{grid-template-columns:1fr}
  .pm-game-2-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pm-game-2-levels{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
  }
  .pm-game-2-level-card{
    flex:0 0 40%;
    min-width:125px;
    scroll-snap-align:start;
  }
  .pm-game-2-activity-row{
    grid-template-columns:1fr auto;
  }
  .pm-game-2-activity-row strong{
    grid-column:1/-1;
  }
}
@media(max-width:430px){
  .pm-game-2-profile{grid-template-columns:1fr;text-align:center}
  .pm-game-2-emblem{justify-self:center}
  .pm-game-2-stats{grid-template-columns:1fr 1fr}
}
