

  :root{--bg:#08090d;--panel:#12141b;--panel2:#191c25;--line:#2c3140;--primary:#8a4dff;--primary2:#b490ff;--green:#47ef85;--yellow:#ffd45a;--red:#ff6875;--text:#fff;--muted:#a5acbc;--shadow:rgba(0,0,0,.48)}
  *{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;min-height:100vh;background:radial-gradient(circle at 45% -8%,rgba(138,77,255,.18),transparent 38%),var(--bg);color:var(--text);font-family:Inter,Montserrat,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button{touch-action:manipulation}
  #svv-app{width:min(100%,780px);margin:0 auto;padding:10px}.app-shell{overflow:hidden;border:1px solid var(--line);border-radius:25px;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 18%),var(--panel);box-shadow:0 24px 74px var(--shadow)}
  .topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px 10px}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{display:grid;place-items:center;flex:0 0 auto;width:39px;height:39px;border-radius:13px;background:linear-gradient(145deg,var(--primary),#5621bc);box-shadow:0 8px 20px rgba(138,77,255,.28);font-size:1.1rem;font-weight:900}.brand-copy{min-width:0}.brand-copy h1{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1rem,3.8vw,1.34rem);letter-spacing:.08em;text-transform:uppercase}.runtime{display:flex;align-items:center;gap:6px;margin-top:3px;color:var(--muted);font-size:.64rem;font-weight:760}.runtime i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 9px var(--green)}
  .scoreboard{display:flex;gap:7px;flex:0 0 auto}.score-pill{min-width:66px;padding:6px 8px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#0d0f15;text-align:center}.score-pill span{display:block;color:var(--muted);font-size:.55rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.score-pill strong{display:block;margin-top:1px;font-size:.98rem;font-variant-numeric:tabular-nums}
  .app-body{display:grid;gap:9px;padding:0 10px 12px}.panel{border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.022);padding:10px;min-width:0}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.segmented{display:grid;gap:5px;padding:3px;border:1px solid var(--line);border-radius:13px;background:#0d0f14}.segmented.mode{grid-template-columns:1fr 1fr}.segmented.level{grid-template-columns:repeat(3,1fr)}.segmented button{min-height:38px;border:0;border-radius:9px;padding:6px 8px;background:transparent;color:var(--muted);font-size:.78rem;font-weight:850;cursor:pointer;transition:.14s}.segmented button[aria-pressed="true"]{background:linear-gradient(145deg,rgba(138,77,255,.96),rgba(103,50,210,.86));color:#fff;box-shadow:0 5px 16px rgba(138,77,255,.2)}
  .upload-bar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:center}.file-label,.small-button,.main-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:12px;font-weight:850;cursor:pointer}.file-label{min-height:42px;padding:8px 12px;border:1px solid var(--line);background:var(--panel2);font-size:.8rem}.small-button{min-width:42px;min-height:42px;padding:7px 9px;border:1px solid var(--line);background:var(--panel2);color:#fff;font-size:.72rem}.small-button:disabled,.main-button:disabled{opacity:.42;cursor:not-allowed}input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-meta{margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.69rem}
  .analysis-row{display:none;margin-top:7px;gap:5px}.analysis-row.visible{display:grid}.progress{height:6px;overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:999px;background:#090a0e}.progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--primary),var(--green));transition:width .16s linear}.analysis-actions{display:flex;align-items:center;justify-content:space-between;gap:7px}.analysis-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.66rem;font-weight:750}.analysis-skip{flex:0 0 auto;border:1px solid rgba(180,144,255,.4);border-radius:8px;padding:4px 7px;background:rgba(138,77,255,.11);color:#e6d9ff;font-size:.62rem;font-weight:850;cursor:pointer}.analysis-skip[hidden]{display:none}
  details>summary{list-style:none;cursor:pointer;user-select:none}details>summary::-webkit-details-marker{display:none}.settings{position:relative}.settings>summary{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.settings-content{display:grid;gap:8px;margin-top:7px;padding:9px;border:1px solid var(--line);border-radius:12px;background:#0e1016}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}label.field{display:grid;gap:4px;color:var(--muted);font-size:.67rem;font-weight:750}select{width:100%;min-height:38px;border:1px solid var(--line);border-radius:9px;padding:0 8px;background:var(--panel2);color:#fff;outline:none}.toggle{display:flex;align-items:center;gap:8px;color:#e1e3ea;font-size:.72rem;font-weight:700}.toggle input{width:17px;height:17px;accent-color:var(--primary)}.notice{display:flex;gap:7px;color:var(--muted);font-size:.66rem;line-height:1.35}
  .music-only,.exercise-only{display:none}#svv-app[data-mode="music"] .music-only{display:grid}#svv-app[data-mode="exercise"] .exercise-only{display:flex}#svv-app[data-mode="exercise"] .map-box.exercise-only{display:none}#svv-app[data-mode="exercise"] .map-box.exercise-only.visible{display:block}
  .game-panel{padding:8px}.game-head{display:grid;grid-template-columns:82px minmax(0,1fr) 82px;gap:7px;align-items:center;margin-bottom:7px}.note-mini{min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:12px;background:#0c0e13}.note-mini span{color:var(--muted);font-size:.53rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.note-mini strong{margin-top:1px;font-size:1.42rem;line-height:1}.note-mini.target strong{color:#d9c8ff}.note-mini.voice[data-state="good"]{border-color:rgba(71,239,133,.58);box-shadow:inset 0 0 22px rgba(71,239,133,.08)}.note-mini.voice[data-state="warn"]{border-color:rgba(255,212,90,.58)}.note-mini.voice[data-state="bad"]{border-color:rgba(255,104,117,.48)}.note-mini.voice[data-state="good"] strong{color:var(--green)}.note-mini.voice[data-state="warn"] strong{color:var(--yellow)}.note-mini.voice[data-state="bad"] strong{color:var(--red)}.status-box{min-width:0;text-align:center}.status{min-height:20px;font-size:.92rem;font-weight:900}.status[data-state="good"]{color:var(--green)}.status[data-state="warn"]{color:var(--yellow)}.status[data-state="bad"]{color:var(--red)}.next-note{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.64rem;font-weight:730}
  .game-stage{position:relative;overflow:hidden;width:100%;aspect-ratio:16/8.3;min-height:240px;max-height:360px;border:1px solid #303646;border-radius:16px;background:radial-gradient(circle at 50% 15%,rgba(138,77,255,.10),transparent 42%),#080a0f}.game-stage canvas{display:block;width:100%;height:100%}.stage-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:78%;padding:8px 12px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(8,10,15,.78);color:var(--muted);text-align:center;font-size:.7rem;font-weight:800;pointer-events:none;transition:.18s}.stage-hint[hidden]{display:none}.hit-pop{position:absolute;left:24%;top:26%;transform:translate(-50%,-50%) scale(.8);opacity:0;color:#fff;font-size:clamp(1rem,4vw,1.55rem);font-weight:950;letter-spacing:.03em;text-shadow:0 0 18px currentColor;pointer-events:none}.hit-pop.show{animation:svv-pop .55s ease-out}@keyframes svv-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.65)}25%{opacity:1;transform:translate(-50%,-65%) scale(1.08)}100%{opacity:0;transform:translate(-50%,-110%) scale(.92)}}
  .correction{margin-top:7px}.meter-words{display:flex;justify-content:space-between;margin:0 3px 3px;color:var(--muted);font-size:.53rem;font-weight:850;text-transform:uppercase}.meter{position:relative;height:20px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:linear-gradient(90deg,rgba(255,104,117,.13),rgba(255,212,90,.12) 25%,rgba(71,239,133,.11) 50%,rgba(255,212,90,.12) 75%,rgba(255,104,117,.13))}.zone{position:absolute;left:50%;top:0;height:100%;transform:translateX(-50%);pointer-events:none}.zone.warn{width:95%;background:rgba(255,212,90,.045)}.zone.good{width:55%;background:rgba(71,239,133,.18);border-left:1px solid rgba(71,239,133,.45);border-right:1px solid rgba(71,239,133,.45)}.center{position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);background:rgba(255,255,255,.75)}.needle{position:absolute;left:50%;top:50%;width:13px;height:13px;transform:translate(-50%,-50%);border-radius:50%;background:var(--primary2);box-shadow:0 0 11px currentColor;opacity:0;transition:left .08s linear,background .1s,opacity .1s}
  .main-button{width:100%;min-height:49px;margin-top:8px;border:0;padding:10px 14px;background:linear-gradient(145deg,var(--primary),#5d25c7);color:#fff;text-transform:uppercase;letter-spacing:.025em;box-shadow:0 10px 24px rgba(138,77,255,.22)}.main-button.pause{background:#4a2832;box-shadow:none}.seek-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center;margin-top:7px;color:var(--muted);font-size:.62rem;font-variant-numeric:tabular-nums}.seek-row input{width:100%;accent-color:var(--primary);cursor:pointer}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:7px}.stat{min-width:0;padding:6px 3px;border:1px solid rgba(255,255,255,.065);border-radius:10px;background:rgba(255,255,255,.02);text-align:center}.stat strong{display:block;font-size:.88rem}.stat span{display:block;margin-top:1px;color:var(--muted);font-size:.52rem;font-weight:760;text-transform:uppercase}
  .more{margin-top:7px;border-top:1px solid rgba(255,255,255,.065);padding-top:7px}.more>summary{text-align:center;color:var(--muted);font-size:.67rem;font-weight:800}.more-content{display:grid;gap:8px;margin-top:8px}.map-box{display:none}.map-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;color:var(--muted);font-size:.67rem;font-weight:750}.map-head strong{color:#fff}.note-map{display:flex;gap:5px;overflow-x:auto;padding:2px 1px 5px;scrollbar-width:thin}.note-chip{flex:0 0 auto;min-width:42px;padding:6px 7px;border:1px solid var(--line);border-radius:9px;background:#0e1016;color:var(--muted);text-align:center;font-size:.68rem;font-weight:850;cursor:pointer}.note-chip.current{border-color:var(--primary2);background:rgba(138,77,255,.22);color:#fff}.note-chip.good{border-color:rgba(71,239,133,.55);background:rgba(71,239,133,.12);color:#c8ffdc}.note-chip.warn{border-color:rgba(255,212,90,.52);background:rgba(255,212,90,.10);color:#ffeaa4}.note-chip.bad{border-color:rgba(255,104,117,.42);background:rgba(255,104,117,.07);color:#ffc7cd}.chart-wrap{height:135px;border:1px solid var(--line);border-radius:12px;background:#090a0f;padding:5px}.chart-wrap canvas{width:100%;height:100%}.tech-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.tech{padding:7px 4px;border:1px solid rgba(255,255,255,.065);border-radius:9px;text-align:center}.tech strong{display:block;font-size:.8rem}.tech span{display:block;color:var(--muted);font-size:.52rem;text-transform:uppercase}.error{min-height:0;margin:0;padding:0 2px;color:#ff9ba5;text-align:center;font-size:.68rem;font-weight:750}.error:not(:empty){padding:5px 2px}
  @media(max-width:560px){#svv-app{padding:0}.app-shell{border-radius:0;border-left:0;border-right:0;min-height:100vh}.topbar{padding:10px}.brand-mark{width:35px;height:35px}.score-pill{min-width:55px;padding:5px}.score-pill span{font-size:.48rem}.control-grid{grid-template-columns:1fr}.game-stage{min-height:225px}.game-head{grid-template-columns:68px minmax(0,1fr) 68px}.note-mini{min-height:50px}.note-mini strong{font-size:1.25rem}.settings-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:390px){.scoreboard{gap:4px}.score-pill{min-width:50px}.brand-copy h1{font-size:.92rem}.file-label{padding-inline:8px}.game-stage{min-height:210px}.segmented button{font-size:.71rem}.game-head{grid-template-columns:62px minmax(0,1fr) 62px}}
  @media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.note-chip,.needle,.stage-hint{transition:none!important}}

  /* V11 — galeria integrada, arquivo próprio e mapas oficiais */
  .flow-panel{padding:11px}.flow-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:9px}.flow-step{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;min-height:30px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:#0d0f15;color:#747b8b;font-size:.61rem;font-weight:850;text-transform:uppercase;letter-spacing:.055em}.flow-step i{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#20232d;color:#9fa6b6;font-size:.61rem;font-style:normal}.flow-step.active{border-color:rgba(180,144,255,.54);background:rgba(138,77,255,.12);color:#eee7ff}.flow-step.active i{background:var(--primary);color:#fff;box-shadow:0 0 12px rgba(138,77,255,.35)}.flow-step.done{color:#bffbd4}.flow-step.done i{background:rgba(71,239,133,.18);color:var(--green);border:1px solid rgba(71,239,133,.35)}
  .flow-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:1px 2px 9px}.flow-heading strong{display:block;font-size:.9rem}.flow-heading span{display:block;margin-top:2px;color:var(--muted);font-size:.66rem;line-height:1.35}.flow-badge{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:rgba(71,239,133,.10);color:#bffbd4;font-size:.57rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
  .mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mode-card{position:relative;display:grid;grid-template-columns:35px minmax(0,1fr);gap:8px;align-items:center;min-height:63px;padding:8px 10px;border:1px solid var(--line);border-radius:13px;background:#0d0f15;color:#fff;text-align:left;cursor:pointer;transition:.15s}.mode-card:hover{border-color:#4c5367}.mode-card[aria-pressed="true"]{border-color:rgba(180,144,255,.75);background:linear-gradient(145deg,rgba(138,77,255,.18),rgba(138,77,255,.07));box-shadow:inset 0 0 0 1px rgba(138,77,255,.12),0 7px 20px rgba(0,0,0,.16)}.mode-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#1b1e27;font-size:1.05rem}.mode-card[aria-pressed="true"] .mode-icon{background:linear-gradient(145deg,var(--primary),#5d25c7);box-shadow:0 6px 15px rgba(138,77,255,.24)}.mode-copy{min-width:0}.mode-copy strong{display:block;font-size:.78rem}.mode-copy small{display:block;margin-top:2px;color:var(--muted);font-size:.61rem;line-height:1.25}.mode-check{position:absolute;right:7px;top:7px;display:none;color:var(--green);font-size:.65rem;font-weight:950}.mode-card[aria-pressed="true"] .mode-check{display:block}
  .upload-bar{margin-top:8px}.file-label-rich{justify-content:flex-start;min-height:52px;padding:7px 11px}.upload-icon{display:grid;place-items:center;flex:0 0 auto;width:33px;height:33px;border-radius:10px;background:rgba(138,77,255,.14);color:#d9c8ff;font-size:1rem}.upload-copy{display:block;min-width:0;text-align:left}.upload-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.upload-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;color:var(--muted);font-size:.59rem;font-weight:700}.file-meta{min-height:14px;margin:5px 3px 0}.file-meta.ready{color:#bffbd4}.file-meta.busy{color:#e5d8ff}
  .level-block{display:grid;grid-template-columns:minmax(125px,.78fr) minmax(0,1.35fr);gap:9px;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.065)}.level-copy span{display:block;font-size:.68rem;font-weight:850}.level-copy small{display:block;margin-top:2px;color:var(--muted);font-size:.57rem;line-height:1.25}.segmented.level button{font-size:.72rem}.segmented.level button[data-level-option="intermediate"]::after,.segmented.level button[data-level-option="advanced"]::after{display:none}
  .harmonic-card{margin-top:8px;padding:8px;border:1px solid rgba(71,239,133,.18);border-radius:12px;background:rgba(71,239,133,.045)}.harmonic-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.harmonic-head span{color:var(--muted);font-size:.57rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.harmonic-head strong{font-size:.76rem;color:#d5ffe4}.harmonic-notes{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.harmonic-note{display:grid;place-items:center;min-width:30px;height:27px;padding:0 6px;border:1px solid rgba(71,239,133,.23);border-radius:8px;background:#0d1212;color:#c9ffdc;font-size:.67rem;font-weight:900}.harmonic-note.root{background:rgba(71,239,133,.14);border-color:rgba(71,239,133,.55);color:#fff;box-shadow:0 0 11px rgba(71,239,133,.10)}
  #svv-app.is-running .flow-steps,#svv-app.is-running .flow-heading,#svv-app.is-running .mode-cards,#svv-app.is-running .level-block,#svv-app.is-running .harmonic-card{display:none!important}#svv-app.is-running .flow-panel{padding:7px 10px}#svv-app.is-running .upload-bar{margin-top:0}#svv-app.is-running .file-label{min-height:38px}#svv-app.is-running .file-meta,#svv-app.is-running .analysis-row{display:none}
  #svv-app:not(.has-file) .game-panel{display:none}.game-stage.music-field{background:radial-gradient(circle at 55% 15%,rgba(71,239,133,.075),transparent 42%),#080a0f}
  @media(max-width:560px){.flow-panel{padding:9px}.flow-heading{margin-bottom:7px}.mode-card{min-height:59px;padding:7px}.mode-copy small{font-size:.57rem}.level-block{grid-template-columns:1fr;gap:6px}.level-copy{display:flex;align-items:center;justify-content:space-between;gap:8px}.level-copy small{text-align:right}.file-label-rich{min-height:50px}}
  @media(max-width:390px){.flow-step{font-size:.54rem}.flow-step i{width:17px;height:17px}.mode-cards{grid-template-columns:1fr}.mode-card{min-height:54px}.flow-heading strong{font-size:.84rem}.flow-badge{display:none}}


  /* V11 — biblioteca integrada */
  .library-wrap{margin-top:9px;padding:9px;border:1px solid rgba(180,144,255,.18);border-radius:14px;background:linear-gradient(145deg,rgba(138,77,255,.075),rgba(255,255,255,.012))}.library-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:7px}.library-head strong{display:block;font-size:.76rem}.library-head small{display:block;margin-top:2px;color:var(--muted);font-size:.59rem;line-height:1.3}.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:312px;overflow:auto;padding:1px;scrollbar-width:thin;overscroll-behavior:contain}.library-card{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:67px;padding:8px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#0d0f15;color:#fff;text-align:left;cursor:pointer;transition:transform .14s,border-color .14s,background .14s}.library-card:hover{transform:translateY(-1px);border-color:rgba(180,144,255,.55)}.library-card:focus-visible{outline:2px solid var(--primary2);outline-offset:2px}.library-card.selected{border-color:rgba(71,239,133,.58);background:linear-gradient(145deg,rgba(71,239,133,.10),rgba(138,77,255,.06));box-shadow:inset 0 0 0 1px rgba(71,239,133,.08)}.library-number{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,rgba(138,77,255,.27),rgba(138,77,255,.10));color:#e8dcff;font-size:.7rem;font-weight:950}.library-card:nth-child(3n+2) .library-number{background:linear-gradient(145deg,rgba(71,239,133,.20),rgba(71,239,133,.07));color:#caffdc}.library-card:nth-child(3n) .library-number{background:linear-gradient(145deg,rgba(255,212,90,.20),rgba(255,212,90,.06));color:#ffecac}.library-copy{min-width:0}.library-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem}.library-copy small{display:block;margin-top:3px;color:var(--muted);font-size:.55rem}.library-action{align-self:center;padding:4px 6px;border-radius:7px;background:rgba(138,77,255,.14);color:#decfff;font-size:.54rem;font-weight:900;text-transform:uppercase}.library-card.selected .library-action{background:rgba(71,239,133,.13);color:#bffbd4}.library-recommended{position:absolute;right:7px;top:-6px;padding:3px 6px;border-radius:999px;background:var(--green);color:#07130c;font-size:.46rem;font-weight:950;text-transform:uppercase;box-shadow:0 4px 12px rgba(71,239,133,.22)}.library-loading,.library-empty{grid-column:1/-1;display:grid;place-items:center;min-height:88px;padding:14px;border:1px dashed rgba(255,255,255,.11);border-radius:11px;color:var(--muted);text-align:center;font-size:.65rem;line-height:1.45}.library-empty button{margin-top:8px;border:1px solid rgba(180,144,255,.42);border-radius:9px;padding:7px 11px;background:rgba(138,77,255,.12);color:#eadfff;font-size:.63rem;font-weight:850;cursor:pointer}.selected-source{display:flex;align-items:center;gap:9px;margin-top:9px;padding:9px;border:1px solid rgba(71,239,133,.25);border-radius:13px;background:rgba(71,239,133,.055)}.selected-source[hidden]{display:none!important}.selected-icon{display:grid;place-items:center;flex:0 0 auto;width:35px;height:35px;border-radius:11px;background:rgba(71,239,133,.14);font-size:1rem}.selected-copy{min-width:0;flex:1}.selected-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.73rem}.selected-copy small{display:block;margin-top:2px;color:#a9d9ba;font-size:.57rem}.selected-source .source-change{flex:0 0 auto;min-height:34px;min-width:58px;padding:6px 9px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:#11151a;color:#fff;font-size:.61rem;font-weight:850;cursor:pointer}.custom-divider{display:flex;align-items:center;gap:8px;margin:9px 2px 7px;color:#777f90;font-size:.55rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.custom-divider::before,.custom-divider::after{content:"";height:1px;flex:1;background:rgba(255,255,255,.065)}.upload-bar{grid-template-columns:minmax(0,1fr) auto;margin-top:0}.source-note{margin:6px 3px 0;color:var(--muted);font-size:.57rem;line-height:1.35}.source-note strong{color:#d9c8ff}.library-credit{margin-top:7px;color:#777f90;text-align:center;font-size:.52rem}.library-credit strong{color:#aaa2bc}
  #svv-app.has-file .library-wrap,#svv-app.has-file .custom-divider,#svv-app.has-file .upload-bar,#svv-app.has-file .source-note,#svv-app.has-file .library-credit{display:none}#svv-app.has-file .selected-source{display:flex}#svv-app.is-running .selected-source{display:none!important}
  @media(max-width:560px){.library-wrap{padding:8px}.library-grid{max-height:302px;gap:6px}.library-card{grid-template-columns:31px minmax(0,1fr);min-height:64px;padding:7px}.library-number{width:31px;height:31px}.library-action{display:none}.library-copy strong{font-size:.66rem}.selected-source{margin-top:7px}}
  @media(max-width:390px){.library-grid{grid-template-columns:1fr 1fr;max-height:296px}.library-card{grid-template-columns:29px minmax(0,1fr);gap:6px;min-height:61px}.library-number{width:29px;height:29px}.library-copy strong{font-size:.62rem}.library-copy small{font-size:.51rem}.library-recommended{font-size:.42rem}}


  /* V12 — categorias, exercício respiratório e conclusão comemorativa */
  .library-grid{display:block;max-height:430px;padding:1px 3px 2px 1px;overflow:auto}.library-category{display:grid;gap:7px}.library-category+.library-category{margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,.07)}.library-category-head{display:flex;align-items:center;gap:8px;padding:0 2px}.library-category-icon{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(180,144,255,.24);border-radius:9px;background:rgba(138,77,255,.09);font-size:.82rem}.library-category-copy{min-width:0;flex:1}.library-category-copy strong{display:block;font-size:.7rem}.library-category-copy small{display:block;margin-top:1px;color:var(--muted);font-size:.53rem}.library-category-count{flex:0 0 auto;padding:3px 6px;border-radius:999px;background:rgba(255,255,255,.055);color:#aeb5c3;font-size:.5rem;font-weight:850}.library-category-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.library-card[data-training-type="breathing"]{border-color:rgba(91,211,255,.18);background:linear-gradient(145deg,rgba(91,211,255,.07),rgba(255,255,255,.012))}.library-card[data-training-type="breathing"] .library-number{background:linear-gradient(145deg,rgba(91,211,255,.25),rgba(91,211,255,.08));color:#d8f7ff}.library-card[data-mode="music"] .library-number{background:linear-gradient(145deg,rgba(255,212,90,.22),rgba(255,212,90,.07));color:#fff0b7}.library-number.icon{font-size:.9rem}.library-card .library-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .guided-view{display:none;align-items:center;gap:10px;margin-bottom:8px;padding:10px;border:1px solid rgba(91,211,255,.22);border-radius:14px;background:linear-gradient(145deg,rgba(91,211,255,.075),rgba(138,77,255,.045))}.guided-view .guided-icon{display:grid;place-items:center;flex:0 0 auto;width:43px;height:43px;border-radius:14px;background:rgba(91,211,255,.13);font-size:1.25rem;box-shadow:0 8px 22px rgba(91,211,255,.09)}.guided-view strong{display:block;font-size:.82rem}.guided-view span{display:block;margin-top:2px;color:var(--muted);font-size:.62rem;line-height:1.35}#svv-app[data-training-type="breathing"] .guided-view{display:flex}#svv-app[data-training-type="breathing"] .pitch-only{display:none!important}#svv-app[data-training-type="breathing"] .game-stage{background:radial-gradient(circle at 50% 42%,rgba(91,211,255,.13),transparent 38%),radial-gradient(circle at 50% 50%,rgba(138,77,255,.08),transparent 63%),#080a0f}#svv-app[data-training-type="breathing"] .level-block{display:none!important}
  .completion-overlay{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:18px;background:rgba(3,4,8,.82);backdrop-filter:blur(9px);animation:svv-fade-in .22s ease-out}.completion-overlay[hidden]{display:none!important}.completion-card{position:relative;isolation:isolate;width:min(100%,450px);overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:27px;padding:24px 20px 18px;background:radial-gradient(circle at 50% -8%,rgba(71,239,133,.22),transparent 38%),radial-gradient(circle at 92% 10%,rgba(255,212,90,.17),transparent 30%),linear-gradient(180deg,#171a23,#0e1016);box-shadow:0 30px 100px rgba(0,0,0,.7);text-align:center;animation:svv-card-pop .36s cubic-bezier(.2,.85,.3,1.12)}.completion-close{position:absolute;right:11px;top:11px;z-index:3;width:34px;height:34px;border:1px solid rgba(255,255,255,.11);border-radius:11px;background:rgba(0,0,0,.25);color:#fff;cursor:pointer}.completion-trophy{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 9px;border:1px solid rgba(255,255,255,.15);border-radius:23px;background:linear-gradient(145deg,rgba(255,212,90,.25),rgba(138,77,255,.21));font-size:2rem;box-shadow:0 14px 34px rgba(138,77,255,.18),0 0 32px rgba(255,212,90,.10);animation:svv-trophy 1.8s ease-in-out infinite}.completion-eyebrow{color:#b7bfd0;font-size:.58rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.completion-card h2{margin:4px 0 0;font-size:clamp(1.65rem,7vw,2.2rem);line-height:1;color:#fff}.completion-item{margin:7px auto 0;max-width:340px;color:#c8ceda;font-size:.7rem;font-weight:750}.completion-stars{display:flex;justify-content:center;gap:5px;margin:13px 0 5px;font-size:1.35rem}.completion-stars span{filter:grayscale(1);opacity:.28;transform:scale(.88)}.completion-stars span.on{filter:none;opacity:1;transform:scale(1);text-shadow:0 0 17px rgba(255,212,90,.55)}.completion-score{font-size:clamp(2.25rem,10vw,3.4rem);font-weight:950;line-height:1;background:linear-gradient(90deg,#fff,#8effb7);-webkit-background-clip:text;background-clip:text;color:transparent}.completion-score-label{margin-top:4px;color:var(--muted);font-size:.58rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.completion-message{margin:12px auto 0;max-width:330px;color:#f3f5f8;font-size:.82rem;font-weight:850;line-height:1.38}.completion-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:15px}.completion-stat{padding:9px 6px;border:1px solid rgba(255,255,255,.075);border-radius:12px;background:rgba(0,0,0,.18)}.completion-stat strong{display:block;font-size:.92rem}.completion-stat span{display:block;margin-top:2px;color:var(--muted);font-size:.49rem;font-weight:850;text-transform:uppercase;letter-spacing:.055em}.completion-actions{display:grid;grid-template-columns:1.25fr .9fr;gap:8px;margin-top:15px}.completion-actions button{min-height:45px;border-radius:12px;padding:9px 11px;font-weight:900;cursor:pointer}.completion-repeat{border:0;background:linear-gradient(145deg,var(--green),#1ca95b);color:#07130c}.completion-another{border:1px solid rgba(255,255,255,.12);background:#171a22;color:#fff}.completion-confetti{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.completion-confetti i{position:absolute;left:var(--x);top:-12%;width:7px;height:13px;border-radius:2px;background:var(--c);transform:rotate(var(--r));animation:svv-confetti var(--d) linear var(--delay) forwards}.completion-overlay.guided .completion-score{font-size:2rem}.completion-overlay.guided .completion-stars{margin-top:15px}
  @keyframes svv-fade-in{from{opacity:0}to{opacity:1}}@keyframes svv-card-pop{from{opacity:0;transform:translateY(18px) scale(.92)}to{opacity:1;transform:none}}@keyframes svv-trophy{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(2deg)}}@keyframes svv-confetti{0%{transform:translate3d(0,-20px,0) rotate(var(--r));opacity:0}8%{opacity:1}100%{transform:translate3d(var(--drift),115vh,0) rotate(calc(var(--r) + 620deg));opacity:.9}}
  @media(max-width:560px){.library-grid{max-height:420px}.library-category-cards{gap:6px}.completion-card{padding:22px 15px 15px}.completion-actions{grid-template-columns:1fr}.completion-stats{gap:5px}}@media(max-width:390px){.library-category-cards{grid-template-columns:1fr 1fr}.library-category-head{gap:6px}.library-category-icon{width:25px;height:25px}.completion-overlay{padding:10px}.completion-card{border-radius:22px}}@media(prefers-reduced-motion:reduce){.completion-overlay,.completion-card,.completion-trophy,.completion-confetti i{animation:none!important}}


  /* V13 — autenticação e controle simples de acesso */
  body.svv-auth-pending{overflow:hidden}
  body:not(.svv-auth-granted) #svv-app{display:none!important}
  .svv-auth-gate{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:18px;background:radial-gradient(circle at 50% -10%,rgba(138,77,255,.24),transparent 42%),#08090d;color:#fff}
  .svv-auth-gate[hidden]{display:none!important}
  .svv-auth-card{width:min(100%,440px);overflow:hidden;border:1px solid #303543;border-radius:27px;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 22%),#12141b;box-shadow:0 28px 95px rgba(0,0,0,.66)}
  .svv-auth-head{padding:22px 21px 15px;text-align:center}
  .svv-auth-logo{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 12px;border-radius:20px;background:linear-gradient(145deg,#8a4dff,#5621bc);box-shadow:0 13px 32px rgba(138,77,255,.31);font-size:1.7rem;font-weight:950}
  .svv-auth-head h1{margin:0;font-size:1.42rem;letter-spacing:.045em;text-transform:uppercase}
  .svv-auth-head p{margin:7px auto 0;max-width:330px;color:#a5acbc;font-size:.79rem;line-height:1.48}
  .svv-auth-body{padding:0 21px 21px}
  .svv-auth-view{display:none}.svv-auth-view.active{display:block}
  .svv-auth-label{display:block;margin-bottom:6px;color:#d7dbe4;font-size:.72rem;font-weight:800}
  .svv-auth-input{width:100%;height:50px;border:1px solid #323746;border-radius:13px;padding:0 14px;background:#0c0e14;color:#fff;outline:none;font-size:1rem}
  .svv-auth-input:focus{border-color:#9c6cff;box-shadow:0 0 0 3px rgba(138,77,255,.14)}
  .svv-auth-code{letter-spacing:.32em;text-align:center;font-size:1.28rem;font-weight:900}
  .svv-auth-button{width:100%;min-height:49px;margin-top:10px;border:0;border-radius:13px;padding:10px 14px;background:linear-gradient(145deg,#8a4dff,#5d25c7);color:#fff;font-weight:900;text-transform:uppercase;letter-spacing:.025em;cursor:pointer;box-shadow:0 10px 24px rgba(138,77,255,.21)}
  .svv-auth-button:disabled{opacity:.48;cursor:wait}
  .svv-auth-button.secondary{border:1px solid #343948;background:#171a22;box-shadow:none;text-transform:none}
  .svv-auth-button.green{background:linear-gradient(145deg,#47ef85,#1ca95b);color:#07130c}
  .svv-auth-message{min-height:19px;margin:9px 2px 0;color:#ff9aa4;font-size:.7rem;font-weight:750;line-height:1.38;text-align:center}
  .svv-auth-note{margin:11px 0 0;color:#8f97a8;font-size:.66rem;line-height:1.45;text-align:center}
  .svv-auth-note strong{color:#dfe3eb}
  .svv-auth-link{display:inline-block;margin-top:10px;border:0;background:transparent;color:#cdb9ff;font-size:.7rem;font-weight:850;text-decoration:underline;cursor:pointer}
  .svv-auth-center{text-align:center}
  .svv-auth-icon{font-size:2.45rem;line-height:1}
  .svv-auth-title{margin:10px 0 4px;font-size:1.2rem}
  .svv-auth-copy{margin:0;color:#a5acbc;font-size:.77rem;line-height:1.5}
  .svv-auth-email{margin:9px 0 0;color:#fff;font-size:.78rem;font-weight:850;overflow-wrap:anywhere}
  .svv-auth-spinner{width:38px;height:38px;margin:8px auto 14px;border:4px solid rgba(255,255,255,.12);border-top-color:#9b6cff;border-radius:50%;animation:svv-auth-spin .75s linear infinite}
  @keyframes svv-auth-spin{to{transform:rotate(360deg)}}
  .svv-access-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;padding:8px 11px;border:1px solid #2c3140;border-radius:14px;background:#11131a;color:#aeb5c3;font-size:.65rem}
  .svv-access-bar strong{display:block;color:#fff;font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:290px}
  .svv-access-meta{min-width:0}.svv-access-meta span{display:block;margin-top:2px}
  .svv-access-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
  .svv-access-actions button{min-height:31px;border:1px solid #343948;border-radius:9px;padding:5px 9px;background:#191c25;color:#fff;font-size:.62rem;font-weight:850;cursor:pointer}
  @media(max-width:520px){.svv-auth-gate{padding:10px}.svv-auth-card{border-radius:22px}.svv-auth-head{padding:19px 16px 13px}.svv-auth-body{padding:0 16px 17px}.svv-access-bar{align-items:flex-start}.svv-access-meta strong{max-width:185px}}



  /* ===== Ranking semanal V14 ===== */
  .svv-rank-open{display:inline-flex!important;align-items:center;justify-content:center;gap:5px;border-color:rgba(255,212,90,.34)!important;background:rgba(255,212,90,.09)!important;color:#ffe590!important}
  .completion-card{width:min(100%,500px);max-height:min(94vh,830px);overflow:auto}
  .completion-stats{grid-template-columns:repeat(3,1fr)}
  .rank-result-card{margin-top:12px;padding:13px;border:1px solid rgba(180,144,255,.25);border-radius:16px;background:linear-gradient(145deg,rgba(138,77,255,.13),rgba(71,239,133,.055));text-align:left}
  .rank-result-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .rank-result-head span{color:#d9ccff;font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
  .rank-result-head strong{color:#8effb7;font-size:1rem;white-space:nowrap}
  .rank-position{margin-top:7px;color:#fff;font-size:.9rem;font-weight:900;line-height:1.35}
  .rank-progress{margin-top:4px;color:#aeb5c5;font-size:.66rem;font-weight:720;line-height:1.42}
  .rank-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
  .rank-badge{display:inline-flex;align-items:center;min-height:25px;border:1px solid rgba(255,255,255,.09);border-radius:999px;padding:4px 8px;background:rgba(0,0,0,.18);color:#dfe4ec;font-size:.58rem;font-weight:850}
  .rank-badge.record{border-color:rgba(255,212,90,.31);color:#ffe18b}
  .rank-join{width:100%;min-height:39px;margin-top:10px;border:1px solid rgba(255,212,90,.34);border-radius:10px;background:rgba(255,212,90,.1);color:#ffe590;font-size:.7rem;font-weight:900;cursor:pointer}
  .rank-join[hidden]{display:none!important}
  .svv-rank-overlay{position:fixed;inset:0;z-index:100010;display:grid;place-items:center;padding:14px;background:rgba(3,4,8,.86);backdrop-filter:blur(10px)}
  .svv-rank-overlay[hidden]{display:none!important}
  .svv-rank-dialog{width:min(100%,520px);max-height:min(92vh,820px);overflow:auto;border:1px solid rgba(255,255,255,.14);border-radius:25px;background:radial-gradient(circle at 50% -12%,rgba(138,77,255,.2),transparent 38%),#12141b;box-shadow:0 30px 100px rgba(0,0,0,.72)}
  .svv-rank-head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 18px 13px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(18,20,27,.96);backdrop-filter:blur(10px)}
  .svv-rank-head small{display:block;color:#b8a1ef;font-size:.6rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
  .svv-rank-head h2{margin:3px 0 0;font-size:1.35rem}
  .svv-rank-close{flex:0 0 auto;width:36px;height:36px;border:1px solid rgba(255,255,255,.11);border-radius:11px;background:#191c25;color:#fff;font-size:1.2rem;cursor:pointer}
  .svv-rank-body{padding:14px 15px 17px}
  .svv-rank-week{color:#aeb5c5;font-size:.68rem;font-weight:750;text-align:center}
  .svv-rank-me{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:11px;padding:13px;border:1px solid rgba(71,239,133,.18);border-radius:15px;background:rgba(71,239,133,.055)}
  .svv-rank-me strong{display:block;font-size:.9rem}.svv-rank-me span{display:block;margin-top:3px;color:#aeb5c5;font-size:.63rem;line-height:1.4}.svv-rank-me b{color:#8effb7;font-size:1.12rem}
  .svv-rank-list{display:grid;gap:7px;margin-top:12px}
  .svv-rank-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:57px;padding:8px 10px;border:1px solid rgba(255,255,255,.075);border-radius:13px;background:rgba(255,255,255,.025)}
  .svv-rank-row.me{border-color:rgba(138,77,255,.45);background:rgba(138,77,255,.1)}
  .svv-rank-pos{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#0c0e14;color:#d9dde7;font-size:.72rem;font-weight:950}.svv-rank-pos.medal{font-size:1.15rem}
  .svv-rank-name{min-width:0}.svv-rank-name strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.svv-rank-name small{display:block;margin-top:2px;color:#929aaa;font-size:.55rem;font-weight:720}
  .svv-rank-points{text-align:right}.svv-rank-points strong{display:block;color:#8effb7;font-size:.84rem}.svv-rank-points small{display:block;margin-top:2px;color:#929aaa;font-size:.52rem;text-transform:uppercase}
  .svv-rank-empty{padding:28px 12px;color:#aeb5c5;text-align:center;font-size:.75rem;line-height:1.5}
  .svv-rank-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.svv-rank-actions button{min-height:43px;border-radius:11px;padding:8px 10px;font-weight:900;cursor:pointer}.svv-rank-profile-button{border:1px solid rgba(255,255,255,.12);background:#191c25;color:#fff}.svv-rank-refresh{border:0;background:linear-gradient(145deg,#8a4dff,#5d25c7);color:#fff}
  .svv-rank-note{margin:11px 2px 0;color:#858d9e;font-size:.58rem;line-height:1.45;text-align:center}
  .svv-profile-body{padding:17px}.svv-profile-body p{margin:0 0 13px;color:#aeb5c5;font-size:.72rem;line-height:1.48}.svv-profile-label{display:grid;gap:6px;color:#dfe3eb;font-size:.68rem;font-weight:850}.svv-profile-input{width:100%;height:49px;border:1px solid #343948;border-radius:12px;padding:0 13px;background:#0c0e14;color:#fff;outline:none;font-size:1rem}.svv-profile-input:focus{border-color:#9c6cff;box-shadow:0 0 0 3px rgba(138,77,255,.14)}
  .svv-profile-toggle{display:flex;align-items:flex-start;gap:9px;margin-top:12px;padding:11px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.025);color:#dfe3eb;font-size:.68rem;font-weight:750;line-height:1.42}.svv-profile-toggle input{flex:0 0 auto;width:17px;height:17px;margin-top:1px;accent-color:#8a4dff}
  .svv-profile-message{min-height:18px;margin:8px 2px 0;color:#ff9aa4;font-size:.65rem;font-weight:750;text-align:center}
  .svv-profile-save{width:100%;min-height:46px;margin-top:7px;border:0;border-radius:12px;background:linear-gradient(145deg,#47ef85,#1ca95b);color:#07130c;font-weight:950;cursor:pointer}.svv-profile-save:disabled{opacity:.5;cursor:wait}
  @media(max-width:560px){.svv-rank-overlay{padding:8px}.svv-rank-dialog{border-radius:20px}.svv-rank-actions{grid-template-columns:1fr}.rank-result-card{padding:11px}.svv-rank-row{grid-template-columns:38px minmax(0,1fr) auto}.svv-rank-pos{width:31px;height:31px}}


  /* V15 — transposição de playbacks em −3 a +3 semitons */
  .transpose-card{margin-top:10px;padding:12px;border:1px solid rgba(255,212,90,.20);border-radius:16px;background:linear-gradient(145deg,rgba(255,212,90,.065),rgba(138,77,255,.055),rgba(255,255,255,.012));box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
  #svv-app[data-mode="music"] .transpose-card{display:block}
  #svv-app:not(.has-file) .transpose-card{display:none!important}
  .transpose-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.transpose-head strong{display:block;font-size:.78rem}.transpose-head small{display:block;margin-top:3px;color:var(--muted);font-size:.57rem;line-height:1.35}.transpose-range{flex:0 0 auto;padding:4px 7px;border-radius:999px;background:rgba(255,212,90,.12);border:1px solid rgba(255,212,90,.22);color:#ffe99c;font-size:.52rem;font-weight:950;letter-spacing:.04em}
  .transpose-key-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin:10px 0 9px}.transpose-key{min-width:0;padding:9px 10px;border:1px solid rgba(255,255,255,.075);border-radius:12px;background:#0d1016}.transpose-key span{display:block;color:#858d9d;font-size:.50rem;font-weight:850;text-transform:uppercase;letter-spacing:.045em}.transpose-key strong{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.transpose-key.target{border-color:rgba(71,239,133,.24);background:rgba(71,239,133,.055)}.transpose-key.target strong{color:#c9ffda}.transpose-arrow{color:#aa93e5;font-size:.9rem;font-weight:950}
  .transpose-buttons{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.transpose-buttons button{min-width:0;min-height:49px;padding:6px 3px;border:1px solid rgba(255,255,255,.085);border-radius:10px;background:#0c0f15;color:#fff;cursor:pointer;transition:transform .13s,border-color .13s,background .13s,opacity .13s}.transpose-buttons button:hover{transform:translateY(-1px);border-color:rgba(180,144,255,.46)}.transpose-buttons button[aria-pressed="true"]{border-color:rgba(71,239,133,.58);background:linear-gradient(145deg,rgba(71,239,133,.14),rgba(138,77,255,.08));box-shadow:inset 0 0 0 1px rgba(71,239,133,.07)}.transpose-buttons button:disabled{opacity:.42;cursor:not-allowed;transform:none}.transpose-buttons strong{display:block;font-size:.61rem;line-height:1.05}.transpose-buttons small{display:block;margin-top:4px;color:#9da4b2;font-size:.48rem;line-height:1}.transpose-buttons button[aria-pressed="true"] small{color:#bffbd3}
  .transpose-status{display:flex;align-items:center;gap:8px;min-height:39px;margin-top:8px;padding:8px 9px;border:1px solid rgba(255,255,255,.075);border-radius:11px;background:#0d1016;color:#afb6c4;font-size:.58rem;font-weight:800;line-height:1.35}.transpose-status[data-state="busy"]{border-color:rgba(180,144,255,.30);color:#dfd3ff}.transpose-status[data-state="ready"]{border-color:rgba(71,239,133,.28);background:rgba(71,239,133,.055);color:#bff8d2}.transpose-status[data-state="error"]{border-color:rgba(255,104,117,.30);background:rgba(255,104,117,.055);color:#ffb8c0}.transpose-status-icon{font-size:.86rem}.transpose-note{margin:7px 2px 0;color:#858d9c;font-size:.52rem;line-height:1.38}.transpose-note strong{color:#d9c697}
  #svv-app.is-running .transpose-buttons button{opacity:.52}
  @media(max-width:560px){.transpose-card{padding:10px}.transpose-key-row{gap:6px}.transpose-key{padding:8px}.transpose-buttons{gap:4px}.transpose-buttons button{min-height:47px;padding:5px 2px}.transpose-buttons strong{font-size:.56rem}.transpose-buttons small{font-size:.44rem}.transpose-note{font-size:.50rem}}
  @media(max-width:390px){.transpose-buttons{grid-template-columns:repeat(4,minmax(0,1fr))}.transpose-buttons button[data-transpose="0"]{grid-column:1/-1;grid-row:1}.transpose-buttons button[data-transpose="-3"],.transpose-buttons button[data-transpose="-2"],.transpose-buttons button[data-transpose="-1"]{grid-row:2}.transpose-buttons button[data-transpose="1"],.transpose-buttons button[data-transpose="2"],.transpose-buttons button[data-transpose="3"]{grid-row:3}.transpose-buttons button{min-height:42px}.transpose-key strong{font-size:.66rem}}

