/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.hidden{display:none}.text-violet-300{color:var(--color-violet-300)}.text-violet-400{color:var(--color-violet-400)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{font-family:var(--font-sans);color:#e9eaf4;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0d1018}*{box-sizing:border-box}body{min-width:320px;margin:0}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline-offset:4px;outline:3px solid #bba9ff}.app-shell{min-height:100vh;display:flex}.sidebar{background:linear-gradient(160deg,#1b1e2e,#11141e 65%);border-right:1px solid #292d3e;flex-direction:column;flex-shrink:0;width:238px;padding:36px 20px 24px;display:flex}.brand{color:#f1edff;letter-spacing:-1px;align-items:center;gap:12px;margin:0 6px 48px;font-size:27px;font-weight:750;text-decoration:none;display:flex}.brand svg{color:#b9a8ff}.nav-caption,.eyebrow{letter-spacing:1.8px;color:#a4a9c0;margin:0 0 12px;font-size:10px;font-weight:700}.nav-caption{letter-spacing:1.2px;margin-left:10px}.nav-active{color:#fff;background:linear-gradient(110deg,#7954ee,#6066e8);border-radius:10px;align-items:center;gap:12px;min-height:50px;padding:12px 15px;font-size:14px;font-weight:600;text-decoration:none;display:flex;box-shadow:0 8px 30px #6252e61a}.nav-active>span{font-size:24px;line-height:1}.future-nav{color:#9ca3bb;flex-direction:column;gap:4px;padding:22px 15px 0;font-size:13px;display:flex}.future-nav small{color:#747e98;font-size:10px}.sidebar-bottom{margin-top:auto;padding-top:80px}.device-summary{background:#ffffff04;border:1px solid #303448;border-radius:12px;align-items:center;gap:12px;padding:16px 12px;display:flex}.device-summary>svg{color:#9aa2bd;flex-shrink:0}.device-summary strong{overflow-wrap:anywhere;font-size:12px}.device-summary p{color:#a9afc4;margin:7px 0 0;font-size:10px}.dot{background:#727b96;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-right:6px;display:inline-block}.dot-live{background:#72d7ad}.local-note{color:#929bb4;padding:10px 8px 0;font-size:10px;line-height:1.9}main{flex:1;min-width:0;max-width:1600px;margin:0 auto;padding:42px 40px 24px}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:30px;display:flex}h1{letter-spacing:-1.3px;margin:0 0 12px;font-size:clamp(28px,2.6vw,40px);font-weight:720;line-height:1.15}.subtitle{color:#a5aec4;margin:0;font-size:13px;line-height:1.6}.phase-badge{color:#b4bbd1;white-space:nowrap;border:1px solid #303348;border-radius:8px;padding:9px 12px;font-size:10px}.intro-strip{background:#171925;border:1px solid #292c42;border-radius:12px;flex-wrap:wrap;align-items:center;gap:11px;margin-bottom:24px;padding:17px 20px;display:flex}.intro-strip p{color:#c1c6d9;margin:0;font-size:11px}.step-number{color:#c1b6ff;background:#7560eb26;border-radius:7px;place-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:grid}.step-divider{color:#737b97;margin:0 auto}.diagnostic-grid{grid-template-columns:1.35fr 1fr;gap:22px;margin-bottom:24px;display:grid}.panel{background:linear-gradient(130deg,#1c2030,#151924);border:1px solid #2b3045;border-radius:16px;padding:26px}.section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}h2{letter-spacing:-.4px;margin:0;font-size:19px;font-weight:650}.status-pill{color:#b9c0d3;text-align:center;border:1px solid #3a4055;border-radius:20px;padding:7px 10px;font-size:10px}.status-live{color:#8be4bb;background:#223f3433;border-color:#3c695a}.body-copy{color:#aeb7cf;margin:20px 0;font-size:12px;line-height:1.8}.primary-button{color:#fff;background:linear-gradient(110deg,#7954ec,#5f67df);border:1px solid #a48aff55;border-radius:9px;justify-content:space-between;align-items:center;width:100%;min-height:48px;margin-bottom:23px;padding:12px 17px;font-size:13px;font-weight:650;display:flex}label{color:#bdc4d9;margin-bottom:9px;font-size:11px;font-weight:550;display:block}select{color:#d8ddef;background:#101521;border:1px solid #373e56;border-radius:9px;width:100%;max-width:100%;min-height:48px;padding:12px;font-size:12px}select:disabled{color:#9ea9c3}.connection-footer{color:#a0abc4;align-items:center;margin-top:21px;font-size:10px;display:flex}.notice{color:#ecd4a9;overflow-wrap:anywhere;background:#f8bd4e09;border:1px solid #f8bd4e33;border-radius:8px;padding:12px;font-size:12px;line-height:1.7}.hit-panel{background:radial-gradient(at 50% 35%,#7062c216,#0000 70%),#171b29}.hit-orbit{color:#a8a0cb;background:radial-gradient(circle,#7860d514,#7860d503);border:1px solid #57507866;border-radius:50%;outline:9px solid #8272df08;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:164px;height:164px;margin:23px auto;display:flex}.hit-orbit>span{font-size:14px;font-weight:600}.hit-orbit>small{color:#9ba5be;font-size:9px}.hit-received{color:#cfbaff;border-color:#a08aef}.hit-stats{justify-content:space-around;margin-bottom:24px;display:flex}.hit-stats>div{text-align:center}.hit-stats strong{font-variant-numeric:tabular-nums;font-size:26px;font-weight:650;display:block}.hit-stats span{color:#a2adc6;margin-top:5px;font-size:10px;display:block}meter{width:100%;height:10px;display:block}meter::-webkit-meter-bar{background:#30364e;border:0;border-radius:10px}meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,#7261e9,#8ca6ff);border-radius:10px}.events-panel{padding-bottom:0;overflow:hidden}.events-panel .body-copy{margin:14px 0 22px}.secondary-button{color:#c6bbff;background:#7260d412;border:1px solid #4a456a;border-radius:9px;min-height:44px;padding:10px 14px;font-size:11px;font-weight:600}.table-scroll{max-height:420px;margin:0 -26px;overflow:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%;font-size:11px}th{color:#a5aec6;background:#111622;padding:13px 20px;font-weight:500;position:sticky;top:0}td{color:#c0c9df;font-variant-numeric:tabular-nums;border-bottom:1px solid #2b304333;padding:12px 20px}.empty-state{text-align:center;white-space:normal;padding:24px 12px 34px}.empty-state>span{color:#9e8bd6;font-size:36px;display:block}.empty-state strong{color:#c6cce0;margin-top:7px;font-size:13px;font-weight:500;display:block}.empty-state p{color:#9ba6c2;margin:10px 0 0;font-size:11px;line-height:1.7}.event-type{color:#b4bcd2}.event-noteOn{color:#bca8ff}.event-controlChange{color:#87c6ef}.bytes{font-family:ui-monospace,monospace;font-size:10px}.table-footer{color:#99a4bf;justify-content:space-between;gap:16px;padding:14px 0;font-size:9px;display:flex}.page-footer{color:#98a4be;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:22px;font-size:10px;line-height:1.6;display:flex}@media (width>=1500px){main{padding-top:52px}.diagnostic-grid{grid-template-columns:1.45fr 1fr}}@media (width<=1150px){.sidebar{width:200px;padding:30px 14px}main{padding:32px 24px}.diagnostic-grid{grid-template-columns:1fr}.hit-panel{min-width:0}.intro-strip{gap:8px}.step-divider{display:none}.intro-strip p{margin-right:10px}}@media (width<=760px){.app-shell{display:block}.sidebar{border-bottom:1px solid #292d3e;border-right:0;flex-direction:row;justify-content:space-between;align-items:center;width:100%;padding:18px 20px}.brand{margin:0;font-size:22px}.brand svg{width:28px}.nav-caption,.future-nav,.sidebar-bottom{display:none}.nav-active{min-height:44px;padding:9px;font-size:11px}.nav-active>span{display:none}main{padding:28px 16px}.page-header{margin-bottom:22px}.phase-badge{display:none}.intro-strip{grid-template-columns:24px 1fr;gap:12px;display:grid}.panel{padding:20px}.table-scroll{margin:0 -20px}.section-heading{align-items:flex-start}.status-pill{max-width:130px}h2{font-size:17px}.table-footer{flex-direction:column;gap:6px}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.studio-shell{color:#eeeef9;background:radial-gradient(at 65% 0,#171c3122,#0000 55%),#0e111a;min-height:100vh;display:flex}.studio-sidebar{background:linear-gradient(155deg,#1c2030,#121620 70%);border-right:1px solid #282c3c;flex-direction:column;flex-shrink:0;align-self:flex-start;width:224px;height:100vh;padding:34px 18px 20px;display:flex;position:sticky;top:0}.studio-brand{color:#c2b7ff;align-items:center;gap:11px;margin:0 10px 54px;text-decoration:none;display:flex}.studio-brand>span{color:#f1efff;letter-spacing:-1px;font-size:27px;font-weight:750;line-height:1.1}.studio-brand>span>span{color:#b5a9ff}.studio-brand small{letter-spacing:1.3px;color:#8e94ac;margin-top:9px;font-size:7px;font-weight:500;display:block}.sidebar-caption{letter-spacing:1.9px;color:#818aa4;margin:0 13px 14px;font-size:9px;font-weight:600}.studio-nav{text-align:left;color:#a9b2ca;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:13px;width:100%;min-height:50px;margin-bottom:8px;padding:15px 14px;font-size:13px;display:flex}.studio-nav:hover{color:#e6e3ff;background:#ffffff06}.studio-nav.selected{color:#fff;background:linear-gradient(110deg,#7854eb,#6269df);border-color:#b6a5ff33;box-shadow:0 6px 25px #6959ea22}.nav-indicator{background:#efecff;border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-lesson{margin:auto 9px 42px;padding:26px 0 0}.sidebar-lesson>span{color:#9697b7;letter-spacing:1.4px;font-size:8px}.sidebar-lesson strong{color:#c8c3e3;margin:15px 0 10px;font-size:21px;font-weight:500;line-height:1.4;display:block}.sidebar-lesson p{color:#8b94ac;max-width:145px;font-size:10px;line-height:1.8}.mini-beats{align-items:center;gap:5px;height:35px;margin-top:20px;display:flex}.mini-beats i{background:#6d62a9;border-radius:3px;width:4px;height:11px;display:block}.mini-beats i:nth-child(2n){background:#9c8ae0;height:25px}.mini-beats i:nth-child(3n){background:#616daf;height:17px}.studio-device{color:#a9b1c9;background:#ffffff04;border:1px solid #34394e;border-radius:10px;align-items:center;gap:10px;margin-bottom:20px;padding:15px 12px;display:flex}.studio-device>svg{flex-shrink:0}.studio-device strong{overflow-wrap:anywhere;color:#d7dbed;font-size:10px;font-weight:600;display:block}.studio-device small{margin-top:7px;font-size:9px;display:block}.studio-version{color:#9aa4bc;justify-content:space-between;margin:0 7px;font-size:9px;display:flex}.studio-version>span{color:#818ba6;font-size:7px}.studio-workspace{flex:1;min-width:0}.studio-main{flex:initial;width:100%;min-width:0;max-width:1580px;margin:0 auto;padding:35px 34px 24px;display:block}.trainer-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px;display:flex}.trainer-header .eyebrow{letter-spacing:1.5px;color:#919bb6;font-size:9px}.trainer-header .eyebrow>span{color:#666e8d;margin:0 8px}.trainer-header h1{letter-spacing:-1px;margin-bottom:10px;font-size:35px;font-weight:700}.beginner-label{color:#9ba6bd;margin:0 0 12px;font-size:11px}.beginner-label>span{color:#e9c673;margin-right:5px;font-size:15px}.exercise-description{color:#a8b2c9;margin:0;font-size:12px;line-height:1.6}.mode-badge{white-space:nowrap;color:#aab5d0;background:#1b2030;border:1px solid #353c51;border-radius:8px;align-items:center;gap:4px;min-height:44px;padding:10px 12px;font-size:10px;display:flex}.mode-midi{color:#8be3bd;border-color:#397c68}.transport-panel{background:linear-gradient(115deg,#1b2031,#171c29);border:1px solid #2d3349;border-radius:14px;grid-template-columns:235px 1fr 185px;align-items:center;gap:22px;margin-bottom:25px;padding:20px 24px;display:grid}.tempo-card>label{color:#99a4c0;letter-spacing:1.5px;margin:0 0 10px;font-size:9px}.tempo-card>div{align-items:center;gap:4px;display:flex}.tempo-card input{color:#f6f4ff;text-align:center;appearance:textfield;background:0 0;border:0;width:65px;padding:0;font-size:32px;font-weight:650;line-height:1.3}.tempo-card input::-webkit-inner-spin-button{appearance:none}.tempo-card input:disabled{color:#ced1df}.tempo-card>div>span{color:#9fa8be;margin-right:8px;font-size:10px}.tempo-card button{color:#b9c4de;background:#2a3044;border:1px solid #3a415b;border-radius:8px;place-items:center;width:36px;min-height:36px;font-size:19px;display:grid}.tempo-card>small{color:#8d9ab9;margin-top:9px;font-size:8px;display:block}.transport-center{text-align:center}.transport-buttons{justify-content:center;align-items:center;gap:22px;display:flex}.play-button{color:#fff;background:linear-gradient(145deg,#8570ff,#625bdf);border:1px solid #aa9aff66;border-radius:50%;place-items:center;width:64px;height:64px;display:grid;box-shadow:0 7px 25px #7564e833}.play-button:hover{background:linear-gradient(145deg,#9b89ff,#6b62eb)}.transport-small{color:#a8b3cc;background:0 0;border:0;place-items:center;width:40px;height:44px;display:grid}.transport-center>p{color:#a2adc8;margin:12px 0 0;font-size:9px;line-height:1.5}.transport-toggles{border-left:1px solid #30364a;flex-direction:column;gap:11px;padding-left:24px;display:flex}.studio-toggle{color:#c4cbe0;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:22px;margin:0;font-size:11px;font-weight:400;display:flex;position:relative}.studio-toggle input{opacity:0;width:1px;height:1px;position:absolute}.toggle-track{background:#3b4259;border:1px solid #ffffff0c;border-radius:20px;flex-shrink:0;width:33px;height:19px;display:block;position:relative}.toggle-track:after{content:"";background:#b6bbce;border-radius:50%;width:13px;height:13px;position:absolute;top:2px;left:3px}.studio-toggle input:checked+.toggle-track{background:linear-gradient(100deg,#6e55e6,#7577f1)}.studio-toggle input:checked+.toggle-track:after{background:#f4f0ff;left:15px}.studio-toggle:has(input:focus-visible) .toggle-track{outline-offset:3px;outline:3px solid #bba9ff}.notation-panel{background:#191c2a;border:1px solid #3c3b57;border-radius:14px;margin-bottom:26px;overflow:hidden;box-shadow:0 12px 30px #00000016}.notation-top{justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.notation-top h2{color:#dfdef2;font-size:14px;font-weight:600}.notation-top>div{gap:10px;display:flex}.notation-top>div>span{color:#b5bdd6;background:#24283c;border:1px solid #3a3d56;border-radius:5px;padding:5px 9px;font-size:9px}.beat-strip{background:#212438;border-top:1px solid #34364e;border-bottom:1px solid #34364e;justify-content:space-between;align-items:center;min-height:56px;padding:10px 22px;display:flex}.beat-strip>span{letter-spacing:1px;color:#bcb4df;width:190px;font-size:8px;font-weight:600}.beat-strip .measure-count{text-align:right;color:#a8a9c5;font-size:8px}.beat-dots{gap:20px;display:flex}.beat-dots>span{color:#8d91ab;border-radius:50%;place-items:center;min-width:31px;height:31px;font-size:15px;font-weight:600;display:grid}.beat-dots>.beat-current{color:#fff;background:#8a71ef;box-shadow:0 0 0 4px #8a71ef17}.score-viewport{scrollbar-color:#aca0da #eeebf4;background:#f7f6fb;width:100%;position:relative;overflow:auto hidden}.score-canvas{color:#181723;height:224px;position:relative}.score-canvas svg{display:block}.score-cursor{pointer-events:none;background:#9983e388;width:1px;height:105px;position:absolute;top:60px}.score-cursor:before{content:"";background:linear-gradient(90deg,#9983e31f,#0000);border-radius:0 5px 5px 0;width:19px;position:absolute;top:0;bottom:0;left:0}.score-cursor.cursor-active{background:#8065df;width:2px}.score-cursor.cursor-active:before{background:linear-gradient(90deg,#9983e340,#0000)}.score-error{color:#67274b;padding:15px;font-size:12px}.score-legend{color:#69657a;background:#eeecf5;border-top:1px solid #e1ddeb;flex-wrap:wrap;align-items:center;gap:19px;padding:12px 22px;font-size:9px;display:flex}.score-legend b{color:#4d4761;padding-right:5px;font-size:13px}.score-hint{color:#7a718d;margin-left:auto;font-size:8px}.trainer-lower{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:25px;display:grid}.kit-panel{min-width:0;padding:2px 6px 0;position:relative}.kit-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.kit-heading .eyebrow{margin-bottom:6px;font-size:8px}.kit-heading h2{font-size:17px}.tag{white-space:nowrap;color:#9ca5bf;letter-spacing:.6px;border:1px solid #373a51;border-radius:5px;padding:6px 8px;font-size:7px;display:inline-block}.drum-kit{width:100%;height:auto;max-height:330px;margin-top:10px;display:block}.drum-pad{cursor:pointer}.drum-pad:hover{filter:brightness(1.13)}.drum-pad:focus-visible{filter:brightness(1.4);outline:none}.drum-pad:focus-visible>ellipse{stroke:#bba9ff;stroke-width:4px}.kit-footnote{color:#909bb5;text-align:center;max-width:500px;margin:0 auto 15px;font-size:9px;line-height:1.7}.practice-side{flex-direction:column;gap:16px;display:flex}.studio-panel{background:linear-gradient(130deg,#1c2232,#161b28);border:1px solid #30364b;border-radius:13px;padding:20px}.studio-panel h2{font-size:14px;font-weight:600}.exercise-list{padding:17px 14px 13px}.exercise-list .section-heading{margin-bottom:12px;padding:0 5px}.exercise-list .section-heading>span{color:#8e98b5;font-size:9px}.exercise-list .exercise-choices>button{color:#98a5c1;text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:11px;width:100%;min-height:36px;margin-top:3px;padding:8px 10px;display:flex}.exercise-list .exercise-choices>button:hover{background:#ffffff04}.exercise-list .exercise-choices>button>span{color:#c4c8df;background:#2a3144;border-radius:5px;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:10px;display:grid}.exercise-list .exercise-choices>button>strong{font-size:11px;font-weight:400}.exercise-list .exercise-choices>button>svg{opacity:.5;margin-left:auto}.exercise-list .exercise-choices>.exercise-selected{color:#d9ccff;background:linear-gradient(110deg,#6f56bf27,#262a3b);border-color:#7560bc44}.exercise-list .exercise-choices>.exercise-selected>span{color:#fff;background:linear-gradient(130deg,#9a65fb,#665fe0);box-shadow:0 0 9px #8b5cea33}.session-panel{padding:19px}.live-label{letter-spacing:1px;color:#9c91ca;font-size:7px}.session-stats{grid-template-columns:1fr 1fr;margin:18px 0 12px;display:grid}.session-stats>div+div{border-left:1px solid #333b50;padding-left:24px}.session-stats strong{letter-spacing:-1px;font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1.15;display:block}.session-stats span{color:#96a3bd;margin-top:6px;font-size:9px;display:block}.input-feedback{color:#98a3c2;min-height:27px;margin-bottom:12px;font-size:9px;line-height:1.5}.finish-button{color:#c8baff;background:#7161c41b;border:1px solid #6556a866;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:43px;font-size:11px;font-weight:550;display:flex}.finish-button:disabled{opacity:.5}.practice-tip{background:linear-gradient(115deg,#25253e66,#1a1e2d);border:1px solid #34374e;border-radius:12px;align-items:flex-start;gap:16px;margin-top:25px;padding:19px 22px;display:flex}.practice-tip>span{color:#b9a4f9;font-size:28px;line-height:1}.practice-tip strong{color:#cbc1ee;font-size:11px;font-weight:600}.practice-tip p{color:#9ca8c4;margin:6px 0 0;font-size:10px;line-height:1.8}.learning-goal{border-left:1px solid #3b3a54;flex-shrink:0;max-width:290px;margin-left:auto;padding-left:24px}.learning-goal>small{letter-spacing:1px;color:#898ba9;font-size:7px}.learning-goal>p{font-size:9px;line-height:1.6}.trainer-footer{color:#8490ac;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:18px;font-size:8px;line-height:1.7;display:flex}.page-title{margin:5px 0 32px}.page-title h1{font-size:32px}.page-title>p:last-child{color:#a0acc8;font-size:12px;line-height:1.7}.exercise-library{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.exercise-card{text-align:left;color:#d8dcf0;background:linear-gradient(130deg,#202638,#171c2c);border:1px solid #343c54;border-radius:14px;flex-direction:column;align-items:flex-start;min-height:300px;padding:23px;display:flex}.exercise-card:hover{background:linear-gradient(130deg,#2c2a47,#1c2034);border-color:#a28be0}.exercise-card-top{justify-content:space-between;align-self:stretch;align-items:center;margin-bottom:24px;display:flex}.exercise-number{color:#a193cc;font-size:19px;font-weight:600}.exercise-card>svg{color:#b4a2ec;margin-bottom:20px}.exercise-card h2{margin-bottom:12px;font-size:18px}.exercise-card>p{color:#9facc8;flex:1;margin:0 0 22px;font-size:11px;line-height:1.7}.exercise-card-meta{color:#a5a5c7;border-top:1px solid #35364e;flex-wrap:wrap;align-self:stretch;gap:15px;padding-top:15px;font-size:9px;display:flex}.exercise-card>strong{color:#bea8ff;align-items:center;gap:6px;margin-top:22px;font-size:11px;font-weight:500;display:flex}.history-overview{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px;display:grid}.history-overview>div{background:#1c2233;border:1px solid #333b51;border-radius:12px;padding:22px}.history-overview span{color:#939fb9;letter-spacing:1px;font-size:8px;display:block}.history-overview strong{margin-top:17px;font-size:28px;font-weight:600;display:block}.history-panel{padding:0;overflow:hidden}.history-empty{text-align:center;flex-direction:column;align-items:center;padding:65px 30px;display:flex}.history-empty>svg{color:#ad9ae7;margin-bottom:20px}.history-empty h2{font-size:20px}.history-empty p{color:#9facc6;max-width:420px;margin:15px 0 25px;font-size:12px;line-height:1.9}.studio-primary{color:#fff;background:linear-gradient(110deg,#7954eb,#6468e2);border:1px solid #b3a4fc33;border-radius:8px;min-height:44px;padding:12px 19px;font-size:12px}.history-table{overflow:auto}.history-table table{min-width:640px}.history-table td{padding-top:20px;padding-bottom:20px}.history-table td>strong{color:#e1def1;font-size:12px;font-weight:500}.history-table td>small{color:#929eb9;margin-top:6px;font-size:10px;display:block}.fine-print{color:#929eb9;margin:18px 0 0;font-size:10px;line-height:1.8}.toast{z-index:10;color:#e1d8ff;background:#292941;border:1px solid #72649e;border-radius:10px;align-items:center;gap:20px;max-width:calc(100vw - 40px);padding:14px 18px;font-size:12px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-35%);box-shadow:0 5px 30px #0005}.toast>button{color:#c7b9ff;background:0 0;border:0;font-size:19px}.storage-alert{color:#ffe4bf;background:#493527;border-bottom:1px solid #bd8f61;align-items:center;gap:15px;padding:14px 24px;font-size:11px;line-height:1.7;display:flex}.storage-alert>button{color:#ffe4bf;white-space:nowrap;background:#6a4b35;border:1px solid #a67f58;border-radius:7px;padding:8px 12px}.diagnostics-embedded>main{width:100%;max-width:none;padding:35px 34px 24px}.diagnostics-embedded .intro-strip{gap:10px}.diagnostics-embedded .phase-badge{display:none}.midi-mapping{margin:0 34px 35px}.midi-mapping>p{color:#a6b1cc;font-size:11px;line-height:1.8}.mapping-grid{gap:10px;margin-top:25px;display:grid}.mapping-row{border-top:1px solid #363d53;flex-wrap:wrap;align-items:center;gap:15px;padding:12px 0;display:flex}.mapping-row>strong{min-width:85px;font-size:12px}.mapped-notes{flex-wrap:wrap;flex:1;gap:6px;min-width:70px;display:flex}.mapped-notes>span{color:#939fba;font-size:11px}.mapped-notes>button{color:#d4bdff;background:#7560a622;border:1px solid #746298;border-radius:6px;min-height:35px;padding:6px 8px;font-size:11px}.mapping-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mapping-actions input{color:#d8daec;background:#101521;border:1px solid #414a63;border-radius:7px;width:75px;min-height:42px;padding:10px;font-size:12px}.studio-secondary{color:#c4b3ef;background:#7460b51a;border:1px solid #65568480;border-radius:7px;min-height:42px;padding:10px 12px;font-size:11px}.learning-active{color:#ffd6a7;border-color:#bb8c59}@media (width>=1600px){.studio-main{padding:44px 46px 28px}.trainer-header h1{font-size:40px}.transport-panel{padding:24px 28px}.drum-kit{max-height:380px}.studio-sidebar{width:244px;padding:40px 22px 24px}.studio-nav{font-size:14px}.kit-footnote{margin-top:12px}}@media (width<=1200px){.studio-sidebar{width:190px;padding:30px 12px 20px}.studio-brand{gap:7px;margin-left:5px}.studio-brand>span{font-size:25px}.studio-nav{gap:10px;padding-left:10px;font-size:12px}.studio-main{padding:28px 24px}.transport-panel{grid-template-columns:180px 1fr 155px;gap:14px;padding:19px 18px}.transport-toggles{padding-left:15px}.tempo-card input{width:55px;font-size:29px}.tempo-card>div>span{margin-right:1px}.tempo-card button{width:30px;min-height:35px}.transport-buttons{gap:12px}.transport-center>p{font-size:8px}.trainer-lower{grid-template-columns:minmax(0,1.1fr) minmax(260px,1fr);gap:16px}.kit-heading{align-items:flex-start}.kit-heading .tag{white-space:normal;text-align:center;max-width:90px;font-size:7px;line-height:1.5}.learning-goal{max-width:230px}.exercise-library{grid-template-columns:repeat(2,minmax(0,1fr))}.trainer-header h1{font-size:32px}}@media (width<=960px){.transport-panel{grid-template-columns:1fr 1fr;gap:18px}.transport-center{grid-area:1/2}.transport-toggles{border-top:1px solid #30364a;border-left:0;flex-direction:row;grid-column:1/-1;justify-content:space-between;gap:20px;padding:15px 0 0}.studio-toggle{gap:14px}.trainer-lower{grid-template-columns:1fr}.practice-side{grid-template-columns:1fr 1fr;gap:14px;display:grid}.drum-kit{max-height:310px}.kit-heading .tag{white-space:nowrap;max-width:none}.kit-footnote{margin-bottom:12px}.learning-goal{display:none}.trainer-header{gap:12px}.trainer-header h1{font-size:28px}.mode-badge{padding:9px;font-size:8px}.beat-strip{padding:10px 15px}.beat-strip>span{width:135px;font-size:7px}.beat-dots{gap:10px}.beat-strip .measure-count{width:100px;font-size:7px}.score-hint{margin-left:0}.history-overview{gap:10px}.history-overview>div{padding:16px}.history-overview strong{font-size:22px}.midi-mapping{margin:0 24px 28px}.diagnostics-embedded>main{padding:28px 24px}}@media (width<=720px){.studio-shell{display:block}.studio-sidebar{border-bottom:1px solid #32384c;border-right:0;width:100%;height:auto;padding:16px;display:block;position:relative}.studio-brand{gap:9px;margin:0 0 17px}.studio-brand>span{font-size:24px}.studio-brand small{display:none}.studio-brand>svg{width:29px;height:29px}.sidebar-caption,.sidebar-lesson,.studio-device,.studio-version{display:none}.studio-sidebar nav{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.studio-nav{border-radius:8px;flex-direction:column;justify-content:center;gap:6px;min-height:58px;margin:0;padding:9px 3px;font-size:9px}.studio-nav svg{width:18px;height:18px}.nav-indicator{display:none}.studio-main{padding:24px 16px}.trainer-header{margin-bottom:20px}.trainer-header h1{font-size:28px;line-height:1.18}.trainer-header .eyebrow{font-size:8px}.exercise-description{font-size:11px}.beginner-label{font-size:10px}.mode-badge{white-space:normal;text-align:left;gap:3px;max-width:125px;font-size:8px;line-height:1.5}.mode-badge>svg{display:none}.mode-badge>.dot{width:6px;min-width:6px;height:6px}.transport-panel{gap:18px 8px;margin-bottom:21px;padding:18px 15px}.tempo-card input{width:52px;font-size:29px}.tempo-card>small{font-size:7px}.tempo-card button{width:28px;min-height:32px}.tempo-card>div>span{margin-right:0;font-size:8px}.play-button{width:57px;height:57px}.transport-buttons{gap:5px}.transport-small{width:30px}.transport-center>p{max-width:160px;margin:10px auto 0;font-size:8px}.transport-toggles{gap:13px}.studio-toggle{gap:7px;font-size:9px}.toggle-track{width:29px;height:18px}.toggle-track:after{width:12px;height:12px;left:2px}.studio-toggle input:checked+.toggle-track:after{left:13px}.notation-top{padding:14px 16px}.notation-top h2{font-size:13px}.notation-top>div{gap:6px}.notation-top>div>span{padding:4px 6px;font-size:8px}.beat-strip{gap:12px;padding:9px 12px}.beat-strip>span{width:100px;font-size:7px;line-height:1.6}.beat-strip .measure-count{display:none}.beat-dots{gap:12px}.beat-dots>span{min-width:28px;height:28px;font-size:13px}.score-legend{gap:9px 16px;padding:10px 13px;font-size:8px}.score-hint{width:100%;font-size:8px}.kit-heading .tag{font-size:6px}.practice-side{grid-template-columns:1fr}.kit-panel{padding:0}.drum-kit{max-height:none}.kit-footnote{font-size:8px}.practice-tip{gap:12px;margin-top:20px;padding:17px 15px}.practice-tip p{font-size:9px}.trainer-footer{font-size:7px}.page-title h1{font-size:27px}.page-title>p:last-child{font-size:11px}.exercise-library{grid-template-columns:1fr;gap:15px}.exercise-card{min-height:255px;padding:22px}.exercise-card-top,.exercise-card>svg{margin-bottom:14px}.exercise-card h2{font-size:20px}.history-overview{grid-template-columns:1fr 1fr}.history-overview>div:last-child{display:none}.history-overview strong{font-size:27px}.history-overview span{font-size:7px;line-height:1.6}.history-empty{padding:45px 20px}.history-empty h2{font-size:18px}.history-empty p{font-size:11px}.diagnostics-embedded>main{padding:24px 16px}.midi-mapping{margin:0 16px 25px;padding:20px 16px}.mapping-row{gap:12px}.mapping-actions{width:100%}.mapping-actions>button{font-size:10px}.storage-alert{flex-direction:column;align-items:flex-start;padding:12px 16px;font-size:10px}.toast{max-width:none;font-size:11px;bottom:14px;left:20px;right:20px;transform:none}.fine-print{font-size:9px}}.studio-shell{background:linear-gradient(#101521 0,#0c1018 60%,#080b11 100%)}.studio-shell .studio-sidebar{z-index:2;background:linear-gradient(140deg,#1d2130 0%,#161b25 54%,#10151d 100%);border-right-color:#262d3c;width:240px;padding:58px 14px 26px}.studio-shell .studio-brand{gap:15px;margin:0 10px 27px}.studio-shell .studio-brand>span{letter-spacing:-.7px;font-size:28px;font-weight:650}.studio-shell .studio-brand small,.studio-shell .sidebar-caption,.studio-shell .sidebar-lesson{display:none}.studio-shell .studio-nav{border-radius:8px;gap:16px;min-height:54px;margin-bottom:13px;padding:14px 16px;font-size:16px;font-weight:400}.studio-shell .studio-nav.selected{background:linear-gradient(105deg,#7951f4,#636ee8);border-color:#9b87ff66;box-shadow:0 4px 20px #7658f329}.studio-shell .studio-nav>svg{width:25px;height:25px}.studio-shell .nav-indicator{display:none}.studio-shell .studio-device{background:linear-gradient(120deg,#252a36,#1c212c);border-color:#343b4a;gap:15px;margin:38px 0 0;padding:18px 15px;box-shadow:0 5px 25px #0002}.studio-shell .studio-device strong{font-size:12px;font-weight:500}.studio-shell .studio-device small{font-size:10px}.studio-shell .studio-version{margin-top:auto;padding-top:25px;font-size:8px}.reference-trainer{max-width:none;padding:58px 24px 18px;position:relative}.reference-trainer:before{content:"";pointer-events:none;background:linear-gradient(90deg,#121826,#101622);border-bottom:1px solid #1c2332;height:37px;position:absolute;top:0;left:0;right:0}.reference-topbar{grid-template-columns:minmax(235px,.95fr) minmax(360px,1.3fr) 250px;align-items:start;gap:20px;margin-bottom:16px;display:grid}.reference-trainer .trainer-header{min-width:0;margin:3px 0 0;padding-left:12px;display:block}.reference-trainer .trainer-header .eyebrow{color:#a7b3cc;letter-spacing:0;text-transform:none;margin-bottom:7px;font-size:15px;font-weight:500}.reference-trainer .trainer-header .eyebrow>span{color:#7f8ba3;margin:0 7px}.reference-trainer .trainer-header h1{letter-spacing:-.9px;color:#e5dfff;margin-bottom:10px;font-size:32px;font-weight:680;line-height:1.15}.reference-trainer .beginner-label{color:#acb8cd;margin:0 0 12px;font-size:14px;line-height:1.3}.reference-trainer .beginner-label>span{color:#f4c75d;margin-right:4px;font-size:19px}.reference-trainer .exercise-description{color:#a6b4cd;max-width:340px;margin:0;font-size:13px;line-height:1.65}.reference-trainer .transport-panel{box-shadow:none;background:0 0;border:0;min-width:0;margin:0;padding:0;display:block}.parameter-cards{grid-template-columns:minmax(170px,1.4fr) minmax(80px,.8fr) minmax(100px,1fr);gap:12px;display:grid}.reference-trainer .tempo-card,.meter-card,.repeat-card{background:linear-gradient(125deg,#1c2332,#171e29);border:1px solid #252d3d;border-radius:13px;height:84px;padding:14px 16px;box-shadow:0 5px 20px #0000000c}.reference-trainer .tempo-card>label{letter-spacing:0;text-transform:capitalize;color:#afbdd3;margin:0 0 5px;font-size:12px;font-weight:400}.reference-trainer .tempo-card>div{gap:4px}.reference-trainer .tempo-card input{text-align:left;color:#f8f7ff;width:46px;font-size:28px;font-weight:650;line-height:1.1}.reference-trainer .tempo-card>div>span{color:#a4afc6;margin-right:auto;font-size:10px}.reference-trainer .tempo-card button{color:#b5c1dc;background:#2a3244;border:0;border-radius:7px;width:27px;min-height:28px;font-size:20px;line-height:1}.meter-card>span,.repeat-card>span{color:#afbdd3;margin-bottom:5px;font-size:12px;line-height:1.3;display:block}.meter-card>strong{color:#aab5cc;font-size:27px;font-weight:600;line-height:1}.repeat-card{padding-left:16px;padding-right:12px}.repeat-card>div{justify-content:space-between;align-items:center;gap:6px;display:flex}.repeat-card strong{color:#b4bed5;font-size:31px;font-weight:400;line-height:1}.reference-trainer .repeat-card .studio-toggle{min-height:24px}.repeat-card .toggle-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.reference-trainer .transport-center{margin:11px 0 0}.reference-trainer .transport-buttons{justify-content:center;gap:28px}.reference-trainer .play-button{background:linear-gradient(140deg,#7464f7,#6367e3);border-color:#9797ff77;width:78px;height:78px;box-shadow:inset 0 0 12px #a6a3ff19,0 5px 30px #0003}.reference-trainer .play-button:has(path[d^=M8\ 4]) svg{fill:#f8f8ff;stroke-width:1px;transform:translate(2px)}.reference-trainer .transport-small{color:#b3bfd9;width:34px;height:44px}.reference-trainer .transport-small svg{fill:currentColor;stroke-width:1.1px}.reference-trainer .transport-center>p{color:#8e9bb7;margin:6px 0 0;font-size:9px;line-height:1.3}.exercise-progress{background:repeating-linear-gradient(90deg,#3f3e7166 0 calc(12.5% - 1px),#181e30 calc(12.5% - 1px) 12.5%);border:1px solid #42466a;border-radius:3px;height:9px;margin:11px 2px 0;position:relative;overflow:hidden}.exercise-progress>span{background:linear-gradient(90deg,#8357f5,#605ef0,#35a9ee);border-right:1px solid #c1b7ff;height:100%;display:block}.sound-cards{grid-template-columns:1fr 1fr;gap:13px;display:grid}.reference-trainer .sound-cards .studio-toggle{color:#e1e5f3;background:linear-gradient(125deg,#1b2332,#141c27);border:1px solid #2a3344;border-radius:13px;grid-template-columns:30px 1fr;justify-content:normal;align-items:center;gap:12px 7px;min-height:110px;margin:0;padding:17px 12px 15px;font-size:11px;display:grid}.sound-cards .studio-toggle>svg{color:#94a0bb;width:30px;height:30px}.sound-cards .toggle-label{white-space:nowrap}.sound-cards .toggle-track{background:#3b435c;grid-column:1/-1;justify-self:center;width:43px;height:23px;display:block}.sound-cards .toggle-track:after{background:#dddff3;width:18px;height:18px;top:1px;left:2px}.sound-cards .studio-toggle input:checked+.toggle-track:after{left:21px}.sound-cards .studio-toggle input:checked+.toggle-track{background:linear-gradient(90deg,#5e5bea,#8c7aff)}.reference-practice-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.practice-stage{min-width:0;position:relative}.reference-trainer .notation-panel{box-shadow:none;z-index:2;background:0 0;border:0;border-radius:0;margin:0;position:relative;overflow:visible}.reference-trainer .beat-strip{background:linear-gradient(110deg,#222630,#1c222c);border:1px solid #292e3b;border-radius:14px;flex-direction:column;justify-content:center;gap:6px;min-height:68px;margin-bottom:7px;padding:9px 14px;display:flex;box-shadow:0 4px 18px #0002}.reference-trainer .beat-strip>span{letter-spacing:.3px;color:#c9c8e9;text-align:center;width:auto;font-size:10px;font-weight:400;line-height:1.2}.reference-trainer .beat-dots{gap:35px}.reference-trainer .beat-dots>span{color:#e5e6ee;border-radius:5px;min-width:26px;height:25px;font-size:19px;font-weight:600}.reference-trainer .beat-dots>.beat-current{color:#d8c9ff;background:#7e62da33;box-shadow:0 0 0 3px #a487f522}.score-sheet{background:#f7f6fb;border:1px solid #d7d7e2;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px #0002}.reference-trainer .score-viewport{background:linear-gradient(110deg,#fbfafc,#f5f4f8)}.reference-trainer .score-cursor{height:125px;top:50px}.reference-trainer .score-legend{color:#5d596c;background:#f6f5fa;border-top:0;gap:20px;padding:8px 19px 11px;font-size:9px}.reference-trainer .score-legend b{color:#383342}.reference-trainer .score-hint{font-size:8px}.reference-trainer .kit-panel{isolation:isolate;margin:0;padding:0;position:relative}.photo-drum-kit{aspect-ratio:1.95;isolation:isolate;background:#0b0e15;width:100%;position:relative;overflow:hidden}.kit-photograph{object-fit:fill;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.kit-photo-shade{pointer-events:none;background:linear-gradient(#0d111888,#0000 15% 80%,#0b0e17b3),linear-gradient(90deg,#0b0e1533,#0000 15% 90%,#0b0e1544);position:absolute;inset:0}.photo-pad{color:#d7d9e7;--pad-color:#b4a4fa;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;min-height:35px;padding:0;display:block;position:absolute;transform:translate(-50%,-50%)}.photo-pad:hover{background:#ffffff08}.photo-pad:focus-visible{outline:2px dashed var(--pad-color);outline-offset:0}.photo-pad-hiHat{--pad-color:#fbd067}.photo-pad-snare{--pad-color:#ff7478}.photo-pad-kick{--pad-color:#7e9fff}.pad-marker{border:3px solid var(--pad-color);opacity:0;width:21px;height:21px;box-shadow:0 0 0 5px color-mix(in srgb, var(--pad-color) 14%, transparent), 0 0 18px color-mix(in srgb, var(--pad-color) 30%, transparent);pointer-events:none;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pad-name{white-space:nowrap;color:var(--pad-color);text-shadow:0 2px 5px #000,0 0 10px #000;opacity:0;pointer-events:none;background:#15162166;border-radius:7px;padding:4px 9px;font-size:12px;font-weight:650;position:absolute;top:calc(50% - 48px);left:50%;transform:translate(-50%)}.pad-name>kbd{opacity:.6;vertical-align:middle;margin-left:6px;font-family:inherit;font-size:8px;font-weight:400;display:inline-block}.primary-pad .pad-name{opacity:1}.primary-pad .pad-marker{opacity:.6}.photo-pad-hiHat .pad-name{color:#f7cf64;background:0 0;font-size:17px}.photo-pad-snare .pad-name{color:#fff;background:#f26768b3}.photo-pad-kick .pad-name{color:#fff;background:#627fd3b3}.photo-pad:hover .pad-name,.photo-pad:focus-visible .pad-name,.photo-pad.pad-active .pad-name{opacity:1}.photo-pad.pad-active .pad-marker{opacity:1;background:color-mix(in srgb, var(--pad-color) 50%, transparent);border-color:var(--pad-color);box-shadow:0 0 0 8px color-mix(in srgb, var(--pad-color) 20%, transparent), 0 0 25px var(--pad-color)}.photo-pad.pad-active .pad-name{filter:brightness(1.15)}.photo-kit-hint{color:#c4c9db;pointer-events:none;background:#101421b3;border:1px solid #7c839026;border-radius:5px;margin:0;padding:6px 9px;font-size:8px;position:absolute;bottom:12px;right:12px}.reference-trainer .practice-tip{z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(125deg,#1f2737ee,#17202bee);border:1px solid #4c5373;border-radius:12px;align-items:flex-start;gap:12px;width:260px;max-width:46%;margin:0;padding:18px 18px 20px;display:flex;position:absolute;bottom:34px;left:18px;box-shadow:0 10px 25px #0004}.reference-trainer .practice-tip>svg{color:#b8a5ff;flex-shrink:0;margin-top:0}.reference-trainer .practice-tip strong{color:#d4c7ff;font-size:13px;font-weight:600}.reference-trainer .practice-tip p{color:#b0bbd0;margin-top:9px;font-size:11px;line-height:1.7}.reference-trainer .kit-footnote{color:#8d9ab4;text-align:left;background:#0c1018;max-width:none;margin:0;padding:7px 10px 0;font-size:8px;line-height:1.5}.reference-trainer .practice-side{flex-direction:column;gap:18px;min-width:0;margin-top:-73px;display:flex}.reference-trainer .exercise-list{background:linear-gradient(115deg,#121a26,#101721);border:1px solid #2a3444;border-radius:16px;padding:14px 12px 16px;box-shadow:0 8px 24px #0002}.reference-trainer .exercise-list .section-heading{align-items:center;gap:5px;margin:0 0 11px;padding:0 6px}.reference-trainer .exercise-list h2{color:#e1e3ed;font-size:12px;font-weight:550}.exercise-page-buttons{gap:6px;display:flex}.exercise-page-buttons>button{color:#c9cfdf;background:#222a39;border:0;border-radius:50%;place-items:center;width:25px;height:25px;min-height:25px;padding:0;display:grid}.exercise-page-buttons>button:first-child>svg{transform:rotate(180deg)}.reference-trainer .exercise-list .exercise-choices>button{color:#aebbd1;border-radius:9px;gap:11px;min-height:39px;margin-top:3px;padding:8px;font-size:12px}.reference-trainer .exercise-list .exercise-choices>button>span{color:#d1d7e4;background:#252d3b;width:25px;height:25px;font-size:12px}.reference-trainer .exercise-list .exercise-choices>button>strong{font-size:12px;font-weight:400}.reference-trainer .exercise-list .exercise-choices>.exercise-selected{color:#d4c6ff;background:linear-gradient(110deg,#37364c,#242c3b);border-color:#62577344}.reference-trainer .exercise-list .exercise-choices>.exercise-selected>span{color:#fff;background:linear-gradient(145deg,#a06cff,#6348e9);box-shadow:0 0 14px #9761eb44}.exercise-objective{color:#9ca9c0;border-top:1px solid #30394b;flex-direction:column;gap:5px;margin:14px 7px 0;padding-top:13px;font-size:10px;line-height:1.7;display:flex}.exercise-objective>span{letter-spacing:1px;text-transform:uppercase;color:#8d83b5;font-size:8px}.reference-trainer .session-panel{background:linear-gradient(140deg,#222a3b,#141c29);border:1px solid #343e53;border-radius:16px;padding:20px 18px 18px;box-shadow:0 8px 24px #0002}.reference-trainer .session-panel h2{color:#f0eef9;font-size:14px}.reference-trainer .live-label{color:#9c8fce;letter-spacing:.8px;font-size:7px}.practice-overview{align-items:center;gap:12px;margin:20px 0 17px;display:flex}.progress-ring{flex-shrink:0;width:104px;height:104px;position:relative}.progress-ring>svg{width:100%;height:100%;display:block;transform:rotate(-90deg)}.progress-ring circle{fill:none;stroke-width:6px;stroke-linecap:round}.ring-track{stroke:#3b4252}.ring-value{stroke:#68d999}.progress-ring>div{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.progress-ring strong{letter-spacing:-1px;color:#f8f8ff;font-size:25px;font-weight:650}.progress-ring strong small{margin-left:1px;font-size:17px;font-weight:500}.progress-ring>div>span{color:#a6b4cb;margin-top:2px;font-size:8px}.reference-trainer .session-stats{flex-direction:column;flex:1;gap:0;min-width:0;margin:0;display:flex}.reference-trainer .session-stats>div{border-bottom:1px solid #36405566;border-left:0;justify-content:space-between;align-items:center;gap:9px;min-height:34px;padding:0;display:flex}.reference-trainer .session-stats>div:last-child{border-bottom:0}.reference-trainer .session-stats strong{letter-spacing:0;white-space:nowrap;font-size:14px;font-weight:550;line-height:1.3}.reference-trainer .session-stats span{color:#a2b0c7;margin:0;font-size:9px;line-height:1.3}.rhythm-preview{background:linear-gradient(#0000,#2a304426);border-bottom:1px solid #6e657c66;justify-content:space-between;align-items:flex-end;gap:3px;height:49px;padding:6px 4px 0;display:flex;overflow:hidden}.rhythm-preview>span{opacity:.55;border-radius:1px 1px 0 0;flex:1;min-width:2px;max-width:6px;display:block}.rhythm-preview>.rhythm-step-current{opacity:1;box-shadow:0 0 7px #e5deff80}.pattern-caption{letter-spacing:.1px;color:#a8b4ca;text-align:center;margin:8px 0 0;font-size:8px}.reference-trainer .input-feedback{color:#a5b1c9;min-height:28px;margin:13px 0 12px;font-size:9px;line-height:1.6}.repeat-exercise-button{color:#c9b9ff;background:linear-gradient(110deg,#3d355b77,#282d534d);border:1px solid #6d62b1;border-radius:10px;justify-content:center;align-items:center;gap:11px;width:100%;min-height:46px;font-size:12px;font-weight:600;display:flex}.reference-trainer .finish-button{color:#afa2d6;background:#7862c611;border:0;min-height:39px;margin-top:8px;font-size:10px}.reference-trainer .practice-side>.mode-badge{background:#1b2332;border:1px solid #344055;justify-content:center;width:100%;min-height:40px;margin-top:-6px;padding:10px 13px;font-size:10px}.reference-hardware-note{color:#8491aa;text-align:center;margin:-10px 0 0;font-size:8px;line-height:1.5}.reference-trainer .trainer-footer{color:#7c8aa4;gap:8px;margin-top:12px;font-size:8px;line-height:1.6}@media (width>=1650px){.reference-trainer{padding-left:30px;padding-right:30px}.reference-topbar{grid-template-columns:minmax(310px,1fr) minmax(400px,1.25fr) 300px;gap:24px}.reference-practice-grid{grid-template-columns:minmax(0,1fr) 340px;gap:24px}.reference-trainer .trainer-header h1{font-size:37px}.reference-trainer .exercise-description{max-width:390px;font-size:15px}.sound-cards .toggle-label{font-size:13px}.parameter-cards{gap:14px}.reference-trainer .tempo-card,.meter-card,.repeat-card{height:88px}.reference-trainer .practice-side{margin-top:-73px}.reference-trainer .exercise-list .exercise-choices>button>strong{font-size:13px}.reference-trainer .exercise-list .exercise-choices>button{min-height:42px}.reference-trainer .exercise-list h2{font-size:13px}.reference-trainer .practice-tip{width:310px;max-width:none;padding:22px;bottom:40px;left:-235px}.reference-trainer .practice-tip strong{font-size:16px}.reference-trainer .practice-tip p{font-size:13px}.reference-trainer .practice-side .session-panel{padding:22px}.progress-ring{width:125px;height:125px}.progress-ring strong{font-size:31px}.reference-trainer .session-stats span{font-size:11px}.reference-trainer .session-stats strong{font-size:16px}}@media (width<=1400px) and (width>=1101px){.studio-shell .studio-sidebar{width:216px}.studio-shell .studio-nav{gap:13px;font-size:14px}.studio-shell .studio-brand{gap:11px}.studio-shell .studio-brand>span{font-size:26px}.reference-trainer{padding-left:22px;padding-right:22px}.reference-topbar{grid-template-columns:minmax(220px,.9fr) minmax(330px,1.2fr) 215px;gap:16px}.parameter-cards{grid-template-columns:minmax(150px,1.3fr) minmax(72px,.7fr) minmax(95px,.9fr);gap:9px}.reference-trainer .tempo-card,.meter-card,.repeat-card{padding-left:12px;padding-right:10px}.sound-cards{gap:10px}.reference-trainer .sound-cards .studio-toggle{grid-template-columns:25px 1fr;gap:10px 5px;padding:15px 10px;font-size:10px}.sound-cards .studio-toggle>svg{width:25px;height:25px}.reference-trainer .trainer-header{padding-left:7px}.reference-trainer .trainer-header h1{font-size:29px}.reference-trainer .exercise-description{font-size:12px}.reference-practice-grid{grid-template-columns:minmax(0,1fr) 280px;gap:17px}.reference-trainer .practice-side{gap:16px}.reference-trainer .session-panel{padding:18px 14px}.practice-overview{gap:9px}.progress-ring{width:94px;height:94px}.reference-trainer .session-stats span{font-size:8px}.reference-trainer .practice-tip{max-width:45%;padding:15px;bottom:26px}.reference-trainer .practice-tip p{font-size:10px}.reference-trainer .practice-tip strong{font-size:12px}}@media (width<=1100px){.studio-shell .studio-sidebar{width:190px;padding:44px 12px 22px}.studio-shell .studio-brand{gap:8px;margin-left:4px}.studio-shell .studio-brand>span{font-size:24px}.studio-shell .studio-nav{gap:11px;padding:12px 9px;font-size:12px}.studio-shell .studio-device{gap:10px;padding:13px 10px}.reference-trainer{padding:49px 20px 20px}.reference-topbar{grid-template-columns:minmax(0,1fr) minmax(310px,1.2fr);gap:18px;margin-bottom:19px}.reference-trainer .trainer-header{padding-left:0}.reference-trainer .trainer-header h1{font-size:29px}.reference-trainer .trainer-header .eyebrow{font-size:13px}.reference-trainer .exercise-description{max-width:300px;font-size:12px}.reference-trainer .transport-panel{grid-area:1/2/3}.sound-cards{grid-area:2/1;gap:11px}.reference-trainer .sound-cards .studio-toggle{flex-wrap:wrap;justify-content:center;gap:8px;min-height:66px;padding:12px;font-size:10px;display:flex}.sound-cards .studio-toggle>svg{width:23px;height:23px}.sound-cards .toggle-track{width:35px;height:20px}.sound-cards .toggle-track:after{width:15px;height:15px}.sound-cards .studio-toggle input:checked+.toggle-track:after{left:17px}.reference-trainer .transport-center{margin-top:16px}.reference-trainer .transport-center>p{font-size:8px}.reference-practice-grid{grid-template-columns:minmax(0,1fr) 250px;gap:15px}.reference-trainer .practice-side{gap:15px;margin-top:0}.reference-trainer .session-panel{padding:17px 13px}.reference-trainer .exercise-list{padding:12px 9px 14px}.reference-trainer .exercise-list .exercise-choices>button>strong{font-size:10px}.reference-trainer .exercise-list .exercise-choices>button{gap:8px;padding:7px 5px}.reference-trainer .exercise-list h2{font-size:11px}.reference-trainer .exercise-list .section-heading{padding:0 3px}.exercise-page-buttons{gap:3px}.exercise-page-buttons>button{width:23px;height:23px}.reference-trainer .session-stats span{font-size:8px}.reference-trainer .session-stats strong{font-size:12px}.progress-ring{width:80px;height:80px}.progress-ring strong{font-size:22px}.progress-ring>div>span{font-size:7px}.practice-overview{gap:9px}.reference-trainer .session-panel h2{font-size:13px}.reference-trainer .score-legend{gap:9px 15px;padding:9px 12px;font-size:8px}.reference-trainer .score-hint{width:100%;margin-left:0}.reference-trainer .practice-tip{border-radius:0 0 12px 12px;width:auto;max-width:none;margin:0;padding:16px;position:relative;bottom:auto;left:auto}.photo-drum-kit{aspect-ratio:1.4}.photo-kit-hint{font-size:7px;bottom:7px;right:7px}.photo-pad .pad-name{padding:3px 6px;font-size:9px;top:calc(50% - 34px)}.photo-pad-hiHat .pad-name{font-size:12px}.pad-marker{border-width:2px;width:17px;height:17px}.pad-name>kbd{margin-left:4px;font-size:7px}.reference-trainer .kit-footnote{padding:8px 0;font-size:7px}}@media (width<=900px){.reference-practice-grid{grid-template-columns:1fr}.reference-trainer .practice-side{grid-template-columns:1fr 1fr;gap:17px;margin:0;display:grid}.reference-trainer .practice-side>.mode-badge{grid-column:1;margin:0}.reference-hardware-note{grid-column:2;align-self:center;margin:0}.reference-trainer .exercise-list .exercise-choices>button>strong{font-size:12px}.reference-trainer .exercise-list .exercise-choices>button{gap:10px}.photo-drum-kit{aspect-ratio:1.9}.reference-trainer .practice-tip{border-radius:10px;max-width:45%;padding:15px;position:absolute;bottom:35px;left:15px}.reference-trainer .practice-tip p{font-size:10px}.reference-trainer .kit-footnote{padding-bottom:12px}.photo-pad .pad-name{font-size:11px}.photo-pad-hiHat .pad-name{font-size:15px}.reference-trainer .session-panel{padding:19px 15px}.reference-trainer .session-stats span{font-size:9px}.progress-ring{width:90px;height:90px}}@media (width<=720px){.studio-shell .studio-sidebar{border-bottom:1px solid #2c3546;width:100%;height:auto;padding:16px 16px 12px;display:block;position:relative}.studio-shell .studio-brand{gap:10px;margin:0 0 16px}.studio-shell .studio-brand>span{font-size:24px}.studio-shell .studio-nav{gap:7px;min-height:56px;margin:0;padding:9px 3px;font-size:9px}.studio-shell .studio-nav>svg{width:19px;height:19px}.studio-shell .studio-device,.studio-shell .studio-version{display:none}.reference-trainer{padding:25px 16px 18px}.reference-trainer:before{display:none}.reference-topbar{grid-template-columns:1fr;gap:20px;margin-bottom:18px}.reference-trainer .trainer-header{grid-area:1/1;margin:0}.reference-trainer .trainer-header h1{margin-bottom:10px;font-size:32px}.reference-trainer .trainer-header .eyebrow{margin-bottom:7px;font-size:13px}.reference-trainer .beginner-label{margin-bottom:10px;font-size:13px}.reference-trainer .exercise-description{max-width:none;font-size:12px}.reference-trainer .transport-panel{grid-area:2/1}.parameter-cards{grid-template-columns:minmax(145px,1.35fr) minmax(70px,.7fr) minmax(95px,.9fr);gap:9px}.reference-trainer .tempo-card,.meter-card,.repeat-card{border-radius:11px;height:80px;padding:13px 11px}.reference-trainer .tempo-card>label,.meter-card>span,.repeat-card>span{font-size:10px}.reference-trainer .tempo-card input{width:42px;font-size:27px}.reference-trainer .tempo-card>div>span{font-size:8px}.reference-trainer .tempo-card button{width:23px;min-height:25px;font-size:17px}.meter-card>strong{font-size:27px}.repeat-card>div{gap:3px}.repeat-card strong{font-size:28px}.repeat-card .toggle-track{width:27px;height:17px}.repeat-card .toggle-track:after{width:11px;height:11px;top:2px;left:2px}.repeat-card .studio-toggle input:checked+.toggle-track:after{left:12px}.reference-trainer .transport-center{margin-top:13px}.reference-trainer .transport-buttons{gap:34px}.reference-trainer .play-button{width:68px;height:68px}.exercise-progress{width:80%;margin:13px auto 0}.reference-trainer .transport-center>p{max-width:none;margin-top:8px;font-size:8px}.sound-cards{grid-area:3/1;gap:11px;margin-top:-5px}.reference-trainer .sound-cards .studio-toggle{border-radius:10px;flex-wrap:nowrap;justify-content:space-between;gap:8px;min-height:54px;padding:12px;font-size:11px;display:flex}.sound-cards .toggle-label{white-space:normal}.sound-cards .studio-toggle>svg{flex-shrink:0;width:23px;height:23px}.sound-cards .toggle-track{width:32px;height:19px}.sound-cards .toggle-track:after{width:14px;height:14px}.sound-cards .studio-toggle input:checked+.toggle-track:after{left:15px}.reference-trainer .beat-strip{border-radius:11px;gap:7px;min-height:65px;margin-bottom:7px;padding:9px}.reference-trainer .beat-strip>span{width:auto;font-size:9px;line-height:1.1}.reference-trainer .beat-dots{gap:30px}.reference-trainer .beat-dots>span{min-width:25px;height:24px;font-size:18px}.score-sheet{border-radius:11px}.reference-trainer .score-legend{gap:6px 13px;padding:9px 12px;font-size:8px}.photo-drum-kit{aspect-ratio:1.35;border-radius:0 0 8px 8px}.photo-pad .pad-name{font-size:10px;top:calc(50% - 29px)}.photo-pad-hiHat .pad-name{font-size:13px}.photo-pad .pad-marker{width:16px;height:16px}.photo-pad-kick .pad-name{top:calc(50% - 33px)}.photo-kit-hint{text-align:center;max-width:55%;font-size:6px;line-height:1.5;bottom:7px;right:7px}.reference-trainer .practice-tip{border-radius:10px;width:100%;max-width:none;margin-top:8px;padding:17px;position:relative;bottom:auto;left:0}.reference-trainer .practice-tip strong{font-size:13px}.reference-trainer .practice-tip p{font-size:11px}.reference-trainer .kit-footnote{padding:8px 0 12px;font-size:7px}.reference-trainer .practice-side{gap:15px;display:flex}.reference-trainer .exercise-list{border-radius:12px;padding:14px 12px 16px}.reference-trainer .exercise-list h2{font-size:13px}.reference-trainer .exercise-list .exercise-choices>button{gap:12px;min-height:41px;padding:8px}.reference-trainer .exercise-list .exercise-choices>button>strong{font-size:12px}.reference-trainer .exercise-list .exercise-choices>button>span{width:26px;height:26px;font-size:12px}.exercise-objective{font-size:11px}.reference-trainer .session-panel{border-radius:12px;padding:20px 18px}.reference-trainer .session-panel h2{font-size:15px}.progress-ring{width:115px;height:115px}.progress-ring strong{font-size:29px}.progress-ring>div>span{font-size:9px}.practice-overview{gap:20px}.reference-trainer .session-stats span{font-size:11px}.reference-trainer .session-stats strong{font-size:16px}.reference-trainer .session-stats>div{min-height:38px}.reference-trainer .practice-side>.mode-badge{max-width:none;margin-top:0;font-size:11px}.reference-hardware-note{margin-top:-6px;font-size:8px}.reference-trainer .trainer-footer{margin-top:16px;font-size:7px}.reference-trainer .input-feedback{font-size:10px}.pattern-caption{font-size:9px}.repeat-exercise-button{font-size:13px}.reference-trainer .finish-button{font-size:11px}}@media (prefers-reduced-motion:reduce){.photo-pad.pad-active .pad-marker{box-shadow:none}}@media (width>=1401px){.reference-trainer{z-index:3}.reference-topbar{grid-template-columns:minmax(235px,.95fr) minmax(360px,1.3fr) 330px}.reference-trainer .transport-center{transform:translate(-30px)}.reference-trainer .transport-center>p{display:none}.reference-trainer .sound-cards .studio-toggle{padding:19px 17px 17px;font-size:13px}.reference-trainer .sound-cards .studio-toggle>svg{width:34px;height:34px}.reference-trainer .practice-tip{width:300px;max-width:none;padding:21px;bottom:45px;left:-235px}.reference-trainer .practice-tip strong{font-size:15px}.reference-trainer .practice-tip p{font-size:12px}}.reference-trainer .exercise-description{text-wrap:pretty}.reference-trainer .exercise-progress{width:80%;max-width:435px;margin-left:auto;margin-right:auto}.reference-trainer .score-canvas{height:214px}@media (width>=1101px){.reference-trainer .photo-drum-kit{aspect-ratio:2.05}}.reference-trainer .studio-toggle>input{z-index:1;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}@media (width>=1401px){.reference-trainer .session-panel{z-index:3;width:calc(100% + 140px);margin-top:38px;margin-left:-140px;padding:22px 20px;position:relative}.reference-trainer .progress-ring{width:132px;height:132px}.reference-trainer .progress-ring strong{font-size:32px}.reference-trainer .progress-ring>div>span{font-size:11px}.reference-trainer .practice-overview{gap:22px}.reference-trainer .session-stats>div{min-height:39px}.reference-trainer .session-stats span{font-size:12px}.reference-trainer .session-stats strong,.reference-trainer .session-panel h2{font-size:16px}.reference-trainer .exercise-list .exercise-choices>button>strong{font-size:13px}.reference-trainer .pattern-caption{font-size:10px}.reference-trainer .input-feedback{font-size:11px}.reference-trainer .repeat-exercise-button{min-height:49px;font-size:14px}.reference-trainer .finish-button{font-size:11px}}@media (width<=380px){.parameter-cards{grid-template-columns:minmax(128px,1.3fr) minmax(60px,.7fr) minmax(80px,.9fr);gap:9px}.reference-trainer .tempo-card,.meter-card,.repeat-card{padding-left:9px;padding-right:9px}.reference-trainer .tempo-card input{width:37px;font-size:25px}.reference-trainer .tempo-card button{width:21px}.reference-trainer .tempo-card>div{gap:3px}.reference-trainer .tempo-card>div>span{font-size:7px}.meter-card>strong{font-size:24px}.repeat-card>span{font-size:9px}.reference-trainer .sound-cards .studio-toggle{padding-left:10px;padding-right:10px}.sound-cards .studio-toggle>svg{display:none}.reference-trainer .practice-overview{gap:12px}.reference-trainer .progress-ring{width:100px;height:100px}.reference-trainer .session-stats span{font-size:10px}}.reference-trainer .photo-drum-kit.electronic-drum-kit{aspect-ratio:1536/1024;container-type:inline-size}.electronic-drum-kit .kit-photo-shade{background:0 0}.electronic-drum-kit .photo-kit-hint{font-size:7px}.electronic-drum-kit .photo-pad .pad-name{opacity:1;color:var(--pad-color);border:1px solid color-mix(in srgb, var(--pad-color) 40%, transparent);background:#101421e6;padding:3px 6px;font-size:clamp(8px,1.5cqw,12px);top:calc(50% - clamp(20px,4.5cqw,36px))}.electronic-drum-kit .photo-pad .pad-marker{opacity:.7;border-width:2px;width:clamp(12px,2.7cqw,21px);height:clamp(12px,2.7cqw,21px)}.electronic-drum-kit .photo-pad.pad-active .pad-marker{opacity:1}.studio-shell .studio-sidebar[hidden]{display:none}.studio-shell .sidebar-toggle{z-index:30;color:#c9c6e3;background:#1d2434;border:1px solid #40485d;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:33px;padding:7px 10px;font-size:10px;line-height:1.2;display:flex;position:fixed;top:11px;left:18px;box-shadow:0 3px 10px #0002}.studio-shell .sidebar-toggle:hover{color:#eee8ff;background:#2b3047}.studio-shell.sidebar-is-hidden{display:block}.sidebar-is-hidden .studio-workspace{width:100%}.sidebar-is-hidden .studio-main:not(.reference-trainer),.sidebar-is-hidden .diagnostics-embedded>main{padding-top:64px}.sidebar-is-hidden .reference-trainer .practice-tip{max-width:300px;left:18px}.reference-trainer .compact-topbar{grid-template-columns:minmax(220px,1fr) minmax(0,810px);align-items:start;gap:20px;margin-bottom:17px;display:grid}.reference-trainer .compact-topbar .trainer-header{grid-area:1/1}.reference-trainer .compact-topbar .transport-panel{background:0 0;border:0;grid-area:1/2;min-width:0;margin:0;padding:0;display:block}.practice-control-cards{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));grid-auto-rows:74px;align-items:stretch;gap:10px;width:100%;max-width:810px;margin:0 auto;display:grid}.reference-trainer .practice-control-cards>.control-card{color:#c9d0e1;background:linear-gradient(125deg,#1b2332,#171e29);border:1px solid #30394b;border-radius:10px;flex-direction:column;justify-content:center;align-items:stretch;gap:6px;width:100%;min-width:0;height:74px;min-height:74px;margin:0;padding:10px;display:flex;position:relative;box-shadow:0 4px 12px #0000000c}.reference-trainer .practice-control-cards>.control-card>label,.reference-trainer .practice-control-cards>.control-card>span:first-child{letter-spacing:0;color:#b2bfd5;margin:0;font-size:10px;font-weight:400;line-height:1.2;display:block}.reference-trainer .practice-control-cards .tempo-card>div{justify-content:space-between;align-items:center;gap:3px;min-height:28px;display:flex}.reference-trainer .practice-control-cards .tempo-card input{font-variant-numeric:tabular-nums;text-align:left;flex:0 0 3ch;width:3ch;min-width:3ch;padding:0;font-size:25px;line-height:1.1}.reference-trainer .practice-control-cards .tempo-card>div>span{margin:0 auto 0 0;font-size:8px}.reference-trainer .practice-control-cards .tempo-card button{border-radius:5px;width:24px;min-width:24px;height:28px;min-height:28px;padding:0;font-size:17px}.reference-trainer .practice-control-cards .meter-card>strong{color:#c2cbe0;font-size:25px;font-weight:600;line-height:28px;display:block}.reference-trainer .practice-control-cards .repeat-card>div{justify-content:space-between;align-items:center;gap:5px;min-height:28px;display:flex}.reference-trainer .practice-control-cards .repeat-card strong{font-size:29px;line-height:28px}.reference-trainer .practice-control-cards .repeat-card .studio-toggle{min-height:28px}.reference-trainer .practice-control-cards>.sound-control-card{cursor:pointer;grid-template-rows:18px 28px;grid-template-columns:20px minmax(0,1fr);place-content:center stretch;align-items:center;gap:4px 6px;display:grid}.reference-trainer .practice-control-cards .sound-control-card>svg{color:#a1acc5;width:19px;height:19px;display:block}.reference-trainer .practice-control-cards .sound-control-card .toggle-label{color:#c8cfe0;white-space:nowrap;font-size:10px;font-weight:400;line-height:1.2}.reference-trainer .practice-control-cards .sound-control-card .toggle-track{grid-column:1/-1;justify-self:end}.reference-trainer .practice-control-cards .toggle-track{border-radius:12px;width:32px;height:19px}.reference-trainer .practice-control-cards .toggle-track:after{width:14px;height:14px;top:1px;left:2px}.reference-trainer .practice-control-cards input:checked+.toggle-track:after{left:15px}.reference-trainer .compact-topbar .transport-center{max-width:425px;margin:12px auto 0;transform:none}.reference-trainer .compact-topbar .transport-buttons{gap:25px}.reference-trainer .compact-topbar .play-button{width:60px;height:60px}.reference-trainer .compact-topbar .play-button svg{width:27px;height:27px}.reference-trainer .compact-topbar .exercise-progress{height:7px;margin-top:10px}.reference-trainer .compact-topbar .transport-center>p{display:none}@media (width<=1100px){.reference-trainer .compact-topbar{grid-template-columns:1fr;gap:18px}.reference-trainer .compact-topbar .trainer-header{grid-area:1/1}.reference-trainer .compact-topbar .transport-panel{grid-area:2/1}}@media (width<=720px){.studio-shell .sidebar-toggle{font-size:9px;top:12px;left:auto;right:16px}.studio-shell.sidebar-is-hidden .sidebar-toggle{left:16px;right:auto}.sidebar-is-hidden .reference-trainer{padding-top:66px}.reference-trainer .practice-control-cards{gap:9px}.reference-trainer .compact-topbar{gap:17px}.reference-trainer .compact-topbar .transport-buttons{gap:29px}.sidebar-is-hidden .reference-trainer .practice-tip{max-width:none;left:0}}@media (width>=1101px){.reference-trainer .compact-topbar .transport-center{transform:translate(-80px)}}.reference-trainer .practice-control-cards .repeat-card .repetitions-input{color:#c2cbe0;width:3ch;min-width:0;font:inherit;font-variant-numeric:tabular-nums;appearance:textfield;background:0 0;border:0;border-radius:0;padding:0;font-size:29px;font-weight:600;line-height:28px}.repetitions-input::-webkit-inner-spin-button{appearance:none;margin:0}.repetitions-input::-webkit-outer-spin-button{appearance:none;margin:0}.reference-trainer .repetitions-input:focus-visible{outline-offset:3px;border-radius:3px;outline:2px solid #8a70f5}.exercise-choices{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#7460c4 transparent;max-height:352px;overflow-y:auto}.score-note-result{z-index:3;pointer-events:none;background:#111827;border:2px solid;border-radius:50%;place-items:center;width:22px;height:22px;font:700 16px/1 sans-serif;display:grid;position:absolute;transform:translate(-50%,-50%)}.verdict-correct{color:#6ee7b7}.verdict-early,.verdict-late{color:#ffcf73}.verdict-missed,.verdict-wrong,.verdict-extra,.verdict-unmapped{color:#ff9d9d}.reference-trainer .session-stats>div{min-height:25px}.reference-trainer .session-stats span{font-size:10px}.reference-trainer .session-stats strong{font-size:12px}.reference-trainer .practice-overview{align-items:center;gap:12px}.reference-trainer .session-panel .finish-button{margin-top:14px}.practice-pattern{width:100%;height:auto;display:block}.pattern-guide{stroke:#354054;stroke-width:1px}.reference-trainer .practice-patterns .pattern-caption{text-align:left;margin:13px 0 4px;font-size:10px}.reference-trainer .practice-control-cards input:disabled+.toggle-track{opacity:.5;cursor:default}@media (width>=1101px){.practice-control-cards{grid-template-columns:minmax(152px,1.25fr) repeat(5,minmax(0,1fr))}.reference-trainer .practice-control-cards .sound-control-card .toggle-label{white-space:normal}.reference-trainer .practice-control-cards>.sound-control-card{grid-template-columns:14px minmax(0,1fr);gap:4px;padding:8px}.reference-trainer .practice-control-cards .sound-control-card>svg{width:14px;height:14px}}@media (width>=1101px) and (width<=1250px){.reference-trainer .compact-topbar{grid-template-columns:1fr}.reference-trainer .compact-topbar .trainer-header{grid-area:1/1}.reference-trainer .compact-topbar .transport-panel{grid-area:2/1}}.song-page-heading{color:#b4bdd2;flex-wrap:wrap;align-items:center;gap:16px;margin:52px 24px 0;font-size:12px;display:flex}.song-page-heading button,.song-player button{color:#ded7ff;background:#252b40;border:1px solid #4d466b;border-radius:7px;padding:9px 12px}.song-library-heading{color:#eeeafa;margin:30px 0 18px;font-size:22px}.song-player{background:#151c29;border:1px solid #303b4d;border-radius:14px;min-width:0;padding:14px 12px}.song-player h2{color:#eeebfa;margin:0;font-size:14px}.song-player p,.song-player a{color:#bac3d9;font-size:11px;line-height:1.6}.youtube-mount{background:#090d16;min-width:200px;min-height:220px;margin:10px 0}.youtube-mount iframe{border:0;width:100%;min-width:200px;height:220px;min-height:200px;display:block}.song-volume{color:#c3cce0;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12px;display:flex}.song-volume input{accent-color:#8a70f5;width:100%}.song-mark{width:100%;margin:6px 0 12px}.song-player button:disabled{opacity:.5}@media (width<=720px){.song-page-heading{margin:66px 16px 0}}.song-page-heading+.reference-trainer{padding-top:20px}.song-page-heading+.reference-trainer:before{display:none}.learning-paths{margin:28px 0}.path-section-heading,.path-actions,.path-practice-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.learning-paths h2{font-size:22px}.learning-paths h3{margin:0 0 14px;font-size:17px}.learning-paths button,.path-practice-heading button,.path-run-error button{color:#ede9fb;min-height:42px;font:inherit;background:#252c40;border:1px solid #4b4865;border-radius:8px;padding:10px 14px}.learning-paths button.path-primary{background:#7455df;border-color:#8c73e7}.learning-paths button:disabled{opacity:.45}.path-editor,.path-card{background:#171f2e;border:1px solid #354055;border-radius:14px;margin-top:16px;padding:20px}.path-editor{gap:16px;max-width:760px;display:grid}.path-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.path-name{grid-column:1/-1}.path-editor label{color:#bec8dc;flex-direction:column;gap:8px;display:flex}.path-editor input,.path-editor select{color:#eeedf8;font:inherit;background:#101725;border:1px solid #43506a;border-radius:8px;width:100%;min-width:0;padding:11px;font-size:16px}.path-entries{margin:0;padding:0;list-style:none}.path-entries li{border-bottom:1px solid #354055;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;display:flex}.path-number{background:#7455df;border-radius:7px;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.path-entries strong{flex:1;min-width:100px}.path-entry-actions{gap:6px;display:flex}.path-entry-actions button{padding:6px 12px}.path-duration,.path-card p,.learning-paths>p{color:#bdc7dd;line-height:1.6}.path-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;display:grid}.path-card{min-width:0}.path-card p{overflow-wrap:anywhere}.path-practice-heading{color:#c6cce0;justify-content:flex-start;margin:52px 24px 0;font-size:13px}.path-practice-heading+.reference-trainer,.path-run-error+.reference-trainer{padding-top:20px}.path-practice-heading+.reference-trainer:before,.path-run-error+.reference-trainer:before{display:none}.path-run-error{background:#392b35;border-radius:8px;margin:16px 24px 0;padding:14px}.path-current-plan{background:#151c29;border:1px solid #303b4d;border-radius:14px;padding:16px}.path-current-plan h2{overflow-wrap:anywhere;font-size:15px}.path-current-plan ol{max-height:320px;padding:0;list-style:none;overflow-y:auto}.path-current-plan li{border-bottom:1px solid #303b4d;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 6px;display:flex}.path-current-plan li[aria-current]{color:#c9baff;background:#29273d;border-radius:6px}.path-current-plan li strong{flex:1;min-width:80px;font-size:12px}.path-current-plan li small,.path-current-plan p{color:#b5bfd6;font-size:11px}@media (width<=600px){.path-practice-heading{margin:66px 16px 0}.path-fields{gap:12px}.path-entry-actions{margin-left:42px}.path-editor{padding:16px}}.path-card h3,.path-practice-heading strong{overflow-wrap:anywhere;min-width:0;max-width:100%}.visual-mapping{grid-template-columns:minmax(0,1.8fr) minmax(230px,1fr);align-items:start;gap:20px;margin-top:20px;display:grid}.mapping-kit{aspect-ratio:1536/1024;border-radius:14px;container-type:inline-size}.mapping-kit .photo-pad .pad-name{opacity:1;width:max-content;max-width:clamp(66px,16cqw,110px);color:var(--pad-color);background:#101421ed;border:1px solid #8275ac;padding:3px 5px;font-size:clamp(8px,1.6cqw,12px);top:auto;bottom:calc(50% + 14px)}.mapping-kit .pad-name small{color:#d3daed;white-space:normal;max-width:100px;font-size:clamp(7px,1.3cqw,10px);display:block}.mapping-kit .photo-pad .pad-marker{opacity:.7}.mapping-kit .pad-selected{background:#fbd06722;outline:2px solid #fbd067}.mapping-guide{background:#151b29;border:1px solid #554d72;border-radius:14px;min-width:0;padding:18px}.mapping-guide h3{margin:0 0 12px;font-size:20px}.mapping-guide p{font-size:13px;line-height:1.6}.mapping-current{color:#d3c5ff;font-weight:650}.mapping-conflict{border-left:3px solid #fbd067;margin-bottom:16px;padding-left:12px}.mapping-guide .fine-print{color:#a6b1cc;font-size:11px}.manual-mapping{margin-top:24px}.manual-mapping summary{cursor:pointer;color:#c4b3ef;padding:12px 0}@media (width<=1100px){.visual-mapping{grid-template-columns:minmax(0,1fr)}}@media (width<=600px){.midi-mapping{margin:0 14px 24px;padding:14px}.mapping-kit .pad-name small{max-width:75px}.mapping-kit .photo-pad .pad-name{padding:2px 3px;font-size:7px}.mapping-kit .photo-pad .pad-marker{width:12px;height:12px}.mapping-guide{padding:12px}.mapping-kit .photo-pad-crash .pad-name{top:0;bottom:auto}.mapping-kit .pad-name small{display:none}}
