*{border-color:var(--border)}body,html,#root,.app-container{border:none!important}body{font-family:Inter,sans-serif;background-color:var(--background);color:var(--foreground);margin:0;padding:0}.prose-styles{max-width:none;line-height:1.625;color:var(--foreground)}.midi-settings-panel{position:relative;z-index:60}.midi-status-button{border-radius:var(--radius);border-width:1px;--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1));background-color:#1e293be6;padding:.5rem .75rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.midi-status-button:hover{background-color:#334155e6}.midi-status-button{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.midi-status-button:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.midi-status-button{--tw-backdrop-blur: blur(4px);-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)}.midi-status-button:hover{--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity, 1));--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.status-indicator{height:.5rem;width:.5rem;border-radius:9999px}.status-active{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity, 1));box-shadow:0 0 4px #22c55e80}.status-inactive{--tw-bg-opacity: 1;background-color:rgb(250 204 21 / var(--tw-bg-opacity, 1));box-shadow:0 0 4px #fbbf2480}.status-error{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1));box-shadow:0 0 4px #f8717180}.midi-panel-content{position:absolute;top:100%;right:0;margin-top:.5rem;width:20rem;max-width:90vw;background-color:#0f172af2;--tw-backdrop-blur: blur(12px);-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);border-radius:var(--radius);border-width:1px;--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1));--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-duration:.2s;animation-name:enter;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial;--tw-enter-translate-y: -.5rem;animation-duration:.2s;animation:slide-in-from-top .2s ease-out}.midi-panel-card{padding:1rem}@media (max-width: 640px){.midi-panel-content{right:0;width:18rem}.midi-status-button{padding:.25rem .5rem}.midi-status-button span{font-size:.75rem;line-height:1rem}}@keyframes slide-in-from-top{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-in,.slide-in-from-top-2{animation:slide-in-from-top .2s ease-out}.midi-settings-panel .midi-panel-content{z-index:1000}.midi-detection-panel{background-color:#0f172af2;--tw-backdrop-blur: blur(12px);-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);border-radius:var(--radius);border-width:1px;--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1));--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);margin-bottom:.75rem;position:fixed;top:5rem;left:50%;transform:translate(-50%);z-index:50;width:calc(100% - 2rem);max-width:600px}.midi-detection-card{padding:.5rem}@media (max-width: 768px){.midi-detection-panel{top:4.5rem;width:calc(100% - 1rem)}.midi-detection-card{padding:.5rem}}.midi-detection-panel .midi-detection-card h3{font-weight:600;--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.midi-detection-panel input[type=radio]{accent-color:#06b6d4}.midi-detection-panel select{--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.midi-detection-panel select:focus{--tw-border-opacity: 1;border-color:rgb(34 211 238 / var(--tw-border-opacity, 1));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(34 211 238 / var(--tw-ring-opacity, 1))}.midi-detection-panel button{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.midi-detection-panel button{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.midi-detection-panel button:hover{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity, 1))}.midi-detection-panel .min-h-\[20px\]{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1));border-width:1px;--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.midi-detection-panel .note-button{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1));padding-left:.25rem;padding-right:.25rem;--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.midi-detection-panel .note-button.root-note{--tw-bg-opacity: 1;background-color:rgb(8 145 178 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:1000;display:none;opacity:0;transition:opacity .3s ease}.modal-backdrop.visible{display:block;opacity:1}.suggestions-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#1e293b;border:1px solid #475569;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-width:500px;max-height:80vh;overflow-y:auto;z-index:1001;padding:20px;display:none;opacity:0;transform:translate(-50%,-50%) scale(.9);transition:all .3s ease;color:#e2e8f0}.suggestions-overlay.visible{display:block;opacity:1;transform:translate(-50%,-50%) scale(1)}.suggestion-close{position:absolute;top:10px;right:15px;font-size:24px;cursor:pointer;color:#94a3b8;background:none;border:none;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.suggestion-close:hover{color:#e2e8f0;background:#374151;border-radius:50%}.suggestion-item{background:#334155;border-radius:6px;padding:12px;margin-bottom:10px;border-left:4px solid #06b6d4}.suggestion-header{font-weight:600;color:#e2e8f0;margin-bottom:6px}.suggestion-notes{color:#94a3b8;font-size:.9em}.played{color:#06b6d4;font-weight:600}.not-played{color:#64748b}.scale-links{margin-top:8px;padding-top:8px;border-top:1px solid #475569}.scale-link{color:#06b6d4;cursor:pointer;text-decoration:underline;font-size:.85em}.no-suggestions{color:#94a3b8;text-align:center;padding:20px;font-style:italic}.melody-suggestions h3{color:#06b6d4;margin-bottom:15px;font-size:1.2em}.chord-suggestions h3{color:#10b981;margin-bottom:15px;font-size:1.2em}@media (max-width: 640px){.suggestions-overlay{max-width:90vw;margin:0 5vw;padding:15px}.suggestion-item{padding:10px}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--radius: .65rem;--background: oklch(.98 .01 270);--foreground: oklch(.1 .05 270);--card: oklch(.95 .02 270);--card-foreground: oklch(.1 .05 270);--popover: oklch(.95 .02 270);--popover-foreground: oklch(.1 .05 270);--primary: oklch(.55 .2 270);--primary-foreground: oklch(.98 .01 270);--secondary: oklch(.9 .05 270);--secondary-foreground: oklch(.35 .15 270);--muted: oklch(.92 .03 270);--muted-foreground: oklch(.4 .1 270);--accent: oklch(.8 .12 85);--accent-foreground: oklch(.1 .05 270);--destructive: oklch(.577 .245 27.325);--destructive-foreground: oklch(.98 .01 270);--border: oklch(.85 .05 270);--input: oklch(.93 .03 270);--ring: oklch(.55 .2 270);--chart-1: oklch(.55 .2 270);--chart-2: oklch(.8 .12 85);--chart-3: oklch(.35 .15 270);--chart-4: oklch(.7 .15 300);--chart-5: oklch(.85 .08 60);--sidebar: oklch(.96 .02 270);--sidebar-foreground: oklch(.1 .05 270);--sidebar-primary: oklch(.55 .2 270);--sidebar-primary-foreground: oklch(.98 .01 270);--sidebar-accent: oklch(.8 .12 85);--sidebar-accent-foreground: oklch(.1 .05 270);--sidebar-border: oklch(.85 .05 270);--sidebar-ring: oklch(.55 .2 270);--success: oklch(.7 .15 140);--success-foreground: oklch(.98 .01 270);--warning: oklch(.8 .15 85);--warning-foreground: oklch(.1 .05 270);--info: oklch(.65 .2 240);--info-foreground: oklch(.98 .01 270);--nav-background: var(--muted);--nav-foreground: var(--muted-foreground);--nav-active: var(--primary);--nav-active-foreground: var(--primary-foreground);--error: var(--destructive);--error-foreground: var(--destructive-foreground);--error-muted: oklch(.95 .05 27);--error-muted-foreground: oklch(.4 .15 27)}.dark{--background: oklch(.1 .05 270);--foreground: oklch(.985 0 0);--card: oklch(.15 .08 270);--card-foreground: oklch(.985 0 0);--popover: oklch(.15 .08 270);--popover-foreground: oklch(.985 0 0);--primary: oklch(.65 .25 270);--primary-foreground: oklch(.985 0 0);--secondary: oklch(.35 .15 270);--secondary-foreground: oklch(.985 0 0);--muted: oklch(.2 .1 270);--muted-foreground: oklch(.7 .05 270);--accent: oklch(.85 .15 85);--accent-foreground: oklch(.1 .05 270);--destructive: oklch(.704 .191 22.216);--destructive-foreground: oklch(.985 0 0);--border: oklch(.25 .1 270);--input: oklch(.18 .08 270);--ring: oklch(.65 .25 270);--chart-1: oklch(.65 .25 270);--chart-2: oklch(.85 .15 85);--chart-3: oklch(.35 .15 270);--chart-4: oklch(.75 .2 300);--chart-5: oklch(.9 .1 60);--sidebar: oklch(.12 .06 270);--sidebar-foreground: oklch(.985 0 0);--sidebar-primary: oklch(.65 .25 270);--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.85 .15 85);--sidebar-accent-foreground: oklch(.1 .05 270);--sidebar-border: oklch(.25 .1 270);--sidebar-ring: oklch(.65 .25 270);--success: oklch(.6 .2 140);--success-foreground: oklch(.985 0 0);--warning: oklch(.75 .2 85);--warning-foreground: oklch(.1 .05 270);--info: oklch(.7 .25 240);--info-foreground: oklch(.985 0 0);--nav-background: var(--muted);--nav-foreground: var(--muted-foreground);--nav-active: var(--primary);--nav-active-foreground: var(--primary-foreground);--error: var(--destructive);--error-foreground: var(--destructive-foreground);--error-muted: oklch(.15 .1 27);--error-muted-foreground: oklch(.7 .15 27)}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.container{max-width:1400px}}.card{border-radius:.75rem;border-width:1px;border-color:var(--border);background-color:var(--card);padding:1.5rem;color:var(--card-foreground);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.card:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.card--blur{border-width:1px;border-color:var(--border);--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-backdrop-blur: blur(4px);-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-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;background-color:color-mix(in oklch,var(--card) 50%,transparent)}.card--blur:hover{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);border-color:color-mix(in oklch,var(--primary) 30%,transparent);filter:drop-shadow(0 25px 25px rgb(0 0 0 / .15))}.btn{border-radius:calc(var(--radius) - 2px);padding:.75rem 1rem;font-weight:700;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.btn:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-offset-width: 2px;--tw-ring-offset-color: var(--background)}.btn--primary{background-color:var(--primary);color:var(--primary-foreground);--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.btn--primary:focus{--tw-ring-color: var(--ring)}.btn--primary:disabled{cursor:not-allowed;background-color:var(--muted)}.btn--primary:hover:not(:disabled){background-color:color-mix(in oklch,var(--primary) 90%,transparent);--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.btn--secondary{background-color:var(--secondary);color:var(--secondary-foreground)}.btn--secondary:focus{--tw-ring-color: var(--ring)}.btn--secondary:hover{background-color:color-mix(in oklch,var(--secondary) 80%,transparent)}.btn--grow{display:flex;flex-grow:1;align-items:center;justify-content:center;gap:.5rem}.label{margin-bottom:.25rem;display:block;font-size:.875rem;line-height:1.25rem;font-weight:500;color:var(--foreground)}.text-input,.select-input{width:100%;border-radius:calc(var(--radius) - 2px);border-width:1px;border-color:var(--border);background-color:var(--input);padding:.5rem .75rem;color:var(--foreground);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.text-input:focus,.select-input:focus{border-color:var(--ring);--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: var(--ring);--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.text-input:hover,.select-input:hover{border-color:color-mix(in oklch,var(--primary) 50%,transparent)}.link-button{font-size:.875rem;line-height:1.25rem;font-weight:500;color:var(--primary);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.link-button:hover{text-decoration-line:underline;color:color-mix(in oklch,var(--primary) 80%,transparent)}.error-box{margin-top:2rem;border-radius:var(--radius);border-width:1px;border-color:var(--error);background-color:var(--error-muted);padding:1rem;text-align:center;color:var(--error-muted-foreground)}.section-title{margin-bottom:1rem;font-size:1.5rem;line-height:2rem;font-weight:700;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.subsection-title{margin-bottom:.75rem;border-bottom-width:2px;border-color:var(--border);padding-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;color:var(--primary)}.tooltip{pointer-events:none;position:absolute;bottom:100%;margin-bottom:.5rem;width:-moz-max-content;width:max-content;max-width:20rem;border-radius:var(--radius);border-width:1px;border-color:var(--border);background-color:var(--card);padding:.5rem .75rem;font-size:.75rem;line-height:1rem;font-weight:500;color:var(--foreground);opacity:0;--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.group:hover .tooltip{opacity:1}.app-container{display:flex;min-height:100vh;flex-direction:column;background-color:var(--background);color:var(--foreground)}.toggle-switch{display:flex;align-items:center;justify-content:center}.toggle-switch>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.toggle-switch__label{font-weight:500;color:var(--muted-foreground);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.toggle-switch__label--active{color:var(--primary)}.toggle-switch__button{position:relative;display:inline-flex;height:1.5rem;width:2.75rem;flex-shrink:0;cursor:pointer;border-radius:9999px;border-width:2px;border-color:transparent;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.2s;animation-timing-function:cubic-bezier(.4,0,.2,1)}.toggle-switch__button:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: var(--ring);--tw-ring-offset-width: 2px;--tw-ring-offset-color: var(--background)}.toggle-switch__button--on{background-color:var(--primary)}.toggle-switch__button--off{background-color:var(--muted)}.toggle-switch__slider{display:inline-block;height:1.25rem;width:1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:9999px;background-color:var(--background);--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.2s;animation-timing-function:cubic-bezier(.4,0,.2,1)}.toggle-switch__slider--on{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.toggle-switch__slider--off{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.analysis-sidebar{position:fixed;top:5rem;right:1.5rem;width:auto;min-width:20rem;max-width:30rem;background-color:var(--card);border:1px solid var(--border);padding:1.5rem;border-radius:.5rem;box-shadow:0 4px 6px #0000001a;overflow-y:auto;max-height:calc(100vh - 5rem);height:auto;z-index:10;color:var(--card-foreground)}.analysis-sidebar::-webkit-scrollbar{width:8px}.analysis-sidebar::-webkit-scrollbar-track{background:var(--muted)}.analysis-sidebar::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:4px;border:2px solid var(--muted)}.with-sidebar{margin-right:22rem}@media (max-width: 1200px){.with-sidebar{margin-right:0}.analysis-sidebar{position:fixed;top:1rem;right:1rem;left:1rem;width:auto;min-width:auto;max-width:none}}.analysis-toggle-fab{position:fixed;bottom:1.5rem;right:1.5rem;z-index:50}.analysis-toggle-fab__btn{position:relative;display:flex;height:3.5rem;width:3.5rem;align-items:center;justify-content:center;border-radius:9999px;background-color:var(--primary);color:var(--primary-foreground);--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.2s;animation-timing-function:cubic-bezier(.4,0,.2,1)}.analysis-toggle-fab__btn:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.analysis-toggle-fab__btn:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: var(--ring)}.analysis-toggle-fab__btn:hover{background-color:color-mix(in oklch,var(--primary) 90%,transparent);--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (max-width: 768px){.analysis-toggle-fab{bottom:1rem;right:1rem}.analysis-toggle-fab__btn{height:3rem;width:3rem}.analysis-toggle-fab__badge{height:1.25rem;width:1.25rem;font-size:.75rem;line-height:1rem}}.tab-content-wrapper{width:100%}.tab-content-wrapper>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.tab-with-results .mode-identification-tab,.tab-with-results .mode-discovery-tab,.tab-with-results .harmony-tab,.tab-with-results .reference-tab{min-width:0px;flex:1 1 0%}.debug-panel{margin-top:2rem;border-radius:var(--radius);border-width:1px;padding:1rem;background-color:color-mix(in oklch,var(--muted) 50%,transparent);border-color:color-mix(in oklch,var(--warning) 50%,transparent)}.unified-results-panel{position:relative}.unified-results-panel__controls{margin-left:1rem;display:flex;align-items:center;gap:.5rem}.unified-results-panel__control-btn{display:flex;height:2rem;width:2rem;align-items:center;justify-content:center;border-radius:.25rem;font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.unified-results-panel__control-btn:hover{background-color:var(--muted);color:var(--foreground)}.unified-results-panel__control-btn:disabled{cursor:not-allowed;opacity:.5}.unified-results-panel__control-btn:disabled:hover{background-color:transparent;color:var(--muted-foreground)}.unified-results-panel__control-btn.active{background-color:var(--muted);color:var(--primary)}.unified-results-panel__position-controls{margin-right:.5rem;display:flex;align-items:center;gap:.25rem;border-right-width:1px;border-color:var(--border);padding-right:.5rem}.unified-results-panel__close-top-right{position:absolute;top:.5rem;right:.5rem;z-index:10;cursor:pointer;border-radius:.25rem;padding:.25rem;color:var(--muted-foreground);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.unified-results-panel__close-top-right:hover{background-color:var(--muted);color:var(--foreground)}.primary-result,.alternate-results,.song-examples{margin-bottom:1.5rem;border-radius:var(--radius);border-width:1px;border-color:var(--border);background-color:var(--card);padding:1rem;background-color:color-mix(in oklch,var(--card) 80%,transparent)}.primary-result h4,.alternate-results h5,.song-examples h5{margin-bottom:1rem;border-bottom-width:1px;border-color:var(--border);padding-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:700;color:var(--primary)}.alternate-mode{margin-bottom:1rem;border-radius:.25rem;border-width:1px;border-color:var(--border);background-color:var(--muted);padding:.75rem;background-color:color-mix(in oklch,var(--muted) 60%,transparent)}.alternate-mode h6{margin-bottom:.5rem;font-size:1rem;line-height:1.5rem;font-weight:600;color:var(--secondary)}.song-group{margin-bottom:1rem;border-radius:.25rem;border-width:1px;border-color:var(--border);background-color:var(--muted);padding:.75rem;background-color:color-mix(in oklch,var(--muted) 60%,transparent)}.song-group h6{margin-bottom:.5rem;font-size:1rem;line-height:1.5rem;font-weight:600;color:var(--accent)}.explanation-section{margin-top:.75rem;border-radius:.25rem;border-left-width:4px;border-color:var(--info);background-color:var(--muted);padding:.75rem;background-color:color-mix(in oklch,var(--info) 10%,transparent)}.explanation-section h5,.explanation-section h6{margin-bottom:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:600;color:var(--info)}.primary-result strong,.alternate-results strong,.song-examples strong,.mode-analysis strong{color:var(--primary);font-weight:700}.loading-state,.placeholder-state,.error-state{border-radius:var(--radius);border-width:1px;border-color:var(--border);padding:1.5rem;text-align:center}.loading-state{background-color:var(--info);color:var(--info-foreground);background-color:color-mix(in oklch,var(--info) 20%,transparent)}.placeholder-state{background-color:var(--warning);color:var(--warning-foreground);background-color:color-mix(in oklch,var(--warning) 20%,transparent)}.error-state{background-color:var(--error);color:var(--error-foreground);background-color:color-mix(in oklch,var(--destructive) 20%,transparent)}.ai-error{margin-top:1rem;border-radius:.25rem;border-width:1px;border-color:var(--error);background-color:var(--error-muted);padding:.75rem;color:var(--error-muted-foreground)}.melody-suggestions{margin-top:1rem}.melody-suggestions h5{margin-bottom:.75rem;border-bottom-width:1px;border-color:var(--border);padding-bottom:.5rem;font-size:1rem;line-height:1.5rem;font-weight:600;color:var(--primary)}.suggestions-grid>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.suggestion-item{border-radius:var(--radius);border-width:1px;border-color:var(--border);background-color:var(--card);padding:1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.suggestion-item:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.suggestion-item{background-color:color-mix(in oklch,var(--card) 90%,transparent)}.suggestion-header{margin-bottom:.75rem;display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;border-color:var(--border);padding-bottom:.5rem}.suggestion-header strong{font-size:1rem;line-height:1.5rem;font-weight:700;color:var(--primary)}.suggestion-details>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.suggestion-details strong{font-weight:600;color:var(--foreground)}.suggestion-notes{margin-top:.75rem}.notes-display{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.5rem}.note-badge{border-radius:9999px;border-width:1px;padding:.25rem .5rem;font-size:.75rem;line-height:1rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.note-played{border-color:var(--primary);background-color:var(--primary);color:var(--primary-foreground);--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.note-not-played{border-color:var(--border);background-color:var(--muted);color:var(--muted-foreground)}.no-suggestions{border-radius:var(--radius);border-width:1px;border-color:var(--border);background-color:var(--muted);padding:1.5rem 1rem;text-align:center;background-color:color-mix(in oklch,var(--muted) 50%,transparent)}.no-suggestions p{color:var(--muted-foreground)}.no-suggestions .text-muted{margin-top:.5rem;font-size:.875rem;line-height:1.25rem;opacity:.75}.melody-suggestions strong{color:var(--primary);font-weight:700}.scale-links{margin-top:.75rem;border-top-width:1px;border-color:var(--border);padding-top:.75rem}.scale-links small{margin-bottom:.5rem;display:block;font-weight:500;color:var(--muted-foreground)}.scale-links-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.scale-link-button{height:auto;border-radius:.25rem;border-width:1px;border-color:var(--border);background-color:var(--muted);padding:.25rem .5rem;font-size:.75rem;line-height:1rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.scale-link-button:hover{background-color:var(--accent);color:var(--accent-foreground)}.scale-link-button{text-decoration:none!important}.scale-link-button:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.tab-header__title{margin-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:700;color:var(--foreground)}.tab-header__subtitle{margin-left:auto;margin-right:auto;max-width:42rem;color:var(--muted-foreground)}.method-selector{margin-bottom:2rem}.method-selector__grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width: 768px){.method-selector__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.method-selector__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.method-selector__card{border-radius:var(--radius);border-width:2px;border-color:var(--border);background-color:var(--card);padding:1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.method-selector__card:hover{background-color:var(--muted)}.method-selector__card:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: var(--ring);--tw-ring-offset-width: 2px;--tw-ring-offset-color: var(--background)}.method-selector__card:disabled{cursor:not-allowed;opacity:.5}.method-selector__card:hover{border-color:color-mix(in oklch,var(--primary) 50%,transparent)}.method-selector__card--active{border-color:var(--primary);background-color:color-mix(in oklch,var(--primary) 20%,transparent)}.method-selector__card--active:hover{background-color:color-mix(in oklch,var(--primary) 30%,transparent)}.method-selector__card-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;color:var(--card-foreground)}.method-selector__card-description{font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground)}.method-selector__card-header{margin-bottom:.5rem;display:flex;align-items:flex-start;justify-content:space-between}.method-selector__card-status{margin-left:.5rem;flex-shrink:0;font-size:.75rem;line-height:1rem;font-weight:700}.method-selector__card-status-label{margin-top:.5rem;font-size:.75rem;line-height:1rem;font-weight:500;color:var(--muted-foreground)}.input-section>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.input-panel>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.input-panel__help{font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground)}.input-panel__placeholder{padding-top:2rem;padding-bottom:2rem;text-align:center;color:var(--muted-foreground)}.input-section__actions{display:flex;justify-content:center}.validation-feedback{margin-top:.75rem}.validation-feedback>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.validation-feedback__issue{border-radius:calc(var(--radius) - 2px);border-width:1px;padding:.75rem;background-color:color-mix(in oklch,var(--warning) 30%,transparent);border-color:color-mix(in oklch,var(--warning) 50%,transparent)}.validation-feedback__message{margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--warning-foreground)}.validation-feedback__icon{color:var(--warning)}.validation-feedback__suggestion{margin-bottom:.75rem;font-size:.875rem;line-height:1.25rem;color:var(--warning-foreground)}.validation-feedback__switch-btn{border-radius:.25rem;background-color:var(--warning);padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;color:var(--warning-foreground);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.validation-feedback__switch-btn:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: var(--ring)}.validation-feedback__switch-btn:hover{background-color:color-mix(in oklch,var(--warning) 90%,transparent)}.mode-identification-tab{width:100%}.mode-identification-tab>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.note-selector__note{cursor:pointer;border-radius:calc(var(--radius) - 2px);border-width:2px;border-color:var(--border);background-color:var(--card);padding:.5rem 1rem;color:var(--card-foreground);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.note-selector__note:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: var(--ring)}.note-selector__note--active{border-color:var(--primary);background-color:var(--primary);color:var(--primary-foreground)}.note-selector__note--active:hover{background-color:color-mix(in oklch,var(--primary) 90%,transparent)}.chord-examples{margin-top:1rem}.chord-examples__list{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.5rem}.chord-example{border-radius:.25rem;background-color:var(--secondary);padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;color:var(--secondary-foreground);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.chord-example:hover{background-color:color-mix(in oklch,var(--secondary) 80%,transparent)}.progression-examples{margin-top:1rem}.progression-examples__list{margin-top:.5rem}.progression-examples__list>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.progression-example{display:block;width:100%;border-radius:.25rem;background-color:var(--secondary);padding:.5rem .75rem;text-align:left;font-size:.875rem;line-height:1.25rem;color:var(--secondary-foreground);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.progression-example:hover{background-color:color-mix(in oklch,var(--secondary) 80%,transparent)}.compare-inputs{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width: 768px){.compare-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}}.compare-input>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.selected-notes{margin-top:.75rem;border-radius:calc(var(--radius) - 2px);padding:.75rem;font-size:.875rem;line-height:1.25rem;color:var(--accent-foreground);background-color:color-mix(in oklch,var(--accent) 20%,transparent);border:1px solid color-mix(in oklch,var(--accent) 30%,transparent)}.chord-analyzer{margin-left:auto;margin-right:auto;width:100%;max-width:42rem}.chord-analyzer__toggle-container{margin-bottom:1.5rem;display:flex;justify-content:center}.chord-analyzer__input-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width: 768px){.chord-analyzer__input-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.chord-analyzer__actions{margin-top:1.5rem;display:flex;align-items:center;gap:1rem}.chord-analyzer__output{margin-top:2rem}.note-selector{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.5rem}.note-selector__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem}.note-selector__note{display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:calc(var(--radius) - 2px);border-width:2px;border-color:var(--border);background-color:var(--card);padding:.5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.note-selector__note:hover{background-color:var(--muted)}.note-selector__note--selected{border-color:var(--primary);background-color:var(--primary);color:var(--primary-foreground)}.note-selector__note-text{-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:var(--card-foreground)}.result-display{margin-top:2rem;width:100%}.result-display{animation:fadeIn .5s ease-in-out}.result-display>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.result-display{animation:fadeIn .3s ease-in-out}.info-pair{border-radius:var(--radius);border-width:1px;border-color:var(--border);background-color:var(--card);padding:1rem}.info-pair__label{font-size:.875rem;line-height:1.25rem;font-weight:700;color:var(--primary)}.info-pair__value{font-size:1.125rem;line-height:1.75rem;color:var(--card-foreground)}.info-pair__value--mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.song-example-item{display:flex;align-items:flex-start;border-radius:var(--radius);border-width:1px;border-color:var(--border);background-color:var(--card);padding:1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.song-example-item:hover{background-color:var(--muted)}.song-example-item__icon{margin-top:.25rem;margin-right:1rem;height:1.25rem;width:1.25rem;flex-shrink:0;color:var(--accent)}.song-example-item__usage{margin-top:.5rem;border-radius:.25rem;background-color:var(--muted);padding:.5rem;font-size:.875rem;line-height:1.25rem;font-style:italic;color:var(--muted-foreground)}.loading-spinner-container{display:flex;align-items:center;justify-content:center;padding:1rem}.loading-spinner{height:3rem;width:3rem}.loading-spinner{animation:spin 1s linear infinite;border-radius:9999px;border-bottom-width:2px;border-color:var(--primary)}.scale-finder{margin-left:auto;margin-right:auto;width:100%}.scale-finder>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.scale-finder .text-semibold{font-weight:600}.scale-finder .text-error{color:var(--destructive)}.chord-analysis-section{margin-top:1.5rem}.chord-analysis-section>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.chord-analysis-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width: 768px){.chord-analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.chord-analysis-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.chord-analysis-item>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.chord-analysis-item{border-radius:var(--radius);border-width:1px;border-color:var(--border);background-color:var(--card);padding:1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.chord-analysis-item:hover{background-color:var(--muted)}.chord-header{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;border-color:var(--border);padding-bottom:.5rem}.chord-header strong{font-size:1.125rem;line-height:1.75rem;font-weight:600;color:var(--primary)}.chord-analysis-item p>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.chord-analysis-item p{font-size:.875rem;line-height:1.25rem}.chord-analysis-item p strong{font-weight:500;color:var(--foreground)}.modal-chords-section{margin-top:1.5rem;border-radius:var(--radius);border-width:1px;border-color:var(--accent);background-color:var(--accent);padding:1rem}.modal-chords-list{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.5rem}.modal-chord-item{border-radius:9999px;border-width:1px;border-color:var(--accent);background-color:var(--accent);padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;color:var(--accent-foreground)}.modal-interchange-section{margin-top:1.5rem;border-radius:var(--radius);border-width:1px;border-color:var(--border);background-color:var(--muted);padding:1rem}.progression-analysis>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.applications-section{margin-top:1.5rem;border-radius:var(--radius);border-width:1px;border-color:var(--border);background-color:var(--muted);padding:1rem}.reference-tab{width:100%}.reference-tab>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.tab-header{margin-bottom:2rem;text-align:center}.tab-header__title{margin-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:700;color:var(--primary)}.tab-header__subtitle{font-size:1.125rem;line-height:1.75rem;color:var(--muted-foreground)}.reference-content>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.quick-reference>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.quick-reference__title{margin-bottom:1rem;font-size:1.5rem;line-height:2rem;font-weight:600;color:var(--primary)}.reference-section>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.reference-section__title{margin-bottom:.75rem;font-size:1.25rem;line-height:1.75rem;font-weight:600;color:var(--primary)}.reference-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width: 768px){.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.reference-card{cursor:pointer;border-radius:var(--radius);border-width:1px;border-color:var(--border);background-color:var(--card);padding:1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.reference-card:hover{background-color:var(--muted)}.reference-card__name{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;color:var(--primary)}.reference-card__formula{margin-bottom:.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground)}.reference-card__character{font-size:.875rem;line-height:1.25rem;font-style:italic;color:var(--card-foreground)}.scale-tables-section>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.scale-tables__title{margin-bottom:.5rem;font-size:1.5rem;line-height:2rem;font-weight:600;color:var(--primary)}.scale-tables__description{margin-bottom:1rem;color:var(--muted-foreground)}.scale-finder-container{border-radius:var(--radius);border-width:1px;border-color:var(--border);background-color:var(--card);padding:1.5rem}.reference-footer{margin-top:3rem;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:2rem;border-radius:var(--radius);background-color:var(--muted);padding:1.5rem}@media (min-width: 768px){.reference-footer{grid-template-columns:repeat(2,minmax(0,1fr))}}.legend>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.legend__title{margin-bottom:.75rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;color:var(--primary)}.legend__items>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.legend__item{display:flex;align-items:center;gap:.75rem}.legend__symbol{min-width:2rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1.125rem;line-height:1.75rem;font-weight:700;color:var(--primary)}.legend__text{font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground)}.tips>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.tips__title{margin-bottom:.75rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;color:var(--primary)}.tips__list{list-style-position:inside;list-style-type:disc}.tips__list>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.tips__list{font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground)}.scale-tables-container>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.table-container,.scale-main-area .table-container{overflow-x:auto}.scale-main-area .scale-table{min-width:100%;border-collapse:collapse;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}@media (min-width: 1280px){.scale-main-area .table-container{overflow-x:visible}.scale-main-area .scale-table{width:100%}}.scale-table{min-width:100%;border-collapse:collapse;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.scale-table__header-row{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.scale-table__header-cell{position:sticky;top:0;z-index:10;--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1));padding:.5rem;text-align:left;font-weight:600}@media (min-width: 640px){.scale-table__header-cell{padding:.75rem}}.scale-table__row{border-top-width:1px;--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.scale-table__row:first-of-type{border-top-width:0px}.scale-table__row--data{background-color:#1e293b80}.scale-table__row--hovered{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.scale-table__cell{padding:.5rem}@media (min-width: 640px){.scale-table__cell{padding:.75rem}}.scale-table__cell--header{text-align:left;font-weight:600}.scale-table__cell--note{cursor:pointer;white-space:nowrap;background-color:#33415580;text-align:center;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;animation-duration:.15s}.scale-table__cell--highlighted{--tw-bg-opacity: 1;background-color:rgb(250 204 21 / var(--tw-bg-opacity, 1));font-weight:700;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(254 240 138 / var(--tw-ring-opacity, 1))}.scale-table__cell--hovered{--tw-bg-opacity: 1;background-color:rgb(8 145 178 / var(--tw-bg-opacity, 1));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(34 211 238 / var(--tw-ring-opacity, 1))}.scale-table__cell--note-match{box-sizing:border-box;border-width:2px;--tw-border-opacity: 1;border-color:rgb(6 182 212 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity, 1))}.inline-results{margin-top:1.5rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.inline-results{animation:fadeIn .5s ease-in-out}.inline-results>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.inline-results{border-radius:var(--radius);border-width:1px;border-color:var(--border);background-color:var(--card);padding:1.5rem;animation:fadeIn .3s ease-in-out}.inline-results__header{margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.inline-results__title{font-size:1.25rem;line-height:1.75rem;font-weight:600;color:var(--primary)}.inline-results__count{font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground)}.inline-results__error{border-radius:calc(var(--radius) - 2px);border-width:1px;border-color:#ef444433;background-color:#ef44441a;padding:1rem}.inline-results__grid>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-0{left:0}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-10{z-index:10}.z-50{z-index:50}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.max-h-40{max-height:10rem}.max-h-60{max-height:15rem}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.max-h-\[90vh\]{max-height:90vh}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.min-h-\[18px\]{min-height:18px}.min-h-\[60px\]{min-height:60px}.min-h-screen{min-height:100vh}.w-11{width:2.75rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-72{width:18rem}.w-9{width:2.25rem}.w-\[1px\]{width:1px}.w-full{width:100%}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.origin-\[--radix-dropdown-menu-content-transform-origin\]{transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\[--radix-popover-content-transform-origin\]{transform-origin:var(--radix-popover-content-transform-origin)}.origin-\[--radix-select-content-transform-origin\]{transform-origin:var(--radix-select-content-transform-origin)}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-5{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-border{border-color:var(--border)}.border-cyan-500{--tw-border-opacity: 1;border-color:rgb(6 182 212 / var(--tw-border-opacity, 1))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-input{border-color:var(--input)}.border-primary{border-color:var(--primary)}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-slate-500{--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity, 1))}.border-slate-600{--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-background{background-color:var(--background)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/80{background-color:#000c}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-cyan-600{--tw-bg-opacity: 1;background-color:rgb(8 145 178 / var(--tw-bg-opacity, 1))}.bg-destructive{background-color:var(--destructive)}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-green-900\/30{background-color:#14532d4d}.bg-muted{background-color:var(--muted)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-red-900\/30{background-color:#7f1d1d4d}.bg-secondary{background-color:var(--secondary)}.bg-slate-600{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity, 1))}.bg-slate-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.bg-slate-700\/50{background-color:#33415580}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.bg-slate-800\/60{background-color:#1e293b99}.bg-slate-900\/80{background-color:#0f172acc}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-600{--tw-bg-opacity: 1;background-color:rgb(202 138 4 / var(--tw-bg-opacity, 1))}.bg-opacity-50{--tw-bg-opacity: .5}.fill-current{fill:currentColor}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-accent{color:var(--accent)}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity, 1))}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.text-destructive-foreground{color:var(--destructive-foreground)}.text-foreground{color:var(--foreground)}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-green-300{--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.text-input{color:var(--input)}.text-muted{color:var(--muted)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-200{--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-secondary{color:var(--secondary)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-primary{--tw-ring-color: var(--primary)}.ring-offset-background{--tw-ring-offset-color: var(--background)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in,.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::-moz-placeholder{color:var(--muted-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.placeholder\:text-slate-400::placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-cyan-500\/50:hover{border-color:#06b6d480}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-cyan-500:hover{--tw-bg-opacity: 1;background-color:rgb(6 182 212 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-500:hover{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-700:hover{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.hover\:bg-yellow-500:hover{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:ring-2:hover{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.hover\:ring-secondary:hover{--tw-ring-color: var(--secondary)}.focus\:border-cyan-400:focus{--tw-border-opacity: 1;border-color:rgb(34 211 238 / var(--tw-border-opacity, 1))}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: var(--background)}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:bg-secondary[data-state=active]{background-color:var(--secondary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:text-secondary-foreground[data-state=active]{color:var(--secondary-foreground)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}@media (min-width: 640px){.sm\:max-w-sm{max-width:24rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-left{text-align:left}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:p-8{padding:2rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y: 2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}.integrated-music-sidebar{position:fixed;top:50px;right:0;width:320px;height:91vh;background:#1e293b;border-left:1px solid #475569;box-shadow:-4px 0 20px #0000004d;z-index:100;display:flex;flex-direction:column;overflow-y:auto;color:#e2e8f0}.reference-content{padding-right:20px}.sidebar-section{border-bottom:1px solid #334155}.sidebar-section:last-child{border-bottom:none;flex:1}.sidebar-section-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#334155;cursor:pointer;transition:background-color .2s ease}.sidebar-section-header:hover{background:#475569}.sidebar-section-title{font-size:.875rem;font-weight:600;margin:0;color:#e2e8f0}.sidebar-section-toggle{background:none;border:none;color:#94a3b8;font-size:1rem;font-weight:700;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:2px;transition:all .2s ease}.sidebar-section-toggle:hover{background:#475569;color:#e2e8f0}.sidebar-section-content{padding:16px;background:#1e293b}.sidebar-midi-panel{margin:0;padding:0;background:transparent;border:none;box-shadow:none;position:static!important;top:auto!important;left:auto!important;transform:none!important;z-index:auto!important;width:100%!important;max-width:none!important}.sidebar-midi-panel .midi-detection-card{background:transparent;border:none;padding:0;margin:0}.sidebar-midi-panel .midi-detection-card h3{display:none}.sidebar-midi-panel .mb-2{margin-bottom:12px}.sidebar-midi-panel .text-xs{font-size:.75rem}.sidebar-midi-panel .font-medium{font-weight:500;color:#e2e8f0}.sidebar-midi-panel .grid{display:grid;gap:6px}.sidebar-midi-panel .grid-cols-2{grid-template-columns:repeat(2,1fr)}.sidebar-midi-panel label{display:flex;align-items:center;gap:6px;cursor:pointer;padding:4px 6px;border-radius:4px;transition:background-color .2s ease}.sidebar-midi-panel label:hover{background:#334155}.sidebar-midi-panel input[type=radio]{width:12px;height:12px;accent-color:#06b6d4}.sidebar-midi-panel .bg-slate-800{background:#334155;border-radius:6px;padding:12px;margin-bottom:12px}.sidebar-midi-panel select{width:100%;padding:6px 8px;font-size:.75rem;background:#1e293b;border:1px solid #475569;border-radius:4px;color:#e2e8f0;transition:border-color .2s ease}.sidebar-midi-panel select:focus{outline:none;border-color:#06b6d4}.sidebar-midi-panel select option{background:#1e293b;color:#e2e8f0}.sidebar-midi-panel .min-h-\[18px\]{min-height:18px;padding:8px;background:#334155;border-radius:4px;font-family:Courier New,monospace;font-size:.75rem;color:#e2e8f0;border:1px solid #475569}.sidebar-midi-panel button{padding:4px 8px;font-size:.75rem;background:#475569;color:#e2e8f0;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s ease}.sidebar-midi-panel button:hover{background:#64748b}@media (max-width: 768px){.sidebar-midi-panel .grid-cols-2{grid-template-columns:1fr}.sidebar-midi-panel .bg-slate-800{padding:8px}}.sidebar-highlighted{background:#06b6d44d!important;border:2px solid #06b6d4!important;box-shadow:0 0 10px #06b6d480!important;transition:all .3s ease!important}.sidebar-status-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.sidebar-status-indicator.active{background:#10b981;box-shadow:0 0 4px #10b98180}.sidebar-status-indicator.inactive{background:#64748b}.sidebar-status-indicator.detecting{background:#f59e0b;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.melody-suggestions,.chord-suggestions{display:flex;flex-direction:column;gap:12px}.suggestion-item{background:#334155;border-radius:6px;padding:12px;border-left:4px solid #06b6d4;transition:all .2s ease}.suggestion-item:hover{background:#475569;transform:translate(2px)}.suggestion-header{font-weight:600;color:#e2e8f0;margin-bottom:4px;font-size:.875rem}.suggestion-confidence{color:#94a3b8;font-size:.75rem;margin-bottom:8px}.suggestion-scales{margin-top:8px;padding-top:8px;border-top:1px solid #475569}.suggestion-scales small{display:block;color:#64748b;margin-bottom:4px;font-size:.75rem}.scale-link{color:#06b6d4;cursor:pointer;text-decoration:underline;font-size:.75rem;transition:color .2s ease}.scale-link:hover{color:#0891b2}.no-suggestions,.no-results{color:#64748b;text-align:center;padding:20px;font-style:italic;font-size:.875rem}.analysis-results{color:#e2e8f0}.analysis-placeholder{color:#94a3b8;font-style:italic;text-align:center;padding:20px;font-size:.875rem}.analysis-loading{text-align:center;padding:20px;color:#94a3b8}.loading-indicator{font-size:1.5rem;animation:pulse 1.5s infinite;margin-bottom:8px}.analysis-error{background:#7f1d1d;border:1px solid #ef4444;border-radius:6px;padding:12px;margin-bottom:12px}.analysis-error h5{color:#fca5a5;margin:0 0 8px;font-size:.875rem}.analysis-error p{color:#fecaca;margin:0;font-size:.75rem}.analysis-primary{background:#334155;border-radius:6px;padding:12px;margin-bottom:12px;border-left:4px solid #10b981}.analysis-primary h5{color:#10b981;margin:0 0 8px;font-size:.875rem}.mode-result{margin-bottom:8px}.mode-result strong{color:#e2e8f0;font-size:1rem}.confidence{color:#94a3b8;font-size:.75rem;margin-left:8px}.scale-notes{margin-bottom:12px}.scale-notes small{color:#94a3b8;font-size:.75rem}.view-in-tables-btn{background:#10b981;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:.75rem;cursor:pointer;transition:background-color .2s ease}.view-in-tables-btn:hover{background:#059669}.analysis-explanation{background:#1e293b;border-radius:6px;padding:12px;margin-top:12px;border-left:4px solid #06b6d4}.analysis-explanation h6{color:#06b6d4;margin:0 0 8px;font-size:.75rem;font-weight:600}.analysis-explanation p{color:#cbd5e1;margin:0;font-size:.75rem;line-height:1.4}.analysis-local{background:#334155;border-radius:6px;padding:12px;border-left:4px solid #f59e0b}.analysis-local h5{color:#f59e0b;margin:0 0 8px;font-size:.875rem}.local-suggestions{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.local-suggestion{display:flex;align-items:center;gap:8px}.local-suggestion strong{color:#e2e8f0;font-size:.75rem}.played-notes small{color:#94a3b8;font-size:.75rem}@media (max-width: 1024px){.integrated-music-sidebar{width:280px}}@media (max-width: 768px){.integrated-music-sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;height:50vh;max-height:400px;border-left:none;border-top:1px solid #475569;box-shadow:0 -4px 20px #0000004d}.sidebar-section-content{padding:12px}.suggestion-item{padding:10px}}.integrated-music-sidebar::-webkit-scrollbar{width:6px}.integrated-music-sidebar::-webkit-scrollbar-track{background:#1e293b}.integrated-music-sidebar::-webkit-scrollbar-thumb{background:#475569;border-radius:3px}.integrated-music-sidebar::-webkit-scrollbar-thumb:hover{background:#64748b}.sidebar-section-content{animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.sidebar-section-header:focus,.sidebar-section-toggle:focus,.scale-link:focus{outline:2px solid #06b6d4;outline-offset:2px}@media (prefers-contrast: high){.integrated-music-sidebar{border-left:2px solid #ffffff}.sidebar-section{border-bottom:2px solid #ffffff}.suggestion-item{border-left:4px solid #ffffff}}@media (prefers-reduced-motion: reduce){.suggestion-item,.sidebar-section-toggle,.scale-link{transition:none}.sidebar-section-content{animation:none}}.progressive-disclosure-controls{margin-top:16px;padding-top:12px;border-top:1px solid #475569;display:flex;flex-direction:column;gap:8px}.show-more-btn,.toggle-analysis-btn,.toggle-options-btn{background:#475569;color:#e2e8f0;border:none;padding:8px 12px;border-radius:6px;font-size:.75rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.show-more-btn:hover,.toggle-analysis-btn:hover,.toggle-options-btn:hover{background:#64748b;transform:translateY(-1px)}.show-more-btn:focus,.toggle-analysis-btn:focus,.toggle-options-btn:focus{outline:2px solid #06b6d4;outline-offset:2px}.advanced-options{background:#1e293b;border-radius:6px;padding:12px;margin-top:8px;border:1px solid #334155;animation:slideDown .2s ease-out}.advanced-options .option-label{display:block;color:#cbd5e1;font-size:.75rem;margin-bottom:8px}.advanced-options input[type=range]{width:100%;margin-top:4px}.mode-detection-results{padding:12px}.root-picker{background:#1e293b;border-radius:8px;padding:12px;margin-bottom:16px;border:1px solid #334155}.root-picker h6{margin:0 0 8px;color:#cbd5e1;font-size:.75rem;text-align:center}.root-picker-buttons{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.root-picker-btn{background:#334155;color:#e2e8f0;border:none;padding:8px 4px;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s ease;font-weight:500}.root-picker-btn:hover{background:#475569;transform:translateY(-1px)}.root-picker-btn:focus{outline:2px solid #06b6d4;outline-offset:2px}.grouped-suggestions{margin-top:16px}.family-note{display:block;margin-bottom:8px;color:#94a3b8;font-size:.75rem}.family-groups{display:flex;flex-direction:column;gap:8px}.family-group{display:flex;flex-direction:column;gap:4px}.family-header{margin:0;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:6px}.family-count{font-size:.625rem;color:#94a3b8;font-weight:400}.family-suggestions{background:#1e293b;padding:8px}.family-suggestions .suggestion-item{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;margin-bottom:4px;background:#0f172a;border-radius:4px;border:1px solid #334155}.family-suggestions .suggestion-item:last-child{margin-bottom:0}.suggestion-header{display:flex;flex-direction:column;gap:2px;flex:1}.suggestion-name{font-size:.75rem;color:#e2e8f0;font-weight:500}.suggestion-mismatch{font-size:.625rem;color:#94a3b8}.preview-btn{background:none;border:none;color:#94a3b8;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;font-size:.875rem}.preview-btn:hover{background:#334155;color:#e2e8f0;transform:scale(1.1)}.preview-btn:focus{outline:2px solid #06b6d4;outline-offset:2px}.mode-detection-section{margin-bottom:16px}.mode-detection-section h5{margin:0 0 12px;font-size:.875rem;font-weight:600;color:#cbd5e1}
