:root{--ui-page:#e5e7ec;--ui-page-deep:#dce0e6;--ui-card:#394156;--ui-card-2:#323a4d;--ui-card-active:#404b5f;--ui-inner:#2d3547;--ui-inner-2:#343d50;--ui-line:rgba(255,255,255,.085);--ui-line-strong:rgba(108,158,171,.42);--ui-text:#f5f7fb;--ui-text-soft:#c8cfdb;--ui-text-muted:#aeb7c6;--ui-ink:#222735;--ui-ink-soft:#69717e;--ui-accent:#5f8794;--ui-accent-strong:#4e7480;--ui-accent-soft:rgba(95,135,148,.17);--ui-shadow:0 9px 22px rgba(20,24,35,.12);--ui-radius:22px;--ui-radius-small:15px;--ui-paper:#ffffff;--ui-paper-ink:#111111;}:root{color-scheme:light;font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;background:#f4f5f2;color:#18201b;}html,
body{margin:0;min-height:100%;}body{min-width:320px;}*{box-sizing:border-box;}a{color:inherit;text-decoration:none;}button,
a{-webkit-tap-highlight-color:transparent;}button{font:inherit;min-height:48px;}.app-content{width:min(100%, 880px);margin:0 auto;padding:28px 18px 42px;}.hero{margin-bottom:24px;}.eyebrow,
.card-kicker{margin:0 0 6px;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}h1{margin:0 0 10px;font-size:clamp(2rem, 8vw, 3.6rem);line-height:.98;letter-spacing:-.045em;}p{line-height:1.55;color:#5a645d;}.session-shell{max-width:680px;margin:0 auto;}.session-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}.session-toolbar h1{font-size:clamp(1.8rem, 7vw, 3rem);}.result-actions{display:flex;flex-wrap:wrap;}@media (max-width: 520px){.app-content{padding-top:22px;}}#blazor-error-ui{display:none;position:fixed;inset:auto 0 0 0;z-index:1000;padding:12px 18px;background:#fff4d6;border-top:1px solid #d6c27f;color:#3f3720;}#blazor-error-ui .reload{font-weight:800;margin-left:8px;}#blazor-error-ui .dismiss{position:absolute;right:12px;cursor:pointer;}.transport-panel{border-radius:18px;}.transport-actions{flex-wrap:wrap;}.transport-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}.status-dot{width:9px;height:9px;border-radius:999px;background:#a7afa9;}.status-dot.active{background:#2e7d46;box-shadow:0 0 0 5px rgba(46,125,70,.11);}.clef{font-family:"Times New Roman", serif;font-size:58px;}.fret-label,
.string-label{fill:#6b756e;font-size:13px;font-family:Inter, ui-sans-serif, system-ui, sans-serif;}.training-session{max-width:760px;margin:0 auto;}.session-progress{height:8px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.08);margin:12px 0 18px;}.session-progress span{display:block;height:100%;border-radius:inherit;background:#2fc4df;transition:width .2s ease;}.trainer-card{padding:18px;border-radius:20px;}.trainer-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;}.trainer-card-head > div{display:grid;gap:4px;}.sound-button{cursor:pointer;}.trainer-staff{display:block;width:min(100%, 520px);height:auto;margin:8px auto 12px;}.answer-grid{display:grid;gap:8px;}.note-answer-grid{grid-template-columns:repeat(7, minmax(0, 1fr));}.answer-button{min-width:0;padding:12px 8px;border:1px solid var(--ui-line);border-radius:13px;background:var(--ui-inner);color:var(--ui-text);font-weight:850;font-size:1.05rem;cursor:pointer;}.answer-button.selected{border-color:var(--ui-line-strong);background:var(--ui-card-active);color:#fff;}.answer-button.correct{border-color:rgba(121,201,143,.52);background:rgba(74,132,91,.34);color:#e7f7ec;}.answer-button.wrong{border-color:rgba(221,120,110,.52);background:rgba(150,69,61,.34);color:#ffe7e3;}.position-prompt{display:grid;gap:3px;margin:4px 0 10px;}.position-prompt span{color:#6a746d;}.training-fretboard{display:block;width:100%;height:auto;}.fret-hit{fill:transparent;stroke:transparent;stroke-width:2;pointer-events:none;}.fret-hit:hover{fill:rgba(255,255,255,.15);stroke:rgba(255,255,255,.5);}.fret-hit.selected{fill:#f4f7f4;stroke:#203b29;}.fret-hit.correct{fill:#dff3e5;stroke:#286640;stroke-width:4;}.fret-hit.wrong{fill:#fae5e1;stroke:#8c352c;stroke-width:4;}.answer-feedback{min-height:48px;display:flex;flex-direction:column;gap:2px;justify-content:center;margin-top:12px;padding:0 2px;}.answer-feedback.good strong{color:#9fe0b7;}.answer-feedback.bad strong{color:#ffb7ae;}.answer-feedback span{color:var(--ui-text-soft);}.hint-box{display:grid;gap:4px;margin-top:10px;padding:13px 14px;border-radius:14px;background:var(--ui-inner);color:var(--ui-text-soft);border:1px solid var(--ui-line);}.session-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}.session-stats span{padding:8px 11px;border-radius:999px;background:var(--ui-inner);color:var(--ui-text-soft);border:1px solid var(--ui-line);font-size:.86rem;}.session-stats strong{color:var(--ui-text);}.result-screen{max-width:650px;margin:0 auto;}.result-screen .result-home-action{background:#222c3b;color:#f7fbff;border-color:#46556a;box-shadow:0 8px 18px rgba(11,18,28,.16);}.result-screen .result-home-action:hover,
.result-screen .result-home-action:focus-visible{background:#2b3748;color:#ffffff;border-color:#5c708a;}.result-metrics{display:grid;grid-template-columns:repeat(3, 1fr);gap:10px;margin:22px 0;}.result-metrics div{display:grid;gap:4px;padding:16px;border:1px solid var(--ui-line);border-radius:16px;background:var(--ui-inner);color:var(--ui-text);text-align:center;}.result-metrics strong{font-size:1.8rem;color:var(--ui-text);}.result-metrics span{color:var(--ui-text-soft);font-size:.82rem;}.button-link{display:inline-flex;align-items:center;justify-content:center;}@media (max-width: 620px){.note-answer-grid{grid-template-columns:repeat(4, 1fr);}.trainer-card{padding:14px;}.training-fretboard{width:100%;}}.mic-status-row{display:flex;align-items:center;gap:12px;margin-bottom:16px;}.mic-status-row > div{display:grid;gap:3px;}.mic-message{display:grid;gap:4px;margin-top:12px;padding:13px 14px;border-radius:13px;}.mic-message.error{border:1px solid rgba(221,120,110,.42);background:rgba(150,69,61,.24);color:#ffd8d2;}.candidate-section{display:grid;gap:12px;margin-bottom:18px;}.candidate-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;}.candidate-heading > div{display:grid;gap:4px;}.song-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:18px;border:1px solid var(--ui-line);border-radius:18px;background:var(--ui-inner);}.song-card.candidate{border-style:dashed;}.song-card h2{margin:3px 0 6px;font-size:1.55rem;}.song-card p{margin:0;}.song-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;}.song-meta span{padding:6px 8px;border-radius:999px;font-size:.76rem;}.song-actions{display:flex;flex-direction:column;gap:8px;justify-content:center;min-width:170px;}.candidate-note{display:grid;gap:5px;margin:18px 0;padding:14px 15px;border-radius:14px;}.candidate-note span{line-height:1.45;}.learn-song{max-width:760px;margin:0 auto;}.learn-stage{padding:18px;border:1px solid var(--ui-line);border-radius:20px;background:var(--ui-inner);}.learn-stage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;}.learn-stage-head > div{display:grid;gap:4px;}.learn-staff{display:block;width:min(100%, 560px);height:auto;margin:8px auto 12px;}.learn-detected{display:grid;grid-template-columns:repeat(3, 1fr);gap:8px;}.learn-detected > div{display:grid;gap:3px;padding:11px;border-radius:12px;background:var(--ui-inner);text-align:center;}.learn-detected span{color:#6c766f;font-size:.75rem;}.next-notes{display:grid;gap:7px;margin-top:12px;}.next-notes > div{display:flex;flex-wrap:wrap;gap:7px;}.next-notes > div span{min-width:42px;padding:7px 9px;border-radius:10px;background:var(--ui-inner);text-align:center;font-weight:800;}.next-notes > div span.current{background:#dceadd;color:#245136;box-shadow:inset 0 0 0 1px #5f876b;}@media (max-width: 620px){.song-card{grid-template-columns:1fr;}.song-actions{min-width:0;}.learn-detected{grid-template-columns:1fr;}}.song-player{display:grid;gap:18px;}.player-settings{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:12px;margin-bottom:16px;}.player-settings label{display:grid;gap:7px;padding:12px;border-radius:14px;background:var(--ui-inner);}.player-settings label > span{font-size:.8rem;font-weight:800;color:#5f6a62;}.player-settings select{min-height:42px;border:1px solid var(--ui-line);border-radius:10px;background:var(--ui-inner);padding:8px 10px;font:inherit;}.toggle-setting{align-content:center;grid-template-columns:auto 1fr;align-items:center;}.toggle-setting input{width:20px;height:20px;}.song-progress-large{height:10px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.08);}.song-progress-large span{display:block;height:100%;border-radius:inherit;background:#2e6542;transition:width .08s linear;}@media (max-width: 620px){.player-settings{grid-template-columns:1fr;}}.tuning-direction{display:grid;justify-items:center;gap:3px;min-height:58px;}.tuning-direction strong{font-size:1.15rem;}.tuning-direction span{color:#68736b;font-size:.82rem;}.tuning-direction.good strong{color:#286540;}.tuning-direction.adjust strong{color:#72542f;}.open-string-grid{display:grid;grid-template-columns:repeat(6, minmax(0,1fr));gap:8px;}.open-string-grid button{display:grid;gap:3px;min-height:68px;place-content:center;border:1px solid var(--ui-line);border-radius:13px;background:var(--ui-inner);cursor:pointer;}.open-string-grid button strong{font-size:1rem;}.open-string-grid button span{color:#6a746d;font-size:.72rem;}@media (max-width: 620px){.open-string-grid{grid-template-columns:repeat(3, 1fr);}}.metronome-shell{display:grid;gap:18px;}.metronome-panel,
.pattern-panel,
.pulse-stage,
.metro-volume{padding:18px;border-radius:18px;}.metronome-readout{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}.metronome-readout > div:first-child{display:grid;gap:4px;}.metronome-readout > div:first-child > strong{font-size:2rem;}.metro-position{display:grid;gap:2px;min-width:74px;padding:10px 12px;border-radius:13px;text-align:center;}.metro-position span{font-size:.75rem;}.metro-position strong{font-size:1.35rem;}.metro-tempo{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:18px 0;}.metro-tempo input{width:100%;}.metro-actions{display:flex;flex-wrap:wrap;gap:9px;}.tap-status{min-height:24px;margin-top:10px;font-size:.82rem;}.pattern-panel{display:grid;gap:12px;}.pattern-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:9px;}.pattern-button{display:grid;gap:4px;min-height:76px;padding:12px;border-radius:13px;text-align:left;cursor:pointer;}.pattern-button span{font-size:.76rem;}.pulse-stage{display:grid;gap:15px;}.main-pulses{display:flex;justify-content:center;gap:12px;}.pulse-dot{width:52px;height:52px;display:grid;place-items:center;border-radius:999px;font-weight:900;transition:transform .06s ease, background .06s ease, color .06s ease;}.subdivision-readout{display:grid;justify-items:center;gap:3px;min-height:44px;}.metro-volume label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;}.metro-volume input{width:100%;}@media (max-width: 620px){.pattern-grid{grid-template-columns:repeat(2, 1fr);}.pulse-dot{width:46px;height:46px;}.metronome-readout > div:first-child > strong{font-size:1.65rem;}}.song-score{display:grid;gap:12px;}.empty-state{display:flex;flex-direction:column;gap:7px;padding:18px;border-radius:18px;margin-top:18px;}.empty-state strong{font-size:1.08rem;}.mode-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:12px;margin:22px 0 18px;}.mode-card{min-height:138px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;text-align:left;cursor:pointer;}.mode-card strong{font-size:1.08rem;}.mode-card span:last-child{color:#68736b;line-height:1.4;}@media (max-width: 620px){.mode-grid{grid-template-columns:1fr;}.mode-card{min-height:0;}}.app-shell{min-height:100dvh;padding-bottom:88px;}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px max(18px, env(safe-area-inset-left));border-bottom:1px solid #dfe4df;backdrop-filter:blur(12px);}.brand{font-weight:800;letter-spacing:-.02em;}.brand span{font-weight:600;color:#607066;}.bottom-nav{position:fixed;left:50%;bottom:max(10px, env(safe-area-inset-bottom));z-index:20;transform:translateX(-50%);width:min(calc(100% - 20px), 620px);display:grid;grid-template-columns:repeat(4, 1fr);gap:4px;padding:7px;border:1px solid #d7ddd8;border-radius:20px;box-shadow:0 12px 35px rgba(23,36,27,.13);backdrop-filter:blur(16px);}.bottom-nav a{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:14px;font-size:.78rem;font-weight:700;}.header-tool-pair{display:flex;align-items:center;gap:6px;justify-self:start}.header-user-lock{justify-self:end}.header-user-lock svg{width:21px;height:21px}@media (max-width:520px){.header-tool-pair{gap:4px}.app-header.app-header-tools{gap:6px}}@media (max-width: 520px){.app-header{padding-top:12px;padding-bottom:12px;}.brand{font-size:.94rem;}.bottom-nav{width:calc(100% - 12px);bottom:max(6px, env(safe-area-inset-bottom));border-radius:17px;}.bottom-nav a{min-height:54px;font-size:.72rem;}}@media (min-width: 900px){.app-shell{padding-bottom:24px;padding-left:170px;}.bottom-nav{left:14px;top:82px;bottom:auto;transform:none;width:146px;grid-template-columns:1fr;gap:4px;padding:6px;border-radius:16px;}.bottom-nav a{min-height:48px;flex-direction:row;justify-content:flex-start;padding:0 8px;gap:8px;font-size:.74rem;}.bottom-nav .nav-icon-shell{width:34px;height:34px;flex:0 0 34px;border-radius:10px;}.bottom-nav .nav-icon-shell svg{width:22px;height:22px;}}.score-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;}.score-heading > div{display:grid;gap:4px;}.score-position{min-width:48px;padding:6px 10px;border-radius:999px;background:var(--ui-inner);color:var(--ui-text-soft);text-align:center;font-weight:800;font-size:.78rem;}.score-staff-line,
.score-ledger-line,
.score-note-stem{vector-effect:non-scaling-stroke;}.score-staff-line{stroke-width:1.4;}.score-ledger-line{stroke-width:1.5;}.score-note-stem{stroke-width:2.1;stroke-linecap:round;}.score-note-head{stroke-width:1.5;vector-effect:non-scaling-stroke;}.score-note-head.half{stroke-width:2;}@media (max-width: 520px){.score-heading{align-items:center;}}.song-score-scrolling{display:grid;gap:12px;}.score-scroll-viewport{position:relative;height:210px;overflow:hidden;border:1px solid #dce2dd;border-radius:18px;box-shadow:0 10px 30px rgba(30, 52, 37, .05);}.score-track-anchor{position:absolute;left:50%;top:0;width:0;height:100%;}.scrolling-score-track{position:absolute;left:0;top:0;height:210px;max-width:none;will-change:transform;transform:translate3d(-126px,0,0);transition:none;}.score-playhead{position:absolute;z-index:5;left:50%;top:20px;bottom:22px;width:0;pointer-events:none;}.score-playhead i{position:absolute;left:-1px;top:24px;bottom:0;width:2px;box-shadow:0 0 0 1px rgba(255,255,255,.45);}.score-playhead span{position:absolute;top:0;left:0;transform:translateX(-50%);padding:4px 7px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.05em;}.score-fade{position:absolute;z-index:4;top:0;bottom:0;width:14%;pointer-events:none;}.score-fade-left{left:0;background:linear-gradient(to right, #fff 8%, rgba(255,255,255,.92) 35%, rgba(255,255,255,0));}.score-fade-right{right:0;background:linear-gradient(to left, #fff 8%, rgba(255,255,255,.92) 35%, rgba(255,255,255,0));}.score-scroll-caption{display:flex;justify-content:space-between;gap:12px;padding:0 4px;font-size:.8rem;}@media (max-width: 520px){.score-scroll-viewport{height:210px;}.scrolling-score-track{height:210px;}.score-fade{width:12%;}.score-scroll-caption{display:grid;gap:2px;}}.note-reference-shell{display:grid;gap:18px;}.note-reference-score,
.note-reference-detail{padding:18px;border:1px solid #dce2dd;border-radius:18px;background:#fff;}.reference-heading,
.note-reference-selected{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;}.reference-heading > div,
.selected-note-name{display:grid;gap:4px;}.reference-heading > span,
.selected-note-name > span:last-child,
.selected-position-copy span{color:#69736c;font-size:.82rem;}.reference-staff-svg,
.reference-fretboard{display:block;width:100%;height:auto;}.reference-note-label{text-align:center;font-weight:900;font-size:14px;color:#38443c;}.note-reference-detail{display:grid;gap:12px;}.selected-note-name strong{font-size:1.65rem;}.selected-position-copy{display:grid;gap:3px;}.reference-fret-marker{fill:#e2f1e6;stroke:#2b6740;stroke-width:4;}.reference-fret-marker-label{display:grid;place-items:center;height:100%;color:#245535;font-size:15px;font-weight:900;}@media (max-width: 620px){.note-reference-score,
.note-reference-detail{padding:14px;}.reference-heading{display:grid;}.reference-staff-svg{min-width:0;width:100%;}}.chord-reference-shell{display:grid;gap:18px;}.chord-string-line,
.chord-fret-line,
.chord-nut-line{stroke:#d9e3ea;vector-effect:non-scaling-stroke;}.chord-string-line{stroke-width:1.7;}.chord-fret-line{stroke-width:1.4;}.chord-nut-line{stroke-width:6;}.chord-nut-line.mini{stroke-width:4;}.chord-open-circle{fill:transparent;stroke:#d9e3ea;stroke-width:2.4;vector-effect:non-scaling-stroke;}.chord-finger-dot{vector-effect:non-scaling-stroke;}.chord-finger-number,
.chord-mini-mark{display:grid;place-items:center;width:100%;height:100%;font-weight:900;text-align:center;}.chord-finger-number{width:18px;height:18px;margin:0 auto;border:2px solid #e8fbff;border-radius:50%;background:#1689a0;line-height:1;box-shadow:0 0 0 2px rgba(47,196,223,.18);}.chord-mini-mark{color:var(--ui-text-soft);}.chord-reference-grid{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:10px;}.chord-reference-card{display:grid;justify-items:stretch;gap:6px;min-height:210px;border:1px solid var(--ui-line);border-radius:15px;background:var(--ui-card);color:var(--ui-text);text-align:left;cursor:pointer;}.chord-reference-card strong{font-size:1.25rem;}.chord-reference-card > span:last-of-type{color:var(--ui-text-soft);font-size:.8rem;}@media (max-width: 720px){.chord-reference-grid{grid-template-columns:repeat(2, 1fr);}}.string-quiz-session{max-width:720px;margin:0 auto;}.string-quiz-card{display:grid;gap:14px;}.string-quiz-prompt{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;}.string-quiz-prompt > div{display:grid;gap:4px;}.string-quiz-prompt strong{font-size:1.35rem;}.string-quiz-prompt > div > span:last-child{color:#68736b;}.string-quiz-orientation{display:flex;justify-content:space-between;color:#778179;font-size:.75rem;padding:0 8px;}.string-quiz-board{display:grid;gap:7px;padding:16px 12px;border-radius:16px;background:#6b4d34;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);}.string-quiz-hit{position:relative;min-height:46px;border:0;border-radius:11px;background:transparent;cursor:pointer;}.quiz-string-line{position:absolute;left:12px;right:12px;top:50%;transform:translateY(-50%);border-radius:999px;background:#ece6dc;pointer-events:none;}.quiz-string-line.s-1{height:1.4px}.quiz-string-line.s-2{height:1.8px}.quiz-string-line.s-3{height:2.2px}.quiz-string-line.s-4{height:2.8px}.quiz-string-line.s-5{height:3.4px}.quiz-string-line.s-6{height:4.1px}.string-quiz-hit:hover{background:rgba(255,255,255,.08);}.string-quiz-hit.selected{background:rgba(255,255,255,.13);}.string-quiz-hit.correct{background:rgba(214,241,221,.9);box-shadow:inset 0 0 0 2px #2f7247;}.string-quiz-hit.correct .quiz-string-line{background:#275c3a;}.string-quiz-hit.wrong{background:rgba(250,226,222,.94);box-shadow:inset 0 0 0 2px #91443a;}.string-quiz-hit.wrong .quiz-string-line{background:#7f3a32;}@media (max-width: 520px){.string-quiz-card{padding:14px;}.string-quiz-prompt strong{font-size:1.2rem;}.string-quiz-board{padding:12px 9px;}.string-quiz-hit{min-height:50px;}}.score-tie{stroke-width:2.2;stroke-linecap:round;vector-effect:non-scaling-stroke;}.score-note.tied-continuation .score-note-stem{opacity:.82;}.song-score-scrolling .score-fade{width:7%;}.score-barline-rect{fill:#1f2721;shape-rendering:crispEdges;}.score-barline-rect.end{fill:#151b17;}.score-inline-clef{fill:#131516;stroke:#131516;stroke-width:3;}.score-tie{fill:#49564d;}.score-note.tied-continuation .score-note-head{fill:#fff;stroke-dasharray:3 2;}.score-note.tied-continuation.active .score-note-head{fill:#eaf4ec;stroke:#2f7548;}.song-score-scrolling .score-note.tied-continuation .score-note-head{fill:#222a24;stroke:#222a24;stroke-dasharray:none;}.song-score-scrolling .score-note.tied-continuation.active .score-note-head{fill:#2f7548;stroke:#2f7548;}.score-note-body{fill:#222a24;}.score-tie-overlay{fill:#49564d;pointer-events:none;}.score-heading-badges{display:flex;align-items:center;gap:8px;}.score-chord-foreign{overflow:visible;pointer-events:none;}.score-chord-symbol-html{width:56px;height:28px;display:flex;align-items:center;justify-content:center;font:800 18px/1 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:#26332a;letter-spacing:-.02em;white-space:nowrap;}.progress-summary{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:10px;margin-bottom:22px;}.progress-summary > div{display:grid;gap:5px;padding:17px;border-radius:17px;}.progress-summary span,
.progress-row span{color:#69736c;font-size:.82rem;}.progress-summary strong{font-size:1.7rem;}.progress-history{display:grid;gap:10px;}.progress-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 17px;border-radius:16px;}.progress-row > div:first-child,
.progress-row-score{display:grid;gap:3px;}.progress-row-score{text-align:right;white-space:nowrap;}.progress-row-score strong{font-size:1.3rem;}@media (max-width: 520px){.progress-summary{grid-template-columns:1fr;}.progress-row{align-items:flex-start;}}.song-library-tools{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:-8px 0 22px;padding:14px;border-radius:16px;}.song-library-tools label{flex:1;display:grid;gap:6px;}.song-library-tools label > span{font-size:.78rem;font-weight:800;color:#5f6c63;}.song-library-tools input{width:100%;min-height:46px;padding:10px 12px;border-radius:12px;font:inherit;}.song-library-tools > span{color:#6a746d;font-size:.86rem;white-space:nowrap;padding-bottom:12px;}.song-card[hidden]{display:none;}@media (max-width: 520px){.song-library-tools{display:grid;align-items:stretch;}.song-library-tools > span{padding-bottom:0;}}@keyframes hold-exercise-slide{from{transform:translateX(44px);opacity:.55;}to{transform:translateX(0);opacity:1;}}.score-note-dot{fill:currentColor;}.hold-rhythm-session{display:grid;gap:14px;}.hold-tempo-control{display:grid;grid-template-columns:minmax(0, 1fr) auto auto;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--ui-line);border-radius:16px;background:var(--ui-card);color:var(--ui-text);}.hold-tempo-control label{display:grid;gap:5px;min-width:0;}.hold-tempo-control label > span{color:var(--ui-text-soft);font-size:.76rem;font-weight:800;}.hold-tempo-control input[type="range"]{width:100%;min-width:0;}.secondary-action.compact{min-height:40px;padding:8px 12px;}.secondary-action.compact.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink);}@media (max-width: 520px){.hold-tempo-control{grid-template-columns:minmax(0, 1fr) auto;}.hold-tempo-control .secondary-action.compact{grid-column:1 / -1;width:100%;}}.hold-rhythm-score-card{display:grid;gap:12px;padding:18px 14px;border-radius:20px;overflow:hidden;}.hold-rhythm-score-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}.hold-rhythm-score-head > div{display:grid;gap:3px;}.hold-rhythm-string{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:var(--ui-inner);color:var(--ui-text-soft);border:1px solid var(--ui-line);font-size:.75rem;font-weight:800;white-space:nowrap;}.hold-rhythm-status{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:10px 12px;border:1px solid var(--ui-line);border-radius:13px;background:var(--ui-inner);color:var(--ui-text);}.hold-rhythm-status span{color:var(--ui-text-soft);font-size:.8rem;font-weight:750;text-align:right;}.hold-rhythm-score-card .score-scroll-shell{margin:0 -14px;}@media (max-width: 520px){.hold-rhythm-score-head,
.hold-rhythm-status{align-items:flex-start;}.hold-rhythm-score-head{display:grid;}.hold-rhythm-string{justify-self:start;}.hold-rhythm-status{display:grid;}.hold-rhythm-status span{text-align:left;}}.rhythm-chord-shell{display:grid;gap:16px;}.rhythm-mode-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}.rhythm-mode-tab{min-height:48px;border:1px solid var(--ui-line);border-radius:14px;background:var(--ui-inner);color:var(--ui-text);font-weight:800;cursor:pointer;}.rhythm-mode-tab.selected{background:var(--ui-card-active);color:#fff;border-color:var(--ui-line-strong);}.rhythm-control-card,
.strum-stage{border-radius:20px;}.rhythm-control-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;}.rhythm-control-grid label,
.switch-pair-grid label{display:grid;gap:6px;}.rhythm-control-grid label > span,
.switch-pair-grid label > span{color:var(--ui-text-soft);font-size:.8rem;font-weight:800;}.rhythm-control-grid select,
.switch-pair-grid select{min-height:44px;border:1px solid var(--ui-line);border-radius:11px;background:var(--ui-inner);color:var(--ui-text);padding:8px 10px;font:inherit;}.rhythm-control-grid input{width:100%;}.rhythm-chord-choice,
.progression-picker{margin:16px 0;}.chord-choice-row{display:flex;flex-wrap:wrap;}.chord-choice-row button{min-width:58px;border:1px solid var(--ui-line);border-radius:13px;background:var(--ui-inner);color:var(--ui-text);font-weight:850;}.chord-choice-row button.selected{background:rgba(70,117,93,.32);border-color:rgba(116,178,139,.58);color:#fff;}.switch-pair-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:12px;margin:16px 0;}.switch-arrow{padding-bottom:12px;font-size:1.5rem;font-weight:800;color:#58645c;}.progression-picker{display:grid;gap:8px;}.progression-picker > button{display:grid;gap:3px;text-align:left;padding:13px 14px;border:1px solid var(--ui-line);border-radius:14px;background:var(--ui-inner);color:var(--ui-text);cursor:pointer;}.progression-picker > button.selected{border-color:rgba(116,178,139,.58);background:rgba(70,117,93,.28);}.progression-picker > button span{color:var(--ui-text-soft);}.strum-stage-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;}.strum-stage-head > div:first-child{display:grid;gap:4px;}.bar-readout{display:grid;justify-items:end;gap:2px;}.bar-readout span{color:var(--ui-text-soft);font-size:.8rem;}.bar-readout strong{font-size:1.4rem;}.chord-now-next{display:grid;grid-template-columns:1fr 1fr;margin:18px 0;}.chord-now-next > div{display:grid;gap:3px;border:1px solid var(--ui-line);border-radius:16px;background:var(--ui-inner);color:var(--ui-text);}.chord-now-next > div.current{background:rgba(70,117,93,.28);border-color:rgba(116,178,139,.46);}.chord-now-next span{color:var(--ui-text-soft);font-size:.78rem;font-weight:800;text-transform:uppercase;}.chord-now-next strong{color:var(--ui-text);}.strum-grid{display:grid;gap:7px;overflow-x:auto;padding-bottom:2px;}.strum-step{min-width:44px;display:grid;justify-items:center;gap:5px;padding:10px 5px;border:1px solid var(--ui-line);border-radius:13px;background:var(--ui-inner);color:var(--ui-text);transition:transform .08s ease,background .08s ease,border-color .08s ease;}.strum-step.active{transform:translateY(-3px);background:rgba(47,196,223,.18);border-color:rgba(47,196,223,.55);}.count-label{color:var(--ui-text-soft);font-size:.8rem;font-weight:800;}.strum-arrow{font-size:1.65rem;line-height:1;}.strum-legend{display:flex;flex-wrap:wrap;color:var(--ui-text-soft);}@media (max-width:620px){.rhythm-control-grid{grid-template-columns:1fr;}.rhythm-mode-tabs{grid-template-columns:1fr 1fr 1fr;}.rhythm-mode-tab{padding:7px 5px;font-size:.82rem;}}.rhythm-chord-shell,
.rhythm-control-card,
.strum-stage,
.strum-grid{min-width:0;max-width:100%;}@media (max-width:620px){.strum-grid{grid-template-columns:repeat(8, minmax(34px, 1fr));gap:4px;overflow-x:hidden;}.strum-step{min-width:0;padding-left:3px;padding-right:3px;}}.demo-guitar-toggle .toggle-button{min-height:44px;border:1px solid var(--ui-line);border-radius:11px;background:var(--ui-inner);color:var(--ui-text);font-weight:800;}.demo-guitar-toggle .toggle-button.on{background:rgba(70,117,93,.28);border-color:rgba(116,178,139,.52);color:#fff;}.rhythm-result-card{display:grid;gap:8px;padding:18px;border-radius:18px;}.rhythm-result-card > strong{font-size:1.35rem;color:var(--ui-text);}.rhythm-result-card > span:last-of-type{color:var(--ui-text-soft);}.song-chord-practice{display:grid;gap:16px;}.song-chord-stage{border-radius:20px;min-width:0;}.song-repeat-toggle{display:flex;align-items:center;gap:9px;margin:14px 0;color:var(--ui-text-soft);font-weight:750;}.song-repeat-toggle input{width:19px;height:19px;}.song-chords-large{margin-top:16px;}.song-strum-grid{grid-template-columns:repeat(var(--song-steps), minmax(34px,1fr));min-width:0;max-width:100%;}.song-chord-upcoming{display:grid;gap:8px;}.song-chord-upcoming > div{display:flex;gap:8px;overflow-x:auto;padding-bottom:3px;}.song-chord-upcoming > div > span{min-width:72px;display:grid;gap:2px;padding:10px 12px;border:1px solid var(--ui-line);border-radius:13px;background:var(--ui-inner);color:var(--ui-text);}.song-chord-upcoming > div > span.current{border-color:rgba(116,178,139,.52);background:rgba(70,117,93,.28);}.song-chord-upcoming small{color:var(--ui-text-soft);font-size:.72rem;}@media (max-width:620px){.song-chord-stage{padding:14px;}.song-strum-grid{gap:4px;}.song-strum-grid .strum-step{min-width:0;}}.timing-feedback-panel{display:grid;gap:10px;margin-top:16px;padding:14px;border-radius:16px;}.timing-feedback{display:grid;gap:2px;}.timing-feedback strong{font-size:1.1rem;}.timing-feedback span,
.timing-feedback-panel small{color:var(--ui-text-soft);}.timing-feedback.great strong{color:#9fe0b7;}.timing-feedback.good strong{color:#d7e6a2;}.timing-feedback.off strong{color:#ffb394;}.timing-stats{display:flex;flex-wrap:wrap;gap:7px;}.timing-stats > span{padding:7px 9px;border-radius:999px;background:var(--ui-card);color:var(--ui-text-soft);border:1px solid var(--ui-line);font-size:.8rem;}.timing-signal{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;}.timing-signal > span{color:var(--ui-text-soft);font-size:.78rem;font-weight:800;}.timing-signal > div{height:8px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.08);}.timing-signal i{display:block;height:100%;border-radius:inherit;background:#2fc4df;transition:width .08s linear;}.chord-reference-card{padding:0;overflow:hidden;}.chord-card-select{display:grid;justify-items:stretch;gap:6px;width:100%;min-height:210px;padding:14px 14px 8px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;}.chord-card-select > span:last-of-type{color:var(--ui-text-soft);font-size:.8rem;}.chord-play-button{width:calc(100% - 20px);min-height:40px;margin:0 10px 10px;padding:8px 10px;border:1px solid var(--ui-line);border-radius:11px;background:var(--ui-inner);color:var(--ui-text);font-weight:800;cursor:pointer;}.chord-play-button:active{transform:translateY(1px);}.learning-hero{margin-bottom:18px;}.learning-progress{height:10px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.08);}.learning-progress span{display:block;height:100%;border-radius:inherit;background:#2e6542;transition:width .2s ease;}.learning-goals{display:flex;flex-wrap:wrap;gap:7px;}.learning-goals span{padding:6px 9px;border-radius:999px;background:var(--ui-inner);color:var(--ui-text-soft);font-size:.78rem;}.learning-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}.learning-complete-button{min-height:44px;padding:9px 12px;border-radius:12px;font-weight:750;cursor:pointer;}@media (max-width:620px){.learning-actions > *{width:100%;}}.single-note-score{display:block;width:min(100%, 520px);height:auto;margin:8px auto 12px;}.single-note-score .score-note-head,
.single-note-score .score-note-body{fill:#25372b;}.single-note-score-note{pointer-events:none;}.chord-diagram-shared{display:block;width:100%;height:auto;overflow:visible;}.chord-diagram-shared.large{width:min(100%, 360px);margin:0 auto;}.chord-diagram-shared.mini{margin-top:4px;}.reference-note.selected .score-note-head{transform-box:initial;transform-origin:initial;}.reference-note:focus,
.reference-note:focus-visible{outline:none;}.reference-fretboard{overflow:visible;}.chord-reference-shell.compact-only{gap:12px;}.chord-help-note{margin-bottom:2px;}.chord-reference-shell.compact-only .chord-reference-card.selected{border-color:var(--ui-line);background:var(--ui-card);box-shadow:none;}.reference-staff-stack{display:grid;gap:12px;margin-top:10px;}.reference-staff-strip{display:grid;gap:4px;padding:8px 0 2px;border-top:1px solid var(--ui-line);}.reference-staff-strip:first-child{border-top:0;}.reference-staff-range{color:var(--ui-text-soft);font-size:.78rem;font-weight:850;}.reference-note-hitbox,
.reference-position-hit{fill:transparent;stroke:none;cursor:pointer;}.reference-position-dot{fill:#dfe8e1;stroke:#456551;stroke-width:1.5;pointer-events:none;}.reference-position.selected .reference-position-dot{display:none;}.reference-position,
.reference-note{cursor:pointer;outline:none;}.reference-position:focus-visible .reference-position-hit,
.reference-note:focus-visible .reference-note-hitbox{stroke:#2f7548;stroke-width:2;fill:rgba(47,117,72,.06);}@media (max-width:620px){.reference-staff-stack{gap:8px;}.reference-staff-svg{min-width:0;}.reference-staff-range{padding-left:2px;}.reference-position-dot{r:7;}}.note-reference-detail{margin-bottom:0;}.reference-note .score-note-head{transition:fill .08s ease;}.reference-note.selected .reference-note-label{color:#2f7548;font-weight:950;text-decoration:underline;text-underline-offset:3px;}.reference-note .score-note-head{transform:none !important;transform-box:initial !important;transform-origin:initial !important;}.reference-note.selected .score-note-head{transform:none !important;}.compact-hero{margin-bottom:14px;padding-bottom:0;}.compact-hero h1{margin-bottom:5px;}.compact-hero p:last-child{margin-bottom:0;max-width:52rem;}.song-library-tools.compact{margin:0 0 12px;padding:10px 12px;}.song-library-tools.compact label{gap:3px;}.song-library-tools.compact input{min-height:42px;}.compact-song-list{display:grid;gap:7px;}.compact-song-list .candidate-heading{display:none;}.compact-song-row{border-radius:14px;overflow:hidden;}.compact-song-row summary{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;cursor:pointer;list-style:none;}.compact-song-row summary::-webkit-details-marker{display:none;}.compact-song-main{min-width:0;display:grid;gap:3px;}.compact-song-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;}.compact-song-main span{color:#6b756e;font-size:.76rem;}.compact-song-chevron{flex:0 0 auto;color:#728078;font-size:1.45rem;transition:transform .15s ease;}.compact-song-row[open] .compact-song-chevron{transform:rotate(90deg);}.compact-song-details{display:grid;gap:9px;padding:0 13px 13px;border-top:1px solid #edf0ed;}.compact-song-details p{margin:10px 0 0;color:#59665e;font-size:.88rem;}.compact-meta{display:flex;flex-wrap:wrap;gap:5px;}.compact-meta span{padding:4px 7px;border-radius:999px;background:var(--ui-inner);font-size:.72rem;}.compact-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}.compact-actions .button-link{min-height:40px;padding:8px 5px;font-size:.78rem;}.learning-compact-summary{display:grid;gap:8px;margin-bottom:12px;padding:13px;}.learning-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:12px;}.learning-progress-copy span{color:#647068;font-size:.84rem;}.learning-progress-copy strong{font-size:1rem;}.learning-next-action{margin-top:2px;}.learning-compact-list{display:grid;gap:6px;}.learning-compact-step{overflow:hidden;}.learning-compact-head{width:100%;min-height:58px;display:grid;grid-template-columns:36px 1fr auto;gap:9px;align-items:center;padding:8px 11px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;}.learning-compact-number{width:32px;height:32px;display:grid;place-items:center;border-radius:999px;font-size:.82rem;font-weight:900;}.learning-compact-copy{min-width:0;display:grid;gap:1px;}.learning-compact-copy small{color:#6c786f;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;}.learning-compact-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.91rem;}.learning-compact-chevron{color:#718078;font-size:.9rem;}.learning-compact-body{display:grid;gap:9px;padding:0 11px 11px 56px;}.learning-compact-body p{margin:0;font-size:.84rem;}.learning-goals.compact{gap:5px;}.learning-goals.compact span{padding:5px 7px;font-size:.7rem;}.learning-actions.compact{gap:6px;}.learning-actions.compact > *{min-height:40px;padding:8px 10px;font-size:.76rem;}.home-dashboard{display:grid;gap:16px;}.home-welcome{display:grid;gap:3px;padding-top:2px;}.home-welcome h1{margin:0;font-size:clamp(1.8rem,8vw,2.6rem);}.home-primary-actions{display:grid;gap:8px;}.home-action-card{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;min-height:74px;padding:11px 13px;border-radius:16px;text-decoration:none;}.home-action-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--ui-inner);color:#315e40;font-size:1.25rem;font-weight:900;}.home-action-card > span:nth-child(2){min-width:0;display:grid;gap:1px;}.home-action-card small{font-size:.68rem;font-weight:800;text-transform:uppercase;}.home-action-card strong{font-size:.98rem;}.home-action-card em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-style:normal;}.home-action-card b{color:#718078;font-size:1.45rem;}.home-section{display:grid;gap:8px;}.home-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;}.home-section-heading > strong{font-size:.9rem;}.home-section-heading a{font-size:.76rem;text-decoration:none;}.home-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;}.home-quick-grid a{min-width:0;min-height:70px;display:grid;place-items:center;align-content:center;gap:4px;padding:8px 4px;border:1px solid #dce2dd;border-radius:14px;text-decoration:none;}.home-quick-grid a span{font-size:1.15rem;color:#365d42;}.home-quick-grid a strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:.7rem;white-space:nowrap;}@media (max-width:899px){.bottom-nav.five-items{grid-template-columns:repeat(5,1fr);}.bottom-nav.five-items a{min-width:0;padding-left:3px;padding-right:3px;}.bottom-nav.five-items a > span:last-child{font-size:.67rem;}}@media (max-width:520px){.compact-actions{grid-template-columns:repeat(2,1fr);}.learning-compact-body{padding-left:11px;}}.compact-song-row.song-card{display:block;grid-template-columns:none;gap:0;padding:0;border-style:solid;border-radius:14px;}.compact-song-row .song-actions{min-width:0;}.compact-song-row .song-meta{margin-top:0;}h1[tabindex="-1"]:focus{outline:none;}.tool-compact-list{display:grid;gap:8px;}.tool-compact-row{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;min-height:74px;padding:11px 13px;border-radius:16px;text-decoration:none;}.tool-compact-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--ui-inner);color:#315e40;font-size:1.15rem;font-weight:900;}.tool-compact-row > span:nth-child(2){min-width:0;display:grid;gap:1px;}.tool-compact-row small{font-size:.67rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em;}.tool-compact-row strong{font-size:.98rem;}.tool-compact-row em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-style:normal;}.tool-compact-row b{color:#718078;font-size:1.45rem;}@media (max-width:899px){.bottom-nav.five-items a{gap:3px;}}.home-action-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}.active-exercise-hero{margin-bottom:10px;}.active-exercise-hero h1{font-size:clamp(1.7rem,7vw,2.5rem);line-height:1.02;}.active-exercise-hero p:last-child{font-size:.9rem;line-height:1.42;}.exercise-settings{margin:8px 0 10px;border-radius:12px;overflow:hidden;}.exercise-settings summary{min-height:42px;display:flex;align-items:center;justify-content:space-between;padding:8px 11px;font-size:.78rem;font-weight:850;cursor:pointer;list-style:none;}.exercise-settings summary::-webkit-details-marker{display:none;}.exercise-settings summary::after{content:"⌄";}.exercise-settings[open] summary::after{content:"⌃";}.exercise-settings-body{display:grid;gap:8px;padding:0 10px 10px;}.exercise-settings-body.two-column{grid-template-columns:1fr 1fr;}.exercise-settings-body label{display:grid;gap:4px;}.exercise-settings-body label > span:first-child{color:#5d6961;font-size:.74rem;font-weight:800;}.exercise-settings-body select,
.exercise-settings-body button{min-height:40px;}.exercise-settings-body .toggle-setting,
.exercise-settings-body .song-repeat-toggle{display:flex;align-items:center;gap:8px;min-height:40px;margin:0;}.exercise-settings-body .toggle-setting input,
.exercise-settings-body .song-repeat-toggle input{width:18px;height:18px;}.compact-primary-setting{display:block;}.compact-primary-setting > label{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;}.compact-primary-setting > label > span{font-size:.75rem;font-weight:850;}.compact-primary-setting > label > strong{font-size:.86rem;white-space:nowrap;}.compact-primary-setting input[type="range"]{min-width:0;}.transport-panel,
.rhythm-control-card{padding:12px;}.transport-actions,
.result-actions{gap:6px;}.transport-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}.transport-actions > *,
.result-actions > *{min-height:42px;padding:8px 9px;font-size:.78rem;}.transport-status{margin-top:8px;min-height:38px;padding:8px 10px;}.transport-status > span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.rhythm-mode-tabs{margin-bottom:8px;}.rhythm-mode-tabs button{min-height:42px;padding:7px 8px;font-size:.76rem;}.rhythm-chord-choice,
.switch-pair-grid,
.progression-picker{margin-top:8px;}.chord-choice-row{gap:5px;}.chord-choice-row button{min-height:38px;padding:6px 10px;}.strum-stage,
.song-chord-stage{padding:13px !important;}.strum-stage-head{margin-bottom:8px;}.chord-now-next{gap:7px;}.chord-now-next > div{min-height:72px;padding:10px;}.chord-now-next strong{font-size:1.65rem;}.strum-grid{margin-top:8px;}.strum-legend{margin-top:7px;gap:9px;font-size:.72rem;}.song-chord-practice .result-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}.song-chord-upcoming{margin-top:10px;}@media (max-width:520px){.exercise-settings-body.two-column{grid-template-columns:1fr;}.transport-actions{grid-template-columns:1fr 1fr;}.transport-actions .button-link{grid-column:span 2;}}.playback-inline-status{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;margin-top:7px;padding:7px 10px;border:1px solid var(--ui-line);border-radius:11px;background:var(--ui-inner);}.playback-inline-status span{color:#66736b;font-size:.72rem;font-weight:800;}.playback-inline-status strong{font-size:.9rem;}.exercise-help{margin-top:7px;border-top:1px solid #e7ebe7;}.exercise-help summary{padding:8px 2px;color:#647168;font-size:.72rem;font-weight:800;cursor:pointer;}.exercise-help p{margin:0 0 8px;font-size:.76rem;line-height:1.4;}.transport-actions.stateful{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}.transport-actions.stateful .button-link{grid-column:auto;}.app-header.app-header-tools{display:grid;grid-template-columns:90px minmax(0,1fr) 44px;align-items:center;gap:10px;padding-top:10px;padding-bottom:10px;}.centered-brand{justify-self:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:.98rem;}.header-quick{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(255,255,255,.06);color:#e9e9fb;}.header-quick:hover{background:rgba(255,255,255,.11);}.header-quick:active{transform:translateY(1px);}.header-quick svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}.scale-note-row{display:flex;flex-wrap:wrap;gap:5px;}.scale-note-row span{min-width:34px;padding:5px 7px;border-radius:999px;text-align:center;font-size:.74rem;font-weight:850;}.strum-grid{grid-template-columns:repeat(var(--strum-steps,8),minmax(30px,1fr));}@media (max-width:520px){.app-header.app-header-tools{grid-template-columns:84px minmax(0,1fr) 42px;padding-left:12px;padding-right:12px;}.centered-brand{font-size:.88rem;}.header-quick{width:38px;height:38px;}}.single-note-accidental{height:32px;display:grid;place-items:center;color:#252a33;font-size:1.35rem;font-weight:900;line-height:1;}.scale-practice-shell{display:grid;gap:10px;}.scale-practice-controls,
.scale-current-card{padding:12px;border-radius:16px;}.scale-practice-actions{display:grid;grid-template-columns:1.35fr .75fr .75fr;gap:6px;margin-top:10px;}.scale-practice-actions > *{min-height:40px;padding:8px 9px;font-size:.76rem;}.scale-current-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}.scale-current-head > div{display:grid;gap:2px;}.scale-current-head > div > strong{font-size:1.35rem;}.scale-current-head > div > span:last-child{color:var(--ink-soft);font-size:.8rem;}.scale-step-readout{padding:5px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-size:.72rem;font-weight:850;}.scale-practice-staff{margin:0 auto 2px;}.scale-practice-fretboard{display:block;width:100%;height:auto;}.scale-fret-note{cursor:pointer;}.scale-fret-note circle{transition:r .12s ease, fill .12s ease, stroke .12s ease;}.scale-fret-label{height:26px;display:grid;place-items:center;font-weight:900;pointer-events:none;}.scale-sequence-strip{display:flex;gap:6px;overflow-x:auto;padding:2px 0 5px;scrollbar-width:none;}.scale-sequence-strip::-webkit-scrollbar{display:none;}.scale-sequence-note{min-width:62px;min-height:50px;display:grid;gap:1px;place-content:center;padding:6px 7px;border-radius:11px;cursor:pointer;}.scale-sequence-note strong{font-size:.85rem;}.scale-sequence-note span{font-size:.58rem;}.scale-sequence-note.active{color:var(--accent-ink);}@media (max-width:520px){.scale-practice-actions{grid-template-columns:1.25fr .7fr .7fr;}}.library-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;}.library-filter-grid label{display:grid;gap:4px;}.library-filter-grid label > span{color:var(--ink-muted);font-size:.68rem;font-weight:850;}.library-filter-grid select{width:100%;min-height:38px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;font-size:.78rem;}.scale-library-row summary{background:linear-gradient(90deg, rgba(95,135,148,.07), transparent 48%);}.scale-library-row .compact-song-main span{color:var(--accent-ink);}.scale-row-actions{grid-template-columns:1fr;}.custom-progression-builder{display:grid;gap:9px;margin-top:9px;padding:11px;border:1px solid var(--ui-line);border-radius:13px;background:var(--ui-inner);}.custom-progression-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}.custom-progression-head > div{display:grid;gap:2px;}.custom-progression-head strong{font-size:.86rem;}.compact-control{min-height:34px;padding:5px 9px;font-size:.7rem;}.custom-chord-palette{display:flex;flex-wrap:wrap;gap:5px;}.custom-chord-palette button{min-height:34px;min-width:42px;padding:5px 9px;border:1px solid var(--line);border-radius:10px;background:var(--surface-raised);color:var(--ink);font-size:.78rem;font-weight:850;cursor:pointer;}.custom-chord-palette button:active{background:var(--accent-soft);border-color:#a1c0c6;}.custom-progression-sequence{min-height:42px;display:flex;flex-wrap:wrap;gap:5px;align-items:center;padding:7px;border:1px dashed #b9badb;border-radius:11px;background:var(--ui-inner);}.custom-progression-sequence button{min-height:32px;display:flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid #bdcfd3;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-size:.72rem;cursor:pointer;}.custom-progression-sequence button span{opacity:.65;}.custom-empty{color:var(--ink-muted);font-size:.74rem;}@media (max-width:520px){.library-filter-grid{grid-template-columns:1fr 1fr;}}.progression-presets{margin-top:2px;border-radius:11px;overflow:hidden;}.progression-presets summary{min-height:38px;display:flex;align-items:center;justify-content:space-between;padding:7px 9px;font-size:.72rem;font-weight:850;cursor:pointer;list-style:none;}.progression-presets summary::-webkit-details-marker{display:none;}.progression-presets summary::after{content:"⌄";}.progression-presets[open] summary::after{content:"⌃";}.progression-presets-body{display:grid;gap:6px;padding:0 7px 7px;}.progression-presets-body > button{min-height:54px;}.song-score-scrolling .score-barline-rect{fill:#343a46 !important;opacity:1 !important;shape-rendering:crispEdges;pointer-events:none;}.song-score-scrolling .score-barline-rect.end{fill:#20242c !important;}.score-scroll-shell{position:relative;height:210px;border:1px solid var(--line);border-radius:18px;overflow:hidden;}.score-scroll-shell .score-scroll-viewport{position:relative;width:100%;height:210px;border:0;border-radius:0;background:transparent;box-shadow:none;scroll-behavior:auto !important;overflow-anchor:none;scrollbar-width:none;scroll-snap-type:none !important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:auto;touch-action:pan-y;overflow-x:hidden !important;overflow-y:hidden !important;}.score-scroll-shell .score-scroll-viewport::-webkit-scrollbar{display:none;}.score-scroll-shell .score-track-anchor{position:relative !important;left:auto !important;top:auto !important;width:max-content !important;height:210px;padding-left:calc(50% - 126px);box-sizing:content-box;}.score-scroll-shell .scrolling-score-motion{left:auto !important;height:210px;will-change:auto !important;contain:none !important;backface-visibility:visible !important;position:relative !important;top:auto !important;transform:none !important;}.score-scroll-shell .scrolling-score-track{position:relative !important;left:auto !important;top:auto !important;display:block;height:210px;max-width:none;transform:none !important;will-change:auto;}.score-scroll-shell .score-playhead,
.score-scroll-shell .score-fade{position:absolute;}.shuffle-loop-block{display:grid;gap:9px;}.shuffle-loop-bar{display:grid;gap:5px;padding:8px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.48);}.shuffle-loop-bar.active{border-color:rgba(95,135,148,.55);background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent);}.shuffle-bar-head{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--ink-muted);font-size:.68rem;}.shuffle-bar-head strong{color:var(--ink);font-size:.72rem;}.shuffle-bar-head span{color:var(--accent-ink);font-weight:800;}.shuffle-mini-grid{grid-template-columns:repeat(8,minmax(32px,1fr)) !important;gap:3px !important;overflow:hidden !important;}.shuffle-mini-grid .strum-step{min-width:0;padding:5px 1px;border-radius:8px;gap:2px;}.shuffle-mini-grid .count-label{font-size:.56rem;}.shuffle-mini-grid .strum-arrow{font-size:1.05rem;}.hold-guide-control{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(0, 1fr);align-items:center;gap:10px;}.hold-guide-control select{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--ui-line);border-radius:12px;background:var(--ui-inner);color:var(--ui-text);font:inherit;font-weight:750;}.neon-button-icon{position:relative;display:grid;place-items:center;flex:0 0 auto;overflow:hidden;border:1px solid rgba(83,224,255,.42);}.neon-button-icon::before{content:"";position:absolute;inset:3px;border-radius:inherit;border-top:1px solid rgba(142,246,255,.38);pointer-events:none;}.neon-button-icon::after{content:"";position:absolute;left:22%;right:22%;bottom:3px;height:2px;border-radius:999px;}.neon-button-icon svg{width:72%;height:72%;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}.neon-button-icon svg circle,
.neon-button-icon svg ellipse{fill:rgba(73,224,255,.12);}.neon-button-icon svg text{fill:#eafcff;stroke:none;font-size:10px;font-weight:900;text-anchor:middle;font-family:Inter, ui-sans-serif, system-ui, sans-serif;}.home-quick-grid a .neon-button-icon{width:42px;height:42px;border-radius:12px;font-size:0;}.home-action-card .home-action-icon.neon-button-icon{width:44px;height:44px;border-radius:13px;}.home-action-card.featured .home-action-icon.neon-button-icon{border-color:rgba(105,230,255,.55);}.home-quick-grid a:hover .neon-button-icon,
.home-action-card:hover .neon-button-icon{transform:translateY(-1px) scale(1.025);border-color:rgba(113,239,255,.68);box-shadow:inset 0 0 0 1px rgba(72,172,191,.18),
        inset 0 10px 18px rgba(74,220,255,.10),
        0 0 22px rgba(46,219,255,.22),
        0 8px 20px rgba(8,12,32,.24);}.neon-button-icon{transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;}@media (max-width:520px){.home-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}.home-quick-grid a{min-height:76px;padding:7px 2px;}.home-quick-grid a .neon-button-icon{width:40px;height:40px;}.home-action-card{grid-template-columns:46px 1fr auto;}}.tool-compact-row.featured strong{color:#f8f9ff !important;}.tool-compact-row.featured b{color:#aeb4c7 !important;}.fretboard-wood{fill:#202738 !important;stroke:rgba(92,108,138,.34);stroke-width:1.2;}.fret-line{stroke:rgba(181,191,214,.28) !important;stroke-width:1.25 !important;}.nut-line{stroke:rgba(222,227,239,.55) !important;stroke-width:4 !important;}.guitar-string{stroke:rgba(221,229,242,.62) !important;filter:drop-shadow(0 0 2px rgba(88,210,255,.10));}.guitar-string{vector-effect:non-scaling-stroke;stroke-linecap:round;}.guitar-string.s-1{stroke-width:1.15 !important}.guitar-string.s-2{stroke-width:1.35 !important}.guitar-string.s-3{stroke-width:1.6 !important}.guitar-string.s-4{stroke-width:2.0 !important}.guitar-string.s-5{stroke-width:2.45 !important}.guitar-string.s-6{stroke-width:3.0 !important}.scale-practice-fretboard{border-radius:18px;background:radial-gradient(circle at 50% 18%, rgba(81,102,160,.08), transparent 52%),
        linear-gradient(180deg, rgba(255,255,255,.025), rgba(17,22,34,.015));}.scale-fret-note circle{fill:rgba(151,161,183,.26) !important;stroke:rgba(190,201,222,.44) !important;stroke-width:1.4 !important;}.scale-fret-note.root circle{fill:rgba(214,173,120,.26) !important;stroke:rgba(214,173,120,.58) !important;stroke-width:1.8 !important;}.scale-fret-note.active circle{fill:#4d67d8 !important;stroke:#7de7ff !important;stroke-width:2.2 !important;filter:drop-shadow(0 0 4px rgba(84,224,255,.38))
        drop-shadow(0 0 8px rgba(103,82,232,.22));}.scale-fret-note.root.active circle{fill:#6a99a3 !important;stroke:#d7b57f !important;stroke-width:2.3 !important;}.scale-fret-label{color:#aeb7c9 !important;font-size:.64rem !important;}.scale-fret-note.active .scale-fret-label{color:#f4fbff !important;}.fret-label,
.string-label{color:#6f788a !important;}.fretboard-toolbar{display:flex;justify-content:flex-end;align-items:center;min-height:34px;margin:0 0 4px;}.fretboard-letter-toggle{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid rgba(101,108,151,.18);border-radius:999px;font-size:.72rem;font-weight:800;cursor:pointer;user-select:none;}.fretboard-letter-toggle input{width:16px;height:16px;margin:0;}.string-label,
.scale-fret-label,
.reference-fret-marker-label{opacity:0 !important;transition:opacity .14s ease;}html.show-fretboard-letters .string-label,
html.show-fretboard-letters .scale-fret-label,
html.show-fretboard-letters .reference-fret-marker-label{opacity:1 !important;}.reference-fretboard.fretboard-zoomed,
.training-fretboard.fretboard-zoomed,
.scale-practice-fretboard.fretboard-zoomed{width:calc(100% + 18px);max-width:none;margin-left:-9px;margin-right:-9px;}@media (max-width:520px){.fretboard-toolbar{margin-top:-2px;}.fretboard-letter-toggle{padding:5px 8px;font-size:.68rem;}.reference-fretboard.fretboard-zoomed,
.training-fretboard.fretboard-zoomed,
.scale-practice-fretboard.fretboard-zoomed{width:calc(100% + 26px);margin-left:-13px;margin-right:-13px;}}html,
body{background:radial-gradient(circle at 18% -8%, rgba(95,135,148,.07), transparent 28rem),
        linear-gradient(180deg, #eceef2 0%, var(--ui-page) 55%, var(--ui-page-deep) 100%) !important;color:var(--ui-ink) !important;}.app-header,
.bottom-nav{background:linear-gradient(145deg, #252c3a, #2d3443);border-color:rgba(255,255,255,.07);color:var(--ui-text);}.app-header .brand,
.app-header .brand span,
.app-header a{color:var(--ui-text);}.bottom-nav a{color:var(--ui-text-soft);}.bottom-nav a span,
.bottom-nav a small{color:inherit !important;}.eyebrow,
.card-kicker,
.home-section-heading a{color:#587d88;}.empty-state,
.transport-panel,
.mode-card,
.trainer-card,
.metronome-panel,
.pattern-panel,
.pulse-stage,
.metro-volume,
.progress-summary > div,
.progress-row,
.hold-rhythm-score-card,
.rhythm-control-card,
.strum-stage,
.rhythm-result-card,
.song-chord-stage,
.timing-feedback-panel,
.learning-compact-summary,
.learning-compact-step,
.compact-song-row,
.tool-compact-row,
.scale-practice-controls,
.scale-current-card,
.scale-sequence-note,
.song-library-tools,
.home-action-card,
.candidate-note{background:linear-gradient(145deg, var(--ui-card), var(--ui-card-2)) !important;border:1px solid var(--ui-line);color:var(--ui-text);box-shadow:var(--ui-shadow);backdrop-filter:none;-webkit-backdrop-filter:none;}.mode-card.selected,
.learning-compact-step.active,
.compact-song-row[open],
.chord-reference-card.selected,
.scale-sequence-note.active,
.pattern-button.selected{background:linear-gradient(145deg, var(--ui-card-active), #394558) !important;border-color:var(--ui-line-strong) !important;box-shadow:inset 3px 0 0 var(--ui-accent),
        var(--ui-shadow) !important;}.empty-state strong,
.transport-panel strong,
.mode-card strong,
.trainer-card strong,
.metronome-panel strong,
.pattern-panel strong,
.pulse-stage strong,
.metro-volume strong,
.progress-summary > div strong,
.progress-row strong,
.hold-rhythm-score-card strong,
.rhythm-control-card strong,
.strum-stage strong,
.rhythm-result-card strong,
.song-chord-stage strong,
.timing-feedback-panel strong,
.learning-compact-summary strong,
.learning-compact-step strong,
.compact-song-row strong,
.tool-compact-row strong,
.scale-practice-controls strong,
.scale-current-card strong,
.scale-sequence-note strong,
.song-library-tools strong,
.home-action-card strong,
.candidate-note strong{color:var(--ui-text);}.empty-state p,
.empty-state span,
.transport-panel span,
.mode-card span,
.trainer-card span,
.metronome-panel span,
.pattern-panel span,
.pulse-stage span,
.metro-volume span,
.progress-summary > div span,
.progress-row span,
.hold-rhythm-score-card span,
.rhythm-control-card span,
.strum-stage span,
.rhythm-result-card span,
.song-chord-stage span,
.timing-feedback-panel span,
.learning-compact-summary span,
.learning-compact-step span,
.compact-song-row span,
.tool-compact-row small,
.tool-compact-row em,
.scale-practice-controls span,
.scale-current-card span,
.scale-sequence-note span,
.song-library-tools span,
.home-action-card small,
.home-action-card em,
.candidate-note span{color:var(--ui-text-soft) !important;}.learning-compact-summary,
.learning-compact-step,
.mode-card{border-radius:var(--ui-radius) !important;}.learning-compact-step{border-left:1px solid var(--ui-line) !important;}.learning-compact-step.active{border-left:3px solid var(--ui-accent) !important;}.learning-compact-step.complete{background:linear-gradient(145deg, #374b4d, #304244) !important;border-color:rgba(92,146,130,.25) !important;}.learning-compact-number{background:rgba(255,255,255,.065) !important;color:var(--ui-text-soft) !important;}.learning-compact-step.complete .learning-compact-number{background:rgba(91,151,133,.15) !important;color:#dbeee8 !important;}.learning-compact-body p{color:var(--ui-text-soft) !important;}.learning-goals.compact span{background:rgba(255,255,255,.055) !important;color:#dbe1eb !important;border:1px solid rgba(255,255,255,.07) !important;}.song-library-tools input,
.song-library-tools select,
.exercise-settings select,
.switch-pair-grid select,
.exercise-settings input,
.compact-primary-setting,
.player-settings.compact-primary-setting,
.exercise-settings,
.exercise-help,
.progression-presets,
.transport-status{background:var(--ui-inner) !important;color:var(--ui-text) !important;border:1px solid rgba(255,255,255,.08) !important;box-shadow:none !important;}.song-library-tools input::placeholder{color:var(--ui-text-muted) !important;}.exercise-settings summary,
.exercise-settings summary::after,
.compact-primary-setting label,
.player-settings.compact-primary-setting label,
.transport-status > span:last-child{color:var(--ui-text-soft) !important;}.compact-primary-setting strong,
.player-settings.compact-primary-setting strong,
.transport-status strong{color:var(--ui-text) !important;}.metro-position,
.pattern-button,
.pulse-dot{background:rgba(255,255,255,.055);color:var(--ui-text);border:1px solid rgba(255,255,255,.075);box-shadow:none;}.metro-position span,
.pattern-button span,
.tap-status,
.subdivision-readout,
.subdivision-readout span{color:var(--ui-text-soft) !important;}.metro-position strong,
.pattern-button strong,
.subdivision-readout strong{color:var(--ui-text) !important;}.pattern-button.selected{background:rgba(95,135,148,.18) !important;border-color:rgba(105,160,173,.48) !important;box-shadow:inset 0 0 0 1px rgba(95,135,148,.18) !important;}.pulse-dot.active{background:var(--ui-accent) !important;color:#fff !important;transform:scale(1.08) !important;}.song-meta span,
.scale-note-row span{background:rgba(255,255,255,.055);color:var(--ui-text-soft);border:1px solid rgba(255,255,255,.065);}.compact-song-row{border-left:1px solid var(--ui-line);}.compact-song-row[open]{border-left:3px solid var(--ui-accent) !important;}.compact-song-details{border-top-color:rgba(255,255,255,.07);}.home-action-card,
.tool-compact-row,
.home-quick-grid a{background:linear-gradient(145deg, var(--ui-card), var(--ui-card-2)) !important;border-color:var(--ui-line) !important;color:var(--ui-text) !important;box-shadow:var(--ui-shadow) !important;}.home-quick-grid a{background:linear-gradient(145deg, #41495d, #394154) !important;}.home-quick-grid a strong{color:var(--ui-text) !important;}.home-action-card.featured,
.tool-compact-row.featured{background:linear-gradient(145deg, #343c4e, #2e3546) !important;border-color:rgba(255,255,255,.09) !important;}.home-action-card.featured small,
.home-action-card.featured em,
.tool-compact-row.featured small,
.tool-compact-row.featured em{color:var(--ui-text-soft) !important;}.bottom-nav a.active{background:rgba(95,135,148,.17) !important;color:#f4f7f9 !important;box-shadow:inset 0 0 0 1px rgba(103,155,168,.22),
        0 3px 9px rgba(20,24,35,.10) !important;}.bottom-nav a.active .nav-icon-shell{border-color:rgba(76,181,201,.40) !important;box-shadow:inset 0 0 0 1px rgba(95,135,148,.12),
        0 0 8px rgba(60,165,185,.08) !important;}.neon-button-icon,
.home-quick-grid a .neon-button-icon,
.home-action-card .home-action-icon.neon-button-icon{background:radial-gradient(circle at 70% 18%, rgba(58,184,204,.10), transparent 38%),
        linear-gradient(145deg, #132735 0%, #172633 62%, #183038 100%) !important;border-color:rgba(72,174,194,.32) !important;color:#e2fbff !important;box-shadow:inset 0 0 0 1px rgba(86,149,163,.10),
        0 0 7px rgba(46,173,195,.06),
        0 5px 12px rgba(8,12,26,.15) !important;}.neon-button-icon::after{background:linear-gradient(90deg, #2dd4e6, #4ab5c6, #6ba5b0) !important;opacity:.66 !important;box-shadow:0 0 4px rgba(48,196,217,.30) !important;}.neon-button-icon svg{filter:drop-shadow(0 0 3px rgba(66,207,226,.50))
        drop-shadow(0 0 5px rgba(72,154,170,.16)) !important;}input[type="range"],
.fretboard-letter-toggle input{accent-color:var(--ui-accent);}.toggle-button.on{background:var(--ui-accent-soft) !important;color:#e4f0f3 !important;border-color:var(--ui-line-strong) !important;}.fretboard-letter-toggle{background:rgba(255,255,255,.055) !important;color:var(--ui-text-soft) !important;border-color:rgba(255,255,255,.07) !important;}.single-note-score,
.trainer-staff,
.learn-staff,
.scale-practice-staff,
.reference-staff-svg,
.score-scroll-shell,
.score-scroll-viewport,
.scrolling-score-track,
.note-reference-score{background:var(--ui-paper) !important;color:#222 !important;}.score-scroll-shell,
.note-reference-score{border-color:#d3d8df !important;box-shadow:0 7px 20px rgba(35,42,55,.08) !important;}.score-staff-line,
.score-ledger-line,
.score-note-stem,
.score-note-body,
.score-tie,
.score-tie-overlay{stroke:var(--ui-paper-ink) !important;color:var(--ui-paper-ink) !important;}.score-note-head,
.single-note-score .score-note-head,
.reference-note .score-note-head{fill:var(--ui-paper-ink) !important;stroke:var(--ui-paper-ink) !important;}.score-note-head.half,
.single-note-score .score-note-head.half,
.score-note.active .score-note-head.half{fill:#fff !important;stroke:var(--ui-paper-ink) !important;}.score-note.active .score-note-head,
.reference-note.selected .score-note-head{fill:#2fc4df !important;stroke:#1689a0 !important;filter:drop-shadow(0 0 3px rgba(47,196,223,.45));}.score-note.active .score-note-head.half{fill:#ffffff !important;stroke:#1689a0 !important;}.score-note.active .score-note-stem,
.score-note.active .score-note-body,
.score-note.active .score-note-dot,
.reference-note.selected .score-note-stem{stroke:#1689a0 !important;fill:#2fc4df !important;}.clef{color:var(--ui-paper-ink) !important;fill:var(--ui-paper-ink) !important;}.score-scroll-caption,
.score-scroll-caption strong{color:#444b55 !important;}.score-playhead i{background:rgba(79,132,145,.48) !important;}.score-playhead span{background:#557d88 !important;color:#fff !important;}::selection{background:rgba(95,135,148,.20) !important;}:focus-visible{outline-color:rgba(95,135,148,.42) !important;}.player-settings.compact-primary-setting > label{background:transparent !important;border:0 !important;box-shadow:none !important;padding:12px 14px !important;}.player-settings.compact-primary-setting > label > span{color:var(--ui-text-soft) !important;}.player-settings.compact-primary-setting > label > strong{color:var(--ui-text) !important;}.training-extra-grid{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:12px;margin-top:18px;}.training-extra-card{display:grid;gap:5px;min-height:112px;padding:15px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.045);color:inherit;text-decoration:none;}.training-extra-card strong{color:#f7f4eb;font-size:1rem;}.training-extra-card > span:last-child{color:rgba(247,244,235,.66);font-size:.84rem;line-height:1.35;}.exercise-card{display:grid;gap:18px;margin:0 auto;width:min(100%, 760px);padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:22px;background:rgba(255,255,255,.035);}.ear-training-card{text-align:center;}.ear-listen-orb{width:112px;height:112px;margin:6px auto 0;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%, rgba(255,255,255,.18), rgba(255,255,255,.03) 68%);border:1px solid rgba(255,255,255,.12);font-size:3.4rem;color:#f8efe1;}.ear-play-button,
.chord-hear-action{justify-self:center;}.chord-recognition-diagram{width:min(100%, 330px);margin:0 auto;padding:12px;border-radius:20px;}.chord-recognition-diagram .chord-diagram-shared{width:100%;height:auto;}.chord-answer-grid{grid-template-columns:repeat(2, minmax(0,1fr));}.settings-shell{display:grid;gap:14px;width:min(100%, 760px);margin:0 auto;}.settings-card{display:grid;gap:14px;padding:16px;border:1px solid rgba(255,255,255,.09);border-radius:20px;background:rgba(255,255,255,.035);}.settings-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}.settings-card-head > div{display:grid;gap:3px;}.settings-segmented{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:8px;}.settings-segmented button{min-height:46px;border-radius:14px;font-weight:800;}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-top:1px solid rgba(255,255,255,.07);}.settings-row > span{display:grid;gap:4px;}.settings-row select{min-width:116px;}.settings-row input[type="checkbox"]{width:22px;height:22px;accent-color:#f17f3e;flex:0 0 auto;}.learning-stats-panel{display:grid;gap:16px;margin:18px 0;padding:16px;border:1px solid rgba(255,255,255,.09);border-radius:20px;background:rgba(255,255,255,.035);}.learning-stat-group{display:grid;gap:10px;padding-top:12px;border-top:1px solid rgba(255,255,255,.07);}.learning-stat-group-title{display:flex;justify-content:space-between;gap:12px;align-items:center;}.learning-stat-group-title span{color:#f7b17f;font-weight:900;}.learning-stat-list{display:grid;gap:8px;}.learning-stat-row{display:grid;grid-template-columns:minmax(70px,110px) minmax(80px,1fr) 48px 42px;gap:10px;align-items:center;}.learning-stat-row > span,
.learning-stat-row small{color:rgba(247,244,235,.72);}.learning-stat-bar{height:9px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.08);}.learning-stat-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg, #d46d35, #e9a66f);}.compact-empty{min-height:100px;}@media (max-width: 620px){.training-extra-grid{grid-template-columns:1fr;}.training-extra-card{min-height:0;}.exercise-card{padding:14px;}.learning-stat-row{grid-template-columns:64px minmax(60px,1fr) 42px 34px;gap:7px;font-size:.86rem;}}.tuner-shell{display:grid;gap:18px;}.tuner-console{padding:20px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:linear-gradient(145deg, var(--ui-card), var(--ui-card-2));color:var(--ui-text);box-shadow:var(--ui-shadow);}.tuner-console-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px;}.tuner-console-head .mic-status-row{margin:0;}.tuner-start{flex:0 0 auto;}.tuner-gauge-wrap{display:grid;justify-items:center;gap:10px;margin-top:6px;}.tuner-gauge{position:relative;width:min(100%, 520px);aspect-ratio:2 / 1.12;overflow:hidden;}.tuner-gauge-face{position:absolute;left:3%;right:3%;top:0;height:186%;border-radius:50%;background:conic-gradient(
            from 270deg at 50% 50%,
            #842d35 0deg 42deg,
            #b23b42 42deg 72deg,
            #3d7f52 72deg 108deg,
            #b23b42 108deg 138deg,
            #842d35 138deg 180deg,
            transparent 180deg 360deg
        );box-shadow:inset 0 0 0 2px rgba(255,255,255,.06),
        inset 0 0 32px rgba(255,255,255,.05),
        0 14px 28px rgba(0,0,0,.22);transition:filter .16s ease, box-shadow .16s ease;}.tuner-gauge-inner{position:absolute;left:13%;right:13%;top:18%;height:150%;border-radius:50%;background:linear-gradient(180deg, #202737 0%, #2b3345 70%, #252d3d 100%);border:1px solid rgba(255,255,255,.06);z-index:1;}.tuner-gauge-wrap.gauge-good .tuner-gauge-face{filter:saturate(1.12) brightness(1.12);box-shadow:inset 0 0 0 2px rgba(255,255,255,.06),
        inset 0 0 38px rgba(105,226,139,.10),
        0 0 34px rgba(79,190,108,.22);}.tuner-gauge-wrap.gauge-low .tuner-gauge-face,
.tuner-gauge-wrap.gauge-high .tuner-gauge-face{filter:saturate(1.08) brightness(1.05);box-shadow:inset 0 0 0 2px rgba(255,255,255,.06),
        inset 0 0 38px rgba(228,76,83,.08),
        0 0 28px rgba(175,55,63,.18);}.tuner-gauge-wrap.gauge-idle .tuner-gauge-face{filter:saturate(.7) brightness(.78);}.tuner-gauge-tick{position:absolute;top:49%;z-index:4;color:rgba(245,247,251,.76);font-size:.78rem;font-weight:800;}.tuner-gauge-tick.tick-left{left:4%;}.tuner-gauge-tick.tick-center{left:50%;transform:translateX(-50%);top:8%;}.tuner-gauge-tick.tick-right{right:4%;}.tuner-needle{position:absolute;left:50%;bottom:11%;width:5px;height:48%;border-radius:999px;background:linear-gradient(180deg, #ffffff 0%, #d9dee8 100%);transform-origin:50% 100%;z-index:5;box-shadow:0 0 12px rgba(255,255,255,.24);transition:transform .12s ease-out;}.tuner-needle-hub{position:absolute;left:50%;bottom:8.5%;width:24px;height:24px;transform:translateX(-50%);border-radius:50%;background:#f7f9fd;border:5px solid #596377;z-index:6;box-shadow:0 2px 10px rgba(0,0,0,.28);}.tuner-note{position:absolute;left:50%;bottom:7%;transform:translate(-50%, 0);z-index:7;display:grid;justify-items:center;gap:2px;pointer-events:none;}.tuner-note span{color:var(--ui-text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;}.tuner-note strong{color:var(--ui-text);font-size:clamp(2.2rem, 8vw, 4.2rem);line-height:.95;}.tuner-note em{color:var(--ui-text-soft);font-style:normal;font-size:.85rem;font-weight:800;}.tuner-gauge-wrap .tuning-direction{min-width:min(100%, 360px);text-align:center;background:rgba(255,255,255,.045);border:1px solid var(--ui-line);border-radius:999px;padding:8px 14px;}.tuner-gauge-wrap .tuning-direction strong,
.tuner-gauge-wrap .tuning-direction span{display:block;}.tuner-gauge-wrap .tuning-direction.good{background:rgba(71,155,93,.15);border-color:rgba(103,209,132,.26);}.tuner-gauge-wrap .tuning-direction.adjust{background:rgba(159,58,66,.14);border-color:rgba(215,87,95,.22);}.tuner-metrics{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:10px;margin-top:14px;}.tuner-metrics > div{display:grid;gap:3px;padding:11px 12px;border-radius:var(--ui-radius-small);background:rgba(255,255,255,.045);border:1px solid var(--ui-line);text-align:center;}.tuner-metrics span{color:var(--ui-text-muted);font-size:.74rem;}.tuner-metrics strong{color:var(--ui-text);font-size:.94rem;}.tuner-reference{margin-top:14px;padding-top:14px;border-top:1px solid var(--ui-line);}.tuner-reference-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:10px;}.tuner-reference-head > div{display:grid;gap:2px;}.tuner-reference-head > span{color:var(--ui-text-muted);font-size:.8rem;}.tuner-string-grid button{background:rgba(255,255,255,.045);border:1px solid var(--ui-line);color:var(--ui-text);box-shadow:none;}.tuner-string-grid button:hover,
.tuner-string-grid button:focus-visible{background:rgba(255,255,255,.08);border-color:var(--ui-line-strong);}@media (max-width: 640px){.tuner-console{padding:14px;}.tuner-console-head{align-items:stretch;}.tuner-start{min-width:118px;}.tuner-gauge{width:100%;}.tuner-metrics{grid-template-columns:1fr;}.tuner-reference-head{display:grid;align-items:start;}}@media (max-width: 430px){.tuner-console-head{display:grid;grid-template-columns:1fr;}.tuner-start{width:100%;}.tuner-note strong{font-size:2.4rem;}.tuner-gauge-tick{font-size:.68rem;}}.settings-segmented button,
.settings-card .secondary-action{background:var(--ui-inner) !important;color:var(--ui-text) !important;border:1px solid var(--ui-line) !important;box-shadow:none !important;}.settings-segmented button.selected{background:var(--ui-card-active) !important;color:var(--ui-text) !important;border-color:var(--ui-line-strong) !important;box-shadow:inset 3px 0 0 var(--ui-accent) !important;}.settings-row{border-top-color:var(--ui-line) !important;}.settings-row small,
.settings-help{color:var(--ui-text-muted) !important;}@media (max-width: 620px){.settings-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center !important;}.settings-row > span{min-width:0;}.settings-row select{min-width:130px;}}.tuner-gauge-inner{transition:background .18s ease, border-color .18s ease, box-shadow .18s ease;}.tuner-gauge-wrap.gauge-good .tuner-gauge-inner{background:radial-gradient(circle at 50% 18%, rgba(121, 237, 149, .24), transparent 48%),
        linear-gradient(180deg, #2f6542 0%, #294e38 62%, #263d32 100%);border-color:rgba(116, 224, 143, .28);box-shadow:inset 0 0 36px rgba(104, 226, 136, .10),
        0 0 22px rgba(70, 184, 101, .12);}.chord-diagram-shared .chord-finger-dot,
.chord-finger-dot{fill:#5f8794;stroke:#355763;stroke-width:1.8;}.chord-diagram-shared .chord-finger-number,
.chord-finger-number{color:#ffffff;font-weight:900;text-shadow:0 1px 1px rgba(0,0,0,.28);}.chord-recognition-diagram{background:transparent;border:1px solid var(--ui-line);box-shadow:none;}.music-library-callout{margin-top:18px;display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;border-radius:18px;text-decoration:none;color:#eef7ff;background:#273247;border:1px solid rgba(133,220,255,.2);box-shadow:0 12px 28px rgba(17,25,39,.16);}.music-library-callout:hover{color:#fff;border-color:rgba(133,220,255,.38);background:#2c3950;}.music-library-callout-icon{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#1b2638;font-size:1.4rem;}.music-library-callout>span:nth-child(2){min-width:0;display:grid;gap:2px;flex:1;}.music-library-callout small{color:#89d8ef;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-style:normal;}.music-library-callout strong{color:#fff;font-size:1rem;}.music-library-callout em{color:#bdc9d6;font-size:.76rem;font-style:normal;line-height:1.35;}.music-library-callout>b{color:#8fdff4;font-size:1.8rem;font-weight:400;}.song-filter-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}.favorites-filter{min-height:36px;padding:6px 10px;border:1px solid var(--ui-line);border-radius:999px;font-size:.76rem;font-weight:800;}.song-favorite{min-width:36px;min-height:36px;display:grid;place-items:center;padding:0;border:1px solid var(--ui-line);border-radius:50%;font-size:1.05rem;line-height:1;cursor:pointer;}.compact-song-row summary .song-favorite{flex:0 0 auto;margin-left:auto;}.backing-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}.backing-heading>div{display:grid;gap:2px;}.backing-heading>div>strong{font-size:1.05rem;}.backing-loop-badge{padding:6px 9px;border-radius:999px;background:rgba(70,117,93,.28);border:1px solid rgba(116,178,139,.46);color:#ccebd6;font-size:.72rem;font-weight:900;}.backing-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;}.backing-category-button{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:13px;border:1px solid var(--ui-line);background:var(--ui-inner);color:#33453a;text-align:left;}.backing-category-button strong{font-size:.82rem;}.backing-category-button span{min-width:25px;height:25px;display:grid;place-items:center;border-radius:999px;background:rgba(255,255,255,.08);color:var(--ui-text-soft);font-size:.7rem;font-weight:900;}.backing-category-button.selected{background:#2f4858;border-color:#496b7d;color:#fff;}.backing-category-button.selected span{background:rgba(255,255,255,.14);}.backing-track-list{display:grid;gap:7px;margin-top:12px;}.backing-track-button{width:100%;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--ui-line);border-radius:13px;background:var(--ui-inner);color:#26372d;text-align:left;}.backing-track-button:hover{background:rgba(255,255,255,.09);}.backing-track-button.selected{background:rgba(70,117,93,.28);border-color:rgba(116,178,139,.58);box-shadow:inset 3px 0 0 #78b58d;}.backing-track-main{min-width:0;display:grid;gap:3px;}.backing-track-main strong{font-size:.88rem;}.backing-track-main small{color:#718078;font-size:.72rem;}.backing-track-state{flex:0 0 auto;color:#4a7357;font-size:.72rem;}.backing-clear{margin-top:12px;}@media (max-width:620px){.backing-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.backing-track-button{align-items:flex-start;}}button strong,
button b,
button em,
button small,
.button-link strong,
.button-link b,
.button-link em,
.button-link small{color:inherit;}.backing-track-panel .backing-category-button,
.backing-track-panel .backing-track-button{background:rgba(255,255,255,.055) !important;color:var(--ui-text) !important;border-color:rgba(255,255,255,.085) !important;box-shadow:none !important;}.backing-track-panel .backing-category-button strong,
.backing-track-panel .backing-track-button strong{color:var(--ui-text) !important;}.backing-track-panel .backing-category-button span,
.backing-track-panel .backing-track-button small{color:var(--ui-text-soft) !important;}.backing-track-panel .backing-category-button > span{background:rgba(255,255,255,.085) !important;color:var(--ui-text-soft) !important;}.backing-track-panel .backing-category-button:hover,
.backing-track-panel .backing-track-button:hover{background:rgba(255,255,255,.09) !important;}.backing-track-panel .backing-category-button.selected{background:rgba(95,135,148,.28) !important;color:#fff !important;border-color:rgba(113,173,188,.62) !important;box-shadow:inset 0 0 0 1px rgba(113,173,188,.22) !important;}.backing-track-panel .backing-category-button.selected strong,
.backing-track-panel .backing-category-button.selected span{color:#fff !important;}.backing-track-panel .backing-track-button.selected{background:rgba(70,117,93,.28) !important;color:#fff !important;border-color:rgba(116,178,139,.58) !important;box-shadow:inset 3px 0 0 #78b58d !important;}.backing-track-panel .backing-track-button.selected strong{color:#fff !important;}.backing-track-panel .backing-track-button.selected small{color:#dce9e1 !important;}.backing-track-panel .backing-track-state,
.backing-track-panel .backing-track-state b{color:#b9e1c7 !important;}.favorites-filter,
.song-favorite{color:var(--ui-text-soft);background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.10);}.favorites-filter.active,
.song-favorite.active{color:#ffd7e2;background:rgba(197,76,107,.22);border-color:rgba(220,130,153,.48);}.midi-play,
.approve-button{color:var(--ui-text) !important;background:rgba(255,255,255,.07) !important;border-color:rgba(255,255,255,.12) !important;}.approve-button.approved{color:#e5f7eb !important;background:rgba(74,132,91,.32) !important;border-color:rgba(121,201,143,.48) !important;}.song-actions .primary-action,
.song-actions .secondary-action,
.song-actions .button-link,
.compact-actions .primary-action,
.compact-actions .secondary-action,
.compact-actions .button-link{font-weight:800;}.song-actions .primary-action *,
.song-actions .secondary-action *,
.song-actions .button-link *,
.compact-actions .primary-action *,
.compact-actions .secondary-action *,
.compact-actions .button-link *{color:inherit !important;}.song-current-chord-diagram{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.42fr);align-items:stretch;gap:14px;margin:14px 0 18px;padding:14px;border:1px solid var(--ui-line);border-radius:18px;background:var(--ui-inner);color:var(--ui-text);}.song-current-chord-diagram>div{display:grid;gap:4px;align-content:start;}.song-current-chord-diagram>div>strong{color:var(--ui-text);font-size:1.5rem;}.song-current-chord-diagram .chord-diagram-shared{max-width:280px;justify-self:center;}.song-chord-diagram-next{padding-left:12px;border-left:1px solid var(--ui-line);}.song-chord-diagram-next>strong{font-size:1.05rem !important;}.song-chord-diagram-next .chord-diagram-shared{max-width:150px;}@media (max-width:620px){.song-current-chord-diagram{grid-template-columns:minmax(0,1fr) 120px;}.song-current-chord-diagram>div{text-align:center;}.song-chord-diagram-next{padding-left:8px;}.song-chord-diagram-next .chord-diagram-shared{max-width:115px;}}.primary-action,
.secondary-action,
.stop-action{border-radius:14px;padding:12px 18px;cursor:pointer;font-weight:800;}.stop-action{min-width:84px;}.primary-action,
.learning-next-action,
.song-actions .primary-action{background:linear-gradient(145deg, #6b96a1, var(--ui-accent)) !important;color:#fff !important;border:1px solid rgba(255,255,255,.05) !important;box-shadow:0 5px 13px rgba(45,75,84,.16) !important;}.primary-action:hover,
.learning-next-action:hover{background:linear-gradient(145deg, #73a0ab, #567d88) !important;}.secondary-action,
.stop-action,
.learning-complete-button,
.tap-button,
.button-link{background:rgba(255,255,255,.06) !important;color:var(--ui-text) !important;border:1px solid rgba(255,255,255,.09) !important;box-shadow:none !important;}.secondary-action:hover,
.stop-action:hover,
.learning-complete-button:hover,
.tap-button:hover,
.button-link:hover{background:rgba(255,255,255,.095) !important;}button:disabled{opacity:.48;}:where(
    .exercise-card,
.training-extra-card,
.settings-card,
.admin-card,
.admin-account-row,
.learning-stats-panel,
.learn-stage,
.tuner-console,
.metronome-panel,
.pattern-panel,
.pulse-stage,
.rhythm-control-card,
.strum-stage,
.song-chord-stage,
.timing-feedback-panel,
.rhythm-result-card,
.hold-rhythm-score-card,
.scale-current-card,
.scale-practice-controls,
.song-library-tools
){background:linear-gradient(145deg, var(--ui-card), var(--ui-card-2)) !important;border:1px solid var(--ui-line) !important;border-radius:var(--ui-radius) !important;color:var(--ui-text) !important;box-shadow:var(--ui-shadow) !important;}:where(
    .exercise-card,
.training-extra-card,
.settings-card,
.admin-card,
.admin-account-row,
.learning-stats-panel,
.learn-stage,
.tuner-console,
.metronome-panel,
.pattern-panel,
.pulse-stage,
.rhythm-control-card,
.strum-stage,
.song-chord-stage,
.timing-feedback-panel,
.rhythm-result-card,
.hold-rhythm-score-card,
.scale-current-card,
.scale-practice-controls,
.song-library-tools
) :where(strong,
h2,
h3){color:var(--ui-text) !important;}:where(
    .exercise-card,
.training-extra-card,
.settings-card,
.admin-card,
.admin-account-row,
.learning-stats-panel,
.learn-stage,
.tuner-console,
.metronome-panel,
.pattern-panel,
.pulse-stage,
.rhythm-control-card,
.strum-stage,
.song-chord-stage,
.timing-feedback-panel,
.rhythm-result-card,
.hold-rhythm-score-card,
.scale-current-card,
.scale-practice-controls,
.song-library-tools
) :where(p,
span,
small,
em,
label){color:var(--ui-text-soft);}:where(.settings-card,
.admin-card,
.rhythm-control-card,
.scale-practice-controls) select{min-height:44px;padding:8px 34px 8px 12px;background:var(--ui-inner) !important;color:var(--ui-text) !important;border:1px solid var(--ui-line-strong) !important;border-radius:10px;font-weight:700;}.text-action{border:0;background:none;padding:0;text-decoration:underline;cursor:pointer}.song-tab-card{display:grid;gap:10px;padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:#222c3b;color:#f5fbff;overflow:hidden;}.song-tab-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;}.song-tab-head>div{display:grid;gap:2px;}.song-tab-head span,.song-tab-head small{color:#aebdca;font-size:.74rem;}.song-tab-head strong{font-size:1rem;}.song-tab-viewport{position:relative;overflow:hidden;padding:4px 0 6px;}.song-tab-track{display:grid;gap:5px;transform:translate3d(0,0,0);will-change:transform;backface-visibility:hidden;}.tab-row{display:grid;grid-template-columns:34px 1fr;align-items:center;min-height:28px;}.tab-string-name{font-weight:800;color:#b9c6d1;text-align:center;}.tab-line{position:relative;height:28px;border-top:2px solid rgba(245,251,255,.46);}.tab-note{position:absolute;top:-13px;min-width:24px;height:24px;padding:0 4px;border-radius:7px;display:grid;place-items:center;background:#222c3b;color:#f5fbff;font-weight:850;font-size:.82rem;transform:translateX(-50%);}.tab-note.active{background:#2fc4df;color:#07171b;box-shadow:0 0 0 2px #b7f5ff;}.tab-playhead{position:absolute;left:46px;top:0;bottom:0;width:2px;background:rgba(47,196,223,.85);pointer-events:none;}@media (max-width:620px){.song-tab-card{padding:10px;}.song-tab-head{align-items:flex-start;flex-direction:column;gap:3px;}}.song-player .approved-song-chord-readout,
.approved-practice-shell .approved-song-chord-readout{display:grid;grid-template-columns:1fr 1fr;gap:10px;}.song-player .approved-song-chord-readout{margin:8px 0 4px;}.song-player .approved-song-chord-readout>div,
.approved-practice-shell .approved-song-chord-readout>div{padding:10px 14px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.045);}.song-player .approved-song-chord-readout strong,
.approved-practice-shell .approved-song-chord-readout strong{display:block;font-size:1.35rem;margin-top:2px;}.approved-practice-shell{display:grid;gap:16px;}.approved-practice-controls{padding:16px;border:1px solid #d8e0db;border-radius:18px;background:#fff;}.approved-practice-controls label{display:grid;gap:6px;max-width:420px;}.practice-target-card{padding:18px;border:1px solid #d7e0da;border-radius:18px;background:#fff;}.practice-target-head{display:flex;justify-content:space-between;gap:14px;align-items:center;}.practice-target-head>div{display:grid;gap:4px;}.practice-target-head strong{font-size:2rem;}.practice-progress{height:8px;margin:16px 0;border-radius:999px;background:#e7ece9;overflow:hidden;}.practice-progress span{display:block;height:100%;background:#5a8c68;}.practice-note-strip{display:flex;gap:7px;flex-wrap:wrap;}.practice-note-strip span{padding:7px 9px;border-radius:10px;background:#f0f4f1;color:#607066;}.practice-note-strip span.active{background:#315841;color:#fff;}.content-library{max-width:1200px;margin:0 auto;padding:22px 18px 48px}.library-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:22px;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:rgba(12,18,26,.82);box-shadow:0 18px 50px rgba(0,0,0,.16)}.library-hero h1{margin:4px 0 6px;font-size:clamp(2rem,5vw,3.2rem);color:#f7fbff}.library-hero p{margin:0;max-width:720px;color:#d7e2ec}.content-library .eyebrow{font-size:.72rem;letter-spacing:.16em;color:#8fddff;font-weight:800}.total-badge{min-width:84px;height:84px;border-radius:18px;display:grid;place-items:center;font-size:1.25rem;font-weight:900;background:rgba(87,163,255,.16);border:1px solid rgba(87,163,255,.38);color:#f7fbff}.library-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0}.stat-card{appearance:none;border:1px solid #4a586c;background:#222c3b;border-radius:16px;padding:14px;text-align:left;color:#f7fbff;cursor:pointer}.stat-card:hover,.stat-card.active{border-color:rgba(93,181,255,.45);background:rgba(60,118,175,.16)}.stat-card strong{display:block;font-size:1.5rem;color:#ffffff}.stat-card span{font-size:.82rem;color:#d4dfeb}.library-toolbar{display:grid;grid-template-columns:1fr minmax(210px,300px);gap:10px;margin:14px 0}.library-search,.library-select{width:100%;border:1px solid #43536a;background:#111923;color:#edf5ff;border-radius:14px;padding:12px 14px}.library-search::placeholder{color:#aebdca;opacity:1}.library-note{margin:12px 0 16px;padding:11px 14px;border-radius:14px;background:#20352b;border:1px solid #4f7d61;color:#e6f7eb}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.library-card{min-width:0;padding:16px;border-radius:18px;background:#222c3b;border:1px solid #3a4658;box-shadow:0 12px 30px rgba(0,0,0,.18);color:#f7fbff}.library-card h3{margin:10px 0 8px;font-size:1.08rem;color:#fff;line-height:1.25}.card-top,.meta-row,.card-footer{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.category-pill,.meta-pill{font-size:.72rem;padding:5px 8px;border-radius:999px;background:#314158;color:#d8efff;border:1px solid #48627f}.meta-row{font-size:.82rem;color:#cbd7e4}.meta-row span:not(:last-child)::after{content:" ·";opacity:.65}.description{font-size:.86rem;color:#d7e0ea;line-height:1.48;margin:10px 0}.card-footer{justify-content:space-between;margin-top:14px;padding-top:11px;border-top:1px solid rgba(255,255,255,.12)}.rights-ok{font-size:.74rem;color:#9fe0b7}.library-audio-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.midi-play,.approve-button{border:1px solid #52708e;background:#172233;color:#eef8ff;border-radius:9px;padding:7px 10px;font-size:.76rem;font-weight:800}.preview-link{text-decoration:none;display:inline-flex;align-items:center;min-height:32px}.preview-link.train{border-color:#6c5f8f;background:#29233a;color:#f1eaff}.midi-play.active{background:#334b61;color:#fff;border-color:#7bd8f4}.approve-button{border-color:#56745f;background:#1c2a22;color:#dff7e6}.approve-button.approved{background:#2f5a3d;border-color:#79c98f;color:#fff}.approved-public{font-size:.74rem;color:#9fe0b7;font-weight:800}.admin-library-state{color:#d5f5df}.library-user-preview{display:grid;gap:7px;width:100%;margin-top:12px;padding-top:12px;border-top:1px dashed #46556a}.library-test-label{font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#b8c7d8}.library-preview-actions{display:flex;gap:7px;flex-wrap:wrap}.library-preview-note{display:inline-flex;align-items:center;min-height:32px;padding:7px 10px;border-radius:9px;background:#332c20;border:1px solid #76613f;color:#f5ddb0;font-size:.76rem;font-weight:800}@media (max-width:900px){.library-stats{grid-template-columns:repeat(2,1fr)}.library-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.library-hero{align-items:flex-start}.total-badge{min-width:68px;height:68px}.library-toolbar{grid-template-columns:1fr}.library-grid{grid-template-columns:1fr}}.admin-page{max-width:760px;margin:0 auto;padding:18px 0 40px}.admin-card{display:grid;gap:16px;padding:22px}.admin-card h1{font-size:clamp(2rem,7vw,3rem)}.admin-card h2{margin:4px 0 0;font-size:1.2rem}.admin-message{padding:10px 12px;border-radius:12px;border:1px solid var(--ui-line)}.admin-message.ok{background:rgba(74,145,94,.18);color:#dff7e6}.admin-message.error{background:rgba(166,75,68,.20);color:#ffd8d2}.admin-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.admin-actions :where(.primary-action,.secondary-action,.button-link){display:inline-flex;align-items:center;justify-content:center;min-height:44px;text-decoration:none}.admin-signed-in{display:grid;gap:12px}.admin-account-panel{margin-top:18px;padding-top:18px;border-top:1px solid var(--ui-line)}.admin-smtp-panel form{display:grid;gap:12px;margin:12px 0}.admin-smtp-panel label{display:grid;gap:6px}.admin-smtp-panel input{width:100%;box-sizing:border-box;min-height:44px;padding:10px;border-radius:8px;background:#242b36;color:#fff;border:1px solid var(--ui-line)}.admin-account-list{display:grid;gap:8px;margin-top:10px}.admin-account-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border-radius:12px}.admin-account-row div{display:grid;gap:2px}.admin-account-row select{min-width:110px;padding:9px;border-radius:9px}.admin-account-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:10px}.admin-account-tools label{display:grid;gap:6px}.admin-account-tools input,.admin-account-tools select{width:100%;box-sizing:border-box;min-height:44px;padding:9px;border-radius:9px}.admin-login-log{margin-top:4px}.admin-login-log summary{cursor:pointer}.admin-login-log ul{margin:6px 0 0;padding-left:18px;display:grid;gap:2px}@media (max-width:620px){.admin-card{padding:16px}.admin-account-row{align-items:stretch;flex-direction:column}.admin-account-row select{width:100%}}.app-loading-shell{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;overflow:hidden;background:#07121d;color:#fff;}.app-loading-logo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}.app-loading-shell::after{content:"";position:absolute;inset:auto 0 0;height:24%;background:linear-gradient(transparent,rgba(7,18,29,.92));pointer-events:none;}.app-loading-indicator,
.app-loading-shell>strong{position:relative;z-index:2;align-self:end;}.app-loading-indicator{width:min(220px,58vw);height:5px;margin-bottom:54px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.18);}.app-loading-indicator span{display:block;width:42%;height:100%;border-radius:inherit;background:#7de7ff;animation:app-loading-slide 1.1s ease-in-out infinite alternate;}.app-loading-shell>strong{position:absolute;bottom:22px;font-size:.88rem;}@keyframes app-loading-slide{from{transform:translateX(-15%)}to{transform:translateX(155%)}}.result-screen{padding:20px !important;border:1px solid #46556a !important;border-radius:20px !important;background:#263248 !important;color:#f7fbff !important;box-shadow:0 14px 34px rgba(10,17,27,.22) !important;}.result-screen h1,
.result-screen p,
.result-screen .eyebrow,
.result-screen strong{color:#f7fbff !important;}.result-screen .result-metrics>div{background:#1c2635 !important;border-color:#46556a !important;color:#f7fbff !important;}.result-screen .result-metrics span{color:#cbd7e4 !important;}.result-screen .primary-action,
.result-screen .secondary-action,
.result-screen .button-link{min-height:46px !important;background:#172233 !important;color:#f7fbff !important;border:1px solid #52708e !important;box-shadow:none !important;}.result-screen .primary-action{background:linear-gradient(145deg,#6b96a1,#527985) !important;border-color:#7198a3 !important;}.result-screen .primary-action:hover,
.result-screen .secondary-action:hover,
.result-screen .button-link:hover{background:#2b3a4d !important;color:#fff !important;}.sound-button,
.learn-stage .sound-button,
.string-quiz-prompt .sound-button{display:grid !important;place-items:center !important;min-width:44px !important;width:44px !important;height:44px !important;border:1px solid #64809e !important;border-radius:12px !important;background:#172233 !important;color:#f7fbff !important;font-size:1.35rem !important;font-weight:900 !important;box-shadow:0 6px 14px rgba(8,15,24,.18) !important;opacity:1 !important;}.sound-button:hover,
.sound-button:focus-visible{background:#263a50 !important;border-color:#7eb6d0 !important;color:#fff !important;}.string-note-mode-grid .mode-card{background:#222c3b !important;color:#f7fbff !important;border-color:#46556a !important;}.string-note-mode-grid .mode-card strong{color:#fff !important}.string-note-mode-grid .mode-card span{color:#cbd7e4 !important}.progression-presets{background:#222c3b !important;border-color:#46556a !important;color:#f7fbff !important;}.progression-presets summary,
.progression-presets summary::after{color:#e7edf5 !important;}.progression-presets-body>button{background:#172233 !important;color:#f7fbff !important;border:1px solid #46556a !important;border-radius:12px !important;}.progression-presets-body>button strong{color:#fff !important}.progression-presets-body>button span{color:#cbd7e4 !important}.progression-presets-body>button.selected{background:#294238 !important;border-color:#679379 !important;}.count-in-countdown{position:fixed;left:50%;top:42%;z-index:9000;transform:translate(-50%,-50%);width:min(210px,58vw);aspect-ratio:1;display:grid;place-items:center;align-content:center;gap:2px;border:2px solid rgba(125,231,255,.78);border-radius:50%;background:rgba(11,20,31,.94);color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.42),0 0 0 8px rgba(125,231,255,.08);pointer-events:none;backdrop-filter:blur(9px);}.count-in-countdown span,
.count-in-countdown small{font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#cfe9f1;}.count-in-countdown strong{font-size:clamp(4.6rem,20vw,7rem);line-height:.92;color:#fff;font-variant-numeric:tabular-nums;}.learn-song~.result-actions,
.session-shell>.result-actions{align-items:stretch;}.session-shell>.result-actions .secondary-action,
.learn-stage .secondary-action{background:#172233 !important;color:#f7fbff !important;border-color:#52708e !important;}.interactive-training-fretboard{position:relative;width:100%;}.interactive-training-fretboard > .training-fretboard{display:block;pointer-events:none;}.training-fretboard-html-hits{position:absolute;inset:0;z-index:5;pointer-events:none;}.training-fretboard-html-hit{position:absolute;display:block;margin:0;padding:0;border:0;border-radius:6px;background:transparent;box-shadow:none;min-width:0;min-height:0;appearance:none;-webkit-appearance:none;pointer-events:auto;touch-action:manipulation;}.training-fretboard-html-hit:focus-visible{outline:2px solid rgba(125,231,255,.75);outline-offset:-2px;}.training-fretboard-html-hit:active{background:rgba(125,231,255,.14);}.tuner-detected-string{position:absolute;right:16%;bottom:15%;transform:none;z-index:4;display:grid;justify-items:center;gap:1px;min-width:86px;padding:5px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(7,18,29,.68);color:#d8e4ef;pointer-events:none;}.tuner-detected-string span{font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#aebdca}.tuner-detected-string strong{font-size:.88rem;color:#f7fbff}.tuner-detected-string.idle{opacity:.58}.tuner-detected-string.active{border-color:rgba(125,231,255,.38);box-shadow:0 0 18px rgba(125,231,255,.08)}.score-chord-duration{fill:rgba(125,231,255,.34);pointer-events:none;}.admin-account-access{display:grid;gap:8px;min-width:0}.admin-account-access .admin-actions{gap:6px}.admin-account-access .secondary-action{min-height:36px;padding:7px 10px;font-size:.85rem}.guest-upsell{display:grid;gap:10px;margin:14px 0 20px;padding:20px;border:1px solid #527963;border-radius:18px;background:linear-gradient(125deg,#234039,#29394b);color:#f3fbf7}.guest-upsell strong{font-size:1.15rem}.guest-upsell p{margin:0;color:#e1eee6}.guest-upsell .primary-action{justify-self:start;text-decoration:none}html.left-handed .reference-fretboard,
html.left-handed .scale-practice-fretboard,
html.left-handed .interactive-training-fretboard{transform:scaleX(-1);transform-origin:50% 50%;}html.left-handed .reference-fretboard foreignObject > div,
html.left-handed .scale-practice-fretboard foreignObject > div,
html.left-handed .interactive-training-fretboard foreignObject > div{transform:scaleX(-1);}.auth-card{max-width:620px;margin:0 auto;display:grid;gap:14px;color:var(--ui-text)}.auth-card label{display:grid;gap:6px;font-weight:750}.auth-card input{width:100%;min-height:44px;border-radius:10px;border:1px solid var(--ui-line-strong);background:var(--ui-inner);color:var(--ui-text);padding:10px 12px}.auth-links{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.auth-links a,.auth-card .text-action{color:#b9eafa}.auth-contact{display:grid;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid var(--ui-line)}.auth-contact textarea{width:100%;resize:vertical;min-height:110px;border:1px solid var(--ui-line);border-radius:12px;padding:12px;background:var(--ui-inner);color:var(--ui-text)}.auth-card > p,.auth-contact > p,.auth-card .auth-login-form > p{color:#d7e4ed !important}.auth-card .eyebrow{color:#a6cdd6 !important}.auth-card h1{font-size:clamp(1.9rem,6vw,3.25rem);overflow-wrap:anywhere;line-height:1.12}.auth-contact label,.auth-login-form label{color:#e6eef5}.auth-login-form{display:grid;gap:14px}.auth-card input[type=file]{color:#e6eef5;color-scheme:dark;min-width:0;max-width:100%;padding:8px}.auth-card input[type=file]::file-selector-button{border:1px solid #72859c;border-radius:6px;background:#dbe7f0;color:#1d2938;padding:6px 10px;margin-right:10px}.auth-card input:focus-visible,.auth-card textarea:focus-visible{outline:2px solid #92dce7;outline-offset:2px}