@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--font: "Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading: var(--font);font-family:var(--font);--bg: #0e1117;--body-bg: #0f1218;--panel: #171b24;--panel-soft: rgba(23, 27, 36, .78);--control: #1e2230;--control-2: #22283a;--ink: #e8eaf0;--ink-strong: #ffffff;--brand-wordmark: #f4f6fb;--brand-tld: #3fd4ee;--brand-mark-filter: brightness(1.4) saturate(1.1) drop-shadow(0 0 7px rgba(150, 165, 255, .45));--muted: #aeb8cc;--line: #2a2f3e;--brand: #c4b5fd;--brand-strong: #8b5cf6;--ok: #86efac;--paper: #fafafa;--top-bg: rgba(14, 19, 32, .98);--top-brand-bg: rgba(10, 14, 24, .32);--surface-shadow: rgba(0, 0, 0, .3);--button-text-on-accent: #06101a;--select-arrow: #9fb1cc;--active-soft: rgba(139, 92, 246, .16);--hover-soft: rgba(255, 255, 255, .04);--feedback-panel-bg: #0f1420;--feedback-expanded-bg: color-mix(in srgb, var(--panel) 94%, #020617 6%);--feedback-card-bg: rgba(15, 23, 42, .56);--feedback-score-card-bg: linear-gradient(135deg, rgba(124, 58, 237, .22), rgba(14, 116, 144, .18)), rgba(15, 23, 42, .66);--feedback-card-border: rgba(148, 163, 184, .18);--feedback-control-bg: rgba(148, 163, 184, .1);--feedback-control-border: rgba(148, 163, 184, .24);--feedback-select-bg: rgba(15, 23, 42, .62);--feedback-track-bg: rgba(148, 163, 184, .14);--feedback-chip-bg: rgba(148, 163, 184, .12);--feedback-muted: #aab8d5;--feedback-summary: #b9c5e7;--feedback-compact: #e7e5ff;--feedback-headline-bg: rgba(16, 185, 129, .12);--feedback-headline-color: #bbf7d0;--feedback-headline-strong-bg: rgba(250, 204, 21, .16);--feedback-headline-strong-color: #fef3c7;--feedback-achievement-bg: rgba(6, 78, 59, .22);--feedback-achievement-border: rgba(52, 211, 153, .22);--feedback-achievement-color: #a7f3d0;--feedback-achievement-strong-bg: rgba(113, 63, 18, .24);--feedback-achievement-strong-border: rgba(250, 204, 21, .3);--feedback-achievement-strong-color: #fde68a;--feedback-action-bg: rgba(14, 116, 144, .24);--feedback-action-border: rgba(103, 232, 249, .24);--feedback-action-color: #cffafe;--feedback-action-hover-bg: rgba(14, 116, 144, .34);--feedback-action-hover-border: rgba(103, 232, 249, .42);--feedback-next-bg: rgba(8, 47, 73, .28);--feedback-next-border: rgba(103, 232, 249, .18);--feedback-next-color: #bae6fd;--feedback-tooltip-bg: color-mix(in srgb, var(--panel) 96%, #020617 4%);--feedback-tooltip-shadow: rgba(0, 0, 0, .28);--feedback-sheet-shadow: 0 -18px 48px rgba(0, 0, 0, .42), 0 0 0 1px rgba(255, 255, 255, .03) inset;--feedback-toggle-shadow: 0 10px 22px rgba(0, 0, 0, .26);--feedback-star-color: #facc15;--feedback-star-empty: color-mix(in srgb, var(--muted) 48%, transparent);--feedback-tag-border: rgba(167, 139, 250, .2);--feedback-tag-color: #ddd6fe;--feedback-heatmap-bg: rgba(148, 163, 184, .1);--feedback-heatmap-border: rgba(148, 163, 184, .18);--feedback-heatmap-color: var(--muted);--feedback-heatmap-clean-bg: rgba(6, 95, 70, .28);--feedback-heatmap-clean-border: rgba(52, 211, 153, .28);--feedback-heatmap-clean-color: #bbf7d0;--feedback-heatmap-ok-bg: rgba(120, 53, 15, .22);--feedback-heatmap-ok-border: rgba(251, 191, 36, .28);--feedback-heatmap-ok-color: #fde68a;--feedback-heatmap-weak-bg: rgba(127, 29, 29, .24);--feedback-heatmap-weak-border: rgba(248, 113, 113, .28);--feedback-heatmap-weak-color: #fecaca;--feedback-bar-neutral: #94a3b8;--feedback-bar-good: linear-gradient(90deg, #10b981, #34d399);--feedback-good-solid: #10b981;--feedback-bar-warn: linear-gradient(90deg, #f59e0b, #facc15);--feedback-bar-weak: linear-gradient(90deg, #ef4444, #fb7185);--header-height: 54px;--topbar-pad-x: 14px;--radius-pill: 999px;--radius-xl: 14px;--radius-lg: 12px;--radius-md: 10px;--radius-sm: 8px;--shadow-tooltip-lift: 0 14px 34px var(--feedback-tooltip-shadow);--shadow-glass-pill: 0 18px 38px rgba(0, 0, 0, .32);--tone-positive-soft: #bbf7d0;--tone-negative-soft: #fecaca}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{overflow:hidden;background:var(--body-bg);color:var(--ink)}button,input,select{font:inherit}button{letter-spacing:0}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.54}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.hidden{display:none!important}.app{position:relative;height:100%;min-height:0;overflow:hidden;padding:var(--header-height) 0 0}.top{position:fixed;z-index:60;top:0;left:0;right:0;min-height:var(--header-height);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;gap:0;padding:0 var(--topbar-pad-x) 0 0;border-bottom:1px solid var(--line);background:var(--top-bg);box-shadow:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.top-brand,.top-right-actions{display:flex;align-items:center}.top-brand{gap:8px;min-width:172px;height:var(--header-height);padding:0 12px 0 8px;background:linear-gradient(to right,var(--top-brand-bg) 0%,var(--top-brand-bg) calc(100% - 18px),transparent 100%)}.top-logo{width:32px;height:32px;object-fit:contain;border-radius:var(--radius-sm)}.top-logo,.about-hero-logo{filter:var(--brand-mark-filter, none)}.top-brand-name{font-weight:900;font-size:1.08rem;letter-spacing:-.02em;color:var(--brand-wordmark);cursor:default;-webkit-user-select:none;user-select:none}.top-brand-tld{color:var(--brand-tld)}.top h1{margin:0;font-size:1.86rem;letter-spacing:-.02em}.top p{display:none;margin:4px 0 0;color:var(--muted);max-width:880px}.top-right-actions{justify-content:flex-end;gap:0;min-width:64px}.tabs{position:relative;z-index:1;min-width:0;width:100%;min-height:var(--header-height);display:flex;flex-direction:row;align-items:stretch;gap:0;padding:0;border:0;border-radius:0;background:transparent;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab-btn{--tab-icon-bg: var(--control);--tab-icon-color: var(--muted);position:relative;min-height:var(--header-height);min-width:98px;padding:0 13px;border:1px solid transparent;border-radius:0;background:transparent;color:var(--muted);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;cursor:pointer;white-space:nowrap}.tab-btn:hover{border-color:transparent;background:var(--hover-soft);color:color-mix(in srgb,var(--ink) 88%,var(--muted))}.tab-btn.active{border-color:transparent;border-bottom-color:var(--brand-strong);background:var(--active-soft);color:var(--ink-strong)}.tab-btn[data-section=about]{--tab-icon-bg: rgba(139, 92, 246, .22);--tab-icon-color: #c4b5fd}.tab-btn[data-section=midi]{--tab-icon-bg: rgba(56, 189, 248, .15);--tab-icon-color: #7dd3fc}.tab-btn[data-section=import]{--tab-icon-bg: rgba(245, 158, 11, .16);--tab-icon-color: #fbbf24}.tab-btn[data-section=practice]{--tab-icon-bg: rgba(139, 92, 246, .22);--tab-icon-color: #c4b5fd}#settingsButton{--tab-icon-bg: rgba(148, 163, 184, .15);--tab-icon-color: #cbd5e1}.drawer-tab-icon{width:22px;height:22px;border-radius:var(--radius-pill);display:grid;place-items:center;background:var(--tab-icon-bg);color:var(--tab-icon-color);font-size:.82rem;box-shadow:inset 0 0 0 1px #ffffff0b}.drawer-tab-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.drawer-tab-icon .icon-fill,.drawer-tab-icon .icon-dot{fill:currentColor;stroke:none}.tab-label{width:auto;overflow:hidden;text-overflow:ellipsis;font-size:.82rem;font-weight:800;line-height:1.12;text-align:left}.tab-midi-indicator{position:static;width:6px;height:6px;border:1px solid #12151e;border-radius:var(--radius-pill);color:transparent;background:#6e7486;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}#app[data-midi-status=ready] .tab-midi-indicator{border-color:#ecfdf5d1;background:#39ff14;box-shadow:0 0 0 3px #39ff1429,0 0 12px #39ff14d1}.language-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;direction:ltr}.language-select-native{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;opacity:0;pointer-events:none}.language-menu-btn{min-width:58px;min-height:42px;padding:0 10px;border:1px solid rgba(196,181,253,.22);border-radius:var(--radius-lg);background:#141b2da8;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;box-shadow:none}.language-menu-btn:hover,.language-menu-btn:focus-visible,.language-menu-btn.active{border-color:#c4b5fd8a;background:#402d769e;color:var(--ink-strong);outline:none}.language-current-code{color:var(--ink-strong);font-size:.88rem;font-weight:950;line-height:1}.language-globe-icon{width:15px;height:15px;color:color-mix(in srgb,var(--brand) 62%,var(--ink));display:inline-flex;align-items:center;justify-content:center}.language-globe-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.language-popover{position:absolute;z-index:130;top:calc(100% + 9px);right:0;width:min(284px,calc(100vw - 24px));max-height:min(56vh,390px);overflow:auto;display:grid;gap:5px;padding:8px;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--panel);box-shadow:0 22px 46px var(--surface-shadow)}html[dir=rtl] .language-popover{right:auto;left:0}.language-popover::-webkit-scrollbar{width:10px}.language-popover::-webkit-scrollbar-thumb{border:3px solid var(--panel);border-radius:var(--radius-pill);background:var(--muted)}.language-option-btn{width:100%;min-height:38px;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--ink);display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:8px;text-align:left;cursor:pointer}.language-option-btn:hover,.language-option-btn:focus-visible{border-color:#7dd3fc3d;background:color-mix(in srgb,var(--control-2) 86%,var(--panel) 14%);outline:none}.language-option-btn.active{border-color:color-mix(in srgb,var(--brand) 58%,var(--line));background:color-mix(in srgb,var(--brand) 18%,var(--control))}.language-option-code{color:color-mix(in srgb,var(--brand) 62%,var(--ink));font-size:.72rem;font-weight:950;letter-spacing:.04em;line-height:1}.language-option-name{min-width:0;overflow:hidden;color:var(--ink-strong);font-size:.84rem;font-weight:850;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.tab-panel{display:none;height:100%;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.tab-panel.active{display:block}.panel{border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:0 18px 34px var(--surface-shadow)}#tab-about.active,#tab-midi.active,#tab-import.active{padding:20px 22px 48px}#tab-midi .panel,#tab-import .panel{max-width:1100px;margin:0 auto;padding:28px}#tab-about .panel{max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.about-hero{--about-hero-height: clamp(300px, 20vw, 340px);position:relative;display:grid;grid-template-columns:minmax(0,.96fr) minmax(360px,1.04fr);gap:0;min-height:var(--about-hero-height);border:1px solid var(--line);border-radius:18px;background:var(--panel);overflow:hidden;align-items:stretch}.about-hero-copy{padding:clamp(30px,2.4vw,36px)}.about-hero h2,.panel h2{margin:0 0 12px;font-size:clamp(1.72rem,3vw,2.35rem);line-height:1.12;font-weight:800;letter-spacing:0;color:var(--ink-strong)}.about-hero p,.panel p{color:var(--muted);line-height:1.6}.about-lead{max-width:560px;font-size:.98rem}.about-quick-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.about-quick-link{min-height:34px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--control);color:var(--ink);padding:0 15px;font-weight:800;font-size:.84rem;cursor:pointer}.about-quick-link:hover{border-color:#c4b5fd80;background:#c4b5fd24;color:color-mix(in srgb,var(--brand) 76%,var(--ink))}.about-hero-cta-primary{border-color:var(--brand-strong);background:linear-gradient(135deg,#7c3aed,#a855f7);color:var(--ink-strong);padding-inline:17px}.about-hero-visual{position:relative;min-height:var(--about-hero-height);border-left:1px solid var(--hero-divider, var(--line));background:var(--control) url(/img/hero-real-piano.jpg) center right / cover no-repeat}.about-hero-visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,color-mix(in srgb,var(--panel) 90%,transparent),color-mix(in srgb,var(--panel) 44%,transparent) 32%,color-mix(in srgb,var(--panel) 8%,transparent) 72%)}.about-hero-logo{display:none}.about-verovio-credit{position:absolute;right:12px;bottom:10px;z-index:2;min-height:26px;padding:6px 10px;border:1px solid rgba(203,213,225,.18);border-radius:var(--radius-pill);background:#0f142073;color:#e2e8f099;font-size:.66rem;font-weight:650;line-height:1;text-decoration:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.about-verovio-credit:hover,.about-verovio-credit:focus-visible{border-color:#c4b5fd75;background:#1e2230d1;color:#fff;outline:none}.about-feature-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:32px 0 0;padding:0;list-style:none}.about-feature-list li{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;row-gap:7px;column-gap:12px;padding:16px;min-height:126px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--control)}.about-feature-icon{width:36px;height:36px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;background:var(--panel);border:1px solid var(--line)}.about-feature-copy{display:contents}.about-feature-copy strong{grid-column:2;align-self:center;margin-bottom:0;color:var(--ink-strong);font-size:.92rem;line-height:1.25}.about-feature-copy p{grid-column:1 / -1;margin:0;color:var(--muted);font-size:.87rem;line-height:1.42}.about-contact-card{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;margin-top:18px;padding:12px 14px;border:1px solid rgba(125,211,252,.28);border-radius:var(--radius-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 10%,transparent),color-mix(in srgb,var(--ok) 8%,transparent)),var(--control)}.about-contact-icon{width:34px;height:34px;border-radius:var(--radius-md);display:grid;place-items:center;color:color-mix(in srgb,var(--brand) 72%,var(--ink));background:#c4b5fd1f;border:1px solid rgba(196,181,253,.28)}.about-contact-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}.about-contact-copy h3{margin:0 0 2px;color:var(--ink-strong);font-size:.78rem}.about-contact-copy p{margin:0;color:var(--muted);font-size:.74rem;line-height:1.32}.about-contact-email{color:color-mix(in srgb,var(--brand) 52%,var(--ok));font-weight:800;text-decoration:none}#tab-about.active{display:flex;flex-direction:column}.about-copyright{margin:auto 0 0;padding:4px 2px 10px;text-align:right;font-size:12px;color:var(--muted);opacity:.7}.midi-steps{display:grid;gap:12px}.midi-step,.load-compat-details,.load-result-step{padding:16px;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--control)}.midi-step-title{margin:0 0 12px;color:var(--ink);font-size:.9rem;font-weight:900}.midi-step-actions,.midi-step-row,.midi-output-lights-controls{display:flex;align-items:center;gap:12px}.midi-step-actions{align-items:stretch}#midiEnableBtn{min-width:190px;min-height:46px;border-color:#6de0be73;background:linear-gradient(135deg,#6de0be,#83f3ff);color:#06101a;font-weight:950;box-shadow:0 14px 30px #6de0be2e}[data-midi-status=ready] #midiEnableBtn{background:#6de0be29;color:#aaf8e6}.midi-step-row select,.midi-output-field select{width:100%}.midi-refresh-btn{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;white-space:nowrap;font-weight:650;font-size:.9rem;padding:0 14px}.midi-refresh-icon{display:inline-flex}.midi-refresh-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.midi-step .status,.load-result-step .status{margin:0;color:var(--muted);font-size:.88rem}.midi-step-lead{display:flex;align-items:stretch;gap:22px;flex-wrap:wrap}.midi-step-lead-main{flex:0 1 auto;min-width:200px}.midi-support-link{position:relative;flex:1 1 320px;min-width:0;margin:0;padding:0 0 0 22px}.midi-support-link:before{content:"";position:absolute;inset-inline-start:0;top:2px;bottom:2px;width:2px;border-radius:2px;background:linear-gradient(to bottom,color-mix(in srgb,var(--brand) 45%,var(--line)),transparent)}.midi-support-link p{margin:0 0 10px}@media (max-width: 720px){.midi-support-link{padding:12px 0 0}.midi-support-link:before{display:none}}.midi-support-link a{color:color-mix(in srgb,var(--brand) 54%,var(--ink));font-weight:850}.midi-support-link-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.midi-support-badge{display:inline-flex;line-height:0}.midi-support-badge img{display:block;height:40px;width:auto}.midi-output-subsection{margin-top:14px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.midi-output-subsection-title{margin:0 0 10px;color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.midi-output-subsection-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.midi-output-subsection-header .midi-output-subsection-title{margin-bottom:10px}.midi-lights-toggle{display:inline-flex;align-items:center;gap:7px;margin-bottom:10px;color:var(--ink);font-size:.82rem;font-weight:800;cursor:pointer;-webkit-user-select:none;user-select:none}.midi-lights-toggle input{width:18px;height:18px;accent-color:var(--brand);cursor:pointer}.midi-lights-toggle input:disabled{cursor:default}.midi-output-field{flex:1;min-width:0;display:grid;gap:6px;color:var(--ink);font-size:.82rem;font-weight:800}.midi-volume-row,.midi-output-channel-inline{display:flex;align-items:center;gap:10px}.midi-volume-row{display:grid;grid-template-columns:auto minmax(160px,1fr) auto;align-items:center;gap:12px;margin-top:12px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);background:#070a143d;color:var(--ink);font-size:.82rem;font-weight:800}.midi-output-channel-inline{display:grid;grid-template-columns:minmax(64px,90px) auto 38px}.midi-output-scan-btn{min-height:38px;white-space:nowrap}.midi-output-help-btn{width:38px;height:38px;padding:0;border-radius:var(--radius-pill)}.midi-lights-profile-hint{margin:10px 0 0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:grid;place-items:center;padding:18px;background:color-mix(in srgb,var(--bg) 58%,rgba(0,0,0,.62))}.modal-card{width:min(480px,100%);position:relative;padding:22px;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--panel);color:var(--ink);box-shadow:0 24px 70px color-mix(in srgb,var(--surface-shadow) 82%,transparent)}.modal-card h3{margin:0 0 12px;color:var(--ink-strong)}.modal-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 44px 12px 0}.modal-title-row h3{margin:0}.experimental-tag{display:inline-flex;align-items:center;min-height:22px;padding:0 9px;border:1px solid color-mix(in srgb,var(--brand) 42%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand);font-size:.66rem;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:0}.modal-card p{margin:0 0 10px;color:var(--muted);line-height:1.5}.modal-card a{color:var(--brand);font-weight:800}.modal-card a:hover,.modal-card a:focus-visible{color:var(--brand-strong)}.modal-close-btn{position:absolute;top:12px;right:12px}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px}.modal-actions .btn{min-width:0}.import-part-selection-options{justify-content:stretch}.import-part-option-btn{flex:1 1 140px}.load-micro-steps{grid-template-columns:minmax(0,1fr);align-items:stretch}.load-processing-state{min-height:240px;padding:28px;border:1px solid var(--line);border-radius:var(--radius-xl);background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 8%,transparent),color-mix(in srgb,var(--ok) 6%,transparent)),var(--control);color:var(--ink-strong);display:none;align-items:center;justify-content:center;gap:16px;text-align:left}.load-spinner{width:38px;height:38px;flex:0 0 auto;border:4px solid rgba(196,181,253,.24);border-top-color:#7c3aed;border-right-color:#22d3ee;border-radius:var(--radius-pill);animation:load-spinner-spin .82s linear infinite;will-change:transform;transform:translateZ(0);backface-visibility:hidden}@media (prefers-reduced-motion: reduce){.load-spinner{animation:load-spinner-pulse 2s ease-in-out infinite}}@keyframes load-spinner-pulse{0%,to{opacity:1}50%{opacity:.35}}.load-processing-copy{display:grid;gap:4px}.load-processing-copy strong{color:var(--ink-strong);font-size:1rem}.load-processing-copy span{max-width:520px;overflow:hidden;color:var(--muted);font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}#app[data-load-status=loading] #tab-import.active .load-processing-state{display:flex}#app[data-load-status=loading] #tab-import.active .load-micro-steps,#app[data-load-status=loading] #tab-import.active .load-compat-details{display:none}.load-dropzone{width:100%;min-height:210px;padding:24px;border:1px dashed color-mix(in srgb,var(--line) 82%,var(--muted));border-radius:var(--radius-xl);background:var(--control);color:var(--ink);display:grid;place-items:center;gap:8px;text-align:center;cursor:pointer}.load-dropzone:hover{border-color:#c4b5fd80;background:var(--control-2)}.load-dropzone.is-file-dragging{border-color:#5eead4b8;background:#14b8a624}.load-dropzone-icon{font-size:2rem}.load-dropzone-title{font-size:1rem}.load-dropzone-subtitle,.tiny-hint,.hint{color:var(--muted);font-size:.85rem}.load-compat-details{margin-top:12px}.load-compat-summary{color:var(--ink);cursor:pointer;font-weight:900}.load-compat-details .tiny-hint{margin:10px 0 0}.grecaptcha-badge{visibility:hidden}body.recaptcha-verification-active .grecaptcha-badge{visibility:visible}.load-result-step .status.error{color:var(--tone-negative-soft)}.load-result-step .status.success{color:var(--tone-positive-soft)}@keyframes load-spinner-spin{to{transform:translateZ(0) rotate(360deg)}}#tab-practice.active{display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:8px;height:100%;min-height:0}body.feedback-hidden #tab-practice.active{grid-template-rows:minmax(0,1fr) auto;gap:0}#panelExercise{position:relative;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}#tab-practice.active #panelExercise{border-radius:0}.practice-transport-bar{position:relative;z-index:4;padding:12px 14px 10px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 94%,var(--body-bg) 6%)}.transport-row,.transport-primary-left,.transport-controls-cluster,.transport-main-actions,.transport-loop-control-row,.transport-metronome-inline-control{display:flex;align-items:center;gap:10px}.transport-row{justify-content:space-between;min-width:0}.transport-row+.transport-row{margin-top:8px}.transport-row-primary,.transport-row-secondary{align-items:end}.transport-primary-left{min-width:0;flex:1;align-items:end}.transport-main-actions{flex:0 0 auto}.transport-controls-cluster{width:100%;min-width:0;align-items:end}.transport-controls-grid{display:flex;align-items:end;gap:10px;flex:1 1 auto;min-width:0}.transport-field{min-width:0;display:grid;gap:5px}.transport-exercise-field{flex:1 1 auto}.transport-label{color:color-mix(in srgb,var(--brand) 52%,var(--ink));font-size:.66rem;font-weight:900;text-transform:uppercase}select,.tempo-percent-input,.loop-range-chip,.transport-metronome-inline-control{min-height:38px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--control);color:var(--ink);padding:0 11px}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-color:var(--control);background-image:linear-gradient(45deg,transparent 50%,var(--select-arrow) 50%),linear-gradient(135deg,var(--select-arrow) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-repeat:no-repeat;background-size:5px 5px,5px 5px}select:disabled{background-image:linear-gradient(45deg,transparent 50%,#7d879b 50%),linear-gradient(135deg,#7d879b 50%,transparent 50%)}select option{background:var(--panel);color:var(--ink-strong)}.transport-field select{width:100%;min-width:0;max-width:100%}.transport-tempo-field{position:relative;flex:0 0 212px;min-width:204px}.transport-hand-field{flex:1 1 178px;min-width:154px}.transport-difficulty-field{flex:0 1 220px;min-width:176px}.transport-tempo-controls{display:flex;align-items:center;min-height:38px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--control);overflow:hidden}.tempo-percent-input{flex:0 0 66px;width:66px;min-height:36px;border:0;border-radius:0;background:transparent;padding:0 6px 0 8px;text-align:right;color:var(--ink);font:inherit;font-weight:800}.tempo-percent-input::-webkit-outer-spin-button,.tempo-percent-input::-webkit-inner-spin-button,.tempo-bpm-input::-webkit-outer-spin-button,.tempo-bpm-input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.tempo-percent-input,.tempo-bpm-input{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.tempo-context-label{flex:1 1 auto;min-width:0;padding:0 6px;border-left:1px solid var(--line);color:var(--ink);font-size:.78rem;font-weight:900;line-height:36px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tempo-context-label.is-variable{color:var(--brand)}.tempo-context-label.is-default{color:color-mix(in srgb,#facc15 72%,var(--ink))}.tempo-advanced-button{flex:0 0 34px;width:34px;min-height:36px;border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;color:var(--muted);cursor:pointer}.tempo-advanced-button:hover,.tempo-advanced-button:focus-visible,.tempo-advanced-button.active{background:color-mix(in srgb,var(--brand) 18%,transparent);color:var(--ink-strong)}.tempo-advanced-button:disabled{cursor:not-allowed;opacity:.55}.tempo-advanced-button svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;fill:none}.tempo-percent-suffix{flex:0 0 24px;padding:0 6px 0 2px;color:var(--muted);font-size:.78rem;font-weight:800;text-align:left}.tempo-advanced-popover{position:fixed;z-index:70;top:var(--tempo-popover-top, calc(var(--header-height) + 8px));left:var(--tempo-popover-left, 12px);width:min(246px,calc(100vw - 24px));padding:12px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);box-shadow:0 18px 36px #0000006b}.tempo-advanced-row{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--muted);font-size:.78rem}.tempo-advanced-row+.tempo-advanced-row{margin-top:7px}.tempo-advanced-row strong{color:var(--ink-strong);font-size:.86rem}.tempo-advanced-note{display:inline-flex;margin-top:9px;color:var(--brand);font-size:.72rem;font-weight:900}.tempo-advanced-bpm-field{display:grid;gap:5px;margin-top:10px;color:color-mix(in srgb,var(--brand) 52%,var(--ink));font-size:.72rem;font-weight:900;text-transform:uppercase}.tempo-bpm-input{width:100%;min-height:36px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--control);color:var(--ink);padding:0 10px;text-align:right;font:inherit;font-weight:900}.tempo-bpm-range{width:100%;margin:3px 0 0;accent-color:var(--brand-strong)}.tempo-bpm-range-labels{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.68rem;font-weight:800;line-height:1}.tempo-reset-button{width:100%;margin-top:10px;font-weight:900}#exerciseSelect{width:100%}.transport-exercise-field{position:relative}.exercise-picker-row{display:block;align-items:stretch}.panel-exercises-catalog{width:auto;margin:14px 14px 28px;border-color:var(--line);background:var(--panel);padding:18px 20px 24px}.exercises-catalog-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:10px}.exercises-catalog-heading h2{margin:0;color:var(--ink-strong);font-size:clamp(1.35rem,1.8vw,1.95rem);line-height:1.05}.exercise-catalog-page-filters{position:sticky;z-index:45;top:0;isolation:isolate;display:grid;grid-template-columns:.8fr 1fr minmax(240px,2fr);gap:8px;margin:0 -8px 18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--panel) 96%,var(--body-bg) 4%);padding:10px;box-shadow:0 1px #ffffff0a inset,0 12px 22px #0000003d}.exercise-catalog-page-filters label{display:grid;gap:5px;min-width:0}.exercise-catalog-page-filters span{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.exercise-catalog-page-filters select,.exercise-catalog-page-filters input{min-width:0;min-height:36px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--control);color:var(--ink);padding:0 10px;font-size:.78rem;font-weight:800}.exercise-catalog-body{display:grid;gap:14px;padding:0}.exercise-catalog-count{color:var(--muted);font-size:.72rem;font-weight:800;margin:-2px 0 0}.exercise-catalog-section+.exercise-catalog-section{margin-top:8px}.exercise-catalog-section-head{display:grid;grid-template-columns:minmax(0,1fr) auto 30px;align-items:center;width:100%;margin:0;border:1px solid color-mix(in srgb,var(--line) 80%,var(--brand-strong) 20%);border-radius:var(--radius-md);background:color-mix(in srgb,color-mix(in srgb,var(--control) 82%,var(--body-bg) 18%) 91%,var(--brand-strong) 9%);color:var(--ink-strong);padding:12px 14px;font-family:inherit;font-size:.74rem;font-weight:900;text-align:left;text-transform:uppercase;cursor:pointer}.exercise-catalog-section-head:hover,.exercise-catalog-section-head:focus-visible{border-color:color-mix(in srgb,var(--brand) 28%,var(--line));background:color-mix(in srgb,var(--control-2) 82%,var(--body-bg) 18%);outline:none}.exercise-catalog-section.is-expanded .exercise-catalog-section-head{border-color:color-mix(in srgb,var(--brand) 28%,var(--line));border-bottom-right-radius:0;border-bottom-left-radius:0;background:color-mix(in srgb,var(--control-2) 78%,var(--panel) 22%)}.exercise-catalog-level-title{min-width:0;color:var(--ink-strong);line-height:1.2}.exercise-catalog-level-meta{color:var(--muted);font-size:.68rem;font-weight:850;line-height:1.2;text-transform:none;white-space:nowrap}.exercise-catalog-level-action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:10px;border:1px solid color-mix(in srgb,var(--brand) 22%,var(--line));border-radius:var(--radius-pill);background:color-mix(in srgb,var(--control) 86%,var(--brand) 8%);color:color-mix(in srgb,var(--brand) 70%,var(--ink));padding:0;font-size:0;line-height:1;white-space:nowrap}.exercise-catalog-section-head[aria-expanded=true] .exercise-catalog-level-action{background:color-mix(in srgb,var(--control-2) 78%,var(--brand) 12%)}.exercise-catalog-level-action:before{content:"";width:7px;height:7px;margin-top:-3px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}.exercise-catalog-section-head[aria-expanded=true] .exercise-catalog-level-action:before{margin-top:3px;transform:rotate(225deg)}.exercise-catalog-section-head>span{line-height:1.2}.exercise-catalog-table{overflow:hidden;border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px;background:color-mix(in srgb,var(--panel) 86%,var(--body-bg) 14%)}.exercise-catalog-table-head,.exercise-catalog-row{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1fr) minmax(172px,.24fr);gap:0;align-items:stretch}.exercise-catalog-table-head{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 72%,var(--body-bg) 28%);color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.exercise-catalog-table-head span,.exercise-catalog-row>span{min-width:0;border-right:1px solid color-mix(in srgb,var(--line) 66%,transparent);padding:13px 18px}.exercise-catalog-table-head span:last-child,.exercise-catalog-row>span:last-child{border-right:0}.exercise-catalog-row{width:100%;min-height:74px;border:0;border-top:1px solid color-mix(in srgb,var(--line) 62%,transparent);background:color-mix(in srgb,var(--panel) 72%,var(--control) 28%);color:var(--ink);font:inherit;text-align:left;cursor:default}.exercise-catalog-row:nth-child(odd){background:color-mix(in srgb,var(--panel) 78%,var(--control) 22%)}.exercise-catalog-row:hover{background:color-mix(in srgb,var(--control-2) 74%,var(--panel) 26%)}.midi-refresh-btn .midi-refresh-label-searching,.midi-refresh-btn.is-searching .midi-refresh-label{display:none}.midi-refresh-btn.is-searching .midi-refresh-label-searching{display:inline}.midi-refresh-btn.is-searching .midi-refresh-icon svg{animation:btn-spin .9s linear infinite}@media (prefers-reduced-motion: reduce){.midi-refresh-btn.is-searching .midi-refresh-icon svg{animation:none}}.btn-spinner{display:inline-block;width:12px;height:12px;margin-right:8px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;vertical-align:-2px;animation:btn-spin .7s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.btn-spinner{animation:none}}.exercise-catalog-practice-btn:focus-visible,.exercise-catalog-variant-field select:focus-visible{outline:none;box-shadow:0 0 0 2px #c4b5fd47}.exercise-catalog-row.is-selected{background:color-mix(in srgb,var(--control-2) 78%,var(--brand) 8%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 20%,var(--line))}.exercise-catalog-row-main strong{display:block;color:var(--ink-strong);font-size:.94rem;font-weight:900;line-height:1.3}.exercise-catalog-selected-mark{display:inline-grid;width:16px;height:16px;margin-right:7px;border-radius:var(--radius-pill);place-items:center;background:color-mix(in srgb,var(--brand) 26%,var(--control));color:color-mix(in srgb,var(--brand) 80%,var(--ink));font-size:.65rem;line-height:1;vertical-align:text-bottom}.exercise-catalog-row-main{align-content:start}.exercise-catalog-variant-field{display:inline-grid;width:100%;gap:4px}.exercise-catalog-variant-field span{color:var(--muted);font-size:.61rem;font-weight:900;text-transform:uppercase}.exercise-catalog-variant-field select{width:100%;min-height:28px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--control);color:var(--ink);padding:0 8px;font-size:.72rem;font-weight:850}.exercise-catalog-row-goal{display:flex;flex-direction:column;gap:9px;color:var(--ink);font-size:.76rem;font-weight:750;line-height:1.45}.exercise-catalog-row-chips{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end;margin-top:auto}.exercise-catalog-chip{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--control);color:var(--muted);padding:2px 9px;font-size:.66rem;font-weight:800;white-space:nowrap}.exercise-catalog-chip.is-tempo{color:var(--chip-tempo-ink, #cdbdff);border-color:color-mix(in srgb,var(--chip-tempo-ink, #cdbdff) 40%,transparent);background:color-mix(in srgb,var(--chip-tempo-ink, #cdbdff) 12%,var(--control))}.exercise-catalog-chip.is-time{color:var(--chip-time-ink, #8fd8f8);border-color:color-mix(in srgb,var(--chip-time-ink, #8fd8f8) 40%,transparent);background:color-mix(in srgb,var(--chip-time-ink, #8fd8f8) 12%,var(--control))}.exercise-catalog-chip.is-reps{color:var(--chip-reps-ink, #fbd98b);border-color:color-mix(in srgb,var(--chip-reps-ink, #fbd98b) 40%,transparent);background:color-mix(in srgb,var(--chip-reps-ink, #fbd98b) 12%,var(--control))}.exercise-catalog-row-action{display:grid;justify-items:stretch;align-content:center;gap:7px;padding-right:12px;padding-left:12px}.exercise-catalog-action-head{padding-right:9px;padding-left:9px}.exercise-catalog-practice-btn{display:inline-flex;width:100%;min-height:36px;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--ok) 62%,var(--line));border-radius:var(--radius-sm);background:linear-gradient(180deg,color-mix(in srgb,var(--ok) 86%,#ffffff 14%),color-mix(in srgb,var(--ok) 84%,#052e2b 16%));color:var(--button-text-on-accent);padding:0 10px;font:inherit;font-size:.74rem;font-weight:900;line-height:1;text-align:center;white-space:nowrap;cursor:pointer}.exercise-catalog-practice-btn:hover{border-color:color-mix(in srgb,var(--ok) 76%,#ffffff);background:linear-gradient(180deg,color-mix(in srgb,var(--ok) 94%,#ffffff 6%),color-mix(in srgb,var(--ok) 88%,#052e2b 12%))}.exercise-catalog-empty{margin:0;border:1px dashed rgba(168,162,158,.32);border-radius:var(--radius-md);color:var(--ink);padding:16px;text-align:center}.exercise-catalog-empty.error{color:var(--tone-negative-soft)}.service-unavailable{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:28px 16px 34px;color:var(--ink)}.service-unavailable-art{color:var(--muted);margin-bottom:4px}.service-unavailable-title{margin:0;font-size:1.05rem;font-weight:900}.service-unavailable-body{margin:0;max-width:32ch;color:var(--muted);font-size:.86rem;line-height:1.4}@media (max-width: 1100px){.panel-exercises-catalog{width:auto;margin:10px 9px 20px;padding:14px 14px 18px}.exercises-catalog-heading{align-items:start;flex-direction:column}.exercise-catalog-page-filters{grid-template-columns:repeat(3,minmax(0,1fr));margin-right:-4px;margin-left:-4px}.exercise-catalog-table-head,.exercise-catalog-row{grid-template-columns:minmax(220px,.8fr) minmax(0,1fr) minmax(150px,.3fr)}.exercise-catalog-table-head span,.exercise-catalog-row>span{padding:11px 12px}}@media (max-width: 720px){.exercise-catalog-page-filters{grid-template-columns:minmax(0,1fr)}.exercise-catalog-table-head{display:none}.exercise-catalog-row{grid-template-columns:minmax(0,1fr)}.exercise-catalog-row>span{border-right:0;border-bottom:1px solid rgba(148,163,184,.1)}.exercise-catalog-row>span:last-child{border-bottom:0}}.transport-metronome-inline-field{display:grid;gap:5px;flex:0 0 auto}.transport-metronome-label{display:inline-flex;align-items:center;gap:4px}.transport-metronome-label-bpm{color:var(--ink);font-weight:800;letter-spacing:0}.transport-metronome-inline-control{min-width:152px;justify-content:center;white-space:nowrap}.transport-metronome-toggle{min-height:0}.transport-metronome-volume{width:78px;accent-color:var(--brand-strong)}.metronome-volume-icon,.metronome-volume-icon svg{width:17px;height:17px;display:block;color:var(--brand)}.metronome-volume-icon svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.transport-metronome-error,.practice-hand-warning{color:var(--tone-negative-soft);font-size:.72rem;font-weight:700}.transport-metronome-error.hidden,.practice-hand-warning.hidden{display:none}.btn{min-height:40px;border:1px solid rgba(196,181,253,.18);border-radius:var(--radius-md);background:var(--control);color:var(--ink);padding:0 16px;font-weight:800;cursor:pointer}.btn.secondary{background:var(--control);color:var(--ink)}#panelExercise .transport-main-actions .btn{min-height:38px;height:38px}#panelExercise .transport-main-actions .practice-midi-play-btn{width:38px;min-width:38px}.practice-main-cta{min-width:200px;border:0;border-radius:var(--radius-pill);background:linear-gradient(135deg,#78eaa7,#72eadf);color:#03100a;font-size:1rem;box-shadow:0 12px 28px #31da8e2e}.practice-main-cta.active{background:linear-gradient(135deg,#fb7185,#f43f5e);color:#fff}.practice-pause-btn{min-width:118px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;padding-inline:14px;line-height:1;white-space:nowrap;text-overflow:ellipsis}.practice-pause-btn.active{border-color:#7dd3fc5c;background:color-mix(in srgb,var(--control) 76%,#2563eb 24%);color:#f8fbff}body.focus-mode .practice-pause-btn{width:38px;min-width:38px;height:38px;min-height:38px;padding:0;font-size:0;line-height:1}body.focus-mode .practice-pause-btn:before{content:"";display:block;flex:0 0 auto;width:12px;height:14px;background:linear-gradient(to right,currentColor 0 4px,transparent 4px 8px,currentColor 8px 12px)}body.focus-mode .practice-pause-btn.active:before{width:13px;height:14px;margin-left:2px;background:currentColor;clip-path:polygon(16% 0,100% 50%,16% 100%)}.practice-midi-play-btn{width:40px;min-width:40px;height:40px;min-height:40px;padding:0;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center}.practice-midi-play-icon,.practice-midi-play-icon svg{width:18px;height:18px;display:block}.practice-midi-play-icon svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media (min-width: 1600px){body.theme-layout-app:not(.focus-mode) #panelExercise .practice-transport-bar{min-height:78px;display:flex;align-items:end;gap:10px;flex-wrap:nowrap;overflow:visible;padding:8px 12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 94%,var(--body-bg) 6%)}body.theme-layout-app:not(.focus-mode) #panelExercise .transport-row{display:contents}body.theme-layout-app:not(.focus-mode) #panelExercise .transport-row+.transport-row{margin-top:0}body.theme-layout-app:not(.focus-mode) #panelExercise .transport-controls-cluster{display:contents}body.theme-layout-app:not(.focus-mode) #panelExercise .transport-primary-left{order:1;flex:1 1 520px;min-width:0;display:flex;align-items:end;gap:8px}body.theme-layout-app:not(.focus-mode) #panelExercise .transport-exercise-field{flex:1 1 300px;min-width:210px;max-width:460px}body.theme-layout-app:not(.focus-mode) #panelExercise .transport-main-actions{flex:0 0 auto;gap:6px}body.theme-layout-app:not(.focus-mode) #panelExercise .practice-main-cta{min-width:172px;min-height:38px;height:38px;font-size:.95rem}body.theme-layout-app:not(.focus-mode) #panelExercise .practice-midi-play-btn{width:38px;min-width:38px;min-height:38px;height:38px;padding:0}body.theme-layout-app:not(.focus-mode) #panelExercise .practice-pause-btn{min-width:38px;width:38px;min-height:38px;height:38px;padding:0;font-size:0;line-height:1}body.theme-layout-app:not(.focus-mode) #panelExercise .practice-pause-btn:before{content:"";display:block;flex:0 0 auto;width:12px;height:14px;background:linear-gradient(to right,currentColor 0 4px,transparent 4px 8px,currentColor 8px 12px)}body.theme-layout-app:not(.focus-mode) #panelExercise .practice-pause-btn.active:before{width:13px;height:14px;margin-left:2px;border:0;background:currentColor;clip-path:polygon(16% 0,100% 50%,16% 100%)}body.theme-layout-app:not(.focus-mode) #panelExercise .transport-controls-grid{order:2;flex:0 1 auto;display:flex;align-items:end;gap:6px}body.theme-layout-app:not(.focus-mode) #panelExercise .transport-controls-grid .transport-field{min-width:112px}body.theme-layout-app:not(.focus-mode) #panelExercise .transport-controls-grid .transport-tempo-field{flex:0 0 212px;min-width:204px}body.theme-layout-app:not(.focus-mode) #panelExercise .transport-controls-grid .transport-field:nth-child(3){min-width:154px;max-width:178px}body.theme-layout-app:not(.focus-mode) #panelExercise .transport-metronome-inline-field{order:3;flex:0 0 auto}body.theme-layout-app:not(.focus-mode) #panelExercise .transport-metronome-inline-control{min-height:38px;height:38px;border-radius:var(--radius-pill);white-space:nowrap}body.theme-layout-app:not(.focus-mode) #panelExercise .transport-loop-actions{order:4;min-width:0;flex:0 0 auto}body.theme-layout-app:not(.focus-mode) #panelExercise .transport-loop-control-row{gap:8px}body.theme-layout-app:not(.focus-mode) #panelExercise .transport-label{font-size:.64rem;line-height:1}body.theme-layout-app:not(.focus-mode) #panelExercise select,body.theme-layout-app:not(.focus-mode) #panelExercise .loop-range-chip,body.theme-layout-app:not(.focus-mode) #panelExercise .transport-metronome-inline-control{min-height:38px;height:38px;border-radius:9px;font-size:.8rem}}.transport-loop-actions{display:grid;gap:5px;flex:0 0 auto;min-width:166px}.transport-toggle{width:62px;min-height:38px;display:grid;place-items:center;border-radius:var(--radius-pill);background:var(--control);border:1px solid var(--line)}.transport-toggle input{width:20px;height:20px;accent-color:var(--brand)}.transport-metronome-toggle.transport-toggle{width:auto;min-height:0;padding:0;border:0;background:transparent;box-shadow:none}.loop-range-chip{min-width:94px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);font-size:.9rem;font-weight:900;letter-spacing:0}.loop-range-chip.is-active{border-color:#60a5fa8a;background:color-mix(in srgb,var(--control) 78%,#2563eb 22%);color:#f7fbff}.staff-wrap{position:relative;min-height:0;overflow:hidden;background:#fff}.score-stage{position:relative;height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;padding:14px 0 22px;background:#fff;color:#0b1020;cursor:grab;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.score-stage::-webkit-scrollbar{width:0;height:0;display:none}.score-stage.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.score-stage.is-empty{cursor:pointer}.score-stage.is-file-dragging{outline:2px solid rgba(94,234,212,.66);outline-offset:-8px;background:linear-gradient(180deg,#ecfdf5d1,#fff)}.score-stage.is-loop-pin-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.score-stage.is-responsive-rendering{cursor:wait}.score-stage.is-responsive-rendering .score-pages{visibility:hidden}.score-pages{display:grid;gap:14px;justify-items:center;width:100%}.score-pages:after{content:"";display:block;width:100%;height:var(--score-follow-bottom-padding, 0px);pointer-events:none}.score-metadata{position:relative;width:min(100%,var(--score-page-display-width, 1366px));min-height:72px;padding:16px 32px 8px;color:#000;font-family:var(--font);opacity:1;pointer-events:none;z-index:1}.score-metadata-title{max-width:64%;margin:0 auto;overflow:hidden;padding-bottom:.16em;color:#000;font-family:var(--font);text-align:center;font-size:clamp(1.06rem,1.12vw,1.42rem);font-weight:400;line-height:1.25;opacity:1;text-overflow:ellipsis;white-space:nowrap}.score-metadata-composer{position:absolute;right:32px;top:26px;max-width:28%;margin:0;overflow:hidden;color:#000;font-family:var(--font);font-size:clamp(.64rem,.64vw,.78rem);line-height:1.2;opacity:1;text-align:right;text-overflow:ellipsis;white-space:nowrap}.panel .score-metadata .score-metadata-title{margin:0 auto;color:#000;font-family:var(--font);font-size:clamp(1.06rem,1.12vw,1.42rem);font-weight:400;line-height:1.25;opacity:1}.panel .score-metadata .score-metadata-composer{color:#000;font-family:var(--font);font-size:clamp(.64rem,.64vw,.78rem);line-height:1.2;opacity:1}.score-metadata[hidden]{display:none}.score-page{position:relative;width:min(100%,var(--score-page-display-width, var(--score-page-source-width, 1366px)));aspect-ratio:var(--score-page-ratio, 1366 / 2970);background:transparent;box-shadow:none;transform-origin:top center}.score-page svg{display:block;width:100%;max-width:100%;height:auto}.score-page svg .pgHead,.score-page svg .pgFoot{display:none!important}.score-page svg g.tempo tspan[font-family=Leipzig]{font-size:280px!important}.score-page svg g.tempo tspan[font-size]:not([font-family=Leipzig]){font-size:160px!important}.score-stage-message{display:block;max-width:620px;margin:84px auto;padding:18px 22px;border:1px solid rgba(13,20,37,.12);border-radius:var(--radius-md);background:#ffffffd1;color:#273044;font:inherit;text-align:center;font-weight:800}.score-stage.is-empty .score-stage-message{cursor:pointer}.score-stage.is-empty .score-stage-message:hover,.score-stage.is-empty .score-stage-message:focus{border-color:#5eead47a;box-shadow:0 10px 28px #0f172a1f;outline:none}.score-stage-message[hidden]{display:none}.score-resize-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:24px;background:#fff;color:#0b1020;cursor:wait;pointer-events:auto;touch-action:none}.score-resize-overlay[hidden]{display:none}.score-resize-panel{display:grid;width:min(340px,100%);gap:14px;padding:18px 20px;border:1px solid rgba(15,23,42,.12);border-radius:var(--radius-sm);background:#fffffff5;box-shadow:0 18px 40px #0f172a1f;text-align:center}.score-resize-label{font-size:.96rem;font-weight:900;line-height:1.25}.score-resize-progress{position:relative;display:block;height:4px;overflow:hidden;border-radius:var(--radius-pill);background:#0f172a1f}.score-resize-progress span{position:absolute;inset:0 auto 0 0;width:42%;border-radius:inherit;background:#7c3aed;animation:score-resize-progress 1.05s ease-in-out infinite}@keyframes score-resize-progress{0%{transform:translate(-115%)}52%{transform:translate(82%)}to{transform:translate(250%)}}.score-overlay,.overlay-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.system-dim-region{position:absolute;border-radius:2px;background:#ffffffad;pointer-events:none}body.focus-mode .system-dim-region{background:#ffffffb3}.loop-reading-layer{overflow:visible}.loop-reading-mask{position:absolute;border-radius:2px;background:#ffffffa8;box-shadow:none;pointer-events:none;-webkit-backdrop-filter:grayscale(1) saturate(.28);backdrop-filter:grayscale(1) saturate(.28)}.loop-reading-mask[data-loop-reading-role=outside-loop]{background:#ffffffb8}.loop-reading-mask[data-loop-reading-role=after-loop]{background:#ffffffb3}.loop-continuation-preview{position:absolute;overflow:hidden;border-top:1px dashed rgba(59,130,246,.42);border-radius:0;background:#fff;box-shadow:0 -12px 22px #ffffffd6;pointer-events:none}.loop-continuation-preview svg{display:block;width:100%;max-width:none;height:100%}.loop-continuation-preview-image{opacity:.58;filter:grayscale(1) saturate(.18) contrast(.98)}.loop-continuation-context-mask{fill:#ffffffad}.loop-continuation-entry-line{stroke:#2563ebf5;stroke-width:3;stroke-dasharray:8 5;vector-effect:non-scaling-stroke}.loop-continuation-entry-label-bg{fill:#0f172af0;stroke:#bfdbfeeb;stroke-width:1.5;vector-effect:non-scaling-stroke}.loop-continuation-entry-label{fill:#fff;font-family:var(--font-heading);font-weight:900;letter-spacing:0}body.focus-mode .loop-continuation-preview-image{opacity:.62}.active-note{position:absolute;border-radius:var(--radius-pill);background:#3d7cff38;border:2px solid rgba(61,124,255,.92);box-shadow:0 0 16px #3d7cff59}.loop-region{position:absolute;border-radius:4px;background:transparent;border:0;opacity:0}.staff-range-segment{position:absolute;min-height:6px;transform:translateY(-50%);border-radius:var(--radius-pill);background:#60a5fa2e;box-shadow:0 0 0 1px #60a5fa1a,0 1px 6px #2563eb1f}.staff-range-pin{position:absolute;z-index:4;min-width:36px;height:36px;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(96,165,250,.52);border-radius:var(--radius-pill);background:#eff6ff;color:#2563eb;font:900 .76rem/1 var(--font);cursor:grab;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:0 0 0 1px #2563eb2e,0 6px 16px #2563eb38}.staff-range-pin:before{content:"";position:absolute;left:50%;top:50%;width:58px;height:58px;transform:translate(-50%,-50%);border-radius:var(--radius-pill)}.staff-range-pin-end{background:#dbeafe}.staff-range-pin:active,.staff-range-pin.is-armed{cursor:grabbing;border-color:#2563ebe6;box-shadow:0 0 0 3px #2563eb2e,0 9px 22px #2563eb47}.staff-range-pin-drag-preview{position:fixed;z-index:10000;pointer-events:none;opacity:.96;transform:translate(-50%,-50%) scale(1.08);box-shadow:0 0 0 4px #2563eb2e,0 12px 26px #2563eb57}.playhead{position:absolute;min-width:6px;transform:translate(-50%);background:#3b82f63d;border:1px solid rgba(37,99,235,.38);border-radius:0;box-shadow:none;opacity:.74;contain:layout paint;will-change:transform}.playhead.is-count-in{opacity:.58}.count-in-badge{position:absolute;min-width:30px;min-height:30px;padding:5px 9px;transform:translate(-50%,-120%);border-radius:var(--radius-pill);border:1px solid rgba(61,124,255,.5);background:#090e1cdb;color:#f7f9ff;font-size:16px;font-weight:900;text-align:center}.count-in-badge.is-loading{display:flex;align-items:center;justify-content:center}.count-in-badge.is-loading:after{content:"";width:15px;height:15px;border-radius:50%;border:2.5px solid rgba(247,249,255,.3);border-top-color:#f7f9ff;animation:btn-spin .8s linear infinite}@media (prefers-reduced-motion: reduce){.count-in-badge.is-loading:after{animation:none;border-color:#f7f9ffa6;border-top-color:#f7f9ff}}.focus-fab{display:none;position:absolute;right:12px;bottom:12px;z-index:5;min-height:38px;padding:0 18px;border:1px solid rgba(196,181,253,.4);border-radius:var(--radius-pill);background:#202842f0;color:#e6e5ff;font-weight:900;box-shadow:0 8px 22px #0000003d;cursor:pointer}body.keyboard-hidden:not(.focus-mode) #panelExercise .focus-fab{display:inline-flex;align-items:center;justify-content:center}body.focus-mode #panelExercise .focus-fab{display:none!important}#panelKeyboard,#panelFeedback{min-height:0;overflow:hidden}#panelKeyboard{padding:8px}body.feedback-hidden:not(.focus-mode) #panelKeyboard{padding:8px 8px 0;border-bottom:0;border-radius:0}.keyboard-row{display:flex;align-items:center;gap:8px;padding:0;background:transparent}.keyboard{position:relative;min-height:112px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#141414;overflow-x:auto;overflow-y:hidden;flex:1 1 auto;min-width:0;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}body.feedback-hidden:not(.focus-mode) #panelKeyboard .keyboard,body.feedback-hidden:not(.focus-mode) #panelKeyboard #btnFocusMode{border-bottom-right-radius:0;border-bottom-left-radius:0}.keyboard::-webkit-scrollbar{width:0;height:0;display:none}.keyboard-inner{position:relative;height:122px}.key{position:absolute;display:flex;align-items:flex-end;justify-content:center;padding-bottom:2px;border:1px solid #a5b4c2;border-radius:0 0 var(--radius-sm) var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;font-size:.5rem;line-height:1}.key.white{height:122px;background:#fff;color:#1f2937;z-index:1}.key.black{height:74px;color:var(--ink-strong);background:#111827;border-color:#111827;z-index:2}.key.active.white,.key.is-pressed.white{background:var(--tone-positive-soft)}.key.active.black,.key.is-pressed.black{background:#4b5563}.key.is-expected:not(.is-pressed).white{background:#fef3c7;box-shadow:inset 0 0 0 2px #f59e0b}.key.is-expected:not(.is-pressed).black{background:#334155;border-color:#334155;box-shadow:inset 0 0 0 1px #93c5fd}.key.is-correct.white{background:#86efac;box-shadow:inset 0 0 0 2px #22c55e}.key.is-correct.black{background:#15803d;border-color:#22c55e}.key.is-incorrect.white{background:var(--tone-negative-soft);box-shadow:inset 0 0 0 2px #ef4444}.key.is-incorrect.black{background:#991b1b;border-color:#ef4444}.focus-inline-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;align-self:stretch;flex:0 0 96px;width:92px;min-width:96px;min-height:122px;height:auto;padding:0 12px;border:1px solid color-mix(in srgb,var(--brand) 34%,var(--line));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--brand) 18%,var(--control));color:var(--ink-strong);font-size:.86rem;font-weight:900;line-height:1.05;white-space:normal;cursor:pointer}.focus-fab:disabled,.focus-inline-btn:disabled{cursor:not-allowed}.focus-btn-line{display:block;text-align:center;white-space:nowrap}.feedback-panel{background:var(--feedback-panel-bg)}.feedback-panel.is-empty{min-height:0}.feedback-panel.is-empty .feedback-sheet-head{min-height:26px;padding:3px 8px}.feedback-panel.is-empty .feedback-sheet-summary{font-size:.76rem}.feedback-sheet-head{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px}.feedback-sheet-status-group{min-width:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.feedback-sheet-summary{color:var(--feedback-summary);font-size:.82rem}.feedback-sheet-body{border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent);padding:8px 10px}.feedback-sheet-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:28px;padding:0 12px;border:1px solid var(--feedback-control-border);border-radius:var(--radius-sm);background:var(--feedback-select-bg);color:var(--ink);font-weight:800;line-height:1;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,filter .16s ease,transform .16s ease}.feedback-sheet-toggle:disabled{opacity:.54;cursor:default}.practice-summary-compact{color:var(--feedback-compact);font-size:.9rem;font-weight:800}.practice-summary-reveal{display:grid;gap:5px}.practice-summary-reveal.is-revealing{animation:summary-reveal .9s ease-out both}.practice-feedback-reward-headline{width:fit-content;max-width:100%;margin-top:4px;padding:3px 10px;border-radius:var(--radius-pill);background:var(--feedback-headline-bg);color:var(--feedback-headline-color);font-size:.76rem;font-weight:900}.practice-feedback-reward-headline.is-personal_best{background:var(--feedback-headline-strong-bg);color:var(--feedback-headline-strong-color)}.practice-feedback-reward-headline.is-improved{background:color-mix(in srgb,var(--brand-strong) 18%,transparent);color:color-mix(in srgb,var(--brand-strong) 45%,var(--ink))}.practice-feedback-reward-headline.is-quiet{background:color-mix(in srgb,var(--ink) 9%,transparent);color:color-mix(in srgb,var(--ink) 68%,transparent)}.practice-summary-scoreline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.practice-summary-stars{color:color-mix(in srgb,var(--feedback-star-color) 72%,var(--ink));font-size:1rem;letter-spacing:0;white-space:nowrap}.practice-summary-score{min-width:34px;color:var(--ink-strong);font-size:1.02rem}.practice-summary-details{display:grid;gap:8px;margin-top:8px;padding:10px;border:1px solid var(--feedback-card-border);border-radius:var(--radius-sm);background:var(--feedback-card-bg)}.practice-feedback-board{display:grid;grid-template-columns:minmax(230px,1fr) minmax(320px,1.45fr) minmax(250px,1.1fr);gap:12px;align-items:stretch}.practice-feedback-score-card,.practice-feedback-map-card,.practice-feedback-insight-card{min-width:0;display:grid;align-content:start;gap:10px;padding:14px;border:1px solid var(--feedback-card-border);border-radius:var(--radius-md);background:var(--feedback-card-bg)}.practice-feedback-score-card{background:var(--feedback-score-card-bg)}.practice-feedback-score-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.practice-feedback-score-stars{color:color-mix(in srgb,var(--feedback-star-color) 82%,var(--ink));font-size:clamp(1.65rem,2.8vw,2.35rem);font-weight:900;letter-spacing:0;line-height:1}.practice-feedback-score-help{position:relative;-moz-appearance:none;appearance:none;-webkit-appearance:none;width:28px;height:28px;display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid var(--feedback-card-border);border-radius:var(--radius-pill);background:var(--feedback-control-bg);color:var(--ink);font-family:inherit;font-size:.8rem;font-weight:900;line-height:1;cursor:pointer;touch-action:manipulation}.practice-feedback-score-help:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);right:0;z-index:2;width:min(260px,70vw);padding:9px 10px;border:1px solid color-mix(in srgb,var(--line) 86%,transparent);border-radius:var(--radius-md);background:var(--feedback-tooltip-bg);color:var(--ink);box-shadow:var(--shadow-tooltip-lift);font-size:.74rem;font-weight:700;line-height:1.45;text-align:left;white-space:pre-line;opacity:0;pointer-events:none;transform:translateY(-3px);transition:opacity .16s ease,transform .16s ease}.practice-feedback-score-help:hover:after,.practice-feedback-score-help:focus-visible:after,.practice-feedback-score-help[aria-expanded=true]:after{opacity:1;pointer-events:auto;transform:translateY(0)}.practice-feedback-card-title{display:block;margin:0 0 6px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);opacity:.62}.practice-feedback-medals{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 4px}.practice-feedback-medal{position:relative;-moz-appearance:none;appearance:none;-webkit-appearance:none;width:26px;height:26px;padding:0;border:0;background:none;border-radius:var(--radius-pill);line-height:0;cursor:pointer;touch-action:manipulation;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2));transition:transform .14s ease}.practice-feedback-medal svg{display:block;width:100%;height:100%}.practice-feedback-medal:hover,.practice-feedback-medal:focus-visible{transform:translateY(-2px) scale(1.1)}.practice-feedback-medal:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.practice-feedback-medal:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);left:50%;z-index:3;width:max-content;max-width:min(220px,60vw);padding:7px 9px;border:1px solid color-mix(in srgb,var(--line) 86%,transparent);border-radius:9px;background:var(--feedback-tooltip-bg);color:var(--ink);box-shadow:0 12px 30px var(--feedback-tooltip-shadow);font-size:.72rem;font-weight:700;line-height:1.35;text-align:center;opacity:0;pointer-events:none;transform:translate(-50%,-3px);transition:opacity .16s ease,transform .16s ease}.practice-feedback-medal:hover:after,.practice-feedback-medal:focus-visible:after,.practice-feedback-medal[aria-expanded=true]:after{opacity:1;pointer-events:auto;transform:translate(-50%)}.practice-feedback-score-help:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.practice-feedback-score-number{display:flex;align-items:baseline;gap:8px}.practice-feedback-score-number strong{color:var(--ink-strong);font-size:clamp(3rem,6vw,5rem);line-height:.95}.practice-feedback-score-number span,.practice-feedback-card-header span{color:var(--feedback-muted);font-size:.8rem;font-weight:800}.practice-feedback-card-header{display:flex;align-items:start;justify-content:space-between;gap:10px}.practice-feedback-card-header>div{display:grid;gap:3px}.practice-feedback-card-header strong{color:var(--ink-strong);font-size:.98rem}.practice-feedback-selected-note{width:fit-content;margin-top:3px;padding:2px 8px;border:1px solid color-mix(in srgb,var(--brand) 38%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--brand) 13%,transparent);color:color-mix(in srgb,var(--brand) 58%,var(--ink-strong));font-size:.72rem;font-weight:900}.practice-feedback-view-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap;justify-content:flex-end}.practice-feedback-scope-select{display:grid;gap:4px;min-width:132px;color:var(--feedback-muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.practice-feedback-scope-select select,.practice-feedback-range-controls select{min-height:30px;border:1px solid var(--feedback-control-border);border-radius:var(--radius-sm);background:var(--feedback-select-bg);color:var(--ink-strong);font:inherit;font-size:.78rem;font-weight:900}.practice-feedback-range-controls{display:flex;align-items:center;gap:6px}.practice-feedback-range-controls button{width:30px;height:30px;border:1px solid var(--feedback-control-border);border-radius:var(--radius-sm);background:var(--feedback-control-bg);color:var(--ink-strong);font-weight:900;cursor:pointer}.practice-feedback-range-controls button:disabled{opacity:.42;cursor:default}.practice-summary-tags{display:flex;align-items:center;gap:8px}.practice-summary-history{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--feedback-muted);font-size:.78rem}.practice-summary-heatmap{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:6px}.practice-summary-heatmap-cell{width:100%;min-width:0;height:30px;display:inline-grid;place-items:center;border:1px solid var(--feedback-heatmap-border);border-radius:var(--radius-sm);background:var(--feedback-heatmap-bg);color:var(--feedback-heatmap-color);font-size:.78rem;font-weight:900}button.practice-summary-heatmap-cell{cursor:pointer}button.practice-summary-heatmap-cell:hover,.practice-summary-heatmap-cell.is-selected{border-color:color-mix(in srgb,var(--brand) 72%,#ffffff);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 22%,transparent),0 8px 22px #00000038;transform:translateY(-1px)}.practice-summary-heatmap-cell.is-selected{color:var(--ink-strong);outline:1px solid color-mix(in srgb,var(--brand) 58%,transparent);outline-offset:2px}.practice-summary-heatmap-cell.is-clean{border-color:var(--feedback-heatmap-clean-border);background:var(--feedback-heatmap-clean-bg);color:var(--feedback-heatmap-clean-color)}.practice-summary-heatmap-cell.is-ok{border-color:var(--feedback-heatmap-ok-border);background:var(--feedback-heatmap-ok-bg);color:var(--feedback-heatmap-ok-color)}.practice-summary-heatmap-cell.is-weak{border-color:var(--feedback-heatmap-weak-border);background:var(--feedback-heatmap-weak-bg);color:var(--feedback-heatmap-weak-color)}.practice-summary-heatmap-cell.is-not_attempted{color:var(--feedback-muted);border-style:dashed;opacity:.78}.practice-summary-muted{color:var(--feedback-muted);font-size:.82rem}.practice-summary-tags{flex-wrap:wrap}.practice-summary-tag{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 8px;border-radius:var(--radius-pill);background:var(--feedback-chip-bg);color:var(--feedback-muted);font-size:.78rem}.practice-summary-tag{border:1px solid var(--feedback-tag-border);color:var(--feedback-tag-color)}.practice-feedback-bars{display:grid;gap:10px}.practice-feedback-bar{display:grid;gap:6px}.practice-feedback-bar>div{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--feedback-muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.practice-feedback-bar-label{min-width:0;display:inline-flex;align-items:center;gap:5px}.practice-feedback-metric-help{position:relative;-moz-appearance:none;appearance:none;-webkit-appearance:none;width:24px;height:24px;display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid var(--feedback-card-border);border-radius:var(--radius-pill);background:var(--feedback-control-bg);color:var(--ink);font-family:inherit;font-size:.72rem;font-weight:900;line-height:1;text-transform:none;cursor:pointer;touch-action:manipulation}.practice-feedback-metric-help:after{content:attr(data-tooltip);position:absolute;right:50%;top:calc(100% + 8px);z-index:5;width:min(320px,74vw);padding:9px 10px;border:1px solid color-mix(in srgb,var(--line) 86%,transparent);border-radius:var(--radius-md);background:var(--feedback-tooltip-bg);color:var(--ink);box-shadow:var(--shadow-tooltip-lift);font-size:.73rem;font-weight:750;line-height:1.35;text-align:left;text-transform:none;opacity:0;pointer-events:none;transform:translate(50%,-3px);transition:opacity .16s ease,transform .16s ease}.practice-feedback-metric-help:hover:after,.practice-feedback-metric-help:focus-visible:after,.practice-feedback-metric-help[aria-expanded=true]:after{opacity:1;pointer-events:auto;transform:translate(50%)}.practice-feedback-bars .practice-feedback-bar:nth-last-child(-n+2) .practice-feedback-metric-help:after{top:auto;bottom:calc(100% + 8px);transform:translate(50%,3px)}.practice-feedback-bars .practice-feedback-bar:nth-last-child(-n+2) .practice-feedback-metric-help:hover:after,.practice-feedback-bars .practice-feedback-bar:nth-last-child(-n+2) .practice-feedback-metric-help:focus-visible:after,.practice-feedback-bars .practice-feedback-bar:nth-last-child(-n+2) .practice-feedback-metric-help[aria-expanded=true]:after{transform:translate(50%)}.practice-feedback-metric-help:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.practice-feedback-bar strong{color:var(--ink-strong);font-size:.78rem;text-transform:none}.practice-feedback-bar-track{height:8px;overflow:hidden;border-radius:var(--radius-pill);background:var(--feedback-track-bg)}.practice-feedback-bar-track span{display:block;height:100%;border-radius:inherit;background:var(--feedback-bar-neutral)}.practice-feedback-bar.is-good .practice-feedback-bar-track span{background:var(--feedback-bar-good)}.practice-feedback-bar.is-warn .practice-feedback-bar-track span{background:var(--feedback-bar-warn)}.practice-feedback-bar.is-weak .practice-feedback-bar-track span{background:var(--feedback-bar-weak)}.practice-feedback-hand-snapshot{display:grid;gap:4px}@keyframes summary-reveal{0%{opacity:0;transform:translateY(5px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.practice-summary-reveal.is-revealing{animation:none}.load-spinner{animation:load-spinner-pulse 2s ease-in-out infinite}.score-resize-progress span{animation:none;width:100%}}@media (max-width: 1040px){.practice-feedback-board{grid-template-columns:minmax(0,1fr)}}.feedback-panel.has-summary{min-height:44px;padding:0;overflow:visible}.feedback-panel.has-summary .feedback-sheet-head{min-height:44px;padding:5px 10px}.feedback-panel.has-summary .feedback-sheet-summary,.feedback-panel.has-summary .practice-hand-warning{display:none}.feedback-panel.has-summary .feedback-sheet-status-group{flex:1 1 auto}.feedback-panel.has-summary .practice-summary-compact{display:flex;min-width:0}.feedback-panel.has-summary .practice-summary-compact.hidden{display:none}.feedback-panel.has-summary:not(.is-expanded) .feedback-sheet-body{display:none}.feedback-panel.has-summary.is-expanded{position:fixed;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));z-index:120;display:grid;grid-template-rows:auto minmax(0,1fr);max-height:min(74vh,720px);border:1px solid color-mix(in srgb,var(--line) 84%,transparent);border-radius:var(--radius-xl);background:var(--feedback-expanded-bg);box-shadow:var(--feedback-sheet-shadow)}.feedback-panel.has-summary.is-expanded .feedback-sheet-head{justify-content:center;min-height:50px;padding:8px 12px 4px}.feedback-panel.has-summary.is-expanded .feedback-sheet-status-group{display:none}.feedback-panel.has-summary.is-expanded .feedback-sheet-toggle{min-height:40px;padding:0 20px 0 16px;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--brand-strong) 82%,#000000);background:linear-gradient(135deg,color-mix(in srgb,var(--brand-strong) 88%,#ffffff 12%),var(--brand-strong));color:var(--button-text-on-accent);box-shadow:0 8px 22px color-mix(in srgb,var(--brand-strong) 36%,transparent);text-shadow:none}.feedback-panel.has-summary.is-expanded .feedback-sheet-toggle:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 10px 28px color-mix(in srgb,var(--brand-strong) 46%,transparent)}.feedback-panel.has-summary.is-expanded .feedback-sheet-toggle:active{transform:translateY(0)}.feedback-panel.has-summary.is-expanded .feedback-sheet-toggle:before{content:"";width:9px;height:9px;margin-top:-3px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);flex:0 0 auto;opacity:.95}.feedback-panel.has-summary.is-expanded .feedback-sheet-body{min-height:0;overflow:auto;border-top:0;padding:0 12px 12px}.feedback-panel.has-summary.is-expanded .practice-summary-details{margin-top:0}.practice-summary-compact .practice-summary-reveal{width:100%}.practice-summary-compact .practice-summary-scoreline{width:100%;min-width:0;gap:9px}.practice-summary-compact .practice-summary-score{min-width:auto;font-size:clamp(1rem,1.35vw,1.35rem)}.practice-summary-compact .practice-summary-score-denominator{color:var(--feedback-muted);font-size:.76rem;font-weight:900}.practice-stars-meter{position:relative;display:inline-grid;line-height:1;letter-spacing:0;white-space:nowrap}.practice-stars-empty,.practice-stars-filled{grid-area:1 / 1;letter-spacing:0;white-space:nowrap}.practice-stars-empty{color:var(--feedback-star-empty)}.practice-stars-filled{width:var(--star-fill, 0%);overflow:hidden;color:var(--feedback-star-color);text-shadow:0 1px 8px rgba(250,204,21,.24)}.practice-stars-meter.is-revealing .practice-stars-filled{animation:feedback-stars-fill .9s cubic-bezier(.2,.8,.2,1) both}.practice-feedback-bar-track span{width:var(--bar-width, 0%)}@media (prefers-reduced-motion: no-preference){.practice-feedback-bar-track span{animation:feedback-bar-fill .82s cubic-bezier(.2,.8,.2,1) both}}@keyframes feedback-stars-fill{0%{width:0%}to{width:var(--star-fill, 0%)}}@keyframes feedback-bar-fill{0%{width:0}to{width:var(--bar-width, 0%)}}@media (min-width: 1280px){.practice-feedback-board{grid-template-columns:minmax(240px,.95fr) minmax(380px,1.5fr) minmax(280px,1.1fr)}.practice-feedback-score-card{padding:18px}}@media (prefers-reduced-motion: reduce){.practice-stars-meter.is-revealing .practice-stars-filled,.practice-feedback-bar-track span{animation:none}}.practice-feedback-board{align-items:stretch}.practice-stars-filled{background-image:linear-gradient(112deg,#fde68a 18%,#fffbeb 46%,var(--feedback-star-color) 56%,#f59e0b 82%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 1px 5px rgba(250,204,21,.5))}body[data-ui-theme=ivory] .practice-stars-filled{background-image:linear-gradient(112deg,#b8860b 18%,#e0a92e 46%,var(--feedback-star-color) 56%,#9a6a00 82%);filter:drop-shadow(0 1px 4px rgba(154,106,0,.35))}@media (prefers-reduced-motion: no-preference){.practice-stars-meter.is-revealing .practice-stars-filled{animation:feedback-stars-fill .9s cubic-bezier(.2,.8,.2,1) both,star-shimmer 2.2s ease-in-out .7s 1 both}}@keyframes star-shimmer{0%{background-position:210% 0}to{background-position:-40% 0}}.practice-feedback-bar-track{height:9px}.practice-feedback-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(62px,1fr));gap:8px}.practice-feedback-stat{display:grid;gap:2px;padding:9px 6px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--ink) 5%,transparent);text-align:center}.practice-feedback-stat-value{color:var(--ink-strong);font-size:1.3rem;font-weight:900;line-height:1}.practice-feedback-stat.is-weak .practice-feedback-stat-value{color:#f87171}.practice-feedback-stat.is-warn .practice-feedback-stat-value{color:#fbbf24}body[data-ui-theme=ivory] .practice-feedback-stat.is-warn .practice-feedback-stat-value{color:#b45309}body[data-ui-theme=ivory] .practice-feedback-stat.is-weak .practice-feedback-stat-value{color:#dc2626}.practice-feedback-stat-label{color:var(--feedback-muted);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.practice-feedback-stat-grid.is-clean{grid-template-columns:1fr}.practice-feedback-stat-clean{padding:10px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--feedback-good-solid) 14%,transparent);color:color-mix(in srgb,var(--feedback-good-solid) 45%,var(--ink));font-size:.8rem;font-weight:800;text-align:center}.practice-feedback-hand-snapshot{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:8px}.practice-hand-card{display:grid;gap:7px;padding:10px 11px;border:1px solid var(--feedback-card-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--ink) 4%,transparent)}.practice-hand-card-name{color:var(--ink-strong);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.practice-hand-card-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.practice-hand-stat{display:grid;gap:1px}.practice-hand-stat-value{color:var(--ink-strong);font-size:.98rem;font-weight:900;line-height:1.05}.practice-hand-stat-label{color:var(--feedback-muted);font-size:.61rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.practice-hand-card-notes{display:flex;flex-wrap:wrap;gap:5px}.practice-hand-card-notes span{padding:2px 8px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--brand-strong) 15%,transparent);color:color-mix(in srgb,var(--brand-strong) 42%,var(--ink));font-size:.67rem;font-weight:800}.settings-section{display:grid;gap:8px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.settings-section:first-of-type{padding-top:0;border-top:0}.settings-section-title{display:flex;align-items:center;gap:7px;margin:0 0 2px;padding-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);color:color-mix(in srgb,var(--brand) 72%,var(--ink));font-size:.74rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.settings-section-title:before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:var(--radius-pill);background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 14%,transparent)}.settings-row{min-height:40px;margin:0;display:flex;align-items:center;justify-content:space-between;gap:14px;color:color-mix(in srgb,var(--ink) 86%,var(--muted));font-size:.86rem}.settings-row>span{min-width:0}.settings-row.is-disabled{opacity:.45;cursor:not-allowed}.settings-subrow{min-height:30px;margin-top:-4px;margin-left:18px;padding-left:12px;border-left:1px solid color-mix(in srgb,var(--line) 72%,transparent);color:color-mix(in srgb,var(--ink) 76%,var(--muted));font-size:.78rem}.settings-select-row select{width:190px;min-height:34px;border-radius:var(--radius-sm);font-size:.82rem}.settings-label-with-help{display:inline-flex;min-width:0;align-items:center;gap:8px}.settings-label-with-help label{min-width:0}.mini-btn.settings-help-btn{width:28px;height:28px;min-width:0;min-height:0;padding:0;flex:0 0 28px;border-radius:var(--radius-pill);display:inline-grid;place-items:center;border:0;background:transparent;color:color-mix(in srgb,var(--brand) 58%,var(--ink));box-shadow:none;line-height:0}.mini-btn.settings-help-btn:hover,.mini-btn.settings-help-btn:focus-visible{background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--ink-strong)}.mini-btn.settings-help-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.mini-btn.settings-help-btn .icon-dot{fill:currentColor;stroke:none}.settings-toggle input[type=checkbox],.transport-toggle input[type=checkbox],.focus-metronome-toggle input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 42px;width:42px;height:24px;margin:0;border:1px solid color-mix(in srgb,var(--line) 76%,var(--muted));border-radius:var(--radius-pill);background:color-mix(in srgb,var(--muted) 34%,var(--control));position:relative;cursor:pointer;transition:background .16s ease,border-color .16s ease}.settings-toggle input[type=checkbox]:before,.transport-toggle input[type=checkbox]:before,.focus-metronome-toggle input[type=checkbox]:before{content:"";position:absolute;left:2px;top:2px;width:18px;height:18px;border-radius:var(--radius-pill);background:var(--paper);box-shadow:0 2px 5px color-mix(in srgb,var(--surface-shadow) 82%,transparent);transition:transform .16s ease}.settings-toggle input[type=checkbox]:checked,.transport-toggle input[type=checkbox]:checked,.focus-metronome-toggle input[type=checkbox]:checked{border-color:color-mix(in srgb,var(--brand) 62%,var(--line));background:var(--brand-strong)}.settings-toggle input[type=checkbox]:checked:before,.transport-toggle input[type=checkbox]:checked:before,.focus-metronome-toggle input[type=checkbox]:checked:before{transform:translate(18px)}.settings-toggle input[type=checkbox]:focus-visible,.transport-toggle input[type=checkbox]:focus-visible,.focus-metronome-toggle input[type=checkbox]:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.settings-toggle.settings-subrow input[type=checkbox]{flex-basis:36px;width:36px;height:20px}.settings-toggle.settings-subrow input[type=checkbox]:before{width:14px;height:14px}.settings-toggle.settings-subrow input[type=checkbox]:checked:before{transform:translate(16px)}.settings-zoom-row{display:grid;grid-template-columns:minmax(0,1fr) auto;margin-bottom:8px}.settings-zoom-controls{display:flex;align-items:center;gap:6px}.settings-mini-btn{min-width:30px;padding:0 8px;font-weight:900}.settings-zoom-reset{min-width:58px;padding:0 10px;font-weight:900}.settings-action-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch;justify-items:stretch;min-height:0;padding-top:0;border-top:0}.settings-cookie-btn{width:100%;min-height:40px;padding:0 14px;border-color:var(--line);background:var(--control);display:inline-flex;align-items:center;justify-content:center;font-weight:900;cursor:pointer}.settings-contact-btn{width:auto;min-width:132px;min-height:40px;padding:0 14px;border-color:color-mix(in srgb,var(--brand) 34%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 10%,transparent),color-mix(in srgb,var(--ok) 7%,transparent)),var(--control);color:var(--ink-strong);display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:900;text-decoration:none;white-space:nowrap}.settings-contact-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:color-mix(in srgb,var(--brand) 52%,var(--ok))}.settings-contact-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.settings-cookie-btn:hover,.settings-cookie-btn:focus,.settings-contact-btn:hover,.settings-contact-btn:focus{border-color:color-mix(in srgb,var(--brand) 42%,var(--line));background:var(--control-2);color:var(--ink-strong);outline:none}@media (max-width: 420px){.settings-action-row{grid-template-columns:1fr}.settings-contact-btn{width:100%}}.cookie-banner{position:fixed;left:12px;right:12px;bottom:12px;z-index:95;width:min(840px,calc(100vw - 24px));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;align-items:center;padding:14px 16px 13px 18px;border:1px solid color-mix(in srgb,var(--brand) 24%,var(--line));border-radius:16px;background:var(--panel);box-shadow:0 22px 56px var(--surface-shadow);overflow:hidden}.cookie-banner:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 48%,var(--ok)),var(--brand-strong));pointer-events:none}.cookie-banner-text{margin:0;color:var(--ink);font-size:.84rem;line-height:1.4}.cookie-banner-actions{display:flex;gap:8px;align-items:center}.cookie-banner .btn{min-width:138px;border-radius:var(--radius-lg);border-color:color-mix(in srgb,var(--brand) 24%,var(--line));background:var(--control)}.cookie-banner .btn:not(.secondary){border-color:transparent;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 52%,var(--ok)),var(--brand-strong));color:var(--button-text-on-accent)}.cookie-banner .btn:hover,.cookie-banner .btn:focus{border-color:color-mix(in srgb,var(--brand) 54%,var(--line));filter:brightness(1.06);outline:none}.cookie-banner .btn.secondary{background:var(--control);color:var(--ink-strong)}.cookie-banner-links{grid-column:1 / -1;margin:0;color:var(--muted);font-size:.75rem}.cookie-banner-links a{color:color-mix(in srgb,var(--brand) 55%,var(--ink));text-decoration:none}.cookie-banner-links a:hover{color:var(--ink-strong)}.settings-popover{position:fixed;z-index:100;left:var(--settings-popover-left, 14px);top:var(--settings-popover-top, calc(var(--header-height) + 8px));width:min(420px,calc(100vw - 24px));max-height:calc(100vh - var(--settings-popover-top, calc(var(--header-height) + 8px)) - 12px);overflow:auto;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:0 20px 42px var(--surface-shadow);transform-origin:28px top}.settings-popover h2{margin:0 0 12px}.mini-btn{min-height:34px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--control);color:var(--ink);cursor:pointer}.settings-toggle{display:flex;align-items:center;gap:10px;min-height:38px;color:color-mix(in srgb,var(--ink) 86%,var(--muted))}.focus-top-bar{display:none}body.focus-mode .top,body.focus-mode .tabs,body.focus-mode #tab-about,body.focus-mode #tab-midi,body.focus-mode #tab-import,body.focus-mode .settings-popover,body.focus-mode .cookie-banner,body.focus-mode.feedback-hidden #panelFeedback{display:none!important}body.focus-mode{--focus-keyboard-height: 122px;--focus-keyboard-height-effective: var(--focus-keyboard-height);--focus-feedback-height: 0px}body.focus-mode.keyboard-hidden{--focus-keyboard-height-effective: 0px}body.focus-mode:not(.feedback-hidden):has(.feedback-panel.has-summary){--focus-feedback-height: 56px}body.focus-mode .app{padding:0}body.focus-mode .focus-top-bar{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;pointer-events:none}body.focus-mode #tab-practice.active{position:fixed;top:0;right:0;bottom:0;left:0;display:block}body.focus-mode #panelExercise{height:calc(100% - var(--focus-keyboard-height-effective) - var(--focus-feedback-height));border:0;border-radius:0;grid-template-rows:minmax(0,1fr);background:#fff;box-shadow:none}body.focus-mode .practice-transport-bar{display:none}body.focus-mode .score-stage{padding:14px 0 22px}body.focus-mode .score-metadata{min-height:132px;padding-top:88px}body.focus-mode .score-metadata-composer{top:94px}body.focus-mode #panelKeyboard{position:fixed;left:0;right:0;bottom:var(--focus-feedback-height);z-index:68;width:100vw;height:var(--focus-keyboard-height-effective);max-width:100vw;margin:0;padding:0;border:0;border-top:1px solid rgba(31,41,55,.12);border-radius:0;background:#fff;box-shadow:0 -3px 14px #0f172a1a}body.focus-mode #panelKeyboard .keyboard-row{display:flex;width:100%;height:100%;gap:0}body.focus-mode #panelKeyboard .keyboard{flex:1 1 100%;width:100%;height:100%;min-width:100%;min-height:0;margin:0;border-radius:0;box-shadow:0 -10px 24px #0f172a42,inset 0 1px #ffffffb3}body.focus-mode #panelKeyboard .keyboard-inner{min-width:100%}body.focus-mode #panelKeyboard #btnFocusMode{display:none!important}body.focus-mode #panelFeedback:not(.is-expanded){position:fixed;left:0;right:0;bottom:0;z-index:67;height:var(--focus-feedback-height);margin:0;padding:0 16px;border:0;border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent);border-radius:0;background:var(--feedback-panel-bg);overflow:hidden}body.focus-mode #panelFeedback:not(.is-expanded) .feedback-sheet-head{height:100%;display:flex;align-items:center;gap:14px}body.focus-mode #panelFeedback:not(.is-expanded) .feedback-sheet-body{display:none}body.focus-mode .focus-glass-pill{pointer-events:auto;position:fixed;display:flex;align-items:center;gap:8px;min-height:54px;padding:8px;border-radius:18px;background:#171b24b8;border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow-glass-pill);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.focus-pill-top-left{top:16px;left:16px}.focus-pill-top-right{top:16px;right:16px}.focus-pill-top-left{max-width:min(760px,calc(100vw - 32px))}.focus-pill-bottom-center{left:50%;bottom:var(--focus-pill-bottom, calc(var(--focus-feedback-height, 0px) + var(--focus-keyboard-height-effective, 0px) + 16px));max-width:calc(100vw - 24px);transform:translate(-50%)}.focus-pill-running-stop{left:50%;bottom:var(--focus-pill-bottom, calc(var(--focus-feedback-height, 0px) + var(--focus-keyboard-height-effective, 0px) + 16px));max-width:calc(100vw - 24px);transform:translate(-50%);display:none!important;transition:opacity .16s ease,background .16s ease,box-shadow .16s ease}body.focus-mode.focus-running .focus-pill-top-left,body.focus-mode.focus-running .focus-pill-top-right,body.focus-mode.focus-running .focus-pill-bottom-center{opacity:0;pointer-events:none;transform:translateY(-8px)}body.focus-mode.focus-running .focus-pill-bottom-center{transform:translate(-50%) translateY(8px)}body.focus-mode:has(.feedback-panel.is-expanded) .focus-pill-bottom-center,body.focus-mode:has(.feedback-panel.is-expanded) .focus-pill-running-stop{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%) translateY(8px)}body.focus-mode.focus-running .focus-pill-running-stop{display:flex!important;opacity:.58;background:#171b246b;box-shadow:0 12px 28px #00000038}body.focus-mode.focus-running .focus-pill-running-stop:hover,body.focus-mode.focus-running .focus-pill-running-stop:focus-within{opacity:.94;background:#171b24b8;box-shadow:var(--shadow-glass-pill)}.focus-loop-btn.is-active{border-color:#60a5fa8a;background:color-mix(in srgb,var(--control) 72%,#2563eb 28%);color:#f7fbff}.focus-stop-btn{min-width:180px;background:linear-gradient(135deg,#fb7185,#f43f5e);color:#fff7f7}.focus-running-pause-btn{min-width:118px}.focus-inline-select{min-height:38px;border:0;border-radius:var(--radius-lg);background:var(--control);color:var(--ink);padding:0 12px;display:inline-flex;align-items:center;font-weight:800}select.focus-inline-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:178px}.focus-exercise-select{width:min(560px,52vw)}.focus-tempo-button{min-width:86px;justify-content:center;gap:7px;cursor:pointer}.focus-tempo-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}.focus-tempo-label{font-weight:900;white-space:nowrap}.focus-metronome-toggle{min-width:86px;justify-content:center;gap:7px;cursor:pointer}.focus-metronome-audio-icon,.focus-metronome-audio-icon svg{width:16px;height:16px;display:block;color:var(--brand)}.focus-metronome-audio-icon svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}body.feedback-hidden #panelFeedback,body.keyboard-hidden #panelKeyboard{display:none}@media (max-width: 1100px){:root{--topbar-pad-x: 8px}.top{grid-template-columns:auto minmax(0,1fr) auto;gap:6px}.top-brand{min-width:124px;padding-right:4px}.top-logo{width:30px;height:30px}.top-brand-name{font-size:.92rem}.tab-btn{min-width:52px;padding:0 9px}.tab-label{display:none}.settings-btn{min-width:38px;padding:0 10px}.transport-row{align-items:stretch;flex-direction:column}.transport-controls-cluster,.transport-controls-grid{gap:8px}.transport-tempo-field{flex-basis:196px;min-width:176px}.transport-difficulty-field{flex-basis:178px;min-width:156px}.transport-metronome-inline-control{min-width:140px}.transport-loop-actions{min-width:0}.about-feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}.focus-exercise-select{width:min(360px,42vw)}}@media (max-width: 640px){body.focus-mode .focus-glass-pill{flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 12px)}.focus-stop-btn{min-width:120px}.focus-running-pause-btn{min-width:96px}select.focus-inline-select{min-width:132px}}@media (orientation: landscape) and (min-width: 900px) and (max-height: 820px){#tab-about.active,#tab-midi.active,#tab-import.active{padding:10px 14px 14px}#tab-midi.active,#tab-import.active{padding-top:20px}#tab-about.active{padding:18px 22px 26px}#tab-midi .panel,#tab-import .panel{padding:16px 18px;border-radius:var(--radius-xl)}.about-hero{--about-hero-height: clamp(236px, 34vh, 280px);border-radius:var(--radius-xl)}.about-hero-copy{padding:28px 30px}.about-hero h2,.panel h2{margin-bottom:8px;font-size:clamp(1.42rem,2.6vw,1.92rem);line-height:1.06}.about-hero p,.panel p{line-height:1.42}.about-lead{font-size:.88rem}.about-quick-actions{gap:8px;margin-top:14px}.about-quick-link{min-height:30px;padding-inline:12px;font-size:.78rem}.about-verovio-credit{min-height:24px;padding:5px 9px}.about-feature-list{gap:14px;margin-top:18px}.about-feature-list li{grid-template-columns:38px minmax(0,1fr);min-height:108px;padding:14px;row-gap:6px;column-gap:10px}.about-feature-icon{width:34px;height:34px;border-radius:var(--radius-sm);font-size:.9rem}.about-feature-copy strong{font-size:.82rem}.about-feature-copy p{font-size:.8rem;line-height:1.34}.about-contact-card{top:calc(var(--about-hero-height) - 62px);min-height:44px;margin-top:14px;padding:10px 12px}.about-contact-icon{width:28px;height:28px;border-radius:var(--radius-sm)}.about-contact-copy h3{margin:0}.midi-steps{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:10px}.midi-step,.load-compat-details,.load-result-step{padding:12px;border-radius:var(--radius-lg)}.midi-step-title{margin-bottom:8px;font-size:.78rem}.midi-step-actions,.midi-step-row,.midi-output-lights-controls{gap:8px}#midiEnableBtn{min-width:170px;min-height:38px}.midi-step .status,.load-result-step .status{font-size:.78rem;line-height:1.35}.midi-last-event,.midi-lights-profile-hint{margin-top:8px;font-size:.72rem;line-height:1.28}.midi-volume-row{grid-template-columns:auto minmax(92px,1fr) auto;gap:8px;margin-top:8px;padding:8px;font-size:.74rem}.midi-output-subsection{margin-top:9px;padding-top:9px}.midi-output-subsection-title{margin-bottom:7px;font-size:.68rem}.midi-output-field{gap:4px;font-size:.72rem}.midi-output-channel-inline{grid-template-columns:54px minmax(0,1fr) 32px;gap:6px}.midi-output-scan-btn{min-height:34px;padding-inline:8px;font-size:.7rem}.midi-output-help-btn{width:32px;height:32px}.load-micro-steps{gap:10px}.load-dropzone{min-height:162px;padding:18px;border-radius:var(--radius-lg)}.load-dropzone-icon{font-size:1.45rem}.load-dropzone-title{font-size:.92rem}.load-processing-state{min-height:170px;padding:18px}.load-compat-details{margin-top:10px}.load-compat-details .tiny-hint{margin-top:7px;line-height:1.3}}@media (orientation: landscape) and (min-width: 900px) and (max-height: 640px){.about-hero{--about-hero-height: 188px}.about-feature-list li{min-height:74px;padding:8px 10px}.about-feature-copy p,.about-contact-card{display:none}.midi-step,.load-compat-details,.load-result-step{padding:10px}.load-dropzone{min-height:112px}.load-compat-details[open]{max-height:118px;overflow:auto}}@media (max-width: 820px){:root{--header-height: 50px}.top{grid-template-columns:auto minmax(0,1fr) auto}.top-brand{min-width:42px;padding-right:0}.top-brand-name{display:none}.top-right-actions{min-width:64px;gap:6px}.language-menu-btn{min-width:58px;min-height:42px}.language-popover{right:-4px;width:min(270px,calc(100vw - 16px));max-height:min(58vh,360px)}html[dir=rtl] .language-popover{right:auto;left:-4px}.app{padding:var(--header-height) 0 0}.tab-btn{min-height:var(--header-height);min-width:46px;padding:0 8px}.drawer-tab-icon{width:24px;height:24px}#tab-practice.active{grid-template-rows:minmax(0,1fr) auto}.transport-controls-cluster,.transport-controls-grid{flex-wrap:wrap}.transport-controls-grid,.transport-controls-grid .transport-field,.transport-metronome-inline-field,.transport-loop-actions{flex:1 1 100%}.transport-primary-left{flex-direction:column;align-items:stretch}.practice-main-cta{width:100%}.about-hero{grid-template-columns:1fr}.about-hero-visual:before{background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 90%,transparent),color-mix(in srgb,var(--panel) 44%,transparent) 32%,color-mix(in srgb,var(--panel) 8%,transparent) 72%)}.about-hero-visual{min-height:210px;border-left:0;border-top:1px solid var(--hero-divider, var(--line))}.about-feature-list,.cookie-banner{grid-template-columns:1fr}.cookie-banner-actions{justify-content:flex-start;flex-wrap:wrap}.cookie-banner .btn{flex:1 1 180px}}@media (max-width: 640px){.load-micro-steps{grid-template-columns:minmax(0,1fr)}}.transport-options-btn{display:none}@media (max-width: 640px),(pointer: coarse) and (orientation: landscape) and (max-height: 500px){.practice-transport-bar{display:flex;flex-direction:column-reverse;gap:8px;min-width:0;max-width:100%}.transport-row-primary{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding-bottom:2px;min-width:0;max-width:100%}.transport-row-primary::-webkit-scrollbar{display:none}.transport-controls-cluster,.transport-controls-grid{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:10px;width:max-content}.transport-row-primary .transport-field,.transport-metronome-inline-field,.transport-loop-actions{flex:0 0 auto;width:auto}.transport-row-secondary{min-width:0;max-width:100%}.transport-row-secondary .transport-primary-left{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0}.transport-exercise-field{width:100%;min-width:0}.transport-main-actions{display:flex;gap:8px;width:100%}.transport-main-actions .practice-main-cta{flex:1 1 auto}.transport-main-actions .btn{min-width:0}.keyboard{min-height:48px}body.focus-mode .focus-glass-pill{padding:6px;border-radius:var(--radius-xl)}body.focus-mode .focus-pill-bottom-center,body.focus-mode .focus-pill-running-stop{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;max-width:calc(100vw - 12px);width:max-content}body.focus-mode .focus-pill-bottom-center .btn,body.focus-mode .focus-pill-running-stop .btn{min-width:0;min-height:40px;padding:0 12px;white-space:nowrap}body.focus-mode .focus-pill-bottom-center .practice-main-cta{flex:0 1 auto}.settings-popover{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}.language-popover{max-height:min(56vh,390px);max-height:min(56dvh,390px)}.language-menu-btn{min-width:46px;min-height:34px;padding:0 8px;font-size:.78rem}#panelExercise .practice-pause-btn{width:40px;min-width:40px;height:40px;min-height:40px;padding:0;font-size:0;line-height:1}#panelExercise .practice-pause-btn:before{content:"";display:block;flex:0 0 auto;width:12px;height:14px;background:linear-gradient(to right,currentColor 0 4px,transparent 4px 8px,currentColor 8px 12px)}#panelExercise .practice-pause-btn.active:before{width:13px;height:14px;margin-left:2px;background:currentColor;clip-path:polygon(16% 0,100% 50%,16% 100%)}.transport-options-btn{display:inline-flex;align-items:center;justify-content:center}.practice-transport-bar:not(.options-open) .transport-row-primary{display:none}.transport-options-btn svg{width:22px;height:22px;flex:0 0 auto;stroke:currentColor;stroke-width:1.8;fill:none}#panelKeyboard{padding:6px 8px}.keyboard-row{gap:6px;align-items:stretch}#btnFocusMode{min-height:0;min-width:0;padding:4px 10px;font-size:.72rem;line-height:1.2;border-radius:var(--radius-md)}body.focus-mode{--focus-keyboard-height: 50px}body.focus-mode .focus-pill-bottom-center .focus-loop-btn{flex:0 0 auto;font-size:.78rem;padding:0 9px;white-space:nowrap}.about-verovio-credit{min-height:18px;padding:3px 7px;font-size:.58rem;right:8px;bottom:6px}.midi-step-row,.midi-step-actions,.midi-output-lights-controls{flex-wrap:wrap}.midi-step-row select{flex:1 1 100%;min-width:0}.midi-refresh-btn{flex:0 1 auto;min-width:0}#midiEnableBtn{min-width:0;width:100%}.midi-output-field{flex:1 1 100%;min-width:0}.midi-output-channel-inline{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.midi-output-channel-inline select{flex:1 1 140px;min-width:0}.midi-output-scan-btn{flex:1 1 auto;min-width:0;white-space:normal}.midi-volume-row{grid-template-columns:auto minmax(0,1fr) auto}}@media (max-width: 640px) and (orientation: portrait){body.focus-mode .focus-pill-top-left{left:8px;right:8px;top:8px;max-width:none}body.focus-mode .focus-pill-top-left .focus-exercise-select{flex:1 1 auto;min-width:0;max-width:none}body.focus-mode .focus-pill-top-right{left:8px;right:8px;top:66px;justify-content:flex-end}}@media (max-width: 420px){.tab-btn{min-width:42px;padding:0 6px}.top-right-actions{min-width:56px}}@media (pointer: coarse) and (max-height: 500px) and (orientation: landscape){:root{--header-height: 38px}.top{padding:0 8px}.top-logo{height:26px;width:auto}.tab-btn{min-height:32px;min-width:40px;padding:0 5px}.tab-btn .drawer-tab-icon svg{width:19px;height:19px}.language-menu-btn{min-height:30px;min-width:42px}.keyboard{min-height:48px}.transport-row-secondary .transport-primary-left{flex-direction:row;align-items:center;gap:8px}.transport-exercise-field{flex:1 1 auto;width:auto}.transport-exercise-field .transport-label{display:none}.transport-main-actions{width:auto;flex:0 0 auto}#panelExercise{padding:2px 6px 0}.practice-transport-bar{gap:2px;margin-bottom:2px}#tab-practice.active{gap:2px}#panelKeyboard{padding:2px 4px 4px}.keyboard-row{gap:4px}.transport-row-secondary select,.transport-row-secondary .btn{min-height:32px;height:32px;font-size:.92rem}body.theme-layout-app:not(.focus-mode) #panelExercise .practice-main-cta{min-width:0;min-height:32px;height:32px;font-size:.92rem;padding:0 14px}.practice-transport-bar{padding:3px 8px}#panelExercise .practice-pause-btn{width:32px;min-width:32px;height:32px;min-height:32px}.transport-options-btn svg{width:19px;height:19px}body.focus-mode .focus-pill-top-left{left:8px;right:322px;top:8px;max-width:none}body.focus-mode .focus-pill-top-right .focus-inline-select{min-height:34px;height:34px;font-size:.85rem;min-width:0}body.focus-mode .focus-pill-top-right #focusHandModeSelect{max-width:116px}body.focus-mode .focus-pill-top-right{gap:6px}body.focus-mode .focus-pill-top-left .focus-exercise-select{flex:1 1 auto;min-width:0;max-width:none}body.focus-mode .focus-pill-top-right{right:8px;top:8px}}:root{--tablet-shell-gap: 8px;--tablet-control-height: 36px;--tablet-keyboard-height-landscape: 112px;--tablet-keyboard-height-portrait: 148px;--focus-hud-safe-top: 96px;--focus-first-system-safe-gap: 88px;--focus-hud-transition: .18s ease}body.focus-mode .focus-glass-pill{transition:opacity var(--focus-hud-transition),transform var(--focus-hud-transition),background var(--focus-hud-transition),box-shadow var(--focus-hud-transition);will-change:opacity,transform}body.focus-mode.focus-running.focus-hud-visible .focus-pill-top-left,body.focus-mode.focus-running.focus-hud-visible .focus-pill-top-right,body.focus-mode.focus-running.focus-hud-idle .focus-pill-top-left,body.focus-mode.focus-running.focus-hud-idle .focus-pill-top-right,body.focus-mode.focus-running.focus-hud-idle .focus-pill-bottom-center{opacity:0;pointer-events:none;transform:translateY(-8px)}body.focus-mode.focus-running.focus-hud-idle .focus-pill-bottom-center{transform:translate(-50%) translateY(8px)}body.focus-mode .score-metadata[hidden]+.score-page{margin-top:var(--focus-first-system-safe-gap)}body.focus-mode .score-stage{scroll-padding-top:var(--focus-hud-safe-top)}body.focus-mode.focus-running.focus-hud-visible .focus-pill-running-stop,body.focus-mode.focus-running.focus-hud-idle .focus-pill-running-stop{display:flex!important;opacity:.7;pointer-events:auto;background:color-mix(in srgb,var(--panel) 56%,transparent);box-shadow:0 12px 28px var(--surface-shadow)}body.focus-mode.focus-running.focus-hud-visible .focus-pill-running-stop{opacity:.92;background:color-mix(in srgb,var(--panel) 78%,transparent)}body.focus-mode.focus-running.focus-hud-idle .focus-pill-running-stop:hover,body.focus-mode.focus-running.focus-hud-idle .focus-pill-running-stop:focus-within{opacity:.96;background:color-mix(in srgb,var(--panel) 88%,transparent);box-shadow:0 18px 38px var(--surface-shadow)}@media (orientation: landscape) and (min-width: 900px) and (max-width: 1366px) and (min-height: 501px),(orientation: portrait) and (min-width: 760px) and (max-width: 950px){body.theme-layout-app:not(.focus-mode) #panelExercise .practice-pause-btn{width:var(--tablet-control-height);min-width:var(--tablet-control-height);height:var(--tablet-control-height);min-height:var(--tablet-control-height);padding:0;font-size:0;line-height:1}body.theme-layout-app:not(.focus-mode) #panelExercise .practice-pause-btn:before{content:"";display:block;flex:0 0 auto;width:12px;height:14px;background:linear-gradient(to right,currentColor 0 4px,transparent 4px 8px,currentColor 8px 12px)}body.theme-layout-app:not(.focus-mode) #panelExercise .practice-pause-btn.active:before{width:13px;height:14px;margin-left:2px;background:currentColor;clip-path:polygon(16% 0,100% 50%,16% 100%)}}@media (orientation: landscape) and (min-width: 900px) and (max-width: 1366px) and (min-height: 501px){:root{--topbar-pad-x: 8px}.practice-transport-bar{padding:8px 10px 7px}.transport-row{gap:var(--tablet-shell-gap)}.transport-row+.transport-row{margin-top:6px}.transport-controls-cluster,.transport-controls-grid,.transport-main-actions,.transport-loop-control-row,.transport-metronome-inline-control{gap:var(--tablet-shell-gap)}.transport-controls-grid{flex-wrap:nowrap}.transport-hand-field{flex-basis:132px;min-width:128px}.transport-tempo-field{flex-basis:204px;min-width:184px}.transport-difficulty-field{flex-basis:172px;min-width:156px}select,.transport-tempo-controls,.tempo-percent-input,.loop-range-chip,.transport-metronome-inline-control{min-height:var(--tablet-control-height)}.tempo-context-label{line-height:calc(var(--tablet-control-height) - 2px)}.practice-main-cta{min-width:154px;min-height:var(--tablet-control-height)}.practice-pause-btn,.practice-midi-play-btn{width:var(--tablet-control-height);min-width:var(--tablet-control-height);height:var(--tablet-control-height);min-height:var(--tablet-control-height)}.transport-metronome-inline-control{min-width:178px}.loop-toggle-control{min-width:66px}.loop-range-chip{min-width:94px;padding-inline:10px}.score-stage{padding-top:10px}#panelKeyboard{padding:6px 8px 8px}#panelKeyboard .keyboard{height:var(--tablet-keyboard-height-landscape)}#panelFeedback{min-height:0}}@media (orientation: landscape) and (min-width: 900px) and (max-width: 1100px) and (min-height: 501px){.transport-row{align-items:stretch;flex-direction:column}.transport-row-primary,.transport-row-secondary{align-items:stretch}.transport-primary-left,.transport-controls-cluster{align-items:end}.transport-exercise-field{flex-basis:auto}.transport-tempo-field{flex:0 0 196px}.transport-difficulty-field{flex:1 1 164px}}@media (orientation: portrait) and (min-width: 760px) and (max-width: 950px){:root{--header-height: 52px;--topbar-pad-x: 8px}.practice-transport-bar{padding:9px 10px 8px}.transport-row{align-items:stretch;flex-direction:column;gap:7px}.transport-row+.transport-row{margin-top:7px}.transport-primary-left{align-items:stretch}.transport-controls-cluster,.transport-controls-grid{flex-wrap:wrap;gap:8px}.transport-controls-grid .transport-field,.transport-metronome-inline-field,.transport-loop-actions{flex:1 1 calc(50% - 8px);min-width:0}.transport-tempo-field,.transport-hand-field,.transport-difficulty-field{flex-basis:calc(50% - 8px);min-width:0}.transport-primary-left{flex-direction:row}.transport-main-actions{flex:0 0 auto}.practice-main-cta{min-width:178px}.transport-exercise-field{min-width:0}.score-stage{padding:12px 0 18px}#panelKeyboard{padding:7px 8px 9px}#panelKeyboard .keyboard{height:var(--tablet-keyboard-height-portrait)}}@media (orientation: landscape) and (min-width: 900px) and (max-height: 700px) and (min-height: 501px){:root{--header-height: 48px}.practice-transport-bar{padding-top:6px;padding-bottom:6px}.transport-label{font-size:.58rem}#panelKeyboard .keyboard{height:98px}#panelFeedback{min-height:0}}@media (orientation: landscape) and (min-width: 900px) and (max-height: 820px) and (min-height: 501px){body.focus-mode{--focus-keyboard-height: var(--tablet-keyboard-height-landscape)}body.focus-mode .score-stage{padding-top:8px;padding-bottom:14px}body.focus-mode .focus-glass-pill{min-height:46px;border-radius:14px;padding:6px}body.focus-mode .focus-pill-top-left,body.focus-mode .focus-pill-top-right{top:10px}body.focus-mode .focus-pill-top-left{left:10px}body.focus-mode .focus-pill-top-right{right:10px}body.focus-mode .focus-pill-bottom-center,body.focus-mode .focus-pill-running-stop{bottom:var(--focus-pill-bottom, calc(var(--focus-feedback-height, 0px) + var(--focus-keyboard-height-effective, 0px) + 10px))}}@media (orientation: portrait) and (min-width: 760px) and (max-width: 950px){body.focus-mode{--focus-keyboard-height: var(--tablet-keyboard-height-portrait)}body.focus-mode .focus-pill-top-left,body.focus-mode .focus-pill-top-right{top:12px}body.focus-mode .focus-pill-top-left{left:12px;max-width:calc(100vw - 24px)}body.focus-mode .focus-pill-top-right{right:12px}body.focus-mode .focus-exercise-select{width:min(440px,48vw)}body.focus-mode .focus-pill-bottom-center,body.focus-mode .focus-pill-running-stop{bottom:var(--focus-pill-bottom, calc(var(--focus-feedback-height, 0px) + var(--focus-keyboard-height-effective, 0px) + 12px))}}@media (max-width: 640px){:root{--phone-shell-reserved: 1px}}@media (prefers-reduced-motion: reduce){body.focus-mode .focus-glass-pill{transition-duration:1ms}}body[data-ui-theme=midnight]{color-scheme:dark;--bg: #0e1117;--body-bg: #0f1218;--panel: #171b24;--panel-soft: rgba(23, 27, 36, .78);--control: #1e2230;--control-2: #22283a;--ink: #e8eaf0;--ink-strong: #ffffff;--muted: #aeb8cc;--line: #2a2f3e;--brand: #c4b5fd;--brand-strong: #8b5cf6;--ok: #86efac;--paper: #fafafa;--top-bg: rgba(14, 19, 32, .98);--top-brand-bg: rgba(10, 14, 24, .32);--surface-shadow: rgba(0, 0, 0, .3);--button-text-on-accent: #06101a;--select-arrow: #9fb1cc;--active-soft: rgba(139, 92, 246, .16);--hover-soft: rgba(255, 255, 255, .04)}body[data-ui-theme=ivory]{--brand-wordmark: #4630be;--brand-tld: #1cb9ce;--brand-mark-filter: none;--hero-divider: transparent;--chip-tempo-ink: #5b21b6;--chip-time-ink: #075985;--chip-reps-ink: #92400e;color-scheme:light;--bg: #f7f0e5;--body-bg: #efe4d3;--panel: #fffaf3;--panel-soft: #fffaf3;--control: #f0e3d1;--control-2: #e4d2bb;--ink: #1b2636;--ink-strong: #050b13;--muted: #3d4a5f;--line: #cbb79f;--brand: #4f63d8;--brand-strong: #3349b6;--ok: #0f8a62;--paper: #fffdf8;--top-bg: #fff9ef;--top-brand-bg: #f6eedd;--surface-shadow: rgba(79, 54, 25, .19);--button-text-on-accent: #ffffff;--select-arrow: #6c5945;--active-soft: rgba(79, 99, 216, .13);--hover-soft: rgba(79, 99, 216, .08);--feedback-panel-bg: #f4e7d4;--feedback-expanded-bg: #f8efe2;--feedback-card-bg: #fff8ed;--feedback-score-card-bg: linear-gradient(135deg, rgba(79, 99, 216, .13), rgba(15, 138, 98, .09)), #fff8ed;--feedback-card-border: #c8b49a;--feedback-control-bg: #efe3d2;--feedback-control-border: #c5ad90;--feedback-select-bg: #fffaf3;--feedback-track-bg: #dfd1bf;--feedback-chip-bg: #efe3d2;--feedback-muted: #2f3d52;--feedback-summary: #263041;--feedback-compact: #17202d;--feedback-headline-bg: #d9f7ea;--feedback-headline-color: #075f43;--feedback-headline-strong-bg: #fff0c2;--feedback-headline-strong-color: #684600;--feedback-achievement-bg: #dff6ea;--feedback-achievement-border: #93d5b8;--feedback-achievement-color: #075f43;--feedback-achievement-strong-bg: #fff0c2;--feedback-achievement-strong-border: #e1bd56;--feedback-achievement-strong-color: #684600;--feedback-action-bg: #e3f4f4;--feedback-action-border: #9bd6d4;--feedback-action-color: #095260;--feedback-action-hover-bg: #d4eeee;--feedback-action-hover-border: #78c5c2;--feedback-next-bg: #e3f4f4;--feedback-next-border: #9bd6d4;--feedback-next-color: #095260;--feedback-tooltip-bg: #fffaf3;--feedback-tooltip-shadow: rgba(79, 54, 25, .2);--feedback-sheet-shadow: 0 -16px 36px rgba(79, 54, 25, .18), 0 0 0 1px rgba(255, 255, 255, .62) inset;--feedback-toggle-shadow: 0 8px 18px rgba(79, 54, 25, .16);--feedback-star-color: #d69b00;--feedback-star-empty: #a99b8a;--feedback-tag-border: #b9b1ef;--feedback-tag-color: #3349b6;--feedback-heatmap-bg: #f7eddf;--feedback-heatmap-border: #d2bea5;--feedback-heatmap-color: #334258;--feedback-heatmap-clean-bg: #dff6ea;--feedback-heatmap-clean-border: #93d5b8;--feedback-heatmap-clean-color: #075f43;--feedback-heatmap-ok-bg: #fff0c2;--feedback-heatmap-ok-border: #e1bd56;--feedback-heatmap-ok-color: #684600;--feedback-heatmap-weak-bg: #ffe2df;--feedback-heatmap-weak-border: #ee9b95;--feedback-heatmap-weak-color: #9f1d14;--feedback-bar-neutral: #8d9aac;--feedback-bar-good: linear-gradient(90deg, #0f8a62, #2dbd89);--feedback-good-solid: #0f8a62;--feedback-bar-warn: linear-gradient(90deg, #d97904, #e7b21c);--feedback-bar-weak: linear-gradient(90deg, #d14343, #f06565)}body[data-ui-theme=ivory] .top,body[data-ui-theme=ivory] .settings-popover,body[data-ui-theme=ivory] .tempo-advanced-popover,body[data-ui-theme=ivory] .language-popover,body[data-ui-theme=ivory] .cookie-banner{background:var(--panel);color:var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none}body[data-ui-theme=ivory] .top{border-bottom-color:#cdb79b;box-shadow:0 1px #5b402314}body[data-ui-theme=ivory] .tab-btn{color:#334258}body[data-ui-theme=ivory] .tab-btn:hover{background:#4f63d814;color:#162033}body[data-ui-theme=ivory] .tab-btn.active{background:#ede7ff;color:#07111f;border-bottom-color:#4f63d8}body[data-ui-theme=ivory] .drawer-tab-icon{border:1px solid rgba(79,99,216,.14);box-shadow:inset 0 0 0 1px #ffffff5c}body[data-ui-theme=ivory] .tab-btn[data-section=about]{--tab-icon-bg: #e4dcff;--tab-icon-color: #4f3ec8}body[data-ui-theme=ivory] .tab-btn[data-section=midi]{--tab-icon-bg: #d9f2ff;--tab-icon-color: #066f9f}body[data-ui-theme=ivory] .tab-btn[data-section=import]{--tab-icon-bg: #ffedc2;--tab-icon-color: #b36b00}body[data-ui-theme=ivory] .tab-btn[data-section=exercises]{--tab-icon-bg: #e7dfcf;--tab-icon-color: #6a5134}body[data-ui-theme=ivory] .tab-btn[data-section=practice]{--tab-icon-bg: #e0d7ff;--tab-icon-color: #5038bd}body[data-ui-theme=ivory] #settingsButton{--tab-icon-bg: #e1e9ef;--tab-icon-color: #44566f}body[data-ui-theme=ivory] #app[data-midi-status=ready] .tab-midi-indicator{border-color:#f3fff9;background:#18b36d;box-shadow:0 0 0 3px #18b36d2e,0 0 10px #18b36dad}body[data-ui-theme=ivory] .settings-popover,body[data-ui-theme=ivory] .tempo-advanced-popover,body[data-ui-theme=ivory] .language-popover{box-shadow:0 24px 52px var(--surface-shadow)}body[data-ui-theme=ivory] .panel,body[data-ui-theme=ivory] .panel-exercises-catalog,body[data-ui-theme=ivory] .exercise-catalog-table,body[data-ui-theme=ivory] .midi-step,body[data-ui-theme=ivory] .load-compat-details,body[data-ui-theme=ivory] .load-result-step,body[data-ui-theme=ivory] .load-dropzone,body[data-ui-theme=ivory] .load-processing-state{background:var(--panel);color:var(--ink)}body[data-ui-theme=ivory] .about-feature-list li,body[data-ui-theme=ivory] .exercise-catalog-row,body[data-ui-theme=ivory] .exercise-catalog-section-head,body[data-ui-theme=ivory] .exercise-catalog-table-head,body[data-ui-theme=ivory] .exercise-catalog-page-filters,body[data-ui-theme=ivory] .transport-metronome-inline-control,body[data-ui-theme=ivory] .transport-tempo-controls,body[data-ui-theme=ivory] select,body[data-ui-theme=ivory] input,body[data-ui-theme=ivory] .loop-range-chip,body[data-ui-theme=ivory] .mini-btn,body[data-ui-theme=ivory] .btn.secondary{background-color:var(--control);color:var(--ink)}body[data-ui-theme=ivory] .practice-transport-bar,body[data-ui-theme=ivory] .feedback-panel{background:#f6ead8;color:var(--ink)}body[data-ui-theme=ivory] .score-stage{background:#fff}body[data-ui-theme=ivory] .language-menu-btn,body[data-ui-theme=ivory] .settings-cookie-btn,body[data-ui-theme=ivory] .settings-contact-btn,body[data-ui-theme=ivory] .tempo-reset-button{background:var(--control);color:var(--ink-strong);border-color:var(--line)}body[data-ui-theme=ivory] .language-menu-btn:hover,body[data-ui-theme=ivory] .language-menu-btn:focus-visible,body[data-ui-theme=ivory] .language-menu-btn.active,body[data-ui-theme=ivory] .language-option-btn:hover,body[data-ui-theme=ivory] .language-option-btn:focus-visible,body[data-ui-theme=ivory] .exercise-catalog-row:hover,body[data-ui-theme=ivory] .settings-cookie-btn:hover,body[data-ui-theme=ivory] .settings-cookie-btn:focus,body[data-ui-theme=ivory] .settings-contact-btn:hover,body[data-ui-theme=ivory] .settings-contact-btn:focus{background:var(--control-2);color:var(--ink-strong)}body[data-ui-theme=ivory] .language-option-btn.active,body[data-ui-theme=ivory] .exercise-catalog-row.is-selected,body[data-ui-theme=ivory] .tab-btn.active{background:color-mix(in srgb,var(--brand) 13%,var(--panel));color:var(--ink-strong)}body[data-ui-theme=ivory] .exercise-catalog-section.is-expanded .exercise-catalog-section-head{background:color-mix(in srgb,var(--brand) 8%,var(--control))}body[data-ui-theme=ivory] .about-hero{background:linear-gradient(90deg,#fffaf3,#fffaf3 48%,#fffaf300 72%),var(--panel);color:var(--ink)}body[data-ui-theme=ivory] .about-hero h2,body[data-ui-theme=ivory] .about-hero p,body[data-ui-theme=ivory] .about-lead{color:var(--ink-strong)}body[data-ui-theme=ivory] .about-hero p,body[data-ui-theme=ivory] .about-lead{color:#46556a}body[data-ui-theme=ivory] .about-hero-visual:before{background:linear-gradient(90deg,#fffaf3,#fffaf3bd 32%,#fffaf31f 74%)}body[data-ui-theme=ivory] .about-quick-link:not(.about-hero-cta-primary){background:#edf1ff;color:#24336b;border-color:#cbd3ff}body[data-ui-theme=ivory] .about-hero-cta-primary,body[data-ui-theme=ivory] .practice-main-cta{color:#06101a}body[data-ui-theme=ivory] .about-hero-cta-primary{border-color:#3349b6;background:linear-gradient(135deg,#4f63d8,#6f53dd);color:#fff}body[data-ui-theme=ivory] .exercise-catalog-practice-btn{border-color:#0f8a62;background:linear-gradient(180deg,#28bf89,#0f8a62);color:#fff}body[data-ui-theme=ivory] .score-stage-message,body[data-ui-theme=ivory] .load-processing-copy strong,body[data-ui-theme=ivory] .exercise-catalog-row-main strong,body[data-ui-theme=ivory] .exercise-catalog-row-time strong,body[data-ui-theme=ivory] .exercise-catalog-level-title,body[data-ui-theme=ivory] .panel h2,body[data-ui-theme=ivory] .settings-section-title,body[data-ui-theme=ivory] .transport-label{color:var(--ink-strong)}body[data-ui-theme=ivory] .panel p,body[data-ui-theme=ivory] .tiny-hint,body[data-ui-theme=ivory] .hint,body[data-ui-theme=ivory] .load-dropzone-subtitle,body[data-ui-theme=ivory] .midi-step .status,body[data-ui-theme=ivory] .exercise-catalog-count,body[data-ui-theme=ivory] .exercise-catalog-level-meta,body[data-ui-theme=ivory] .exercise-catalog-page-filters span,body[data-ui-theme=ivory] .settings-row,body[data-ui-theme=ivory] .settings-subrow,body[data-ui-theme=ivory] .feedback-sheet-summary,body[data-ui-theme=ivory] .practice-summary-history,body[data-ui-theme=ivory] .practice-summary-muted{color:var(--muted)}body[data-ui-theme=ivory] .settings-row{color:var(--ink)}body[data-ui-theme=ivory] .settings-subrow{color:#40506a}body[data-ui-theme=ivory] .settings-row label,body[data-ui-theme=ivory] .settings-subrow label{color:inherit}body[data-ui-theme=ivory] .transport-label,body[data-ui-theme=ivory] .settings-section-title,body[data-ui-theme=ivory] .exercise-catalog-page-filters span{color:color-mix(in srgb,var(--brand-strong) 62%,var(--ink-strong))}body[data-ui-theme=ivory] .focus-glass-pill,body[data-ui-theme=ivory].focus-mode.focus-running.focus-hud-visible .focus-pill-running-stop,body[data-ui-theme=ivory].focus-mode.focus-running.focus-hud-idle .focus-pill-running-stop{background:#fffaf3f5;color:var(--ink);border-color:var(--line);box-shadow:0 18px 42px #4f361938;-webkit-backdrop-filter:none;backdrop-filter:none}body[data-ui-theme=ivory] .panel{box-shadow:0 18px 46px #4f36191f}body[data-ui-theme=ivory] .about-feature-list li{background:#f7eddf;border-color:#d4bea3}body[data-ui-theme=ivory] .about-feature-icon,body[data-ui-theme=ivory] .about-contact-icon{background:#fffaf3;border-color:#d6c2aa}body[data-ui-theme=ivory] .about-contact-card{background:linear-gradient(135deg,#4f63d814,#0f8a6212),#f7eddf;border-color:#d4bea3}body[data-ui-theme=ivory] .panel-exercises-catalog{background:#fffaf3;border-color:#cfb89e}body[data-ui-theme=ivory] .exercise-catalog-page-filters{background:#f8efe2;box-shadow:0 14px 28px #4f361921}body[data-ui-theme=ivory] .exercise-catalog-section-head{background:#efe3d2;border-color:#cdb79b}body[data-ui-theme=ivory] .exercise-catalog-section-head:hover,body[data-ui-theme=ivory] .exercise-catalog-section-head:focus-visible{background:#e6d5bf;border-color:#9e8cf0}body[data-ui-theme=ivory] .exercise-catalog-section.is-expanded .exercise-catalog-section-head{background:#e9dfd2;border-color:#a692d8}body[data-ui-theme=ivory] .exercise-catalog-table{background:#fff8ed;border-color:#cfb89e}body[data-ui-theme=ivory] .exercise-catalog-table-head{background:#eadbc8;color:#263041}body[data-ui-theme=ivory] .exercise-catalog-row{background:#fbf1e3;border-top-color:#dccab3}body[data-ui-theme=ivory] .exercise-catalog-row:nth-child(odd){background:#fff7eb}body[data-ui-theme=ivory] .exercise-catalog-row:hover{background:#eef1ff}body[data-ui-theme=ivory] .exercise-catalog-row.is-selected{background:#e8ecff;box-shadow:inset 0 0 0 1px #aeb8f6}body[data-ui-theme=ivory] .exercise-catalog-level-action{background:#f8efe2;color:#3349b6;border-color:#b9b1ef}body[data-ui-theme=ivory] .exercise-catalog-row-time small{color:#3349b6}body[data-ui-theme=ivory] .exercise-catalog-empty.error{color:#b42318}body[data-ui-theme=ivory] .midi-step,body[data-ui-theme=ivory] .load-compat-details,body[data-ui-theme=ivory] .load-result-step,body[data-ui-theme=ivory] .load-dropzone{background:#fff8ed;border-color:#d2bea5}body[data-ui-theme=ivory] [data-midi-status=ready] #midiEnableBtn{background:#d9f7ea;color:#075f43;border-color:#8edcbd;box-shadow:none}body[data-ui-theme=ivory] .midi-volume-row{background:#e8dccb;border-color:#c8b49a;color:#17202d}body[data-ui-theme=ivory] .midi-volume-row input[type=range],body[data-ui-theme=ivory] .transport-metronome-volume,body[data-ui-theme=ivory] .tempo-bpm-range{accent-color:#4f63d8}body[data-ui-theme=ivory] .transport-metronome-inline-control,body[data-ui-theme=ivory] .transport-tempo-controls,body[data-ui-theme=ivory] .transport-toggle,body[data-ui-theme=ivory] .loop-range-chip,body[data-ui-theme=ivory] select,body[data-ui-theme=ivory] input{background-color:#efe3d2;border-color:#c8b49a;color:#17202d}body[data-ui-theme=ivory] .transport-metronome-toggle.transport-toggle{background:transparent;border-color:transparent;box-shadow:none}body[data-ui-theme=ivory] .metronome-volume-icon{color:#536176}body[data-ui-theme=ivory] .loop-range-chip.is-active,body[data-ui-theme=ivory] .focus-loop-btn.is-active{border-color:#2f58c7;background:#2f58c7;color:#fff;box-shadow:0 8px 22px #2f58c733}body[data-ui-theme=ivory] .practice-pause-btn.active{border-color:#2f58c7;background:#2f58c7;color:#fff}body[data-ui-theme=ivory] .practice-midi-play-btn,body[data-ui-theme=ivory] .tempo-advanced-button,body[data-ui-theme=ivory] .mini-btn,body[data-ui-theme=ivory] .focus-inline-btn,body[data-ui-theme=ivory] .focus-inline-select,body[data-ui-theme=ivory] .focus-tempo-button{background:#efe3d2;border-color:#c8b49a;color:#17202d}body[data-ui-theme=ivory] button:disabled,body[data-ui-theme=ivory] select:disabled,body[data-ui-theme=ivory] input:disabled{opacity:.58;color:#536176}body[data-ui-theme=ivory] .transport-toggle input[type=checkbox]:disabled,body[data-ui-theme=ivory] .settings-toggle input[type=checkbox]:disabled{background:#d9ccbb;border-color:#bdab93}body[data-ui-theme=ivory].focus-mode #panelKeyboard{background:#fffaf3;border-top-color:#cbb79f}body[data-ui-theme=ivory].focus-mode .focus-pill-running-stop{background:#fffaf3db}body[data-ui-theme=ivory] .feedback-panel{border-top-color:#d2bea5}body[data-ui-theme=ivory] .feedback-sheet-toggle,body[data-ui-theme=ivory] .practice-summary-details,body[data-ui-theme=ivory] .practice-summary-tag{background:#efe3d2;border-color:#d2bea5;color:#263041}body[data-ui-theme=ivory] .practice-summary-compact{color:#17202d}body[data-ui-theme=ivory] .practice-summary-tag{color:#3349b6}body[data-ui-theme=ivory] .practice-summary-heatmap-cell{background:#f7eddf;border-color:#d2bea5;color:#536176}body[data-ui-theme=ivory] .practice-summary-heatmap-cell.is-clean{background:#dff6ea;border-color:#93d5b8;color:#075f43}body[data-ui-theme=ivory] .practice-summary-heatmap-cell.is-ok{background:#fff0c2;border-color:#e1bd56;color:#684600}body[data-ui-theme=ivory] .practice-summary-heatmap-cell.is-weak{background:#ffe2df;border-color:#ee9b95;color:#9f1d14}body[data-ui-theme=ivory] .settings-section-title{color:#3349b6}body[data-ui-theme=ivory] .settings-toggle input[type=checkbox],body[data-ui-theme=ivory] .transport-toggle input[type=checkbox]{background:#d3c5b2;border-color:#ad9b85}body[data-ui-theme=ivory] .settings-toggle input[type=checkbox]:checked,body[data-ui-theme=ivory] .transport-toggle input[type=checkbox]:checked{background:#5a45bd;border-color:#5a45bd}body[data-ui-theme=ivory] .settings-contact-icon,body[data-ui-theme=ivory] .mini-btn.settings-help-btn{color:#3349b6}body[data-ui-theme=ocean]{color-scheme:dark;--bg: #07151d;--body-bg: #081821;--panel: #102530;--panel-soft: rgba(16, 37, 48, .82);--control: #183645;--control-2: #21485a;--ink: #e7f7f7;--ink-strong: #ffffff;--muted: #9fbcc2;--line: #264b59;--brand: #67d8c7;--brand-strong: #22b8a5;--ok: #8ee6a8;--paper: #f8fbfb;--top-bg: rgba(7, 21, 29, .98);--top-brand-bg: rgba(3, 12, 18, .38);--surface-shadow: rgba(0, 0, 0, .34);--button-text-on-accent: #041315;--select-arrow: #8ed8df;--active-soft: rgba(34, 184, 165, .18);--hover-soft: rgba(103, 216, 199, .08);--feedback-panel-bg: #0b1f2a;--feedback-expanded-bg: #0d2632;--feedback-card-bg: rgba(13, 42, 54, .74);--feedback-score-card-bg: linear-gradient(135deg, rgba(34, 184, 165, .22), rgba(14, 116, 144, .18)), rgba(13, 42, 54, .82);--feedback-card-border: rgba(103, 216, 199, .2);--feedback-control-bg: rgba(103, 216, 199, .1);--feedback-control-border: rgba(103, 216, 199, .24);--feedback-select-bg: rgba(8, 24, 33, .82);--feedback-track-bg: rgba(159, 188, 194, .16);--feedback-chip-bg: rgba(103, 216, 199, .11);--feedback-muted: #b5cdd3;--feedback-summary: #c7e4e7;--feedback-compact: #e7f7f7;--feedback-action-bg: rgba(34, 184, 165, .2);--feedback-action-border: rgba(103, 216, 199, .32);--feedback-action-color: #d9fffa;--feedback-action-hover-bg: rgba(34, 184, 165, .3);--feedback-action-hover-border: rgba(103, 216, 199, .48);--feedback-next-bg: rgba(34, 184, 165, .16);--feedback-next-border: rgba(103, 216, 199, .24);--feedback-next-color: #d9fffa;--feedback-tooltip-bg: #102530;--feedback-tag-border: rgba(103, 216, 199, .24);--feedback-tag-color: #d9fffa}body[data-ui-theme=forest]{color-scheme:dark;--bg: #10160f;--body-bg: #11170f;--panel: #1a2419;--panel-soft: rgba(26, 36, 25, .82);--control: #243223;--control-2: #30432c;--ink: #eef4e8;--ink-strong: #ffffff;--muted: #b6c6aa;--line: #33442f;--brand: #d8c36a;--brand-strong: #c4a82e;--ok: #8fd694;--paper: #fbfaf3;--top-bg: rgba(16, 22, 15, .98);--top-brand-bg: rgba(8, 13, 8, .4);--surface-shadow: rgba(0, 0, 0, .34);--button-text-on-accent: #111707;--select-arrow: #d8c36a;--active-soft: rgba(216, 195, 106, .16);--hover-soft: rgba(216, 195, 106, .08);--feedback-panel-bg: #151f14;--feedback-expanded-bg: #182417;--feedback-card-bg: rgba(29, 43, 27, .76);--feedback-score-card-bg: linear-gradient(135deg, rgba(216, 195, 106, .18), rgba(143, 214, 148, .14)), rgba(29, 43, 27, .84);--feedback-card-border: rgba(216, 195, 106, .2);--feedback-control-bg: rgba(216, 195, 106, .1);--feedback-control-border: rgba(216, 195, 106, .24);--feedback-select-bg: rgba(17, 23, 15, .86);--feedback-track-bg: rgba(182, 198, 170, .16);--feedback-chip-bg: rgba(216, 195, 106, .1);--feedback-muted: #c3d0b8;--feedback-summary: #d6e2ce;--feedback-compact: #eef4e8;--feedback-action-bg: rgba(143, 214, 148, .16);--feedback-action-border: rgba(143, 214, 148, .28);--feedback-action-color: #dcfce7;--feedback-action-hover-bg: rgba(143, 214, 148, .24);--feedback-action-hover-border: rgba(143, 214, 148, .44);--feedback-next-bg: rgba(216, 195, 106, .13);--feedback-next-border: rgba(216, 195, 106, .24);--feedback-next-color: #fef3c7;--feedback-tooltip-bg: #1a2419;--feedback-tag-border: rgba(216, 195, 106, .24);--feedback-tag-color: #fef3c7}body[data-ui-theme=aubergine]{color-scheme:dark;--bg: #140f18;--body-bg: #151019;--panel: #211729;--panel-soft: rgba(33, 23, 41, .82);--control: #2f203a;--control-2: #422b50;--ink: #f4eefa;--ink-strong: #ffffff;--muted: #c8b7d2;--line: #463250;--brand: #f0b86f;--brand-strong: #d9933f;--ok: #8ee7c8;--paper: #fbf8fb;--top-bg: rgba(20, 15, 24, .98);--top-brand-bg: rgba(11, 7, 14, .42);--surface-shadow: rgba(0, 0, 0, .36);--button-text-on-accent: #1a0f05;--select-arrow: #f0b86f;--active-soft: rgba(240, 184, 111, .16);--hover-soft: rgba(240, 184, 111, .08);--feedback-panel-bg: #1a1220;--feedback-expanded-bg: #211729;--feedback-card-bg: rgba(47, 32, 58, .74);--feedback-score-card-bg: linear-gradient(135deg, rgba(240, 184, 111, .2), rgba(142, 231, 200, .12)), rgba(47, 32, 58, .84);--feedback-card-border: rgba(240, 184, 111, .2);--feedback-control-bg: rgba(240, 184, 111, .1);--feedback-control-border: rgba(240, 184, 111, .24);--feedback-select-bg: rgba(21, 16, 25, .86);--feedback-track-bg: rgba(200, 183, 210, .16);--feedback-chip-bg: rgba(240, 184, 111, .1);--feedback-muted: #d2c1dc;--feedback-summary: #eadcf1;--feedback-compact: #f4eefa;--feedback-action-bg: rgba(142, 231, 200, .16);--feedback-action-border: rgba(142, 231, 200, .3);--feedback-action-color: #d6fff2;--feedback-action-hover-bg: rgba(142, 231, 200, .24);--feedback-action-hover-border: rgba(142, 231, 200, .46);--feedback-next-bg: rgba(240, 184, 111, .13);--feedback-next-border: rgba(240, 184, 111, .24);--feedback-next-color: #ffedd5;--feedback-tooltip-bg: #211729;--feedback-tag-border: rgba(240, 184, 111, .24);--feedback-tag-color: #ffedd5}
