@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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--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-outline-style:solid;--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;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,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;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-orange-400:oklch(75% .183 55.934);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-50:oklch(98.2% .018 155.826);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-50:oklch(97% .014 254.604);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-pink-400:oklch(71.8% .202 349.761);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--drop-shadow-2xl:0 25px 25px #00000026;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-2xl:40px;--blur-3xl:64px;--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,ui-sans-serif,system-ui,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;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{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{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.-top-2{top:calc(var(--spacing)*-2)}.-top-40{top:calc(var(--spacing)*-40)}.top-0{top:calc(var(--spacing)*0)}.top-1\/3{top:33.3333%}.top-14{top:calc(var(--spacing)*14)}.-right-20{right:calc(var(--spacing)*-20)}.right-0{right:calc(var(--spacing)*0)}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-20{bottom:calc(var(--spacing)*20)}.-left-40{left:calc(var(--spacing)*-40)}.left-0{left:calc(var(--spacing)*0)}.left-1\/4{left:25%}.left-full{left:100%}.z-40{z-index:40}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.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}}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-6{margin-left:calc(var(--spacing)*6)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-48{height:calc(var(--spacing)*48)}.h-64{height:calc(var(--spacing)*64)}.h-80{height:calc(var(--spacing)*80)}.h-96{height:calc(var(--spacing)*96)}.h-\[10vh\]{height:10vh}.h-\[90vh\]{height:90vh}.h-full{height:100%}.h-screen{height:100vh}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-48{width:calc(var(--spacing)*48)}.w-64{width:calc(var(--spacing)*64)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[200px\]{max-width:200px}.max-w-md{max-width:var(--container-md)}.min-w-\[3rem\]{min-width:3rem}.min-w-\[140px\]{min-width:140px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-150{--tw-scale-x:150%;--tw-scale-y:150%;--tw-scale-z:150%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-45{rotate:45deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-800{border-color:var(--color-blue-800)}.border-gray-700{border-color:var(--color-gray-700)}.border-green-500{border-color:var(--color-green-500)}.border-red-500{border-color:var(--color-red-500)}.border-slate-600{border-color:var(--color-slate-600)}.border-slate-700{border-color:var(--color-slate-700)}.border-transparent{border-color:#0000}.bg-amber-600{background-color:var(--color-amber-600)}.bg-black{background-color:var(--color-black)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/90{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.bg-black\/90{background-color:color-mix(in oklab,var(--color-black)90%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-cyan-500\/10{background-color:#00b7d71a}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/10{background-color:color-mix(in oklab,var(--color-cyan-500)10%,transparent)}}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-600{background-color:var(--color-green-600)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-orange-600{background-color:var(--color-orange-600)}.bg-purple-600{background-color:var(--color-purple-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-600{background-color:var(--color-red-600)}.bg-red-900\/50{background-color:#82181a80}@supports (color:color-mix(in lab,red,red)){.bg-red-900\/50{background-color:color-mix(in oklab,var(--color-red-900)50%,transparent)}}.bg-slate-700{background-color:var(--color-slate-700)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-800\/50{background-color:#1d293d80}@supports (color:color-mix(in lab,red,red)){.bg-slate-800\/50{background-color:color-mix(in oklab,var(--color-slate-800)50%,transparent)}}.bg-slate-900{background-color:var(--color-slate-900)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-600{background-color:var(--color-yellow-600)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-amber-600{--tw-gradient-from:var(--color-amber-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-cyan-400{--tw-gradient-via:var(--color-cyan-400);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-orange-600{--tw-gradient-to:var(--color-orange-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-16{padding-block:calc(var(--spacing)*16)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-words{overflow-wrap:break-word}.text-amber-400{color:var(--color-amber-400)}.text-blue-400{color:var(--color-blue-400)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-900{color:var(--color-blue-900)}.text-emerald-400{color:var(--color-emerald-400)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-900{color:var(--color-green-900)}.text-indigo-400{color:var(--color-indigo-400)}.text-orange-400{color:var(--color-orange-400)}.text-pink-400{color:var(--color-pink-400)}.text-purple-400{color:var(--color-purple-400)}.text-red-200{color:var(--color-red-200)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-900{color:var(--color-red-900)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-900{color:var(--color-yellow-900)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--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)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px 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)}.shadow-sm{--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)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px 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)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur-2xl{--tw-blur:blur(var(--blur-2xl));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,)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));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-2xl{--tw-drop-shadow-size:drop-shadow(0 25px 25px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-2xl));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,)}.invert{--tw-invert:invert(100%);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,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.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))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-500{transition-delay:.5s}.delay-1000{transition-delay:1s}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-blue-500:hover{border-color:var(--color-blue-500)}.hover\:border-slate-600:hover{border-color:var(--color-slate-600)}.hover\:bg-amber-700:hover{background-color:var(--color-amber-700)}.hover\:bg-blue-500:hover{background-color:var(--color-blue-500)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-emerald-700:hover{background-color:var(--color-emerald-700)}.hover\:bg-gray-300:hover{background-color:var(--color-gray-300)}.hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:bg-green-500:hover{background-color:var(--color-green-500)}.hover\:bg-green-600:hover{background-color:var(--color-green-600)}.hover\:bg-green-700:hover{background-color:var(--color-green-700)}.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}.hover\:bg-orange-700:hover{background-color:var(--color-orange-700)}.hover\:bg-purple-700:hover{background-color:var(--color-purple-700)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-slate-600:hover{background-color:var(--color-slate-600)}.hover\:bg-slate-700:hover{background-color:var(--color-slate-700)}.hover\:bg-slate-700\/50:hover{background-color:#31415880}@supports (color:color-mix(in lab,red,red)){.hover\:bg-slate-700\/50:hover{background-color:color-mix(in oklab,var(--color-slate-700)50%,transparent)}}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}.hover\:bg-yellow-700:hover{background-color:var(--color-yellow-700)}.hover\:from-amber-700:hover{--tw-gradient-from:var(--color-amber-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-orange-700:hover{--tw-gradient-to:var(--color-orange-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:text-gray-300:hover{color:var(--color-gray-300)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-white:hover{color:var(--color-white)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px 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)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-gray-500:focus{--tw-ring-color:var(--color-gray-500)}.focus\:ring-green-500:focus{--tw-ring-color:var(--color-green-500)}.focus\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.focus\:ring-yellow-500:focus{--tw-ring-color:var(--color-yellow-500)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-slate-700:disabled{background-color:var(--color-slate-700)}.disabled\:bg-slate-800:disabled{background-color:var(--color-slate-800)}.disabled\:text-slate-400:disabled{color:var(--color-slate-400)}.disabled\:text-slate-500:disabled{color:var(--color-slate-500)}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:hidden{display:none}.sm\:flex-row{flex-direction:row}}@media(min-width:48rem){.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}@media(min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:py-24{padding-block:calc(var(--spacing)*24)}}}:root{--knob-size:clamp(48px,4.5vw,64px);--pedal-height:clamp(220px,28vh,320px)}@font-face{font-family:Bravura;src:url(/fonts/Bravura.woff2)format("woff2"),url(/fonts/Bravura.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}.smufl{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Bravura,serif}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}:root,:root.theme-dark{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-hover: #475569;--bg-active: #1e293b;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--text-inverse: #0f172a;--border-primary: #334155;--border-secondary: #475569;--border-light: rgba(148, 163, 184, .2);--btn-bg: rgba(255, 255, 255, .1);--btn-hover: rgba(255, 255, 255, .15);--btn-active: rgba(255, 255, 255, .2);--input-bg: #1e293b;--input-border: #334155;--input-text: #e2e8f0;--accent-blue: #60a5fa;--accent-green: #22c55e;--accent-yellow: #fbbf24;--accent-red: #ef4444;--accent-purple: #a78bfa;--accent-pink: #f472b6;--accent-indigo: #818cf8;--accent-emerald: #34d399;--canvas-bg: #1e293b;--staff-line: #475569;--note-text: #60a5fa;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5)}:root.theme-light{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--bg-hover: #e2e8f0;--bg-active: #f1f5f9;--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #64748b;--text-inverse: #ffffff;--border-primary: #e2e8f0;--border-secondary: #cbd5e1;--border-light: rgba(0, 0, 0, .1);--btn-bg: rgba(0, 0, 0, .05);--btn-hover: rgba(0, 0, 0, .1);--btn-active: rgba(0, 0, 0, .15);--input-bg: #ffffff;--input-border: #cbd5e1;--input-text: #1e293b;--accent-blue: #3b82f6;--accent-green: #16a34a;--accent-yellow: #f59e0b;--accent-red: #dc2626;--accent-purple: #7c3aed;--accent-pink: #db2777;--accent-indigo: #4f46e5;--accent-emerald: #059669;--canvas-bg: #ffffff;--staff-line: #94a3b8;--note-text: #2563eb;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1)}body{background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .2s ease,color .2s ease}.avatar-button[data-v-9b1ea7ac]{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:9999px;background:transparent;border:none;cursor:pointer;transition:background-color .15s}.avatar-button[data-v-9b1ea7ac]:hover{background:var(--btn-hover)}.avatar-circle[data-v-9b1ea7ac]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--bg-tertiary);border-radius:9999px}.avatar-initials[data-v-9b1ea7ac]{color:var(--text-primary);font-weight:500;font-size:.875rem}.menu-items[data-v-9b1ea7ac]{position:absolute;right:0;z-index:9999;margin-top:.5rem;width:14rem;transform-origin:top right;border-radius:.375rem;background:var(--bg-secondary);box-shadow:var(--shadow-lg);border:1px solid var(--border-primary)}.menu-items>div[data-v-9b1ea7ac]{border-bottom:1px solid var(--border-primary)}.menu-items>div[data-v-9b1ea7ac]:last-child{border-bottom:none}.user-info[data-v-9b1ea7ac]{padding:.75rem}.user-name[data-v-9b1ea7ac]{font-size:.875rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email[data-v-9b1ea7ac]{font-size:.75rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item[data-v-9b1ea7ac]{display:flex;width:100%;align-items:center;border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:all .15s}.menu-item[data-v-9b1ea7ac]:hover,.menu-item-active[data-v-9b1ea7ac]{background:var(--btn-hover);color:var(--text-primary)}.header-container[data-v-0e9460a3]{position:fixed;width:100%;height:10vh;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-primary);z-index:9998;transition:background-color .2s ease,border-color .2s ease}.menu-btn[data-v-0e9460a3]{padding:.5rem;border-radius:.5rem;background:var(--btn-bg);border:none;color:var(--text-primary);cursor:pointer;transition:background-color .15s}.menu-btn[data-v-0e9460a3]:hover{background:var(--btn-hover)}.readonly-badge[data-v-0e9460a3]{padding:.25rem .5rem;font-size:.75rem;border-radius:.25rem;background:var(--bg-tertiary);color:var(--text-secondary)}.app-container[data-v-6a72e9df]{display:flex;flex-direction:column;min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .2s ease,color .2s ease}.main-content[data-v-6a72e9df]{background-color:var(--bg-primary);transition:background-color .2s ease}.bg-spotify-green[data-v-991d4683]{background-color:#1db954}.bg-spotify-dark[data-v-991d4683]{background-color:#121212}.bg-spotify-darker[data-v-991d4683]{background-color:#181818}.bg-spotify-black[data-v-991d4683]{background-color:#000}.bg-spotify-card[data-v-991d4683]{background-color:#282828}.text-accent-blue[data-v-991d4683]{color:#818cf8}.text-spotify[data-v-991d4683]{color:#1db954}.text-spotify-gray[data-v-991d4683]{color:#b3b3b3}.text-spotify-light-gray[data-v-991d4683]{color:#a7a7a7}@keyframes gradient-991d4683{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.animate-gradient[data-v-991d4683]{background-size:200% 200%;animation:gradient-991d4683 3s ease infinite}.feature-card[data-v-991d4683]{background-color:#ffffff0d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:.75rem;padding:1.5rem;text-align:left;transition:all .3s ease;border:1px solid rgba(255,255,255,.05)}.feature-card[data-v-991d4683]:hover{background-color:#ffffff1a;border-color:#ffffff1a;transform:translateY(-.25rem)}.feature-icon[data-v-991d4683]{width:3rem;height:3rem;border-radius:9999px;background:linear-gradient(to bottom right,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:#fff;box-shadow:0 10px 15px -3px #6366f159;transition:transform .2s ease}.group:hover .feature-icon[data-v-991d4683]{transform:scale(1.1)}.cta-primary[data-v-991d4683]{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;background-color:#2148f4;color:#fff;font-weight:700;border-radius:9999px;transition:all .2s ease;box-shadow:0 10px 15px -3px #6366f166}.cta-primary[data-v-991d4683]:hover{background-color:#0f7fff;transform:scale(1.05)}.cta-secondary[data-v-991d4683]{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;background-color:#ffffff1a;color:#fff;font-weight:600;border-radius:9999px;transition:all .2s ease;border:1px solid rgba(255,255,255,.2)}.cta-secondary[data-v-991d4683]:hover{background-color:#fff3;border-color:#fff6}.from-spotify-dark[data-v-991d4683]{--tw-gradient-from: #121212}.via-spotify-darker[data-v-991d4683]{--tw-gradient-stops: var(--tw-gradient-from), #181818, var(--tw-gradient-to)}.to-spotify-black[data-v-991d4683]{--tw-gradient-to: #000000}.from-accent-blue[data-v-991d4683]{--tw-gradient-from: #6366F1}.to-accent-blue[data-v-991d4683]{--tw-gradient-to: #6366F1}.bg-accent-blue\/10[data-v-991d4683]{background-color:#6366f11a}.bg-accent-blue\/5[data-v-991d4683]{background-color:#6366f10d}.bg-accent-blue\/20[data-v-991d4683]{background-color:#6366f133}.delay-500[data-v-991d4683]{animation-delay:.5s}.delay-1000[data-v-991d4683]{animation-delay:1s}.collection-grid-view[data-v-44ab87e5]{min-height:100%;display:flex;flex-direction:column}.toolbar[data-v-44ab87e5]{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.search-box[data-v-44ab87e5]{position:relative;flex:1;min-width:200px;max-width:280px}.search-icon[data-v-44ab87e5]{position:absolute;left:.5rem;top:50%;transform:translateY(-50%);width:.875rem;height:.875rem;color:var(--border-secondary);pointer-events:none}.search-input[data-v-44ab87e5]{width:100%;padding:.375rem 1.75rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:.25rem;color:var(--text-primary);font-size:.75rem;transition:border-color .15s}.search-input[data-v-44ab87e5]:focus{outline:none;border-color:#3b82f6}.search-input[data-v-44ab87e5]::placeholder{color:var(--border-secondary)}.clear-search[data-v-44ab87e5]{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--border-secondary);cursor:pointer;padding:.125rem;line-height:1}.clear-search[data-v-44ab87e5]:hover{color:var(--text-muted)}.new-btn[data-v-44ab87e5]{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;background:#3b82f6;color:#fff;border:none;border-radius:.25rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:background .15s;margin-left:auto}.new-btn[data-v-44ab87e5]:hover{background:#2563eb}.content[data-v-44ab87e5]{flex:1}.cards-grid[data-v-44ab87e5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.collection-card[data-v-44ab87e5]{display:flex;flex-direction:column;align-items:center;padding:1.25rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:.5rem;cursor:pointer;transition:all .2s;position:relative}.collection-card[data-v-44ab87e5]:hover{border-color:var(--collection-color, #3b82f6);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.collection-card[data-v-44ab87e5]:focus{outline:none;border-color:var(--collection-color, #3b82f6);box-shadow:0 0 0 2px #3b82f64d}.all-tabs-card[data-v-44ab87e5]{--collection-color: #8b5cf6}.all-tabs-card .card-icon[data-v-44ab87e5]{background:linear-gradient(135deg,#8b5cf6,#6366f1)}.card-icon[data-v-44ab87e5]{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:.75rem;color:#fff;margin-bottom:.75rem}.card-info[data-v-44ab87e5]{text-align:center}.card-name[data-v-44ab87e5]{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.card-owner[data-v-44ab87e5]{font-size:.6875rem;color:var(--text-secondary)}.card-actions[data-v-44ab87e5]{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.25rem;opacity:0;transition:opacity .15s}.collection-card:hover .card-actions[data-v-44ab87e5]{opacity:1}.action-btn[data-v-44ab87e5]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:.25rem;color:var(--text-muted);cursor:pointer;transition:all .15s}.action-btn[data-v-44ab87e5]:hover{background:var(--border-primary);color:var(--text-primary)}.action-btn.delete[data-v-44ab87e5]:hover{background:#ef4444;border-color:#ef4444;color:#fff}.loading-state[data-v-44ab87e5],.error-state[data-v-44ab87e5],.empty-state[data-v-44ab87e5]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--text-secondary)}.loading-state p[data-v-44ab87e5],.error-state p[data-v-44ab87e5],.empty-state p[data-v-44ab87e5]{margin-top:.5rem;font-size:.75rem}.error-state[data-v-44ab87e5]{color:#ef4444}.error-state h3[data-v-44ab87e5],.empty-state h3[data-v-44ab87e5]{margin:.75rem 0 .25rem;font-size:1rem;color:var(--text-primary)}.retry-btn[data-v-44ab87e5],.create-first-btn[data-v-44ab87e5]{margin-top:1rem;display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:.25rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:background .15s}.retry-btn[data-v-44ab87e5]:hover,.create-first-btn[data-v-44ab87e5]:hover{background:#2563eb}.animate-spin[data-v-44ab87e5]{animation:spin-44ab87e5 1s linear infinite}@keyframes spin-44ab87e5{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pagination-wrapper[data-v-44ab87e5]{position:fixed;bottom:0;left:0;right:0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 1.5rem;background:var(--bg-primary);border-top:1px solid var(--border-primary);z-index:40}.pagination-info[data-v-44ab87e5]{color:var(--text-secondary);font-size:.6875rem}.pagination[data-v-44ab87e5]{display:flex;align-items:center;gap:.25rem}.page-btn[data-v-44ab87e5]{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 .375rem;background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border-primary);border-radius:.25rem;font-size:.6875rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.page-btn[data-v-44ab87e5]:hover:not(:disabled){background:var(--border-primary);color:var(--text-primary);border-color:var(--border-secondary)}.page-btn[data-v-44ab87e5]:disabled{opacity:.4;cursor:not-allowed}.page-btn.page-num[data-v-44ab87e5]{font-weight:500}.page-btn.active[data-v-44ab87e5]{background:#3b82f6;color:#fff;border-color:#3b82f6}.page-ellipsis[data-v-44ab87e5]{color:var(--text-secondary);font-size:.6875rem;padding:0 .25rem}.page-size-selector[data-v-44ab87e5]{display:flex;align-items:center;gap:.375rem}.page-size-selector label[data-v-44ab87e5]{color:var(--text-secondary);font-size:.6875rem}.page-size-selector select[data-v-44ab87e5]{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:.25rem;color:var(--text-primary);font-size:.6875rem;padding:.25rem .5rem;cursor:pointer}.page-size-selector select[data-v-44ab87e5]:focus{outline:none;border-color:#3b82f6}.fab-add[data-v-44ab87e5]{position:fixed;bottom:3.5rem;right:1rem;width:48px;height:48px;border-radius:50%;background:#3b82f6;color:#fff;border:none;box-shadow:0 2px 8px #0000004d;display:none;align-items:center;justify-content:center;cursor:pointer;z-index:50;transition:background .15s}.fab-add[data-v-44ab87e5]:hover{background:#2563eb}@media(max-width:639px){.toolbar[data-v-44ab87e5]{flex-direction:column;align-items:stretch;gap:.5rem}.search-box[data-v-44ab87e5]{max-width:none;order:1}.new-btn[data-v-44ab87e5]{display:none}.fab-add[data-v-44ab87e5]{display:flex}.cards-grid[data-v-44ab87e5]{grid-template-columns:repeat(2,1fr);gap:.75rem}.collection-card[data-v-44ab87e5]{padding:1rem .75rem}.card-icon[data-v-44ab87e5]{width:48px;height:48px}.card-icon svg[data-v-44ab87e5]{width:24px;height:24px}.card-actions[data-v-44ab87e5]{opacity:1}.pagination-wrapper[data-v-44ab87e5]{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.5rem;padding:.5rem .75rem}.pagination[data-v-44ab87e5]{order:1;width:100%;justify-content:center}.page-btn.page-num[data-v-44ab87e5]{display:none}.page-btn.page-num.active[data-v-44ab87e5]{display:flex}.page-ellipsis[data-v-44ab87e5]{display:none}}@media(min-width:640px)and (max-width:767px){.cards-grid[data-v-44ab87e5]{grid-template-columns:repeat(3,1fr)}}@media(min-width:768px)and (max-width:1023px){.cards-grid[data-v-44ab87e5]{grid-template-columns:repeat(4,1fr)}}@media(min-width:1024px){.cards-grid[data-v-44ab87e5]{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.fab-add[data-v-44ab87e5]{display:none}}.tab-card[data-v-765449a7]{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:.75rem;cursor:pointer;transition:all .2s ease;overflow:hidden;display:flex;flex-direction:column;position:relative}.tab-card[data-v-765449a7]:hover{border-color:#3b82f6;box-shadow:0 8px 24px #3b82f626,0 0 0 1px #3b82f61a;transform:translateY(-2px)}.tab-card:hover .delete-btn[data-v-765449a7]{opacity:1}.delete-btn[data-v-765449a7]{position:absolute;top:.5rem;right:.5rem;z-index:10;display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#ef4444e6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;opacity:0;transition:opacity .15s ease,background .15s ease}.delete-btn[data-v-765449a7]:hover{background:#dc2626}.collection-badge[data-v-765449a7]{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:color-mix(in srgb,var(--collection-color) 20%,transparent);border:1px solid var(--collection-color);border-radius:.25rem;font-size:.625rem;font-weight:500;color:var(--collection-color);width:fit-content;margin-top:.25rem}.card-header[data-v-765449a7]{background:var(--border-primary);padding:.75rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.header-content[data-v-765449a7]{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.header-title[data-v-765449a7]{margin:0;color:var(--text-primary);font-size:.875rem;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-artist[data-v-765449a7]{color:var(--text-muted);font-size:.6875rem;font-style:italic}.btn-icon[data-v-765449a7]{width:16px;height:16px}.card-body[data-v-765449a7]{padding:.875rem;flex:1;display:flex;flex-direction:column;gap:.5rem}.instrument-badge[data-v-765449a7]{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:var(--btn-bg);border:1px solid var(--border-primary);border-radius:.25rem;color:var(--accent-blue);font-size:.625rem;font-weight:500;width:fit-content}.instrument-badge .badge-icon[data-v-765449a7]{width:12px;height:12px}.title[data-v-765449a7]{margin:0;color:var(--text-primary);font-size:.9375rem;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.artist[data-v-765449a7]{margin:0;color:var(--text-muted);font-size:.75rem;font-style:italic}.meta-tags[data-v-765449a7]{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:auto}.tag[data-v-765449a7]{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:.25rem;font-size:.625rem;font-weight:500}.tag-icon[data-v-765449a7]{width:10px;height:10px;opacity:.8}.key-tag[data-v-765449a7]{background:var(--btn-bg);color:var(--accent-green);border:1px solid var(--border-primary)}.tempo-tag[data-v-765449a7]{background:var(--btn-bg);color:var(--accent-yellow);border:1px solid var(--border-primary)}.time-tag[data-v-765449a7]{background:var(--btn-bg);color:var(--accent-blue);border:1px solid var(--border-primary)}.card-footer[data-v-765449a7]{display:flex;border-top:1px solid var(--border-primary);background:var(--bg-tertiary)}.footer-btn[data-v-765449a7]{flex:1;display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem .5rem;background:transparent;border:none;color:var(--text-secondary);font-size:.6875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.footer-btn[data-v-765449a7]:not(:last-child){border-right:1px solid var(--border-primary)}.footer-btn .btn-icon[data-v-765449a7]{width:14px;height:14px}.footer-btn[data-v-765449a7]:hover{background:var(--btn-hover)}.view-btn[data-v-765449a7]:hover{color:var(--accent-blue);background:var(--btn-hover)}.print-btn[data-v-765449a7]:hover{color:var(--accent-purple);background:var(--btn-hover)}.play-btn[data-v-765449a7]:hover{color:var(--accent-green);background:var(--btn-hover)}.practice-btn[data-v-765449a7]:hover{color:var(--accent-blue);background:var(--btn-hover)}.edit-btn[data-v-765449a7]:hover{color:var(--accent-yellow);background:var(--btn-hover)}@media(max-width:639px){.card-body[data-v-765449a7]{padding:.75rem}.title[data-v-765449a7]{font-size:.875rem}.footer-btn[data-v-765449a7]{padding:.75rem}}.tabs-grid-view[data-v-ccfe1b0f]{min-height:100%;display:flex;flex-direction:column}.header[data-v-ccfe1b0f]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.back-btn[data-v-ccfe1b0f]{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:.25rem;color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:all .15s}.back-btn[data-v-ccfe1b0f]:hover{border-color:#3b82f6;color:var(--text-primary)}.collection-title[data-v-ccfe1b0f]{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.toolbar[data-v-ccfe1b0f]{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.search-box[data-v-ccfe1b0f]{position:relative;flex:1;min-width:200px;max-width:280px}.search-icon[data-v-ccfe1b0f]{position:absolute;left:.5rem;top:50%;transform:translateY(-50%);width:.875rem;height:.875rem;color:var(--border-secondary);pointer-events:none}.search-input[data-v-ccfe1b0f]{width:100%;padding:.375rem 1.75rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:.25rem;color:var(--text-primary);font-size:.75rem;transition:border-color .15s}.search-input[data-v-ccfe1b0f]:focus{outline:none;border-color:#3b82f6}.search-input[data-v-ccfe1b0f]::placeholder{color:var(--border-secondary)}.clear-search[data-v-ccfe1b0f]{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--border-secondary);cursor:pointer;padding:.125rem;line-height:1}.clear-search[data-v-ccfe1b0f]:hover{color:var(--text-muted)}.new-btn[data-v-ccfe1b0f]{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;background:#3b82f6;color:#fff;border:none;border-radius:.25rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:background .15s;margin-left:auto}.new-btn[data-v-ccfe1b0f]:hover{background:#2563eb}.content[data-v-ccfe1b0f]{flex:1;padding-bottom:4rem}.cards-grid[data-v-ccfe1b0f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.loading-state[data-v-ccfe1b0f],.error-state[data-v-ccfe1b0f],.empty-state[data-v-ccfe1b0f]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--text-secondary)}.loading-state p[data-v-ccfe1b0f],.error-state p[data-v-ccfe1b0f],.empty-state p[data-v-ccfe1b0f]{margin-top:.5rem;font-size:.75rem}.error-state[data-v-ccfe1b0f]{color:#ef4444}.error-state h3[data-v-ccfe1b0f],.empty-state h3[data-v-ccfe1b0f]{margin:.75rem 0 .25rem;font-size:1rem;color:var(--text-primary)}.retry-btn[data-v-ccfe1b0f],.create-first-btn[data-v-ccfe1b0f]{margin-top:1rem;display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:.25rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:background .15s}.retry-btn[data-v-ccfe1b0f]:hover,.create-first-btn[data-v-ccfe1b0f]:hover{background:#2563eb}.animate-spin[data-v-ccfe1b0f]{animation:spin-ccfe1b0f 1s linear infinite}@keyframes spin-ccfe1b0f{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pagination-wrapper[data-v-ccfe1b0f]{position:fixed;bottom:0;left:0;right:0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 1.5rem;background:var(--bg-primary);border-top:1px solid var(--border-primary);z-index:40}.pagination-info[data-v-ccfe1b0f]{color:var(--text-secondary);font-size:.6875rem}.pagination[data-v-ccfe1b0f]{display:flex;align-items:center;gap:.25rem}.page-btn[data-v-ccfe1b0f]{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 .375rem;background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border-primary);border-radius:.25rem;font-size:.6875rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.page-btn[data-v-ccfe1b0f]:hover:not(:disabled){background:var(--border-primary);color:var(--text-primary);border-color:var(--border-secondary)}.page-btn[data-v-ccfe1b0f]:disabled{opacity:.4;cursor:not-allowed}.page-btn.page-num[data-v-ccfe1b0f]{font-weight:500}.page-btn.active[data-v-ccfe1b0f]{background:#3b82f6;color:#fff;border-color:#3b82f6}.page-ellipsis[data-v-ccfe1b0f]{color:var(--text-secondary);font-size:.6875rem;padding:0 .25rem}.page-size-selector[data-v-ccfe1b0f]{display:flex;align-items:center;gap:.375rem}.page-size-selector label[data-v-ccfe1b0f]{color:var(--text-secondary);font-size:.6875rem}.page-size-selector select[data-v-ccfe1b0f]{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:.25rem;color:var(--text-primary);font-size:.6875rem;padding:.25rem .5rem;cursor:pointer}.page-size-selector select[data-v-ccfe1b0f]:focus{outline:none;border-color:#3b82f6}.fab-add[data-v-ccfe1b0f]{position:fixed;bottom:3.5rem;right:1rem;width:48px;height:48px;border-radius:50%;background:#3b82f6;color:#fff;border:none;box-shadow:0 2px 8px #0000004d;display:none;align-items:center;justify-content:center;cursor:pointer;z-index:50;transition:background .15s}.fab-add[data-v-ccfe1b0f]:hover{background:#2563eb}@media(max-width:639px){.header[data-v-ccfe1b0f]{flex-wrap:wrap}.toolbar[data-v-ccfe1b0f]{flex-direction:column;align-items:stretch;gap:.5rem}.search-box[data-v-ccfe1b0f]{max-width:none;order:1}.new-btn[data-v-ccfe1b0f]{display:none}.fab-add[data-v-ccfe1b0f]{display:flex}.cards-grid[data-v-ccfe1b0f]{grid-template-columns:repeat(2,1fr);gap:.5rem}.pagination-wrapper[data-v-ccfe1b0f]{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.5rem;padding:.5rem .75rem}.pagination[data-v-ccfe1b0f]{order:1;width:100%;justify-content:center}.page-btn.page-num[data-v-ccfe1b0f]{display:none}.page-btn.page-num.active[data-v-ccfe1b0f]{display:flex}.page-ellipsis[data-v-ccfe1b0f]{display:none}}@media(max-width:379px){.cards-grid[data-v-ccfe1b0f]{grid-template-columns:1fr}}@media(min-width:640px)and (max-width:767px){.new-btn[data-v-ccfe1b0f]{display:none}.fab-add[data-v-ccfe1b0f]{display:flex}.cards-grid[data-v-ccfe1b0f]{grid-template-columns:repeat(3,1fr)}}@media(min-width:768px)and (max-width:1023px){.cards-grid[data-v-ccfe1b0f]{grid-template-columns:repeat(4,1fr)}}@media(min-width:1024px){.cards-grid[data-v-ccfe1b0f]{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.fab-add[data-v-ccfe1b0f]{display:none}}.modal-overlay[data-v-a397485b]{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:.5rem}.modal-container[data-v-a397485b]{background:var(--modal-bg, #1e293b);border-radius:.5rem;box-shadow:0 20px 50px #00000080;max-width:400px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-a397485b]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--modal-header-bg, #0f172a);border-bottom:1px solid var(--border-color, #334155)}.modal-header h2[data-v-a397485b]{margin:0;color:var(--text-primary, #f1f5f9);font-size:.9375rem;font-weight:600}.close-button[data-v-a397485b]{padding:.375rem;border-radius:.25rem;color:var(--text-muted, #64748b);background:transparent;border:none;cursor:pointer;transition:all .15s;line-height:1}.close-button[data-v-a397485b]:hover{background:var(--hover-bg, #334155);color:var(--text-primary, #f1f5f9)}.modal-content[data-v-a397485b]{padding:1rem;overflow-y:auto;flex:1}.form-grid[data-v-a397485b]{display:flex;flex-direction:column;gap:1rem}.form-group[data-v-a397485b]{display:flex;flex-direction:column;gap:.375rem}.form-group label[data-v-a397485b]{font-size:.75rem;font-weight:500;color:var(--text-secondary, #94a3b8)}.form-group input[data-v-a397485b],.form-group textarea[data-v-a397485b]{padding:.5rem .625rem;background:var(--input-bg, #0f172a);border:1px solid var(--border-color, #334155);border-radius:.25rem;color:var(--text-primary, #f1f5f9);font-size:.8125rem;transition:border-color .15s;font-family:inherit}.form-group textarea[data-v-a397485b]{resize:vertical;min-height:60px}.form-group input[data-v-a397485b]:focus,.form-group textarea[data-v-a397485b]:focus{outline:none;border-color:#3b82f6}.form-group input[data-v-a397485b]::placeholder,.form-group textarea[data-v-a397485b]::placeholder{color:var(--text-muted, #475569)}.color-picker[data-v-a397485b]{display:flex;flex-wrap:wrap;gap:.5rem}.color-swatch[data-v-a397485b]{width:28px;height:28px;border-radius:.25rem;border:2px solid transparent;cursor:pointer;transition:all .15s}.color-swatch[data-v-a397485b]:hover{transform:scale(1.1)}.color-swatch.active[data-v-a397485b]{border-color:#fff;box-shadow:0 0 0 2px #3b82f680}.info-box[data-v-a397485b]{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;background:var(--input-bg, #0f172a);border-radius:.375rem;color:var(--text-secondary, #94a3b8);font-size:.8125rem}.modal-footer[data-v-a397485b]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--modal-header-bg, #0f172a);border-top:1px solid var(--border-color, #334155)}.footer-right[data-v-a397485b]{display:flex;gap:.5rem}.btn-cancel[data-v-a397485b]{padding:.5rem .875rem;border-radius:.25rem;font-weight:500;font-size:.8125rem;color:var(--text-secondary, #94a3b8);background:transparent;border:1px solid var(--border-color, #334155);cursor:pointer;transition:all .15s}.btn-cancel[data-v-a397485b]:hover{background:var(--hover-bg, #334155);color:var(--text-primary, #f1f5f9)}.btn-ok[data-v-a397485b]{padding:.5rem 1rem;border-radius:.25rem;font-weight:500;font-size:.8125rem;color:#fff;background:#3b82f6;border:1px solid #3b82f6;cursor:pointer;transition:all .15s}.btn-ok[data-v-a397485b]:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.btn-ok[data-v-a397485b]:disabled{opacity:.5;cursor:not-allowed}.btn-delete[data-v-a397485b]{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border-radius:.25rem;font-weight:500;font-size:.8125rem;color:#f87171;background:transparent;border:1px solid transparent;cursor:pointer;transition:all .15s}.btn-delete[data-v-a397485b]:hover{background:#ef44441a;border-color:#ef44444d}.modal-enter-active[data-v-a397485b],.modal-leave-active[data-v-a397485b]{transition:opacity .2s ease}.modal-enter-active .modal-container[data-v-a397485b],.modal-leave-active .modal-container[data-v-a397485b]{transition:transform .2s ease}.modal-enter-from[data-v-a397485b],.modal-leave-to[data-v-a397485b]{opacity:0}.modal-enter-from .modal-container[data-v-a397485b],.modal-leave-to .modal-container[data-v-a397485b]{transform:scale(.95)}@media(max-width:639px){.modal-overlay[data-v-a397485b]{padding:0;align-items:flex-end}.modal-container[data-v-a397485b]{max-width:none;width:100%;border-radius:.75rem .75rem 0 0;max-height:85vh}.modal-content[data-v-a397485b]{padding:1rem .875rem}.modal-enter-from .modal-container[data-v-a397485b],.modal-leave-to .modal-container[data-v-a397485b]{transform:translateY(100%)}.modal-enter-active .modal-container[data-v-a397485b],.modal-leave-active .modal-container[data-v-a397485b]{transition:transform .25s ease}}.tabs-view[data-v-2bab20fb]{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);padding:1rem 1.5rem}@media(max-width:639px){.tabs-view[data-v-2bab20fb]{padding:.5rem}}@media(min-width:1024px){.tabs-view[data-v-2bab20fb]{padding:1rem 2rem}}@media(min-width:1280px){.tabs-view[data-v-2bab20fb]{padding:1.5rem 3rem}}.setup-container[data-v-843ab6fe]{display:flex;flex-direction:column;min-height:90vh;background:var(--bg-primary);color:var(--text-primary)}.setup-main[data-v-843ab6fe]{flex:1;display:flex;align-items:center;justify-content:center;padding:.5rem}.setup-card[data-v-843ab6fe]{background:var(--bg-secondary);border-radius:.5rem;border:1px solid var(--border-primary);overflow:hidden;width:100%;max-width:700px}.setup-section[data-v-843ab6fe]{padding:.5rem;border-bottom:1px solid var(--border-primary)}.setup-section[data-v-843ab6fe]:last-of-type{border-bottom:none}.section-title[data-v-843ab6fe]{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 1rem}.form-grid[data-v-843ab6fe]{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-group[data-v-843ab6fe]{display:flex;flex-direction:column;gap:.375rem}.form-group.full-width[data-v-843ab6fe]{grid-column:1 / -1}.form-group label[data-v-843ab6fe]{font-size:.8125rem;font-weight:500;color:var(--text-muted)}.required[data-v-843ab6fe]{color:#ef4444}.form-group input[data-v-843ab6fe],.form-group select[data-v-843ab6fe]{padding:.625rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:.375rem;color:var(--text-primary);font-size:.875rem;transition:border-color .2s}.form-group input[data-v-843ab6fe]:focus,.form-group select[data-v-843ab6fe]:focus{outline:none;border-color:#3b82f6}.form-group input.error[data-v-843ab6fe]{border-color:#ef4444}.error-text[data-v-843ab6fe]{font-size:.75rem;color:#ef4444}.collection-select[data-v-843ab6fe]{display:flex;gap:.5rem}.collection-select select[data-v-843ab6fe]{flex:1}.btn-add-collection[data-v-843ab6fe]{display:flex;align-items:center;justify-content:center;padding:.5rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:.375rem;color:var(--text-muted);cursor:pointer;transition:all .2s}.btn-add-collection[data-v-843ab6fe]:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-secondary)}.setup-actions[data-v-843ab6fe]{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;background:var(--bg-tertiary);border-top:1px solid var(--border-primary)}.btn-cancel[data-v-843ab6fe],.btn-next[data-v-843ab6fe]{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel[data-v-843ab6fe]{background:transparent;border:1px solid var(--border-secondary);color:var(--text-muted)}.btn-cancel[data-v-843ab6fe]:hover{background:var(--bg-secondary);color:var(--text-primary)}.btn-next[data-v-843ab6fe]{background:#3b82f6;border:1px solid #3b82f6;color:#fff}.btn-next[data-v-843ab6fe]:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.btn-next[data-v-843ab6fe]:disabled{opacity:.6;cursor:not-allowed}@media(max-width:640px){.setup-main[data-v-843ab6fe]{padding:1rem}.form-grid[data-v-843ab6fe]{grid-template-columns:1fr}.setup-actions[data-v-843ab6fe]{flex-direction:column-reverse}.btn-cancel[data-v-843ab6fe],.btn-next[data-v-843ab6fe]{justify-content:center;width:100%}}@keyframes spin-843ab6fe{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin[data-v-843ab6fe]{animation:spin-843ab6fe 1s linear infinite}.canvas-wrapper[data-v-3da61985]{width:100%;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}.canvas-container[data-v-3da61985]{position:relative;overflow:hidden;margin:0 auto}canvas[data-v-3da61985]{position:absolute;top:0;left:0}#staffCanvas[data-v-3da61985]{z-index:1;cursor:default;pointer-events:none}#playheadCanvas[data-v-3da61985]{z-index:2;background:transparent;pointer-events:none}#notesCanvas[data-v-3da61985]{z-index:3;background:transparent;cursor:crosshair;pointer-events:auto;touch-action:pan-x pan-y}@media(max-width:768px){.canvas-wrapper[data-v-3da61985]{padding:.5rem 0}.canvas-container[data-v-3da61985]{border-radius:8px;box-shadow:0 5px 20px #0000004d}}@media(max-width:480px){.canvas-wrapper[data-v-3da61985]{padding:.25rem 0}.canvas-container[data-v-3da61985]{border-radius:6px}}.note-config-modal[data-v-0c7b34f2]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-overlay[data-v-0c7b34f2]{position:absolute;top:0;left:0;width:100%;height:100%}.modal-content[data-v-0c7b34f2]{background:#fff;border-radius:12px;box-shadow:0 20px 50px #0000004d;width:400px;max-width:95vw;max-height:90vh;overflow-y:auto;position:relative;z-index:1001}.modal-header[data-v-0c7b34f2]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;background:#f9fafb;border-radius:12px 12px 0 0}.modal-header h2[data-v-0c7b34f2]{margin:0;color:#1f2937;font-size:1.1rem;font-weight:600}.close-btn[data-v-0c7b34f2]{background:none;border:none;color:#6b7280;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s}.close-btn[data-v-0c7b34f2]:hover{color:#1f2937;background:#e5e7eb}.modal-body[data-v-0c7b34f2]{padding:1.5rem}.info-row[data-v-0c7b34f2]{display:flex;align-items:center;gap:8px;padding:12px;background:#f3f4f6;border-radius:8px;margin-bottom:20px}.info-row.chord-info[data-v-0c7b34f2]{background:#dbeafe;border:1px solid #93c5fd}.info-label[data-v-0c7b34f2]{color:#6b7280;font-size:.85rem}.info-value[data-v-0c7b34f2]{color:#2563eb;font-weight:700;font-size:.9rem}.ml-4[data-v-0c7b34f2]{margin-left:16px}.config-section[data-v-0c7b34f2]{margin-bottom:20px}.section-label[data-v-0c7b34f2]{display:block;color:#374151;font-size:.85rem;font-weight:600;text-transform:uppercase;margin-bottom:10px;letter-spacing:.05em}.config-row[data-v-0c7b34f2]{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.config-field[data-v-0c7b34f2]{display:flex;flex-direction:column;gap:4px}.config-field label[data-v-0c7b34f2]{color:#6b7280;font-size:.75rem;text-transform:uppercase}.config-select[data-v-0c7b34f2]{background:#fff;border:1px solid #d1d5db;color:#374151;padding:8px 12px;border-radius:6px;font-size:.9rem;min-width:80px;cursor:pointer}.config-select[data-v-0c7b34f2]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.technique-select[data-v-0c7b34f2]{width:100%;min-width:200px}.duration-buttons[data-v-0c7b34f2]{display:flex;gap:6px;flex-wrap:wrap}.duration-btn[data-v-0c7b34f2]{width:32px;height:32px;padding-top:16px;border-radius:6px;border:2px solid #d1d5db;background:#fff;color:#374151;font-family:Bravura,Bravura Text,serif;font-size:1.1rem;line-height:1;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.duration-btn[data-v-0c7b34f2]:hover{border-color:#9ca3af;background:#f3f4f6}.duration-btn.active[data-v-0c7b34f2]{border-color:#2563eb;background:#2563eb1a;color:#2563eb}.duration-modifiers[data-v-0c7b34f2]{display:flex;gap:16px;margin-top:12px}.checkbox-label[data-v-0c7b34f2]{display:flex;align-items:center;gap:6px;font-size:.9rem;color:#374151;cursor:pointer}.checkbox-label input[type=checkbox][data-v-0c7b34f2]{width:16px;height:16px;accent-color:#2563eb;cursor:pointer}.checkbox-label.auto-tied[data-v-0c7b34f2]{color:#6b7280}.checkbox-label.auto-tied span[data-v-0c7b34f2]{font-style:italic}.finger-buttons[data-v-0c7b34f2]{display:flex;gap:8px}.finger-btn[data-v-0c7b34f2]{width:48px;height:48px;border-radius:8px;border:2px solid #d1d5db;background:#fff;color:#6b7280;font-size:1.25rem;font-weight:700;cursor:pointer;transition:all .2s}.finger-btn[data-v-0c7b34f2]:hover{border-color:#9ca3af;background:#f3f4f6}.finger-btn.active[data-v-0c7b34f2]{border-width:2px}.finger-btn.finger-p[data-v-0c7b34f2]{color:#f59e0b}.finger-btn.finger-p.active[data-v-0c7b34f2]{background:#f59e0b26;border-color:#f59e0b}.finger-btn.finger-i[data-v-0c7b34f2]{color:#3b82f6}.finger-btn.finger-i.active[data-v-0c7b34f2]{background:#3b82f626;border-color:#3b82f6}.finger-btn.finger-m[data-v-0c7b34f2]{color:#22c55e}.finger-btn.finger-m.active[data-v-0c7b34f2]{background:#22c55e26;border-color:#22c55e}.finger-btn.finger-a[data-v-0c7b34f2]{color:#ec4899}.finger-btn.finger-a.active[data-v-0c7b34f2]{background:#ec489926;border-color:#ec4899}.finger-legend[data-v-0c7b34f2]{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid #e5e7eb}.legend-item[data-v-0c7b34f2]{font-size:.75rem;font-weight:500}.legend-item.finger-p[data-v-0c7b34f2]{color:#f59e0b}.legend-item.finger-i[data-v-0c7b34f2]{color:#3b82f6}.legend-item.finger-m[data-v-0c7b34f2]{color:#22c55e}.legend-item.finger-a[data-v-0c7b34f2]{color:#ec4899}.articulation-buttons[data-v-0c7b34f2]{display:flex;gap:6px;flex-wrap:wrap}.articulation-btn[data-v-0c7b34f2]{width:42px;height:42px;border-radius:8px;border:2px solid #d1d5db;background:#fff;color:#374151;font-size:1.25rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.articulation-btn[data-v-0c7b34f2]:hover{border-color:#9ca3af;background:#f3f4f6}.articulation-btn.active[data-v-0c7b34f2]{border-color:#8b5cf6;background:#8b5cf61a;color:#8b5cf6}.articulation-desc[data-v-0c7b34f2]{margin-top:8px;font-size:.8rem;color:#6b7280;font-style:italic}.grace-note-row[data-v-0c7b34f2]{margin-bottom:12px}.grace-checkbox span[data-v-0c7b34f2]{font-weight:500}.grace-type-buttons[data-v-0c7b34f2]{display:flex;gap:10px}.grace-type-btn[data-v-0c7b34f2]{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;border-radius:8px;border:2px solid #d1d5db;background:#fff;cursor:pointer;transition:all .2s}.grace-type-btn[data-v-0c7b34f2]:hover{border-color:#9ca3af;background:#f3f4f6}.grace-type-btn.active[data-v-0c7b34f2]{border-color:#10b981;background:#10b9811a}.grace-symbol[data-v-0c7b34f2]{font-size:1.25rem;color:#374151}.grace-type-btn.active .grace-symbol[data-v-0c7b34f2]{color:#10b981}.grace-label[data-v-0c7b34f2]{font-size:.8rem;font-weight:500;color:#6b7280}.grace-type-btn.active .grace-label[data-v-0c7b34f2]{color:#10b981}.grace-desc[data-v-0c7b34f2]{margin-top:8px;font-size:.8rem;color:#6b7280;font-style:italic}.voice-buttons[data-v-0c7b34f2]{display:flex;gap:10px}.voice-btn[data-v-0c7b34f2]{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;border-radius:8px;border:2px solid #d1d5db;background:#fff;cursor:pointer;transition:all .2s}.voice-btn[data-v-0c7b34f2]:hover{border-color:#9ca3af;background:#f3f4f6}.voice-btn.active[data-v-0c7b34f2]{border-color:#2563eb;background:#2563eb1a}.voice-label[data-v-0c7b34f2]{font-size:.95rem;font-weight:600;color:#374151}.voice-btn.active .voice-label[data-v-0c7b34f2]{color:#2563eb}.voice-desc[data-v-0c7b34f2]{font-size:.75rem;color:#6b7280}.modal-footer[data-v-0c7b34f2]{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;background:#f9fafb;border-radius:0 0 12px 12px;border-top:1px solid #e5e7eb}.footer-btn[data-v-0c7b34f2]{display:flex;align-items:center;gap:6px;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.cancel-btn[data-v-0c7b34f2]{background:#fff;border:1px solid #d1d5db;color:#4b5563}.cancel-btn[data-v-0c7b34f2]:hover{background:#f3f4f6;border-color:#9ca3af}.save-btn[data-v-0c7b34f2]{background:#2563eb;border:1px solid #2563eb;color:#fff;padding:.5rem 1.5rem}.save-btn[data-v-0c7b34f2]:hover{background:#1d4ed8;border-color:#1d4ed8}@media(max-width:480px){.modal-content[data-v-0c7b34f2]{width:100%;max-width:100%;max-height:100%;border-radius:0}.modal-header[data-v-0c7b34f2],.modal-footer[data-v-0c7b34f2]{border-radius:0}.config-row[data-v-0c7b34f2]{flex-direction:column;align-items:stretch}.config-field[data-v-0c7b34f2],.config-select[data-v-0c7b34f2]{width:100%}.technique-grid[data-v-0c7b34f2]{grid-template-columns:repeat(2,1fr)}.duration-buttons[data-v-0c7b34f2]{gap:4px}.duration-btn[data-v-0c7b34f2]{width:28px;height:28px;padding-top:5px;font-size:.95rem}.duration-modifiers[data-v-0c7b34f2]{flex-direction:column;gap:10px}}.sheet-editor[data-v-1c539a59]{max-width:none;width:100%;margin:0;touch-action:pan-x pan-y}.sheet-editor.player-mode[data-v-1c539a59]{max-width:none;margin:0;padding:0;width:100%;height:100%;touch-action:pan-x pan-y}.input-field[data-v-1c539a59]{background:#ffffff0d;border:1px solid rgba(255,255,255,.15);color:#e6e1cf;padding:8px 12px;border-radius:6px;font-family:JetBrains Mono,monospace;font-size:.9rem;transition:all .3s ease}.input-field[data-v-1c539a59]:focus{outline:none;border-color:#f29718;box-shadow:0 0 0 3px #f297181a}.btn-primary[data-v-1c539a59]{background:#f29718;color:#0a0e14;font-weight:700;padding:10px 20px;border-radius:6px;border:none;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:.9rem;transition:all .3s ease}.btn-primary[data-v-1c539a59]:hover{background:#d4803d;transform:translateY(-2px);box-shadow:0 4px 12px #f297184d}.btn-secondary[data-v-1c539a59]{background:#ffffff1a;color:#e6e1cf;padding:10px 20px;border-radius:6px;border:none;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:.9rem;transition:all .3s ease}.btn-secondary[data-v-1c539a59]:hover:not(:disabled){background:#ffffff26;transform:translateY(-2px)}.btn-secondary[data-v-1c539a59]:disabled{opacity:.5;cursor:not-allowed}.technique-btn[data-v-1c539a59]{background:#ffffff0d;color:#e6e1cf;padding:8px 16px;border-radius:6px;border:1px solid rgba(255,255,255,.15);cursor:pointer;font-family:JetBrains Mono,monospace;font-size:.85rem;transition:all .3s ease}.technique-btn[data-v-1c539a59]:hover{background:#ffffff1a}.technique-btn.active[data-v-1c539a59]{background:#ffae57;color:#0a0e14;border-color:#ffae57}.mobile-drawer[data-v-1c539a59]{position:fixed;inset:0;z-index:50;pointer-events:none}.mobile-drawer.open[data-v-1c539a59]{pointer-events:auto}.drawer-backdrop[data-v-1c539a59]{position:absolute;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.drawer-content[data-v-1c539a59]{position:absolute;top:0;right:0;width:320px;max-width:90vw;height:100vh;background:#0f172af2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-left:1px solid rgba(255,255,255,.1);transform:translate(100%);transition:transform .3s ease}.mobile-drawer.open .drawer-content[data-v-1c539a59]{transform:translate(0)}.drawer-header[data-v-1c539a59]{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.drawer-header h3[data-v-1c539a59]{font-size:1.125rem;font-weight:600;color:#e6e1cf}.close-btn[data-v-1c539a59]{background:none;border:none;color:#94a3b8;font-size:1.5rem;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:all .2s}.close-btn[data-v-1c539a59]:hover{background:#ffffff1a;color:#e6e1cf}.drawer-section[data-v-1c539a59]{padding:1rem;border-bottom:1px solid rgba(255,255,255,.05)}.drawer-section[data-v-1c539a59]:last-child{border-bottom:none}.section-title[data-v-1c539a59]{font-size:.875rem;font-weight:600;color:#f29718;text-transform:uppercase;margin-bottom:.75rem;letter-spacing:.05em}.mobile-nav-bar[data-v-1c539a59]{margin:-10px -10px 20px}@media(max-width:768px){.sheet-editor[data-v-1c539a59]{padding:1px}.control-group[data-v-1c539a59]{flex-direction:column;align-items:stretch}.input-field[data-v-1c539a59],.btn-primary[data-v-1c539a59],.btn-secondary[data-v-1c539a59]{width:100%}}.single-bar-mode[data-v-1c539a59]{display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.single-bar-mode[data-v-1c539a59] canvas{max-width:100%;height:auto}.single-staff-mode[data-v-1c539a59]{display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.single-staff-mode[data-v-1c539a59] canvas{max-width:100%;height:auto}.modal-overlay[data-v-c5052392]{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:9999}.modal-content[data-v-c5052392]{background:#1e293b;border:1px solid #334155;border-radius:1rem;width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-c5052392]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #334155;background:#0f172a}.modal-header h2[data-v-c5052392]{margin:0;color:#f8fafc;font-size:1.125rem;font-weight:600}.close-btn[data-v-c5052392]{background:transparent;border:none;color:#64748b;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:color .2s}.close-btn[data-v-c5052392]:hover{color:#f8fafc}.modal-body[data-v-c5052392]{padding:1.25rem;overflow-y:auto;flex:1}.modal-description[data-v-c5052392]{color:#94a3b8;font-size:.875rem;margin:0 0 1rem;line-height:1.5}.sections-list[data-v-c5052392]{display:flex;flex-direction:column;gap:1rem}.section-item[data-v-c5052392]{background:#0f172a;border:1px solid #334155;border-radius:.5rem;padding:.75rem}.section-header[data-v-c5052392]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.section-number[data-v-c5052392]{color:#60a5fa;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.remove-btn[data-v-c5052392]{background:transparent;border:none;color:#64748b;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:color .2s}.remove-btn[data-v-c5052392]:hover{color:#ef4444}.section-fields[data-v-c5052392]{display:flex;flex-wrap:wrap;gap:.75rem}.field-group[data-v-c5052392]{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:100px}.field-group.field-small[data-v-c5052392]{flex:0 0 auto;min-width:70px}.field-group.field-full[data-v-c5052392]{flex:1 1 100%;min-width:100%}.field-group label[data-v-c5052392]{color:#94a3b8;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em}.field-group select[data-v-c5052392],.field-group input[data-v-c5052392]{background:#1e293b;border:1px solid #334155;color:#f8fafc;padding:.375rem .5rem;border-radius:.375rem;font-size:.8125rem}.field-group select[data-v-c5052392]:focus,.field-group input[data-v-c5052392]:focus{outline:none;border-color:#3b82f6}.measure-display[data-v-c5052392]{color:#f8fafc;font-size:.8125rem;padding:.375rem 0}.measure-range[data-v-c5052392]{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed #334155;color:#64748b;font-size:.75rem}.add-section-btn[data-v-c5052392]{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.625rem;margin-top:1rem;background:transparent;border:1px dashed #334155;border-radius:.5rem;color:#64748b;font-size:.8125rem;cursor:pointer;transition:all .2s}.add-section-btn[data-v-c5052392]:hover{background:#0f172a;border-color:#3b82f6;color:#3b82f6}.modal-footer[data-v-c5052392]{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;background:#0f172a;border-top:1px solid #334155}.btn-secondary[data-v-c5052392]{padding:.5rem 1rem;background:#334155;border:1px solid #475569;border-radius:.5rem;color:#e2e8f0;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.btn-secondary[data-v-c5052392]:hover{background:#3f4f63;border-color:#64748b}.btn-primary[data-v-c5052392]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#3b82f6;border:none;border-radius:.5rem;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.btn-primary[data-v-c5052392]:hover{background:#2563eb}.btn-primary[data-v-c5052392]:disabled{background:#475569;cursor:not-allowed;opacity:.6}.btn-primary[data-v-c5052392]:disabled:hover{background:#475569}.validation-errors[data-v-c5052392]{margin-top:1rem;padding:.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:.5rem}.validation-error[data-v-c5052392]{display:flex;align-items:flex-start;gap:.5rem;padding:.375rem 0;color:#fca5a5;font-size:.8125rem;line-height:1.4}.validation-error[data-v-c5052392]:not(:last-child){border-bottom:1px solid rgba(239,68,68,.2);padding-bottom:.5rem;margin-bottom:.25rem}.error-icon[data-v-c5052392]{flex-shrink:0;font-size:.875rem}.modal-enter-active[data-v-c5052392],.modal-leave-active[data-v-c5052392]{transition:opacity .2s ease}.modal-enter-from[data-v-c5052392],.modal-leave-to[data-v-c5052392]{opacity:0}.modal-enter-active .modal-content[data-v-c5052392],.modal-leave-active .modal-content[data-v-c5052392]{transition:transform .2s ease}.modal-enter-from .modal-content[data-v-c5052392],.modal-leave-to .modal-content[data-v-c5052392]{transform:scale(.95)}.menu-drawer[data-v-22eea830]{position:fixed;top:0;left:0;bottom:0;width:18rem;background:var(--bg-secondary);border-right:1px solid var(--border-primary);z-index:50;display:flex;flex-direction:column}.menu-header[data-v-22eea830]{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border-primary)}.menu-title[data-v-22eea830]{font-weight:600;color:var(--text-primary)}.close-btn[data-v-22eea830]{padding:.375rem;border-radius:.375rem;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:all .15s}.close-btn[data-v-22eea830]:hover{color:var(--text-primary);background:var(--bg-hover)}.section-label[data-v-22eea830]{padding:.375rem .75rem;font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.menu-item[data-v-22eea830]{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;text-align:left;color:var(--text-primary);font-size:.875rem;border-radius:.375rem;transition:background-color .15s;border:none;background:transparent;cursor:pointer}.menu-item[data-v-22eea830]:hover:not(:disabled){background-color:var(--bg-hover)}.menu-item[data-v-22eea830]:disabled{opacity:.4;cursor:not-allowed}.menu-item.active[data-v-22eea830]{background-color:var(--bg-active)}.tempo-btn[data-v-22eea830]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-tertiary);border-radius:.375rem;color:var(--text-primary);border:none;cursor:pointer;transition:background .15s}.tempo-btn[data-v-22eea830]:hover:not(:disabled){background:var(--bg-hover)}.tempo-btn[data-v-22eea830]:disabled{opacity:.5;cursor:not-allowed}.tempo-value[data-v-22eea830]{font-family:ui-monospace,monospace;font-size:.875rem;min-width:3rem;text-align:center;color:var(--text-primary)}.device-select[data-v-22eea830]{width:100%;padding:.375rem .5rem;background:var(--input-bg);border:1px solid var(--input-border);border-radius:.375rem;color:var(--input-text);font-size:.75rem;cursor:pointer}.device-select[data-v-22eea830]:focus{outline:none;border-color:var(--accent-blue)}.speed-increment-btn[data-v-22eea830]{padding:.25rem .5rem;font-size:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:.25rem;color:var(--text-secondary);cursor:pointer;transition:all .15s}.speed-increment-btn[data-v-22eea830]:hover{background:var(--bg-hover)}.speed-increment-btn.active[data-v-22eea830]{background:var(--accent-green);border-color:var(--accent-green);color:#fff}.ab-loop-btn[data-v-22eea830]{display:flex;flex-direction:column;align-items:center;padding:.375rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:.375rem;cursor:pointer;transition:all .15s}.ab-loop-btn[data-v-22eea830]:hover{background:var(--bg-hover)}.ab-loop-btn.active[data-v-22eea830]{border-color:var(--accent-blue);background:#3b82f61a}.ab-label[data-v-22eea830]{font-size:.625rem;font-weight:600;color:var(--text-muted);text-transform:uppercase}.ab-value[data-v-22eea830]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.ab-loop-btn.active .ab-label[data-v-22eea830]{color:var(--accent-blue)}.ab-clear-btn[data-v-22eea830]{display:flex;align-items:center;justify-content:center;padding:.375rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:.375rem;color:var(--text-secondary);cursor:pointer;transition:all .15s}.ab-clear-btn[data-v-22eea830]:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.ab-input-group[data-v-22eea830]{display:flex;align-items:center;gap:.25rem}.ab-input-label[data-v-22eea830]{font-size:.625rem;font-weight:600;color:var(--text-muted);text-transform:uppercase}.ab-input[data-v-22eea830]{width:3rem;padding:.25rem .375rem;font-size:.875rem;text-align:center;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:.25rem;color:var(--text-primary)}.ab-input[data-v-22eea830]:focus{outline:none;border-color:var(--accent-blue)}.ab-input[data-v-22eea830]::placeholder{color:var(--text-muted)}.ab-input[data-v-22eea830]::-webkit-outer-spin-button,.ab-input[data-v-22eea830]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ab-input[type=number][data-v-22eea830]{-moz-appearance:textfield}.fade-enter-active[data-v-22eea830],.fade-leave-active[data-v-22eea830]{transition:opacity .2s ease}.fade-enter-from[data-v-22eea830],.fade-leave-to[data-v-22eea830]{opacity:0}.slide-enter-active[data-v-22eea830],.slide-leave-active[data-v-22eea830]{transition:transform .25s ease}.slide-enter-from[data-v-22eea830],.slide-leave-to[data-v-22eea830]{transform:translate(-100%)}.fade-enter-active[data-v-0b1f8ef0],.fade-leave-active[data-v-0b1f8ef0]{transition:opacity .3s ease}.fade-enter-from[data-v-0b1f8ef0],.fade-leave-to[data-v-0b1f8ef0]{opacity:0}.editor-container[data-v-73f7d50c]{display:flex;height:100vh;height:100dvh;flex-direction:column;position:relative;background-color:var(--bg-primary);transition:background-color .2s ease}.sheet-section[data-v-73f7d50c]{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;background-color:var(--bg-primary);transition:background-color .2s ease}.loading-overlay[data-v-73f7d50c]{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.error-banner[data-v-73f7d50c]{position:fixed;top:60px;right:20px;background:#ef4444;color:#fff;padding:1rem;border-radius:8px;box-shadow:0 4px 12px #0000004d;z-index:100}.unsaved-indicator[data-v-73f7d50c]{position:fixed;bottom:20px;right:20px;background:#f59e0b;color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;z-index:50}@media(max-width:768px){.unsaved-indicator[data-v-73f7d50c]{bottom:20px;right:10px;font-size:.75rem;padding:.375rem .75rem}.error-banner[data-v-73f7d50c]{top:60px;right:10px;left:10px;padding:.75rem;font-size:.875rem}}@media(min-width:769px){.editor-container[data-v-73f7d50c]{max-width:1400px;margin:0 auto}}@supports (padding-bottom: env(safe-area-inset-bottom)){.unsaved-indicator[data-v-73f7d50c]{bottom:calc(20px + env(safe-area-inset-bottom))}}.fretboard-reference[data-v-eb248c81]{width:100%;display:flex;flex-direction:column}.canvas-wrapper[data-v-eb248c81]{overflow-x:auto;overflow-y:hidden;padding-bottom:12px;touch-action:pan-x}canvas[data-v-eb248c81]{display:block}.theory-reference[data-v-fdca9a75]{height:100%;width:100%;max-width:100%;display:flex;flex-direction:column;overflow:hidden}.theory-tab-list[data-v-fdca9a75]{display:flex;gap:4px;padding:8px;background:var(--bg-primary);border-bottom:1px solid var(--border-primary);flex-shrink:0}.theory-tab-btn[data-v-fdca9a75]{padding:8px 16px;font-size:13px;font-weight:500;color:var(--text-muted);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease}.theory-tab-btn[data-v-fdca9a75]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.theory-tab-selected[data-v-fdca9a75]{background:#3d5afe!important;color:#fff!important}.theory-tab-panels[data-v-fdca9a75]{flex:1;min-height:0;max-width:100%;overflow:hidden}.theory-panel[data-v-fdca9a75]{height:100%;max-width:100%;display:flex;flex-direction:column;overflow:hidden;min-height:0}.panel-header[data-v-fdca9a75]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);flex-shrink:0}.panel-header h3[data-v-fdca9a75]{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.filter-select[data-v-fdca9a75]{padding:6px 12px;font-size:12px;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:4px;cursor:pointer}.filter-group[data-v-fdca9a75]{display:flex;gap:8px}.theory-grid[data-v-fdca9a75]{flex:1;min-height:0;overflow-y:auto;padding:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;align-content:start}.theory-card[data-v-fdca9a75]{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:12px}.card-header[data-v-fdca9a75]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.card-title[data-v-fdca9a75]{font-size:14px;font-weight:600;color:var(--text-primary)}.chord-name[data-v-fdca9a75]{font-weight:400;color:var(--text-muted);font-size:12px}.card-badge[data-v-fdca9a75]{font-size:10px;padding:2px 8px;border-radius:10px;text-transform:uppercase;font-weight:600}.card-badge.beginner[data-v-fdca9a75]{background:#2e7d32;color:#fff}.card-badge.intermediate[data-v-fdca9a75]{background:#f57c00;color:#fff}.card-badge.advanced[data-v-fdca9a75]{background:#c62828;color:#fff}.card-notes[data-v-fdca9a75]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.note-pill[data-v-fdca9a75]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;color:var(--text-primary);background:var(--bg-tertiary);border-radius:12px}.note-pill.root-note[data-v-fdca9a75]{background:#3d5afe;color:#fff}.interval-label[data-v-fdca9a75]{font-size:10px;color:var(--text-muted);opacity:.8}.root-note .interval-label[data-v-fdca9a75]{color:#ffffffb3}.card-description[data-v-fdca9a75]{font-size:12px;color:var(--text-muted);margin:0;line-height:1.4}.voicing-toggle[data-v-fdca9a75]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);cursor:pointer}.voicing-toggle input[data-v-fdca9a75]{cursor:pointer}.card-expanded[data-v-fdca9a75]{grid-column:span 1}.voicing-section[data-v-fdca9a75]{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-primary)}.voicing-label[data-v-fdca9a75]{font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.voicing-diagrams[data-v-fdca9a75]{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px}.chord-diagram[data-v-fdca9a75]{background:var(--bg-tertiary);border-radius:6px;padding:8px;min-width:90px}.diagram-header[data-v-fdca9a75]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--border-secondary)}.diagram-name[data-v-fdca9a75]{font-size:10px;font-weight:600;color:var(--text-primary)}.diagram-fret[data-v-fdca9a75]{font-size:9px;color:var(--text-muted)}.fret-grid[data-v-fdca9a75]{display:flex;flex-direction:column;gap:2px}.string-line[data-v-fdca9a75]{display:flex;align-items:center;gap:6px}.string-name[data-v-fdca9a75]{font-size:10px;font-weight:500;color:var(--text-muted);width:12px;text-align:right}.fret-number[data-v-fdca9a75]{font-size:12px;font-weight:600;color:var(--text-primary);width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:4px}.fret-number.root-fret[data-v-fdca9a75]{background:#3d5afe;color:#fff}.fret-number.muted[data-v-fdca9a75]{background:transparent;color:var(--text-muted)}.fret-number.open[data-v-fdca9a75]{background:transparent;border:2px solid #4caf50;color:#4caf50}.inversions-section[data-v-fdca9a75]{flex:1;min-height:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.inversion-card[data-v-fdca9a75]{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:16px}.inversion-header[data-v-fdca9a75]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.inversion-name[data-v-fdca9a75]{font-size:16px;font-weight:600;color:var(--text-primary)}.figured-bass[data-v-fdca9a75]{font-size:14px;font-weight:600;color:#f0a040;font-family:Times New Roman,serif}.inversion-notes[data-v-fdca9a75]{display:flex;gap:8px;margin-bottom:12px}.inversion-note[data-v-fdca9a75]{padding:8px 14px;font-size:14px}.bass-note[data-v-fdca9a75]{border:2px solid #f0a040}.inversion-description[data-v-fdca9a75]{font-size:13px;color:var(--text-muted);margin:0}.passing-notes-section[data-v-fdca9a75]{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-primary);display:flex;flex-direction:column;gap:8px}.sequence-row[data-v-fdca9a75]{display:flex;align-items:center;gap:8px}.sequence-label[data-v-fdca9a75]{font-size:12px;color:var(--text-muted);min-width:90px;font-weight:500}.note-sequence[data-v-fdca9a75]{display:flex;align-items:center;flex-wrap:wrap;gap:2px}.sequence-note[data-v-fdca9a75]{font-size:13px;padding:3px 8px;border-radius:4px;background:var(--bg-tertiary);color:var(--text-primary);font-family:SF Mono,Consolas,monospace}.sequence-note.chord-tone[data-v-fdca9a75]{background:#3d5a80;color:#e0e0f0;font-weight:500}.sequence-note.passing-note[data-v-fdca9a75]{background:#5a3d80;color:#f0c0f0;font-weight:700;border:1px solid #8060a0}.sequence-arrow[data-v-fdca9a75]{color:var(--text-muted);font-size:12px;margin:0 1px}.progressions-list[data-v-fdca9a75]{flex:1;min-height:0;max-width:100%;overflow-x:auto;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:16px}.progression-card[data-v-fdca9a75]{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:16px;flex-shrink:0;max-width:600px;overflow:auto;box-sizing:border-box}.progression-header[data-v-fdca9a75]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.progression-name[data-v-fdca9a75]{font-size:16px;font-weight:600;color:var(--text-primary)}.progression-style[data-v-fdca9a75]{font-size:11px;padding:3px 10px;background:var(--bg-tertiary);border-radius:10px;color:var(--text-primary)}.progression-roman[data-v-fdca9a75]{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-bottom:12px;padding:8px 12px;background:var(--bg-tertiary);border-radius:6px}.roman-numeral[data-v-fdca9a75]{display:inline-flex;align-items:center;font-size:16px;font-weight:600;color:#f0d060;font-family:Times New Roman,serif}.roman-separator[data-v-fdca9a75]{color:var(--text-muted);margin:0 4px;font-size:12px}.progression-chords[data-v-fdca9a75]{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.prog-chord[data-v-fdca9a75]{background:var(--bg-tertiary);border-radius:6px;padding:8px 12px;min-width:60px;text-align:center}.prog-chord-name[data-v-fdca9a75]{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.prog-chord-notes[data-v-fdca9a75]{display:flex;justify-content:center;gap:4px}.mini-note[data-v-fdca9a75]{font-size:10px;color:var(--text-muted);padding:2px 4px;background:var(--bg-primary);border-radius:3px}.progression-description[data-v-fdca9a75]{font-size:12px;color:var(--text-muted);margin:0 0 8px;line-height:1.4}.progression-examples[data-v-fdca9a75]{font-size:11px;color:var(--text-muted)}.examples-label[data-v-fdca9a75]{font-weight:600;margin-right:4px}.example-song[data-v-fdca9a75]{font-style:italic}.theory-grid[data-v-fdca9a75]::-webkit-scrollbar,.inversions-section[data-v-fdca9a75]::-webkit-scrollbar,.progressions-list[data-v-fdca9a75]::-webkit-scrollbar{width:8px}.theory-grid[data-v-fdca9a75]::-webkit-scrollbar-track,.inversions-section[data-v-fdca9a75]::-webkit-scrollbar-track,.progressions-list[data-v-fdca9a75]::-webkit-scrollbar-track{background:var(--bg-primary)}.theory-grid[data-v-fdca9a75]::-webkit-scrollbar-thumb,.inversions-section[data-v-fdca9a75]::-webkit-scrollbar-thumb,.progressions-list[data-v-fdca9a75]::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}.theory-grid[data-v-fdca9a75]::-webkit-scrollbar-thumb:hover,.inversions-section[data-v-fdca9a75]::-webkit-scrollbar-thumb:hover,.progressions-list[data-v-fdca9a75]::-webkit-scrollbar-thumb:hover{background:var(--border-secondary)}.bar-editor[data-v-8e1b1c1e]{display:flex;flex-direction:column;height:90vh;height:90dvh;background:var(--bg-primary);color:var(--text-primary)}.note-count[data-v-8e1b1c1e]{font-size:.7rem;font-weight:500;color:#3b82f6;background:#3b82f626;padding:.125rem .5rem;border-radius:.25rem}.bar-editor-content[data-v-8e1b1c1e]{flex:1;overflow-y:auto;padding:.5rem}.disclosure-section[data-v-8e1b1c1e]{margin-bottom:.5rem;background:var(--bg-secondary);border-radius:.75rem;overflow:hidden}.disclosure-header[data-v-8e1b1c1e]{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;color:var(--text-primary);font-size:.9375rem;font-weight:600;cursor:pointer;text-align:left}.disclosure-header[data-v-8e1b1c1e]:hover{background:var(--bg-hover)}.disclosure-header svg[data-v-8e1b1c1e]{transition:transform .2s;color:var(--text-secondary)}.disclosure-header svg.rotated[data-v-8e1b1c1e]{transform:rotate(90deg)}.disclosure-hint[data-v-8e1b1c1e]{margin-left:auto;font-size:.75rem;font-weight:400;color:var(--text-secondary)}.disclosure-content[data-v-8e1b1c1e]{padding:0 .75rem .75rem}.fretboard-container[data-v-8e1b1c1e],.theory-container[data-v-8e1b1c1e]{overflow-x:auto;padding-bottom:.5rem}.grid-container[data-v-8e1b1c1e]{display:flex;flex-direction:column;gap:2px;overflow-x:auto;padding-bottom:.5rem}.grid-header[data-v-8e1b1c1e]{display:flex;align-items:center;gap:2px;position:sticky;top:0;background:var(--bg-secondary);z-index:1}.string-label-spacer[data-v-8e1b1c1e]{width:28px;flex-shrink:0}.beat-header[data-v-8e1b1c1e]{width:40px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.7rem;color:var(--text-secondary);cursor:pointer;border-radius:.25rem;transition:background .15s}.beat-header[data-v-8e1b1c1e]:hover{background:#3b82f61a}.beat-header.selected[data-v-8e1b1c1e]{background:#3b82f633;color:#3b82f6}.beat-header.beat-start[data-v-8e1b1c1e]{border-left:2px solid var(--border-secondary)}.beat-header .beat-num[data-v-8e1b1c1e]{color:#3b82f6;font-weight:600;font-size:.875rem}.beat-header .offset-num[data-v-8e1b1c1e]{color:var(--border-secondary);font-size:.65rem}.grid-row[data-v-8e1b1c1e]{display:flex;align-items:center;gap:2px}.string-label[data-v-8e1b1c1e]{width:28px;flex-shrink:0;color:var(--text-muted);font-size:.75rem;font-weight:600;text-align:right;padding-right:4px;position:sticky;left:0;background:var(--bg-secondary);z-index:1}.grid-cell[data-v-8e1b1c1e]{width:36px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:.25rem;transition:all .15s}.grid-cell.beat-start[data-v-8e1b1c1e]{border-left:2px solid var(--border-secondary)}.grid-cell.focused[data-v-8e1b1c1e]{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.grid-cell.selected-beat[data-v-8e1b1c1e]{background:#3b82f61a}.finger-row[data-v-8e1b1c1e]{margin-bottom:.25rem;border-bottom:1px dashed var(--border-secondary);padding-bottom:.25rem}.finger-label[data-v-8e1b1c1e]{color:var(--text-muted);font-size:.6rem;font-weight:500}.finger-cell[data-v-8e1b1c1e]{width:36px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.finger-cell.beat-start[data-v-8e1b1c1e]{border-left:2px solid transparent}.finger-select[data-v-8e1b1c1e]{width:28px;height:24px;padding:0;background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:.25rem;color:var(--text-muted);font-size:.75rem;font-weight:600;text-align:center;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}.finger-select[data-v-8e1b1c1e]:focus{outline:none;border-color:#3b82f6}.finger-select.has-value[data-v-8e1b1c1e]{color:#a855f7;border-color:#a855f7;background:#a855f71a}.strum-row[data-v-8e1b1c1e]{margin-top:.25rem;border-top:1px dashed var(--border-secondary);padding-top:.25rem}.strum-label[data-v-8e1b1c1e]{color:var(--text-muted);font-size:.6rem;font-weight:500}.strum-cell[data-v-8e1b1c1e]{width:40px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.strum-cell.beat-start[data-v-8e1b1c1e]{border-left:2px solid transparent}.strum-direction-btn-cell[data-v-8e1b1c1e]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:.25rem;color:#f59e0b;font-size:1rem;font-weight:700;cursor:pointer;transition:all .15s}.strum-direction-btn-cell[data-v-8e1b1c1e]:hover{background:#f59e0b26;border-color:#f59e0b}.strum-direction-btn-cell[data-v-8e1b1c1e]:active{transform:scale(.95)}.cell-input[data-v-8e1b1c1e]{width:100%;height:100%;background:transparent;border:none;color:#4ade80;font-size:1rem;font-weight:600;text-align:center;font-family:JetBrains Mono,monospace}.cell-input[data-v-8e1b1c1e]:focus{outline:none;background:#3b82f61a}.cell-input[data-v-8e1b1c1e]::placeholder{color:var(--border-secondary);font-weight:400}.bar-editor-footer[data-v-8e1b1c1e]{flex-shrink:0;padding:.5rem;background:var(--bg-primary)}.footer-content[data-v-8e1b1c1e]{display:flex;flex-direction:column;gap:.5rem;background:var(--bg-secondary);border-radius:.75rem;padding:.75rem}.footer-options[data-v-8e1b1c1e]{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:1rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:.375rem}.footer-options[data-v-8e1b1c1e]:first-child{border-bottom:1px solid var(--border-secondary);margin-bottom:.25rem}.footer-options[data-v-8e1b1c1e]::-webkit-scrollbar{display:none}.footer-actions[data-v-8e1b1c1e]{display:flex;align-items:center;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--border-secondary)}.control-group[data-v-8e1b1c1e]{display:flex;flex-direction:column;gap:.25rem;flex-shrink:0}.group-label[data-v-8e1b1c1e]{font-size:.65rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.footer-spacer[data-v-8e1b1c1e]{flex:1}.button-group[data-v-8e1b1c1e]{display:flex;gap:2px}.dynamic-btn[data-v-8e1b1c1e]{font-style:italic}.hairpin-btn[data-v-8e1b1c1e]{font-weight:700;font-size:1rem;min-width:32px}.control-btn[data-v-8e1b1c1e]{padding:.375rem .5rem;background:var(--bg-primary);border:1px solid var(--border-secondary);color:var(--text-muted);font-size:.75rem;font-weight:600;border-radius:.25rem;cursor:pointer;transition:all .15s;min-width:28px;text-align:center}.control-btn[data-v-8e1b1c1e]:hover{background:var(--border-secondary);color:var(--text-primary)}.control-btn.active[data-v-8e1b1c1e]{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#3b82f6;color:#fff}.control-select[data-v-8e1b1c1e]{background:var(--bg-primary);border:1px solid var(--border-secondary);color:var(--text-primary);padding:.375rem .5rem;border-radius:.25rem;font-size:.75rem;cursor:pointer}.control-select[data-v-8e1b1c1e]:focus{outline:none;border-color:#3b82f6}.control-input[data-v-8e1b1c1e]{background:var(--bg-primary);border:1px solid var(--border-secondary);color:var(--text-primary);padding:.375rem .5rem;border-radius:.25rem;font-size:.75rem;cursor:text}.control-input[data-v-8e1b1c1e]:focus{outline:none;border-color:#3b82f6}.bpm-input[data-v-8e1b1c1e]{width:50px;text-align:center}.bpm-input[data-v-8e1b1c1e]::placeholder{color:var(--text-muted)}.chord-input[data-v-8e1b1c1e]{width:70px;text-align:center}.chord-input[data-v-8e1b1c1e]::placeholder{color:var(--text-muted);font-size:.65rem}.annotation-input[data-v-8e1b1c1e]{width:90px;text-align:center}.annotation-input[data-v-8e1b1c1e]::placeholder{color:var(--text-muted);font-size:.65rem}.pedal-btn[data-v-8e1b1c1e]{font-style:italic;min-width:36px}.strum-checkbox[data-v-8e1b1c1e]{display:flex;align-items:center;gap:.375rem;cursor:pointer;font-size:.75rem;color:var(--text-muted)}.strum-checkbox input[type=checkbox][data-v-8e1b1c1e]{width:16px;height:16px;accent-color:#3b82f6;cursor:pointer}.strum-checkbox span[data-v-8e1b1c1e]{font-weight:500}.strum-direction-btn[data-v-8e1b1c1e]{padding:.25rem .5rem;background:var(--bg-primary);border:1px solid #3b82f6;border-radius:.25rem;color:#3b82f6;font-size:1rem;font-weight:700;cursor:pointer;transition:all .15s}.strum-direction-btn[data-v-8e1b1c1e]:hover{background:#3b82f61a}.action-btn[data-v-8e1b1c1e]{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.375rem .75rem;border-radius:.25rem;cursor:pointer;transition:all .15s}.action-label[data-v-8e1b1c1e]{font-size:.75rem;font-weight:500}.action-btn.clear-btn[data-v-8e1b1c1e]{background:transparent;border:1px solid var(--border-secondary);color:var(--text-muted)}.action-btn.clear-btn[data-v-8e1b1c1e]:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.action-btn.cancel-btn[data-v-8e1b1c1e]{background:transparent;border:1px solid var(--border-secondary);color:var(--text-muted)}.action-btn.cancel-btn[data-v-8e1b1c1e]:hover{background:var(--border-secondary);color:var(--text-primary)}.action-btn.ok-btn[data-v-8e1b1c1e]{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff}.action-btn.ok-btn[data-v-8e1b1c1e]:hover{box-shadow:0 4px 12px #3b82f666}@supports (padding-top: env(safe-area-inset-top)){.bar-editor-content[data-v-8e1b1c1e]{padding-top:max(.5rem,env(safe-area-inset-top))}}@supports (padding-bottom: env(safe-area-inset-bottom)){.bar-editor-footer[data-v-8e1b1c1e]{padding-bottom:max(.75rem,env(safe-area-inset-bottom))}}@media(max-width:359px){.bar-editor-content[data-v-8e1b1c1e]{padding:.25rem}.disclosure-header[data-v-8e1b1c1e]{padding:.5rem .75rem;font-size:.875rem}.disclosure-content[data-v-8e1b1c1e]{padding:0 .5rem .5rem}.grid-cell[data-v-8e1b1c1e]{width:28px;height:24px}.strum-cell[data-v-8e1b1c1e]{width:32px;height:24px}.strum-direction-btn-cell[data-v-8e1b1c1e]{width:20px;height:20px;font-size:.875rem}.cell-input[data-v-8e1b1c1e]{font-size:.875rem}.beat-header[data-v-8e1b1c1e]{width:32px;height:22px;font-size:.65rem}.string-label[data-v-8e1b1c1e]{width:24px;font-size:.65rem}.bar-editor-footer[data-v-8e1b1c1e]{padding:.25rem}.footer-row[data-v-8e1b1c1e]{gap:.375rem;padding:.375rem .5rem}.control-btn[data-v-8e1b1c1e]{padding:.25rem .375rem;font-size:.6875rem;min-width:24px}.control-select[data-v-8e1b1c1e]{padding:.25rem .375rem;font-size:.6875rem}.action-btn[data-v-8e1b1c1e]{padding:.25rem}}@media(min-width:360px)and (max-width:479px){.grid-cell[data-v-8e1b1c1e]{width:34px;height:30px}.finger-cell[data-v-8e1b1c1e],.strum-cell[data-v-8e1b1c1e]{width:34px;height:26px}.beat-header[data-v-8e1b1c1e]{width:34px}.footer-row[data-v-8e1b1c1e]{gap:.5rem}.control-btn[data-v-8e1b1c1e]{padding:.3rem .4rem;font-size:.7rem;min-width:26px}}@media(min-width:480px)and (max-width:767px){.bar-editor-footer[data-v-8e1b1c1e]{padding:.5rem}.footer-row[data-v-8e1b1c1e]{gap:.75rem}.control-btn[data-v-8e1b1c1e]{padding:.4rem .6rem}.action-btn[data-v-8e1b1c1e]{padding:.375rem}}@media(min-width:768px){.bar-editor[data-v-8e1b1c1e]{max-width:900px;margin:0 auto}.bar-editor-content[data-v-8e1b1c1e]{padding:1rem}.disclosure-section[data-v-8e1b1c1e]{margin-bottom:.75rem}.disclosure-header[data-v-8e1b1c1e]{padding:1rem 1.25rem}.disclosure-content[data-v-8e1b1c1e]{padding:0 1rem 1rem}.grid-cell[data-v-8e1b1c1e]{width:40px;height:32px}.strum-cell[data-v-8e1b1c1e]{width:40px;height:30px}.strum-direction-btn-cell[data-v-8e1b1c1e]{width:26px;height:26px}.beat-header[data-v-8e1b1c1e]{width:40px;height:28px}.cell-input[data-v-8e1b1c1e]{font-size:1.125rem}.bar-editor-footer[data-v-8e1b1c1e]{padding:1rem}.footer-row[data-v-8e1b1c1e]{gap:1rem;padding:.75rem 1rem}.control-btn[data-v-8e1b1c1e]{padding:.5rem .75rem;font-size:.8125rem}.action-btn[data-v-8e1b1c1e]{padding:.5rem}}@media(min-width:1024px){.bar-editor[data-v-8e1b1c1e]{max-width:1000px}.bar-editor-footer[data-v-8e1b1c1e]{border-radius:0 0 .75rem .75rem}}@media(max-height:500px)and (orientation:landscape){.bar-editor[data-v-8e1b1c1e]{height:100vh;height:100dvh}.bar-editor-content[data-v-8e1b1c1e]{padding:.25rem .5rem}.disclosure-section[data-v-8e1b1c1e]{margin-bottom:.25rem}.disclosure-header[data-v-8e1b1c1e]{padding:.5rem .75rem;font-size:.8125rem}.disclosure-content[data-v-8e1b1c1e]{padding:0 .5rem .5rem}.grid-cell[data-v-8e1b1c1e]{width:28px;height:22px}.strum-cell[data-v-8e1b1c1e]{width:32px;height:22px}.strum-direction-btn-cell[data-v-8e1b1c1e]{width:18px;height:18px;font-size:.75rem}.cell-input[data-v-8e1b1c1e]{font-size:.8125rem}.bar-editor-footer[data-v-8e1b1c1e]{padding:.25rem .5rem}.footer-row[data-v-8e1b1c1e]{gap:.375rem;padding:.375rem .5rem}.control-btn[data-v-8e1b1c1e]{padding:.25rem .375rem;font-size:.65rem;min-width:22px}.control-select[data-v-8e1b1c1e]{padding:.25rem .375rem;font-size:.65rem}.action-btn[data-v-8e1b1c1e]{padding:.25rem}}.player-container[data-v-fa8dedf6]{display:flex;flex-direction:column;height:90vh;position:relative;background:var(--bg-primary);transition:background-color .2s ease}.main-content[data-v-fa8dedf6]{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--bg-primary);transition:background-color .2s ease}.placeholder-section[data-v-fa8dedf6]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);cursor:pointer;position:relative;overflow:hidden;transition:background-color .2s ease}.camera-feed[data-v-fa8dedf6]{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.camera-placeholder[data-v-fa8dedf6]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.start-camera-btn[data-v-fa8dedf6]{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:var(--btn-bg);border:1px solid var(--border-color);border-radius:12px;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s}.start-camera-btn[data-v-fa8dedf6]:hover{background:var(--btn-hover);color:var(--text-primary)}.start-camera-btn svg[data-v-fa8dedf6]{width:32px;height:32px}.recording-indicator[data-v-fa8dedf6]{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:#ef4444e6;border-radius:6px;color:#fff;font-size:.75rem;font-weight:600;z-index:10}.recording-dot[data-v-fa8dedf6]{width:8px;height:8px;background:#fff;border-radius:50%;animation:pulse-fa8dedf6 1s ease-in-out infinite}@keyframes pulse-fa8dedf6{0%,to{opacity:1}50%{opacity:.4}}.player-container.fullscreen-mode[data-v-fa8dedf6]{height:100vh;height:100dvh}.player-container.fullscreen-mode .placeholder-section[data-v-fa8dedf6]{flex:1}.player-container.fullscreen-mode .sheet-section[data-v-fa8dedf6]{flex:0 0 auto;height:252px;min-height:252px}.player-container.fullscreen-mode .sheet-section[data-v-fa8dedf6]>*{max-height:100%;overflow:hidden}@media(max-width:767px){.player-container.fullscreen-mode .sheet-section[data-v-fa8dedf6]{height:312px;min-height:312px}}.fullscreen-hint[data-v-fa8dedf6]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#ffffff4d;font-size:1rem;pointer-events:none;animation:fadeInOut-fa8dedf6 3s ease-in-out}@keyframes fadeInOut-fa8dedf6{0%{opacity:0}20%{opacity:1}80%{opacity:1}to{opacity:0}}.sheet-section[data-v-fa8dedf6]{flex:0 0 auto;height:252px;min-height:252px;background:var(--bg-primary);border-top:1px solid var(--border-primary);display:flex;align-items:flex-start;justify-content:center;overflow:hidden;transition:background-color .2s ease,border-color .2s ease}.sheet-section[data-v-fa8dedf6]>*{max-height:100%;overflow:hidden}.loading-overlay[data-v-fa8dedf6]{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.spinner[data-v-fa8dedf6]{color:#fff;font-size:1.25rem}.error-banner[data-v-fa8dedf6]{position:fixed;top:20px;right:20px;background:#ef4444;color:#fff;padding:1rem;border-radius:8px;box-shadow:0 4px 12px #0000004d;z-index:100;max-width:calc(100vw - 40px)}.error-banner button[data-v-fa8dedf6]{margin-top:.5rem;padding:.25rem .75rem;background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer}.error-banner button[data-v-fa8dedf6]:hover{background:#ffffff4d}@media(max-width:767px){.sheet-section[data-v-fa8dedf6]{padding:.5rem;padding-bottom:2px;height:312px;min-height:312px}.error-banner[data-v-fa8dedf6]{top:60px;right:10px;left:10px;max-width:none}}@supports (padding-bottom: env(safe-area-inset-bottom)){.sheet-section[data-v-fa8dedf6]{padding-bottom:max(5px,env(safe-area-inset-bottom))}}.practice-container[data-v-6ff9d8c7]{display:flex;flex-direction:column;height:100vh;height:100dvh;position:relative;background:var(--bg-primary);transition:background-color .2s ease}.sheet-section[data-v-6ff9d8c7]{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;background:var(--bg-primary);transition:background-color .2s ease}.loading-overlay[data-v-6ff9d8c7]{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.spinner[data-v-6ff9d8c7]{color:var(--text-primary);font-size:1.25rem}.error-banner[data-v-6ff9d8c7]{position:fixed;top:60px;right:20px;background:#ef4444;color:#fff;padding:1rem;border-radius:8px;box-shadow:0 4px 12px #0000004d;z-index:100;max-width:300px}.error-banner button[data-v-6ff9d8c7]{margin-top:.5rem;padding:.25rem .75rem;background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer}.error-banner button[data-v-6ff9d8c7]:hover{background:#ffffff4d}@media(max-width:767px){.error-banner[data-v-6ff9d8c7]{top:60px;right:10px;left:10px;max-width:none}}@supports (padding-bottom: env(safe-area-inset-bottom)){.practice-container[data-v-6ff9d8c7]{padding-bottom:env(safe-area-inset-bottom)}}.print-container[data-v-47be9e35]{display:flex;flex-direction:column;height:100vh;background-color:#1a1a2e;position:relative}.print-header[data-v-47be9e35]{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background-color:#0f0f1a;border-bottom:1px solid rgba(255,255,255,.1)}.header-left[data-v-47be9e35],.header-right[data-v-47be9e35]{display:flex;align-items:center;gap:16px;min-width:200px}.header-right[data-v-47be9e35]{justify-content:flex-end}.header-center[data-v-47be9e35]{display:flex;align-items:center;justify-content:center}.back-btn[data-v-47be9e35]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#e0e0e0;cursor:pointer;transition:all .2s}.back-btn[data-v-47be9e35]:hover{background:#ffffff1a;border-color:#ffffff4d}.title[data-v-47be9e35]{font-size:16px;font-weight:600;color:#fff;margin:0}.page-nav[data-v-47be9e35]{display:flex;align-items:center;gap:12px}.nav-btn[data-v-47be9e35]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff1a;border:none;border-radius:6px;color:#e0e0e0;cursor:pointer;transition:all .2s}.nav-btn[data-v-47be9e35]:hover:not(:disabled){background:#fff3}.nav-btn[data-v-47be9e35]:disabled{opacity:.4;cursor:not-allowed}.page-indicator[data-v-47be9e35]{font-size:14px;color:#a0a0a0;min-width:100px;text-align:center}.export-btn[data-v-47be9e35]{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s}.export-btn[data-v-47be9e35]:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.export-btn[data-v-47be9e35]:disabled{opacity:.6;cursor:not-allowed}.icon[data-v-47be9e35]{width:18px;height:18px}.preview-area[data-v-47be9e35]{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:24px;overflow:auto;background:#2a2a40;min-height:0}.preview-area.with-thumbnails[data-v-47be9e35]{padding-bottom:80px}.canvas-wrapper[data-v-47be9e35]{box-shadow:0 8px 32px #0006;border-radius:4px;overflow:hidden;flex-shrink:0}.print-canvas[data-v-47be9e35]{display:block;background:#fff}.thumbnails[data-v-47be9e35]{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:#0f0f1a;border-top:1px solid rgba(255,255,255,.1);z-index:100}.thumbnail-btn[data-v-47be9e35]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:2px solid transparent;border-radius:6px;color:#a0a0a0;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.thumbnail-btn[data-v-47be9e35]:hover{background:#fff3;color:#fff}.thumbnail-btn.active[data-v-47be9e35]{background:#3b82f6;border-color:#60a5fa;color:#fff}.courses-view[data-v-e5e683bf]{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);padding:2rem}.courses-header[data-v-e5e683bf]{text-align:center;margin-bottom:3rem}.courses-header h1[data-v-e5e683bf]{font-size:2.5rem;font-weight:700;margin:0 0 .5rem;background:linear-gradient(135deg,#3b82f6,#2563eb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.courses-header p[data-v-e5e683bf]{font-size:1.125rem;color:var(--text-muted);margin:0}.courses-content[data-v-e5e683bf]{max-width:1200px;margin:0 auto}.courses-grid[data-v-e5e683bf]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.empty-state[data-v-e5e683bf]{grid-column:1 / -1;text-align:center;padding:4rem 2rem;background:var(--bg-secondary);border:2px dashed var(--border-secondary);border-radius:1rem}.empty-state h3[data-v-e5e683bf]{font-size:1.5rem;font-weight:600;margin:0 0 .5rem;color:var(--text-primary)}.empty-state p[data-v-e5e683bf]{color:var(--text-muted);margin:0;font-size:1rem}.fab-add[data-v-e5e683bf]{position:fixed;bottom:2rem;right:2rem;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;box-shadow:0 8px 24px #3b82f666;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:50;transition:all .3s ease}.fab-add[data-v-e5e683bf]:hover{transform:scale(1.1);box-shadow:0 12px 32px #3b82f680}.fab-add[data-v-e5e683bf]:active{transform:scale(.95)}@media(max-width:767px){.courses-view[data-v-e5e683bf]{padding:1rem}.courses-header[data-v-e5e683bf]{margin-bottom:2rem}.courses-header h1[data-v-e5e683bf]{font-size:2rem}.courses-header p[data-v-e5e683bf]{font-size:1rem}.courses-grid[data-v-e5e683bf]{grid-template-columns:1fr;gap:1rem}.empty-state[data-v-e5e683bf]{padding:2rem 1rem}.fab-add[data-v-e5e683bf]{bottom:1.5rem;right:1.5rem;width:56px;height:56px}}@media(min-width:768px)and (max-width:1023px){.courses-grid[data-v-e5e683bf]{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}}.course-editor[data-v-ac87d4cc]{display:flex;flex-direction:column;height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b);color:#f8fafc}.editor-header[data-v-ac87d4cc]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#0f172a;border-bottom:1px solid #334155}.editor-header h2[data-v-ac87d4cc]{margin:0;font-size:1.5rem;font-weight:600}.header-actions[data-v-ac87d4cc]{display:flex;gap:.75rem}.editor-content[data-v-ac87d4cc]{flex:1;overflow-y:auto;padding:1.5rem}.form-section[data-v-ac87d4cc]{background:#1e293b;border:1px solid #334155;border-radius:.75rem;padding:1.5rem;margin-bottom:1.5rem}.form-section h3[data-v-ac87d4cc]{margin:0 0 1rem;color:#f8fafc;font-size:1.25rem;font-weight:600}.section-header[data-v-ac87d4cc]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.btn-add[data-v-ac87d4cc]{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-add[data-v-ac87d4cc]:hover{box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.form-grid[data-v-ac87d4cc]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.form-group[data-v-ac87d4cc]{display:flex;flex-direction:column;gap:.375rem}.form-group label[data-v-ac87d4cc]{color:#94a3b8;font-size:.875rem;font-weight:500}.form-group input[data-v-ac87d4cc],.form-group textarea[data-v-ac87d4cc],.form-group select[data-v-ac87d4cc]{background:#0f172a;border:1px solid #334155;border-radius:.5rem;padding:.625rem .75rem;color:#f8fafc;font-size:.9375rem;transition:border-color .2s,box-shadow .2s}.form-group input[data-v-ac87d4cc]:focus,.form-group textarea[data-v-ac87d4cc]:focus,.form-group select[data-v-ac87d4cc]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.thumbnail-preview[data-v-ac87d4cc]{margin-top:.5rem;border-radius:.5rem;overflow:hidden;border:1px solid #334155;max-width:200px}.thumbnail-preview img[data-v-ac87d4cc]{width:100%;height:auto;display:block;max-height:120px;object-fit:cover}.modules-list[data-v-ac87d4cc]{display:flex;flex-direction:column;gap:.5rem}.module-item[data-v-ac87d4cc]{display:flex;align-items:center;background:#0f172a;border:1px solid #334155;border-radius:.5rem;padding:1rem;transition:all .2s}.module-item[data-v-ac87d4cc]:hover{border-color:#3b82f6}.module-header[data-v-ac87d4cc]{flex:1;display:flex;align-items:center;gap:.75rem;cursor:pointer}.module-order[data-v-ac87d4cc]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:#3b82f6;color:#fff;border-radius:50%;font-size:.875rem;font-weight:600}.module-header h4[data-v-ac87d4cc]{margin:0;color:#f8fafc;font-size:1rem;font-weight:500}.lesson-count[data-v-ac87d4cc]{color:#94a3b8;font-size:.875rem}.module-actions[data-v-ac87d4cc]{display:flex;gap:.5rem}.btn-icon[data-v-ac87d4cc]{background:transparent;border:1px solid #475569;border-radius:.375rem;padding:.375rem;color:#94a3b8;cursor:pointer;transition:all .2s}.btn-icon[data-v-ac87d4cc]:hover{background:#334155;color:#f8fafc;border-color:#3b82f6}.btn-primary[data-v-ac87d4cc],.btn-secondary[data-v-ac87d4cc]{padding:.5rem 1.25rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary[data-v-ac87d4cc]{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff}.btn-primary[data-v-ac87d4cc]:hover:not(:disabled){box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.btn-primary[data-v-ac87d4cc]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-ac87d4cc]{background:transparent;border:1px solid #475569;color:#94a3b8}.btn-secondary[data-v-ac87d4cc]:hover{background:#334155;color:#f8fafc}.btn-publish[data-v-ac87d4cc]{padding:.5rem 1.25rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff}.btn-publish[data-v-ac87d4cc]:hover:not(:disabled){box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.btn-publish[data-v-ac87d4cc]:disabled{opacity:.6;cursor:not-allowed}.modal-backdrop[data-v-ac87d4cc]{position:fixed;inset:0;background:#000000b3;z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-content[data-v-ac87d4cc]{background:#1e293b;border-radius:1rem;width:100%;max-width:500px;box-shadow:0 20px 60px #00000080;overflow:hidden}.exercise-modal[data-v-ac87d4cc]{max-width:600px}.modal-header[data-v-ac87d4cc]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#0f172a;border-bottom:1px solid #334155}.modal-header h3[data-v-ac87d4cc]{margin:0;color:#f8fafc;font-size:1.125rem;font-weight:600}.close-btn[data-v-ac87d4cc]{background:none;border:none;color:#94a3b8;font-size:1.5rem;cursor:pointer;padding:0;line-height:1;transition:color .2s}.close-btn[data-v-ac87d4cc]:hover{color:#f8fafc}.modal-body[data-v-ac87d4cc]{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.modal-footer[data-v-ac87d4cc]{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.25rem;background:#0f172a;border-top:1px solid #334155}.btn-cancel[data-v-ac87d4cc],.btn-create[data-v-ac87d4cc]{padding:.5rem 1.25rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel[data-v-ac87d4cc]{background:transparent;border:1px solid #475569;color:#94a3b8}.btn-cancel[data-v-ac87d4cc]:hover{background:#334155;color:#f8fafc}.btn-create[data-v-ac87d4cc]{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff}.btn-create[data-v-ac87d4cc]:hover{box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.modal-enter-active[data-v-ac87d4cc],.modal-leave-active[data-v-ac87d4cc]{transition:opacity .2s}.modal-enter-active .modal-content[data-v-ac87d4cc],.modal-leave-active .modal-content[data-v-ac87d4cc]{transition:transform .2s,opacity .2s}.modal-enter-from[data-v-ac87d4cc],.modal-leave-to[data-v-ac87d4cc]{opacity:0}.modal-enter-from .modal-content[data-v-ac87d4cc],.modal-leave-to .modal-content[data-v-ac87d4cc]{opacity:0;transform:scale(.95)}@media(max-width:767px){.editor-header[data-v-ac87d4cc]{flex-direction:column;gap:1rem;align-items:stretch}.editor-content[data-v-ac87d4cc],.form-section[data-v-ac87d4cc]{padding:1rem}.form-grid[data-v-ac87d4cc]{grid-template-columns:1fr}.section-header[data-v-ac87d4cc]{flex-direction:column;gap:.75rem;align-items:stretch}.modal-content[data-v-ac87d4cc]{margin:1rem;max-width:none}}@media(min-width:768px)and (max-width:1023px){.form-grid[data-v-ac87d4cc]{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}.preset-card[data-v-d2c4d6fd]{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:.75rem;cursor:pointer;transition:all .2s ease;overflow:hidden;display:flex;flex-direction:column}.preset-card[data-v-d2c4d6fd]:hover{border-color:#3b82f6;box-shadow:0 8px 24px #3b82f626,0 0 0 1px #3b82f61a;transform:translateY(-2px)}.card-header[data-v-d2c4d6fd]{background:var(--border-secondary);padding:.75rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.header-content[data-v-d2c4d6fd]{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.header-title[data-v-d2c4d6fd]{margin:0;color:var(--text-primary);font-size:.875rem;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-subtitle[data-v-d2c4d6fd]{color:var(--text-muted);font-size:.6875rem}.header-actions[data-v-d2c4d6fd]{display:flex;gap:.25rem}.action-btn[data-v-d2c4d6fd]{display:flex;align-items:center;justify-content:center;background:var(--btn-bg);border:none;border-radius:.375rem;padding:.5rem;color:var(--text-primary);cursor:pointer;transition:all .15s ease}.action-btn[data-v-d2c4d6fd]:hover{background:var(--btn-hover);transform:scale(1.05)}.clone-btn[data-v-d2c4d6fd]{background:var(--accent-yellow);color:var(--text-inverse)}.clone-btn[data-v-d2c4d6fd]:hover{background:var(--accent-yellow);filter:brightness(1.1);box-shadow:var(--shadow-md)}.btn-icon[data-v-d2c4d6fd]{width:16px;height:16px}.card-body[data-v-d2c4d6fd]{padding:.875rem;flex:1;display:flex;flex-direction:column;gap:.5rem}.preset-badge[data-v-d2c4d6fd]{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:var(--btn-bg);border:1px solid var(--border-primary);border-radius:.25rem;color:var(--accent-blue);font-size:.625rem;font-weight:500;width:fit-content}.preset-badge .badge-icon[data-v-d2c4d6fd]{width:12px;height:12px}.title[data-v-d2c4d6fd]{margin:0;color:var(--text-primary);font-size:.9375rem;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.song-info[data-v-d2c4d6fd]{display:flex;align-items:center;gap:.375rem;color:var(--text-muted);font-size:.75rem}.info-icon[data-v-d2c4d6fd]{width:12px;height:12px;color:var(--text-secondary)}.artist[data-v-d2c4d6fd]{color:var(--text-muted)}.section-badge[data-v-d2c4d6fd]{display:inline-flex;align-items:center;padding:.25rem .5rem;background:var(--btn-bg);border:1px solid var(--border-primary);border-radius:.25rem;color:var(--accent-pink);font-size:.6875rem;font-weight:500;width:fit-content}.card-footer[data-v-d2c4d6fd]{display:flex;align-items:center;justify-content:space-between;padding:.625rem .875rem;border-top:1px solid var(--border-primary);background:var(--bg-tertiary)}.meta-info[data-v-d2c4d6fd]{display:flex;align-items:center}.meta-item[data-v-d2c4d6fd]{display:flex;align-items:center;gap:.25rem;color:var(--text-muted);font-size:.6875rem}.meta-icon[data-v-d2c4d6fd]{width:12px;height:12px}.view-btn[data-v-d2c4d6fd]{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:var(--btn-bg);border:1px solid var(--border-primary);border-radius:.375rem;color:var(--accent-blue);font-size:.6875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.view-btn .btn-icon[data-v-d2c4d6fd]{width:14px;height:14px}.view-btn[data-v-d2c4d6fd]:hover{background:var(--btn-hover);border-color:var(--accent-blue);color:var(--accent-blue)}.view-btn.edit-btn[data-v-d2c4d6fd]{color:var(--accent-green, #22c55e)}.view-btn.edit-btn[data-v-d2c4d6fd]:hover{border-color:var(--accent-green, #22c55e);color:var(--accent-green, #22c55e)}@media(max-width:639px){.card-body[data-v-d2c4d6fd]{padding:.75rem}.title[data-v-d2c4d6fd]{font-size:.875rem}.view-btn span[data-v-d2c4d6fd]{display:none}.view-btn[data-v-d2c4d6fd]{padding:.5rem}}.modal-backdrop[data-v-8e0f2b51]{position:fixed;inset:0;background:#000000b3;z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem}.metadata-modal[data-v-8e0f2b51]{background:#1e293b;border-radius:.5rem;width:100%;max-width:380px;box-shadow:0 16px 48px #00000080;overflow:hidden}.modal-header[data-v-8e0f2b51]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#0f172a;border-bottom:1px solid #334155}.modal-header h3[data-v-8e0f2b51]{margin:0;color:#f1f5f9;font-size:.9375rem;font-weight:600}.close-btn[data-v-8e0f2b51]{background:none;border:none;color:#64748b;font-size:1.25rem;cursor:pointer;padding:0;line-height:1;transition:color .15s}.close-btn[data-v-8e0f2b51]:hover{color:#f1f5f9}.modal-body[data-v-8e0f2b51]{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.form-group[data-v-8e0f2b51]{display:flex;flex-direction:column;gap:.25rem}.form-group label[data-v-8e0f2b51]{color:#94a3b8;font-size:.75rem;font-weight:500}.form-group input[data-v-8e0f2b51],.form-group select[data-v-8e0f2b51]{background:#0f172a;border:1px solid #334155;border-radius:.25rem;padding:.5rem .625rem;color:#f1f5f9;font-size:.8125rem;transition:border-color .15s}.form-group input[data-v-8e0f2b51]:focus,.form-group select[data-v-8e0f2b51]:focus{outline:none;border-color:#3b82f6}.form-group input[data-v-8e0f2b51]::placeholder{color:#475569}.modal-footer[data-v-8e0f2b51]{display:flex;gap:.5rem;justify-content:flex-end;padding:.75rem 1rem;background:#0f172a;border-top:1px solid #334155}.btn-cancel[data-v-8e0f2b51],.btn-submit[data-v-8e0f2b51]{padding:.375rem .875rem;border-radius:.25rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.btn-cancel[data-v-8e0f2b51]{background:transparent;border:1px solid #475569;color:#94a3b8}.btn-cancel[data-v-8e0f2b51]:hover{background:#334155;color:#f1f5f9}.btn-submit[data-v-8e0f2b51]{background:#3b82f6;border:none;color:#fff}.btn-submit[data-v-8e0f2b51]:hover{background:#2563eb}.modal-enter-active[data-v-8e0f2b51],.modal-leave-active[data-v-8e0f2b51]{transition:opacity .2s}.modal-enter-active .metadata-modal[data-v-8e0f2b51],.modal-leave-active .metadata-modal[data-v-8e0f2b51]{transition:transform .15s,opacity .15s}.modal-enter-from[data-v-8e0f2b51],.modal-leave-to[data-v-8e0f2b51]{opacity:0}.modal-enter-from .metadata-modal[data-v-8e0f2b51],.modal-leave-to .metadata-modal[data-v-8e0f2b51]{opacity:0;transform:scale(.95) translateY(-10px)}@media(max-width:639px){.modal-backdrop[data-v-8e0f2b51]{padding:.75rem;align-items:flex-end}.metadata-modal[data-v-8e0f2b51]{max-width:none;border-radius:.5rem .5rem 0 0}.modal-enter-from .metadata-modal[data-v-8e0f2b51],.modal-leave-to .metadata-modal[data-v-8e0f2b51]{transform:translateY(100%)}}.presets-view[data-v-f3b42f53]{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);padding:1rem 1.5rem}.presets-header[data-v-f3b42f53]{margin-bottom:1rem}.presets-header h1[data-v-f3b42f53]{font-size:1.25rem;font-weight:600;margin:0 0 .25rem;color:var(--text-primary)}.presets-header p[data-v-f3b42f53]{font-size:.75rem;color:var(--text-secondary);margin:0}.presets-toolbar[data-v-f3b42f53]{max-width:1400px;margin:0 auto 1rem;display:flex;gap:.75rem;align-items:center}.search-box[data-v-f3b42f53]{position:relative;flex:1;max-width:280px}.search-icon[data-v-f3b42f53]{position:absolute;left:.5rem;top:50%;transform:translateY(-50%);width:.875rem;height:.875rem;color:var(--border-secondary);pointer-events:none}.search-input[data-v-f3b42f53]{width:100%;padding:.375rem 1.75rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:.25rem;color:var(--text-primary);font-size:.75rem;transition:border-color .15s}.search-input[data-v-f3b42f53]:focus{outline:none;border-color:#3b82f6}.search-input[data-v-f3b42f53]::placeholder{color:var(--border-secondary)}.clear-search[data-v-f3b42f53]{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--border-secondary);cursor:pointer;padding:.125rem;line-height:1}.clear-search[data-v-f3b42f53]:hover{color:var(--text-muted)}.toolbar-actions[data-v-f3b42f53]{display:flex;gap:.5rem;align-items:center;margin-left:auto}.new-preset-btn[data-v-f3b42f53]{display:flex;align-items:center;gap:.25rem;padding:.25rem .45rem;background:#3b82f6;color:#fff;border:none;border-radius:.25rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:background .15s}.new-preset-btn[data-v-f3b42f53]:hover{background:#2563eb}.presets-content[data-v-f3b42f53]{max-width:1400px;margin:0 auto;padding-bottom:3.5rem}.presets-grid[data-v-f3b42f53]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.loading-state[data-v-f3b42f53]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;color:var(--text-secondary)}.loading-state p[data-v-f3b42f53]{margin-top:.5rem;font-size:.75rem}.animate-spin[data-v-f3b42f53]{animation:spin-f3b42f53 1s linear infinite}@keyframes spin-f3b42f53{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-state[data-v-f3b42f53]{text-align:center;padding:2rem 1rem;color:#ef4444}.error-state h3[data-v-f3b42f53]{margin:.5rem 0 .25rem;font-size:.875rem;color:var(--text-primary)}.error-state p[data-v-f3b42f53]{color:var(--text-secondary);font-size:.75rem;margin-bottom:.75rem}.retry-btn[data-v-f3b42f53]{padding:.375rem .75rem;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:.25rem;font-size:.75rem;cursor:pointer;transition:background .15s}.retry-btn[data-v-f3b42f53]:hover{background:var(--border-primary)}.empty-state[data-v-f3b42f53]{text-align:center;padding:2rem 1rem;background:var(--bg-secondary);border:1px dashed var(--border-primary);border-radius:.5rem}.empty-state h3[data-v-f3b42f53]{font-size:.875rem;font-weight:500;margin:0 0 .25rem;color:var(--text-primary)}.empty-state p[data-v-f3b42f53]{color:var(--text-secondary);font-size:.75rem;margin:0 0 .75rem}.create-first-btn[data-v-f3b42f53]{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .625rem;background:#3b82f6;color:#fff;border:none;border-radius:.25rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:background .15s}.create-first-btn[data-v-f3b42f53]:hover{background:#2563eb}.pagination-wrapper[data-v-f3b42f53]{position:fixed;bottom:0;left:0;right:0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 1.5rem;background:var(--bg-primary);border-top:1px solid var(--border-primary);z-index:40}.pagination-info[data-v-f3b42f53]{color:var(--text-secondary);font-size:.6875rem}.pagination[data-v-f3b42f53]{display:flex;align-items:center;gap:.25rem}.page-btn[data-v-f3b42f53]{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 .375rem;background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border-primary);border-radius:.25rem;font-size:.6875rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.page-btn[data-v-f3b42f53]:hover:not(:disabled){background:var(--border-primary);color:var(--text-primary);border-color:var(--border-secondary)}.page-btn[data-v-f3b42f53]:disabled{opacity:.4;cursor:not-allowed}.page-btn.page-num[data-v-f3b42f53]{font-weight:500}.page-btn.active[data-v-f3b42f53]{background:#3b82f6;color:#fff;border-color:#3b82f6}.page-ellipsis[data-v-f3b42f53]{color:var(--text-secondary);font-size:.6875rem;padding:0 .25rem}.page-size-selector[data-v-f3b42f53]{display:flex;align-items:center;gap:.375rem}.page-size-selector label[data-v-f3b42f53]{color:var(--text-secondary);font-size:.6875rem}.page-size-selector select[data-v-f3b42f53]{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:.25rem;color:var(--text-primary);font-size:.6875rem;padding:.25rem .5rem;cursor:pointer}.page-size-selector select[data-v-f3b42f53]:focus{outline:none;border-color:#3b82f6}.fab-add[data-v-f3b42f53]{position:fixed;bottom:3.5rem;right:1rem;width:44px;height:44px;border-radius:50%;background:#3b82f6;color:#fff;border:none;box-shadow:0 2px 8px #0000004d;display:none;align-items:center;justify-content:center;cursor:pointer;z-index:50;transition:background .15s}.fab-add[data-v-f3b42f53]:hover{background:#2563eb}.fab-add[data-v-f3b42f53]:active{background:#1d4ed8}@media(max-width:639px){.presets-view[data-v-f3b42f53]{padding:.5rem .5rem 4rem}.presets-header[data-v-f3b42f53]{margin-bottom:.5rem}.presets-header h1[data-v-f3b42f53]{font-size:1rem}.presets-header p[data-v-f3b42f53]{font-size:.6875rem}.presets-toolbar[data-v-f3b42f53]{flex-direction:column;gap:.5rem}.search-box[data-v-f3b42f53]{max-width:none;width:100%;order:1}.toolbar-actions[data-v-f3b42f53]{width:100%;justify-content:space-between;order:0}.new-preset-btn[data-v-f3b42f53]{display:none}.fab-add[data-v-f3b42f53]{display:flex;bottom:.75rem;right:.75rem;width:48px;height:48px}.presets-grid[data-v-f3b42f53]{grid-template-columns:repeat(2,1fr);gap:.5rem}.loading-state[data-v-f3b42f53],.error-state[data-v-f3b42f53],.empty-state[data-v-f3b42f53]{padding:1.5rem .75rem}.empty-state h3[data-v-f3b42f53]{font-size:.8125rem}.pagination-wrapper[data-v-f3b42f53]{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.5rem;padding:.5rem .75rem}.pagination[data-v-f3b42f53]{order:1;gap:.1875rem;width:100%;justify-content:center}.pagination-info[data-v-f3b42f53]{order:0;flex:1}.page-size-selector[data-v-f3b42f53]{order:0}.page-btn[data-v-f3b42f53]{min-width:32px;height:32px}.page-btn.page-num[data-v-f3b42f53]{display:none}.page-btn.page-num.active[data-v-f3b42f53]{display:flex}.page-ellipsis[data-v-f3b42f53]{display:none}.fab-add[data-v-f3b42f53]{bottom:4rem}}@media(max-width:379px){.presets-grid[data-v-f3b42f53]{grid-template-columns:1fr}}@media(min-width:640px)and (max-width:767px){.presets-view[data-v-f3b42f53]{padding:.75rem 1rem 4rem}.presets-toolbar[data-v-f3b42f53]{flex-wrap:nowrap}.search-box[data-v-f3b42f53]{max-width:240px}.new-preset-btn[data-v-f3b42f53]{display:none}.fab-add[data-v-f3b42f53]{display:flex}.presets-grid[data-v-f3b42f53]{grid-template-columns:repeat(3,1fr);gap:.5rem}}@media(min-width:768px)and (max-width:1023px){.presets-view[data-v-f3b42f53]{padding:1rem 1.25rem}.search-box[data-v-f3b42f53]{max-width:260px}.presets-grid[data-v-f3b42f53]{grid-template-columns:repeat(4,1fr);gap:.625rem}.new-preset-btn span[data-v-f3b42f53]{display:none}.new-preset-btn[data-v-f3b42f53]{padding:.375rem}}@media(min-width:1024px){.presets-view[data-v-f3b42f53]{padding:1rem 2rem}.presets-toolbar[data-v-f3b42f53]{margin-bottom:1.25rem}.search-box[data-v-f3b42f53]{max-width:320px}.presets-grid[data-v-f3b42f53]{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.fab-add[data-v-f3b42f53]{display:none}}@media(min-width:1280px){.presets-view[data-v-f3b42f53]{padding:1.5rem 3rem}.presets-grid[data-v-f3b42f53]{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media(min-width:1536px){.presets-view[data-v-f3b42f53]{padding:1.5rem 4rem}.presets-content[data-v-f3b42f53]{max-width:1600px}.presets-grid[data-v-f3b42f53]{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media(hover:none)and (pointer:coarse){.fab-add[data-v-f3b42f53]{width:52px;height:52px}.page-btn[data-v-f3b42f53]{min-width:36px;min-height:36px}}@media(max-height:500px)and (orientation:landscape){.presets-view[data-v-f3b42f53]{padding:.5rem 1rem}.presets-header[data-v-f3b42f53]{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.5rem}.presets-header p[data-v-f3b42f53]{margin:0}.fab-add[data-v-f3b42f53]{bottom:.5rem;right:.5rem;width:40px;height:40px}}.toolbar[data-v-5677361a]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);flex-shrink:0;gap:.75rem;position:relative;min-height:56px}@media(max-width:640px){.toolbar[data-v-5677361a]{padding:.75rem;gap:.5rem;flex-wrap:wrap}}.toolbar-section[data-v-5677361a]{display:flex;align-items:center;gap:.75rem}.toolbar-actions[data-v-5677361a]{flex-shrink:0}.toolbar-audio[data-v-5677361a]{flex:1;justify-content:center}.toolbar-right[data-v-5677361a]{flex:1}.action-btn[data-v-5677361a]{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:var(--border-primary);border:1px solid var(--border-secondary);border-radius:.375rem;color:var(--text-primary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s}.action-btn[data-v-5677361a]:hover:not(:disabled){background:var(--border-secondary);border-color:#3b82f6}.action-btn-disabled[data-v-5677361a],.action-btn[data-v-5677361a]:disabled{opacity:.4;cursor:not-allowed;background:var(--bg-secondary);border-color:var(--border-primary)}.action-btn svg[data-v-5677361a]{flex-shrink:0}.action-label[data-v-5677361a]{display:none}@media(min-width:640px){.action-label[data-v-5677361a]{display:inline}}.device-dropdown[data-v-5677361a]{background:var(--border-primary);color:var(--text-primary);border:1px solid var(--border-secondary);border-radius:.375rem;padding:.375rem .5rem;font-size:.8125rem;min-width:120px;max-width:180px;cursor:pointer}@media(max-width:640px){.device-dropdown[data-v-5677361a]{min-width:80px;max-width:120px;font-size:.75rem;padding:.25rem .375rem}}.device-dropdown[data-v-5677361a]:focus{outline:none;border-color:#3b82f6}.device-dropdown[data-v-5677361a]:disabled{opacity:.5;cursor:not-allowed}.audio-toggle[data-v-5677361a]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--border-primary);border:1px solid var(--border-secondary);border-radius:.5rem;color:var(--text-muted);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.audio-toggle[data-v-5677361a]:hover:not(:disabled){border-color:#3b82f6}.audio-toggle[data-v-5677361a]:disabled{opacity:.5;cursor:not-allowed}.audio-toggle.active[data-v-5677361a]{background:linear-gradient(135deg,#166534,#15803d);border-color:#22c55e;color:#dcfce7}.toggle-indicator[data-v-5677361a]{width:8px;height:8px;border-radius:50%;background:var(--border-secondary);transition:background .2s}.audio-toggle.active .toggle-indicator[data-v-5677361a]{background:#22c55e;box-shadow:0 0 8px #22c55e}.status-indicator[data-v-5677361a]{display:flex;align-items:center;gap:.375rem}.status-dot[data-v-5677361a]{width:8px;height:8px;border-radius:50%;background:#22c55e;animation:pulse-5677361a 1.5s infinite}@keyframes pulse-5677361a{0%,to{opacity:1}50%{opacity:.5}}.status-text[data-v-5677361a]{font-size:.75rem;color:#22c55e}.master-controls[data-v-5677361a]{display:flex;align-items:center;width:100%}.control-knob[data-v-5677361a]{flex:1;display:flex;flex-direction:column;align-items:center;gap:.125rem}.control-knob canvas[data-v-5677361a]{cursor:pointer;touch-action:none}.control-label[data-v-5677361a]{font-size:.5rem;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em;font-weight:500}.control-value[data-v-5677361a]{font-size:.5rem;font-weight:600;color:var(--text-primary)}.categories[data-v-70463f2b]{display:flex;flex-direction:column;height:100%}.search-container[data-v-70463f2b]{padding:.75rem;border-bottom:1px solid var(--border-primary)}.search-input-wrapper[data-v-70463f2b]{position:relative;display:flex;align-items:center}.search-icon[data-v-70463f2b]{position:absolute;left:.75rem;width:1rem;height:1rem;color:var(--text-muted);pointer-events:none}.search-input[data-v-70463f2b]{width:100%;padding:.5rem 2rem .5rem 2.25rem;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:.5rem;color:var(--text-primary);font-size:.875rem}.search-input[data-v-70463f2b]::placeholder{color:var(--text-muted)}.search-input[data-v-70463f2b]:focus{outline:none;border-color:var(--accent-blue)}.clear-btn[data-v-70463f2b]{position:absolute;right:.5rem;background:transparent;border:none;color:var(--text-muted);padding:.25rem;cursor:pointer}.clear-btn[data-v-70463f2b]:hover{color:var(--text-primary)}.category-list[data-v-70463f2b]{flex:1;overflow-y:auto}.category-section[data-v-70463f2b]{border-bottom:1px solid var(--border-primary)}.category-header[data-v-70463f2b]{display:flex;align-items:center;width:100%;padding:.75rem 1rem;background:transparent;border:none;color:var(--text-primary);cursor:pointer;transition:background .15s;text-align:left}.category-header[data-v-70463f2b]:hover{background:var(--bg-tertiary)}.category-header.expanded[data-v-70463f2b]{background:var(--btn-bg)}.category-name[data-v-70463f2b]{flex:1;font-size:.875rem;font-weight:500}.category-count[data-v-70463f2b]{font-size:.75rem;color:var(--text-muted);margin-right:.5rem;background:var(--bg-primary);padding:.125rem .5rem;border-radius:9999px}.chevron-icon[data-v-70463f2b]{width:1rem;height:1rem;color:var(--text-muted);transition:transform .2s}.chevron-icon.rotated[data-v-70463f2b]{transform:rotate(180deg)}.category-content[data-v-70463f2b]{background:var(--bg-primary);padding:.5rem}.effects-grid[data-v-70463f2b]{display:flex;flex-direction:column;gap:.375rem}.effect-card[data-v-70463f2b]{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:.5rem;cursor:grab;transition:all .15s}.effect-card[data-v-70463f2b]:hover{border-color:var(--accent-blue);background:var(--bg-tertiary)}.effect-card[data-v-70463f2b]:active{cursor:grabbing}.effect-icon[data-v-70463f2b]{width:32px;height:32px;border-radius:.375rem;background:linear-gradient(135deg,var(--accent-blue) 0%,#2563eb 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-letter[data-v-70463f2b]{font-size:.875rem;font-weight:700;color:#fff}.effect-info[data-v-70463f2b]{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.effect-name[data-v-70463f2b]{font-size:.8125rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.effect-knobs[data-v-70463f2b]{font-size:.6875rem;color:var(--text-muted)}.add-btn[data-v-70463f2b]{background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:.375rem;color:var(--text-secondary);padding:.375rem;cursor:pointer;transition:all .15s;flex-shrink:0}.add-btn[data-v-70463f2b]:hover:not(:disabled){background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.effect-card.in-chain[data-v-70463f2b]{opacity:.6;cursor:default;border-color:var(--accent-green);background:var(--btn-bg)}.effect-card.in-chain[data-v-70463f2b]:hover{border-color:var(--accent-green);background:var(--btn-bg)}.effect-icon.in-chain[data-v-70463f2b]{background:linear-gradient(135deg,var(--accent-green) 0%,#16a34a 100%)}.add-btn.in-chain[data-v-70463f2b]{background:transparent;border-color:var(--accent-green);color:var(--accent-green);cursor:default}.add-btn[data-v-70463f2b]:disabled{cursor:not-allowed}.empty-state[data-v-70463f2b]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--text-muted)}.empty-icon[data-v-70463f2b]{width:3rem;height:3rem;margin-bottom:.75rem}.empty-text[data-v-70463f2b]{font-size:.875rem;text-align:center}.accordion-enter-active[data-v-70463f2b],.accordion-leave-active[data-v-70463f2b]{transition:all .2s ease;overflow:hidden}.accordion-enter-from[data-v-70463f2b],.accordion-leave-to[data-v-70463f2b]{opacity:0;max-height:0}.accordion-enter-to[data-v-70463f2b],.accordion-leave-from[data-v-70463f2b]{opacity:1;max-height:500px}.category-list[data-v-70463f2b]::-webkit-scrollbar{width:6px}.category-list[data-v-70463f2b]::-webkit-scrollbar-track{background:var(--bg-primary)}.category-list[data-v-70463f2b]::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:3px}.category-list[data-v-70463f2b]::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}canvas[data-v-b77b0354]{outline:none}.pedal-canvas[data-v-8832db94]{position:relative;width:100%;height:100%;overflow:hidden;transition:background .2s}.pedal-canvas.drag-over[data-v-8832db94]{background:#f973161a}.lines-canvas[data-v-8832db94]{position:absolute;top:0;left:0;pointer-events:none;z-index:0}.pedals-container[data-v-8832db94]{position:relative;width:100%;height:100%;overflow-x:auto;overflow-y:auto;z-index:1;padding:1rem;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}.empty-state[data-v-8832db94]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted)}.empty-icon[data-v-8832db94]{margin-bottom:1rem;opacity:.5}.empty-title[data-v-8832db94]{font-size:1.125rem;font-weight:500;margin-bottom:.5rem}.empty-subtitle[data-v-8832db94]{font-size:.875rem;opacity:.7}.pedal-chain[data-v-8832db94]{display:flex;align-items:center;gap:1.5rem;min-height:100%;padding:1rem 0}.signal-node[data-v-8832db94]{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex-shrink:0}.node-icon[data-v-8832db94]{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center}.input-node .node-icon[data-v-8832db94]{background:linear-gradient(135deg,var(--accent-green) 0%,#16a34a 100%);color:#fff}.output-node .node-icon[data-v-8832db94]{background:linear-gradient(135deg,var(--accent-blue) 0%,#2563eb 100%);color:#fff}.node-label[data-v-8832db94]{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.pedal-wrapper[data-v-8832db94]{position:relative;flex-shrink:0;cursor:grab;transition:opacity .2s,transform .2s;touch-action:pan-x pan-y}.pedal-wrapper[data-v-8832db94]:active{cursor:grabbing}.pedal-wrapper.drag-source[data-v-8832db94]{opacity:.5}.pedal-wrapper.drop-target[data-v-8832db94]{transform:scale(1.02)}.pedal-slot[data-v-8832db94]{position:relative;overflow:hidden}.pedal-transform-wrapper[data-v-8832db94]{transform-origin:top left;will-change:transform}.delete-btn[data-v-8832db94]{position:absolute;top:.5rem;right:.5rem;width:28px;height:28px;border-radius:50%;background:var(--accent-red);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:transform .15s,background .15s}.delete-btn[data-v-8832db94]:hover{background:var(--accent-red);filter:brightness(1.1);transform:scale(1.1)}.drop-indicator[data-v-8832db94]{position:absolute;top:0;bottom:0;width:4px;background:var(--accent-blue);border-radius:2px;animation:pulse-8832db94 1s infinite}.drop-indicator.before[data-v-8832db94]{left:-.75rem}.drop-indicator.after[data-v-8832db94]{right:-.75rem}@keyframes pulse-8832db94{0%,to{opacity:1}50%{opacity:.5}}.zoom-controls[data-v-8832db94]{position:absolute;bottom:1rem;right:1rem;display:flex;align-items:center;gap:.5rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:.5rem;padding:.375rem .5rem;z-index:20}@media(max-width:640px){.zoom-controls[data-v-8832db94]{left:1rem;right:auto}}.zoom-btn[data-v-8832db94]{width:28px;height:28px;border-radius:.25rem;background:var(--bg-tertiary);border:none;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.zoom-btn[data-v-8832db94]:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.zoom-btn[data-v-8832db94]:disabled{opacity:.5;cursor:not-allowed}.zoom-label[data-v-8832db94]{font-size:.75rem;color:var(--text-secondary);min-width:3rem;text-align:center}.fade-enter-active[data-v-8832db94],.fade-leave-active[data-v-8832db94]{transition:opacity .15s}.fade-enter-from[data-v-8832db94],.fade-leave-to[data-v-8832db94]{opacity:0}.pedals-container[data-v-8832db94]::-webkit-scrollbar{height:8px;width:8px}.pedals-container[data-v-8832db94]::-webkit-scrollbar-track{background:var(--bg-primary)}.pedals-container[data-v-8832db94]::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:4px}.pedals-container[data-v-8832db94]::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.workspace[data-v-e2510c29]{display:flex;flex-direction:column;flex:1;overflow:hidden}@media(min-width:640px){.workspace[data-v-e2510c29]{flex-direction:row}}.categories-panel[data-v-e2510c29]{background:var(--bg-secondary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;overflow:hidden;transition:width .3s ease,min-width .3s ease}.categories-panel.mobile-hidden[data-v-e2510c29]{display:none}@media(min-width:640px){.categories-panel[data-v-e2510c29]{width:30%;min-width:200px;max-width:320px}.categories-panel.collapsed[data-v-e2510c29]{width:48px;min-width:48px}}@media(min-width:1024px){.categories-panel[data-v-e2510c29]{width:300px;min-width:280px;max-width:360px}}.panel-header[data-v-e2510c29]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border-primary);flex-shrink:0}.panel-title[data-v-e2510c29]{font-size:.875rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}.categories-panel.collapsed .panel-title[data-v-e2510c29]{display:none}.collapse-btn[data-v-e2510c29]{background:transparent;border:none;color:var(--text-muted);padding:.25rem;cursor:pointer;border-radius:.25rem}.collapse-btn[data-v-e2510c29]:hover{background:var(--border-primary);color:var(--text-primary)}.panel-content[data-v-e2510c29]{flex:1;overflow-y:auto}.canvas-container[data-v-e2510c29]{flex:1;overflow:hidden;background:var(--bg-primary);position:relative}.canvas-container.full-width[data-v-e2510c29]{width:100%}.panel-content[data-v-e2510c29]::-webkit-scrollbar{width:6px}.panel-content[data-v-e2510c29]::-webkit-scrollbar-track{background:var(--bg-primary)}.panel-content[data-v-e2510c29]::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:3px}.panel-content[data-v-e2510c29]::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.pedalboard[data-v-5ab6509e]{display:flex;flex-direction:column;height:90vh;background:var(--bg-primary);overflow:hidden}.fab-add[data-v-5ab6509e]{position:fixed;bottom:1.5rem;right:1.5rem;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;box-shadow:0 4px 12px #3b82f666;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:50;transition:transform .2s,box-shadow .2s}.fab-add[data-v-5ab6509e]:hover{transform:scale(1.05);box-shadow:0 6px 16px #3b82f680}.fab-add[data-v-5ab6509e]:active{transform:scale(.95)}.categories-drawer-backdrop[data-v-5ab6509e]{position:fixed;inset:0;background:#00000080;z-index:100;display:flex;flex-direction:column;justify-content:flex-end}.categories-drawer[data-v-5ab6509e]{background:var(--bg-secondary);border-radius:1rem 1rem 0 0;max-height:70vh;overflow-y:auto;padding:.5rem 1rem 1rem}.drawer-handle[data-v-5ab6509e]{width:40px;height:4px;background:var(--border-secondary);border-radius:2px;margin:.5rem auto 1rem;cursor:pointer}.drawer-enter-active[data-v-5ab6509e],.drawer-leave-active[data-v-5ab6509e]{transition:opacity .3s,transform .3s}.drawer-enter-from[data-v-5ab6509e],.drawer-leave-to[data-v-5ab6509e]{opacity:0}.drawer-enter-from .categories-drawer[data-v-5ab6509e],.drawer-leave-to .categories-drawer[data-v-5ab6509e]{transform:translateY(100%)}.drawer-enter-to .categories-drawer[data-v-5ab6509e],.drawer-leave-from .categories-drawer[data-v-5ab6509e]{transform:translateY(0)}.dashboard-container[data-v-f3970aef]{min-height:100vh;background:var(--bg-primary);display:flex;flex-direction:column}.tabs-nav[data-v-f3970aef]{display:flex;gap:.5rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-primary)}.tab-btn[data-v-f3970aef]{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:transparent;border:1px solid var(--border-secondary);border-radius:.5rem;color:var(--text-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.tab-btn[data-v-f3970aef]:hover{background:var(--bg-secondary);color:var(--text-primary)}.tab-btn.active[data-v-f3970aef]{background:#3b82f6;border-color:#3b82f6;color:#fff}.count-badge[data-v-f3970aef]{padding:.125rem .5rem;background:#fff3;border-radius:9999px;font-size:.75rem}.tab-btn:not(.active) .count-badge[data-v-f3970aef]{background:var(--border-secondary)}.content-area[data-v-f3970aef]{flex:1;padding:1rem 1.5rem;overflow-y:auto}.loading-state[data-v-f3970aef]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;color:var(--text-muted)}.spinner[data-v-f3970aef]{animation:spin-f3970aef 1s linear infinite}@keyframes spin-f3970aef{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-state[data-v-f3970aef]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;color:#f87171;text-align:center}.retry-btn[data-v-f3970aef]{padding:.5rem 1rem;background:var(--border-secondary);border:none;border-radius:.375rem;color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:background .15s}.retry-btn[data-v-f3970aef]:hover{background:var(--bg-tertiary)}.empty-state[data-v-f3970aef]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;text-align:center}.empty-icon[data-v-f3970aef]{color:var(--border-secondary)}.empty-state h3[data-v-f3970aef]{margin:0;color:var(--text-primary);font-size:1.125rem}.empty-state p[data-v-f3970aef]{margin:0;color:var(--text-secondary);font-size:.875rem}.go-btn[data-v-f3970aef]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid var(--border-secondary);border-radius:.5rem;color:var(--text-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.go-btn[data-v-f3970aef]:hover{background:var(--bg-secondary);border-color:#3b82f6;color:#60a5fa}.items-grid[data-v-f3970aef]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.pagination-wrapper[data-v-f3970aef]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid var(--border-primary);background:var(--bg-primary)}.pagination-info[data-v-f3970aef]{color:var(--text-secondary);font-size:.75rem}.pagination-controls[data-v-f3970aef]{display:flex;align-items:center;gap:.5rem}.page-btn[data-v-f3970aef]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:.375rem;color:var(--text-muted);cursor:pointer;transition:all .15s}.page-btn[data-v-f3970aef]:hover:not(:disabled){background:var(--border-secondary);color:var(--text-primary)}.page-btn[data-v-f3970aef]:disabled{opacity:.5;cursor:not-allowed}.page-indicator[data-v-f3970aef]{color:var(--text-muted);font-size:.875rem;min-width:60px;text-align:center}@media(max-width:639px){.tabs-nav[data-v-f3970aef]{padding:.75rem 1rem}.tab-btn[data-v-f3970aef]{flex:1;justify-content:center;padding:.5rem .75rem;font-size:.8125rem}.content-area[data-v-f3970aef]{padding:.75rem 1rem}.items-grid[data-v-f3970aef]{grid-template-columns:1fr}.pagination-wrapper[data-v-f3970aef]{padding:.75rem 1rem}}
