@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--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:-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-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--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{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.row-4{grid-row:4}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.shadow\/highlight{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);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,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);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,)}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:#090d12;--surface:#0f151d;--surface-2:#131b25;--surface-3:#17212d;--border:#223044;--border-soft:#ffffff12;--text:#f4f7fb;--text-2:#a9b4c3;--text-3:#778396;--blue:#2f7dff;--blue-hover:#438aff;--blue-bg:#2f7dff1f;--blue-border:#2f7dff8c;--green:#34c77b;--green-bg:#34c77b1f;--amber:#eab34e;--red:#e26767;--red-bg:#e267671a;--radius:12px;--radius-sm:9px}*{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#070b0f}body{min-width:1180px;color:var(--text);-webkit-font-smoothing:antialiased;background-color:#070b0f;background-image:linear-gradient(#04070a47 0%,#04070a57 52%,#04070a75 100%),url(/backgrounds/improlab-premium-bg.webp);background-position:top,top;background-repeat:no-repeat,no-repeat;background-size:cover,cover;background-attachment:fixed,fixed;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline-offset:2px;outline:2px solid #438affeb}button:disabled{cursor:not-allowed}.improlab-app{min-height:100vh}.loading-screen{place-items:center;display:grid}.loading-screen .brand-logo{width:52px;height:52px}.app-header{border-bottom:1px solid var(--border-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:40;background:#080e15f0;grid-template-columns:minmax(310px,1fr) auto minmax(150px,1fr);align-items:center;gap:16px;height:72px;padding:0 24px;display:grid;position:sticky;top:0}.brand-wrap{align-items:center;gap:12px;min-width:0;display:flex}.brand-logo{width:36px;height:36px;color:var(--blue);filter:drop-shadow(0 0 10px #2f7dff40);flex:none}.brand-copy{flex-direction:column;line-height:1.15;display:flex}.brand-copy strong{letter-spacing:-.025em;font-size:23px;font-weight:780}.brand-copy span{color:var(--text-3);white-space:nowrap;margin-top:3px;font-size:11px}.header-nav{justify-content:center;align-items:center;gap:8px;display:flex}.nav-button{border:1px solid var(--border);min-height:39px;color:var(--text-2);cursor:pointer;white-space:nowrap;background:#121b26c2;border-radius:9px;align-items:center;gap:7px;padding:0 13px;font-size:12px;transition:all .15s;display:inline-flex}.nav-button:hover:not(:disabled){color:var(--text);background:#15202c;border-color:#344861}.nav-button-primary{color:#fff;background:linear-gradient(#3284ff,#1f69e8);border-color:#4590ff;box-shadow:0 8px 24px #2f7dff2b,inset 0 1px #ffffff2e}.nav-button-primary:hover:not(:disabled){background:var(--blue-hover)}.header-actions{justify-content:flex-end;display:flex}.language-toggle{border:1px solid var(--border);color:var(--text-3);background:#101821b3;border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:flex}.language-toggle button{color:var(--text-3);cursor:pointer;background:0 0;border:0;padding:3px;font-weight:700}.language-toggle button.active{color:#56a0ff}.language-toggle.large{padding:5px 10px;font-size:13px}.brand-home-button{appearance:none;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.brand-home-button:focus-visible{outline-offset:5px;border-radius:6px;outline:2px solid #56a0ffcc}.desktop-shell{grid-template-columns:270px minmax(620px,1fr) 330px;align-items:start;gap:16px;width:min(1660px,100% - 40px);margin:16px auto 26px;display:grid}.side-panel,.chord-info-panel,.practice-title-bar{border:1px solid var(--border-soft);border-radius:var(--radius);background:linear-gradient(#131c27f5,#0d141cf5);box-shadow:inset 0 1px #ffffff05}.side-panel{padding:14px}.panel-heading,.subheading{color:#dce6f2;align-items:center;gap:8px;display:flex}.panel-heading svg,.subheading svg{color:#4c98ff}.panel-heading h2{margin:0;font-size:13px;font-weight:720}.compact-heading{position:relative}.compact-heading .panel-add-button{margin-left:auto}.panel-add-button,.icon-button{color:var(--text-2);cursor:pointer;background:#14202b;border:1px solid #2b3b50;border-radius:7px;place-items:center;display:grid}.panel-add-button{width:28px;height:28px}.icon-button.subtle{background:0 0;width:30px;height:30px}.panel-add-button:hover,.icon-button:hover{color:#fff;border-color:#42617e}.panel-separator{background:var(--border-soft);height:1px;margin:13px 0}.subheading{margin-bottom:9px}.subheading strong{letter-spacing:.05em;color:var(--text-2);font-size:9.5px}.subheading.large{margin-bottom:5px}.subheading.large strong{font-size:10.5px}.mini-state{letter-spacing:.06em;color:var(--text-3);border:1px solid #2c3b4f;border-radius:999px;margin-left:auto;padding:4px 7px;font-size:8.5px;font-weight:800}.mini-state.running{color:#8abaff;background:var(--blue-bg);border-color:#2f7dff73}.mini-state.paused{color:#f0c973;background:#eab34e14;border-color:#eab34e66}.setup-practice-name{border:1px solid var(--border);color:#e5edf6;white-space:nowrap;text-overflow:ellipsis;background:#101923;border-radius:8px;margin-top:13px;padding:10px 11px;font-size:12px;font-weight:650;overflow:hidden}.setup-meta{color:var(--text-3);margin:8px 0 12px;font-size:9.5px;line-height:1.5}.loop-line{min-height:34px;color:var(--text-2);justify-content:space-between;align-items:center;gap:10px;font-size:10.5px;display:flex}.switch{cursor:pointer;background:#111925;border:1px solid #334358;border-radius:999px;width:40px;height:22px;padding:2px}.switch span{background:#8b98a8;border-radius:50%;width:16px;height:16px;transition:all .16s;display:block}.switch.on{background:var(--blue);border-color:#4d93ff}.switch.on span{background:#fff;transform:translate(17px)}.progression-list-heading{color:#dce5ef;margin-bottom:8px;font-size:11px}.progression-list{border:1px solid var(--border);background:#060b1047;border-radius:9px;overflow:hidden}.progression-row{border:0;border-bottom:1px solid var(--border-soft);width:100%;min-height:34px;color:var(--text-2);text-align:left;cursor:pointer;background:0 0;grid-template-columns:29px 1fr 18px;align-items:center;gap:7px;padding:0 9px;font-size:11px;display:grid}.progression-row:last-child{border-bottom:0}.progression-row:hover{color:#fff;background:#ffffff06}.progression-row.active{color:#fff;box-shadow:inset 3px 0 0 var(--blue);background:linear-gradient(90deg,#2f7dff38,#2f7dff14)}.progression-row.completed:not(.active){color:#aeb9c6}.progression-index{width:22px;height:22px;color:var(--text-3);background:#ffffff0e;border-radius:50%;place-items:center;font-size:9.5px;display:grid}.progression-row.active .progression-index{color:#a9cdff;background:#2f7dff38}.row-check{color:var(--green);place-items:center;display:grid}.wide-secondary-button{color:#dce6f2;cursor:pointer;background:#17212d;border:1px solid #304057;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:35px;margin-top:11px;font-size:11px;display:flex}.wide-secondary-button:hover{background:#1b2836;border-color:#44607f}.wide-secondary-button.small{min-height:32px;margin-top:9px}.practice-column{gap:11px;min-width:0;display:grid}.practice-title-bar{justify-content:space-between;align-items:center;gap:16px;min-height:67px;padding:11px 14px;display:flex}.practice-title-eyebrow{letter-spacing:.08em;color:#68809a;font-size:8.5px;font-weight:750;display:block}.practice-title-line{align-items:center;gap:7px;margin-top:3px;display:flex}.practice-title-line h1{letter-spacing:-.025em;white-space:nowrap;text-overflow:ellipsis;max-width:610px;margin:0;font-size:21px;line-height:1.15;overflow:hidden}.compact-action{min-height:34px;color:var(--text-2);cursor:pointer;background:#111a24;border:1px solid #2c3e52;border-radius:8px;align-items:center;gap:7px;padding:0 11px;font-size:10.5px;display:flex}.compact-action:hover:not(:disabled){color:#fff;border-color:#45617d}.compact-action:disabled{opacity:.35}.progression-strip{border:1px solid var(--border-soft);border-radius:var(--radius);background:#0f161fe6;justify-content:center;align-items:center;gap:4px;min-height:66px;padding:10px 12px;display:flex;overflow:hidden}.progression-strip-item{align-items:center;gap:4px;min-width:0;display:flex}.progression-pill{color:#d4deea;cursor:pointer;background:#17212c;border:1px solid #2b394c;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-width:70px;height:40px;padding:0 10px;font-size:11.5px;font-weight:720;transition:all .15s;display:inline-flex}.progression-pill:hover{background:#1a2633;border-color:#405774}.progression-pill.done{color:#aeb9c6}.progression-pill.done svg{color:var(--green)}.progression-pill.current{color:#fff;background:#2f7dff2e;border-color:#2f86ff;box-shadow:0 0 0 1px #2f7dff1f,0 0 20px #2f7dff24}.practice-main-card{background:radial-gradient(circle at 50% 28%,#164a7e1c,#0000 42%),#080d1373;border-radius:14px;min-height:395px;padding:13px 18px 12px}.current-chord-card{border:1px solid var(--blue-border);background:linear-gradient(#101f2fd4,#08121cbd);border-radius:13px;flex-direction:column;justify-content:center;align-items:center;height:206px;transition:all .18s;display:flex;box-shadow:0 0 0 1px #2f7dff1a,0 0 26px #2f7dff0e,inset 0 1px #ffffff06}.current-chord-card.state-running{border-color:#2f7dffd1;box-shadow:0 0 0 1px #2f7dff29,0 0 32px #2f7dff17}.current-chord-card.state-paused{border-color:#eab34e73}.chord-card-topline{align-items:center;gap:12px;display:flex}.eyebrow{letter-spacing:.055em;font-size:10.5px;font-weight:700}.eyebrow.blue{color:#62a8ff}.state-badge{letter-spacing:.08em;color:#8393a8;background:#ffffff05;border:1px solid #2d3d50;border-radius:999px;padding:4px 7px;font-size:8.5px;font-weight:800}.state-badge.running{color:#7eb6ff;background:var(--blue-bg);border-color:#2f7dff6b}.state-badge.paused{color:#f0c973;background:#eab34e14;border-color:#eab34e61}.current-chord-symbol{letter-spacing:-.055em;color:#f7faff;text-shadow:0 0 18px #2f7dff24;margin-top:10px;font-size:clamp(82px,7.2vw,116px);font-weight:760;line-height:.96}.current-chord-degrees{color:#93a4b9;letter-spacing:.08em;min-height:24px;margin-top:11px;font-size:17px}.practice-controls-block{flex-direction:column;align-items:center;display:flex}.timer-label,.focus-timer-label{letter-spacing:.055em;color:#8393a8;margin-top:11px;font-size:10px;font-weight:700}.timer-value{letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:#f6f9fd;margin-top:4px;font-size:50px;font-weight:610;line-height:1.05;transition:all .15s}.timer-value.running{color:#6af;text-shadow:0 0 18px #2f7dff1f}.timer-value.paused{color:#e6bd64}.practice-controls{flex-wrap:wrap;justify-content:center;gap:6px;width:100%;margin-top:11px;display:flex}.control-button{color:#d9e3ef;cursor:pointer;white-space:nowrap;background:#17212d;border:1px solid #304057;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:0 11px;font-size:10.5px;transition:all .14s;display:inline-flex}.control-button:hover:not(:disabled){background:#1b2937;border-color:#42617e}.control-button:disabled{opacity:.32}.control-primary{color:#fff;background:linear-gradient(#3284ff,#206ee8);border-color:#4993ff;min-width:142px;box-shadow:0 6px 18px #2f7dff29}.control-primary.finish-state{background:linear-gradient(#286fdb,#1d5fbd)}.control-danger{background:var(--red-bg);color:#ef9999;border-color:#e2676780}.nav-only{min-width:50px;padding:0 10px}.shortcut-help{color:#8b9aab;text-align:center;margin:11px 0 0;font-size:10px}.pedal-help{color:#63758a;align-items:center;gap:6px;margin:5px 0 0;font-size:9.5px;display:flex}.chord-info-panel{min-height:132px;padding:11px 14px 12px}.chord-info-header{border-bottom:1px solid var(--border-soft);padding-bottom:8px}.chord-info-header h2{margin:0;font-size:12.5px}.chord-info-body{grid-template-columns:145px 1fr;align-items:stretch;gap:14px;padding-top:9px;display:grid}.info-chord-large{border-right:1px solid var(--border-soft);flex-direction:column;justify-content:center;display:flex}.info-chord-large strong{letter-spacing:-.04em;font-size:36px;line-height:1}.info-chord-large span{color:var(--text-3);margin-top:6px;font-size:9.5px}.note-grid{grid-template-columns:repeat(4,minmax(68px,1fr));gap:7px;display:grid}.note-card{background:#101923;border:1px solid #273649;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:58px;display:flex}.note-card strong{font-size:15px}.note-card span{color:#8090a5;margin-top:3px;font-size:9px}.note-card.root{background:#2f7dff1a;border-color:#2f7dff70}.note-card.root strong,.note-card.root span{color:#67aaff}.harmonic-unavailable{color:var(--text-3);align-items:center;font-size:10.5px;display:flex}.right-column{gap:11px;display:grid}.practices-panel{padding-bottom:11px}.practice-list{gap:5px;max-height:190px;margin-top:10px;padding-right:2px;display:grid;overflow:auto}.practice-list-item{text-align:left;cursor:pointer;width:100%;min-height:48px;color:var(--text-2);background:#0e1720;border:1px solid #253548;border-radius:8px;grid-template-columns:8px 1fr 16px;align-items:center;gap:8px;padding:7px 9px;display:grid}.practice-list-item:hover{color:#fff;border-color:#3a5069}.practice-list-item.active{color:#fff;background:#2f7dff1b;border-color:#2f7dff85}.practice-list-dot{background:#46576a;border-radius:50%;width:6px;height:6px}.practice-list-item.active .practice-list-dot{background:var(--blue);box-shadow:0 0 10px #2f7dff8c}.stats-panel{padding-bottom:12px}.stats-section.first{margin-top:1px}.stats-list{margin-top:5px}.stat-row{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:10px;min-height:28px;font-size:9.8px;display:flex}.stat-row:last-child{border-bottom:0}.stat-row span{color:var(--text-2)}.stat-row strong{color:#edf3fa;font-variant-numeric:tabular-nums;text-align:right;font-size:11.7px}.stat-row strong.accent{color:#58a1ff}.difficult-list{gap:6px;display:grid}.difficult-row{grid-template-columns:16px 58px 1fr 44px;align-items:center;gap:6px;font-size:9.5px;display:grid}.difficult-row>span{color:var(--text-3)}.difficult-row strong{font-size:10px}.difficult-row b{color:var(--amber);text-align:right;font-size:10px}.difficulty-bar{background:#ffffff0f;border-radius:999px;height:5px;overflow:hidden}.difficulty-bar i{border-radius:inherit;background:linear-gradient(90deg,#e26767,#eab34e);height:100%;display:block}.empty-message{color:var(--text-3);margin:6px 0 4px;font-size:9.8px;line-height:1.45}.chart-wrap{margin-top:2px}.progress-chart{width:100%;height:108px;display:block;overflow:visible}.grid-line{stroke:#ffffff0e;stroke-width:1px}.chart-area{fill:#2f7dff16}.chart-line{fill:none;stroke:#3985ff;stroke-width:2px}.chart-dot{fill:#4a92ff;stroke:#9ec6ff;stroke-width:.6px}.chart-axis-row{color:#5f7085;justify-content:space-between;margin:-3px 18px 0;font-size:8px;display:flex}.chart-empty{text-align:center;color:#66778b;border:1px dashed #28384a;border-radius:8px;place-items:center;height:92px;padding:12px;font-size:9.5px;display:grid}.mini-metrics{grid-template-columns:repeat(3,1fr);gap:5px;margin-top:8px;display:grid}.mini-metrics>div{background:#0a10177a;border:1px solid #263548;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:47px;display:flex}.mini-metrics strong{font-size:12.5px}.mini-metrics span{color:var(--text-3);text-align:center;margin-top:2px;font-size:8px}.mini-metrics .positive strong{color:var(--green)}.progress-toast{z-index:100;background:linear-gradient(135deg,#0a291ffa,#081917fa);border:1px solid #34c77b8f;border-radius:11px;grid-template-columns:34px 1fr 22px;gap:9px;width:290px;padding:13px;animation:.2s ease-out toastIn;display:grid;position:fixed;top:82px;right:22px;box-shadow:0 20px 60px #0000006b,0 0 28px #34c77b14}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.toast-icon{background:var(--green-bg);width:32px;height:32px;color:var(--green);border-radius:8px;place-items:center;display:grid}.toast-copy{flex-direction:column;gap:2px;display:flex}.toast-copy strong{color:#a7f0c8;font-size:10.5px}.toast-copy b{margin:1px 0;font-size:14px}.toast-copy span{color:#9aaca9;font-size:9.2px}.toast-copy em{color:var(--green);margin-top:2px;font-size:10px;font-style:normal;font-weight:700}.progress-toast>button{color:#709287;cursor:pointer;background:0 0;border:0;align-self:start;padding:2px}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:120;background:#000000a3;place-items:center;padding:32px;display:grid;position:fixed;inset:0}.modal-card{background:#111923;border:1px solid #2b3a4d;border-radius:14px;width:min(520px,92vw);max-height:86vh;overflow:auto;box-shadow:0 28px 90px #00000080}.modal-card.wide{width:min(720px,92vw)}.modal-header{border-bottom:1px solid var(--border-soft);z-index:2;background:#111923;justify-content:space-between;align-items:center;height:55px;padding:0 18px;display:flex;position:sticky;top:0}.modal-header h2{margin:0;font-size:15px}.modal-header button{color:var(--text-3);cursor:pointer;background:0 0;border:0}.modal-copy{color:var(--text-2);margin:0;padding:20px 20px 4px;font-size:12px;line-height:1.6}.modal-actions{justify-content:flex-end;gap:8px;padding:18px 20px;display:flex}.modal-actions.three-actions{flex-wrap:wrap}.button-primary,.button-secondary,.button-danger{cursor:pointer;border:1px solid #34465d;border-radius:8px;min-height:37px;padding:0 14px;font-size:11.5px}.button-secondary{color:#d8e2ee;background:#17212d}.button-primary{background:var(--blue);color:#fff;border-color:#4c94ff}.button-danger{background:var(--red-bg);color:#f19b9b;border-color:#e2676794}.subtle-danger{background:#e267670f}.editor-body{padding:17px 20px 0}.editor-help{color:var(--text-3);margin:0 0 13px;font-size:10.5px;line-height:1.5}.editor-name-label{color:var(--text-2);gap:6px;font-size:10.5px;display:grid}.editor-name-label input,.editor-row input{height:36px;color:var(--text);background:#0c141d;border:1px solid #2b3b50;border-radius:8px;padding:0 11px;font-size:12px}.editor-list{border:1px solid #253548;border-radius:9px;max-height:390px;margin-top:14px;overflow:hidden auto}.editor-list.topless{margin-top:0}.editor-row{border-bottom:1px solid var(--border-soft);grid-template-columns:32px 1fr 34px 34px 34px;align-items:center;gap:5px;min-height:48px;padding:6px 8px;display:grid}.editor-row:last-child{border-bottom:0}.editor-number{width:26px;height:26px;color:var(--text-3);background:#ffffff0d;border-radius:50%;place-items:center;font-size:10px;display:grid}.editor-row input{height:34px}.editor-row button,.add-chord-button{cursor:pointer;height:32px;color:var(--text-2);background:#17212d;border:1px solid #2d3e52;border-radius:7px;place-items:center;display:grid}.editor-row button:disabled{opacity:.25}.editor-row button.delete{color:#e58a8a}.add-chord-button{justify-content:center;gap:8px;width:100%;margin-top:10px;font-size:11px;display:flex}.editor-error{color:#e99999;margin:8px 0 0;font-size:10px}.rename-body{padding-bottom:2px}.settings-modal-body{gap:10px;padding:18px 20px 2px;display:grid}.settings-line{background:#0e1720;border:1px solid #26364a;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:10px 12px;display:flex}.settings-line>div:first-child{flex-direction:column;gap:3px;display:flex}.settings-line strong{font-size:11.5px}.settings-line span{color:var(--text-3);font-size:10px}.shortcut-card{background:#0e1720;border:1px solid #26364a;border-radius:9px;gap:7px;padding:12px;display:grid}.shortcut-card strong{margin-bottom:2px;font-size:11.5px}.shortcut-card span{color:var(--text-2);font-size:10.5px}.settings-note{color:var(--text-3);margin:2px 0 10px;font-size:10px}.summary-practice-name{flex-direction:column;gap:3px;padding:16px 20px 0;display:flex}.summary-practice-name span{letter-spacing:.07em;color:var(--text-3);font-size:8.5px}.summary-practice-name strong{font-size:17px}.summary-grid{grid-template-columns:repeat(2,1fr);gap:8px;padding:13px 20px 4px;display:grid}.summary-item{background:#0e1720;border:1px solid #27374a;border-radius:9px;flex-direction:column;justify-content:center;min-height:66px;padding:10px 13px;display:flex}.summary-item span{color:var(--text-3);font-size:9.5px}.summary-item strong{margin-top:4px;font-size:17px}.summary-comparison{grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 20px 0;display:grid}.summary-comparison>div{border:1px solid #26364a;border-radius:8px;flex-direction:column;gap:4px;padding:9px;display:flex}.summary-comparison span{color:var(--text-3);font-size:8.5px}.summary-comparison strong{font-size:12px}.summary-comparison .positive strong{color:var(--green)}.focus-header{border-bottom:1px solid var(--border-soft);background:#080e15eb;justify-content:space-between;align-items:center;height:58px;padding:0 24px;display:flex}.brand-wrap.compact{gap:9px}.brand-wrap.compact .brand-logo{width:29px;height:29px}.brand-wrap.compact>div{flex-direction:column;gap:1px;display:flex}.brand-wrap.compact strong{font-size:17px}.brand-wrap.compact span{color:var(--text-3);font-size:9px}.focus-header>span{color:var(--text-3);font-size:10px}.focus-header>button{cursor:pointer;background:#151f2b;border:1px solid #2d3e52;border-radius:8px;align-items:center;gap:7px;min-height:34px;padding:0 11px;font-size:11px;display:flex}.focus-mode .desktop-shell{width:min(1260px,100% - 56px);margin-top:20px;display:block}.focus-mode .practice-title-bar,.focus-mode .chord-info-panel{display:none}.focus-mode .progression-strip{min-height:74px}.focus-mode .practice-main-card{flex-direction:column;align-items:center;min-height:650px;padding:22px 30px;display:flex}.focus-mode .current-chord-card{width:min(980px,100%);height:320px}.focus-mode .current-chord-symbol{font-size:clamp(130px,12vw,176px)}.focus-mode .current-chord-degrees{font-size:22px}.focus-control-area{flex-direction:column;align-items:center;width:100%;display:flex}.focus-state{letter-spacing:.09em;color:#8292a5;margin-top:18px;font-size:10px;font-weight:800}.focus-state.running{color:#67aaff}.focus-state.paused{color:var(--amber)}.focus-timer-label{margin-top:9px}.focus-timer{font-variant-numeric:tabular-nums;letter-spacing:-.04em;margin-top:4px;font-size:72px;font-weight:620;line-height:1}.focus-timer.running{color:#68aaff}.focus-timer.paused{color:#e3b959}.focus-next{color:var(--text-3);align-items:baseline;gap:9px;margin-top:16px;font-size:10px;display:flex}.focus-next strong{color:#dfe8f2;font-size:19px}.focus-mini-controls{gap:8px;margin-top:18px;display:flex}.focus-mini-controls button{cursor:pointer;background:#17212d;border:1px solid #304057;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:0 13px;font-size:11px;display:flex}.focus-mini-controls button.primary{background:var(--blue);color:#fff;border-color:#5097ff;min-width:160px}.focus-mini-controls button:disabled{opacity:.3}.focus-help{color:#718398;margin:13px 0 0;font-size:10px}@media (max-width:1450px){.desktop-shell{grid-template-columns:250px minmax(590px,1fr) 305px;gap:12px;width:calc(100% - 28px)}.app-header{grid-template-columns:minmax(270px,1fr) auto minmax(90px,.6fr);padding:0 18px}.brand-copy span{font-size:10px}.practice-title-line h1{font-size:19px}.current-chord-card{height:196px}.current-chord-symbol{font-size:88px}.timer-value{font-size:46px}.control-button{padding:0 9px;font-size:10px}.progression-pill{min-width:64px;padding:0 8px;font-size:10.5px}.side-panel{padding:12px}.practice-main-card{padding-inline:14px}.right-column{gap:9px}.chord-info-panel{min-height:124px}.practice-list{max-height:150px}}.nav-button:disabled{opacity:.36;cursor:not-allowed}.simplified-setup{min-height:214px}.progression-overview-card{border:1px solid var(--border);color:var(--text-2);background:#070c1257;border-radius:9px;align-items:baseline;gap:6px;padding:12px;display:flex}.progression-overview-card strong{color:var(--text);font-size:18px}.progression-overview-card span{font-size:10px}.progression-overview-card i{color:var(--text-3);margin:0 2px;font-style:normal}.setup-warning{color:#d7b46b;margin-top:9px}.provisional-note{color:#7f8fa3;background:#2f7dff0b;border:1px solid #2f7dff21;border-radius:7px;margin:2px 0 8px;padding:6px 8px;font-size:8.6px;line-height:1.45}.provisional-section .subheading strong{color:#aebccc}.progression-builder{border:1px solid var(--border-soft);border-radius:var(--radius);background:#0f161fe6;min-width:0;padding:12px}.progression-builder.viewing{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.view-rows{gap:8px;min-width:0;display:grid}.view-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;min-width:0;display:flex}.view-chord-wrap{align-items:center;gap:5px;display:flex}.row-continuation{color:#50779f;margin-left:4px;font-size:16px}.inline-edit-button{color:var(--text-2);cursor:pointer;white-space:nowrap;background:#141f2a;border:1px solid #2c3c50;border-radius:8px;align-self:start;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:10px;display:flex}.inline-edit-button:hover{color:#fff;border-color:#45627f}.progression-builder.empty{justify-content:space-between;align-items:center;gap:18px;min-height:86px;padding:15px 17px;display:flex}.progression-builder.empty>div{flex-direction:column;gap:4px;display:flex}.progression-builder.empty strong{font-size:14px}.progression-builder.empty p{color:var(--text-3);margin:0;font-size:10px}.progression-builder.empty .button-primary{align-items:center;gap:7px;display:flex}.progression-builder.editing{background:linear-gradient(#121d29f7,#0c131bf7);border-color:#2f7dff47;padding:14px 14px 13px}.progression-builder-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:12px;display:flex}.progression-builder-head p{color:var(--text-3);margin:4px 0 0;font-size:9.5px;line-height:1.45}.builder-actions{gap:7px;display:flex}.small-button{align-items:center;gap:6px;display:inline-flex;min-height:32px!important;padding:0 11px!important}.builder-rows{gap:8px;display:grid}.builder-row{grid-template-columns:46px minmax(0,1fr);align-items:center;gap:8px;display:grid}.builder-row-label{color:#61748a;text-transform:uppercase;letter-spacing:.055em;font-size:8.7px}.builder-row-cards{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.builder-card{background:#121d28;border:1px solid #314258;border-radius:9px;grid-template-columns:26px minmax(64px,95px) 24px;align-items:center;height:42px;transition:all .14s;display:grid;overflow:hidden}.builder-card:focus-within{border-color:#438aff;box-shadow:0 0 0 1px #2f7dff2e}.builder-card.dragging{opacity:.42;border-style:dashed}.builder-card input{color:#f2f6fb;text-align:center;background:0 0;border:0;outline:none;width:100%;min-width:0;height:40px;padding:0 4px;font-size:11.5px;font-weight:720}.drag-handle,.builder-delete{cursor:grab;color:#64778d;background:0 0;border:0;place-items:center;height:100%;display:grid}.drag-handle:active{cursor:grabbing}.builder-delete{cursor:pointer;color:#8d6470}.builder-delete:hover{color:#f09aa4;background:#e2676712}.builder-footer{align-items:center;gap:9px;margin-top:11px;display:flex}.builder-add{color:#bcd8ff;cursor:pointer;background:#2f7dff17;border:1px solid #315077;border-radius:8px;align-items:center;gap:7px;height:36px;padding:0 11px;font-size:10.5px;display:flex}.builder-add:hover:not(:disabled){background:#2f7dff26;border-color:#3f7dca}.builder-error{color:#e89494;margin:8px 0 0;font-size:9.5px}.practice-controls{flex-wrap:wrap}.redo-control{color:#b5c4d5}.configure-help{color:#d5b06c!important}.draft-toast{background:linear-gradient(135deg,#0f2237fa,#081624fa);border-color:#2f7dff8c;box-shadow:0 20px 60px #0000006b,0 0 28px #2f7dff14}.draft-toast .toast-icon{background:var(--blue-bg);color:#72b0ff}.draft-toast .toast-copy strong{color:#b9d7ff}.draft-toast .toast-copy span{color:#91a8c2}.toast-redo{width:max-content;margin-top:5px;color:#bcd8ff!important;cursor:pointer!important;background:#2f7dff14!important;border:1px solid #335374!important;border-radius:6px!important;align-items:center!important;gap:5px!important;padding:4px 7px!important;font-size:9px!important;display:flex!important}.toast-redo:hover{background:#2f7dff26!important}.review-head{grid-template-columns:1.4fr 1.3fr .8fr .6fr;gap:8px;padding:14px 18px 10px;display:grid}.review-head>div{background:#0d161f;border:1px solid #26364a;border-radius:8px;flex-direction:column;gap:3px;padding:8px 10px;display:flex}.review-head span{color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;font-size:8px}.review-head strong{font-size:11.5px}.review-copy{color:#94a6ba;background:#2f7dff0b;border:1px solid #2f7dff21;border-radius:8px;margin:2px 18px 10px;padding:9px 11px;font-size:9.7px;line-height:1.5}.review-table{border:1px solid #27384c;border-radius:9px;max-height:350px;margin:0 18px;overflow:hidden auto}.review-row{border-bottom:1px solid var(--border-soft);grid-template-columns:minmax(85px,1fr) 82px minmax(135px,1.2fr) 140px;align-items:center;gap:8px;min-height:47px;padding:6px 10px;font-size:10.5px;display:grid}.review-row:last-child{border-bottom:0}.review-header{color:#7f91a6;text-transform:uppercase;letter-spacing:.045em;z-index:1;background:#101a25;min-height:32px;font-size:8.5px;position:sticky;top:0}.review-row.excluded{opacity:.5;background:#ffffff03}.review-row>strong{font-size:12px}.review-row>b{font-variant-numeric:tabular-nums}.review-include{color:#b4c0cf;cursor:pointer;align-items:center;gap:7px;display:flex}.review-include input{accent-color:var(--blue)}.review-actions{justify-content:flex-end;gap:5px;display:flex}.review-actions button{color:#aebed0;cursor:pointer;background:#14202c;border:1px solid #2c4057;border-radius:6px;align-items:center;gap:5px;height:28px;padding:0 7px;font-size:8.8px;display:flex}.review-actions button.danger{color:#df9292;background:#e267670a;border-color:#e2676742}.review-empty{text-align:center;color:var(--text-3);padding:24px;font-size:10px}.review-footer-note{color:#71859b;align-items:center;gap:7px;margin:10px 18px 0;font-size:9px;display:flex}.review-footer-note svg{color:#5c96d8}.review-modal-actions{justify-content:space-between}.review-modal-actions .button-primary{margin-left:auto}.button-primary:disabled{opacity:.35;cursor:not-allowed}.simple-create-body{padding-bottom:5px}.focus-mode .progression-builder.viewing{min-height:82px;padding:14px 18px;display:block}.focus-mode .view-rows{gap:8px}.focus-mode .view-row{gap:7px}.focus-mode .inline-edit-button{display:none}.focus-mode .progression-pill{min-width:86px;height:46px;font-size:13px}.focus-mode .row-continuation{font-size:18px}@media (max-width:1450px){.progression-builder.viewing{grid-template-columns:minmax(0,1fr)}.inline-edit-button{justify-self:end}.builder-card{grid-template-columns:24px minmax(58px,84px) 22px}.review-row{grid-template-columns:minmax(76px,1fr) 72px minmax(120px,1fr) 120px}.review-head{grid-template-columns:repeat(2,1fr)}}.progress-toast{z-index:160}.progression-builder.editing{overflow:visible}.builder-row-block{gap:3px;display:grid}.builder-row{align-items:center}.builder-row-cards{min-height:48px}.builder-card{cursor:grab;-webkit-user-select:none;user-select:none;grid-template-columns:24px minmax(72px,104px) 24px;transition:transform .18s,border-color .18s,background .18s,opacity .18s,box-shadow .18s;transform:translateZ(0)}.builder-card:active{cursor:grabbing}.builder-card.dragging{opacity:.34;border-style:dashed;transform:scale(.97)}.builder-card.drag-over{border-color:#4a8fe5;transform:translate(3px);box-shadow:0 0 0 1px #2f7dff2e}.builder-symbol-display{color:#f2f6fb;text-align:center;white-space:nowrap;text-overflow:ellipsis;justify-content:center;align-items:center;min-width:0;height:40px;padding:0 4px;font-size:11.5px;font-weight:740;display:flex;overflow:hidden}.drag-handle{color:#657b92;pointer-events:none;place-items:center;height:100%;display:grid}.builder-card input{-webkit-user-select:text;user-select:text}.row-add-slot:hover{color:#b8d6f7;background:#2f7dff17;border-color:#4d87c8}.builder-footer,.builder-add{display:none!important}.progression-builder-head{margin-bottom:10px}.progression-builder.editing{transition:min-height .18s}.view-row{justify-content:flex-start}.view-rows{gap:9px}.progression-builder.viewing{align-items:start}.inline-edit-button{margin-top:2px}.draft-actions-bar{border-top:1px solid var(--border-soft);flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;margin-top:12px;padding-top:10px;display:flex}.draft-actions-bar>span{text-align:center;color:#6f8196;flex-basis:100%;margin-top:1px;font-size:8.7px}.save-statistics-button,.review-drafts-button,.discard-drafts-button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;height:34px;padding:0 11px;font-size:9.8px;display:inline-flex}.save-statistics-button{color:#9ae2bb;background:#34c77b1f;border:1px solid #34c77b8c}.save-statistics-button:hover{color:#d8f6e5;background:#34c77b2e;border-color:#4fd18a}.review-drafts-button{color:#b7d5f8;background:#2f7dff12;border:1px solid #315077}.review-drafts-button:hover{background:#2f7dff21}.discard-drafts-button{color:#c99393;background:#e267670a;border:1px solid #e2676747}.discard-drafts-button:hover{color:#f0adad;background:#e2676717}.save-stats-modal{background:linear-gradient(#35c97d,#24975e)!important;border-color:#50d590!important}.switch-four-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;display:grid!important}.switch-four-actions button{justify-content:center}.focus-draft-actions{gap:8px;margin-top:12px;display:flex}.focus-draft-actions button{cursor:pointer;background:#17212d;border:1px solid #304057;border-radius:8px;min-height:36px;padding:0 11px;font-size:10px}.focus-draft-actions .focus-save-stats{color:#a8e9c6;background:#34c77b1f;border-color:#34c77b8c}.focus-draft-actions .focus-save-stats:hover{background:#34c77b30}@media (max-width:1450px){.builder-card{grid-template-columns:22px minmax(62px,90px) 22px}.row-add-slot{min-width:38px;padding-inline:8px}.draft-actions-bar{gap:5px}.save-statistics-button,.review-drafts-button,.discard-drafts-button{padding:0 8px;font-size:9px}}.desktop-shell{grid-template-columns:270px minmax(620px,1fr) 330px;gap:16px;width:min(1660px,100% - 40px)}.reserved-left-space{pointer-events:none;min-width:0;min-height:1px}.practice-column{min-width:0}.practice-title-bar{padding-inline:16px}.title-loop-control{color:var(--text-2);white-space:nowrap;align-items:center;gap:10px;font-size:10px;display:flex}.title-loop-control .switch{flex:none}.progression-builder.live{background:linear-gradient(#0f1720f0,#0c131bf0);border-color:#ffffff13;padding:12px 14px;overflow:visible}.live-progression-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:8px;display:flex}.live-progression-hint{color:#64788e;letter-spacing:.01em;white-space:nowrap;font-size:8.8px}.live-builder-rows,.live-rows{gap:7px;min-width:0;display:grid}.live-empty-row{justify-content:center;align-items:center;min-height:46px;display:flex}.live-row-block{gap:2px;min-width:0;display:grid}.live-row{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;min-width:0;min-height:46px;display:flex}.live-chord-wrap{align-items:center;gap:6px;min-width:0;display:flex}.live-chord-card{color:#d7e1ec;cursor:pointer;-webkit-user-select:none;user-select:none;background:#17212c;border:1px solid #2b3a4d;border-radius:8px;grid-template-columns:18px minmax(56px,1fr) 18px;align-items:center;min-width:86px;max-width:142px;height:42px;transition:transform .18s,border-color .18s,background .18s,opacity .18s,box-shadow .18s,color .18s;display:grid;position:relative;transform:translateZ(0)}.live-chord-card:hover{color:#f2f6fb;background:#1a2734;border-color:#405a77}.live-chord-card.current{color:#fff;background:#2f7dff2e;border-color:#2f86ff;box-shadow:0 0 0 1px #2f7dff1f,0 0 18px #2f7dff1c}.live-chord-card.done:not(.current){color:#aeb9c6}.live-chord-card.dragging{opacity:.52;transform:scale(.985);box-shadow:0 10px 28px #00000047,0 0 0 1px #438aff2e}.live-chord-card.drag-over{border-color:#4a8fe5;transform:translate(3px);box-shadow:0 0 0 1px #2f7dff2e}.live-chord-card.editing{cursor:text;border-color:#438aff;box-shadow:0 0 0 1px #2f7dff29}.live-chord-card.blank{color:#72859a;background:#2f7dff06;border-style:dashed}.live-drag-handle{color:#61758a;pointer-events:none;opacity:.72;place-items:center;display:grid}.live-chord-symbol{text-align:center;white-space:nowrap;text-overflow:ellipsis;min-width:0;padding:0 3px;font-size:11.5px;font-weight:740;display:block;overflow:hidden}.live-chord-card input{color:#f4f7fb;text-align:center;-webkit-user-select:text;user-select:text;background:0 0;border:0;outline:none;width:100%;height:40px;padding:0 2px;font-size:11.5px;font-weight:740}.live-delete-chord{color:#8b6671;cursor:pointer;opacity:0;background:0 0;border:0;place-items:center;width:18px;height:28px;transition:all .14s;display:grid}.live-chord-card:hover .live-delete-chord,.live-delete-chord:focus-visible{opacity:1}.live-delete-chord:hover{color:#f0a1aa;background:#e2676714;border-radius:5px}.structure-locked .live-chord-card{cursor:pointer}.structure-locked .live-drag-handle,.structure-locked .live-delete-chord{display:none}.structure-lock-note{text-align:right;color:#6d7f93;margin:5px 0 0;font-size:8.5px}.row-add-slot{color:#7baee8;cursor:pointer;background:#2f7dff0a;border:1px solid #36516e;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-width:42px;height:42px;padding:0 10px;font-size:9px;transition:all .16s;display:inline-flex}.row-add-slot:hover:not(:disabled){color:#b8d6f7;background:#2f7dff17;border-color:#4d87c8}.row-add-slot:disabled{opacity:.34;cursor:not-allowed}.progression-builder.read-only{min-height:82px;padding:14px 18px}.progression-builder.read-only .live-row{justify-content:center}.progression-builder.read-only .progression-pill{min-width:82px;height:44px;font-size:13px}.essential-controls{max-width:560px;flex-wrap:nowrap!important}.essential-controls .control-button{min-height:40px}.essential-controls .control-primary{min-width:176px}.essential-controls .pause-control{min-width:96px}.session-actions-panel{border-color:#2f7dff2e}.session-actions-copy{color:#7f91a6;margin:5px 0 10px;font-size:9px;line-height:1.45}.session-actions-count{background:#0e1721;border:1px solid #26384c;border-radius:8px;justify-content:center;align-items:baseline;gap:6px;min-height:45px;margin-bottom:9px;display:flex}.session-actions-count strong{color:#edf4fb;font-size:20px}.session-actions-count span{color:var(--text-3);font-size:9px}.wide-action{width:100%;min-height:36px}.session-secondary-actions{grid-template-columns:1fr 1fr;gap:6px;margin-top:6px;display:grid}.session-secondary-actions button{min-width:0;padding-inline:7px}.focus-mode .progression-builder.read-only{display:block}.focus-mode .live-row{gap:7px}.focus-mode .practice-main-card{margin-top:3px}.focus-mode .focus-mini-controls{flex-wrap:nowrap}@media (max-width:1450px){.desktop-shell{grid-template-columns:250px minmax(590px,1fr) 305px;gap:12px;width:calc(100% - 28px)}.live-progression-hint{font-size:8.2px}.live-chord-card{grid-template-columns:16px minmax(52px,1fr) 16px;min-width:78px;max-width:124px}.row-add-slot{min-width:38px;padding-inline:8px}.essential-controls .control-primary{min-width:158px}}.live-chord-card.drag-before,.live-chord-card.drag-after{border-color:#3b5572;box-shadow:0 8px 22px #00000029}.live-chord-card.drag-before:before,.live-chord-card.drag-after:after{content:"";pointer-events:none;background:#438aff;border-radius:999px;width:2px;position:absolute;top:7px;bottom:7px;box-shadow:0 0 8px #438aff61}.live-chord-card.drag-before:before{left:-5px}.live-chord-card.drag-after:after{right:-5px}.live-builder-rows.is-dragging .live-row{transition:min-height .18s}.live-builder-rows.is-dragging .live-chord-wrap{transition:transform .18s}.central-session-actions{background:linear-gradient(#101923f5,#0c131bf5);border-color:#2f7dff2e;margin-top:0;padding:10px 12px}.central-session-actions .subheading.large{margin-bottom:3px}.central-session-actions .session-actions-copy{margin:3px 0 8px}.central-session-actions .session-actions-count{min-height:38px;margin-bottom:7px}.central-session-actions .session-actions-count strong{font-size:18px}.central-session-actions .wide-action{min-height:34px}.central-session-actions .session-secondary-actions{margin-top:6px}.central-session-actions .session-secondary-actions button{min-height:34px}@media (max-width:1450px){.central-session-actions{padding:9px 10px}.central-session-actions .session-actions-copy{font-size:8.5px}}.live-chord-card.dragging{opacity:.58}.session-inline-actions{border-top:1px solid var(--border-soft);justify-content:center;align-items:center;gap:10px;width:min(560px,100%);min-height:38px;margin:9px auto 0;padding-top:8px;display:flex}.session-inline-count{white-space:nowrap;color:var(--text-3);align-items:baseline;gap:5px;font-size:9.5px;display:inline-flex}.session-inline-count strong{color:#eaf1f8;font-variant-numeric:tabular-nums;font-size:14px;line-height:1}.session-inline-buttons{flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;min-width:0;display:flex}.session-save-button{white-space:nowrap;height:30px!important;padding:0 10px!important;font-size:9.4px!important}.session-save-button:disabled{opacity:.34;cursor:not-allowed}.session-save-button:disabled:hover{color:#9ae2bb;background:#34c77b1f;border-color:#34c77b8c}.session-text-action{color:#91a5bb;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:3px 1px;font-size:9px;line-height:1}.session-text-action.review:hover{color:#bcd9fa}.session-text-action.discard{color:#a77d83}.session-text-action.discard:hover{color:#ef9da6}.session-action-separator{color:#4f6072;font-size:10px;line-height:1}@media (max-width:1450px){.session-inline-actions{gap:8px;min-height:34px;margin-top:7px;padding-top:7px}.session-inline-count{font-size:8.8px}.session-inline-count strong{font-size:13px}.session-save-button{height:28px!important;padding-inline:8px!important;font-size:8.8px!important}.session-text-action{font-size:8.5px}}.live-chord-card{touch-action:none;cursor:grab}.live-chord-card.editing{touch-action:auto;cursor:text}.live-chord-card.dragging{cursor:grabbing;opacity:.56;transform:scale(.985);box-shadow:0 10px 28px #00000047,0 0 0 1px #438aff2e}.live-chord-card:not(.dragging){opacity:1}.chord-drag-overlay{z-index:120;color:#f4f7fb;pointer-events:none;-webkit-user-select:none;user-select:none;background:#17212c;border:1px solid #438aff;border-radius:8px;justify-content:center;align-items:center;min-width:86px;height:42px;padding:0 14px;font-size:11.5px;font-weight:740;display:flex;position:fixed;transform:translateZ(0);box-shadow:0 14px 34px #0000005c,0 0 0 1px #2f7dff29}.live-row.drag-row-end:after{content:"";pointer-events:none;background:#438aff;border-radius:999px;flex:0 0 2px;width:2px;height:28px;margin-left:0;box-shadow:0 0 8px #438aff66}.live-row-block.drag-split-after:after{content:"";pointer-events:none;background:#438aff;border-radius:999px;width:min(210px,34%);height:2px;margin:2px auto -1px;display:block;box-shadow:0 0 8px #438aff57}.progression-builder.live:not(.read-only) .live-row-block{gap:0;min-width:0;position:relative}.progression-builder.live:not(.read-only) .live-row{flex-wrap:nowrap;justify-content:center;align-items:center;gap:0;width:100%;min-height:46px;transition:opacity .14s,min-height .18s;display:flex}.live-row-balanced-group{justify-content:center;align-items:center;width:max-content;min-width:0;max-width:100%;display:flex}.live-row-balance{pointer-events:none;height:1px;display:block}.live-row-music{flex-wrap:wrap;flex:0 auto;justify-content:center;align-items:center;gap:6px;min-width:0;transition:transform .18s,width .18s;display:flex}.live-row-actions{justify-content:flex-start;align-items:center;padding-left:26px;display:flex}.live-row-actions .row-add-slot{flex:none}.live-row.drag-row-end:after{content:none!important}.live-row-music.drag-row-end:after{content:"";pointer-events:none;background:#438aff;border-radius:999px;flex:0 0 2px;width:2px;height:28px;margin-left:0;box-shadow:0 0 8px #438aff66}.live-row-block.drag-split-after:after{content:none!important;display:none!important}.split-origin-live-row{will-change:opacity}.split-origin-preview-row{pointer-events:none;z-index:3;justify-content:center;align-items:center;height:46px;transition:opacity .12s;display:flex;position:absolute;top:0;left:0;right:0}.split-origin-preview-music,.new-row-preview-music{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;min-width:0;display:flex}.split-preview-chord-wrap{align-items:center;gap:6px;min-width:0;display:flex}.split-preview-chord{color:#dbe7f4;white-space:nowrap;text-overflow:ellipsis;background:#17212ceb;border:1px solid #438aff42;border-radius:8px;justify-content:center;align-items:center;min-width:78px;max-width:132px;height:36px;padding:0 14px;font-size:11px;font-weight:740;display:flex;overflow:hidden;box-shadow:0 6px 18px #0000001f}.split-preview-chord.moving{color:#fff;border-color:#438aff;box-shadow:0 0 0 1px #2f7dff1f,0 8px 22px #0003}.new-row-preview-shell{opacity:0;will-change:max-height,opacity,margin-top;max-height:0;margin-top:0;transition:max-height .12s linear,opacity .12s,margin-top .16s;overflow:hidden}.new-row-preview-clip{overflow:hidden}.new-row-preview-card{background:linear-gradient(#2f7dff0e,#2f7dff06);border:1px dashed #438aff8c;border-radius:10px;align-content:center;justify-items:center;gap:6px;width:calc(100% - 100px);min-height:66px;margin:0 auto;padding:7px 12px 10px;display:grid;box-shadow:inset 0 0 0 1px #2f7dff06}.new-row-preview-label{color:#78aee9;text-transform:uppercase;letter-spacing:.07em;-webkit-user-select:none;user-select:none;font-size:8.5px;font-weight:700;line-height:1}.new-row-preview-music{width:100%}.progression-builder.live:not(.read-only) .live-row-balanced-group{transition:max-width .18s}.progression-builder.live:not(.read-only) .live-chord-wrap{transition:transform .18s,opacity .16s}@media (max-width:1450px){.live-row-balance,.live-row-actions{flex-basis:64px;width:64px}.live-row-actions{padding-left:26px}.new-row-preview-card{width:calc(100% - 92px)}.split-preview-chord{min-width:72px;max-width:118px;height:34px;padding-inline:11px;font-size:10.5px}}.left-column,.right-column{align-self:start;min-width:0;max-height:calc(100vh - 104px);position:sticky;top:88px}.left-column{gap:11px;display:grid}.left-column .practices-panel{flex-direction:column;max-height:calc(100vh - 104px);display:flex;overflow:hidden}.left-column .practice-list{flex:auto;max-height:none;padding-right:4px;overflow:hidden auto}.right-column{display:block;overflow:hidden}.right-column .history-panel{scrollbar-gutter:stable;max-height:calc(100vh - 104px);padding-right:10px;overflow:hidden auto}.right-column .history-panel::-webkit-scrollbar{width:7px}.left-column .practice-list::-webkit-scrollbar{width:7px}.right-column .history-panel::-webkit-scrollbar-thumb{background:#28394c;border-radius:999px}.left-column .practice-list::-webkit-scrollbar-thumb{background:#28394c;border-radius:999px}.right-column .history-panel::-webkit-scrollbar-track{background:0 0}.left-column .practice-list::-webkit-scrollbar-track{background:0 0}.history-mini-metrics{margin-bottom:2px}.reserved-left-space{display:none!important}.live-chord-card{flex:0 0 128px;grid-template-columns:18px minmax(0,1fr) 18px;width:128px;min-width:128px;max-width:128px}.live-drag-handle{grid-column:1}.live-chord-symbol{text-overflow:clip;white-space:nowrap;text-align:center;grid-column:2;min-width:0;padding:0 6px;overflow:visible}.live-delete-chord{grid-column:3}.structure-locked .live-drag-handle,.structure-locked .live-delete-chord{visibility:hidden;pointer-events:none;opacity:0!important;display:grid!important}.live-chord-card.editing{width:128px;min-width:128px;max-width:128px}.live-chord-card.editing input,.live-chord-card input{text-align:center;grid-column:1/-1;justify-self:stretch;width:100%;min-width:0;height:40px;padding:0 24px}.live-row-balance,.live-row-actions{flex:0 0 68px;width:68px}.live-row-balanced-group{margin-inline:auto}.live-row-music{justify-content:center}.new-row-preview-shell{transition:max-height .2s cubic-bezier(.2,.72,.25,1),opacity .14s,margin-top .18s!important}.new-row-preview-card{width:min(520px,100% - 100px);min-height:64px;transition:border-color .16s,background .16s,box-shadow .16s}.split-preview-chord{text-overflow:clip;white-space:nowrap;max-width:154px;overflow:visible}.session-actions-card{background:linear-gradient(#121d29eb,#0c141deb);border:1px solid #2f7dff3d;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;width:min(640px,100%);min-height:68px;margin:12px auto 0;padding:10px 12px;display:grid;box-shadow:inset 0 1px #ffffff06}.session-actions-card-count{white-space:nowrap;color:#9eafc1;align-items:baseline;gap:6px;display:flex}.session-actions-card-count strong{color:#f1f6fb;font-variant-numeric:tabular-nums;font-size:22px;line-height:1}.session-actions-card-count span{color:#9eafc1;font-size:10px;font-weight:650}.session-save-card-button,.session-secondary-card-button{white-space:nowrap;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:0 10px;font-size:9.8px;font-weight:650;display:inline-flex}.session-save-card-button{color:#b0edcc;background:#34c77b24;border:1px solid #34c77b9e}.session-save-card-button:hover:not(:disabled){color:#e0f8eb;background:#34c77b36;border-color:#56d394}.session-secondary-card-button{color:#afc6df;background:#14202c;border:1px solid #304660}.session-secondary-card-button.review:hover:not(:disabled){color:#d7e9ff;background:#2f7dff1c;border-color:#4775aa}.session-secondary-card-button.discard{color:#d59a9f;background:#e267670e;border-color:#e2676757}.session-secondary-card-button.discard:hover:not(:disabled){color:#f2b0b5;background:#e267671a}.session-actions-card button:disabled{opacity:.34;cursor:not-allowed}.practice-help-block{justify-items:center;gap:4px;width:min(660px,100%);margin:8px auto 0;display:grid}.practice-help-block .shortcut-help{color:#718398;margin:0;font-size:9.3px}.practice-help-block .pedal-help{color:#586c82;text-align:center;justify-content:center;margin:0;font-size:8.9px}.focus-header{grid-template-columns:minmax(240px,1fr) auto minmax(120px,1fr);align-items:center;gap:14px;height:54px;padding:0 22px;display:grid}.focus-header-center{justify-content:center;align-items:center;gap:18px;min-width:0;display:flex}.focus-header-center>span{color:var(--text-3);white-space:nowrap;font-size:9.5px}.focus-loop-control{color:#9badc0;white-space:nowrap;align-items:center;gap:8px;font-size:9.5px;display:flex}.focus-header>button{justify-self:end}.focus-mode .desktop-shell{width:min(1180px,100% - 44px);margin:12px auto 18px;display:block}.focus-mode .practice-column{gap:9px}.focus-mode .progression-builder.read-only{border-radius:11px;min-height:62px;padding:9px 14px}.focus-mode .progression-builder.live .live-progression-head{display:none}.focus-mode .live-rows{gap:5px}.focus-mode .progression-builder.read-only .live-row{flex-wrap:wrap;justify-content:center;gap:6px;min-height:38px}.focus-mode .progression-builder.read-only .live-chord-wrap{gap:5px}.focus-mode .progression-builder.read-only .progression-pill{min-width:76px;height:36px;padding:0 10px;font-size:11.5px}.focus-mode .practice-main-card{flex-direction:column;align-items:center;min-height:0;margin-top:0;padding:13px 18px 11px;display:flex}.focus-mode .current-chord-card{width:min(900px,100%);height:188px;min-height:188px}.focus-mode .chord-card-topline{gap:9px}.focus-mode .eyebrow{font-size:9.5px}.focus-mode .state-badge{padding:3px 6px;font-size:8px}.focus-mode .practice-controls-block{align-items:center;width:100%}.focus-mode .essential-controls{max-width:620px}.focus-mode .essential-controls .control-primary{min-width:170px}.focus-mode .session-actions-card.compact .session-actions-card-count strong{font-size:18px}.focus-mode .session-actions-card.compact .session-actions-card-count span{font-size:9px}.focus-mode .session-actions-card.compact .session-actions-card-buttons{grid-template-columns:minmax(142px,1.2fr) minmax(100px,.8fr) minmax(100px,.8fr);gap:6px}.focus-mode .session-actions-card.compact button{min-height:32px;font-size:9px}.focus-mode .practice-help-block{gap:2px;margin-top:6px}.focus-mode .left-column,.focus-mode .right-column{display:none!important}@media (max-width:1450px){.live-chord-card,.live-chord-card.editing{flex-basis:118px;width:118px;min-width:118px;max-width:118px}.live-row-balance,.live-row-actions{flex-basis:64px;width:64px}.session-actions-card{gap:9px;width:min(580px,100%);padding:9px 10px}.session-actions-card-count strong{font-size:19px}.session-actions-card-count span{font-size:9px}.session-actions-card-buttons{grid-template-columns:minmax(138px,1.25fr) minmax(96px,.8fr) minmax(96px,.8fr);gap:6px}.session-save-card-button,.session-secondary-card-button{min-height:34px;padding-inline:8px;font-size:9px}.left-column,.right-column{max-height:calc(100vh - 96px);top:84px}.left-column .practices-panel,.right-column .history-panel{max-height:calc(100vh - 96px)}.focus-header{grid-template-columns:minmax(210px,1fr) auto minmax(100px,1fr);height:50px;padding-inline:16px}.focus-header-center{gap:12px}.focus-mode .desktop-shell{width:calc(100% - 28px);margin-top:9px}.focus-mode .progression-builder.read-only{min-height:56px;padding:7px 11px}.focus-mode .progression-builder.read-only .live-row{min-height:34px}.focus-mode .progression-builder.read-only .progression-pill{min-width:70px;height:33px;font-size:10.5px}.focus-mode .practice-main-card{padding:10px 14px 9px}.focus-mode .current-chord-card{height:166px;min-height:166px}.focus-mode .current-chord-symbol{font-size:82px}.focus-mode .current-chord-degrees{margin-top:5px;font-size:14px}.focus-mode .timer-label{margin-top:6px}.focus-mode .timer-value{font-size:44px}.focus-mode .practice-controls{margin-top:6px}.focus-mode .essential-controls .control-button{min-height:35px;font-size:9.6px}.focus-mode .essential-controls .control-primary{min-width:154px}.focus-mode .session-actions-card.compact{min-height:52px;margin-top:7px;padding:7px 9px}.focus-mode .session-actions-card.compact .session-actions-card-count strong{font-size:17px}.focus-mode .session-actions-card.compact .session-actions-card-buttons{grid-template-columns:minmax(130px,1.2fr) minmax(94px,.8fr) minmax(94px,.8fr)}.focus-mode .session-actions-card.compact button{min-height:30px;font-size:8.5px}.focus-mode .practice-help-block{margin-top:5px}}.reserved-left-column{pointer-events:none;min-height:1px;display:block!important}.left-column.reserved-left-column{overflow:hidden}.right-column{flex-direction:column;gap:11px;min-height:0;display:flex;overflow:hidden}.right-column>.practices-panel{flex-direction:column;flex:none;min-height:0;max-height:270px;display:flex;overflow:hidden}.right-column>.practices-panel .practice-list{flex:auto;min-height:0;max-height:165px;padding-right:4px;overflow:hidden auto}.right-column>.practices-panel .practice-list::-webkit-scrollbar{width:7px}.history-accordion-scroll::-webkit-scrollbar{width:7px}.right-column>.practices-panel .practice-list::-webkit-scrollbar-thumb{background:#28394c;border-radius:999px}.history-accordion-scroll::-webkit-scrollbar-thumb{background:#28394c;border-radius:999px}.right-column>.practices-panel .practice-list::-webkit-scrollbar-track{background:0 0}.history-accordion-scroll::-webkit-scrollbar-track{background:0 0}.right-column .history-panel.history-accordion-panel{flex-direction:column;flex:auto;gap:6px;min-height:0;max-height:none;padding:8px;display:flex;overflow:hidden}.history-accordion-item{background:#0f1720a8;border:1px solid #fff1;border-radius:9px;flex:none;transition:border-color .18s,background .18s,box-shadow .18s;overflow:hidden}.history-accordion-item.open{background:#101a25d6;border-color:#2f7dff42;box-shadow:inset 0 1px #ffffff05}.history-accordion-trigger{cursor:pointer;color:#c9d5e3;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 10px;display:flex}.history-accordion-trigger:hover{color:#eef5fd;background:#2f7dff0e}.history-accordion-title{align-items:center;gap:8px;min-width:0;display:flex}.history-accordion-title svg{color:#4c98ff;flex:none}.history-accordion-title strong{letter-spacing:.035em;min-width:0;color:inherit;white-space:normal;font-size:9px;line-height:1.25}.history-accordion-chevron{color:#7c8fa5;flex:none;place-items:center;transition:transform .2s cubic-bezier(.2,.72,.25,1),color .18s;display:grid}.history-accordion-chevron.open{color:#79adf0;transform:rotate(180deg)}.history-accordion-body{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .22s cubic-bezier(.2,.72,.25,1),opacity .16s;display:grid}.history-accordion-body.open{opacity:1;grid-template-rows:1fr}.history-accordion-body-clip{min-height:0;overflow:hidden}.history-accordion-scroll{scrollbar-gutter:stable;max-height:calc(100vh - 430px);padding:5px 10px 10px;overflow:hidden auto}.history-accordion-scroll .history-grid{margin-top:2px}.history-accordion-scroll .empty-message{color:#74869b;margin:7px 0;font-size:9px}.history-accordion-scroll .mini-metrics{margin-top:8px}.live-chord-card,.progression-pill{position:relative}.chord-attempt-time{z-index:4;pointer-events:none;-webkit-user-select:none;user-select:none;letter-spacing:.01em;color:#85b6ee;opacity:.95;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:6.8px;font-weight:760;line-height:1;position:absolute;top:3px;right:21px}.live-chord-card.current .chord-attempt-time{color:#acd2ff}.live-chord-card.editing .chord-attempt-time{color:#8dbbf0;right:5px}.live-chord-card input{z-index:2;position:relative}.progression-pill-symbol{white-space:nowrap;min-width:0;display:block}.progression-pill .focus-attempt-time{color:#84b6ef;font-size:6.4px;top:3px;right:4px}.progression-pill .pill-complete-check{color:var(--green);pointer-events:none;place-items:center;display:grid;position:absolute;top:3px;left:4px}.progression-pill.current .focus-attempt-time{color:#b6d7ff}.session-actions-card{grid-template-columns:auto minmax(0,1fr);align-items:center}.session-actions-card-buttons{grid-template-columns:1fr;gap:7px;min-width:0;display:grid}.session-save-card-button{width:100%}.session-secondary-card-button.redo{color:#b8d5f4;background:#2f7dff13;border-color:#438aff61}.session-secondary-card-button.redo:hover:not(:disabled){color:#e5f2ff;background:#2f7dff21;border-color:#4d89cb}.session-secondary-card-button.redo svg{flex:none}.focus-mode .session-actions-card.compact .session-actions-card-buttons{grid-template-columns:1fr}@media (max-width:1450px){.right-column>.practices-panel{max-height:235px}.right-column>.practices-panel .practice-list{max-height:135px}.history-accordion-scroll{max-height:calc(100vh - 385px)}.history-accordion-trigger{min-height:37px;padding-inline:8px}.history-accordion-title{gap:6px}.history-accordion-title strong{font-size:8.3px}.chord-attempt-time{font-size:6.4px;right:19px}.session-secondary-card-actions{grid-template-columns:minmax(82px,.8fr) minmax(126px,1.2fr) minmax(82px,.8fr);gap:5px}.session-secondary-card-button{padding-inline:6px;font-size:8.5px}.focus-mode .session-actions-card.compact .session-secondary-card-actions{grid-template-columns:minmax(78px,.8fr) minmax(116px,1.15fr) minmax(78px,.8fr)}}.left-column{align-self:start;min-width:0;max-height:calc(100vh - 104px);display:block;position:sticky;top:88px;overflow:hidden}.left-column>.recordings-library{flex-direction:column;height:calc(100vh - 104px);max-height:calc(100vh - 104px);padding:12px;display:flex;overflow:hidden}.recordings-heading{align-items:flex-start}.recordings-heading>div{flex-direction:column;gap:2px;min-width:0;display:flex}.recordings-heading h2{letter-spacing:.04em;font-size:11px}.recordings-heading small{color:#6f8195;white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:8px;overflow:hidden}.recordings-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:6px;margin:10px 0 8px;display:grid}.record-button,.new-folder-button{color:#bfd0e2;cursor:pointer;background:#14202c;border:1px solid #30445d;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 9px;font-size:9.2px;font-weight:700;transition:all .16s;display:flex}.record-button:hover:not(:disabled),.new-folder-button:hover:not(:disabled){color:#eff7ff;background:#182839;border-color:#4677af}.record-button:disabled,.new-folder-button:disabled{opacity:.4}.record-dot{background:#d56d75;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #e2676714}.record-dot.active{background:#ef6f79;animation:1.1s ease-in-out infinite recordPulse}@keyframes recordPulse{50%{opacity:.45;box-shadow:0 0 0 5px #e267670d}}.recording-live{background:#e267670e;border:1px solid #e267673d;border-radius:8px;justify-content:space-between;align-items:center;min-height:37px;margin-bottom:8px;padding:0 9px;display:flex}.recording-live strong{color:#efa1a6;letter-spacing:.05em;font-size:8.7px}.recording-live span{font-variant-numeric:tabular-nums;color:#f2c4c7;font-size:11px}.recording-error{color:#e8a1a6;background:#e267670d;border:1px solid #e2676738;border-radius:8px;margin-bottom:8px;padding:8px 9px;font-size:8.5px;line-height:1.35}.recordings-scroll{scrollbar-gutter:stable;flex:auto;min-height:0;padding-right:3px;overflow:hidden auto}.recordings-scroll::-webkit-scrollbar{width:7px}.recordings-scroll::-webkit-scrollbar-thumb{background:#28394c;border-radius:999px}.recordings-scroll::-webkit-scrollbar-track{background:0 0}.recording-folder{background:#0c141c99;border:1px solid #ffffff0e;border-radius:8px;margin-bottom:6px;transition:all .16s;overflow:hidden}.recording-folder.dragging{opacity:.45}.recording-folder.unfiled{border-style:dashed}.recording-folder-head{background:#131d28d1;grid-template-columns:16px minmax(0,1fr) 24px 24px;align-items:center;min-height:35px;padding:0 4px 0 3px;display:grid}.recording-folder-head.simple{grid-template-columns:16px minmax(0,1fr)}.recording-grip{color:#5e7389;cursor:grab;place-items:center;display:grid}.recording-grip:active{cursor:grabbing}.folder-toggle{color:#c7d4e1;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:16px minmax(0,1fr) auto 14px;align-items:center;gap:5px;min-width:0;padding:0 2px;display:grid}.folder-toggle.static{cursor:default}.folder-toggle svg{color:#5f9fe3}.folder-toggle strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:8.8px;overflow:hidden}.folder-toggle small{color:#73879b;font-size:7.5px}.folder-chevron{color:#71869b;place-items:center;transition:transform .18s;display:grid}.folder-chevron.open{transform:rotate(180deg)}.recording-folder-body{gap:3px;padding:4px;display:grid}.folder-empty{color:#64778b;text-align:center;margin:2px 4px 4px;font-size:7.8px}.recording-row{background:#0e1720c7;border:1px solid #0000;border-radius:7px;grid-template-columns:14px 25px minmax(0,1fr) 23px 23px;align-items:center;min-height:34px;transition:all .14s;display:grid}.recording-row:hover{background:#12202c;border-color:#2d4055}.recording-row.playing{background:#2f7dff14;border-color:#2f7dff6b}.recording-play-button,.recording-icon-button{color:#7fa7d0;cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;width:23px;height:27px;display:grid}.recording-play-button:hover,.recording-icon-button:hover{color:#b8d9fa;background:#2f7dff14}.recording-icon-button.danger{color:#a9777d}.recording-icon-button.danger:hover{color:#efa3aa;background:#e2676714}.recording-main-button{text-align:left;cursor:default;background:0 0;border:0;flex-direction:column;gap:1px;min-width:0;padding:3px 4px;display:flex}.recording-main-button strong{text-overflow:ellipsis;white-space:nowrap;color:#d6e1ec;min-width:0;font-size:8.5px;overflow:hidden}.recording-main-button small{color:#6d8195;font-variant-numeric:tabular-nums;font-size:7.2px}.recordings-empty{text-align:center;color:#657b90;flex-direction:column;justify-content:center;align-items:center;min-height:140px;padding:16px;display:flex}.recordings-empty svg{color:#4b78a9;margin-bottom:8px}.recordings-empty strong{color:#9aabbc;font-size:9px}.recordings-empty span{max-width:190px;margin-top:4px;font-size:7.8px;line-height:1.45}.right-column>.practices-panel{max-height:none;overflow:visible}.right-column>.practices-panel .practice-list{gap:4px;max-height:none;padding-right:0;transition:max-height .22s cubic-bezier(.2,.72,.25,1);display:grid;overflow:visible}.practice-list-item-shell{background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:auto minmax(0,1fr) 27px;align-items:center;transition:all .15s;display:grid;position:relative}.practice-list-item-shell>.practice-list-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;grid-template-columns:9px minmax(0,1fr);align-items:center;gap:7px;width:100%;min-width:0;padding:7px 3px 7px 6px;display:grid}.practice-list-item-shell.active>.practice-list-item{background:0 0}.practice-list-item-shell>.practice-list-item:hover:not(:disabled){background:#ffffff06}.practice-drag-handle{color:#566b81;cursor:grab;place-items:center;width:18px;display:grid}.practice-delete-button{color:#8f6870;cursor:pointer;opacity:.62;background:0 0;border:0;border-radius:6px;place-items:center;width:25px;height:28px;transition:all .14s;display:grid}.practices-expand-button{color:#7f94a9;cursor:pointer;background:#0d161fa8;border:1px solid #ffffff0e;border-radius:7px;justify-content:center;align-items:center;gap:5px;width:100%;min-height:29px;margin-top:5px;font-size:8px;display:flex}.practices-expand-button:hover{color:#b7cadc;border-color:#30465e}.practice-expand-chevron{place-items:center;transition:transform .18s;display:grid}.practice-expand-chevron.open{transform:rotate(180deg)}.empty-practice-state{border:1px solid var(--border-soft);border-radius:var(--radius);text-align:center;background:linear-gradient(#131c27f5,#0d141cf5);flex-direction:column;justify-content:center;align-items:center;min-height:520px;padding:30px;display:flex}.empty-practice-logo{color:#397fce;width:44px;height:44px}.empty-practice-state h1{margin:12px 0 5px;font-size:21px}.empty-practice-state p{color:#75879a;max-width:420px;margin:0 0 16px;font-size:10px}.empty-practice-state .button-primary{border-radius:8px;align-items:center;gap:6px;min-height:38px;padding:0 14px;display:inline-flex}@media (max-width:1450px){.left-column{max-height:calc(100vh - 96px);top:84px}.left-column>.recordings-library{height:calc(100vh - 96px);max-height:calc(100vh - 96px);padding:10px}.recordings-toolbar{grid-template-columns:1fr}.new-folder-button{min-height:30px}.record-button{min-height:31px}.recording-folder-head{grid-template-columns:15px minmax(0,1fr) 22px 22px}.recording-row{grid-template-columns:13px 23px minmax(0,1fr) 21px 21px}.metronome-control{top:28px;right:10px}.metronome-step,.metronome-play{width:25px;height:25px}.metronome-bpm-box{min-width:64px;height:25px}}.right-column>.practices-panel .practice-list.expanded{scrollbar-gutter:stable;max-height:300px;padding-right:3px;overflow-y:auto}.right-column>.practices-panel .practice-list.expanded::-webkit-scrollbar{width:7px}.right-column>.practices-panel .practice-list.expanded::-webkit-scrollbar-thumb{background:#28394c;border-radius:999px}@media (max-width:1450px){.right-column>.practices-panel .practice-list.expanded{max-height:230px}}.loose-recordings-zone{border:1px solid #0000;border-radius:8px;gap:3px;margin:0 0 7px;padding:2px;transition:border-color .16s,background .16s;display:grid}.loose-recordings-zone.drop-active{background:#2f7dff0e;border-color:#2f7dff7a}.loose-drop-hint{color:#7fa7d0;text-align:center;border:1px dashed #2f7dff61;border-radius:7px;place-items:center;min-height:34px;padding:5px;font-size:8px;display:grid}.recording-folder.drop-target{background:#2f7dff12;border-color:#2f7dff94;box-shadow:0 0 0 1px #2f7dff14}.recording-copy{flex-direction:column;gap:1px;min-width:0;padding:3px 4px;display:flex}.recording-copy strong{text-overflow:ellipsis;white-space:nowrap;color:#d6e1ec;min-width:0;font-size:8.5px;line-height:1.2;overflow:hidden}.recording-copy small{color:#6d8195;font-variant-numeric:tabular-nums;font-size:7.2px;line-height:1.2}.recording-edit-input{color:#eef6ff;background:#0b141d;border:1px solid #2f7dff75;border-radius:5px;outline:none;width:100%;min-width:0;height:21px;padding:0 5px;font-size:8.5px;font-weight:650;box-shadow:0 0 0 2px #2f7dff0f}.recording-row.editing{background:#2f7dff0b;border-color:#2f7dff52}.recording-grip[draggable=true]{cursor:grab}.recording-grip[draggable=true]:active{cursor:grabbing}.current-chord-card{display:block;position:relative;overflow:hidden}.chord-card-topline{z-index:6;pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;top:12px;left:15px;right:15px}.chord-card-topline .state-badge{pointer-events:auto}.current-chord-layout{grid-template-columns:minmax(135px,1fr) minmax(215px,1.55fr) minmax(135px,1fr);align-items:stretch;width:100%;height:100%;padding:40px 10px 10px;display:grid}.chord-structure-panel{text-align:center;border-right:1px solid #48627e3d;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-width:0;padding:6px 12px;display:flex}.chord-structure-title{letter-spacing:.105em;color:#72879d;font-size:9.5px;font-weight:800;line-height:1}.chord-structure-degrees{letter-spacing:.055em;color:#d7e3ef;white-space:nowrap;font-size:17px;font-weight:690;line-height:1.25}.current-chord-center{place-items:center;min-width:0;padding:0 10px;display:grid}.current-chord-symbol.long-symbol{letter-spacing:-.045em;font-size:clamp(62px,5.8vw,94px)}.current-chord-degrees{display:none}.current-chord-layout>.metronome-control{z-index:5;pointer-events:auto;border-left:1px solid #48627e3d;flex-direction:column;justify-content:space-between;align-items:center;gap:4px;width:100%;min-width:0;height:100%;padding:4px 8px 3px;display:flex;position:relative;top:auto;right:auto}.metronome-label{letter-spacing:.095em;color:#8ea6be;text-align:center;width:100%;font-size:10.5px;font-weight:820;line-height:1}.metronome-bpm-box{background:linear-gradient(#111d29,#0d1721);border:1px solid #304a64;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:0;width:72px;min-width:72px;height:46px;padding:2px 5px;display:flex}.metronome-bpm-box input{color:#f1f7fd;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:-.03em;background:0 0;border:0;outline:none;width:58px;height:25px;padding:0;font-size:22px;font-weight:780;line-height:1}.metronome-bpm-box span{color:#71889f;letter-spacing:.09em;font-size:7px;font-weight:800;line-height:1}.metronome-step-stack{flex-direction:column;align-items:center;gap:4px;display:flex}.metronome-step,.metronome-play{color:#b8cbdd;cursor:pointer;background:#111d29;border:1px solid #304b65;border-radius:7px;place-items:center;width:31px;height:28px;font-size:16px;font-weight:650;line-height:1;transition:all .14s;display:grid}.metronome-step:hover,.metronome-play:hover{color:#f2f8ff;background:#172a3b;border-color:#4a80b9}.metronome-play{color:#8db8e2;height:29px}.metronome-play.playing{color:#efa8ad;background:#e2676713;border-color:#e267676b}.focus-mode .chord-structure-panel{gap:7px;padding-block:3px}.focus-mode .chord-structure-title{font-size:8px}.focus-mode .chord-structure-degrees{font-size:14px}.focus-mode .current-chord-layout>.metronome-control{gap:2px;height:100%;padding:2px 7px;position:relative;top:auto;right:auto}.focus-mode .metronome-bpm-box{border-radius:7px;width:62px;min-width:62px;height:36px}.focus-mode .metronome-bpm-box input{text-align:center;width:50px;height:20px;font-size:17px}.focus-mode .metronome-bpm-box span{font-size:6px}.focus-mode .metronome-step-stack{gap:2px}.focus-mode .metronome-step,.focus-mode .metronome-play{border-radius:6px;width:25px;height:21px;font-size:13px}.right-column>.practices-panel .practice-list{gap:5px}.practice-list-item-shell{background:#0e1720;border:1px solid #253548;border-radius:8px;grid-template-columns:30px minmax(0,1fr) 22px;align-items:center;min-height:48px;transition:border-color .15s,background .15s,opacity .15s,box-shadow .15s;display:grid;position:relative;overflow:hidden}.practice-list-item-shell:hover{background:#101a24;border-color:#3a5069}.practice-list-item-shell.active{background:#2f7dff1b;border-color:#2f7dff85}.practice-list-item-shell.drag-over{border-color:#4a8fe5;box-shadow:0 -2px #438affbf}.practice-list-item-shell.dragging{opacity:.48}.practice-list-item-shell>.practice-list-item{text-align:left;cursor:pointer;width:100%;min-width:0;height:100%;color:var(--text-2);background:0 0;border:0;border-radius:0;grid-template-columns:8px minmax(0,1fr);align-items:center;gap:8px;padding:7px 5px 7px 2px;display:grid}.practice-list-item-shell>.practice-list-item:hover:not(:disabled),.practice-list-item-shell.active>.practice-list-item{color:#fff;background:0 0}.practice-delete-button{color:#8f6870;cursor:pointer;opacity:.72;background:0 0;border:0;border-right:1px solid #ffffff09;border-radius:0;align-self:stretch;place-items:center;width:30px;height:auto;transition:all .14s;display:grid}.practice-list-item-shell:hover .practice-delete-button{opacity:1}.practice-delete-button:hover:not(:disabled){color:#efa3aa;background:#e2676716}.practice-delete-button:disabled{opacity:.25}.practice-list-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.practice-list-copy strong{white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.practice-list-copy small{color:#687a8f;font-size:8.5px}.practice-list-item-shell.active .practice-list-dot{background:var(--blue);box-shadow:0 0 10px #2f7dff8c}.practice-list-item-shell.active .practice-list-copy strong{color:#f5f8fc}.practice-drag-handle,.practice-row-arrow{color:#5d7083;place-items:center;width:22px;height:100%;display:grid}.practice-drag-handle{cursor:grab}.practice-drag-handle:active{cursor:grabbing}.practice-row-arrow{color:#526579}@media (max-width:1450px){.current-chord-layout{grid-template-columns:minmax(120px,1fr) minmax(200px,1.5fr) minmax(120px,1fr);padding:38px 8px 8px}.chord-structure-panel{gap:8px;padding-inline:8px}.chord-structure-title{font-size:8.5px}.chord-structure-degrees{font-size:15px}.metronome-label{font-size:9.2px}.metronome-bpm-box{width:65px;min-width:65px;height:40px}.metronome-bpm-box input{width:52px;height:22px;font-size:19px}.metronome-step,.metronome-play{width:27px;height:24px;font-size:14px}.metronome-step-stack{gap:3px}.recording-row{grid-template-columns:13px 23px minmax(0,1fr) 21px 21px}}.focus-hidden-library{display:none!important}.left-column>.recordings-library{padding:0;overflow:hidden}.left-column>.recordings-library.collapsed{height:auto;max-height:none;display:block}.left-column>.recordings-library.expanded{flex-direction:column;height:calc(100vh - 104px);max-height:calc(100vh - 104px);display:flex}.recordings-library-toggle{color:#dce6f2;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:20px minmax(0,1fr) 20px;align-items:center;gap:9px;width:100%;min-height:58px;padding:11px 12px;display:grid}.recordings-library-toggle:hover{background:#ffffff05}.recordings-library-toggle>svg{color:#4c98ff}.recordings-library-toggle-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.recordings-library-toggle-copy strong{letter-spacing:.045em;font-size:11px;line-height:1.1}.recordings-library-toggle-copy small{color:#6f8195;white-space:nowrap;text-overflow:ellipsis;font-size:7.6px;overflow:hidden}.recordings-library-chevron{color:#7890a8;place-items:center;transition:transform .2s;display:grid}.recordings-library-chevron.open{transform:rotate(180deg)}.recordings-library-collapsible{border-top:1px solid #ffffff0b;flex-direction:column;flex:auto;min-height:0;padding:9px 10px 10px;display:flex}.recordings-folder-toolbar{justify-content:stretch;margin-bottom:8px;display:flex}.recordings-folder-toolbar .new-folder-button{width:100%}.recording-error.compact{margin:0 10px 9px}.recording-group-label{color:#6d8297;justify-content:space-between;align-items:center;padding:0 4px 4px;display:flex}.recording-group-label span{letter-spacing:.095em;font-size:7.4px;font-weight:800}.recording-group-label small{font-size:7.2px}.recording-loose-group{margin-bottom:6px}.current-chord-layout{grid-template-columns:minmax(135px,1fr) minmax(235px,1.55fr) minmax(135px,1fr);padding:40px 10px 10px}.chord-recording-panel{text-align:center;border-right:1px solid #48627e3d;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-width:0;padding:5px 10px;display:flex}.chord-recording-title{letter-spacing:.1em;color:#8ea6be;font-size:10px;font-weight:820;line-height:1}.chord-recording-status-row{color:#8195aa;justify-content:center;align-items:center;gap:5px;min-height:13px;display:flex}.chord-recording-status-row strong{letter-spacing:.08em;font-size:7.6px;font-weight:780;line-height:1}.recording-status-dot{background:#587086;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 2px #58708614}.recording-status-dot.recording{background:#e26767;box-shadow:0 0 0 3px #e267671a,0 0 10px #e267673d}.recording-status-dot.saving{background:#eab34e}.chord-recording-time{letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:#eef5fc;font-size:20px;font-weight:720;line-height:1}.chord-recording-actions{justify-content:center;align-items:center;gap:5px;display:flex}.chord-record-button{color:#9fbedc;cursor:pointer;background:#111d29;border:1px solid #304b65;border-radius:7px;place-items:center;width:31px;height:28px;transition:all .14s;display:grid}.chord-record-button:hover:not(:disabled){color:#f2f8ff;background:#172a3b;border-color:#4a80b9}.chord-record-button:disabled{opacity:.28;cursor:not-allowed}.chord-record-button.record:not(:disabled){color:#ef9ca3;background:#e267670e;border-color:#e2676761}.chord-record-button.stop:not(:disabled){color:#f1a3aa;border-color:#e2676773}.chord-record-button.latest.playing{color:#76b2f1;background:#2f7dff14;border-color:#2f7dff85}.chord-recording-error{color:#e8a1a6;max-width:126px;font-size:6.8px;line-height:1.25}.current-chord-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:0 10px;display:flex}.current-chord-symbol{white-space:nowrap;text-align:center;max-width:100%;margin:0}.current-chord-degrees{letter-spacing:.075em;color:#a1b1c4;white-space:nowrap;text-align:center;min-height:20px;margin-top:10px;font-size:16px;font-weight:680;line-height:1.1;display:block}.current-chord-layout>.metronome-control{justify-content:center;gap:10px;padding:6px 10px 5px}.metronome-label{letter-spacing:.105em;color:#a2b7cc;text-align:center;font-size:11px;font-weight:850}.metronome-controls-row{justify-content:center;align-items:center;gap:5px;width:100%;display:flex}.metronome-controls-row .metronome-step,.metronome-controls-row .metronome-play{flex:none}.metronome-controls-row .metronome-play{color:#9cc7f0;background:#14263a;border-color:#3b648d;width:34px}.metronome-controls-row .metronome-play.playing{color:#f0c973;background:#eab34e13;border-color:#eab34e73}.metronome-step-stack{display:none!important}.focus-mode .current-chord-layout{grid-template-columns:minmax(120px,1fr) minmax(235px,1.65fr) minmax(120px,1fr);padding-top:36px;padding-bottom:7px}.focus-mode .chord-recording-status-row strong{font-size:6.5px}.focus-mode .chord-record-button{border-radius:6px;width:24px;height:21px}.focus-mode .chord-recording-error{display:none}.focus-mode .current-chord-degrees{min-height:15px;margin-top:6px;font-size:13px}.focus-mode .current-chord-layout>.metronome-control{gap:5px;padding:3px 6px}.focus-mode .metronome-label{font-size:8.7px}.focus-mode .metronome-controls-row{gap:3px}.focus-mode .metronome-controls-row .metronome-step,.focus-mode .metronome-controls-row .metronome-play{width:25px;height:21px}@media (max-width:1450px){.left-column>.recordings-library.expanded{height:calc(100vh - 96px);max-height:calc(100vh - 96px)}.current-chord-layout{grid-template-columns:minmax(118px,1fr) minmax(205px,1.5fr) minmax(118px,1fr);padding:38px 8px 8px}.chord-recording-panel{gap:5px;padding-inline:6px}.chord-recording-title{font-size:8.7px}.chord-recording-time{font-size:17px}.chord-record-button{width:27px;height:24px}.current-chord-degrees{margin-top:7px;font-size:14px}.current-chord-layout>.metronome-control{gap:7px;padding-inline:6px}.metronome-label{font-size:9.5px}.metronome-controls-row{gap:3px}.metronome-controls-row .metronome-step,.metronome-controls-row .metronome-play{width:27px;height:24px;font-size:14px}}.practice-title-bar{min-height:67px;padding:11px 16px;display:block;position:relative}.practice-title-eyebrow{z-index:2;position:absolute;top:12px;left:16px}.practice-title-center{z-index:1;min-width:0;max-width:min(54%,610px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.practice-title-line{min-width:0;margin:0;display:block;position:relative}.practice-title-line h1{text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:min(100%,610px);margin:0;display:block;overflow:hidden}.practice-title-edit{position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.title-loop-control{z-index:2;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.session-actions-card.session-control-console{width:100%;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(150px,.82fr) minmax(330px,1.65fr) minmax(150px,.82fr);align-items:center;gap:12px;margin:7px auto 0;padding:0;display:grid}.session-console-left,.session-console-right{min-width:0}.session-console-left{align-content:center;gap:7px;display:grid}.session-actions-card-count{justify-content:center;gap:5px}.session-actions-card-count strong{font-size:20px}.session-actions-card-count span{white-space:normal;text-align:left;font-size:8.7px;line-height:1.15}.session-secondary-card-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-width:0;display:grid}.session-secondary-card-button{border-radius:7px;gap:4px;min-width:0;height:30px;min-height:30px;padding:0 6px;font-size:8.3px}.session-console-center{justify-content:center;min-width:0;display:flex}.session-console-center .practice-controls-block{width:100%}.session-console-center .timer-label{margin-top:0}.session-console-center .timer-value{margin-top:3px}.session-console-center .practice-controls{flex-wrap:nowrap;gap:5px;margin-top:8px}.session-console-center .control-button{min-height:36px}.session-console-center .control-primary{min-width:132px}.session-console-center .nav-only{min-width:47px}.session-console-right{justify-content:center;align-items:center;display:flex}.session-save-card-button{white-space:normal;text-align:center;width:100%;max-width:190px;min-height:44px;padding:8px 12px;font-size:10px;line-height:1.15}.practice-help-block{margin-top:6px}.focus-mode .session-actions-card.session-control-console{grid-template-columns:minmax(135px,.8fr) minmax(320px,1.7fr) minmax(135px,.8fr);gap:10px;width:min(900px,100%)}.focus-mode .session-actions-card.compact .session-secondary-card-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.focus-mode .session-actions-card.compact .session-secondary-card-button{height:28px;min-height:28px;font-size:7.8px}.focus-mode .session-actions-card.compact .session-save-card-button{min-height:40px;font-size:9px}@media (max-width:1450px){.practice-title-center{max-width:48%}.practice-title-line h1{font-size:19px}.session-actions-card.session-control-console{grid-template-columns:minmax(122px,.72fr) minmax(316px,1.7fr) minmax(128px,.74fr);gap:8px;margin-top:5px}.session-actions-card-count strong{font-size:18px}.session-actions-card-count span{font-size:7.7px}.session-secondary-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.session-secondary-card-button{height:27px;min-height:27px;padding-inline:4px;font-size:7.5px}.session-secondary-card-button.discard{grid-column:1/-1}.session-console-center .timer-label{font-size:9px}.session-console-center .timer-value{margin-top:2px;font-size:46px}.session-console-center .practice-controls{gap:4px;margin-top:6px}.session-console-center .control-button{min-height:34px;padding-inline:8px;font-size:9.5px}.session-console-center .control-primary{min-width:126px}.session-console-center .nav-only{min-width:44px}.session-save-card-button{max-width:150px;min-height:42px;padding-inline:8px;font-size:9px}.practice-help-block{margin-top:4px}}.live-chord-card.harmonic-sequence .live-chord-symbol{text-overflow:ellipsis;letter-spacing:-.01em;max-width:100%;padding-inline:2px;font-size:9.2px;overflow:hidden}.progression-pill.harmonic-sequence .progression-pill-symbol{text-overflow:ellipsis;letter-spacing:-.01em;max-width:100%;font-size:9.5px;overflow:hidden}.current-chord-symbol.harmonic-sequence-symbol{text-overflow:ellipsis;letter-spacing:-.025em;width:100%;max-width:100%;padding-inline:4px;font-size:clamp(32px,3.35vw,54px);line-height:1.02;overflow:hidden}.current-chord-degrees.harmonic-sequence-label{color:#78aee9;letter-spacing:.105em;font-size:10px;font-weight:800}.sequence-difficult-row{grid-template-columns:16px minmax(0,1fr) minmax(42px,.55fr);align-items:center}.sequence-difficult-copy{gap:2px;min-width:0;display:grid}.sequence-difficult-copy strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:9px;overflow:hidden}.sequence-difficult-copy small{color:#74899e;white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;min-width:0;font-size:7.2px;overflow:hidden}.review-unit-symbol{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.review-unit-symbol small{color:#77a9df;text-transform:uppercase;letter-spacing:.05em;background:#2f7dff0e;border:1px solid #2f7dff38;border-radius:999px;flex:none;padding:2px 5px;font-size:6.8px;font-weight:760;line-height:1}.progress-toast.improvement-toast{background:linear-gradient(135deg,#0a2b20fb,#081b18fb);border-color:#34c77b94;grid-template-columns:34px minmax(0,1fr) 22px;width:min(390px,100vw - 32px);padding:14px}.improvement-toast-copy{gap:5px;min-width:0}.improvement-toast-copy>strong{color:#b8f4d1;letter-spacing:.01em;font-size:12px}.improvement-toast-summary{color:#8fb9a5!important;font-size:9.5px!important}.improvement-toast-list{gap:6px;margin-top:2px;display:grid}.improvement-toast-item{border-top:1px solid #95e8b917;gap:2px;min-width:0;padding-top:6px;display:grid}.improvement-toast-item:first-child{border-top:0;padding-top:1px}.improvement-toast-item>b{text-overflow:ellipsis;white-space:nowrap;color:#eefbf4;min-width:0;font-size:11px;overflow:hidden}.improvement-toast-item>span{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:5px;display:flex;color:#9cb9aa!important;font-size:9px!important}.improvement-toast-item>span>em{color:#56d08a;text-transform:uppercase;letter-spacing:.045em;margin:0;font-size:8px;font-style:normal;font-weight:780}.improvement-toast-more{margin-top:1px;font-weight:720;color:#67c992!important;font-size:8.5px!important}@media (max-width:1450px){.live-chord-card.harmonic-sequence .live-chord-symbol{font-size:8.5px}.current-chord-symbol.harmonic-sequence-symbol{font-size:clamp(28px,3vw,46px)}.current-chord-degrees.harmonic-sequence-label{margin-top:6px;font-size:8.8px}}.harmonic-analysis-bar{background:#269a690e;border:1px solid #269a693d;border-radius:12px;min-width:0;margin:8px 0 12px;padding:9px 11px}.harmonic-analysis-heading{letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:7px;font-size:11px;display:flex}.harmonic-analysis-heading strong{color:#176e4c}.harmonic-analysis-heading span{color:#73817b;font-size:9px}.harmonic-analysis-items{flex-wrap:wrap;gap:7px;min-width:0;display:flex}.harmonic-analysis-chip{background:#fff;border:1px solid #269a6940;border-radius:9px;max-width:100%}.harmonic-analysis-chip summary{cursor:pointer;white-space:nowrap;align-items:center;gap:4px;padding:6px 8px;font-size:11px;list-style:none;display:flex}.harmonic-analysis-chip summary::-webkit-details-marker{display:none}.harmonic-analysis-chip .harmonic-bracket{color:#176e4c;font-weight:750}.harmonic-analysis-chip b{color:#31463d;font-weight:650}.harmonic-analysis-chip em{color:#835f00;background:#fff5d8;border-radius:999px;padding:2px 5px;font-size:8px;font-style:normal}.harmonic-analysis-chip p{color:#59665f;white-space:normal;max-width:480px;margin:0;padding:0 8px 7px;font-size:10px;line-height:1.4}.harmonic-analysis-chip.medium{background:#fff8e0bf;border-style:dashed}.progression-builder{position:relative}.progression-analysis-overlay{pointer-events:none;z-index:4;position:absolute;inset:0;overflow:visible}.analysis-bracket-segment{pointer-events:none;height:12px;position:absolute}.analysis-bracket-line{border-top:1.5px solid #34c77b;position:absolute;bottom:0;left:3px;right:3px}.analysis-bracket-cap{background:#34c77b;width:1.5px;height:7px;position:absolute;bottom:0}.analysis-bracket-cap.left{left:2px}.analysis-bracket-cap.right{right:2px}.analysis-bracket-label{white-space:nowrap;text-overflow:ellipsis;color:#228d59;background:#fafdfcf5;border-radius:5px;max-width:420px;padding:1px 5px;font-size:9px;font-weight:750;position:absolute;bottom:5px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 0 0 1px #34c77b14}.analysis-bracket-label b{font-weight:700}.analysis-bracket-segment.medium .analysis-bracket-line{border-color:#c79529;border-top-style:dashed}.analysis-bracket-segment.medium .analysis-bracket-cap{background:#c79529}.analysis-bracket-segment.medium .analysis-bracket-label{color:#8b681a}.analysis-continuation{color:#34c77b;font-size:10px;position:absolute;bottom:-3px}.analysis-continuation.left{left:-7px}.analysis-continuation.right{right:-7px}@media (max-width:700px){.progression-analysis-overlay{display:none}}.harmonic-info{color:#4d7362;margin-left:1px;font-size:10px;line-height:1}.live-chord-card.harmonic-detected:not(.current){background:linear-gradient(#34c77b1b,#34c77b0e),#17212c;border-color:#34c77b4d;box-shadow:inset 0 0 0 1px #34c77b09}.live-chord-card.harmonic-detected:hover:not(.current){background:linear-gradient(#34c77b24,#34c77b12),#192632;border-color:#34c77b7a}.live-chord-card.harmonic-selected{border-color:#34c77bb8!important;box-shadow:0 0 0 1px #34c77b24,0 0 18px #34c77b14!important}.harmonic-info-button{z-index:8;color:#72dba5;text-align:center;cursor:pointer;background:#14251f;border:1px solid #34c77b8c;border-radius:50%;width:17px;height:17px;padding:0;font:700 10px/15px ui-sans-serif,system-ui,sans-serif;transition:transform .15s,background .15s,border-color .15s,color .15s;position:absolute;top:-8px;right:-7px;box-shadow:0 3px 9px #00000047}.harmonic-info-button:hover,.harmonic-info-button:focus-visible,.harmonic-info-button.open{color:#e4fff0;background:#1d4936;border-color:#58d994;outline:none;transform:scale(1.06)}.harmonic-info-button:focus-visible{box-shadow:0 0 0 2px #34c77b38,0 3px 9px #00000047}.analysis-bracket-segment.selected-only .analysis-bracket-line{filter:drop-shadow(0 0 3px #34c77b2e);border-top-width:1.5px}.analysis-bracket-segment.selected-only .analysis-bracket-label{color:#9ae7bd;background:#13251f;border:1px solid #34c77b3d;padding:2px 7px;box-shadow:0 5px 16px #00000038}.recording-library-slot{min-width:0;display:block}.recording-library-slot>.recordings-library{height:calc(100vh - 104px);max-height:calc(100vh - 104px)}.practical-analysis-panel{color:#dce8e2;background:linear-gradient(#1f493657,#131e1df2);border:1px solid #34c77b38;border-radius:15px;min-height:220px;max-height:calc(100vh - 104px);padding:16px;overflow:auto;box-shadow:0 18px 45px #0003,inset 0 1px #ffffff06}.practical-analysis-topline{justify-content:space-between;align-items:center;gap:10px;margin-bottom:11px;display:flex}.practical-analysis-kicker{letter-spacing:.13em;color:#67d89e;font-size:9px;font-weight:800}.practical-analysis-close{color:#9aaba3;cursor:pointer;background:#ffffff06;border:1px solid #ffffff12;border-radius:8px;width:26px;height:26px;font-size:18px;line-height:20px}.practical-analysis-close:hover,.practical-analysis-close:focus-visible{color:#eaf7f0;border-color:#34c77b57;outline:none}.practical-analysis-panel h2{color:#f0f7f3;letter-spacing:-.015em;margin:0;font-size:17px;line-height:1.22}.practical-analysis-summary{color:#9fb5aa;margin:9px 0 14px;font-size:11px;line-height:1.55}.practical-analysis-facts{gap:7px;display:grid}.practical-analysis-facts>div{background:#070f0d38;border:1px solid #ffffff0e;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:8px 9px;display:flex}.practical-analysis-facts span{color:#80958b;text-transform:uppercase;letter-spacing:.07em;font-size:9px}.practical-analysis-facts strong{color:#d9efe3;text-align:right;font-size:11px}.practical-analysis-context{border-top:1px solid #34c77b1f;margin-top:10px;padding-top:9px}.practical-analysis-context summary{cursor:pointer;color:#79dba8;font-size:10px;font-weight:700}.practical-analysis-context p{color:#91a79c;margin:7px 0 0;font-size:10px;line-height:1.45}@media (max-width:1366px){.recording-library-slot>.recordings-library{height:calc(100vh - 96px);max-height:calc(100vh - 96px)}.practical-analysis-panel{max-height:calc(100vh - 96px);padding:13px}}.recording-library-slot>.recordings-library{padding:0;overflow:hidden}.recording-library-slot>.recordings-library.collapsed{height:auto;max-height:none;display:block}.recording-library-slot>.recordings-library.expanded{flex-direction:column;height:calc(100vh - 104px);max-height:calc(100vh - 104px);display:flex}@media (max-width:1366px){.recording-library-slot>.recordings-library.expanded{height:calc(100vh - 96px);max-height:calc(100vh - 96px)}}.live-progression-head{align-items:center;gap:10px;display:flex;position:relative}.analysis-context-chip{appearance:none;font:inherit;color:#77dca9;letter-spacing:.02em;white-space:nowrap;background:#34c77b12;border:1px solid #34c77b40;border-radius:999px;margin-left:auto;padding:5px 9px;font-size:9px;font-weight:750}.analysis-bracket-segment{height:12px}.analysis-bracket-line{border-top:1.5px solid #34c77b;inset:0 3px auto}.analysis-bracket-cap{background:#34c77b;width:1.5px;height:8px;top:0;bottom:auto}.analysis-bracket-label{border:1px solid #34c77b3d;padding:2px 7px;top:-16px;bottom:auto;color:#9ae7bd!important;background:#13251f!important;box-shadow:0 5px 16px #00000038!important}.analysis-continuation{top:4px;bottom:auto}.practical-analysis-panel{min-height:0}.practical-analysis-panel h2{font-size:16px}.practical-analysis-summary{margin:8px 0 12px}.practical-analysis-destination{background:#070f0d2e;border:1px solid #34c77b1f;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:8px 9px;display:flex}.practical-analysis-destination span{color:#80958b;text-transform:uppercase;letter-spacing:.07em;font-size:9px}.practical-analysis-destination strong{color:#d9efe3;text-align:right;font-size:11px}.practical-analysis-context p strong{color:#b5cabe}.folder-enabled-practices{flex-direction:column;min-height:0;max-height:calc(100vh - 104px);display:flex!important;overflow:hidden!important}.practice-heading-actions{gap:5px;margin-left:auto;display:flex}.folder-add-button{place-items:center;position:relative;display:grid!important}.folder-plus-mark{color:#7eaef0;text-shadow:0 1px 2px #07111c;font-size:10px;font-weight:900;line-height:1;position:absolute;bottom:0;right:2px}.practice-folder-create-row{grid-template-columns:minmax(0,1fr) 28px 28px;gap:5px;margin:9px 0 5px;display:grid}.practice-folder-create-row input{color:#edf4fb;background:#0c141d;border:1px solid #27394d;border-radius:8px;outline:none;min-width:0;height:30px;padding:0 9px;font-size:10px}.practice-folder-create-row input:focus{border-color:#457fbd;box-shadow:0 0 0 2px #2f7dff14}.practice-folder-create-row button{color:#8fa2b8;cursor:pointer;background:#111d28;border:1px solid #27394d;border-radius:8px;place-items:center;height:30px;display:grid}.practice-folder-create-row button:hover:not(:disabled){color:#d9e9fa;border-color:#3f5873}.practice-folder-create-row button:disabled{opacity:.35;cursor:not-allowed}.practice-browser-scroll{scrollbar-gutter:stable;flex:auto;min-height:0;margin-top:8px;padding-right:4px;overflow:hidden auto}.practice-browser-scroll::-webkit-scrollbar{width:7px}.practice-browser-scroll::-webkit-scrollbar-thumb{background:#28394c;border-radius:999px}.practice-browser-scroll::-webkit-scrollbar-track{background:0 0}.folder-enabled-practices .practice-list{margin-top:0;max-height:none!important;padding-right:0!important;overflow:visible!important}.root-practice-list{gap:5px;display:grid}.practice-root-dropzone{opacity:0;height:0;transition:all .15s;overflow:hidden}.practice-root-dropzone.visible{opacity:1;height:30px;margin-bottom:6px}.practice-root-dropzone span{color:#718aa5;background:#2f7dff09;border:1px dashed #334d69;border-radius:8px;place-items:center;height:28px;font-size:9px;display:grid}.practice-root-dropzone span.active{color:#9cc6fb;background:#2f7dff1a;border-color:#4d8ee1}.practice-folder{background:#0a121a70;border:1px solid #253548;border-radius:10px;margin-top:8px;transition:all .15s;overflow:hidden}.practice-folder.drag-over{background:#34c77b0e;border-color:#34c77b94;box-shadow:inset 0 0 0 1px #34c77b0d}.practice-folder-head{grid-template-columns:minmax(0,1fr) 27px 27px;align-items:center;gap:2px;padding:3px;display:grid}.practice-folder-toggle{color:#c7d4e2;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:18px minmax(0,1fr) auto 15px;align-items:center;gap:6px;min-width:0;height:34px;padding:0 7px;display:grid}.practice-folder-toggle>span{white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;font-weight:750;overflow:hidden}.practice-folder-toggle>small{color:#708297;font-size:9px}.practice-folder-toggle[aria-expanded=true]>svg:last-child{transform:rotate(180deg)}.practice-folder-toggle>svg:last-child{transition:transform .15s}.practice-folder-icon-button{color:#6f8296;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:25px;height:25px;display:grid}.practice-folder-icon-button:hover{color:#b9cadb;background:#ffffff0a}.practice-folder-icon-button.danger:hover{color:#e99aa1;background:#e2676714}.practice-folder-list{border-top:1px solid #ffffff09;gap:4px;padding:0 5px 6px;display:grid}.practice-folder-list .practice-list-item-shell.nested{background:#0c151e;border-color:#1f3041;min-height:44px;margin-top:4px}.practice-folder-empty{text-align:center;color:#5f7388;border:1px dashed #293b4e;border-radius:7px;margin:7px 4px 5px;padding:9px;font-size:9px}.folder-enabled-practices>.wide-secondary-button{flex:none;margin-top:8px}.map-mode-toggle{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-width:92px;height:34px;margin-left:auto;padding:0 10px;font-weight:800;transition:all .16s;display:inline-flex;box-shadow:inset 0 1px #ffffff06}.map-mode-toggle>span{border:1px solid;border-radius:50%;place-items:center;width:20px;height:20px;font:800 11px/1 ui-sans-serif,system-ui,sans-serif;display:grid}.map-mode-toggle>small{letter-spacing:.09em;font-size:8px;font-weight:850}.map-mode-toggle.open-map{color:#78dfa9;background:linear-gradient(#34c77b24,#34c77b0e),#111c1a;border:1px solid #34c77b80}.map-mode-toggle.open-map:hover,.map-mode-toggle.open-map:focus-visible{color:#a0f0c5;border-color:#48e091bd;outline:none}.map-mode-toggle.return-practice{color:#8bbcf7;background:linear-gradient(#2f7dff21,#2f7dff0d),#101923;border:1px solid #4b8ee680}.map-mode-toggle.return-practice:hover,.map-mode-toggle.return-practice:focus-visible{color:#bdd9fb;border-color:#5a9df4bd;outline:none}.analysis-context-chip{appearance:none;cursor:pointer}.analysis-context-chip.selected{background:#34c77b24;border-color:#34c77b94;box-shadow:0 0 0 1px #34c77b0d}.analysis-context-chip+.map-mode-toggle{margin-left:0}.progression-builder.map-mode .live-chord-card.harmonic-detected{background:linear-gradient(#34c77b13,#151f2af5),#17212c;border-color:#34c77b57}.progression-builder.map-mode .live-chord-card.harmonic-detected.current{background:linear-gradient(#34c77b24,#2f7dff1a),#17212c;border-color:#34c77b9e;box-shadow:0 0 0 1px #34c77b1a,0 0 18px #34c77b12}.progression-builder.practice-mode .harmonic-info-button,.progression-builder.practice-mode .progression-analysis-overlay{display:none!important}.left-column{scrollbar-gutter:stable;flex-direction:column;gap:11px;padding-right:2px;display:flex!important;overflow:hidden auto!important}.left-column::-webkit-scrollbar{width:7px}.left-column::-webkit-scrollbar-thumb{background:#28394c;border-radius:999px}.left-column::-webkit-scrollbar-track{background:0 0}.recording-library-slot{flex:none;min-width:0;position:relative}.recording-library-slot>.practical-analysis-panel{z-index:40;max-height:min(42vh,410px);position:absolute;top:0;left:0;right:0;overflow:auto;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:radial-gradient(120% 120% at 18% 0,#499f741a,#0000 42%),linear-gradient(#102018 0%,#0a1510 100%)!important;border:1px solid #40ca898f!important;box-shadow:0 18px 36px #0000009e,0 0 0 1px #40ca8914,inset 0 1px #ffffff08!important}.recording-library-slot>.practical-analysis-panel .practical-analysis-summary{color:#c6d7cf!important}.recording-library-slot>.practical-analysis-panel .practical-analysis-destination,.recording-library-slot>.practical-analysis-panel .practical-analysis-facts>div{background:#0c1611!important;border-color:#6cb08e2e!important}.folder-enabled-practices{max-height:none!important;overflow:hidden!important}.practice-browser-scroll{overscroll-behavior:contain;scroll-behavior:auto;padding-right:4px;flex:0 0 318px!important;height:318px!important;min-height:318px!important;max-height:318px!important;overflow-y:auto!important}.practice-list-item-shell{min-height:48px}.practice-list-item-shell.drag-over{box-shadow:0 -2px #438affd9,0 0 0 1px #438aff1f}@media (max-width:1450px){.practice-browser-scroll{flex-basis:306px!important;height:306px!important;min-height:306px!important;max-height:306px!important}.map-mode-toggle{min-width:84px;padding:0 8px}.map-mode-toggle>small{font-size:7.5px}}.practice-list-item-shell.drag-over-before{box-shadow:0 -2px #438affe0,0 0 0 1px #438aff1a}.practice-list-item-shell.drag-over-after{box-shadow:0 2px #438affe0,0 0 0 1px #438aff1a}.right-column{height:calc(100vh - 104px)!important;min-height:0!important;max-height:calc(100vh - 104px)!important;overflow:hidden!important}.right-column .history-panel.history-accordion-panel{flex:1 1 0!important;min-height:0!important;max-height:none!important;overflow:hidden!important}.right-column .history-panel.history-accordion-panel .history-accordion-item.open{flex-direction:column;display:flex;flex:1 1 0!important;min-height:0!important}.right-column .history-panel.history-accordion-panel .history-accordion-item.open .history-accordion-trigger{flex:none}.right-column .history-panel.history-accordion-panel .history-accordion-item.open .history-accordion-body{flex:1 1 0!important;min-height:0!important;display:block!important;overflow:hidden!important}.right-column .history-panel.history-accordion-panel .history-accordion-item.open .history-accordion-body-clip{height:100%!important;min-height:0!important;overflow:hidden!important}@media (max-width:1450px){.right-column{height:calc(100vh - 96px)!important;max-height:calc(100vh - 96px)!important}}.collapsible-panel-heading{align-items:center;gap:6px;padding:0;display:flex}.panel-section-toggle{color:#dce6f2;text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;grid-template-columns:18px minmax(0,1fr) 16px;align-items:center;gap:8px;min-width:0;height:38px;padding:0;display:grid}.panel-section-toggle:hover{color:#f2f7fc}.panel-section-toggle>svg{color:#4c98ff}.panel-section-toggle h2{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13px;font-weight:720;overflow:hidden}.panel-section-chevron{color:#71869b;place-items:center;transition:transform .18s,color .18s;display:grid}.panel-section-chevron.open{color:#8bbcf7;transform:rotate(180deg)}.practice-panel-collapse-body{min-height:0;display:none}.practice-panel-collapse-body.open{flex-direction:column;min-height:0;display:flex}.folder-enabled-practices.panel-collapsed{flex:none!important;min-height:0!important;padding-bottom:10px!important}.folder-enabled-practices.panel-open{flex:none!important;min-height:0!important}.folder-enabled-practices.panel-open .practice-browser-scroll{flex:0 0 318px!important;height:318px!important;min-height:318px!important;max-height:318px!important}.right-column{flex-direction:column!important;gap:9px!important;height:calc(100vh - 104px)!important;min-height:0!important;max-height:calc(100vh - 104px)!important;display:flex!important;overflow:hidden!important}.right-column>.folder-enabled-practices{flex:none!important;min-height:0!important}.right-column .history-panel.history-accordion-panel{scrollbar-gutter:stable;flex:1 1 0!important;min-height:0!important;max-height:none!important;padding:8px!important;display:block!important;overflow:hidden auto!important}.right-column .history-panel.history-accordion-panel::-webkit-scrollbar{width:7px}.right-column .history-panel.history-accordion-panel::-webkit-scrollbar-thumb{background:#28394c;border-radius:999px}.right-column .history-panel.history-accordion-panel .history-accordion-item{margin-bottom:6px;flex:none!important;display:block!important}.right-column .history-panel.history-accordion-panel .history-accordion-item:last-child{margin-bottom:0}.right-column .history-panel.history-accordion-panel .history-accordion-item.open{flex:none!important;min-height:0!important;display:block!important}.right-column .history-panel.history-accordion-panel .history-accordion-item.open .history-accordion-trigger{z-index:2;background:#101a25;flex:none;position:sticky;top:0}.right-column .history-panel.history-accordion-panel .history-accordion-item.open .history-accordion-body{opacity:1!important;grid-template-rows:1fr!important;min-height:0!important;display:grid!important;overflow:visible!important}.right-column .history-panel.history-accordion-panel .history-accordion-item.open .history-accordion-body-clip{height:auto!important;min-height:0!important;max-height:32vh!important;overflow:hidden!important}.right-column .history-panel.history-accordion-panel .history-accordion-item.open .history-accordion-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;height:auto!important;min-height:0!important;max-height:32vh!important;overflow:hidden auto!important}@media (max-width:1450px){.right-column{height:calc(100vh - 96px)!important;max-height:calc(100vh - 96px)!important}.folder-enabled-practices.panel-open .practice-browser-scroll{flex-basis:306px!important;height:306px!important;min-height:306px!important;max-height:306px!important}.right-column .history-panel.history-accordion-panel .history-accordion-item.open .history-accordion-body-clip,.right-column .history-panel.history-accordion-panel .history-accordion-item.open .history-accordion-scroll{max-height:30vh!important}}.current-chord-top-actions{pointer-events:auto;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.practice-loop-mode-toggle{background:#091119e0;border:1px solid #29415b;border-radius:8px;align-items:center;padding:2px;display:inline-flex;box-shadow:inset 0 1px #ffffff06}.practice-loop-mode-toggle button{color:#7990a7;letter-spacing:.055em;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:5px;min-width:78px;height:26px;padding:0 9px;font-size:8.5px;font-weight:820;transition:all .14s;display:inline-flex}.practice-loop-mode-toggle button:hover:not(:disabled){color:#d8e7f7;background:#497fb71a}.practice-loop-mode-toggle button.active{color:#dfeeff;background:#3e7dc52e;box-shadow:0 0 0 1px #569be62e}.practice-loop-mode-toggle button.loop-active{color:#dff8eb;background:#34c77b21;box-shadow:0 0 0 1px #34c77b33}.practice-loop-mode-toggle button:disabled{opacity:.38;cursor:not-allowed}.metronome-heading-row{justify-content:center;align-items:center;gap:7px;width:100%;min-width:0;display:flex}.metronome-heading-row .metronome-label{flex:0 auto;width:auto}.metronome-sound-select{color:#9db4ca;cursor:pointer;background:#0f1a25;border:1px solid #304a64;border-radius:6px;outline:none;max-width:74px;height:22px;padding:0 18px 0 6px;font-size:7.7px;font-weight:720}.metronome-sound-select:hover,.metronome-sound-select:focus{color:#e1edf8;border-color:#4a80b9}.loop-editor-card{padding:0;display:block;overflow:hidden}.loop-editor-head{z-index:7;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;top:10px;left:15px;right:15px}.loop-empty-state,.loop-recording-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;padding:44px 20px 14px;display:flex}.loop-empty-state strong,.loop-recording-state strong{color:#e8f1fa;letter-spacing:-.01em;font-size:14px}.loop-empty-state span{color:#768ca2;max-width:500px;font-size:9.5px;line-height:1.45}.loop-empty-state small,.loop-inline-error{color:#e6a3a8;font-size:8px;line-height:1.3}.loop-empty-state.processing strong{color:#9fc7ee}.loop-recording-state{flex-direction:row;gap:9px}.loop-recording-state b{color:#f3f7fb;font-variant-numeric:tabular-nums;letter-spacing:-.025em;font-size:22px}.loop-recording-dot{background:#e26767;border-radius:50%;width:9px;height:9px;animation:1.1s ease-in-out infinite loop-recording-pulse;box-shadow:0 0 0 5px #e2676714,0 0 12px #e267673d}@keyframes loop-recording-pulse{50%{opacity:.45;transform:scale(.86)}}.loop-waveform-editor{flex-direction:column;justify-content:center;gap:4px;height:100%;padding:48px 17px 10px;display:flex}.loop-waveform-track{touch-action:none;background:linear-gradient(#081119b8,#0a141e8c);border:1px solid #41607e80;border-radius:9px;height:112px;position:relative;overflow:visible;box-shadow:inset 0 1px #ffffff05}.loop-waveform-canvas{pointer-events:none;width:100%;height:calc(100% - 16px);display:block;position:absolute;inset:8px 0}.loop-selection{pointer-events:none;background:linear-gradient(#2f7dff21,#2f7dff11);position:absolute;top:1px;bottom:1px}.loop-trim-handle{cursor:ew-resize;z-index:4;touch-action:none;color:#acd1f6;background:0 0;border:0;outline:none;width:16px;padding:0;position:absolute;top:-1px;bottom:-1px;transform:translate(-8px)}.loop-trim-handle:before{content:"";background:#d8ecff;border-radius:2px;width:2px;position:absolute;top:0;bottom:0;left:7px;box-shadow:0 0 0 1px #2f7dff59,0 0 10px #2f7dff40}.loop-trim-handle:after{content:"";background:#e7f3ff;border:2px solid #3d91f2;border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:3px;box-shadow:0 1px 8px #2f7dff40}.loop-trim-handle span{letter-spacing:.075em;color:#83baff;white-space:nowrap;font-size:7px;font-weight:850;position:absolute;top:-19px;left:50%;transform:translate(-50%)}.loop-trim-handle:focus-visible:after{box-shadow:0 0 0 3px #2f7dff38,0 1px 8px #2f7dff4d}.loop-range-time{text-align:center;color:#7f96ad;font-variant-numeric:tabular-nums;letter-spacing:.015em;font-size:8.5px}.loop-range-time span{color:#536f8b;padding:0 4px}.loop-inline-error{text-align:center;display:block}.base-loop-controls{flex-direction:column;justify-content:center;align-items:center;gap:7px;width:100%;min-width:0;display:flex}.base-loop-controls-label{letter-spacing:.08em;color:#72879d;font-size:8px;font-weight:800}.base-loop-controls-row{flex-wrap:nowrap;justify-content:center;align-items:center;gap:5px;width:100%;display:flex}.base-loop-button{color:#b8cadd;cursor:pointer;white-space:nowrap;background:#111d29;border:1px solid #30465e;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-width:72px;height:34px;padding:0 9px;font-size:8.7px;font-weight:700;transition:all .14s;display:inline-flex}.base-loop-button:hover:not(:disabled){color:#edf6ff;background:#17283a;border-color:#4b79a7}.base-loop-button:disabled{opacity:.32;cursor:not-allowed}.base-loop-button.record{color:#dfa1a5;background:#e267670e;border-color:#e2676759}.base-loop-button.stop{color:#f0b0b3;background:#e267671a;border-color:#e2676780}.base-loop-button.play{color:#acd0f3;border-color:#355f87}.base-loop-button.loop-toggle.active{color:#a9e7c4;background:#34c77b1c;border-color:#34c77b6b}.base-loop-button.clear{min-width:66px}.base-loop-controls small{color:#b58b8f;font-size:7.4px}@media (max-width:1450px){.practice-loop-mode-toggle button{min-width:68px;height:24px;padding-inline:7px;font-size:7.7px}.current-chord-top-actions{gap:5px}.metronome-sound-select{max-width:64px;padding-left:5px;font-size:7px}.loop-waveform-track{height:104px}.base-loop-button{min-width:62px;height:32px;padding-inline:7px;font-size:8px}.base-loop-controls-row{gap:4px}}.current-bar-reading{color:#7fb7ef;letter-spacing:.055em;opacity:.92;justify-content:center;align-items:center;min-height:18px;margin-top:4px;font-size:10px;font-weight:820;line-height:1.15;display:flex}.session-actions-card.session-control-console.loop-only{justify-items:center;grid-template-columns:minmax(0,1fr)!important}.session-actions-card.session-control-console.loop-only .session-console-center{width:100%;max-width:760px;grid-column:1!important}.loop-loaded-name{text-overflow:ellipsis;white-space:nowrap;text-align:center;color:#a9bfd4;letter-spacing:.025em;max-width:70%;margin:0 auto 1px;font-size:8px;font-weight:760;overflow:hidden}.loop-playhead{z-index:3;pointer-events:none;background:#eff8fff5;width:1px;position:absolute;top:0;bottom:0;transform:translate(-.5px);box-shadow:0 0 7px #84c5ff7a}.loop-playhead>span{background:#eff8ff;border-radius:1px;width:7px;height:7px;position:absolute;top:-5px;left:50%;transform:translate(-50%)rotate(45deg);box-shadow:0 0 6px #84c5ff73}.loop-time-row{color:#7f96ad;font-variant-numeric:tabular-nums;letter-spacing:.015em;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:18px;font-size:8.5px;display:grid}.loop-time-row .loop-range-time{text-align:left}.loop-playhead-time{color:#a9c9e8;white-space:nowrap;font-weight:730}.base-loop-button.save{color:#b7d8f7;background:#3470aa13;border-color:#5799db6b}.loop-space-help{letter-spacing:.035em;min-height:13px;font-weight:650;color:#7890a8!important;font-size:7.6px!important}.base-loop-controls.compact{gap:3px;width:auto}.base-loop-controls.compact .base-loop-controls-label{display:none}.base-loop-controls.compact .base-loop-controls-row{gap:4px;width:auto}.base-loop-controls.compact .base-loop-button{min-width:0;height:31px;padding:0 9px;font-size:8px}.base-loop-controls.compact .loop-space-help{display:none}.base-loop-button.loop-toggle{display:none!important}.floating-loop-transport{z-index:120;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0b151ff5;border:1px solid #3a5b7cd1;border-radius:12px;grid-template-columns:minmax(150px,1fr) auto;align-items:center;gap:12px;width:min(760px,100vw - 34px);padding:8px 10px;display:grid;position:fixed;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 14px 38px #00000061,inset 0 1px #ffffff09}.floating-loop-waveform{background:#050d14b3;border:1px solid #405f7c80;border-radius:7px;min-width:0;height:34px;position:relative;overflow:hidden}.floating-loop-waveform-bars{align-items:center;gap:1px;display:flex;position:absolute;inset:4px 6px}.floating-loop-waveform-bar{background:#5c8bb78a;border-radius:1px;flex:1 1 0;min-width:1px;max-height:100%}.floating-loop-selection{pointer-events:none;background:#2f7dff1c;position:absolute;top:0;bottom:0}.floating-loop-playhead{pointer-events:none;background:#edf8ff;width:1px;position:absolute;top:1px;bottom:1px;box-shadow:0 0 6px #8bcaff80}.floating-loop-empty{color:#71889f;justify-content:center;align-items:center;height:100%;font-size:8px;font-weight:700;display:flex}.practice-folders-root{gap:5px;margin-bottom:5px;display:grid}.practice-folder-head{grid-template-columns:18px minmax(0,1fr) 27px 27px!important}.practice-folder-drag-handle{color:#60788f;cursor:grab;-webkit-user-select:none;user-select:none;place-items:center;width:18px;height:28px;display:grid}.practice-folder-drag-handle:active{cursor:grabbing}.practice-folder.dragging{opacity:.52}.practice-folder.folder-reorder-before,.practice-folder.folder-reorder-after{position:relative}.practice-folder.folder-reorder-before:before,.practice-folder.folder-reorder-after:after{content:"";z-index:8;background:#4f9ef1;border-radius:999px;height:2px;position:absolute;left:5px;right:5px;box-shadow:0 0 0 1px #4f9ef129,0 0 8px #4f9ef147}.practice-folder.folder-reorder-before:before{top:-4px}.practice-folder.folder-reorder-after:after{bottom:-4px}.recording-library-section-heading{color:#7691aa;letter-spacing:.095em;text-transform:uppercase;margin:8px 2px 5px;font-size:8px;font-weight:850}.saved-loops-list{gap:4px;display:grid}.recording-row.saved-loop-row{grid-template-columns:25px minmax(0,1fr) 25px!important}.saved-loop-row .recording-row-copy small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.saved-loops-empty{color:#647c93;margin:0;padding:8px 7px;font-size:8.5px;line-height:1.35}@media (max-width:1450px){.floating-loop-transport{gap:8px;width:min(690px,100vw - 28px);padding:7px 8px;bottom:9px}.floating-loop-waveform{height:31px}.base-loop-controls.compact .base-loop-button{height:29px;padding-inline:7px;font-size:7.5px}}@media (max-width:900px){.floating-loop-transport{grid-template-columns:1fr;gap:6px;width:calc(100vw - 20px);bottom:8px}.floating-loop-waveform{height:28px}.base-loop-controls.compact,.base-loop-controls.compact .base-loop-controls-row{width:100%}.base-loop-controls.compact .base-loop-button{flex:auto}}.floating-loop-transport{grid-template-columns:auto minmax(150px,1fr) auto}.floating-loop-transport-head{flex-direction:column;justify-content:center;gap:1px;min-width:52px;display:flex}.floating-loop-transport-head strong{color:#dcecf9;letter-spacing:.1em;font-size:9px;font-weight:900}.floating-loop-transport-head span{text-overflow:ellipsis;white-space:nowrap;color:#718aa2;max-width:120px;font-size:7px;overflow:hidden}.floating-loop-mini-waveform{background:#050d14b3;border:1px solid #405f7c80;border-radius:7px;min-width:0;height:34px;position:relative;overflow:hidden}.floating-loop-bars{align-items:center;gap:1px;display:flex;position:absolute;inset:4px 6px}.floating-loop-bars>span{background:#5c8bb794;border-radius:1px;flex:1 1 0;min-width:1px}.recording-library-section-heading{grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:5px;display:grid}.recording-library-section-heading strong{letter-spacing:.095em;font-size:8px;font-weight:850}.recording-library-section-heading small{color:#536d86;font-size:7.5px}@media (max-width:900px){.floating-loop-transport{grid-template-columns:auto minmax(110px,1fr)}.floating-loop-transport>.base-loop-controls{grid-column:1/-1}}.practice-root-order-list{gap:5px;display:grid}.practice-list-item-shell.folder-reorder-before,.practice-list-item-shell.folder-reorder-after{position:relative}.practice-list-item-shell.folder-reorder-before:before,.practice-list-item-shell.folder-reorder-after:after{content:"";z-index:8;background:#4f9ef1;border-radius:999px;height:2px;position:absolute;left:5px;right:5px;box-shadow:0 0 0 1px #4f9ef129,0 0 8px #4f9ef147}.practice-list-item-shell.folder-reorder-before:before{top:-4px}.practice-list-item-shell.folder-reorder-after:after{bottom:-4px}.media-libraries-stack{scrollbar-gutter:stable;gap:9px;min-width:0;max-height:calc(100vh - 104px);padding-right:2px;display:grid;overflow:hidden auto}.media-libraries-stack::-webkit-scrollbar{width:7px}.media-libraries-stack::-webkit-scrollbar-thumb{background:#28394c;border-radius:999px}.media-libraries-stack::-webkit-scrollbar-track{background:0 0}.media-library-global-error{margin:0}.recording-library-slot>.media-libraries-stack{max-height:calc(100vh - 104px)}.media-library-panel{flex:none;overflow:hidden;padding:0!important}.media-library-panel.panel-collapsed{height:auto;max-height:none}.media-library-heading{gap:6px;min-height:58px;padding:0 9px 0 10px}.media-library-heading .panel-section-toggle{text-align:left;grid-template-columns:18px minmax(0,1fr) 17px;align-items:center;gap:8px;min-width:0;min-height:58px;display:grid}.media-library-heading .panel-section-toggle>svg{color:#4c98ff}.media-library-title-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.media-library-title-copy strong{letter-spacing:.045em;color:#dce6f2;font-size:11px;line-height:1.1}.media-library-title-copy small{color:#6f8195;white-space:nowrap;text-overflow:ellipsis;font-size:7.5px;overflow:hidden}.media-library-heading>.folder-add-button{flex:0 0 28px}.media-library-collapse-body{border-top:1px solid #ffffff0b;padding:8px 9px 9px;display:none}.media-library-collapse-body.open{display:block}.media-folder-create-row{margin-top:0}.media-browser-scroll{scrollbar-gutter:stable;height:226px;min-height:0;max-height:226px;padding-right:3px;overflow:hidden auto}.media-browser-scroll::-webkit-scrollbar{width:7px}.media-browser-scroll::-webkit-scrollbar-thumb{background:#28394c;border-radius:999px}.media-browser-scroll::-webkit-scrollbar-track{background:0 0}.media-root-dropzone{opacity:0;text-align:center;height:0;transition:all .14s;overflow:hidden}.media-root-dropzone.visible{opacity:1;height:28px;margin-bottom:5px}.media-root-dropzone span{color:#70879d;background:#101b2680;border:1px dashed #2c4258;border-radius:7px;justify-content:center;align-items:center;height:26px;font-size:7.5px;display:flex}.media-root-dropzone span.active{color:#a9cff5;background:#2f7dff13;border-color:#4d91db}.media-organizer-folder{background:#0a121a70;border:1px solid #253548;border-radius:9px;margin-bottom:5px;transition:all .15s;position:relative;overflow:hidden}.media-organizer-folder.drag-over{background:#34c77b0e;border-color:#34c77b94}.media-organizer-folder.dragging,.media-organizer-item.dragging{opacity:.48}.media-organizer-folder-head{grid-template-columns:18px minmax(0,1fr) 24px 24px;align-items:center;min-height:35px;padding:2px 3px;display:grid}.media-organizer-folder-toggle{color:#c7d4e2;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:16px minmax(0,1fr) auto 14px;align-items:center;gap:5px;min-width:0;height:31px;padding:0 4px;display:grid}.media-organizer-folder-toggle>svg:first-child{color:#5f9fe3}.media-organizer-folder-toggle strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:8.8px;overflow:hidden}.media-organizer-folder-toggle small{color:#73879b;font-size:7.4px}.media-organizer-folder-body{border-top:1px solid #ffffff09;gap:3px;padding:4px;display:grid}.media-organizer-grip{color:#60788f;cursor:grab;-webkit-user-select:none;user-select:none;place-items:center;width:18px;min-height:28px;display:grid}.media-organizer-grip:active{cursor:grabbing}.media-organizer-item{background:#0c151e8a;border:1px solid #0000;border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:center;min-height:38px;margin-bottom:3px;transition:all .13s;display:grid;position:relative}.media-organizer-item.nested{background:#0c151e;border-color:#1f3041}.media-organizer-item:hover{background:#101d29;border-color:#2b3f54}.media-organizer-item.drag-over-before:before,.media-organizer-item.drag-over-after:after,.media-organizer-item.folder-reorder-before:before,.media-organizer-item.folder-reorder-after:after,.media-organizer-folder.folder-reorder-before:before,.media-organizer-folder.folder-reorder-after:after{content:"";z-index:20;background:#4f9ef1;border-radius:999px;height:2px;position:absolute;left:4px;right:4px;box-shadow:0 0 8px #4f9ef147}.media-organizer-item.drag-over-before:before,.media-organizer-item.folder-reorder-before:before,.media-organizer-folder.folder-reorder-before:before{top:-3px}.media-organizer-item.drag-over-after:after,.media-organizer-item.folder-reorder-after:after,.media-organizer-folder.folder-reorder-after:after{bottom:-3px}.media-organizer-item-body{min-width:0}.media-inner-row.recording-row{background:0 0;border:0;border-radius:6px;min-height:35px;margin:0}.media-inner-row.phrase-row{grid-template-columns:25px minmax(0,1fr) 23px 23px!important}.media-inner-row.saved-loop-row{grid-template-columns:25px minmax(0,1fr) 23px!important}.media-inner-row .recording-copy{flex-direction:column;gap:1px;min-width:0;padding:3px 4px;display:flex}.media-inner-row .recording-copy strong{text-overflow:ellipsis;white-space:nowrap;color:#d6e1ec;min-width:0;font-size:8.5px;overflow:hidden}.media-inner-row .recording-copy small{color:#6d8195;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:7px;overflow:hidden}.compact-media-empty{min-height:150px}.empty-media-libraries .media-library-panel{padding:11px 12px!important}.base-loop-controls.detached-placeholder{visibility:hidden;opacity:0!important;pointer-events:none!important}.base-loop-controls.compact .loop-space-help{min-height:10px;margin-top:0;color:#72879d!important;font-size:6.8px!important;display:block!important}.loop-editor-head{top:8px;left:15px;right:11px}.loop-waveform-editor{gap:3px;padding-top:64px;padding-bottom:7px}.loop-waveform-track{height:100px}.loop-trim-handle span{top:-17px}.floating-loop-transport{grid-template-columns:auto minmax(0,1fr) auto;transition:width .16s,padding .16s,grid-template-columns .16s}.floating-loop-transport.controls-only{grid-template-columns:auto auto;justify-content:center;gap:10px;width:min(610px,100vw - 34px)}.floating-loop-transport.controls-only .floating-loop-transport-head{display:none}.floating-loop-transport.controls-only>.base-loop-controls{grid-column:auto;width:auto}.floating-loop-transport.with-waveform{grid-template-columns:auto minmax(190px,1fr) auto;width:min(790px,100vw - 34px)}.floating-loop-mini-waveform{touch-action:none;height:46px;overflow:visible}.floating-loop-canvas{pointer-events:none;width:100%;height:calc(100% - 10px);display:block;position:absolute;inset:5px 0}.floating-loop-selection{pointer-events:none;top:1px;bottom:1px}.floating-loop-playhead{z-index:4;top:1px;bottom:1px}.floating-loop-handle{cursor:ew-resize;z-index:6;touch-action:none;color:#9fcdf7;background:0 0;border:0;outline:none;width:18px;padding:0;position:absolute;top:-1px;bottom:-1px;transform:translate(-9px)}.floating-loop-handle:before{content:"";background:#d8ecff;border-radius:2px;width:2px;position:absolute;top:0;bottom:0;left:8px;box-shadow:0 0 0 1px #2f7dff47,0 0 7px #2f7dff38}.floating-loop-handle:after{content:"";background:#e8f4ff;border:2px solid #3d91f2;border-radius:50%;width:10px;height:10px;position:absolute;top:2px;left:4px}.floating-loop-handle span{letter-spacing:.055em;color:#7fb8ed;white-space:nowrap;font-size:5.8px;font-weight:850;position:absolute;top:-12px;left:50%;transform:translate(-50%)}@media (max-width:1450px){.media-libraries-stack,.recording-library-slot>.media-libraries-stack{max-height:calc(100vh - 96px)}.media-browser-scroll{height:210px;max-height:210px}.loop-waveform-editor{padding-top:61px}.loop-waveform-track{height:94px}.floating-loop-transport.with-waveform{width:min(720px,100vw - 28px)}.floating-loop-mini-waveform{height:43px}}@media (max-width:900px){.floating-loop-transport.controls-only,.floating-loop-transport.with-waveform{grid-template-columns:1fr;gap:6px;width:calc(100vw - 20px)}.floating-loop-transport.with-waveform .floating-loop-transport-head{display:none}.floating-loop-transport>.base-loop-controls{grid-column:1/-1;width:100%}.floating-loop-mini-waveform{height:42px}}html,body{max-width:100%;overflow-x:hidden}body{min-width:0}html.improlab-focus-active,body.improlab-focus-active{overscroll-behavior:none;height:100%;overflow:hidden!important}.app-header{grid-template-columns:minmax(230px,1fr) auto minmax(120px,1fr);gap:clamp(8px,1.1vw,16px);padding-inline:max(18px,50vw - 862px)}.improlab-app:not(.focus-mode) .desktop-shell{grid-template-columns:clamp(220px,18vw,270px) minmax(0,1fr) clamp(255px,22vw,330px);gap:clamp(10px,1.1vw,16px);width:min(1700px,100% - clamp(24px,4vw,64px))}.practice-column,.left-column,.right-column{min-width:0}.left-column,.right-column{max-height:calc(100dvh - 104px);top:clamp(80px,7vw,88px)}.media-libraries-stack,.recording-library-slot>.media-libraries-stack{max-height:calc(100dvh - 104px)}.right-column{height:calc(100dvh - 104px)!important;max-height:calc(100dvh - 104px)!important}.progression-builder,.practice-main-card,.current-chord-card,.loop-editor-card{min-width:0;max-width:100%}.metronome-bpm-box.metronome-bpm-drag-control{font:inherit;color:inherit;cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none;transition:border-color .14s,background .14s,box-shadow .14s}.metronome-bpm-box.metronome-bpm-drag-control:hover,.metronome-bpm-box.metronome-bpm-drag-control:focus-visible{background:linear-gradient(#142537,#0f1c28);border-color:#4a80b9;outline:none}.metronome-bpm-box.metronome-bpm-drag-control:focus-visible{box-shadow:0 0 0 2px #2f7dff1f}.metronome-bpm-display{color:#f1f7fd;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:-.03em;width:58px;height:25px;cursor:inherit;background:0 0;border:0;outline:none;place-items:center;padding:0;font-size:22px;font-weight:780;line-height:1;display:grid}.metronome-bpm-box.editing{border-color:#4c87c2;box-shadow:0 0 0 2px #2f7dff14}.metronome-step{touch-action:none;-webkit-user-select:none;user-select:none}.improlab-app.focus-mode{grid-template-rows:auto minmax(0,1fr);width:100%;height:100dvh;min-height:100dvh;max-height:100dvh;display:grid;overflow:hidden}.focus-header{gap:clamp(8px,1.2vw,16px);height:clamp(46px,7dvh,58px);min-height:46px;padding-inline:max(14px,50vw - 646px)}.focus-header-center{gap:clamp(9px,1.4vw,18px)}.focus-loop-control{font-size:clamp(8px,.72vw,9.5px)}.focus-mode .desktop-shell{width:min(1280px,100% - clamp(20px,4vw,56px));height:100%;min-height:0;max-height:100%;margin:0 auto;padding:clamp(7px,1.25dvh,14px) 0;display:block;overflow:hidden}.focus-mode .practice-column{grid-template-rows:minmax(54px,auto) minmax(0,1fr);gap:clamp(6px,1dvh,10px);height:100%;min-height:0;max-height:100%;display:grid;overflow:hidden}.focus-mode .progression-builder.read-only{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:54px;max-height:clamp(62px,18dvh,150px);padding:clamp(6px,1dvh,10px) clamp(10px,1.4vw,16px);overflow:hidden auto}.focus-mode .practice-main-card{grid-template-rows:minmax(0,1fr) auto auto;place-items:stretch center;gap:clamp(4px,.8dvh,8px);width:100%;height:100%;min-height:0;max-height:100%;margin:0;padding:clamp(8px,1.35dvh,14px) clamp(12px,1.8vw,22px) clamp(7px,1.15dvh,12px);display:grid;overflow:hidden}.focus-mode .current-chord-card,.focus-mode .loop-editor-card{place-self:stretch center;width:min(1040px,100%);max-height:100%;overflow:hidden;height:100%!important;min-height:0!important}.focus-mode .current-chord-layout{height:100%;min-height:0;padding-top:clamp(31px,5dvh,42px);padding-bottom:clamp(4px,.8dvh,8px)}.focus-mode .current-chord-symbol{margin-top:clamp(2px,.8dvh,7px);font-size:clamp(54px,10dvh,102px)}.focus-mode .current-chord-symbol.harmonic-sequence-symbol{font-size:clamp(38px,7.8dvh,78px)}.focus-mode .current-bar-reading,.focus-mode .current-chord-degrees{min-height:14px;margin-top:clamp(3px,.7dvh,6px);font-size:clamp(10px,1.65dvh,15px)}.focus-mode .chord-recording-panel{gap:clamp(2px,.55dvh,5px);padding:2px 6px}.focus-mode .chord-recording-title{font-size:clamp(7px,1.05dvh,8.5px)}.focus-mode .chord-recording-time{font-size:clamp(13px,2.2dvh,18px)}.focus-mode .chord-record-button{width:clamp(23px,3.2dvh,28px);height:clamp(21px,3dvh,25px)}.focus-mode .session-actions-card.compact{gap:clamp(5px,.8dvh,9px);width:min(900px,100%);min-height:0;margin-top:0;padding:clamp(5px,.8dvh,8px) clamp(7px,1vw,10px)}.focus-mode .timer-label{margin-top:clamp(2px,.6dvh,6px);font-size:clamp(7px,1.1dvh,9px)}.focus-mode .timer-value{margin-top:0;font-size:clamp(32px,6dvh,50px)}.focus-mode .practice-controls{gap:clamp(4px,.6vw,7px);margin-top:clamp(3px,.65dvh,7px)}.focus-mode .essential-controls .control-button{min-height:clamp(31px,4.7dvh,38px)}.focus-mode .practice-help-block{align-self:end;gap:1px;margin-top:0}.focus-mode .practice-help-block .shortcut-help{font-size:clamp(7px,1.05dvh,8.7px)}.focus-mode .practice-help-block .pedal-help{font-size:clamp(6.7px,1dvh,8.3px)}.focus-mode .loop-editor-head{top:clamp(6px,.9dvh,9px);left:14px;right:10px}.focus-mode .loop-waveform-editor{gap:clamp(2px,.55dvh,4px);height:100%;min-height:0;padding:clamp(42px,6.8dvh,62px) clamp(11px,1.7vw,18px) clamp(5px,.8dvh,9px)}.focus-mode .loop-waveform-track{height:clamp(68px,17dvh,126px);min-height:54px}.focus-mode .loop-empty-state,.focus-mode .loop-recording-state{height:100%;min-height:0}.focus-mode .base-loop-controls.compact{gap:3px;width:100%}.focus-mode .base-loop-controls.compact .base-loop-controls-row{width:100%;max-width:560px}.focus-mode .base-loop-controls.compact .base-loop-button{flex:1 1 0;min-width:0;height:clamp(28px,4.3dvh,34px)}.focus-mode .base-loop-controls.compact .loop-space-help{font-size:clamp(6.3px,.95dvh,7.2px)!important}.focus-mode .floating-loop-transport{display:none!important}@media (max-width:1366px){.app-header{grid-template-columns:minmax(185px,1fr) auto minmax(88px,1fr);padding-inline:14px}.brand-copy span{font-size:9.5px}.nav-button{gap:5px;padding-inline:10px;font-size:11px}.improlab-app:not(.focus-mode) .desktop-shell{grid-template-columns:clamp(210px,17.2vw,238px) minmax(0,1fr) clamp(245px,20.5vw,282px);gap:10px;width:calc(100% - 24px)}.left-column,.right-column{max-height:calc(100dvh - 94px);top:82px}.right-column{height:calc(100dvh - 94px)!important;max-height:calc(100dvh - 94px)!important}.media-libraries-stack,.recording-library-slot>.media-libraries-stack{max-height:calc(100dvh - 94px)}.metronome-bpm-display{width:52px;height:22px;font-size:19px}}@media (max-height:760px){.focus-header{height:46px}.focus-mode .desktop-shell{padding-block:6px}.focus-mode .practice-column{grid-template-rows:minmax(50px,15dvh) minmax(0,1fr);gap:5px}.focus-mode .progression-builder.read-only{min-height:50px;max-height:15dvh;padding-block:5px}.focus-mode .progression-builder.read-only .progression-pill{min-width:66px;height:30px;font-size:10px}.focus-mode .practice-main-card{gap:3px;padding-top:7px;padding-bottom:6px}.focus-mode .current-chord-symbol{font-size:clamp(48px,8.8dvh,70px)}.focus-mode .current-chord-symbol.harmonic-sequence-symbol{font-size:clamp(34px,6.7dvh,54px)}.focus-mode .current-chord-layout{padding-top:29px;padding-bottom:3px}.focus-mode .loop-waveform-editor{padding-top:40px;padding-bottom:4px}.focus-mode .loop-waveform-track{height:clamp(58px,14dvh,88px)}.focus-mode .session-actions-card.compact{gap:4px;padding-block:4px}.focus-mode .timer-value{font-size:34px}.focus-mode .essential-controls .control-button{min-height:30px}.focus-mode .practice-help-block{display:none}}@media (min-width:2200px){.improlab-app:not(.focus-mode) .desktop-shell{width:min(1720px,100% - 120px)}.focus-mode .desktop-shell{width:min(1320px,100% - 120px)}}.improlab-app.focus-mode .desktop-shell{align-items:center;padding-block:clamp(4px,.8dvh,8px);display:flex;overflow:hidden}.improlab-app.focus-mode .practice-column{grid-template-rows:auto auto;align-content:center;gap:clamp(8px,1.05dvh,12px);width:100%;height:auto;max-height:100%;overflow:visible}.improlab-app.focus-mode .progression-builder.live:not(.read-only){--focus-chord-w:132px;--focus-chord-h:36px;--focus-row-gap:6px;--focus-side-slot:38px;--focus-font-size:11.2px;align-content:center;width:min(980px,100%);min-width:0;max-width:100%;min-height:clamp(96px,13dvh,142px);margin-inline:auto;padding:clamp(9px,1.1dvh,12px) clamp(14px,1.5vw,20px);overflow:visible}.improlab-app.focus-mode .progression-builder.live:not(.read-only) .live-progression-head{display:none}.improlab-app.focus-mode .progression-builder.live:not(.read-only) .live-builder-rows{align-content:center;row-gap:var(--focus-row-gap);width:100%;display:grid}.improlab-app.focus-mode .progression-builder.live:not(.read-only) .live-empty-row{min-width:280px;min-height:var(--focus-chord-h);justify-content:center;align-items:center;display:flex}.improlab-app.focus-mode .progression-builder.live:not(.read-only) .live-row-block{width:100%;min-width:0}.improlab-app.focus-mode .progression-builder.live:not(.read-only) .live-row{width:100%;max-width:100%;min-height:calc(var(--focus-chord-h) + 2px);flex-wrap:nowrap;justify-content:center;gap:0}.improlab-app.focus-mode .progression-builder.live:not(.read-only) .live-row-balanced-group{width:max-content;max-width:100%;margin-inline:auto}.improlab-app.focus-mode .progression-builder.live:not(.read-only) .live-row-music{flex-wrap:nowrap;justify-content:center;gap:7px}.improlab-app.focus-mode .progression-builder.live:not(.read-only) .live-chord-wrap{flex:none;gap:6px}.improlab-app.focus-mode .progression-builder.live:not(.read-only) .live-row-balance,.improlab-app.focus-mode .progression-builder.live:not(.read-only) .live-row-actions{width:calc(var(--focus-side-slot) + 20px);flex:0 0 calc(var(--focus-side-slot) + 20px)}.improlab-app.focus-mode .progression-builder.live:not(.read-only) .live-row-actions{padding-left:26px}.improlab-app.focus-mode .progression-builder.live:not(.read-only) .row-add-slot{width:max(22px,calc(var(--focus-side-slot) - 6px));min-width:max(22px,calc(var(--focus-side-slot) - 6px));height:var(--focus-chord-h);border-radius:8px;padding:0}.improlab-app.focus-mode .progression-builder.live:not(.read-only) .live-chord-card,.improlab-app.focus-mode .progression-builder.live:not(.read-only) .live-chord-card.editing{width:var(--focus-chord-w);min-width:var(--focus-chord-w);max-width:var(--focus-chord-w);flex:0 0 var(--focus-chord-w);height:var(--focus-chord-h);grid-template-columns:18px minmax(0,1fr) 18px}.improlab-app.focus-mode .progression-builder.live:not(.read-only) .live-chord-symbol{font-size:var(--focus-font-size);text-overflow:clip;white-space:nowrap;padding-inline:4px;overflow:visible}.improlab-app.focus-mode .progression-builder.live:not(.read-only) .blank-slot-symbol{min-height:1em}.improlab-app.focus-mode .progression-builder.live:not(.read-only) .live-chord-card.blank{background:#2f7dff09;border-style:dashed;border-color:#36516e}.improlab-app.focus-mode .progression-builder.live:not(.read-only) .live-drag-handle{transform:scale(.92)}.improlab-app.focus-mode .progression-builder.live:not(.read-only) .live-delete-chord{width:18px;height:26px}.improlab-app.focus-mode .progression-builder.live:not(.read-only) .live-chord-card input{height:calc(var(--focus-chord-h) - 2px);font-size:var(--focus-font-size);padding-inline:4px}.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="0"],.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="1"],.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="2"],.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="3"]{width:max-content;max-width:100%}.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="0"]{min-width:340px}.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="1"][data-slot-count="1"]{width:min(360px,100%);min-width:0}.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="1"][data-slot-count="2"]{width:min(570px,100%);min-width:0}.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="1"][data-slot-count="3"]{width:min(790px,100%);min-width:0}.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="1"][data-slot-count="4"]{width:min(980px,100%);min-width:0}.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="2"]{min-width:620px}.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="3"]{min-width:700px}.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="1"],.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="2"],.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="3"],.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="4"]{--focus-chord-w:142px;--focus-chord-h:76px;--focus-side-slot:46px;--focus-font-size:13.2px;--focus-row-gap:12px}.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="5"]{--focus-chord-w:148px;--focus-chord-h:60px;--focus-side-slot:42px;--focus-font-size:12.8px;--focus-row-gap:10px;min-height:0}.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="6"]{--focus-chord-w:141px;--focus-chord-h:52px;--focus-side-slot:40px;--focus-font-size:12.2px;--focus-row-gap:8px;min-height:0}.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="7"]{--focus-chord-w:134px;--focus-chord-h:43px;--focus-side-slot:38px;--focus-font-size:11.6px;--focus-row-gap:6px;min-height:0}.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="8"]{--focus-chord-w:128px;--focus-chord-h:35px;--focus-side-slot:36px;--focus-font-size:11px;--focus-row-gap:5px;min-height:0}.improlab-app.focus-mode .progression-builder.live:not(.read-only):has(.live-row-block:nth-child(9)){--focus-chord-w:120px;--focus-chord-h:31px;--focus-side-slot:34px;--focus-font-size:10.5px;--focus-row-gap:3px;min-height:0;padding-block:5px}.improlab-app.focus-mode .progression-builder.live:not(.read-only):has(.live-row-block:nth-child(13)){--focus-chord-w:114px;--focus-chord-h:27px;--focus-side-slot:32px;--focus-font-size:10px;--focus-row-gap:1px;min-height:0;padding-block:3px}.improlab-app.focus-mode .practice-main-card{grid-template-rows:auto auto auto;gap:clamp(3px,.55dvh,6px);width:100%;height:auto;max-height:none;padding:clamp(6px,.9dvh,9px) clamp(10px,1.4vw,18px) clamp(5px,.8dvh,8px);overflow:visible}.improlab-app.focus-mode .current-chord-card{width:min(860px,100%);max-height:none;height:clamp(150px,21dvh,190px)!important;min-height:clamp(150px,21dvh,190px)!important}.improlab-app.focus-mode .loop-editor-card{width:min(920px,100%);max-height:none;height:clamp(182px,26dvh,238px)!important;min-height:clamp(182px,26dvh,238px)!important}.improlab-app.focus-mode .current-chord-layout{grid-template-columns:minmax(145px,1fr) minmax(260px,1.6fr) minmax(145px,1fr);height:100%;min-height:0;padding-top:clamp(35px,4.6dvh,42px);padding-bottom:clamp(4px,.8dvh,8px)}.improlab-app.focus-mode .chord-recording-panel{gap:clamp(3px,.6dvh,5px);padding:3px 8px}.improlab-app.focus-mode .current-chord-symbol{margin-top:clamp(2px,.7dvh,6px);font-size:clamp(54px,9.2dvh,96px)}.improlab-app.focus-mode .current-chord-symbol.long-symbol{font-size:clamp(44px,7.4dvh,76px)}.improlab-app.focus-mode .current-chord-symbol.harmonic-sequence-symbol{font-size:clamp(36px,7dvh,68px)}.improlab-app.focus-mode .current-bar-reading,.improlab-app.focus-mode .current-chord-degrees{min-height:14px;margin-top:clamp(3px,.65dvh,6px);font-size:clamp(10px,1.55dvh,14px)}.improlab-app.focus-mode .current-chord-layout>.metronome-control{gap:4px;padding-top:7px}.improlab-app.focus-mode .metronome-label{margin-top:2px}.improlab-app.focus-mode .session-actions-card.compact{gap:clamp(4px,.55dvh,6px);width:min(820px,100%);min-height:0;margin-top:0;padding:clamp(4px,.6dvh,6px) clamp(7px,1vw,10px)}.improlab-app.focus-mode .timer-label{margin-top:clamp(1px,.35dvh,3px);font-size:clamp(7px,1.05dvh,9px)}.improlab-app.focus-mode .timer-value{margin-top:0;font-size:clamp(30px,4.8dvh,42px)}.improlab-app.focus-mode .practice-controls{margin-top:clamp(2px,.4dvh,4px)}.improlab-app.focus-mode .practice-help-block{margin-top:0}.improlab-app.focus-mode .loop-editor-head{top:clamp(5px,.7dvh,7px)}.improlab-app.focus-mode .loop-waveform-editor{gap:clamp(2px,.4dvh,3px);padding-top:clamp(35px,4.8dvh,46px);padding-bottom:clamp(4px,.6dvh,6px)}.improlab-app.focus-mode .loop-waveform-track{height:clamp(62px,11dvh,96px);min-height:58px}.improlab-app.focus-mode .base-loop-controls.compact{gap:3px;width:100%}.improlab-app.focus-mode .base-loop-controls.compact .base-loop-controls-row{width:100%;max-width:560px}.improlab-app.focus-mode .base-loop-controls.compact .base-loop-button{flex:1 1 0;min-width:0;height:clamp(28px,4.3dvh,34px)}.improlab-app.focus-mode .base-loop-controls.compact .loop-space-help{font-size:clamp(6.3px,.95dvh,7.2px)!important}.improlab-app.focus-mode .floating-loop-transport{display:none!important}.improlab-app.focus-mode .progression-builder.live:not(.read-only):has(.live-row-block:nth-child(9))+.practice-main-card .current-chord-card{height:128px!important;min-height:128px!important}.improlab-app.focus-mode .progression-builder.live:not(.read-only):has(.live-row-block:nth-child(9))+.practice-main-card .loop-editor-card{height:158px!important;min-height:158px!important}.improlab-app.focus-mode .progression-builder.live:not(.read-only):has(.live-row-block:nth-child(9))+.practice-main-card .practice-help-block{display:none}.improlab-app.focus-mode .progression-builder.live:not(.read-only):has(.live-row-block:nth-child(13))+.practice-main-card .current-chord-card{height:106px!important;min-height:106px!important}.improlab-app.focus-mode .progression-builder.live:not(.read-only):has(.live-row-block:nth-child(13))+.practice-main-card .loop-editor-card{height:134px!important;min-height:134px!important}.improlab-app.focus-mode .progression-builder.live:not(.read-only):has(.live-row-block:nth-child(13))+.practice-main-card .timer-value{font-size:28px}@media (max-width:1450px){.improlab-app.focus-mode .current-chord-card{width:min(820px,100%)}.improlab-app.focus-mode .loop-editor-card{width:min(880px,100%)}.improlab-app.focus-mode .current-chord-layout{grid-template-columns:minmax(132px,1fr) minmax(230px,1.55fr) minmax(132px,1fr)}.improlab-app.focus-mode .session-actions-card.compact{width:min(790px,100%)}}@media (max-height:760px){.improlab-app.focus-mode .desktop-shell{padding-block:3px}.improlab-app.focus-mode .practice-column{gap:5px}.improlab-app.focus-mode .progression-builder.live:not(.read-only){min-height:68px;padding-block:5px}.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="1"],.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="2"],.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="3"],.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="4"]{--focus-chord-w:136px;--focus-chord-h:64px;--focus-side-slot:43px;--focus-font-size:12.4px;--focus-row-gap:8px;min-height:82px}.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="5"]{--focus-chord-w:142px;--focus-chord-h:46px;--focus-side-slot:39px;--focus-font-size:11.9px;--focus-row-gap:6px}.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="6"]{--focus-chord-w:137px;--focus-chord-h:42px;--focus-side-slot:38px;--focus-font-size:11.6px;--focus-row-gap:5.7px}.improlab-app.focus-mode .progression-builder.live:not(.read-only)[data-row-count="7"]{--focus-chord-w:132px;--focus-chord-h:38px;--focus-side-slot:37px;--focus-font-size:11.3px;--focus-row-gap:5.3px}.improlab-app.focus-mode .progression-builder.live:not(.read-only):has(.live-row-block:nth-child(9)){--focus-chord-w:116px;--focus-chord-h:27px;--focus-font-size:10px;--focus-row-gap:1px;padding-block:2px}.improlab-app.focus-mode .progression-builder.live:not(.read-only):has(.live-row-block:nth-child(13)){--focus-chord-w:108px;--focus-chord-h:24px;--focus-font-size:9.4px;--focus-row-gap:1px;padding-block:1px}.improlab-app.focus-mode .current-chord-card{height:136px!important;min-height:136px!important}.improlab-app.focus-mode .loop-editor-card{height:168px!important;min-height:168px!important}.improlab-app.focus-mode .current-chord-layout{padding-top:31px;padding-bottom:2px}.improlab-app.focus-mode .loop-waveform-editor{padding-top:32px;padding-bottom:3px}.improlab-app.focus-mode .loop-waveform-track{height:60px;min-height:56px}.improlab-app.focus-mode .session-actions-card.compact{gap:3px;padding-top:3px;padding-bottom:3px}.improlab-app.focus-mode .timer-value{font-size:30px}.improlab-app.focus-mode .essential-controls .control-button{min-height:29px}.improlab-app.focus-mode .practice-help-block{display:none}}.form-symbols-sidebar{flex:none;overflow:visible;padding:0!important}.form-symbols-palette-head{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;min-height:48px;padding:9px 11px 8px;display:flex}.form-symbols-palette-head>div{flex-direction:column;gap:3px;min-width:0;display:flex}.form-symbols-palette-head strong{letter-spacing:.08em;color:#e4edf5;font-size:10px;line-height:1}.form-symbols-palette-head span{color:#8193a4;white-space:nowrap;text-overflow:ellipsis;font-size:8px;line-height:1.2;overflow:hidden}.form-symbols-sidebar-toggle{color:#dce6f2;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:18px minmax(0,1fr) 17px;align-items:center;gap:8px;width:100%;min-height:58px;padding:0 10px;display:grid}.form-symbols-sidebar-toggle>svg:first-child{color:#4c98ff}.form-symbols-sidebar-toggle>svg:last-child{color:#71879e;transition:transform .14s}.form-symbols-sidebar.open .form-symbols-sidebar-toggle>svg:last-child{transform:rotate(180deg)}.form-symbols-sidebar-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.form-symbols-sidebar-copy strong{letter-spacing:.045em;color:#dce6f2;font-size:11px;line-height:1.1}.form-symbols-sidebar-copy small{color:#6f8195;white-space:nowrap;text-overflow:ellipsis;font-size:7.5px;overflow:hidden}.form-symbols-sidebar-body{scrollbar-gutter:stable;border-top:1px solid #ffffff0b;max-height:330px;padding:7px 8px 8px;overflow:hidden auto}.form-symbols-sidebar-body::-webkit-scrollbar{width:6px}.form-symbols-sidebar-body::-webkit-scrollbar-thumb{background:#28394c;border-radius:999px}.form-symbols-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.form-symbol-drag-tool{color:#cfdbe8;text-align:left;cursor:grab;-webkit-user-select:none;user-select:none;background:#0c151eb8;border:1px solid #273a4f;border-radius:8px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:4px;min-width:0;min-height:38px;padding:4px 5px;display:grid}.form-symbol-drag-tool:active{cursor:grabbing}.form-symbol-drag-tool:hover{background:#101d29;border-color:#3c5e80}.form-symbol-drag-tool:disabled{opacity:.38;cursor:not-allowed}.form-symbol-drag-tool>span:last-child{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:7.7px;font-weight:700;line-height:1.1;overflow:hidden}.form-symbol-drag-glyph{color:#78b4f3;text-align:center;font-family:Segoe UI Symbol,Noto Music,Bravura Text,serif;font-size:17px;line-height:1}.form-symbol-drag-glyph.text{letter-spacing:.01em;font-family:inherit;font-size:9px;font-weight:850}.form-symbol-repeat-chips{grid-template-columns:repeat(3,1fr);gap:4px;margin-top:5px;display:grid}.form-symbol-repeat-chip{color:#7fb8f4;cursor:grab;background:#0f1923;border:1px solid #2b4056;border-radius:6px;height:23px;font-size:8px;font-weight:850}.form-symbol-repeat-chip:active{cursor:grabbing}.form-symbol-repeat-chip:hover{color:#a8d1fb;border-color:#4777a5}.form-symbol-repeat-chip:disabled{opacity:.38;cursor:not-allowed}.live-chord-wrap{--progression-connector-space:14px;position:relative}.progression-connector-space{width:var(--progression-connector-space);min-width:var(--progression-connector-space);flex:0 0 var(--progression-connector-space);visibility:hidden;pointer-events:none;height:1px;display:block}.live-chord-card.form-marker-drop-target{border-color:#4f9ef1!important;box-shadow:0 0 0 1px #4f9ef138,0 0 14px #4f9ef11f!important}.live-chord-card.has-repeat-start{border-left:4px solid #78baff!important}.live-chord-card.has-repeat-end{border-right:4px solid #78baff!important}.live-chord-card.has-repeat-end .live-delete-chord{z-index:17;grid-column:auto;position:absolute;top:50%;left:-20px;right:auto;transform:translateY(-50%)}.form-repeat-edge-control{z-index:14;color:#78baff;cursor:pointer;pointer-events:auto;width:18px;margin:0;padding:0;position:absolute;top:0;bottom:0;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important}.form-repeat-edge-control.repeat-start{left:0}.form-repeat-edge-control.repeat-end{right:0}.form-repeat-edge-control:before{content:"";opacity:.95;background:currentColor;border-radius:999px;width:1.5px;position:absolute;top:5px;bottom:5px}.form-repeat-edge-control:after{content:"";background:currentColor;border-radius:50%;width:3.5px;height:3.5px;position:absolute;top:calc(50% - 5px);box-shadow:0 7px}.form-repeat-edge-control.repeat-start:before{left:5px}.form-repeat-edge-control.repeat-start:after{left:10px}.form-repeat-edge-control.repeat-end:before{right:5px}.form-repeat-edge-control.repeat-end:after{right:10px}.form-repeat-edge-control:hover,.form-repeat-edge-control.selected{color:#cce8ff;filter:drop-shadow(0 0 4px #56aaff6b)}.form-repeat-edge-control.is-readonly{cursor:default;pointer-events:none}.form-repeat-count-outside{z-index:16;top:50%;left:calc(100% - var(--progression-connector-space) - 3px);color:#7ebcff;white-space:nowrap;text-align:left;cursor:pointer;text-shadow:0 0 5px #4096ee33;min-width:20px;min-height:22px;padding:0 1px;font-size:13px;font-weight:850;line-height:1;position:absolute;transform:translateY(-50%);box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important}.form-repeat-count-outside.is-row-end{left:calc(100% + 4px)}.form-repeat-count-outside:hover,.form-repeat-count-outside.selected{color:#cce8ff;text-shadow:0 0 8px #56aaff73}.form-repeat-count-outside.is-readonly{cursor:default;pointer-events:none}.form-marker-zone{z-index:12;pointer-events:none;white-space:nowrap;align-items:center;gap:3px;display:flex;position:absolute}.form-marker-zone.zone-top-left{top:0;left:8px;transform:translateY(-46%)}.form-marker-zone.zone-top-right{align-items:flex-start;top:2px;right:5px;transform:none}.live-chord-card.has-repeat-start .form-marker-zone.zone-top-left{left:20px}.live-chord-card.has-repeat-end .form-marker-zone.zone-top-right{right:19px}.form-marker-badge{color:#7ebcff;white-space:nowrap;cursor:pointer;text-shadow:0 0 6px #4096ee38;pointer-events:auto;min-width:22px;min-height:22px;transform:translateX(var(--marker-drag-x,0px));justify-content:center;align-items:center;font-weight:800;line-height:1;display:inline-flex;position:relative;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important}.form-marker-zone.zone-top-right .form-marker-badge{justify-content:flex-end;align-items:flex-start;min-width:18px;min-height:17px}.form-marker-badge:hover,.form-marker-badge.selected{color:#cce8ff;text-shadow:0 0 8px #56aaff7a}.form-marker-badge.is-readonly{cursor:default;pointer-events:none}.form-marker-manual-layer{z-index:13;pointer-events:none;display:block;position:absolute;inset:0}.form-marker-badge.manual-x{pointer-events:auto;margin:0;position:absolute}.form-marker-badge.manual-x.zone-top-left{transform:translate(calc(-50% + var(--marker-drag-x,0px)),-46%);top:0}.form-marker-badge.manual-x.zone-top-right{min-width:18px;min-height:17px;transform:translateX(calc(-50% + var(--marker-drag-x,0px)));justify-content:flex-end;align-items:flex-start;top:2px}.form-marker-badge.marker-draggable{cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none}.form-marker-glyph.musical{font-family:Segoe UI Symbol,Noto Music,Bravura Text,serif;font-size:21px;font-weight:500;line-height:1}.form-marker-badge.type-segno .form-marker-glyph{font-size:21px}.form-marker-coda-symbol{box-sizing:border-box;border:1.8px solid;border-radius:50%;width:17px;height:17px;display:block;position:relative}.form-marker-coda-symbol:before,.form-marker-coda-symbol:after{content:"";background:currentColor;border-radius:999px;position:absolute}.form-marker-coda-symbol:before{height:1.8px;top:50%;left:-3px;right:-3px;transform:translateY(-50%)}.form-marker-coda-symbol:after{width:1.8px;top:-3px;bottom:-3px;left:50%;transform:translate(-50%)}.form-marker-ending-text{font-size:14px;font-weight:850;line-height:1}.form-marker-text{letter-spacing:.005em;font-family:inherit;font-size:9.5px;font-weight:800;line-height:1}.form-marker-popover{z-index:10000;white-space:nowrap;background:#0d1721;border:1px solid #304a63;border-radius:7px;align-items:center;gap:3px;padding:4px;display:flex;position:fixed;box-shadow:0 9px 24px #00000061,0 0 0 1px #3d76ad14}.form-marker-popover button{color:#9dbbd8;cursor:pointer;background:#111e29;border:1px solid #2c4257;border-radius:5px;height:22px;padding:0 6px;font-size:7.5px;font-weight:780}.form-marker-popover button:hover{color:#d2e8fb;border-color:#43688a}.form-marker-popover button.active{color:#e0f0ff;background:#2f7dff21;border-color:#4d8fd4}.form-marker-popover button.remove{color:#e7a0a0;background:#211317;border-color:#5d383d;min-width:22px;padding:0}.improlab-app.focus-mode .form-marker-zone,.improlab-app:not(.focus-mode) .form-marker-zone,.improlab-app.focus-mode .form-marker-manual-layer,.improlab-app:not(.focus-mode) .form-marker-manual-layer{z-index:14}.improlab-app.focus-mode .form-marker-badge.marker-draggable{pointer-events:auto;cursor:ew-resize}.improlab-app.focus-mode .form-marker-badge.marker-draggable,.improlab-app:not(.focus-mode) .form-marker-badge.marker-draggable{pointer-events:auto;cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform;transition:none!important}.improlab-app.focus-mode .form-marker-badge.marker-draggable:active,.improlab-app:not(.focus-mode) .form-marker-badge.marker-draggable:active{transform:translateX(var(--marker-drag-x,0px))!important}.improlab-app.focus-mode .form-marker-badge.manual-x.zone-top-left.marker-draggable:active,.improlab-app:not(.focus-mode) .form-marker-badge.manual-x.zone-top-left.marker-draggable:active{transform:translate(calc(-50% + var(--marker-drag-x,0px)),-46%)!important}.improlab-app.focus-mode .form-marker-badge.manual-x.zone-top-right.marker-draggable:active,.improlab-app:not(.focus-mode) .form-marker-badge.manual-x.zone-top-right.marker-draggable:active{transform:translateX(calc(-50% + var(--marker-drag-x,0px)))!important}.improlab-app.focus-mode .form-marker-badge:not(.marker-draggable),.improlab-app.focus-mode .form-repeat-count-outside,.improlab-app.focus-mode .form-repeat-edge-control{pointer-events:none;cursor:default}.improlab-app.focus-mode .practice-loop-mode-toggle{transform-origin:100% 0;transform:scale(.92)}@media (max-width:1366px){.form-symbols-sidebar-toggle{min-height:54px;padding-inline:9px}.form-symbols-sidebar-body{max-height:280px;padding:6px 7px 7px}.form-symbol-drag-tool{min-height:35px}.form-symbol-drag-glyph{font-size:15px}.form-symbol-drag-tool>span:last-child{font-size:7.2px}}.improlab-app:not(.focus-mode){--desk-left:286px;--desk-right:344px;--desk-gap:22px;--desk-radius:14px;--desk-btn-radius:10px;--desk-line:#4a535c;--desk-line-soft:#bec7cf3d;--desk-panel:#171d22;--desk-panel-raised:#20262b;--desk-bg:#070c10;--desk-text:#f3f2ef;--desk-muted:#a8adb2;--desk-muted-2:#777f87;--desk-green:#68a982;--desk-red:#c35f5a;--desk-shadow:0 12px 30px #0003,inset 0 1px 0 #ffffff0e;min-height:100dvh;color:var(--desk-text);background:radial-gradient(900px 560px at 16% 3%,#8e918e1f,#0000 58%),radial-gradient(900px 640px at 77% 20%,#434a501a,#0000 65%),linear-gradient(#11161a 0%,#090e12 23%,#070c10 100%);overflow-x:hidden}.improlab-app:not(.focus-mode):before{content:"";z-index:0;pointer-events:none;opacity:.18;mix-blend-mode:screen;background:radial-gradient(at 7% 2%,#ffffff1f,#0000 14%),repeating-linear-gradient(116deg,#ffffff03 0 1px,#0000 1px 10px);position:fixed;inset:0}.improlab-app:not(.focus-mode)>.app-header,.improlab-app:not(.focus-mode)>.desktop-shell{z-index:1;position:relative}.improlab-app:not(.focus-mode) .app-header{background:linear-gradient(#12171cf7,#080d11fa);border-bottom:1px solid #414a52;grid-template-columns:minmax(350px,1fr) auto minmax(190px,1fr);gap:18px;height:104px;padding:0 38px;box-shadow:0 8px 24px #0003,inset 0 -1px #ffffff06}.improlab-app:not(.focus-mode) .brand-logo{color:#e8ebed;filter:drop-shadow(0 2px 7px #ffffff14);width:44px;height:44px}.improlab-app:not(.focus-mode) .brand-copy strong{letter-spacing:-.035em;color:#f4f3f1;font-size:28px;font-weight:780;line-height:1}.improlab-app:not(.focus-mode) .brand-copy span{color:#a0a7ad;margin-top:6px;font-size:12px;line-height:1.2}.improlab-app:not(.focus-mode) .nav-button{color:#e8e7e4;background:linear-gradient(#171d22,#0f1418);border:1px solid #444e57;border-radius:11px;gap:9px;min-height:48px;padding:0 16px;font-size:13px;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;box-shadow:inset 0 1px #ffffff0a,0 6px 16px #0000001f}.improlab-app:not(.focus-mode) .nav-button-primary{color:#15191d;background:linear-gradient(#fbfbfa,#d9dde0);border-color:#eff1f2;box-shadow:inset 0 1px #fff,0 8px 20px #00000038}.improlab-app:not(.focus-mode) .nav-button:hover:not(:disabled){filter:brightness(1.05);border-color:#69727b}.improlab-app:not(.focus-mode) .nav-button:active:not(:disabled){transform:translateY(1px)}.improlab-app:not(.focus-mode) .language-toggle{color:#8f979e;background:#0b1015;border:1px solid #39424b;border-radius:999px;gap:7px;padding:7px 13px}.improlab-app:not(.focus-mode) .language-toggle button{color:#90979e;padding:2px 1px;font-size:12px}.improlab-app:not(.focus-mode) .language-toggle button.active{color:#f2f1ef}.improlab-app:not(.focus-mode) .desktop-shell{grid-template-columns:var(--desk-left) minmax(0,1fr) var(--desk-right);gap:var(--desk-gap);align-items:start;width:calc(100% - 48px);max-width:none;margin:20px auto 28px}.improlab-app:not(.focus-mode) .practice-column{gap:12px;min-width:0}.improlab-app:not(.focus-mode) .left-column,.improlab-app:not(.focus-mode) .right-column{min-width:0;top:124px}.improlab-app:not(.focus-mode) .left-column{flex-direction:column;gap:12px;scrollbar-gutter:auto!important;max-height:none!important;padding:0!important;display:flex!important;overflow:visible!important}.improlab-app:not(.focus-mode) .left-column::-webkit-scrollbar{display:none!important}.improlab-app:not(.focus-mode) .right-column{flex-direction:column!important;gap:10px!important;height:calc(100dvh - 144px)!important;max-height:calc(100dvh - 144px)!important;display:flex!important;overflow:hidden!important}.improlab-app:not(.focus-mode) .side-panel,.improlab-app:not(.focus-mode) .practice-title-bar,.improlab-app:not(.focus-mode) .progression-builder.live,.improlab-app:not(.focus-mode) .current-chord-card{border:1px solid var(--desk-line-soft);box-shadow:var(--desk-shadow);background:linear-gradient(145deg,#23292ffa,#13191efa 48%,#0c1217fc)}.improlab-app:not(.focus-mode) .recording-library-slot,.improlab-app:not(.focus-mode) .recording-library-slot>.media-libraries-stack,.improlab-app:not(.focus-mode) .recording-library-slot .media-library-panel,.improlab-app:not(.focus-mode) .left-column>.form-symbols-sidebar{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important}.improlab-app:not(.focus-mode) .media-libraries-stack{scrollbar-gutter:auto!important;gap:12px!important;padding:0!important;overflow:visible!important}.improlab-app:not(.focus-mode) .media-library-panel,.improlab-app:not(.focus-mode) .form-symbols-sidebar{background:linear-gradient(145deg,#252b30,#161c21 58%,#11171b)!important;border:1px solid #434c54!important;border-radius:14px!important;box-shadow:inset 0 1px #ffffff0d,0 10px 24px #0000001f!important}.improlab-app:not(.focus-mode) .media-library-panel.panel-collapsed,.improlab-app:not(.focus-mode) .form-symbols-sidebar:not(.open){height:78px!important;min-height:78px!important;max-height:78px!important;overflow:hidden!important}.improlab-app:not(.focus-mode) .media-library-heading,.improlab-app:not(.focus-mode) .media-library-heading .panel-section-toggle,.improlab-app:not(.focus-mode) .form-symbols-sidebar-toggle{box-sizing:border-box!important;height:76px!important;min-height:76px!important;max-height:76px!important}.improlab-app:not(.focus-mode) .media-library-heading{padding:0 14px!important}.improlab-app:not(.focus-mode) .media-library-heading .panel-section-toggle,.improlab-app:not(.focus-mode) .form-symbols-sidebar-toggle{width:100%;grid-template-columns:24px minmax(0,1fr) 18px!important;gap:11px!important;padding:0!important}.improlab-app:not(.focus-mode) .form-symbols-sidebar-toggle{padding:0 14px!important}.improlab-app:not(.focus-mode) .media-library-heading .panel-section-toggle>svg,.improlab-app:not(.focus-mode) .form-symbols-sidebar-toggle>svg:first-child{color:#e7eaec;width:18px;height:18px}.improlab-app:not(.focus-mode) .media-library-title-copy strong,.improlab-app:not(.focus-mode) .form-symbols-sidebar-copy strong{letter-spacing:.04em;color:#f2f1ef;font-size:13px;font-weight:780;line-height:1.05}.improlab-app:not(.focus-mode) .media-library-title-copy small,.improlab-app:not(.focus-mode) .form-symbols-sidebar-copy small{color:#afb3b6;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:9px;line-height:1.15;overflow:hidden}.improlab-app:not(.focus-mode) .media-library-heading .panel-section-toggle>svg:last-child,.improlab-app:not(.focus-mode) .form-symbols-sidebar-toggle>svg:last-child{color:#8a939a;width:14px;height:14px}.improlab-app:not(.focus-mode) .media-library-body,.improlab-app:not(.focus-mode) .form-symbols-sidebar-body{scrollbar-gutter:stable;overflow:hidden auto}.improlab-app:not(.focus-mode) .practice-title-bar{border-radius:14px;min-height:82px;padding:14px 18px}.improlab-app:not(.focus-mode) .practice-title-eyebrow{letter-spacing:.09em;color:#eef0f1;font-size:11px;font-weight:760;top:15px;left:18px}.improlab-app:not(.focus-mode) .practice-title-line h1{letter-spacing:-.025em;color:#f2f1ef;font-size:25px;font-weight:540;line-height:1}.improlab-app:not(.focus-mode) .practice-title-edit{color:#e3e5e6;background:#12181d;border-color:#515a63;border-radius:10px;width:42px;height:42px;left:calc(100% + 12px)}.improlab-app:not(.focus-mode) .title-loop-control{color:#f0efec;gap:14px;font-size:12px;right:20px}.improlab-app:not(.focus-mode) .switch{background:#8fa5b9;border-color:#6b7780;width:54px;height:30px;padding:3px}.improlab-app:not(.focus-mode) .switch span{background:#f6f6f5;width:22px;height:22px;box-shadow:0 1px 5px #0000004d}.improlab-app:not(.focus-mode) .switch.on{background:#98adc1;border-color:#a4b4c5}.improlab-app:not(.focus-mode) .switch.on span{transform:translate(24px)}.improlab-app:not(.focus-mode) .progression-builder.live:not(.read-only){border-radius:14px;min-height:208px;padding:16px 18px 15px;overflow:visible}.improlab-app:not(.focus-mode) .live-progression-head{gap:12px;margin-bottom:5px}.improlab-app:not(.focus-mode) .live-progression-head>.eyebrow{letter-spacing:0;color:#f0efed;font-size:14px;font-weight:720}.improlab-app:not(.focus-mode) .live-progression-hint{color:#b4b8bc;font-size:10px}.improlab-app:not(.focus-mode) .map-mode-toggle{min-width:124px;height:50px;box-shadow:inset 0 1px #ffffff14;color:#eef4f0!important;background:linear-gradient(#374b4261,#11191580)!important;border-color:#758f82!important;border-radius:14px!important}.improlab-app:not(.focus-mode) .map-mode-toggle>span{width:27px;height:27px;font-size:14px}.improlab-app:not(.focus-mode) .map-mode-toggle>small{color:inherit;font-size:11px}.improlab-app:not(.focus-mode) .progression-builder.live:not(.read-only) .live-rows{padding-top:2px}.improlab-app:not(.focus-mode) .progression-builder.live:not(.read-only) .live-row{min-height:64px}.improlab-app:not(.focus-mode) .live-row-balanced-group{max-width:100%}.improlab-app:not(.focus-mode) .live-row-balance,.improlab-app:not(.focus-mode) .live-row-actions{flex-basis:80px;width:80px}.improlab-app:not(.focus-mode) .live-row-actions{padding-left:24px}.improlab-app:not(.focus-mode) .live-row-music{gap:10px}.improlab-app:not(.focus-mode) .live-chord-wrap{gap:8px}.improlab-app:not(.focus-mode) .live-chord-card,.improlab-app:not(.focus-mode) .live-chord-card.editing{color:#f1f0ee;background:linear-gradient(#20272d,#141a1f);border-color:#59636c;border-radius:9px;flex-basis:164px;grid-template-columns:22px minmax(0,1fr) 20px;width:164px;min-width:164px;max-width:164px;height:56px}.improlab-app:not(.focus-mode) .live-chord-card.current{color:#fff;background:linear-gradient(#313940,#1e252a);border-color:#d8dde0;box-shadow:0 0 0 2px #f4f7f926,0 0 18px #dae1e529,inset 0 1px #ffffff17}.improlab-app:not(.focus-mode) .live-chord-card.blank{background:#0e131875;border-color:#4c555d}.improlab-app:not(.focus-mode) .live-chord-card input{color:#fff;height:54px;font-size:15px}.improlab-app:not(.focus-mode) .live-chord-symbol{color:inherit;font-size:15px;font-weight:760}.improlab-app:not(.focus-mode) .live-drag-handle{color:#c9ced2}.improlab-app:not(.focus-mode) .row-add-slot{color:#eff1f2;background:linear-gradient(#1d242a,#10161b);border-color:#59626b;border-radius:10px;width:52px;min-width:52px;height:52px;padding:0}.improlab-app:not(.focus-mode) .row-add-slot svg{width:23px;height:23px}.improlab-app:not(.focus-mode) .practice-main-card{background:0 0;border-radius:15px;min-height:486px;padding:6px 0 12px;overflow:visible}.improlab-app:not(.focus-mode) .current-chord-card{background:radial-gradient(440px 220px at 50% 52%,#ffffff0b,#0000 70%),linear-gradient(145deg,#252b30 0%,#1a2025 52%,#11171b 100%);border:1px solid #5f6870;border-radius:15px;width:100%;height:292px;min-height:292px;display:block;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff1,inset 0 -1px #00000047,0 14px 34px #0000002e}.improlab-app:not(.focus-mode) .current-chord-card:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(#ffffff07,#0000 22% 76%,#00000014);position:absolute;inset:0}.improlab-app:not(.focus-mode) .chord-card-topline{z-index:3;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:18px;left:26px;right:22px}.improlab-app:not(.focus-mode) .chord-card-topline>.eyebrow{letter-spacing:0;color:#f1f0ed;font-size:13px;font-weight:760}.improlab-app:not(.focus-mode) .current-chord-top-actions{pointer-events:auto;margin-left:auto}.improlab-app:not(.focus-mode) .practice-loop-mode-toggle{background:#11171c;border-color:#46515a;border-radius:10px;height:42px;overflow:hidden}.improlab-app:not(.focus-mode) .practice-loop-mode-toggle button{min-width:90px;height:34px;font-size:10px}.improlab-app:not(.focus-mode) .practice-loop-mode-toggle button.active{color:#f6f6f4;background:#203548}.improlab-app:not(.focus-mode) .current-chord-layout{z-index:1;box-sizing:border-box;grid-template-columns:minmax(220px,1fr) minmax(420px,1.62fr) minmax(220px,1fr);align-items:stretch;width:100%;height:100%;padding:58px 22px 20px;display:grid;position:relative}.improlab-app:not(.focus-mode) .chord-recording-panel{border-right:1px solid #444c53;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;min-height:0;padding:8px 20px;display:flex;overflow:visible}.improlab-app:not(.focus-mode) .chord-recording-title{letter-spacing:.13em;color:#f0efec;margin:0;font-size:12px;font-weight:780;line-height:1.1}.improlab-app:not(.focus-mode) .chord-recording-status-row{color:#acb0b3;gap:6px;min-height:16px;margin:0;font-size:9px}.improlab-app:not(.focus-mode) .recording-status-dot{width:8px;height:8px}.improlab-app:not(.focus-mode) .chord-recording-time{color:#f2f1ef;font-variant-numeric:tabular-nums;margin:0;font-size:27px;font-weight:730;line-height:1}.improlab-app:not(.focus-mode) .chord-recording-actions{flex-shrink:0;gap:8px;margin-top:2px;display:flex}.improlab-app:not(.focus-mode) .chord-record-button{background:linear-gradient(#1b2228,#11171c);border-color:#4a555e;border-radius:10px;width:46px;height:42px;box-shadow:inset 0 1px #ffffff09}.improlab-app:not(.focus-mode) .chord-record-button.record{color:#f2a39f;background:linear-gradient(#68272566,#2a1616c7);border-color:#a94d49;box-shadow:inset 0 1px #ffffff09,0 0 12px #b43d390f}.improlab-app:not(.focus-mode) .current-chord-center{flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:0;padding:4px 28px 0;display:flex;overflow:visible}.improlab-app:not(.focus-mode) .current-chord-symbol{white-space:nowrap;text-align:center;letter-spacing:-.065em;color:#f7f5f1;text-shadow:0 2px #ffffff1f,0 0 14px #ffffff1a,0 8px 20px #00000047;max-width:100%;margin:0;font-size:clamp(104px,8.2vw,144px);font-weight:760;line-height:.8}.improlab-app:not(.focus-mode) .current-chord-symbol.long-symbol{font-size:clamp(82px,6.5vw,118px)}.improlab-app:not(.focus-mode) .current-chord-symbol.harmonic-sequence-symbol{font-size:clamp(66px,5.5vw,94px)}.improlab-app:not(.focus-mode) .current-chord-degrees,.improlab-app:not(.focus-mode) .current-bar-reading{letter-spacing:.16em;color:#e3e3df;text-align:center;white-space:nowrap;min-height:22px;margin-top:19px;font-size:17px;line-height:1}.improlab-app:not(.focus-mode) .current-chord-layout>.metronome-control{border-left:1px solid #444c53;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100%;min-height:0;padding:8px 16px;display:flex;overflow:visible}.improlab-app:not(.focus-mode) .metronome-heading-row{flex-wrap:nowrap;justify-content:center;align-items:center;gap:14px;width:100%;margin:0;display:flex}.improlab-app:not(.focus-mode) .metronome-heading-row>strong{letter-spacing:.08em;color:#f0efec;font-size:12px}.improlab-app:not(.focus-mode) .metronome-sound-select{color:#e7e6e3;background:#151b20;border-color:#4a555e;border-radius:9px;min-width:110px;height:38px}.improlab-app:not(.focus-mode) .metronome-bpm-box{background:linear-gradient(#171d22,#0e1317);border-color:#4a555e;border-radius:10px;width:92px;height:64px;min-height:64px;box-shadow:inset 0 2px 6px #0000005c,inset 0 1px #ffffff09}.improlab-app:not(.focus-mode) .metronome-bpm-value{font-size:28px;line-height:.9}.improlab-app:not(.focus-mode) .metronome-controls-row{flex-shrink:0;gap:8px;display:flex}.improlab-app:not(.focus-mode) .metronome-controls-row button{background:linear-gradient(#1b2228,#11171c);border-color:#4a555e;border-radius:10px;width:46px;height:42px}.improlab-app:not(.focus-mode) .session-actions-card.session-control-console{grid-template-columns:minmax(240px,.92fr) minmax(450px,1.62fr) minmax(240px,.92fr);align-items:start;gap:20px;width:100%;min-height:142px;margin:14px 0 0;padding:0;box-shadow:none!important;background:0 0!important;border:0!important;display:grid!important}.improlab-app:not(.focus-mode) .session-console-left,.improlab-app:not(.focus-mode) .session-console-right{flex-direction:column;align-items:center;min-height:132px;display:flex}.improlab-app:not(.focus-mode) .session-console-left{justify-content:flex-start;gap:11px;padding-top:17px}.improlab-app:not(.focus-mode) .session-actions-card-count{white-space:nowrap;justify-content:center;align-items:baseline;gap:7px;width:100%;min-height:34px;margin:0;display:flex}.improlab-app:not(.focus-mode) .session-actions-card-count strong{font-variant-numeric:tabular-nums;color:#f0efec;text-align:right;min-width:2ch;font-size:27px;font-weight:730;line-height:1}.improlab-app:not(.focus-mode) .session-actions-card-count span{color:#c0c2c3;font-size:9px;font-weight:650;line-height:1.15}.improlab-app:not(.focus-mode) .session-secondary-card-actions{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;max-width:300px;margin:0 auto;display:grid}.improlab-app:not(.focus-mode) .session-secondary-card-button{color:#e8e7e4;background:linear-gradient(#1b2228,#11171c);border-color:#49545e;border-radius:9px;min-height:42px;font-size:9px;box-shadow:inset 0 1px #ffffff08}.improlab-app:not(.focus-mode) .session-secondary-card-button.discard{color:#eca09c;background:linear-gradient(#4b1d1c52,#211414a8);border-color:#9e4c49}.improlab-app:not(.focus-mode) .session-console-center{justify-content:center;align-items:flex-start;min-height:132px;padding-top:0;display:flex}.improlab-app:not(.focus-mode) .session-console-center .practice-controls-block{flex-direction:column;align-items:center;width:100%;display:flex}.improlab-app:not(.focus-mode) .session-console-center .timer-label{letter-spacing:.13em;color:#c5c6c4;min-height:16px;margin:0;font-size:10px;font-weight:760;line-height:16px}.improlab-app:not(.focus-mode) .session-console-center .timer-value{letter-spacing:-.04em;color:#f6f4f0;font-variant-numeric:tabular-nums;text-shadow:0 1px #ffffff1a,0 0 15px #ffffff0d,0 6px 16px #00000038;margin:5px 0 0;font-size:57px;font-weight:610;line-height:.94}.improlab-app:not(.focus-mode) .session-console-center .practice-controls{flex-wrap:nowrap;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:11px;display:flex}.improlab-app:not(.focus-mode) .session-console-center .control-button{background:linear-gradient(#151b20,#0e1317);border-color:#3f4a53;border-radius:9px;height:46px;min-height:46px;font-size:10px}.improlab-app:not(.focus-mode) .session-console-center .nav-only{width:62px;min-width:62px}.improlab-app:not(.focus-mode) .session-console-center .control-primary{color:#171b1e;background:linear-gradient(#fff 0%,#eef0f1 44%,#d7dade 100%);border-color:#f5f5f3;min-width:190px;box-shadow:inset 0 1px #fff,inset 0 -1px #616a7240,0 9px 22px #00000038}.improlab-app:not(.focus-mode) .session-console-center .pause-control{color:#9fa5aa;min-width:110px}.improlab-app:not(.focus-mode) .session-console-right{justify-content:flex-start;padding-top:38px}.improlab-app:not(.focus-mode) .session-save-card-button{color:#edf7f0;background:linear-gradient(#30715057,#0f312178);border-color:#5bab7ec7;border-radius:11px;width:min(250px,100%);min-height:58px;margin:0;font-size:10px;font-weight:720;box-shadow:inset 0 1px #ffffff14,0 7px 18px #00000026}.improlab-app:not(.focus-mode) .practice-help-block{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:100%;max-width:760px;margin:0 auto;padding-top:0;display:flex}.improlab-app:not(.focus-mode) .practice-help-block .shortcut-help,.improlab-app:not(.focus-mode) .practice-help-block .pedal-help{text-align:center;white-space:normal;justify-content:center;width:100%;margin:0;line-height:1.35}.improlab-app:not(.focus-mode) .practice-help-block .shortcut-help{color:#a7aaad;font-size:9px}.improlab-app:not(.focus-mode) .practice-help-block .pedal-help{color:#8b9197;font-size:9px}.improlab-app:not(.focus-mode) .right-column>.folder-enabled-practices,.improlab-app:not(.focus-mode) .right-column>.practices-panel{background:linear-gradient(145deg,#252b30,#161c21 58%,#11171b)!important;border-color:#434c54!important;border-radius:14px!important;flex:none!important;box-shadow:inset 0 1px #ffffff0d,0 10px 24px #0000001f!important}.improlab-app:not(.focus-mode) .right-column .history-panel.history-accordion-panel{scrollbar-gutter:auto!important;background:linear-gradient(145deg,#20262b,#151b20 58%,#10161a)!important;border-color:#434c54!important;border-radius:14px!important;flex:1 1 0!important;min-height:0!important;max-height:none!important;padding:9px!important;overflow:hidden auto!important}.improlab-app:not(.focus-mode) .right-column .history-panel.history-accordion-panel::-webkit-scrollbar{width:6px}.improlab-app:not(.focus-mode) .right-column .history-panel.history-accordion-panel::-webkit-scrollbar-thumb{background:#303940;border-radius:999px}.improlab-app:not(.focus-mode) .history-accordion-item{overflow:hidden;background:linear-gradient(#1c2329,#151b20)!important;border-color:#434c54!important;border-radius:11px!important;margin-bottom:8px!important}.improlab-app:not(.focus-mode) .history-accordion-item:last-child{margin-bottom:0!important}.improlab-app:not(.focus-mode) .history-accordion-trigger{color:#e9e8e5!important;min-height:56px!important;padding:0 14px!important}.improlab-app:not(.focus-mode) .history-accordion-trigger svg{color:#d9dde0!important}.improlab-app:not(.focus-mode) .history-accordion-trigger strong{font-size:9.4px!important;font-weight:730!important}.improlab-app:not(.focus-mode) button,.improlab-app:not(.focus-mode) select{transition:background .15s,border-color .15s,color .15s,box-shadow .15s,opacity .15s,transform .15s}.improlab-app:not(.focus-mode) button:not(:disabled){cursor:pointer}.improlab-app:not(.focus-mode) button:active:not(:disabled):not(.form-marker-badge):not(.form-repeat-edge-control):not(.form-repeat-count-outside){transform:translateY(1px)}.improlab-app:not(.focus-mode) button:focus-visible,.improlab-app:not(.focus-mode) select:focus-visible{outline-offset:2px;outline:2px solid #cddae575}.improlab-app:not(.focus-mode) button:disabled{opacity:.34}@media (max-width:1680px){.improlab-app:not(.focus-mode){--desk-left:270px;--desk-right:320px;--desk-gap:18px}.improlab-app:not(.focus-mode) .desktop-shell{width:calc(100% - 40px)}.improlab-app:not(.focus-mode) .current-chord-layout{grid-template-columns:minmax(195px,1fr) minmax(360px,1.58fr) minmax(195px,1fr);padding-inline:18px}.improlab-app:not(.focus-mode) .current-chord-symbol{font-size:clamp(100px,8.1vw,136px)}.improlab-app:not(.focus-mode) .session-actions-card.session-control-console{grid-template-columns:minmax(215px,.9fr) minmax(420px,1.58fr) minmax(215px,.9fr);gap:16px}.improlab-app:not(.focus-mode) .session-console-center .control-primary{min-width:175px}}@media (max-width:1450px){.improlab-app:not(.focus-mode){--desk-left:242px;--desk-right:292px;--desk-gap:15px}.improlab-app:not(.focus-mode) .app-header{grid-template-columns:minmax(300px,1fr) auto minmax(160px,1fr);height:90px;padding-inline:26px}.improlab-app:not(.focus-mode) .brand-logo{width:39px;height:39px}.improlab-app:not(.focus-mode) .brand-copy strong{font-size:25px}.improlab-app:not(.focus-mode) .desktop-shell{width:calc(100% - 30px);margin-top:16px}.improlab-app:not(.focus-mode) .left-column,.improlab-app:not(.focus-mode) .right-column{top:106px}.improlab-app:not(.focus-mode) .right-column{height:calc(100dvh - 122px)!important;max-height:calc(100dvh - 122px)!important}.improlab-app:not(.focus-mode) .practice-title-bar{min-height:76px}.improlab-app:not(.focus-mode) .progression-builder.live:not(.read-only){min-height:196px}.improlab-app:not(.focus-mode) .current-chord-card{height:280px;min-height:280px}.improlab-app:not(.focus-mode) .current-chord-layout{grid-template-columns:minmax(165px,1fr) minmax(315px,1.55fr) minmax(165px,1fr);padding:54px 14px 18px}.improlab-app:not(.focus-mode) .current-chord-symbol{font-size:clamp(88px,8vw,124px)}.improlab-app:not(.focus-mode) .current-chord-symbol.long-symbol{font-size:clamp(76px,6.4vw,104px)}.improlab-app:not(.focus-mode) .session-actions-card.session-control-console{grid-template-columns:minmax(185px,.9fr) minmax(380px,1.56fr) minmax(185px,.9fr);gap:13px}.improlab-app:not(.focus-mode) .session-secondary-card-actions{max-width:270px}.improlab-app:not(.focus-mode) .session-console-center .timer-value{font-size:52px}.improlab-app:not(.focus-mode) .session-console-center .nav-only{width:58px;min-width:58px}.improlab-app:not(.focus-mode) .session-console-center .control-primary{min-width:160px}.improlab-app:not(.focus-mode) .session-console-center .pause-control{min-width:96px}}@media (max-width:1366px){.improlab-app:not(.focus-mode){--desk-left:225px;--desk-right:270px;--desk-gap:12px}.improlab-app:not(.focus-mode) .desktop-shell{width:calc(100% - 24px)}.improlab-app:not(.focus-mode) .current-chord-card{height:276px;min-height:276px}.improlab-app:not(.focus-mode) .current-chord-layout{grid-template-columns:minmax(150px,1fr) minmax(290px,1.48fr) minmax(150px,1fr);padding-inline:10px}.improlab-app:not(.focus-mode) .chord-recording-panel,.improlab-app:not(.focus-mode) .current-chord-layout>.metronome-control{padding-inline:10px}.improlab-app:not(.focus-mode) .current-chord-symbol{font-size:clamp(84px,7.7vw,112px)}.improlab-app:not(.focus-mode) .session-actions-card.session-control-console{grid-template-columns:minmax(170px,.88fr) minmax(355px,1.52fr) minmax(170px,.88fr);gap:10px}.improlab-app:not(.focus-mode) .session-secondary-card-actions{gap:6px;max-width:250px}.improlab-app:not(.focus-mode) .session-console-center .control-button{height:44px;min-height:44px;padding-inline:8px}.improlab-app:not(.focus-mode) .session-console-center .control-primary{min-width:150px}.improlab-app:not(.focus-mode) .session-save-card-button{width:min(220px,100%)}}.improlab-app{--blue:#b8bec3;--blue-hover:#d0d4d7;--blue-bg:#bec5ca17;--blue-border:#c5cbd06b}.improlab-app:not(.focus-mode) .app-header{grid-template-columns:minmax(320px,1fr) auto minmax(170px,1fr);gap:16px;height:86px;padding:0 32px}.improlab-app:not(.focus-mode) .brand-wrap{gap:12px}.improlab-app:not(.focus-mode) .brand-logo{width:39px;height:39px}.improlab-app:not(.focus-mode) .brand-copy strong{font-size:25px}.improlab-app:not(.focus-mode) .brand-copy span{margin-top:5px;font-size:11px}.improlab-app:not(.focus-mode) .header-nav{gap:9px}.improlab-app:not(.focus-mode) .nav-button{border-radius:10px;gap:8px;min-height:42px;padding:0 14px;font-size:12px}.improlab-app:not(.focus-mode) .nav-button svg{width:18px;height:18px}.improlab-app:not(.focus-mode) .language-toggle{padding:6px 11px}.improlab-app:not(.focus-mode) .language-toggle button{font-size:11px}.improlab-app:not(.focus-mode) .desktop-shell{margin-top:16px}.improlab-app:not(.focus-mode) .left-column,.improlab-app:not(.focus-mode) .right-column{top:102px}.improlab-app:not(.focus-mode) .right-column{height:calc(100dvh - 118px)!important;max-height:calc(100dvh - 118px)!important}.improlab-app:not(.focus-mode) .media-libraries-stack,.improlab-app:not(.focus-mode) .recording-library-slot>.media-libraries-stack{max-height:calc(100dvh - 118px)}.improlab-app:not(.focus-mode) .panel-section-toggle>svg,.improlab-app:not(.focus-mode) .panel-section-chevron,.improlab-app:not(.focus-mode) .panel-section-chevron.open,.improlab-app:not(.focus-mode) .media-library-heading .panel-section-toggle>svg,.improlab-app:not(.focus-mode) .media-library-heading .panel-section-toggle>svg:last-child,.improlab-app:not(.focus-mode) .form-symbols-sidebar-toggle>svg:first-child,.improlab-app:not(.focus-mode) .form-symbols-sidebar-toggle>svg:last-child,.improlab-app:not(.focus-mode) .folder-chevron,.improlab-app:not(.focus-mode) .folder-chevron.open{color:#c9cdd0!important}.improlab-app:not(.focus-mode) .panel-add-button,.improlab-app:not(.focus-mode) .folder-add-button{color:#d9dcde!important;background:linear-gradient(#1c2328,#11171b)!important;border-color:#555f67!important;box-shadow:inset 0 1px #ffffff0a!important}.improlab-app:not(.focus-mode) .panel-add-button:hover,.improlab-app:not(.focus-mode) .folder-add-button:hover{color:#fff!important;background:linear-gradient(#252d33,#151b20)!important;border-color:#7a838a!important}.improlab-app:not(.focus-mode) .folder-plus-mark{color:#d8dcdf!important;text-shadow:none!important}.improlab-app:not(.focus-mode) .media-library-collapse-body.open{border-top-color:#dce1e51a!important;padding:10px 11px 12px!important}.improlab-app:not(.focus-mode) .media-browser-scroll{padding-right:4px}.improlab-app:not(.focus-mode) .media-browser-scroll::-webkit-scrollbar-thumb{background:#474f55!important}.improlab-app:not(.focus-mode) .practice-browser-scroll::-webkit-scrollbar-thumb{background:#474f55!important}.improlab-app:not(.focus-mode) .history-accordion-scroll::-webkit-scrollbar-thumb{background:#474f55!important}.improlab-app:not(.focus-mode) .media-organizer-item{background:linear-gradient(#191f24e0,#0f1519eb);border-color:#cdd3d814;min-height:44px}.improlab-app:not(.focus-mode) .media-organizer-item.nested{background:#12181d;border-color:#3c444b}.improlab-app:not(.focus-mode) .media-organizer-item:hover{background:#1b2227;border-color:#5b646b}.improlab-app:not(.focus-mode) .media-organizer-grip{color:#80878d;width:21px;min-height:32px}.improlab-app:not(.focus-mode) .media-inner-row.recording-row{min-height:42px}.improlab-app:not(.focus-mode) .media-inner-row.phrase-row{grid-template-columns:29px minmax(0,1fr) 27px 27px!important}.improlab-app:not(.focus-mode) .media-inner-row.saved-loop-row{grid-template-columns:29px minmax(0,1fr) 27px!important}.improlab-app:not(.focus-mode) .media-inner-row .recording-copy{gap:2px;padding:5px}.improlab-app:not(.focus-mode) .media-inner-row .recording-copy strong,.improlab-app:not(.focus-mode) .recording-copy strong,.improlab-app:not(.focus-mode) .recording-main-button strong{color:#eeefef!important;font-size:11px!important;font-weight:690!important;line-height:1.18!important}.improlab-app:not(.focus-mode) .media-inner-row .recording-copy small,.improlab-app:not(.focus-mode) .recording-copy small,.improlab-app:not(.focus-mode) .recording-main-button small{color:#9ea5aa!important;font-size:8.6px!important;line-height:1.22!important}.improlab-app:not(.focus-mode) .recording-play-button,.improlab-app:not(.focus-mode) .recording-icon-button:not(.danger){width:27px;height:31px;color:#cbd0d4!important}.improlab-app:not(.focus-mode) .recording-play-button:hover,.improlab-app:not(.focus-mode) .recording-icon-button:not(.danger):hover{color:#fff!important;background:#ffffff0e!important}.improlab-app:not(.focus-mode) .recording-row.playing,.improlab-app:not(.focus-mode) .recording-row.editing{background:#ffffff0b!important;border-color:#737c83!important}.improlab-app:not(.focus-mode) .recording-edit-input{color:#f1f1ef!important;background:#11171c!important;border-color:#69727a!important;height:28px!important;font-size:10.5px!important;box-shadow:0 0 0 2px #dce1e50d!important}.improlab-app:not(.focus-mode) .media-organizer-folder{background:#10161bc2!important;border-color:#444c53!important}.improlab-app:not(.focus-mode) .media-organizer-folder-toggle{height:36px;color:#e2e4e5!important}.improlab-app:not(.focus-mode) .media-organizer-folder-toggle>svg:first-child{color:#c5cacf!important}.improlab-app:not(.focus-mode) .media-organizer-folder-toggle strong{font-size:10.5px!important;font-weight:720!important}.improlab-app:not(.focus-mode) .media-organizer-folder-toggle small{color:#929aa0!important;font-size:8.5px!important}.improlab-app:not(.focus-mode) .practice-folder-create-row{grid-template-columns:minmax(0,1fr) 32px 32px;gap:6px}.improlab-app:not(.focus-mode) .practice-folder-create-row input{color:#f1f1ef;background:#11171c;border-color:#4a535a;height:34px;padding:0 10px;font-size:11px}.improlab-app:not(.focus-mode) .practice-folder-create-row input:focus{border-color:#777f85!important;box-shadow:0 0 0 2px #dce1e512!important}.improlab-app:not(.focus-mode) .practice-folder-create-row button{color:#c9ced2;background:#171e23;border-color:#4a535a;height:34px}.improlab-app:not(.focus-mode) .practice-folder-create-row button:hover:not(:disabled){color:#fff;border-color:#727a80}.improlab-app:not(.focus-mode) .media-root-dropzone span,.improlab-app:not(.focus-mode) .practice-root-dropzone span{color:#999fa4!important;background:#ffffff06!important;border-color:#505860!important}.improlab-app:not(.focus-mode) .media-root-dropzone span.active,.improlab-app:not(.focus-mode) .practice-root-dropzone span.active{color:#eef0f1!important;background:#fff1!important;border-color:#8d9499!important}.improlab-app:not(.focus-mode) .form-symbols-sidebar-body{border-top-color:#dce1e51a!important;padding:10px 11px 11px!important}.improlab-app:not(.focus-mode) .form-symbols-tool-grid{gap:7px}.improlab-app:not(.focus-mode) .form-symbol-drag-tool{color:#e5e7e8;background:linear-gradient(#1b2227,#11171b);border-color:#4a535b;border-radius:9px;grid-template-columns:26px minmax(0,1fr);gap:6px;min-height:45px;padding:6px 7px}.improlab-app:not(.focus-mode) .form-symbol-drag-tool:hover{background:linear-gradient(#252d32,#171d22);border-color:#70787f}.improlab-app:not(.focus-mode) .form-symbol-drag-tool>span:last-child{font-size:10px!important;font-weight:700!important;line-height:1.15!important}.improlab-app:not(.focus-mode) .form-symbol-drag-glyph{text-shadow:0 0 7px #ffffff0f;color:#f0f0ed!important;font-size:20px!important}.improlab-app:not(.focus-mode) .form-symbol-drag-glyph.text{color:#e6e7e7!important;font-size:10px!important}.improlab-app:not(.focus-mode) .form-symbol-repeat-chips{gap:6px;margin-top:7px}.improlab-app:not(.focus-mode) .form-symbol-repeat-chip{color:#e2e4e5;background:linear-gradient(#1b2227,#11171b);border-color:#4c555d;border-radius:7px;height:31px;font-size:10px;font-weight:800}.improlab-app:not(.focus-mode) .form-symbol-repeat-chip:hover{color:#fff;background:#20272c;border-color:#777f85}.improlab-app .form-marker-popover{background:#11171c;border-color:#555e65;box-shadow:0 9px 24px #00000061,0 0 0 1px #ffffff09}.improlab-app .form-marker-popover button{color:#c5cacf;background:#171e23;border-color:#495159;font-size:9px}.improlab-app .form-marker-popover button:hover{color:#fff;border-color:#70787e}.improlab-app .form-marker-popover button.active{color:#fff;background:#ffffff14;border-color:#858d93}.improlab-app:not(.focus-mode) .practice-list-item-shell{background:#151b20;border-color:#424b52;min-height:52px}.improlab-app:not(.focus-mode) .practice-list-item-shell:hover{background:#1b2227;border-color:#626b72}.improlab-app:not(.focus-mode) .practice-list-item-shell.active{background:#ffffff0e!important;border-color:#899096!important}.improlab-app:not(.focus-mode) .practice-list-item-shell.active .practice-list-dot{background:#d9dcde!important;box-shadow:0 0 8px #ffffff24!important}.improlab-app:not(.focus-mode) .practice-list-copy strong{color:#e8e9e9;font-size:11.5px!important;line-height:1.2!important}.improlab-app:not(.focus-mode) .practice-list-copy small{color:#92999f!important;font-size:9px!important;line-height:1.2!important}.improlab-app:not(.focus-mode) .practice-folder-toggle>span{font-size:11px!important}.improlab-app:not(.focus-mode) .practice-folder-toggle>small{color:#969da2!important;font-size:9px!important}.improlab-app:not(.focus-mode) .practice-folder-toggle>svg{color:#c6cbce!important}.improlab-app:not(.focus-mode) .practice-folder-icon-button{color:#aeb4b8!important}.improlab-app:not(.focus-mode) .practice-folder-empty{color:#949ba0!important;border-color:#4a5259!important;font-size:10px!important}.improlab-app:not(.focus-mode) .history-accordion-item.open{background:linear-gradient(#20272c,#171d22)!important;border-color:#636b72!important}.improlab-app:not(.focus-mode) .history-accordion-trigger:hover{background:#ffffff09!important}.improlab-app:not(.focus-mode) .history-accordion-title svg,.improlab-app:not(.focus-mode) .history-accordion-chevron,.improlab-app:not(.focus-mode) .history-accordion-chevron.open{color:#d1d5d8!important}.improlab-app:not(.focus-mode) .history-accordion-trigger strong{font-size:10.7px!important;line-height:1.22!important}.improlab-app:not(.focus-mode) .history-accordion-scroll{padding:8px 11px 12px}.improlab-app:not(.focus-mode) .history-accordion-scroll .empty-message{color:#9ca3a8!important;font-size:10px!important}.improlab-app:not(.focus-mode) .stat-row{min-height:32px;font-size:10.5px!important}.improlab-app:not(.focus-mode) .stat-row span{color:#b9bec2!important}.improlab-app:not(.focus-mode) .stat-row strong{color:#f0f0ed!important;font-size:12px!important}.improlab-app:not(.focus-mode) .stat-row strong.accent{color:#f0f0ed!important}.improlab-app:not(.focus-mode) .difficult-row{grid-template-columns:18px 62px 1fr 48px;font-size:10.5px!important}.improlab-app:not(.focus-mode) .difficult-row strong{font-size:11px!important}.improlab-app:not(.focus-mode) .chart-area{fill:#d2d8dc12!important}.improlab-app:not(.focus-mode) .chart-line{stroke:#c9ced2!important}.improlab-app:not(.focus-mode) .chart-dot{fill:#e5e7e8!important;stroke:#fafafa!important}.improlab-app:not(.focus-mode) .chart-axis-row{color:#8f979d!important;font-size:9px!important}.improlab-app:not(.focus-mode) .mini-metrics span{color:#959ca1!important;font-size:9px!important}.improlab-app:not(.focus-mode) .mini-metrics strong{font-size:13px!important}.improlab-app:not(.focus-mode) .eyebrow.blue,.improlab-app:not(.focus-mode) .current-bar-reading,.improlab-app:not(.focus-mode) .current-bar-reading *,.improlab-app:not(.focus-mode) .mini-state.running{color:#d5d8da!important}.improlab-app:not(.focus-mode) .mini-state.running{background:#ffffff0d!important;border-color:#686f75!important}.improlab-app:not(.focus-mode) .practice-loop-mode-toggle button.active{color:#fff!important;background:linear-gradient(#343b40,#20272c)!important;box-shadow:0 0 0 1px #ffffff14!important}.improlab-app:not(.focus-mode) .practice-loop-mode-toggle button:hover:not(:disabled){color:#fff!important;background:#ffffff0d!important}.improlab-app:not(.focus-mode) .map-mode-toggle.return-practice{color:#e7e9ea!important;background:linear-gradient(#242b30,#151b20)!important;border-color:#69727a!important}.improlab-app:not(.focus-mode) .metronome-bpm-box.metronome-bpm-drag-control:hover,.improlab-app:not(.focus-mode) .metronome-bpm-box.metronome-bpm-drag-control:focus-visible,.improlab-app:not(.focus-mode) .metronome-bpm-box.editing{background:linear-gradient(#20272c,#12181d)!important;border-color:#727a80!important;box-shadow:0 0 0 2px #dce1e50f!important}.improlab-app .loop-selection,.improlab-app .floating-loop-selection{background:#2f7dff0e!important;border:0!important}.improlab-app .loop-trim-handle,.improlab-app .floating-loop-handle{color:#e0e3e5!important}.improlab-app .loop-trim-handle:before,.improlab-app .floating-loop-handle:before{background:#f0f1f1!important;box-shadow:0 0 0 1px #e6eaed38,0 0 8px #ffffff14!important}.improlab-app .loop-trim-handle:after,.improlab-app .floating-loop-handle:after{background:#f4f5f4!important;border-color:#8f979d!important;box-shadow:0 1px 7px #00000047!important}.improlab-app .loop-trim-handle span,.improlab-app .floating-loop-handle span,.improlab-app .loop-loaded-name,.improlab-app .loop-playhead-time{color:#bfc4c8!important}.improlab-app .base-loop-button.play,.improlab-app .base-loop-button.save{color:#e0e3e5!important;background:linear-gradient(#1c2328,#11171b)!important;border-color:#596169!important}.improlab-app .floating-loop-waveform-bar,.improlab-app .floating-loop-bars>span{background:#bec5ca7a!important}.improlab-app.focus-mode .brand-logo{color:#e6e9eb!important;filter:drop-shadow(0 1px 6px #ffffff0f)!important}.improlab-app.focus-mode .focus-state.running,.improlab-app.focus-mode .focus-timer.running{text-shadow:0 0 12px #ffffff0f;color:#f0f1f1!important}.improlab-app.focus-mode .focus-mini-controls button.primary{color:#171b1e!important;background:linear-gradient(#f4f4f2,#d8dcdf)!important;border-color:#eef0f1!important;box-shadow:inset 0 1px #fff,0 7px 16px #0003!important}.improlab-app.focus-mode .progression-builder.live:not(.read-only) .live-chord-card.current{color:#fff!important;background:linear-gradient(#313940,#1e252a)!important;border-color:#d8dde0!important;box-shadow:0 0 0 2px #f4f7f921,0 0 16px #dae1e51c!important}.improlab-app.focus-mode .progression-builder.live:not(.read-only) .live-chord-card.blank{background:#ffffff06!important;border-color:#59626a!important}.improlab-app.focus-mode .progression-builder.live:not(.read-only) .live-chord-card.blank:hover{background:#ffffff0d!important;border-color:#838b91!important}.improlab-app.focus-mode .row-add-slot{color:#e8eaeb!important;background:#141a1f!important;border-color:#59626a!important}.improlab-app.focus-mode .live-drag-handle,.improlab-app.focus-mode .panel-section-toggle>svg,.improlab-app.focus-mode .panel-section-chevron,.improlab-app.focus-mode .form-symbols-sidebar-toggle>svg{color:#c9ced1!important}.improlab-app.focus-mode button:focus-visible,.improlab-app.focus-mode select:focus-visible,.improlab-app.focus-mode input:focus-visible{outline-offset:2px;outline:2px solid #d2d8dc80!important}.improlab-app .switch.on{background:#89959f!important;border-color:#aab2b8!important}.improlab-app .switch.on span{background:#fafafa!important}.improlab-app .language-toggle button.active{color:#f2f2ef!important}@media (max-width:1450px){.improlab-app:not(.focus-mode) .app-header{grid-template-columns:minmax(275px,1fr) auto minmax(140px,1fr);height:80px;padding-inline:22px}.improlab-app:not(.focus-mode) .brand-logo{width:36px;height:36px}.improlab-app:not(.focus-mode) .brand-copy strong{font-size:23px}.improlab-app:not(.focus-mode) .brand-copy span{margin-top:4px;font-size:10px}.improlab-app:not(.focus-mode) .nav-button{min-height:40px;padding-inline:12px;font-size:11.5px}.improlab-app:not(.focus-mode) .left-column,.improlab-app:not(.focus-mode) .right-column{top:96px}.improlab-app:not(.focus-mode) .right-column{height:calc(100dvh - 110px)!important;max-height:calc(100dvh - 110px)!important}.improlab-app:not(.focus-mode) .media-libraries-stack,.improlab-app:not(.focus-mode) .recording-library-slot>.media-libraries-stack{max-height:calc(100dvh - 110px)}}.improlab-app .recording-folder.drop-target{background:#ffffff0b!important;border-color:#777f86!important;box-shadow:0 0 0 1px #ffffff0d!important}.improlab-app .practice-list-item-shell.drag-over,.improlab-app .practice-list-item-shell.drag-over-before{border-color:#899097!important;box-shadow:0 -2px #dce1e5b8,0 0 0 1px #dce1e514!important}.improlab-app .practice-list-item-shell.drag-over-after{border-color:#899097!important;box-shadow:0 2px #dce1e5b8,0 0 0 1px #dce1e514!important}.improlab-app .media-organizer-item.drag-over-before:before,.improlab-app .media-organizer-item.folder-reorder-before:before,.improlab-app .media-organizer-folder.folder-reorder-before:before,.improlab-app .practice-folder.folder-reorder-before:before,.improlab-app .practice-list-item-shell.folder-reorder-before:before,.improlab-app .media-organizer-item.drag-over-after:after,.improlab-app .media-organizer-item.folder-reorder-after:after,.improlab-app .media-organizer-folder.folder-reorder-after:after,.improlab-app .practice-folder.folder-reorder-after:after,.improlab-app .practice-list-item-shell.folder-reorder-after:after{background:#cfd4d7!important;box-shadow:0 0 8px #ffffff1c!important}.improlab-app .progression-row.active{background:linear-gradient(90deg,#ffffff14,#ffffff06)!important;box-shadow:inset 3px 0 #c9ced2!important}.improlab-app .progression-row.active .progression-index{color:#f0f1f1!important;background:#ffffff1a!important}.improlab-app .progression-pill.current{background:#ffffff12!important;border-color:#aab1b6!important;box-shadow:0 0 0 1px #ffffff12,0 0 14px #ffffff0d!important}.improlab-app .note-card.root{background:#ffffff0e!important;border-color:#cdd3d861!important}.improlab-app .note-card.root strong,.improlab-app .note-card.root span{color:#e6e8e9!important}.improlab-app .state-badge.running{color:#e1e4e6!important;background:#ffffff0e!important;border-color:#747c83!important}.improlab-app .timer-value.running{color:#f5f5f2!important;text-shadow:0 0 12px #ffffff0e!important}.improlab-app .button-primary{color:#171b1e!important;background:linear-gradient(#f4f4f2,#d8dcdf)!important;border-color:#eef0f1!important;box-shadow:inset 0 1px #fff,0 7px 16px #0003!important}.improlab-app:not(.focus-mode) .left-column>.form-symbols-static-palette{background:linear-gradient(145deg,#252b30,#161c21 58%,#11171b)!important;border:1px solid #434c54!important;border-radius:14px!important;padding:10px!important;overflow:visible!important;box-shadow:inset 0 1px #ffffff0d,0 10px 24px #0000001f!important}.improlab-app:not(.focus-mode) .form-symbols-static-palette .form-symbols-static-body{scrollbar-width:none;border-top:0!important;max-height:none!important;padding:0!important;overflow:visible!important}.improlab-app:not(.focus-mode) .form-symbols-static-palette .form-symbols-static-body::-webkit-scrollbar{display:none}.improlab-app:not(.focus-mode) .form-symbols-static-palette .form-symbols-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important}.improlab-app:not(.focus-mode) .form-symbols-static-palette .form-symbol-drag-tool{color:#f0f1ef!important;background:linear-gradient(#232a2f,#151b1f)!important;border:1px solid #4d555d!important;border-radius:10px!important;grid-template-columns:34px minmax(0,1fr)!important;gap:7px!important;min-height:52px!important;padding:8px 9px!important;box-shadow:inset 0 1px #ffffff0b,0 6px 14px #00000024!important}.improlab-app:not(.focus-mode) .form-symbols-static-palette .form-symbol-drag-tool:hover{background:linear-gradient(#2b3237,#1a2024)!important;border-color:#7b8288!important}.improlab-app:not(.focus-mode) .form-symbols-static-palette .form-symbol-drag-glyph{color:#f1f1ed!important;text-shadow:0 0 10px #ffffff0d!important;font-size:24px!important}.improlab-app:not(.focus-mode) .form-symbols-static-palette .form-symbol-drag-glyph.text{letter-spacing:.01em!important;font-size:13px!important;font-weight:850!important}.improlab-app:not(.focus-mode) .form-symbols-static-palette .form-symbol-drag-tool>span:last-child{color:#eceeea!important;white-space:normal!important;font-size:13px!important;font-weight:740!important;line-height:1.1!important}.improlab-app:not(.focus-mode) .form-symbols-static-palette .form-symbol-repeat-chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px!important;margin-top:9px!important}.improlab-app:not(.focus-mode) .form-symbols-static-palette .form-symbol-repeat-chip{color:#efefeb!important;background:linear-gradient(#232a2f,#151b1f)!important;border:1px solid #4d555d!important;border-radius:10px!important;height:36px!important;font-size:13px!important;font-weight:780!important;box-shadow:inset 0 1px #ffffff0b,0 6px 14px #0000001f!important}.improlab-app:not(.focus-mode) .form-symbols-static-palette .form-symbol-repeat-chip:hover{background:linear-gradient(#2b3237,#1a2024)!important;border-color:#7b8288!important}.improlab-app .brand-logo,.improlab-app .panel-heading svg,.improlab-app .subheading svg,.improlab-app .media-library-heading .panel-section-toggle>svg,.improlab-app .media-library-heading .panel-section-toggle>svg:last-child,.improlab-app .practice-folder-toggle>svg,.improlab-app .practice-folder-icon-button,.improlab-app .compact-action svg,.improlab-app .eyebrow.blue,.improlab-app .map-mode-toggle svg,.improlab-app .focus-loop-control span,.improlab-app .focus-header-center span{color:#d7dbde!important}.improlab-app .nav-button-primary,.improlab-app .control-primary,.improlab-app .focus-mini-controls button.primary{color:#171b1e!important;background:linear-gradient(#f4f4f2 0%,#e8ebee 46%,#d8dde1 100%)!important;border-color:#f2f3f2!important;box-shadow:inset 0 1px #fff,inset 0 -1px #616a7238,0 8px 20px #0000002e!important}.improlab-app .nav-button-primary:hover:not(:disabled),.improlab-app .control-primary:hover:not(:disabled),.improlab-app .focus-mini-controls button.primary:hover:not(:disabled){background:linear-gradient(#fbfbfa 0%,#eef1f3 48%,#dde1e4 100%)!important}.improlab-app .progression-pill.current,.improlab-app .live-chord-card.current,.improlab-app .current-chord-card,.improlab-app .current-chord-card.state-running,.improlab-app .practice-main-card,.improlab-app .focus-mode .current-chord-card,.improlab-app .focus-mode .practice-main-card{background:radial-gradient(circle at 50% 28%,#ffffff09,#0000 44%),linear-gradient(#242b31eb,#12181df0)!important;border-color:#dbe0e33d!important;box-shadow:inset 0 1px #ffffff09,0 0 0 1px #ffffff0a,0 18px 36px #00000029!important}.improlab-app .progression-pill.current,.improlab-app .live-chord-card.current{color:#fff!important}.improlab-app .current-chord-symbol,.improlab-app .timer-value.running,.improlab-app .focus-timer.running,.improlab-app .focus-state.running{color:#f4f5f3!important;text-shadow:0 0 12px #ffffff0f!important}.improlab-app .row-add-slot,.improlab-app .practice-list-item-shell.active,.improlab-app .practice-list-item-shell.active .practice-list-dot,.improlab-app .mini-state.running,.improlab-app .state-badge.running,.improlab-app .map-mode-toggle.return-practice,.improlab-app .live-chord-card.drag-over,.improlab-app .builder-card.drag-over,.improlab-app .practice-loop-mode-toggle button.active{color:#eff0ed!important;background:#ffffff0e!important;border-color:#8b9399!important;box-shadow:0 0 0 1px #ffffff0d!important}.improlab-app .row-add-slot:hover:not(:disabled),.improlab-app .practice-loop-mode-toggle button:hover:not(:disabled),.improlab-app .map-mode-toggle.return-practice:hover:not(:disabled){color:#fff!important;background:#ffffff14!important;border-color:#a2a8ad!important}.improlab-app.focus-mode .focus-header{background:#080e15f0!important;border-bottom-color:#ffffff12!important}.improlab-app.focus-mode .focus-header>button,.improlab-app.focus-mode .focus-mini-controls button,.improlab-app.focus-mode .control-button,.improlab-app.focus-mode .compact-action,.improlab-app.focus-mode .nav-only,.improlab-app.focus-mode .pause-control{color:#ebedeb!important;background:linear-gradient(#232a2f,#151b1f)!important;border-color:#465059!important}.improlab-app.focus-mode .focus-header>button:hover:not(:disabled),.improlab-app.focus-mode .focus-mini-controls button:hover:not(:disabled),.improlab-app.focus-mode .control-button:hover:not(:disabled){background:linear-gradient(#2b3237,#1a2024)!important;border-color:#70787f!important}.improlab-app.focus-mode .switch.on{background:#8e969d!important;border-color:#aab1b6!important}.improlab-app.focus-mode .live-drag-handle,.improlab-app.focus-mode .panel-section-toggle>svg,.improlab-app.focus-mode .panel-section-chevron,.improlab-app.focus-mode .focus-next,.improlab-app.focus-mode .focus-help,.improlab-app.focus-mode .shortcut-help,.improlab-app.focus-mode .pedal-help{color:#b9c0c5!important}.improlab-app:not(.focus-mode) .left-column>.form-symbols-static-palette{box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important}.improlab-app:not(.focus-mode) .form-symbols-static-palette .form-symbols-static-body{box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important}.improlab-app:not(.focus-mode) .form-symbols-static-palette .form-symbols-tool-grid,.improlab-app:not(.focus-mode) .form-symbols-static-palette .form-symbol-repeat-chips{background:0 0!important}.improlab-app .practice-main-card,.improlab-app.focus-mode .practice-main-card,.improlab-app:not(.focus-mode) .practice-main-card{box-shadow:none!important;background:0 0!important;border:0!important;outline:0!important}.improlab-app:not(.focus-mode) .practice-main-card{border-radius:0!important;gap:14px!important;min-height:auto!important;padding:8px 0 4px!important}.improlab-app.focus-mode .practice-main-card{border-radius:0!important;gap:12px!important;padding:12px 0 0!important}.improlab-app:not(.focus-mode) .current-chord-card{margin:0 auto}.improlab-app:not(.focus-mode) .session-actions-card.session-control-console{margin-top:12px!important}.improlab-app:not(.focus-mode) .practice-help-block{margin-top:2px!important}.improlab-app{background:0 0!important}.improlab-app:not(.focus-mode) .app-header{-webkit-backdrop-filter:blur(10px)saturate(82%);background:linear-gradient(#080c10db,#070b0fd1)!important}.improlab-app.focus-mode .focus-header{-webkit-backdrop-filter:blur(10px)saturate(82%);background:linear-gradient(#080c10e0,#070b0fd6)!important}@media (max-width:1450px){body{background-position:0 0,0 0;background-size:auto 100vh,auto 100vh}}.improlab-app:not(.focus-mode) .app-header,.improlab-app.focus-mode .focus-header{-webkit-backdrop-filter:none!important;background-color:#0b1014!important;background-image:radial-gradient(at 16% -60%,#ffffff1b 0%,#ffffff09 24%,#0000 48%),linear-gradient(112deg,#0000 0%,#ffffff05 18%,#0000 34%,#ffffff03 52%,#0000 70%),linear-gradient(#171d22 0%,#11171c 42%,#0b1014 78%,#080c10 100%)!important;background-position:50%!important;background-repeat:no-repeat!important;background-size:100% 100%!important;background-attachment:scroll!important;border-bottom-color:#cad0d438!important;box-shadow:inset 0 1px #ffffff18,inset 0 -1px #000000c7,inset 0 -12px 28px #00000024,0 8px 24px #00000047!important}.improlab-app:not(.focus-mode) .app-header .nav-button:not(.nav-button-primary),.improlab-app:not(.focus-mode) .app-header .language-toggle,.improlab-app.focus-mode .focus-header>button{background:linear-gradient(#20272d 0%,#171d22 50%,#10161b 100%)!important;border-color:#4a555e!important;box-shadow:inset 0 1px #ffffff12,inset 0 -1px #0000008c,0 4px 11px #0000002e!important}@media (min-width:1100px){.improlab-app:not(.focus-mode) .current-chord-card{height:clamp(184px,23dvh,204px)!important;min-height:clamp(184px,23dvh,204px)!important}.improlab-app:not(.focus-mode) .chord-card-topline{top:11px;left:24px;right:18px}.improlab-app:not(.focus-mode) .chord-card-topline>.eyebrow{font-size:11px}.improlab-app:not(.focus-mode) .practice-loop-mode-toggle{height:34px}.improlab-app:not(.focus-mode) .practice-loop-mode-toggle button{min-width:82px;height:28px;font-size:9px}.improlab-app:not(.focus-mode) .current-chord-layout{padding:42px 18px 10px!important}.improlab-app:not(.focus-mode) .chord-recording-panel{gap:4px;padding:3px 16px}.improlab-app:not(.focus-mode) .chord-recording-title{font-size:10px}.improlab-app:not(.focus-mode) .chord-recording-status-row{gap:5px;min-height:12px;font-size:8px}.improlab-app:not(.focus-mode) .recording-status-dot{width:6px;height:6px}.improlab-app:not(.focus-mode) .chord-recording-time{font-size:22px}.improlab-app:not(.focus-mode) .chord-recording-actions{gap:6px;margin-top:1px}.improlab-app:not(.focus-mode) .chord-record-button{border-radius:9px;width:38px;height:34px}.improlab-app:not(.focus-mode) .current-chord-center{padding:0 22px}.improlab-app:not(.focus-mode) .current-chord-symbol{line-height:.82;font-size:clamp(72px,5.2vw,94px)!important}.improlab-app:not(.focus-mode) .current-chord-symbol.long-symbol{font-size:clamp(62px,4.5vw,82px)!important}.improlab-app:not(.focus-mode) .current-chord-symbol.harmonic-sequence-symbol{font-size:clamp(54px,4vw,72px)!important}.improlab-app:not(.focus-mode) .current-chord-degrees,.improlab-app:not(.focus-mode) .current-bar-reading{min-height:16px;margin-top:8px;font-size:13px}.improlab-app:not(.focus-mode) .current-chord-layout>.metronome-control{gap:6px;padding:3px 14px}.improlab-app:not(.focus-mode) .metronome-heading-row{gap:10px}.improlab-app:not(.focus-mode) .metronome-heading-row>strong{font-size:10px}.improlab-app:not(.focus-mode) .metronome-sound-select{border-radius:8px;min-width:102px;height:30px;font-size:9px}.improlab-app:not(.focus-mode) .metronome-bpm-box{border-radius:9px;width:80px;height:48px;min-height:48px}.improlab-app:not(.focus-mode) .metronome-bpm-value{font-size:23px}.improlab-app:not(.focus-mode) .metronome-controls-row{gap:6px}.improlab-app:not(.focus-mode) .metronome-controls-row button{border-radius:9px;width:38px;height:34px}}.mobile-global-add,.mobile-chord-index,.mobile-symbols-handle,.mobile-symbols-drawer,.mobile-overlay-backdrop,.mobile-analysis-anchor,.mobile-progression-hint-text{display:none}@media (max-width:699px),(max-width:767px) and (pointer:coarse){html,body{max-width:100%;overflow-x:hidden}html{-webkit-text-size-adjust:100%}body{overscroll-behavior-y:auto;background-attachment:scroll,scroll;width:100%;background-color:#030609!important;background-image:linear-gradient(#010305a8 0%,#010305ba 54%,#010305d1 100%),url(/backgrounds/improlab-premium-bg.webp)!important;background-position:top,top!important;background-repeat:no-repeat,no-repeat!important;background-size:cover,cover!important;min-width:0!important}.improlab-app:not(.focus-mode){--mobile-gutter:clamp(22px,6.5vw,28px);--mobile-gap:5px;--mobile-radius:12px;--mobile-panel-top:#0c1014;--mobile-panel-bottom:#070b0f;--mobile-panel-border:#61707c75;--mobile-control:#090d12;--mobile-control-border:#2e3b46;--mobile-blue:#147dff;--mobile-blue-bright:#67c4ff;--mobile-blue-deep:#0c69e8;--mobile-green:#2edb91;--mobile-red:#ff626c;width:100%;min-height:100dvh;padding:0 0 calc(74px + env(safe-area-inset-bottom,0px));overflow-x:hidden}.improlab-app:not(.focus-mode),.improlab-app:not(.focus-mode) *{box-sizing:border-box}.improlab-app:not(.focus-mode) .app-header{z-index:20;grid-template-areas:"brand language""nav nav";width:100%;height:auto!important;min-height:0!important;padding:13px var(--mobile-gutter) 6px!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;border:0!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;display:grid!important;position:relative!important;top:auto!important}.improlab-app:not(.focus-mode) .brand-wrap{text-align:left;grid-area:brand;gap:10px;min-width:0}.improlab-app:not(.focus-mode) .brand-logo{filter:drop-shadow(0 0 9px #147dff38);flex:0 0 36px;width:36px;height:36px}.improlab-app:not(.focus-mode) .brand-logo rect:nth-child(odd){fill:#69c2ff!important;opacity:1!important}.improlab-app:not(.focus-mode) .brand-logo rect:nth-child(2n){fill:#f7fbff!important;opacity:1!important}.improlab-app:not(.focus-mode) .brand-copy{min-width:0;line-height:1.08}.improlab-app:not(.focus-mode) .brand-copy strong{letter-spacing:-.035em;white-space:nowrap;font-size:25px;font-weight:790;line-height:1}.improlab-app:not(.focus-mode) .brand-copy>.brand-tagline{white-space:pre-line;text-overflow:clip;color:#91a3b4;max-width:246px;margin-top:5px;font-size:9.7px;line-height:1.13;display:block;overflow:visible}.improlab-app:not(.focus-mode) .header-actions{grid-area:language;justify-self:end}.improlab-app:not(.focus-mode) .language-toggle{border-radius:10px;gap:7px;height:36px;padding:0 9px;font-size:11px;box-shadow:inset 0 1px #ffffff05;background:linear-gradient(#10181f,#0a1117)!important;border-color:#384b5a!important}.improlab-app:not(.focus-mode) .language-toggle button{padding:4px 2px;font-size:11px}.improlab-app:not(.focus-mode) .header-nav{grid-area:nav;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:8px;width:100%;display:grid}.improlab-app:not(.focus-mode) .header-nav .nav-button{white-space:nowrap;border-radius:10px;justify-content:center;gap:8px;width:100%;min-width:0;height:38px;min-height:38px;padding:0 9px;font-size:12.5px;overflow:hidden}.improlab-app:not(.focus-mode) .header-nav .nav-button:nth-child(3){display:none!important}.improlab-app:not(.focus-mode) .header-nav .nav-button svg{flex:none;width:17px;height:17px}.improlab-app:not(.focus-mode) .header-nav .nav-button span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.improlab-app:not(.focus-mode) .desktop-shell{width:auto!important;max-width:none!important;margin:0 var(--mobile-gutter)!important;padding:0!important;display:block!important}.improlab-app:not(.focus-mode) .practice-column{align-items:start;width:100%;min-width:0;gap:var(--mobile-gap)!important;display:grid!important}.improlab-app:not(.focus-mode) .practice-title-bar,.improlab-app:not(.focus-mode) .progression-builder.live:not(.read-only),.improlab-app:not(.focus-mode) .current-chord-card,.improlab-app:not(.focus-mode) .session-console-center .practice-controls-block,.improlab-app:not(.focus-mode) .session-console-left{background:radial-gradient(140% 120% at 50% -18%,#ffffff08 0%,#ffffff03 18%,#fff0 52%), linear-gradient(180deg,var(--mobile-panel-top) 0%,var(--mobile-panel-bottom) 100%)!important;border:1px solid var(--mobile-panel-border)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:inset 0 1px #ffffff06,0 6px 18px #00000057!important}.improlab-app:not(.focus-mode) .practice-title-bar{grid-template-rows:auto minmax(28px,auto);grid-template-columns:minmax(0,1fr) 90px;align-items:center;gap:1px 5px;width:100%;min-width:0;position:relative;overflow:hidden;border-radius:var(--mobile-radius)!important;height:auto!important;min-height:56px!important;padding:5px 9px!important;display:grid!important}.improlab-app:not(.focus-mode) .practice-title-eyebrow{grid-area:1/1;align-self:end;min-width:0;line-height:1.05;letter-spacing:.045em!important;color:#bdd0e2!important;font-size:10.5px!important;position:static!important}.improlab-app:not(.focus-mode) .practice-title-center{grid-area:2/1;justify-self:stretch;min-width:0;max-width:none!important;position:static!important;inset:auto!important;transform:none!important}.improlab-app:not(.focus-mode) .practice-title-line{align-items:center;gap:5px;min-width:0;display:flex!important}.improlab-app:not(.focus-mode) .practice-title-line h1{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden;text-align:left!important;max-width:100%!important;font-size:20px!important;font-weight:700!important;line-height:1!important}.improlab-app:not(.focus-mode) .practice-title-edit{flex:0 0 26px;color:#67c4ff!important;background:#147dff11!important;border-color:#4daaeb94!important;border-radius:8px!important;width:26px!important;height:26px!important;position:static!important;inset:auto!important;transform:none!important;box-shadow:inset 0 1px #ffffff05!important}.improlab-app:not(.focus-mode) .title-loop-control{white-space:normal;grid-area:1/2/span 2;grid-template-columns:46px 40px;place-self:center end;align-items:center;width:90px;gap:4px!important;font-size:9.4px!important;display:grid!important;position:static!important;inset:auto!important;transform:none!important}.improlab-app:not(.focus-mode) .title-loop-control>span:first-child{text-align:right;white-space:normal;width:46px;line-height:1.04;display:block}.improlab-app:not(.focus-mode) .switch{flex:0 0 40px;width:40px!important;height:22px!important;padding:2px!important}.improlab-app:not(.focus-mode) .switch span{width:16px!important;height:16px!important}.improlab-app:not(.focus-mode) .switch.on{background:linear-gradient(#1a8bff 0%,#0d72f5 100%)!important;border-color:#59baff!important;box-shadow:0 0 0 1px #48b1ff1f,0 0 12px #147dff29!important}.improlab-app:not(.focus-mode) .switch.on span{box-shadow:0 1px 3px #00000047;background:#fff!important;transform:translate(17px)!important}.improlab-app:not(.focus-mode) .progression-builder.live:not(.read-only){width:100%;min-width:0;border-radius:var(--mobile-radius)!important;height:auto!important;min-height:0!important;padding:8px 10px!important;overflow:visible!important}.improlab-app:not(.focus-mode) .live-progression-head{grid-template:"title map add""hint map add"/minmax(0,1fr) 92px 36px;align-items:center;row-gap:3px;min-width:0;column-gap:7px!important;margin:0 1px 7px!important;display:grid!important}.improlab-app:not(.focus-mode) .live-progression-head>.eyebrow{white-space:nowrap;text-transform:uppercase;grid-area:title;color:#dce9f6!important;font-size:11.5px!important;line-height:1!important}.improlab-app:not(.focus-mode) .live-progression-hint{white-space:nowrap;text-overflow:ellipsis;grid-area:hint;min-width:0;line-height:1.1;overflow:hidden;color:#8fa4b8!important;font-size:9.5px!important}.desktop-progression-hint-text{display:none!important}.mobile-progression-hint-text{display:inline!important}.improlab-app:not(.focus-mode) .analysis-context-chip{grid-area:3/1/auto/-1;justify-self:start;min-width:0;max-width:100%}.improlab-app:not(.focus-mode) .map-mode-toggle{grid-area:map;overflow:hidden;border-radius:10px!important;gap:5px!important;width:92px!important;min-width:92px!important;height:36px!important;margin:0!important;padding:0 7px!important}.improlab-app:not(.focus-mode) .map-mode-toggle>span{flex:0 0 21px;width:21px!important;height:21px!important;font-size:11px!important}.improlab-app:not(.focus-mode) .map-mode-toggle>small{white-space:nowrap;min-width:0;overflow:visible;letter-spacing:.02em!important;font-size:8.5px!important}.improlab-app:not(.focus-mode) .map-mode-toggle.open-map{color:#f1f8f4!important;background:linear-gradient(#173027 0%,#0d1e19 100%)!important;border-color:#5ba582c7!important;box-shadow:inset 0 1px #ffffff09,0 4px 12px #0000002e!important}.improlab-app:not(.focus-mode) .map-mode-toggle.return-practice{color:#edf3f7!important;background:linear-gradient(#111b22 0%,#0b141a 100%)!important;border-color:#405363!important;box-shadow:inset 0 1px #ffffff06!important}.mobile-global-add{color:#f3f7fa;cursor:pointer;background:linear-gradient(#111b22,#0b141a);border:1px solid #3b4f5e;border-radius:10px;grid-area:add;place-items:center;width:36px;height:36px;padding:0;box-shadow:inset 0 1px #ffffff06;display:grid!important}.mobile-global-add:disabled{opacity:.36;cursor:not-allowed}.improlab-app:not(.focus-mode) .live-builder-rows{flex-direction:column;align-items:stretch;width:100%;min-width:0;gap:8px!important;display:flex!important}.improlab-app:not(.focus-mode) .live-row-block,.improlab-app:not(.focus-mode) .live-row,.improlab-app:not(.focus-mode) .live-row-balanced-group{width:100%;min-width:0;display:block!important}.improlab-app:not(.focus-mode) .live-row-music{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0;gap:8px!important;display:grid!important}.improlab-app:not(.focus-mode) .live-chord-wrap.mobile-hidden-blank,.improlab-app:not(.focus-mode) .live-row-balance,.improlab-app:not(.focus-mode) .live-row-actions,.improlab-app:not(.focus-mode) .progression-connector-space,.improlab-app:not(.focus-mode) .new-row-preview-shell,.improlab-app:not(.focus-mode) .split-origin-preview-row,.improlab-app:not(.focus-mode) .live-empty-row{display:none!important}.improlab-app:not(.focus-mode) .live-chord-wrap{width:100%;min-width:0;max-width:none;position:relative;margin:0!important;display:block!important}.improlab-app:not(.focus-mode) .live-chord-card{position:relative;overflow:visible;touch-action:none!important;color:#f1f6fa!important;background:linear-gradient(#111b22 0%,#0b141a 100%)!important;border:1px solid #3b4f5e!important;border-radius:10px!important;justify-content:center!important;align-items:center!important;width:100%!important;min-width:0!important;max-width:none!important;height:50px!important;min-height:50px!important;padding:0 8px!important;display:flex!important;box-shadow:inset 0 1px #ffffff06!important}.improlab-app:not(.focus-mode) .live-chord-card.current{background:linear-gradient(#111d25 0%,#0a141b 100%)!important;border-color:#7fd0ff!important;box-shadow:0 0 0 1px #67c4ff33,0 0 12px #147dff29,inset 0 1px #ffffff08!important}.improlab-app:not(.focus-mode) .live-chord-card.harmonic-selected{border-color:#34c77bc7!important;box-shadow:0 0 0 1px #34c77b21,0 0 12px #34c77b1a!important}.improlab-app:not(.focus-mode) .live-chord-card.editing{border-color:#62a9e6!important;display:flex!important}.improlab-app:not(.focus-mode) .live-chord-symbol{text-overflow:ellipsis;white-space:nowrap;text-align:center;min-width:0;max-width:100%;padding:0 12px;line-height:1;display:block;overflow:hidden;font-size:17px!important;font-weight:760!important}.mobile-chord-index{z-index:7;color:#adc3d6;pointer-events:none;font-size:9px;font-weight:750;line-height:1;position:absolute;top:6px;left:8px;display:block!important}.improlab-app:not(.focus-mode) .chord-attempt-time{color:#9fc8ed;line-height:1;font-size:8px!important;top:6px!important;right:8px!important}.improlab-app:not(.focus-mode) .live-drag-handle{display:none!important}.improlab-app:not(.focus-mode) .live-delete-chord{opacity:.42!important;width:19px!important;height:19px!important;display:none!important;top:auto!important;bottom:3px!important;right:4px!important;transform:none!important}.improlab-app:not(.focus-mode) .live-chord-card.current .live-delete-chord{display:grid!important}.improlab-app:not(.focus-mode) .live-chord-card input{text-align:center;width:100%;min-width:0;height:34px;padding:0 5px;font-size:14px}.improlab-app:not(.focus-mode) .repeat-count-outside{z-index:8;position:absolute!important}.improlab-app:not(.focus-mode) .live-chord-card.dragging{opacity:.12!important;box-shadow:none!important}.improlab-app:not(.focus-mode) .chord-drag-overlay{border-radius:10px;justify-content:center;align-items:center;font-size:16px;display:flex;background:linear-gradient(#172733,#111d26)!important;border:1px solid #7cc8ff!important;min-width:0!important;max-width:none!important;padding:0 8px!important;transform:none!important;box-shadow:0 16px 32px #00000070,0 0 0 1px #5bb8ff2e,0 0 14px #3d9ee729!important}.improlab-app:not(.focus-mode) .chord-drag-overlay .drag-overlay-index{color:#b8cee0;font-size:9px;font-weight:750;line-height:1;position:absolute;top:6px;left:8px}.improlab-app:not(.focus-mode) .chord-drag-overlay .drag-overlay-symbol{text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:100%;padding:0 12px;font-size:17px;font-weight:760;line-height:1;overflow:hidden}.improlab-app:not(.focus-mode) .chord-drag-overlay .drag-overlay-time{color:#9fc8ed;font-size:8px;line-height:1;position:absolute;top:6px;right:8px}.improlab-app:not(.focus-mode) .mobile-new-row-drop-preview{color:#9fc8ed;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(#182c39b8,#0e1c25b8);border:1px dashed #7cc8ffb8;border-radius:10px;place-items:center;width:100%;height:50px;font-size:9px;font-weight:760;animation:.12s ease-out both mobileRowOpen;display:grid;box-shadow:inset 0 1px #ffffff06}@keyframes mobileRowOpen{0%{opacity:0;height:0;transform:scaleY(.55)}to{opacity:1;height:50px;transform:scaleY(1)}}.mobile-analysis-anchor{z-index:190;height:0;margin:0;display:block;position:relative}.mobile-analysis-anchor .practical-analysis-panel{z-index:190;border-radius:12px;min-height:0;max-height:min(44dvh,340px);padding:12px;position:absolute;top:0;left:0;right:0;overflow:auto;color:#e9f5ef!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:radial-gradient(130% 120% at 18% 0,#499f7412,#0000 44%),linear-gradient(#10251d 0%,#091711 100%)!important;border:1px solid #40ca899e!important;box-shadow:0 16px 34px #0000009e,inset 0 1px #ffffff09!important}.mobile-analysis-anchor .practical-analysis-summary{color:#b5c8be!important}.mobile-analysis-anchor .practical-analysis-destination,.mobile-analysis-anchor .practical-analysis-facts>div{background:#0b1915!important;border-color:#6cb08e33!important}.improlab-app:not(.focus-mode) .left-column>.practical-analysis-panel{display:none!important}.improlab-app:not(.focus-mode) .practice-main-card{width:100%;min-width:0;gap:var(--mobile-gap)!important;background:0 0!important;border-radius:0!important;min-height:0!important;padding:0!important;display:grid!important}.improlab-app:not(.focus-mode) .current-chord-card{grid-template-rows:auto auto;width:100%;position:relative;overflow:hidden;border-radius:var(--mobile-radius)!important;justify-content:stretch!important;align-items:stretch!important;height:auto!important;min-height:0!important;padding:0!important;display:grid!important}.improlab-app:not(.focus-mode) .chord-card-topline{gap:7px;width:100%;min-width:0;height:auto;min-height:37px;padding:5px 10px 3px;pointer-events:auto!important;justify-content:space-between!important;align-items:flex-start!important;display:flex!important;position:static!important;inset:auto!important}.improlab-app:not(.focus-mode) .chord-card-topline>.eyebrow{white-space:nowrap;color:#d7e7f6!important;font-size:10.5px!important;line-height:1.1!important}.improlab-app:not(.focus-mode) .current-chord-top-actions{justify-content:flex-end;min-width:0;max-width:58%}.improlab-app:not(.focus-mode) .practice-loop-mode-toggle{width:auto;max-width:142px;overflow:hidden;background:#101820!important;border-color:#455768!important;border-radius:8px!important;height:29px!important;padding:2px!important}.improlab-app:not(.focus-mode) .practice-loop-mode-toggle button{white-space:nowrap;letter-spacing:.035em!important;gap:4px!important;min-width:0!important;height:23px!important;padding:0 6px!important;font-size:7.3px!important}.improlab-app:not(.focus-mode) .practice-loop-mode-toggle button:first-child{flex:0 0 76px;width:76px}.improlab-app:not(.focus-mode) .practice-loop-mode-toggle button:last-child{flex:0 0 52px;width:52px}.improlab-app:not(.focus-mode) .current-chord-layout{grid-template-rows:58px 98px;align-items:stretch;column-gap:0;width:100%;min-height:0;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)!important;height:auto!important;padding:0 10px 6px!important;display:grid!important}.improlab-app:not(.focus-mode) .current-chord-center{flex-direction:column;grid-area:1/1/auto/-1;justify-content:center;align-items:center;width:100%;overflow:hidden;height:58px!important;min-height:0!important;padding:0 8px 2px!important;display:flex!important}.improlab-app:not(.focus-mode) .current-chord-symbol{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden;letter-spacing:-.04em!important;margin:0!important;font-size:43px!important;line-height:.9!important}.improlab-app:not(.focus-mode) .current-chord-symbol.long-symbol{font-size:36px!important}.improlab-app:not(.focus-mode) .current-chord-symbol.harmonic-sequence-symbol{font-size:31px!important}.improlab-app:not(.focus-mode) .current-chord-degrees,.improlab-app:not(.focus-mode) .current-bar-reading{white-space:nowrap;text-overflow:ellipsis;max-width:100%;line-height:1.05;overflow:hidden;min-height:0!important;margin-top:5px!important;font-size:11.5px!important}.improlab-app:not(.focus-mode) .chord-recording-panel{flex-direction:column;grid-area:2/1;align-items:center;width:100%;border-top:1px solid #748ba059!important;border-right:1px solid #748ba059!important;justify-content:flex-start!important;gap:3px!important;height:98px!important;min-height:0!important;padding:6px 8px!important;display:flex!important;overflow:hidden!important}.improlab-app:not(.focus-mode) .chord-recording-title{white-space:nowrap;letter-spacing:.06em!important;font-size:9.5px!important;line-height:1!important}.improlab-app:not(.focus-mode) .chord-recording-status-row{gap:5px!important;min-height:11px!important;margin:0!important}.improlab-app:not(.focus-mode) .chord-recording-status-row strong{white-space:nowrap;font-size:7px!important;line-height:1!important}.improlab-app:not(.focus-mode) .recording-status-dot{flex:0 0 6px;width:6px!important;height:6px!important}.improlab-app:not(.focus-mode) .chord-recording-time{margin:0!important;font-size:22px!important;line-height:1!important}.improlab-app:not(.focus-mode) .chord-recording-actions{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:5px!important;margin:2px 0 0!important;display:grid!important}.improlab-app:not(.focus-mode) .chord-record-button{border-radius:9px!important;width:100%!important;min-width:0!important;height:34px!important}.improlab-app:not(.focus-mode) .chord-recording-error{white-space:nowrap;text-overflow:ellipsis;max-width:none;font-size:6px;position:absolute;bottom:2px;left:8px;right:8px;overflow:hidden}.improlab-app:not(.focus-mode) .current-chord-layout>.metronome-control{grid-area:2/2;grid-template-rows:19px 30px 27px;place-items:center;border-top:1px solid #748ba059!important;border-left:0!important;justify-content:stretch!important;gap:6px!important;width:100%!important;height:98px!important;min-height:0!important;padding:5px 8px!important;display:grid!important;overflow:hidden!important}.improlab-app:not(.focus-mode) .metronome-heading-row{grid-template-columns:minmax(0,1fr) 72px;align-items:center;width:100%;min-width:0;height:19px;gap:4px!important;display:grid!important}.improlab-app:not(.focus-mode) .metronome-label{white-space:nowrap;text-overflow:clip;min-width:0;line-height:1;overflow:visible;text-align:left!important;font-size:7.9px!important}.improlab-app:not(.focus-mode) .metronome-sound-select{width:72px!important;min-width:72px!important;max-width:72px!important;height:19px!important;box-shadow:none!important;background:#0d1318!important;border-color:#3a4a57!important;border-radius:6px!important;outline:none!important;padding:0 14px 0 5px!important;font-size:7.3px!important}.improlab-app:not(.focus-mode) .metronome-sound-select:hover,.improlab-app:not(.focus-mode) .metronome-sound-select:focus{box-shadow:none!important;border-color:#465a69!important;outline:none!important}.improlab-app:not(.focus-mode) .metronome-bpm-box{border-radius:8px!important;width:70px!important;min-width:70px!important;height:30px!important;min-height:30px!important;padding:2px 4px!important}.improlab-app:not(.focus-mode) .metronome-bpm-box input{width:58px!important;height:21px!important;font-size:20px!important}.improlab-app:not(.focus-mode) .metronome-bpm-display{font-size:20px!important;line-height:1!important}.improlab-app:not(.focus-mode) .metronome-bpm-box span{font-size:6.5px!important}.improlab-app:not(.focus-mode) .metronome-controls-row{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;height:27px;gap:5px!important;display:grid!important}.improlab-app:not(.focus-mode) .metronome-controls-row button{border-radius:8px!important;width:100%!important;min-width:0!important;height:27px!important}.improlab-app:not(.focus-mode) .loop-editor-card{width:100%;grid-template-rows:auto auto!important;align-items:stretch!important;height:auto!important;min-height:0!important;padding:0!important;display:grid!important;overflow:visible!important}.improlab-app:not(.focus-mode) .loop-editor-head{z-index:auto;border-bottom:1px solid #748ba040;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-width:0;min-height:45px;padding:9px 10px 7px;display:grid!important;position:static!important;inset:auto!important}.improlab-app:not(.focus-mode) .loop-editor-head>.eyebrow{white-space:nowrap;font-size:10.5px!important}.improlab-app:not(.focus-mode) .loop-empty-state,.improlab-app:not(.focus-mode) .loop-recording-state{gap:8px;min-height:112px;overflow:hidden;height:auto!important;padding:14px 14px 18px!important}.improlab-app:not(.focus-mode) .loop-empty-state strong,.improlab-app:not(.focus-mode) .loop-recording-state strong{text-align:center;white-space:normal;overflow-wrap:anywhere;max-width:100%;line-height:1.2;font-size:14px!important}.improlab-app:not(.focus-mode) .loop-empty-state span{text-align:center;max-width:100%;line-height:1.45;font-size:9.5px!important}.improlab-app:not(.focus-mode) .loop-recording-state{flex-wrap:wrap;flex-direction:row!important;justify-content:center!important}.improlab-app:not(.focus-mode) .loop-recording-state b{font-size:21px}.improlab-app:not(.focus-mode) .loop-waveform-editor{justify-content:center;gap:6px;min-height:168px;overflow:visible;height:auto!important;padding:27px 12px 12px!important}.improlab-app:not(.focus-mode) .loop-waveform-track{max-width:100%;min-height:96px;height:96px!important}.improlab-app:not(.focus-mode) .loop-loaded-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.improlab-app:not(.focus-mode) .session-actions-card.session-control-console{flex-direction:column;gap:var(--mobile-gap)!important;width:100%!important;min-height:0!important;box-shadow:none!important;background:0 0!important;border:0!important;margin:0!important;padding:0!important;display:flex!important}.improlab-app:not(.focus-mode) .session-console-center{order:1;width:100%;min-height:0!important;padding:0!important;display:block!important}.improlab-app:not(.focus-mode) .session-console-center .practice-controls-block{border-radius:var(--mobile-radius);flex-direction:column;justify-content:flex-start;align-items:center;width:100%;min-height:108px;padding:6px 9px;display:flex;overflow:hidden}.improlab-app:not(.focus-mode) .session-console-center .timer-label{letter-spacing:.05em!important;color:#9bb1c6!important;min-height:14px!important;margin:0!important;font-size:10px!important;line-height:14px!important}.improlab-app:not(.focus-mode) .session-console-center .timer-value{white-space:nowrap;letter-spacing:-.04em!important;margin:3px 0 0!important;font-size:40px!important;line-height:.98!important}.improlab-app:not(.focus-mode) .session-console-center .practice-controls{grid-template-columns:46px minmax(0,1fr) 46px 82px;flex-wrap:nowrap!important;gap:6px!important;width:100%!important;margin-top:4px!important;display:grid!important}.improlab-app:not(.focus-mode) .session-console-center .control-button{white-space:nowrap;overflow:hidden;border-radius:9px!important;gap:5px!important;width:100%!important;min-width:0!important;height:36px!important;min-height:36px!important;padding:0 7px!important;font-size:9.8px!important}.improlab-app:not(.focus-mode) .session-console-center .control-primary{color:#fff!important;background:linear-gradient(#198dff 0%,#0d72f5 100%)!important;border-color:#58baff!important;min-width:0!important;font-size:10.5px!important;box-shadow:inset 0 1px #ffffff38,0 7px 18px #147dff3d,0 0 12px #147dff1a!important}.improlab-app:not(.focus-mode) .session-console-center .control-primary.finish-state{background:linear-gradient(#167fe9 0%,#0b63d3 100%)!important}.improlab-app:not(.focus-mode) .session-console-center .pause-control{opacity:.48;min-width:0!important;font-size:9.5px!important}.improlab-app:not(.focus-mode) .session-console-center .pause-control:not(:disabled){opacity:1}.improlab-app:not(.focus-mode) .session-console-center .nav-only{min-width:0!important;padding:0!important;font-size:0!important}.improlab-app:not(.focus-mode) .session-console-center .nav-only svg,.improlab-app:not(.focus-mode) .session-console-center .nav-text-arrow{display:none!important}.improlab-app:not(.focus-mode) .session-console-center .practice-controls>button:first-child:after{content:"≪";font-size:24px;font-weight:500;line-height:1}.improlab-app:not(.focus-mode) .session-console-center .practice-controls>button:nth-child(3):after{content:"≫";font-size:24px;font-weight:500;line-height:1}.improlab-app:not(.focus-mode) .session-console-left{border-radius:var(--mobile-radius);order:2;grid-template-columns:auto minmax(0,1fr);width:100%;align-items:center!important;gap:8px!important;min-height:0!important;padding:7px 8px!important;display:grid!important}.improlab-app:not(.focus-mode) .session-actions-card.no-attempts .session-console-left{display:none!important}.improlab-app:not(.focus-mode) .session-actions-card-count{justify-content:flex-start!important;gap:5px!important;width:auto!important;min-height:0!important;margin:0!important}.improlab-app:not(.focus-mode) .session-actions-card-count strong{min-width:auto!important;font-size:18px!important}.improlab-app:not(.focus-mode) .session-actions-card-count span{white-space:nowrap;font-size:8px!important}.improlab-app:not(.focus-mode) .session-secondary-card-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;width:100%!important;max-width:none!important;margin:0!important;display:grid!important}.improlab-app:not(.focus-mode) .session-secondary-card-button{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;grid-column:auto!important;min-width:0!important;height:32px!important;min-height:32px!important;padding:0 5px!important;font-size:7.8px!important}.improlab-app:not(.focus-mode) .session-console-right{order:3;width:100%;min-height:0!important;padding:0!important;display:block!important}.improlab-app:not(.focus-mode) .session-save-card-button{color:#f1fff8!important;background:linear-gradient(#124934 0%,#092d22 100%)!important;border:1px solid #2edb91db!important;border-radius:11px!important;width:100%!important;min-width:0!important;max-width:none!important;height:38px!important;min-height:38px!important;margin:0!important;font-size:11px!important;font-weight:760!important;box-shadow:inset 0 1px #ffffff0b,0 6px 16px #00000047!important}.improlab-app:not(.focus-mode) .practice-help-block{display:none!important}.improlab-app:not(.focus-mode) .session-actions-card.loop-only .session-console-center{order:1;width:100%}.improlab-app:not(.focus-mode) .session-actions-card.loop-only .base-loop-controls{border:1px solid var(--mobile-panel-border);border-radius:var(--mobile-radius);background:radial-gradient(145% 120% at 18% -12%,#7897ae0d,transparent 43%),linear-gradient(180deg,var(--mobile-panel-top),var(--mobile-panel-bottom));width:100%;padding:8px;box-shadow:inset 0 1px #ffffff06,0 5px 15px #00000047}.improlab-app:not(.focus-mode) .session-actions-card.loop-only .base-loop-controls-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;width:100%;display:grid}.improlab-app:not(.focus-mode) .session-actions-card.loop-only .base-loop-button{text-overflow:ellipsis;width:100%;min-width:0;height:36px;padding:0 4px;font-size:7.5px;overflow:hidden}.mobile-symbols-handle{z-index:216;width:20px;height:88px;color:var(--mobile-blue-bright);background:linear-gradient(#0b1722 0%,#071019 100%);border:1px solid #4baeff85;border-right:0;border-radius:15px 0 0 15px;place-items:center;padding:0;transition:right .18s,background .18s,border-color .18s,box-shadow .18s;display:grid;position:fixed;top:50dvh;right:0;transform:translateY(-50%);box-shadow:-5px 9px 22px #00000061,0 0 12px #147dff1a,inset 0 1px #ffffff06}.mobile-symbols-handle .mobile-symbols-arrow{color:var(--mobile-blue-bright);transform-origin:50%;opacity:1;text-shadow:0 0 8px #67c4ff38;font-family:Arial,sans-serif;font-size:28px;font-weight:300;line-height:1;display:block;transform:scaleY(1.5)translateY(-.25px)}.mobile-symbols-handle.open{background:#08131d;border-color:#5abeffad;right:min(78vw,296px);box-shadow:-5px 9px 22px #0006,0 0 14px #147dff24,inset 0 1px #ffffff06}.improlab-app:not(.focus-mode) .left-column>.form-symbols-sidebar{display:none!important}.mobile-symbols-drawer{z-index:215;pointer-events:none;width:min(78vw,296px);max-width:296px;height:auto;max-height:min(68dvh,520px);transition:transform .18s;display:block;position:fixed;top:50dvh;right:0;overflow:visible;transform:translate(105%,-50%)}.improlab-app:not(.focus-mode).mobile-symbols-open .mobile-symbols-drawer{pointer-events:auto;transform:translateY(-50%)}.improlab-app:not(.focus-mode) .mobile-symbols-drawer>.form-symbols-sidebar.form-symbols-static-palette{background:radial-gradient(135% 90% at 50% 0,#ffffff0a,#fff0 42%),linear-gradient(#0d141b 0%,#070b10 100%)!important;border:1px solid #547084ad!important;border-right:0!important;border-radius:20px 0 0 20px!important;flex-direction:column!important;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:min(68dvh,520px)!important;margin:0!important;padding:0!important;display:flex!important;overflow:hidden!important;box-shadow:-18px 22px 52px #00000094,inset 0 1px #ffffff07!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-palette-head{background:linear-gradient(#ffffff05,#fff0)!important;border-bottom:1px solid #ffffff12!important;flex:0 0 52px!important;height:52px!important;min-height:52px!important;padding:10px 14px 9px!important;display:flex!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-palette-head strong{letter-spacing:.09em!important;color:#edf5fb!important;font-size:11px!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-palette-head span{color:#91a6b8!important;white-space:nowrap!important;text-overflow:ellipsis!important;font-size:9px!important;overflow:hidden!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbols-static-body{height:auto!important;min-height:0!important;max-height:calc(68dvh - 52px)!important;box-shadow:none!important;scrollbar-gutter:stable!important;background:0 0!important;border:0!important;flex:auto!important;padding:10px 11px 12px!important;overflow:hidden auto!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbols-tool-grid{background:0 0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbol-drag-tool{color:#dce7ef!important;cursor:pointer!important;background:linear-gradient(#101922 0%,#0a1117 100%)!important;border:1px solid #2c3e4d!important;border-radius:11px!important;grid-template-columns:27px minmax(0,1fr)!important;gap:7px!important;min-width:0!important;min-height:46px!important;padding:7px 8px!important;box-shadow:inset 0 1px #ffffff05!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbol-drag-tool:active{transform:translateY(1px);background:#0c151d!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbol-drag-tool:disabled{opacity:.34!important;transform:none!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbol-drag-glyph{color:#77caff!important;text-shadow:none!important;font-size:19px!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbol-drag-glyph.text{font-family:inherit!important;font-size:10px!important;font-weight:800!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbol-drag-tool>span:last-child{color:#e1e9ef!important;white-space:normal!important;text-overflow:clip!important;font-size:9.2px!important;font-weight:700!important;line-height:1.08!important;overflow:visible!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbol-repeat-chips{background:0 0!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin-top:9px!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbol-repeat-chip{color:#82ccff!important;cursor:pointer!important;background:#0b151d!important;border:1px solid #2d4354!important;border-radius:9px!important;height:29px!important;font-size:9px!important}.mobile-overlay-backdrop{z-index:190;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#00000085;border:0;padding:0;display:block;position:fixed;inset:0}.improlab-app:not(.focus-mode) .floating-loop-transport{bottom:calc(62px + env(safe-area-inset-bottom,0px))!important;z-index:225!important;width:calc(100vw - 24px)!important;max-width:430px!important}.modal-backdrop{z-index:300!important;padding:14px!important}.modal-card{width:min(520px,100%)!important;max-height:calc(100dvh - 28px)!important}.improlab-app:not(.focus-mode) .current-chord-card.state-running{border-color:var(--mobile-panel-border)!important;box-shadow:inset 0 1px #ffffff07,0 5px 15px #0000004d!important}.improlab-app:not(.focus-mode) .current-chord-card.state-paused{border-color:#536677!important}.improlab-app:not(.focus-mode) .timer-value.paused{color:#f3f6f8!important;text-shadow:none!important}.improlab-app:not(.focus-mode) .metronome-controls-row .metronome-play.playing{color:#cce3fa!important;background:#2f7dff1a!important;border-color:#4779a8!important}.improlab-app:not(.focus-mode) .mini-state.paused{color:#c5d1dc!important;background:#ffffff09!important;border-color:#536677!important}.improlab-app:not(.focus-mode) .harmonic-analysis-chip.medium{background:#34c77b0e!important;border-color:#34c77b38!important}.improlab-app:not(.focus-mode) .harmonic-analysis-chip em{color:#8be0b2!important;background:#34c77b1a!important}.improlab-app.loading-screen{z-index:9999!important;background-color:#030609!important;background-image:linear-gradient(#010305a8 0%,#010305ba 54%,#010305d1 100%),url(/backgrounds/improlab-premium-bg.webp)!important;background-position:top,top!important;background-repeat:no-repeat,no-repeat!important;background-size:cover,cover!important;background-attachment:scroll,scroll!important;place-items:center!important;width:100vw!important;height:100dvh!important;min-height:100dvh!important;margin:0!important;padding:0!important;display:grid!important;position:fixed!important;inset:0!important;overflow:hidden!important}.improlab-app.loading-screen>.loading-brand{width:min(330px,100vw - 44px);text-align:center!important;flex-direction:column!important;grid-area:auto!important;justify-content:center!important;place-self:center!important;align-items:center!important;gap:0!important;margin:0!important;padding:0!important;display:flex!important;position:static!important;inset:auto!important;transform:none!important}.improlab-app.loading-screen .loading-brand-logo{filter:drop-shadow(0 0 12px #147dff33)!important;flex:0 0 64px!important;width:64px!important;height:64px!important;margin:0 0 12px!important}.improlab-app.loading-screen .loading-brand-logo rect:nth-child(odd){fill:#69c2ff!important;opacity:1!important}.improlab-app.loading-screen .loading-brand-logo rect:nth-child(2n){fill:#f7fbff!important;opacity:1!important}.improlab-app.loading-screen .loading-brand-copy{width:100%;margin:0;padding:0;text-align:center!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;line-height:1.08!important;display:flex!important}.improlab-app.loading-screen .loading-brand-copy strong{letter-spacing:-.035em!important;white-space:nowrap!important;font-size:29px!important;font-weight:790!important;line-height:1!important}.improlab-app.loading-screen .loading-brand-copy span{color:#91a3b4!important;text-align:center!important;white-space:normal!important;text-overflow:clip!important;max-width:310px!important;margin:7px 0 0!important;font-size:11px!important;line-height:1.25!important;overflow:visible!important}.improlab-app:not(.focus-mode) .practice-title-bar *,.improlab-app:not(.focus-mode) .progression-builder *,.improlab-app:not(.focus-mode) .current-chord-card *,.improlab-app:not(.focus-mode) .session-actions-card *{min-width:0}}@media (max-width:374px){.improlab-app:not(.focus-mode) .brand-copy strong{font-size:23px}.improlab-app:not(.focus-mode) .brand-copy>.brand-tagline{max-width:190px;font-size:9.2px}.improlab-app:not(.focus-mode) .header-nav .nav-button{padding-inline:7px;font-size:11.5px}.improlab-app:not(.focus-mode) .practice-title-bar{grid-template-columns:minmax(0,1fr) 86px}.improlab-app:not(.focus-mode) .title-loop-control{grid-template-columns:44px 38px;width:86px;gap:4px!important;font-size:9px!important}.improlab-app:not(.focus-mode) .title-loop-control>span:first-child{width:44px}.improlab-app:not(.focus-mode) .switch{flex-basis:38px;width:38px!important}.improlab-app:not(.focus-mode) .practice-title-line h1{font-size:19px!important}.improlab-app:not(.focus-mode) .practice-title-edit{flex-basis:25px;width:25px!important;height:25px!important}.improlab-app:not(.focus-mode) .live-progression-head{grid-template-columns:minmax(0,1fr) 92px 36px}.improlab-app:not(.focus-mode) .map-mode-toggle{width:92px!important;min-width:92px!important}.mobile-global-add{width:36px;height:36px}.improlab-app:not(.focus-mode) .live-progression-hint{font-size:8.6px!important}.improlab-app:not(.focus-mode) .live-chord-symbol{padding-inline:9px;font-size:15.5px!important}.improlab-app:not(.focus-mode) .current-chord-symbol{font-size:40px!important}.improlab-app:not(.focus-mode) .current-chord-layout{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr)!important}.improlab-app:not(.focus-mode) .metronome-heading-row{grid-template-columns:minmax(0,1fr) 67px}.improlab-app:not(.focus-mode) .metronome-label{font-size:7.5px!important}.improlab-app:not(.focus-mode) .metronome-sound-select{width:67px!important;min-width:67px!important;max-width:67px!important;padding-right:13px!important;font-size:7px!important}.improlab-app:not(.focus-mode) .session-console-center .timer-value{font-size:40px!important}.improlab-app:not(.focus-mode) .session-console-center .practice-controls{grid-template-columns:42px minmax(0,1fr) 42px 72px;gap:5px!important}.improlab-app:not(.focus-mode) .session-console-center .control-button{padding-inline:4px!important;font-size:8.6px!important}}@media (min-width:430px) and (max-width:699px),(min-width:430px) and (max-width:767px) and (pointer:coarse){.improlab-app:not(.focus-mode) .live-chord-card{height:50px!important;min-height:50px!important}.improlab-app:not(.focus-mode) .live-chord-symbol{font-size:18px!important}}.live-chord-symbol.compact-symbol{letter-spacing:-.01em;font-size:10.8px}.live-chord-symbol.ultra-compact-symbol{letter-spacing:-.02em;font-size:9.7px}.improlab-app .form-repeat-edge-control,.improlab-app .form-repeat-count-outside,.improlab-app .form-marker-badge{color:#2fa8ff!important;text-shadow:0 0 10px #2fa8ff47!important}.improlab-app .form-repeat-edge-control:hover,.improlab-app .form-repeat-edge-control.selected,.improlab-app .form-repeat-count-outside:hover,.improlab-app .form-repeat-count-outside.selected,.improlab-app .form-marker-badge:hover,.improlab-app .form-marker-badge.selected{color:#93d6ff!important;text-shadow:0 0 12px #45baff6b!important}.improlab-app .form-repeat-edge-control:hover,.improlab-app .form-repeat-edge-control.selected{filter:drop-shadow(0 0 5px #2fa8ff52)!important}.improlab-app .form-marker-coda-symbol{filter:drop-shadow(0 0 4px #2fa8ff47)}.improlab-app .live-chord-card.form-marker-drop-target{border-color:#5abaff!important;box-shadow:0 0 0 1px #5abaff2e,0 0 14px #2fa8ff24!important}.improlab-app:not(.focus-mode) .form-marker-text,.improlab-app:not(.focus-mode) .form-marker-ending-text,.improlab-app:not(.focus-mode) .form-marker-glyph{color:#2fa8ff!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbol-drag-tool{background:linear-gradient(#0e1d2a 0%,#09131b 100%)!important;border-color:#31556f!important;box-shadow:inset 0 1px #ffffff06,0 0 0 1px #2fa8ff08!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbol-drag-tool:hover{background:linear-gradient(#112434 0%,#0b1822 100%)!important;border-color:#4d88ad!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbol-drag-glyph,.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbol-repeat-chip{color:#35adff!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbol-repeat-chip{text-shadow:0 0 8px #2fa8ff2e!important;background:linear-gradient(#0d1b25,#09131b)!important;border-color:#35556f!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbol-repeat-chip:hover{color:#92d6ff!important;border-color:#5490b7!important}.mobile-symbols-handle .mobile-symbols-arrow{place-items:center;width:100%;height:100%;display:grid}.mobile-symbols-handle .mobile-symbols-arrow svg{stroke-width:2.2px;filter:drop-shadow(0 0 8px #2fa8ff42);width:18px;height:18px}.improlab-app:not(.focus-mode) .live-chord-symbol{text-overflow:clip!important;padding:0 10px!important;overflow:visible!important}.improlab-app:not(.focus-mode) .live-chord-symbol.compact-symbol{letter-spacing:-.02em!important;font-size:14.4px!important}.improlab-app:not(.focus-mode) .live-chord-symbol.ultra-compact-symbol{letter-spacing:-.03em!important;font-size:12.8px!important}.modal-card.review-modal{width:min(680px,92vw)!important;overflow:hidden!important}.modal-card.review-modal .modal-header{height:52px;padding:0 16px}.modal-card.review-modal .modal-header h2{font-size:14px}.review-unit-symbol{flex-direction:column;gap:2px;min-width:0;display:flex}.review-unit-symbol>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;display:block;overflow:hidden}.review-unit-symbol small{color:#7ea5cf;letter-spacing:.06em;text-transform:uppercase;font-size:7px;line-height:1}.review-actions button.icon-only{justify-content:center;width:28px;padding:0!important}@media (max-width:699px),(max-width:767px) and (pointer:coarse){.modal-card.review-modal{border-radius:16px!important;width:min(420px,100vw - 22px)!important;max-height:calc(100dvh - 22px)!important;overflow:hidden!important}.modal-card.review-modal .modal-header{height:48px!important;padding:0 14px!important}.modal-card.review-modal .modal-header h2{font-size:13px!important}.review-head{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;padding:11px 14px 8px!important}.review-head>div{gap:2px!important;min-height:0!important;padding:7px 8px!important}.review-head span{font-size:7.2px!important}.review-head strong{font-size:11px!important;line-height:1.14!important}.review-copy{margin:0 14px 8px!important;padding:8px 9px!important;font-size:9px!important;line-height:1.34!important}.review-table{border-radius:10px!important;max-height:none!important;margin:0 14px!important;overflow:visible!important}.review-row{grid-template-columns:minmax(0,1.05fr) 56px minmax(110px,1fr) 58px!important;gap:6px!important;min-height:38px!important;padding:5px 8px!important;font-size:9px!important}.review-row>strong{font-size:10.6px!important}.review-row>b{font-size:10px!important}.review-header{letter-spacing:.05em!important;min-height:28px!important;font-size:7.2px!important}.review-include{gap:4px!important;font-size:8.5px!important}.review-include span{line-height:1.1!important}.review-actions{gap:4px!important}.review-actions button{height:24px!important;padding:0 6px!important;font-size:0!important}.review-actions button span{display:none!important}.review-actions button svg{width:13px!important;height:13px!important}.review-actions button.icon-only{width:24px!important;padding:0!important}.review-footer-note{margin:8px 14px 0!important;font-size:8.2px!important;line-height:1.25!important}.review-modal-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;justify-content:stretch!important;gap:6px!important;padding:10px 14px 12px!important;display:grid!important}.review-modal-actions .button-secondary,.review-modal-actions .button-danger,.review-modal-actions .button-primary{text-align:center!important;min-height:35px!important;padding:0 6px!important;font-size:9px!important;line-height:1.1!important}.review-modal-actions .button-primary{margin-left:0!important}}.save-statistics-button,.session-save-card-button,.save-stats-modal,.focus-save-stats{color:#f2fff8!important;background:linear-gradient(#15945f 0%,#0b6f48 100%)!important;border-color:#35d590c7!important;box-shadow:inset 0 1px #ffffff1a,0 7px 18px #054a2f38!important}.save-statistics-button:hover,.session-save-card-button:hover,.save-stats-modal:hover,.focus-save-stats:hover{color:#fff!important;background:linear-gradient(#1bab70 0%,#0c8053 100%)!important;border-color:#55dfa0!important}.save-statistics-button:disabled,.session-save-card-button:disabled,.save-stats-modal:disabled,.focus-save-stats:disabled{opacity:.38!important;filter:saturate(.75)!important}@media (max-width:699px),(max-width:767px) and (pointer:coarse){.mobile-symbols-handle{background:linear-gradient(#0d2232 0%,#07131d 100%)!important;border:1px solid #30afffc7!important;border-right:0!important;border-radius:18px 0 0 18px!important;width:22px!important;height:108px!important;top:50dvh!important;right:0!important;overflow:hidden!important;box-shadow:-7px 10px 24px #00000070,0 0 18px #1aa3ff33,inset 0 1px #ffffff0e!important}.mobile-symbols-handle:before{content:"";opacity:.72;background:linear-gradient(#2faeff00,#2faeff 24%,#70ccff 50%,#2faeff 76%,#2faeff00);border-radius:999px;width:2px;position:absolute;top:14px;bottom:14px;left:4px;box-shadow:0 0 10px #2faeff6b}.mobile-symbols-handle:after{content:"";pointer-events:none;background:radial-gradient(100% 70% at 100%,#2dacff26,#0000 68%);position:absolute;inset:0}.mobile-symbols-handle .mobile-symbols-handle-rail{background:#71cdff38;border-radius:999px;width:1px;position:absolute;top:21px;bottom:21px;left:7px}.mobile-symbols-handle .mobile-symbols-arrow{z-index:2;position:relative;color:#46baff!important;width:100%!important;height:100%!important;text-shadow:none!important;place-items:center!important;display:grid!important;transform:none!important}.mobile-symbols-handle .mobile-symbols-arrow svg{stroke-width:2.35px!important;filter:drop-shadow(0 0 6px #3fbeff6b)!important;width:17px!important;height:17px!important}.mobile-symbols-handle.open{right:min(47vw,184px)!important}.mobile-symbols-drawer{width:min(47vw,184px)!important;max-width:184px!important;height:auto!important;max-height:min(50dvh,318px)!important;top:50dvh!important;right:0!important;transform:translate(105%,-50%)!important}.improlab-app:not(.focus-mode).mobile-symbols-open .mobile-symbols-drawer{transform:translateY(-50%)!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer>.form-symbols-sidebar.form-symbols-static-palette{background:radial-gradient(110% 56% at 42% 0,#2286cb1c,#0000 58%),linear-gradient(#0b151e 0%,#060b10 100%)!important;border:1px solid #3f7ca6b3!important;border-right:0!important;border-radius:17px 0 0 17px!important;width:100%!important;height:auto!important;max-height:min(50dvh,318px)!important;box-shadow:-16px 18px 42px #0000008f,0 0 22px #1484db0f,inset 0 1px #ffffff0b!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-palette-head{border-bottom:1px solid #73aacf1f!important;flex:0 0 42px!important;height:42px!important;min-height:42px!important;padding:7px 9px 6px!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-palette-head strong{letter-spacing:.085em!important;font-size:9.4px!important;line-height:1!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-palette-head span{margin-top:3px!important;font-size:7.7px!important;line-height:1.05!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbols-static-body{scrollbar-width:none!important;max-height:calc(min(50dvh,318px) - 42px)!important;padding:7px 7px 8px!important;overflow:hidden auto!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbols-static-body::-webkit-scrollbar{display:none!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbols-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbol-drag-tool.direct-symbol-item{text-align:center!important;background:linear-gradient(#0d1c27 0%,#08121a 100%)!important;border:1px solid #254b66!important;border-radius:8px!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:1px!important;height:39px!important;min-height:39px!important;padding:3px!important;display:flex!important;box-shadow:inset 0 1px #ffffff06,0 0 0 1px #249beb06!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbol-drag-tool.direct-symbol-item:active{background:linear-gradient(#102536 0%,#091721 100%)!important;border-color:#3f8fbe!important;transform:translateY(1px)!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbol-drag-tool.direct-symbol-item .form-symbol-drag-glyph{color:#25aaff!important;text-shadow:0 0 8px #25aaff38!important;min-width:0!important;font-size:16px!important;line-height:.95!important;display:block!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbol-drag-tool.direct-symbol-item .form-symbol-drag-glyph.text{letter-spacing:-.01em!important;font-family:inherit!important;font-size:9.7px!important;font-weight:850!important;line-height:1!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbol-drag-tool.direct-symbol-item .form-symbol-direct-label{color:#dfeaf1!important;white-space:normal!important;text-overflow:clip!important;max-width:100%!important;font-size:6.9px!important;font-weight:720!important;line-height:1.02!important;display:block!important;overflow:visible!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .symbol-type-fine .form-symbol-drag-glyph.text,.improlab-app:not(.focus-mode) .mobile-symbols-drawer .symbol-type-ds .form-symbol-drag-glyph.text,.improlab-app:not(.focus-mode) .mobile-symbols-drawer .symbol-type-dc .form-symbol-drag-glyph.text,.improlab-app:not(.focus-mode) .mobile-symbols-drawer .symbol-type-toCoda .form-symbol-drag-glyph.text{color:#2eafff!important;font-size:10.4px!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .symbol-type-ending1 .form-symbol-drag-glyph,.improlab-app:not(.focus-mode) .mobile-symbols-drawer .symbol-type-ending2 .form-symbol-drag-glyph{font-size:17px!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbol-repeat-chips{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;margin-top:5px!important}.improlab-app:not(.focus-mode) .mobile-symbols-drawer .form-symbols-static-palette .form-symbol-repeat-chip{color:#27acff!important;background:linear-gradient(#0d1d28,#08121a)!important;border-color:#28516c!important;border-radius:7px!important;height:24px!important;min-height:24px!important;font-size:8px!important;font-weight:850!important}}.improlab-app .live-chord-card .form-repeat-edge-control,.improlab-app .live-chord-card .form-repeat-count-outside,.improlab-app .live-chord-card .form-marker-badge,.improlab-app .live-chord-card .form-marker-text,.improlab-app .live-chord-card .form-marker-ending-text,.improlab-app .live-chord-card .form-marker-glyph{color:#fff!important;text-shadow:0 0 7px #ffffff29!important}.improlab-app .live-chord-card .form-repeat-edge-control:hover,.improlab-app .live-chord-card .form-repeat-edge-control.selected,.improlab-app .live-chord-card .form-repeat-count-outside:hover,.improlab-app .live-chord-card .form-repeat-count-outside.selected,.improlab-app .live-chord-card .form-marker-badge:hover,.improlab-app .live-chord-card .form-marker-badge.selected{color:#fff!important;text-shadow:0 0 9px #ffffff38!important}.improlab-app .live-chord-card .form-repeat-edge-control:hover,.improlab-app .live-chord-card .form-repeat-edge-control.selected,.improlab-app .live-chord-card .form-marker-coda-symbol{filter:drop-shadow(0 0 4px #ffffff2e)!important}.improlab-app .live-chord-card.has-repeat-start{border-left-color:#fff!important}.improlab-app .live-chord-card.has-repeat-end{border-right-color:#fff!important}@media (max-width:699px),(max-width:767px) and (pointer:coarse){.improlab-app:not(.focus-mode) .live-builder-rows{gap:8px!important;position:relative!important}.improlab-app:not(.focus-mode) .live-builder-rows>.live-row-block{margin:0!important;padding:0!important}.improlab-app:not(.focus-mode) .live-builder-rows{flex-direction:column!important;align-items:stretch!important;gap:8px!important;display:flex!important}.improlab-app:not(.focus-mode) .live-builder-rows>.live-row-block{gap:0!important;width:100%!important;min-width:0!important;height:50px!important;min-height:50px!important;margin:0!important;padding:0!important;display:block!important;position:relative!important;overflow:visible!important}.improlab-app:not(.focus-mode) .live-builder-rows>.live-row-block>.live-row{gap:0!important;width:100%!important;min-width:0!important;height:50px!important;min-height:50px!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.improlab-app:not(.focus-mode) .live-row-balanced-group,.improlab-app:not(.focus-mode) .live-row-music,.improlab-app:not(.focus-mode) .live-chord-wrap{height:50px!important;min-height:50px!important;margin-top:0!important;margin-bottom:0!important}.improlab-app:not(.focus-mode) .live-row-music{align-items:stretch!important}.improlab-app .left-column.desktop-only-sidebar,.improlab-app .right-column.desktop-only-sidebar{visibility:hidden!important;pointer-events:none!important;display:none!important}.mobile-panel-empty-state{text-align:center;color:#9aa8b5;place-items:center;min-height:180px;padding:22px;font-size:12px;display:grid}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@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}
