*,:before,:after,::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:#3b82f680;--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:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family: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:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-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{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}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{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{border-color:var(--border)}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-text-primary);background:linear-gradient(135deg,#f5f9ff 0%,#f9fafb 100%);min-height:100vh}.app-bg{background-color:var(--app-bg)}.app-surface{background-color:var(--app-surface);border:1px solid var(--app-border);box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.app-elevated{background-color:var(--app-elevated);border:1px solid var(--app-border)}.app-primary{background-color:var(--app-primary);color:#fff}.app-secondary{background-color:var(--app-secondary);color:#fff}.app-accent,.app-accent-light{color:var(--app-accent);font-weight:700}.app-text-primary{color:var(--app-text-primary)}.app-text-secondary{color:var(--app-text-secondary)}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-4{inset:1rem}.left-1\/2{left:50%}.left-2{left:.5rem}.top-1\/2{top:50%}.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\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.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}.hidden{display:none}.aspect-square{aspect-ratio:1}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-\[1\.2rem\]{height:1.2rem}.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-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2\.5{width:.625rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-80{width:20rem}.w-\[1\.2rem\]{width:1.2rem}.w-\[1px\]{width:1px}.w-auto{width:auto}.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-3xl{max-width:48rem}.max-w-7xl{max-width:80rem}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-\[--radix-select-content-transform-origin\]{transform-origin:var(--radix-select-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate:0deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(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)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.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;user-select:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.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)))}.space-y-1>: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))}.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-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.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-4{border-width:4px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-\[var\(--app-accent\)\]{border-color:var(--app-accent)}.border-\[var\(--app-border\)\]{border-color:var(--app-border)}.border-\[var\(--app-elevated\)\]{border-color:var(--app-elevated)}.border-\[var\(--app-primary\)\]{border-color:var(--app-primary)}.border-\[var\(--app-secondary\)\]{border-color:var(--app-secondary)}.border-\[var\(--app-warning\)\]{border-color:var(--app-warning)}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-primary{border-color:var(--primary)}.border-transparent{border-color:#0000}.bg-\[var\(--app-elevated\)\]{background-color:var(--app-elevated)}.bg-background{background-color:var(--background)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-muted{background-color:var(--muted)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-secondary{background-color:var(--secondary)}.fill-current{fill:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.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-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.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-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-\[var\(--app-accent\)\]{color:var(--app-accent)}.text-\[var\(--app-primary\)\]{color:var(--app-primary)}.text-\[var\(--app-secondary\)\]{color:var(--app-secondary)}.text-\[var\(--app-warning\)\]{color:var(--app-warning)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive-foreground{color:var(--destructive-foreground)}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.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-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--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 #0000001a, 0 2px 4px -2px #0000001a;--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 #0000000d;--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-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.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-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}@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))}}.duration-300{animation-duration:.3s}:root{--background:#fff;--foreground:#0f1419;--card:#f7f8f8;--card-foreground:#0f1419;--popover:#fff;--popover-foreground:#0f1419;--primary:#1e9df1;--primary-foreground:#fff;--secondary:#0f1419;--secondary-foreground:#fff;--muted:#e5e5e6;--muted-foreground:#0f1419;--accent:#e3ecf6;--accent-foreground:#1e9df1;--destructive:#f4212e;--destructive-foreground:#fff;--border:#e1eaef;--input:#f7f9fa;--ring:#1da1f2;--chart-1:#1e9df1;--chart-2:#00b87a;--chart-3:#f7b928;--chart-4:#17bf63;--chart-5:#e0245e;--sidebar:#f7f8f8;--sidebar-foreground:#0f1419;--sidebar-primary:#1e9df1;--sidebar-primary-foreground:#fff;--sidebar-accent:#e3ecf6;--sidebar-accent-foreground:#1e9df1;--sidebar-border:#e1e8ed;--sidebar-ring:#1da1f2;--font-sans:Inter, sans-serif;--font-serif:Georgia, serif;--font-mono:Menlo, monospace;--radius:1.3rem;--shadow-2xs:0px 2px 0px 0px #1da1f200;--shadow-xs:0px 2px 0px 0px #1da1f200;--shadow-sm:0px 2px 0px 0px #1da1f200, 0px 1px 2px -1px #1da1f200;--shadow:0px 2px 0px 0px #1da1f200, 0px 1px 2px -1px #1da1f200;--shadow-md:0px 2px 0px 0px #1da1f200, 0px 2px 4px -1px #1da1f200;--shadow-lg:0px 2px 0px 0px #1da1f200, 0px 4px 6px -1px #1da1f200;--shadow-xl:0px 2px 0px 0px #1da1f200, 0px 8px 10px -1px #1da1f200;--shadow-2xl:0px 2px 0px 0px #1da1f200;--tracking-normal:0em;--spacing:.25rem;--app-bg:#fff;--app-surface:#fff;--app-elevated:#f3f4f6;--app-border:#e5e7eb;--app-primary:#3c83f6;--app-primary-light:#e7f0fe;--app-secondary:#16a249;--app-secondary-light:#e9fcf0;--app-accent:#2ec2b3;--app-accent-light:#eafaf9;--app-warning:#f59f0a;--app-warning-light:#fef5e7;--app-danger:#ef4343;--app-danger-light:#fde8e8;--app-text-primary:#151619;--app-text-secondary:#6b7280;--app-text-light:#9ba0ab}.dark{--background:#000;--foreground:#e7e9ea;--card:#17181c;--card-foreground:#d9d9d9;--popover:#000;--popover-foreground:#e7e9ea;--primary:#1c9cf0;--primary-foreground:#fff;--secondary:#f0f3f4;--secondary-foreground:#0f1419;--muted:#181818;--muted-foreground:#72767a;--accent:#061622;--accent-foreground:#1c9cf0;--destructive:#f4212e;--destructive-foreground:#fff;--border:#242628;--input:#22303c;--ring:#1da1f2;--chart-1:#1e9df1;--chart-2:#00b87a;--chart-3:#f7b928;--chart-4:#17bf63;--chart-5:#e0245e;--sidebar:#17181c;--sidebar-foreground:#d9d9d9;--sidebar-primary:#1da1f2;--sidebar-primary-foreground:#fff;--sidebar-accent:#061622;--sidebar-accent-foreground:#1c9cf0;--sidebar-border:#38444d;--sidebar-ring:#1da1f2;--font-sans:Inter, sans-serif;--font-serif:Georgia, serif;--font-mono:Menlo, monospace;--radius:1.3rem;--shadow-2xs:0px 2px 0px 0px #1da1f200;--shadow-xs:0px 2px 0px 0px #1da1f200;--shadow-sm:0px 2px 0px 0px #1da1f200, 0px 1px 2px -1px #1da1f200;--shadow:0px 2px 0px 0px #1da1f200, 0px 1px 2px -1px #1da1f200;--shadow-md:0px 2px 0px 0px #1da1f200, 0px 2px 4px -1px #1da1f200;--shadow-lg:0px 2px 0px 0px #1da1f200, 0px 4px 6px -1px #1da1f200;--shadow-xl:0px 2px 0px 0px #1da1f200, 0px 8px 10px -1px #1da1f200;--shadow-2xl:0px 2px 0px 0px #1da1f200;--app-bg:#121417;--app-surface:#16181d;--app-elevated:#1b1d23;--app-border:#282c34;--app-primary:#5593f7;--app-primary-light:#031e49;--app-secondary:#1cca5b;--app-secondary-light:#09431e;--app-accent:#45d3c5;--app-accent-light:#0f3e39;--app-warning:#f7b23b;--app-warning-light:#493003;--app-danger:#f15b5b;--app-danger-light:#460606;--app-text-primary:#e9eaec;--app-text-secondary:#acb0b9;--app-text-light:#747c8b}.circle-note{transition:all .3s}.circle-note.active{background-color:var(--app-primary);color:var(--app-text-primary);box-shadow:0 0 20px var(--app-primary)}.circle-note.highlighted{background-color:var(--app-secondary);color:var(--app-bg)}.subdivision-button.active{background-color:var(--app-primary);color:var(--app-text-primary)}.subdivision-button:not(.active){background-color:var(--app-bg);color:var(--app-text-secondary)}.subdivision-button:not(.active):hover{background-color:var(--app-elevated)}.note-card{background-color:var(--app-bg);border:2px solid #0000;transition:all .3s}.note-card.active{border-color:var(--app-primary);box-shadow:0 0 15px var(--app-primary)}.note-card.playing{background-color:var(--app-primary);color:var(--app-text-primary)}.metronome-beat{transition:all .1s}.metronome-beat.accent{color:var(--app-accent);font-weight:700}.metronome-beat.subdivision{background-color:var(--app-secondary)}html,body{max-width:100vw;overflow-x:hidden}img{max-width:100%;height:auto}@media screen and (width<=767px){body{font-size:16px;line-height:1.5}button,[role=button],a,input[type=button],input[type=submit],.btn{min-height:44px;padding-left:12px;padding-right:12px}input,textarea,select{min-height:44px;font-size:16px}.app-surface{border-radius:12px}.mobile-stack{flex-direction:column}.mobile-full-width{width:100%}}@media screen and (width>=768px) and (width<=1024px){body{font-size:16px}button,[role=button],a{min-height:44px}}@media (hover:none) and (pointer:coarse){button:hover,a:hover,[role=button]:hover{opacity:1}button:active,a:active,[role=button]:active{opacity:.7;transform:scale(.98)}}@media (pointer:coarse){*{-webkit-tap-highlight-color:transparent}button,a,[role=button]{-webkit-tap-highlight-color:#0000001a}}@supports (padding:env(safe-area-inset-bottom)){.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-top{padding-top:env(safe-area-inset-top)}}:root{--app-bg:#f8f7fc;--app-surface:#ffffffe0;--app-elevated:#f2f1f8;--app-border:#d8d6e6;--app-primary:#6245e3;--app-primary-light:#e8e4fc;--app-secondary:#219768;--app-secondary-light:#e4f7ef;--app-accent:#f5702e;--app-accent-light:#feebe1;--app-warning:#f5a50f;--app-warning-light:#fef1d8;--app-danger:#e33172;--app-danger-light:#fce3ec;--app-text-primary:#1b1a2e;--app-text-secondary:#5f5d79;--app-text-light:#8d8ca1}.dark{--app-bg:#0d0c17;--app-surface:#161523e0;--app-elevated:#1f1e2f;--app-border:#323145;--app-primary:#a38fff;--app-primary-light:#231b4b;--app-secondary:#2fc68a;--app-secondary-light:#183a2c;--app-accent:#fc8d55;--app-accent-light:#442718;--app-warning:#f9bb48;--app-warning-light:#3f3118;--app-danger:#f66a9d;--app-danger-light:#431928;--app-text-primary:#f2f1f9;--app-text-secondary:#adabc4;--app-text-light:#7b7996}html{scroll-behavior:smooth;background:var(--app-bg)}body{background:radial-gradient(circle at 7% 2%,#cfc5fc94,#0000 31rem),radial-gradient(circle at 92% 28%,#fedac880,#0000 28rem),linear-gradient(#fcfbfe,#f5f5fa 58%,#f9f8fc);font-family:Plus Jakarta Sans,Avenir Next,SF Pro Display,ui-sans-serif,system-ui,sans-serif}.dark body{background:radial-gradient(circle at 7% 0,#2b178273,#0000 34rem),radial-gradient(circle at 92% 25%,#7133144d,#0000 30rem),linear-gradient(#0d0c17,#0b0b14)}button,input,[role=button]{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,[role=button]:focus-visible{outline-offset:3px;outline:3px solid #7255f161}.note-forge-app{isolation:isolate;position:relative}.note-forge-app .app-primary{color:#fff;background-color:#583ecc}.note-forge-app .app-secondary,.note-forge-app .app-success{color:#fff;background-color:#177851}.note-forge-app .app-danger{color:#fff;background-color:#b81e57}.note-forge-app .subdivision-button.active{color:#fff;background-color:#583ecc}.dark .note-forge-app .app-primary,.dark .note-forge-app .subdivision-button.active{color:#fff;background-color:#4d31c9}.note-forge-app:before{content:"";z-index:-1;opacity:.25;pointer-events:none;background-image:radial-gradient(#7d75a34d .7px,#0000 .7px);background-size:18px 18px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 72%);mask-image:linear-gradient(#000,#0000 72%)}.forge-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#ffffff85,#f8f6feb3);border-bottom:1px solid #bfbbd370;overflow:hidden}.dark .forge-header{background:linear-gradient(145deg,#0f0e1acc,#161325a8);border-bottom-color:#3d385799}.forge-topbar{border-bottom:1px solid #bab7cd57;justify-content:space-between;align-items:center;gap:1rem;min-height:66px;display:flex}.dark .forge-topbar{border-bottom-color:#403d527a}.brand-lockup{border-radius:.8rem;align-items:center;padding:.45rem .65rem;transition:transform .18s,opacity .18s;display:inline-flex}.brand-lockup:hover{opacity:.78;transform:translateY(-1px)}.instrument-picker{min-height:44px;color:var(--app-text-secondary);background:#ffffffad;border:1px solid #bfbcd2b8;border-radius:.9rem;align-items:center;gap:.55rem;padding:.25rem .35rem .25rem .7rem;display:flex;box-shadow:0 8px 24px #372a6f12}.dark .instrument-picker{border-color:var(--app-border);background:#1a1929cc}.instrument-trigger{background:var(--app-elevated)!important;width:165px!important;height:36px!important;color:var(--app-text-primary)!important;box-shadow:none!important;border:0!important;border-radius:.65rem!important;font-size:.82rem!important;font-weight:700!important}.forge-hero{grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);align-items:center;gap:clamp(2rem,7vw,7rem);min-height:390px;padding:clamp(2.75rem,6vw,5.4rem) 0 clamp(4rem,7vw,6rem);display:grid}.forge-copy{z-index:2;position:relative}.forge-eyebrow{width:fit-content;color:var(--app-primary);background:var(--app-primary-light);letter-spacing:.13em;text-transform:uppercase;border:1px solid #7d68d947;border-radius:999px;align-items:center;gap:.42rem;margin-bottom:1rem;padding:.42rem .68rem;font-size:.69rem;font-weight:800;display:flex}.forge-copy h1{max-width:820px;color:var(--app-text-primary);letter-spacing:-.065em;font-size:clamp(3.1rem,6.2vw,6.2rem);font-weight:800;line-height:.92}.forge-copy h1 span{color:#0000;background:linear-gradient(100deg, var(--app-primary) 6%, #c43cd3 52%, var(--app-accent));-webkit-background-clip:text;background-clip:text}.forge-copy>p{max-width:650px;color:var(--app-text-secondary);margin-top:1.35rem;font-size:clamp(.98rem,1.6vw,1.18rem);line-height:1.7}.forge-badges{flex-wrap:wrap;gap:.6rem;margin-top:1.55rem;display:flex}.forge-badges span{min-height:34px;color:var(--app-text-secondary);border:1px solid var(--app-border);background:#ffffff8c;border-radius:999px;align-items:center;gap:.42rem;padding:.42rem .72rem;font-size:.73rem;font-weight:650;display:inline-flex}.dark .forge-badges span{background:#1b1a28b8}.forge-visual{aspect-ratio:1;justify-self:center;place-items:center;width:min(390px,100%);display:grid;position:relative}.forge-visual:before{content:"";filter:blur(32px);background:conic-gradient(from 210deg,#7255f14d,#fa7c3d66,#2bb67e3d,#7255f14d);border-radius:50%;position:absolute;inset:12%}.orbit{border:1px solid #6149d047;border-radius:50%;position:absolute;transform:rotate(-16deg)}.orbit-one{inset:9%}.orbit-two{border-color:#ee6c2b52;inset:22%;transform:rotate(34deg)}.note-core{text-align:center;color:#fff;background:linear-gradient(145deg,#7a60eb,#4120d5);border:1px solid #ffffff8f;border-radius:2.7rem;place-content:center;width:150px;height:150px;display:grid;position:relative;transform:rotate(-5deg);box-shadow:0 34px 70px #2e1d7c57,inset 0 1px #fff6}.note-core span{font:700 4.8rem/.8 Georgia,serif}.note-core small{letter-spacing:.28em;margin-top:.65rem;font-size:.58rem;font-weight:800}.floating-note{min-width:52px;height:52px;color:var(--app-text-primary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffc7;border:1px solid #beb9d5cc;border-radius:1rem;place-items:center;font-weight:800;display:grid;position:absolute;box-shadow:0 15px 34px #30265924}.dark .floating-note{border-color:var(--app-border);background:#1f1d2fe0}.note-a{top:29%;left:3%;transform:rotate(-9deg)}.note-b{top:21%;right:1%;transform:rotate(8deg)}.note-c{bottom:23%;right:7%;transform:rotate(-5deg)}.mini-keys{background:#15141f;border-radius:.72rem;height:54px;padding:4px;display:flex;position:absolute;bottom:12%;left:8%;overflow:hidden;transform:rotate(7deg);box-shadow:0 15px 32px #261f473d}.mini-keys i{background:#fff;border-right:1px solid #a5a3c2;border-radius:0 0 3px 3px;width:18px;height:46px}.mini-keys i.black{z-index:2;background:#1b1a28;border:0;height:29px;margin:0 -6px}.forge-nav{z-index:30;-webkit-backdrop-filter:blur(22px)saturate(1.4);backdrop-filter:blur(22px)saturate(1.4);background:#ffffffc2;border:1px solid #bfbbd3ad;border-radius:1.2rem;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;margin:-29px 0 2.2rem;padding:.48rem;display:grid;position:sticky;top:10px;overflow-x:auto;box-shadow:0 20px 55px #31285724}.dark .forge-nav{border-color:var(--app-border);background:#141320}.forge-tab{min-height:50px;color:var(--app-text-secondary);white-space:nowrap;border-radius:.85rem;justify-content:center;align-items:center;gap:.55rem;padding:.6rem .7rem;font-size:.78rem;font-weight:750;transition:color .18s,background .18s,transform .18s,box-shadow .18s;display:flex}.forge-tab:hover{color:var(--app-text-primary);background:var(--app-elevated)}.forge-tab.active{color:var(--app-text-primary);background:var(--app-elevated);box-shadow:inset 0 0 0 1px var(--app-border), 0 6px 16px #30285814}.forge-tab.active:after{content:"";background:var(--tab-accent);width:5px;height:5px;box-shadow:0 0 12px var(--tab-accent);border-radius:99px}.forge-tab-icon{width:28px;height:28px;color:var(--tab-accent);background:color-mix(in srgb, var(--tab-accent) 12%, transparent);border-radius:.55rem;place-items:center;display:grid}.mode-stage{min-height:520px}.mode-stage .app-surface{background:var(--app-surface);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-color:#c7c4d9c7;box-shadow:0 22px 60px #32295b1a,inset 0 1px #fff9}.dark .mode-stage .app-surface{border-color:var(--app-border);box-shadow:0 24px 70px #02020966,inset 0 1px #ffffff0a}.mode-stage .app-elevated{background:color-mix(in srgb, var(--app-elevated) 88%, transparent)}.mode-stage .app-bg{background:color-mix(in srgb, var(--app-bg) 76%, transparent);border:1px solid #ccc9d98f}.dark .mode-stage .app-bg{border-color:#363446b3}.note-card{background:linear-gradient(145deg,#ffffffeb,#f1eefbc2);border:1px solid #c8c3dfc2;position:relative;overflow:hidden;box-shadow:0 10px 26px #3e366314}.dark .note-card{border-color:var(--app-border);background:linear-gradient(145deg,#1e1d2f,#1b182a)}.note-card:before{content:"";background:linear-gradient(var(--app-primary), var(--app-accent));opacity:.72;width:3px;position:absolute;inset:0 auto 0 0}.note-card.active{border-color:var(--app-primary);transform:translateY(-3px);box-shadow:0 15px 34px #482bca3b}.notation-paper{background:linear-gradient(90deg,#f8fafc,#fff 50%,#eef2ff);border:1px solid #c9ced9;border-radius:1rem;width:100%;padding:.35rem;overflow:hidden;box-shadow:inset 0 1px #fff,0 10px 28px #32305014}.notation-paper:focus-visible{outline:2px solid var(--app-primary);outline-offset:3px}.vexflow-score{width:100%;min-width:0;min-height:170px}.vexflow-score svg{width:100%;height:auto;display:block}.notation-loading{color:#5f5d79;letter-spacing:.04em;place-items:center;min-height:170px;font-size:.72rem;font-weight:700;display:grid}.notation-toolbar{color:var(--app-text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem .75rem;margin-bottom:.55rem;font-size:.66rem;font-weight:700;display:flex}.notation-toolbar-actions{align-items:center;gap:.4rem;margin-left:auto;display:flex}.notation-dice{border:1px solid var(--app-border);width:34px;height:34px;color:var(--app-primary);background:var(--app-elevated);border-radius:.65rem;place-items:center;transition:transform .16s,border-color .16s,background .16s;display:grid}.notation-dice:hover{border-color:var(--app-primary);background:var(--app-primary-light);transform:rotate(-7deg)translateY(-1px)}.notation-dice:active{transform:rotate(7deg)scale(.94)}.notation-dice:focus-visible{outline:2px solid var(--app-primary);outline-offset:2px}.notation-dice svg{width:16px;height:16px}.notation-clefs{border:1px solid var(--app-border);background:var(--app-elevated);border-radius:.65rem;padding:.2rem;display:flex}.notation-clefs button{min-height:30px;color:var(--app-text-secondary);border-radius:.48rem;padding:.25rem .58rem;font-size:.66rem;font-weight:750}.notation-clefs button.active{color:var(--app-text-primary);background:var(--app-surface);box-shadow:0 2px 8px #3229561a}.rhythm-controls{border:1px solid var(--app-border);background:color-mix(in srgb, var(--app-bg) 62%, transparent);border-radius:.95rem;padding:.85rem}.rhythm-heading{color:var(--app-primary);justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.85rem;display:flex}.rhythm-heading span,.rhythm-heading strong{display:block}.rhythm-heading span{letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;font-weight:850}.rhythm-heading strong{color:var(--app-text-secondary);margin-top:.18rem;font-size:.63rem;font-weight:650}.rhythm-controls fieldset+fieldset{margin-top:.8rem}.rhythm-controls legend{color:var(--app-text-secondary);margin-bottom:.38rem;font-size:.67rem;font-weight:760}.rhythm-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;display:grid}.rhythm-choice-grid button{border:1px solid var(--app-border);min-height:48px;color:var(--app-text-secondary);background:var(--app-surface);text-align:center;border-radius:.68rem;place-content:center;gap:.15rem;padding:.4rem .2rem;transition:border-color .16s,color .16s,background .16s,transform .16s;display:grid}.rhythm-choice-grid button:hover{color:var(--app-text-primary);border-color:var(--app-text-light);transform:translateY(-1px)}.rhythm-choice-grid button.active{color:var(--app-primary);border-color:var(--app-primary);background:var(--app-primary-light);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--app-primary) 22%, transparent)}.rhythm-choice-grid strong{font-size:.82rem;line-height:1}.rhythm-choice-grid span{font-size:.55rem;font-weight:720}.rhythm-division-grid strong{font-family:Georgia,serif;font-size:1.05rem}.choice-glyph{border:1px solid var(--app-border);width:34px;height:34px;color:var(--app-primary);background:var(--app-primary-light);border-radius:.65rem;flex:0 0 34px;place-items:center;margin-right:.7rem;font:800 .92rem/1 Georgia,serif;display:grid}.support-trigger{min-height:44px;color:var(--app-text-primary);background:#ffffff8f;border:1px solid #da81a152;border-radius:.92rem;align-items:center;gap:.62rem;padding:.3rem .62rem .3rem .38rem;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;box-shadow:0 8px 24px #8a284c14}.dark .support-trigger{background:#1a1929b8}.support-trigger:hover{border-color:#e3548894;transform:translateY(-1px);box-shadow:0 12px 28px #8a284c24}.support-trigger-icon{color:#fff;background:linear-gradient(135deg,#ed4a86,#f67737);border-radius:.68rem;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 8px 18px #b82e6033}.support-trigger-copy{text-align:left;min-width:0;line-height:1.05}.support-trigger-copy small,.support-trigger-copy strong{white-space:nowrap;display:block}.support-trigger-copy small{color:var(--app-text-light);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.18rem;font-size:.55rem;font-weight:750}.support-trigger-copy strong{font-size:.7rem}.support-trigger-arrow{color:var(--app-danger)}.support-dialog{width:min(1040px,100vw - 2rem);max-width:none;max-height:min(760px,100dvh - 2rem);color:var(--app-text-primary);background:0 0;border:0;border-radius:1.4rem;margin:auto;padding:0;overflow:visible;box-shadow:0 36px 100px #08081266}.support-dialog::backdrop{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#090911b8}.support-dialog-shell{border:1px solid var(--app-border);background:#f8f7fc;border-radius:1.4rem;max-height:min(760px,100dvh - 2rem);overflow-y:auto}.dark .support-dialog-shell{background:#12111d}.support-dialog-header{border-bottom:1px solid var(--app-border);background:linear-gradient(120deg,#fdf1f6,#fef2eb 48%,#f0edfc);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.4rem 1.5rem;display:grid;position:relative}.dark .support-dialog-header{background:linear-gradient(120deg,#351822,#2e1d15 48%,#1c1730)}.support-heart{color:#fff;background:linear-gradient(135deg,#ed4a86,#f67737);border-radius:.95rem;place-items:center;width:48px;height:48px;display:grid;box-shadow:0 12px 26px #b82e603b}.support-kicker{color:var(--app-danger);letter-spacing:.12em;text-transform:uppercase;font-size:.62rem;font-weight:850}.support-dialog-header h2{letter-spacing:-.035em;margin-top:.16rem;font-size:clamp(1.35rem,3vw,1.8rem);font-weight:800}.support-dialog-header p{max-width:690px;color:var(--app-text-secondary);margin-top:.25rem;font-size:.76rem;line-height:1.5}.support-close{border:1px solid var(--app-border);width:38px;height:38px;color:var(--app-text-secondary);background:#ffffff94;border-radius:.75rem;place-items:center;display:grid}.dark .support-close{background:#1f1e2f}.support-close:hover{color:var(--app-text-primary);border-color:var(--app-text-light)}.support-content{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem;display:grid}.support-option{border:1px solid var(--app-border);background:var(--app-surface);border-radius:1.05rem;min-width:0;padding:1.2rem;box-shadow:0 14px 38px #3229560f}.support-option-title{color:var(--app-text-primary);align-items:center;gap:.65rem;margin-bottom:.75rem;display:flex}.support-option-title>div{min-width:0;line-height:1.1}.support-option-title strong,.support-option-title small{display:block}.support-option-title strong{font-size:1rem}.support-option-title small{color:var(--app-text-light);margin-top:.2rem;font-size:.62rem}.support-option-title>span:last-child{color:var(--app-text-secondary);background:var(--app-elevated);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;margin-left:auto;padding:.25rem .48rem;font-size:.58rem;font-weight:800}.support-method-icon{border-radius:.75rem;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.support-method-paypal{color:#0b74d0;background:#e2f1fd}.dark .support-method-paypal{color:#60b3fb;background:#172d40}.support-method-upi{color:#129167;background:#e1faf1}.dark .support-method-upi{color:#3be3ab;background:#16362c}.support-option>p,.support-bank-details>p{color:var(--app-text-secondary);font-size:.77rem;line-height:1.55}.support-option>label{color:var(--app-text-secondary);text-transform:uppercase;letter-spacing:.09em;margin:1rem 0 .35rem;font-size:.65rem;font-weight:800;display:block}.support-amount{border:1px solid var(--app-border);background:var(--app-bg);color:var(--app-text-primary);border-radius:.75rem;align-items:center;gap:.5rem;padding:0 .8rem;font-weight:800;display:flex}.support-amount:focus-within{border-color:var(--app-primary);box-shadow:0 0 0 3px #6245e321}.support-amount input{width:100%;min-height:44px;color:var(--app-text-primary);background:0 0;border:0;outline:0;font-weight:750}.support-paypal{border-radius:.72rem;gap:.45rem;width:100%;margin-top:.7rem;color:#fff!important;background:#086aba!important}.support-paypal:hover{background:#07599d!important}.support-security{color:var(--app-text-light);text-align:center;margin-top:.55rem;font-size:.6rem;display:block}.support-upi-grid{grid-template-columns:112px minmax(0,1fr);align-items:start;gap:1rem;display:grid}.support-qr{background:#fff;border-radius:.75rem;padding:.45rem;box-shadow:0 8px 20px #2624421f}.support-qr img{aspect-ratio:1;-o-object-fit:contain;object-fit:contain;width:100%}.support-copy-row{border:1px solid var(--app-border);color:var(--app-text-secondary);border-radius:.62rem;grid-template-columns:52px minmax(0,1fr) 36px;align-items:center;margin-top:.42rem;font-size:.68rem;display:grid}.support-copy-row>span{padding-left:.55rem;font-weight:750}.support-copy-row code{color:var(--app-text-primary);text-overflow:ellipsis;padding-left:.25rem;font-size:.69rem;overflow:hidden}.support-copy-row button{border-left:1px solid var(--app-border);place-items:center;min-height:36px;display:grid}.support-copy-row button:hover{color:var(--app-primary);background:var(--app-elevated)}.support-bank-name{color:var(--app-text-primary);margin-top:.7rem;font-size:.65rem}.support-bank-name strong,.support-bank-name small{display:block}.support-bank-name small{color:var(--app-text-light);margin-top:.18rem;line-height:1.4}.forge-footer{border-top:1px solid var(--app-border);min-height:92px;color:var(--app-text-secondary);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-top:2rem;font-size:.7rem;display:grid}.forge-footer>p:nth-child(2){text-align:center}.shortcut-hint{justify-self:end}.shortcut-hint kbd{border:1px solid var(--app-border);background:var(--app-elevated);color:var(--app-text-primary);border-bottom-width:2px;border-radius:.42rem;margin-right:.3rem;padding:.25rem .45rem;font:700 .63rem/1 ui-monospace,monospace}@media (prefers-reduced-motion:no-preference){.orbit-one{animation:20s linear infinite forge-orbit}.orbit-two{animation:16s linear infinite forge-orbit-reverse}.floating-note{animation:5s ease-in-out infinite forge-float}.note-b{animation-delay:-1.8s}.note-c{animation-delay:-3.1s}}@keyframes forge-orbit{to{transform:rotate(344deg)}}@keyframes forge-orbit-reverse{to{transform:rotate(-326deg)}}@keyframes forge-float{50%{translate:0 -7px}}@media screen and (width<=900px){.forge-hero{grid-template-columns:minmax(0,1fr) 250px;gap:1.4rem;min-height:350px}.forge-copy h1{font-size:clamp(3rem,8.3vw,5rem)}.forge-visual{width:270px}.note-core{border-radius:2rem;width:112px;height:112px}.note-core span{font-size:3.4rem}.mini-keys{transform-origin:0 100%;transform:scale(.8)rotate(7deg)}.support-trigger-copy,.support-trigger-arrow{display:none}.support-trigger{justify-content:center;width:44px;padding:.3rem}.support-content{grid-template-columns:1fr}}@media screen and (width<=680px){.forge-topbar{min-height:62px}.brand-lockup img{max-width:126px}.instrument-picker{gap:.35rem;padding-left:.55rem}.instrument-trigger{width:125px!important;font-size:.72rem!important}.forge-hero{grid-template-columns:1fr;min-height:0;padding:2.8rem 0 4.8rem}.forge-copy h1{font-size:clamp(3.05rem,15.5vw,4.4rem)}.forge-copy>p{line-height:1.6}.forge-badges span:last-child{display:none}.forge-visual{width:235px;margin:-.6rem auto -1rem}.forge-nav{grid-template-columns:repeat(5,minmax(66px,1fr));gap:.25rem;margin-top:-25px;padding:.38rem}.forge-tab{flex-direction:column;gap:.2rem;min-height:56px;padding:.35rem .3rem;font-size:.65rem}.forge-tab.active:after{display:none}.forge-tab-icon{width:25px;height:25px}.mode-stage{min-height:420px}.notation-paper{overflow:hidden}.support-upi-grid{grid-template-columns:86px minmax(0,1fr)}.support-copy-row{grid-template-columns:46px minmax(0,1fr) 32px}.forge-footer{grid-template-columns:1fr auto;padding:1.4rem 0}.forge-footer>p:nth-child(2){display:none}}@media screen and (width<=390px){.brand-lockup img{max-width:105px}.instrument-picker>svg{display:none}.instrument-picker{padding-left:.3rem}.instrument-trigger{width:116px!important}.support-trigger{width:40px;min-height:40px}.support-trigger-icon{flex-basis:32px;width:32px;height:32px}.forge-copy h1{font-size:2.85rem}.forge-badges span{font-size:.66rem}}@media screen and (width<=560px){.support-dialog{border-radius:1.35rem 1.35rem 0 0;width:100%;max-height:92dvh;margin:auto 0 0}.support-dialog-shell{border-bottom:0;border-radius:1.35rem 1.35rem 0 0;max-height:92dvh}.support-dialog-header{grid-template-columns:auto minmax(0,1fr);gap:.75rem;padding:1.1rem}.support-dialog-header p{font-size:.72rem}.support-heart{width:42px;height:42px}.support-close{position:absolute;top:.75rem;right:.75rem}.support-dialog-header>div{padding-right:2.2rem}.support-content{padding:.75rem}.support-option{padding:1rem}.support-copy-row{grid-template-columns:56px minmax(0,1fr) 34px}.rhythm-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.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)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[var\(--app-accent\)\]:hover{border-color:var(--app-accent)}.hover\:border-\[var\(--app-primary\)\]:hover{border-color:var(--app-primary)}.hover\:border-\[var\(--app-secondary\)\]:hover{border-color:var(--app-secondary)}.hover\:border-\[var\(--app-warning\)\]:hover{border-color:var(--app-warning)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-75:hover{opacity:.75}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #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-offset:2px;outline:2px solid #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}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:scale-100:hover:disabled{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.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)) skewX(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)) skewX(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)) skewX(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)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.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}.dark\:-rotate-90:is(.dark *){--tw-rotate:-90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:rotate-0:is(.dark *){--tw-rotate:0deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-0:is(.dark *){--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-100:is(.dark *){--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (width>=640px){.sm\:inline{display:inline}.sm\:hidden{display:none}}@media (width>=768px){.md\:mb-2{margin-bottom:.5rem}.md\:mb-3{margin-bottom:.75rem}.md\:mb-4{margin-bottom:1rem}.md\:mb-6{margin-bottom:1.5rem}.md\:mb-8{margin-bottom:2rem}.md\:mr-2{margin-right:.5rem}.md\:mr-4{margin-right:1rem}.md\:mt-3{margin-top:.75rem}.md\:mt-6{margin-top:1.5rem}.md\:h-4{height:1rem}.md\:h-8{height:2rem}.md\:w-4{width:1rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:gap-3{gap:.75rem}.md\:gap-4{gap:1rem}.md\:gap-8{gap:2rem}.md\: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))}.md\: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))}.md\:space-y-8>: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))}.md\:rounded-2xl{border-radius:1rem}.md\:rounded-xl{border-radius:.75rem}.md\:p-4{padding:1rem}.md\:p-6{padding:1.5rem}.md\:p-8{padding:2rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-12{padding-top:3rem;padding-bottom:3rem}.md\:py-3{padding-top:.75rem;padding-bottom:.75rem}.md\:py-4{padding-top:1rem;padding-bottom:1rem}.md\:pt-3{padding-top:.75rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (width>=1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:inline{display:inline}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
