.opacityWrapper{animation-name:opacitychange;animation-duration:3s;-webkit-animation-name:opacitychange;-webkit-animation-duration:3s;-webkit-animation-timing-duration:linear}@keyframes opacitychange{0%{filter:opacity(0%)}to{filter:opacity(100%)}}#bodyWrapper{display:none}html{height:100%;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{letter-spacing:.5px;color:#fff;background:#000;height:100%;width:100%;overflow-x:hidden!important}canvas{width:100vw;min-height:100vh}body::-webkit-scrollbar{width:13px;background-color:gray}h1{font-size:26px;text-align:center;margin-bottom:40px}#content{color:#fff;padding:55px 0 100px;min-height:100%}.carousel-container{padding-bottom:20px}.header_film{color:#fff;font-size:24px;font-weight:300;text-align:left;margin:10px 0 0 35px}.header_film a{color:#fff}.header_film a:hover{color:#cba903;text-decoration:none;font-size:24px;text-align:center;margin:20px 0 30px}.header_film a i{position:relative;top:2px}.header_film a:hover i{margin-left:10px;transition:all .5s}.header_page{color:#fff;font-size:24px;font-weight:500;text-align:center;margin-bottom:30px}.subscription p{color:gray;font-size:14px;padding:0;margin:0}.subscription div{background:green;height:3px;margin-top:5px}.fa-star{color:orange}.profile{color:#fff;padding:20px 0}.changeAva{margin:40px auto 0;max-width:500px}.changeAva img{width:200px;height:200px}.account{margin-left:20px;display:flex;flex-direction:column;justify-content:center}.avatar,.account img{height:45px;width:45px}.account .dropdown-menu{width:200px!important;min-height:335px!important;padding:5px;left:-55px!important}.account ul{padding:0}.account a{font-size:14px}#content h1{margin-top:10px}#content span{color:#9a9a9a;font-weight:700}#content span .lds-css{height:300px}.subscribe{color:#fff}.rate{background:#000;padding:20px;border:1px solid white;border-radius:20px;display:flex;flex-direction:column;justify-content:space-around;align-items:center;width:200px}.rate:hover{background:#fff;color:#000}.rate:hover .rate-btn{background:#ffca28;color:#000}.rate:hover .rate-ratio{color:gray}.rate-month{font-size:24px;margin-bottom:15px;font-weight:400}.rate-days{font-size:14px;line-height:1;color:#717171;margin-bottom:28px}.rate-info{color:#fff;background-color:#24b2d8;margin-bottom:14px;padding:5px;border-radius:5px;font-size:14px}.rate-price{font-size:48px;font-weight:500;margin-bottom:30px}.rate-ratio{font-size:16px;line-height:1;color:#fff;margin-bottom:28px}.rate-btn{font-size:18px;font-weight:400;line-height:1;padding:14px 22px 13px;color:#fff;border:1px solid gray}.rate-btn:hover{color:#171717;background-color:#daa500!important}button:active,button:focus{outline:none!important}.btn-outline-secondary{border-color:#fff}.btn-outline-secondary:hover{background:#fff;color:#000;border-color:#fff}.films-link{border:1px solid #333;padding:5px;width:50px;background-color:#ffffff26;float:right;position:relative;right:120px;top:-33px;clear:both;border-radius:5px;color:#fff;font-size:16px;text-align:center}.films-link:hover{color:#fff;background:#848586;text-decoration:none}footer{color:#fff;padding:25px 0 15px;background:#000000f2}.footer-block{display:flex;flex-direction:column;justify-content:center;align-items:center}.footer-text{color:#fff;font-size:14px;text-align:center;margin-bottom:10px}.genre{position:relative;width:100%;margin:15px 0}.genre img{display:block;margin:0 auto;width:100%;height:100px;border-radius:5px}.genre .genre-after{position:absolute;top:0;left:0;width:100%;height:100%;color:#fff;display:block;background:#00000080}.genre .genre-after a{display:block;height:200px;color:#fff;font-size:20px;text-align:center;line-height:100px}.genre .genre-after a:hover{text-decoration:none}.form-check-input{margin-top:6px}.registration h3{text-align:center;font-size:24px;margin:10px 0 20px}.registration a{color:#fff}.text-ellipsis{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.slick-slide{padding:0 10px}.slick-track{position:relative;top:0;left:0;display:block;margin-left:0!important;margin-right:0!important}.slick-dots{display:none!important}.carousel .slick-arrow{border:none;padding:0 7px;width:40px;height:300px;background-color:#00000080;position:absolute;z-index:999}.carousel .slick-arrow:hover{opacity:.8!important}.carousel .slick-list{padding-top:20px;clear:both;height:380px;position:relative}.carousel .slick-arrow.slick-prev{opacity:.6;clear:both;top:34px!important;left:0!important;display:inline-block!important;color:#fff;border-radius:0 7px 7px 0}.carousel .slick-arrow.slick-next{opacity:.6;clear:both;right:0!important;top:34px!important;display:inline-block!important;color:#fff;border-radius:7px 0 0 7px}.private h3{text-align:center;font-size:20px}.react-tabs__tab-list{list-style-type:none;display:block;width:500px;margin:0 auto;position:relative;top:12px;color:#888}.react-tabs__tab-list li{display:inline-block;padding-bottom:5px;margin-left:15px}.react-tabs__tab-list li:hover{cursor:pointer;color:#c7c7c7}.react-tabs__tab--selected{border-bottom:1px solid red;cursor:pointer;color:#fff}#seasons .react-tabs__tab-list{list-style-type:none!important;float:left;width:500px;position:relative;top:0;padding-left:0!important;clear:both}#seasons .react-tabs__tab-list li{display:inline-block;padding-bottom:10px;margin-left:15px}#seasons .react-tabs__tab-list li:hover,#seasons .react-tabs__tab--selected{border-bottom:1px solid yellow!important;cursor:pointer}.carousel-screen button{display:none!important;visibility:hidden}.container{position:relative;overflow:hidden}.videoContainer{position:absolute;inset:0;width:100%;height:100%;z-index:0}.overlay{position:absolute;inset:0;z-index:5}.videoIframe{position:relative;inset:0;width:100%;height:100%;z-index:0}@media (min-width: 993px){.genre{display:none}.dropdown-menu{padding-top:35px;width:700px;height:140px}.responsive_link,.mobile-link{display:none}.personal-header{font-size:20px;margin-top:15px}}@media (max-width: 992px){.genre-sliders{display:none}h1{margin-bottom:0;font-size:22px}#wrapper,#content{padding:0 0 15px}.rate{background:#fff;color:#000}.rate .rate-btn{background:#ffca28;color:#000}.rate .rate-ratio{color:gray}.player{padding:0;height:600px}.pc-link{display:none}.rate{margin:30px auto 0}}@media (max-width: 530px){.carousel-header{font-size:22px}.carousel-screen .slick-arrow.slick-next{bottom:277px}.slick-arrow.slick-prev{right:50px;top:40%}.slick-arrow.slick-next{right:11px;bottom:422px;top:40%}.recFilms .slick-arrow.slick-next{bottom:357px}.recFilms .slick-list{height:300px}.films-link{display:none}.header_film a:hover i{margin-left:0}.smallfilm-name,.bigfilm-name{font-size:12px}}@media (max-width: 486px){.header_film{font-size:18px;display:block;margin-left:10px}.header_film a:hover{font-size:18px}.films-link{display:none}}.personal{background:#00000080}.personal-list{margin-top:30px}.personal-list li{border-top:1px solid gray;padding:10px 0}.personal-list li:last-child{border-bottom:1px solid gray}.personal-list li a{color:#f5f5f5;padding:10px 0;display:block;font-size:16px;font-weight:300}.personal-list li a:hover{text-decoration:none}.personal img{height:40px;width:40px;float:left;position:relative;top:10px}.personal .username{position:relative;top:20px;left:30px;font-size:20px;color:#fff}.personal .useremail{clear:both;position:relative;top:20px;font-size:20px;color:#fff}*,: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%;tab-size:4;font-family:Roboto,sans-serif;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: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;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[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::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]{display:none}:root{--navbar-height: 70px;--background: #000000;--foreground: #F0F0F0;--card: #000000;--card-foreground: #F0F0F0;--popover: #000000;--popover-foreground: #F0F0F0;--primary: #000000;--primary-foreground: #FFFFFF;--secondary: #A188ED;--secondary-foreground: #FFFFFF;--muted: #212121;--muted-foreground: #BDBDBD;--accent: #A188ED;--accent-foreground: #FFFFFF;--destructive: #EF5350;--destructive-foreground: #FFFFFF;--border: #424242;--input: #212121;--ring: #7986CB;--radius: .5rem;--chart-1: #000000;--chart-2: #A188ED;--chart-3: #9CCC65;--chart-4: #FFB74D;--chart-5: #5C6BC0}.light{--background: #F0F0F0;--foreground: #333333;--card: #F0F0F0;--card-foreground: #333333;--popover: #F0F0F0;--popover-foreground: #333333;--primary: #000000;--primary-foreground: #FFFFFF;--secondary: #A188ED;--secondary-foreground: #FFFFFF;--muted: #E0E0E0;--muted-foreground: #757575;--accent: #A188ED;--accent-foreground: #FFFFFF;--destructive: #EF5350;--destructive-foreground: #FFFFFF;--border: #BDBDBD;--input: #E0E0E0;--ring: #7986CB}*{border-color:var(--border)}body{background-color:var(--background);color:var(--foreground);font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes blob{0%,to{transform:translate(0) scale(1)}33%{transform:translate(100px,-150px) scale(1.2)}66%{transform:translate(-80px,100px) scale(.8)}}.animate-blob{animation:blob 7s ease-in-out infinite}.animation-delay-2000{animation-delay:2s}.animation-delay-4000{animation-delay:4s}@keyframes gradient-x{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}*,: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: }::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: }.\!container{width:100%!important;margin-right:auto!important;margin-left:auto!important;padding-right:2rem!important;padding-left:2rem!important}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.\!container{max-width:1400px!important}.container{max-width:1400px}}.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}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-bottom-8{bottom:-2rem}.-bottom-\[10\%\]{bottom:-10%}.-bottom-\[20\%\]{bottom:-20%}.-left-4{left:-1rem}.-left-\[10\%\]{left:-10%}.-left-\[20\%\]{left:-20%}.-right-4{right:-1rem}.-right-\[10\%\]{right:-10%}.-right-\[20\%\]{right:-20%}.-top-\[10\%\]{top:-10%}.-top-\[20\%\]{top:-20%}.-top-full{top:-100%}.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.bottom-2\.5{bottom:.625rem}.bottom-5{bottom:1.25rem}.bottom-8{bottom:2rem}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-20{left:5rem}.left-5{left:1.25rem}.left-\[15\%\]{left:15%}.left-\[20\%\]{left:20%}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-5{right:1.25rem}.right-8{right:2rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-\[100px\]{top:100px}.top-\[30\%\]{top:30%}.top-\[40\%\]{top:40%}.top-\[50\%\]{top:50%}.top-full{top:100%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.z-\[100\]{z-index:100}.z-\[101\]{z-index:101}.z-\[5\]{z-index:5}.z-\[9998\]{z-index:9998}.z-\[9999\]{z-index:9999}.order-2{order:2}.order-none{order:0}.col-span-2{grid-column:span 2 / span 2}.m-0{margin:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-2\.5{margin-top:.625rem;margin-bottom:.625rem}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[85px\]{margin-top:85px}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.inline-table{display:inline-table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-72{height:18rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[200px\]{height:200px}.h-\[2px\]{height:2px}.h-\[30px\]{height:30px}.h-\[6px\]{height:6px}.h-\[700px\]{height:700px}.h-\[750px\]{height:750px}.h-\[800px\]{height:800px}.h-\[850px\]{height:850px}.h-\[900px\]{height:900px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[300px\]{max-height:300px}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[calc\(100vh-120px\)\]{max-height:calc(100vh - 120px)}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-screen{max-height:100vh}.min-h-\[100px\]{min-height:100px}.min-h-\[50vh\]{min-height:50vh}.min-h-\[70px\]{min-height:70px}.min-h-\[80px\]{min-height:80px}.min-h-\[calc\(100vh-85px\)\]{min-height:calc(100vh - 85px)}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[200px\]{width:200px}.w-\[60px\]{width:60px}.w-\[700px\]{width:700px}.w-\[70px\]{width:70px}.w-\[750px\]{width:750px}.w-\[800px\]{width:800px}.w-\[850px\]{width:850px}.w-\[900px\]{width:900px}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[150px\]{min-width:150px}.min-w-\[180px\]{min-width:180px}.min-w-\[200px\]{min-width:200px}.min-w-\[24px\]{min-width:24px}.min-w-\[30px\]{min-width:30px}.min-w-\[3rem\]{min-width:3rem}.min-w-\[60px\]{min-width:60px}.min-w-\[8rem\]{min-width:8rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[1200px\]{max-width:1200px}.max-w-\[1400px\]{max-width:1400px}.max-w-\[280px\]{max-width:280px}.max-w-\[400px\]{max-width:400px}.max-w-\[600px\]{max-width:600px}.max-w-\[800px\]{max-width:800px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.origin-\[--radix-dropdown-menu-content-transform-origin\]{transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\[1px\]{transform-origin:1px}.-translate-x-1\/2{--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-1\/2{--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))}.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-\[-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-x-full{--tw-translate-x: 100%;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-45{--tw-rotate: -45deg;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-90{--tw-rotate: -90deg;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-0{--tw-rotate: 0deg;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-45{--tw-rotate: 45deg;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))}.scale-105{--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))}.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))}.animate-\[colorShift_8s_ease-in-out_infinite\]{animation:colorShift 8s ease-in-out infinite}@keyframes border{to{--border-angle: 360deg}}.animate-border{animation:border 4s linear infinite}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pinch-zoom{--tw-pinch-zoom: pinch-zoom;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{appearance: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-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-3{column-gap:.75rem}.gap-y-1{row-gap:.25rem}.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))}.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))}.space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 1}.space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 1}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 1}.divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 1}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.text-clip{text-overflow:clip}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-wrap{text-wrap:wrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[calc\(0\.5rem-1px\)\]{border-radius:calc(.5rem - 1px)}.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}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-lg{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-\[5px\]{border-top-left-radius:5px;border-top-right-radius:5px}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-x{border-left-width:1px;border-right-width:1px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0px}.border-b-2{border-bottom-width:2px}.border-e{border-inline-end-width:1px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-s{border-inline-start-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-\[\#444\]{--tw-border-opacity: 1;border-color:rgb(68 68 68 / var(--tw-border-opacity))}.border-\[\#666\]{--tw-border-opacity: 1;border-color:rgb(102 102 102 / var(--tw-border-opacity))}.border-\[\#7C3AED\]{--tw-border-opacity: 1;border-color:rgb(124 58 237 / var(--tw-border-opacity))}.border-\[\#ff6666\]{--tw-border-opacity: 1;border-color:rgb(255 102 102 / var(--tw-border-opacity))}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--muted\)\]{border-color:var(--muted)}.border-accent{border-color:var(--accent)}.border-amber-100{--tw-border-opacity: 1;border-color:rgb(254 243 199 / var(--tw-border-opacity))}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity))}.border-amber-500{--tw-border-opacity: 1;border-color:rgb(245 158 11 / var(--tw-border-opacity))}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity))}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.border-border{border-color:var(--border)}.border-destructive{border-color:var(--destructive)}.border-emerald-500{--tw-border-opacity: 1;border-color:rgb(16 185 129 / var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-gray-500\/30{border-color:#6b72804d}.border-green-100{--tw-border-opacity: 1;border-color:rgb(220 252 231 / var(--tw-border-opacity))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity))}.border-green-300{--tw-border-opacity: 1;border-color:rgb(134 239 172 / var(--tw-border-opacity))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.border-green-500\/40{border-color:#22c55e66}.border-indigo-100{--tw-border-opacity: 1;border-color:rgb(224 231 255 / var(--tw-border-opacity))}.border-input{border-color:var(--input)}.border-muted{border-color:var(--muted)}.border-orange-300{--tw-border-opacity: 1;border-color:rgb(253 186 116 / var(--tw-border-opacity))}.border-orange-500{--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity))}.border-orange-500\/40{border-color:#f9731666}.border-pink-200{--tw-border-opacity: 1;border-color:rgb(251 207 232 / var(--tw-border-opacity))}.border-pink-300{--tw-border-opacity: 1;border-color:rgb(249 168 212 / var(--tw-border-opacity))}.border-primary{border-color:var(--primary)}.border-purple-100{--tw-border-opacity: 1;border-color:rgb(243 232 255 / var(--tw-border-opacity))}.border-purple-200{--tw-border-opacity: 1;border-color:rgb(233 213 255 / var(--tw-border-opacity))}.border-purple-300{--tw-border-opacity: 1;border-color:rgb(216 180 254 / var(--tw-border-opacity))}.border-purple-500{--tw-border-opacity: 1;border-color:rgb(168 85 247 / var(--tw-border-opacity))}.border-purple-500\/30{border-color:#a855f74d}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity))}.border-ring{border-color:var(--ring)}.border-teal-500{--tw-border-opacity: 1;border-color:rgb(20 184 166 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-violet-500{--tw-border-opacity: 1;border-color:rgb(139 92 246 / var(--tw-border-opacity))}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.border-white\/10{border-color:#ffffff1a}.border-white\/20{border-color:#fff3}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity))}.border-yellow-300{--tw-border-opacity: 1;border-color:rgb(253 224 71 / var(--tw-border-opacity))}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(234 179 8 / var(--tw-border-opacity))}.border-yellow-500\/20{border-color:#eab30833}.border-yellow-500\/30{border-color:#eab3084d}.border-l-green-500{--tw-border-opacity: 1;border-left-color:rgb(34 197 94 / var(--tw-border-opacity))}.border-l-orange-500{--tw-border-opacity: 1;border-left-color:rgb(249 115 22 / var(--tw-border-opacity))}.border-l-purple-500{--tw-border-opacity: 1;border-left-color:rgb(168 85 247 / var(--tw-border-opacity))}.border-t-\[var\(--primary\)\],.border-t-primary{border-top-color:var(--primary)}.border-t-transparent{border-top-color:transparent}.bg-\[\#0a0a0a\]{--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity))}.bg-\[\#1a1a1a\]{--tw-bg-opacity: 1;background-color:rgb(26 26 26 / var(--tw-bg-opacity))}.bg-\[\#222\]{--tw-bg-opacity: 1;background-color:rgb(34 34 34 / var(--tw-bg-opacity))}.bg-\[\#333\]{--tw-bg-opacity: 1;background-color:rgb(51 51 51 / var(--tw-bg-opacity))}.bg-\[\#6B46C1\]{--tw-bg-opacity: 1;background-color:rgb(107 70 193 / var(--tw-bg-opacity))}.bg-\[\#ff3333\]{--tw-bg-opacity: 1;background-color:rgb(255 51 51 / var(--tw-bg-opacity))}.bg-\[rgba\(0\,30\,50\,0\.9\)\]{background-color:#001e32e6}.bg-\[rgba\(0\,40\,40\,0\.9\)\]{background-color:#002828e6}.bg-\[rgba\(0\,50\,30\,0\.9\)\]{background-color:#00321ee6}.bg-\[rgba\(10\,10\,10\,0\.75\)\]{background-color:#0a0a0abf}.bg-\[rgba\(10\,10\,10\,0\.95\)\]{background-color:#0a0a0af2}.bg-\[rgba\(20\,20\,20\,0\.9\)\]{background-color:#141414e6}.bg-\[rgba\(30\,0\,40\,0\.9\)\]{background-color:#1e0028e6}.bg-\[rgba\(30\,0\,50\,0\.9\)\]{background-color:#1e0032e6}.bg-\[rgba\(40\,40\,0\,0\.9\)\]{background-color:#282800e6}.bg-\[rgba\(50\,0\,0\,0\.9\)\]{background-color:#320000e6}.bg-\[rgba\(50\,30\,0\,0\.9\)\]{background-color:#321e00e6}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--input\)\]{background-color:var(--input)}.bg-\[var\(--muted\)\]{background-color:var(--muted)}.bg-\[var\(--primary\)\]{background-color:var(--primary)}.bg-\[var\(--secondary\)\]{background-color:var(--secondary)}.bg-accent{background-color:var(--accent)}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity))}.bg-background{background-color:var(--background)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-black\/50{background-color:#00000080}.bg-black\/80{background-color:#000c}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity))}.bg-blue-50\/50{background-color:#eff6ff80}.bg-card{background-color:var(--card)}.bg-cyan-900\/20{background-color:#164e6333}.bg-destructive{background-color:var(--destructive)}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.bg-green-500\/10{background-color:#22c55e1a}.bg-green-500\/20{background-color:#22c55e33}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity))}.bg-green-950\/20{background-color:#052e1633}.bg-indigo-100{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity))}.bg-muted{background-color:var(--muted)}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity))}.bg-orange-50{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity))}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity))}.bg-orange-500\/20{background-color:#f9731633}.bg-orange-900\/30{background-color:#7c2d124d}.bg-pink-100{--tw-bg-opacity: 1;background-color:rgb(252 231 243 / var(--tw-bg-opacity))}.bg-pink-900\/20{background-color:#83184333}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity))}.bg-purple-500\/10{background-color:#a855f71a}.bg-purple-500\/20{background-color:#a855f733}.bg-purple-900\/20{background-color:#581c8733}.bg-purple-950\/20{background-color:#3b076433}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.bg-red-900\/30{background-color:#7f1d1d4d}.bg-secondary{background-color:var(--secondary)}.bg-teal-500{--tw-bg-opacity: 1;background-color:rgb(20 184 166 / var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\/20{background-color:#fff3}.bg-white\/30{background-color:#ffffff4d}.bg-white\/5{background-color:#ffffff0d}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity))}.bg-yellow-500\/10{background-color:#eab3081a}.bg-yellow-900\/30{background-color:#713f124d}.bg-opacity-50{--tw-bg-opacity: .5}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\[\#00ff41\]{--tw-gradient-from: #00ff41 var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 255 65 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#ff6b6b\]{--tw-gradient-from: #ff6b6b var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 107 107 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[var\(--accent\)\]{--tw-gradient-from: var(--accent) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[var\(--primary\)\]{--tw-gradient-from: var(--primary) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[var\(--secondary\)\]{--tw-gradient-from: var(--secondary) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-accent{--tw-gradient-from: var(--accent) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-50{--tw-gradient-from: #fffbeb var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 251 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-500{--tw-gradient-from: #f59e0b var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from: #60a5fa var(--tw-gradient-from-position);--tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-50{--tw-gradient-from: #eff6ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-400{--tw-gradient-from: #22d3ee var(--tw-gradient-from-position);--tw-gradient-to: rgb(34 211 238 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-500{--tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-50{--tw-gradient-from: #f9fafb var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-500{--tw-gradient-from: #6b7280 var(--tw-gradient-from-position);--tw-gradient-to: rgb(107 114 128 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-400{--tw-gradient-from: #4ade80 var(--tw-gradient-from-position);--tw-gradient-to: rgb(74 222 128 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-50{--tw-gradient-from: #f0fdf4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(240 253 244 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500{--tw-gradient-from: #22c55e var(--tw-gradient-from-position);--tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-400{--tw-gradient-from: #818cf8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(129 140 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-50{--tw-gradient-from: #eef2ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(238 242 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from: #6366f1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from: #f97316 var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-400{--tw-gradient-from: #f472b6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(244 114 182 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-50{--tw-gradient-from: #fdf2f8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(253 242 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-500{--tw-gradient-from: #ec4899 var(--tw-gradient-from-position);--tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary{--tw-gradient-from: var(--primary) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-400{--tw-gradient-from: #c084fc var(--tw-gradient-from-position);--tw-gradient-to: rgb(192 132 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-50{--tw-gradient-from: #faf5ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(250 245 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #a855f7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-50{--tw-gradient-from: #fef2f2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(254 242 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-500{--tw-gradient-from: #ef4444 var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-secondary{--tw-gradient-from: var(--secondary) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-500{--tw-gradient-from: #14b8a6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(20 184 166 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-500{--tw-gradient-from: #eab308 var(--tw-gradient-from-position);--tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-\[\#4ecdc4\]{--tw-gradient-to: rgb(78 205 196 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #4ecdc4 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-\[var\(--accent\)\]{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--accent) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-blue-50{--tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #eff6ff var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-blue-500{--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #3b82f6 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-cyan-400{--tw-gradient-to: rgb(34 211 238 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #22d3ee var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-pink-400{--tw-gradient-to: rgb(244 114 182 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #f472b6 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-purple-400{--tw-gradient-to: rgb(192 132 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #c084fc var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-purple-50{--tw-gradient-to: rgb(250 245 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #faf5ff var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-purple-500{--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #a855f7 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-secondary{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--secondary) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-\[\#00a0ff\]{--tw-gradient-to: #00a0ff var(--tw-gradient-to-position)}.to-\[\#ffe66d\]{--tw-gradient-to: #ffe66d var(--tw-gradient-to-position)}.to-\[var\(--accent\)\]{--tw-gradient-to: var(--accent) var(--tw-gradient-to-position)}.to-\[var\(--secondary\)\]{--tw-gradient-to: var(--secondary) var(--tw-gradient-to-position)}.to-accent{--tw-gradient-to: var(--accent) var(--tw-gradient-to-position)}.to-amber-100{--tw-gradient-to: #fef3c7 var(--tw-gradient-to-position)}.to-amber-600{--tw-gradient-to: #d97706 var(--tw-gradient-to-position)}.to-blue-100{--tw-gradient-to: #dbeafe var(--tw-gradient-to-position)}.to-blue-400{--tw-gradient-to: #60a5fa var(--tw-gradient-to-position)}.to-blue-50{--tw-gradient-to: #eff6ff var(--tw-gradient-to-position)}.to-blue-50\/50{--tw-gradient-to: rgb(239 246 255 / .5) var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to: #2563eb var(--tw-gradient-to-position)}.to-cyan-600{--tw-gradient-to: #0891b2 var(--tw-gradient-to-position)}.to-gray-100{--tw-gradient-to: #f3f4f6 var(--tw-gradient-to-position)}.to-gray-600{--tw-gradient-to: #4b5563 var(--tw-gradient-to-position)}.to-green-100{--tw-gradient-to: #dcfce7 var(--tw-gradient-to-position)}.to-green-600{--tw-gradient-to: #16a34a var(--tw-gradient-to-position)}.to-indigo-50{--tw-gradient-to: #eef2ff var(--tw-gradient-to-position)}.to-indigo-600{--tw-gradient-to: #4f46e5 var(--tw-gradient-to-position)}.to-orange-50{--tw-gradient-to: #fff7ed var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to: #f97316 var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to: #ea580c var(--tw-gradient-to-position)}.to-pink-100{--tw-gradient-to: #fce7f3 var(--tw-gradient-to-position)}.to-pink-400{--tw-gradient-to: #f472b6 var(--tw-gradient-to-position)}.to-pink-50{--tw-gradient-to: #fdf2f8 var(--tw-gradient-to-position)}.to-pink-600{--tw-gradient-to: #db2777 var(--tw-gradient-to-position)}.to-purple-100{--tw-gradient-to: #f3e8ff var(--tw-gradient-to-position)}.to-purple-50{--tw-gradient-to: #faf5ff var(--tw-gradient-to-position)}.to-purple-50\/50{--tw-gradient-to: rgb(250 245 255 / .5) var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to: #a855f7 var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to: #9333ea var(--tw-gradient-to-position)}.to-red-50\/50{--tw-gradient-to: rgb(254 242 242 / .5) var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to: #dc2626 var(--tw-gradient-to-position)}.to-secondary{--tw-gradient-to: var(--secondary) var(--tw-gradient-to-position)}.to-teal-600{--tw-gradient-to: #0d9488 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.to-yellow-600{--tw-gradient-to: #ca8a04 var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-repeat{background-repeat:repeat}.fill-current{fill:currentColor}.fill-red-500{fill:#ef4444}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.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-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[5\%\]{padding-left:5%;padding-right:5%}.py-0{padding-top:0;padding-bottom:0}.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-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[15px\]{padding-top:15px;padding-bottom:15px}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-32{padding-bottom:8rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pb-\[50px\]{padding-bottom:50px}.pb-\[70px\]{padding-bottom:70px}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-6{padding-right:1.5rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-2\.5{padding-top:.625rem}.pt-20{padding-top:5rem}.pt-24{padding-top:6rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.pt-\[100px\]{padding-top:100px}.pt-\[5\.5rem\]{padding-top:5.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[15px\]{font-size:15px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.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-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.not-italic{font-style:normal}.normal-nums{font-variant-numeric:normal}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.slashed-zero{--tw-slashed-zero: slashed-zero;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.lining-nums{--tw-numeric-figure: lining-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.oldstyle-nums{--tw-numeric-figure: oldstyle-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.proportional-nums{--tw-numeric-spacing: proportional-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.diagonal-fractions{--tw-numeric-fraction: diagonal-fractions;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.stacked-fractions{--tw-numeric-fraction: stacked-fractions;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-\[0\.5rem\]{letter-spacing:.5rem}.tracking-\[2px\]{letter-spacing:2px}.tracking-\[4px\]{letter-spacing:4px}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#00ff00\]{--tw-text-opacity: 1;color:rgb(0 255 0 / var(--tw-text-opacity))}.text-\[\#00ff41\]{--tw-text-opacity: 1;color:rgb(0 255 65 / var(--tw-text-opacity))}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--border\)\]{color:var(--border)}.text-\[var\(--card-foreground\)\]{color:var(--card-foreground)}.text-\[var\(--muted-foreground\)\]{color:var(--muted-foreground)}.text-\[var\(--primary\)\]{color:var(--primary)}.text-\[var\(--secondary\)\]{color:var(--secondary)}.text-accent{color:var(--accent)}.text-accent-foreground{color:var(--accent-foreground)}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity))}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-black\/50{color:#00000080}.text-black\/80{color:#000c}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity))}.text-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity))}.text-card-foreground{color:var(--card-foreground)}.text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity))}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity))}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity))}.text-foreground{color:var(--foreground)}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-green-300{--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity))}.text-green-900{--tw-text-opacity: 1;color:rgb(20 83 45 / var(--tw-text-opacity))}.text-indigo-300{--tw-text-opacity: 1;color:rgb(165 180 252 / var(--tw-text-opacity))}.text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity))}.text-indigo-700{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity))}.text-muted-foreground{color:var(--muted-foreground)}.text-orange-300{--tw-text-opacity: 1;color:rgb(253 186 116 / var(--tw-text-opacity))}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity))}.text-orange-700{--tw-text-opacity: 1;color:rgb(194 65 12 / var(--tw-text-opacity))}.text-orange-800{--tw-text-opacity: 1;color:rgb(154 52 18 / var(--tw-text-opacity))}.text-pink-300{--tw-text-opacity: 1;color:rgb(249 168 212 / var(--tw-text-opacity))}.text-pink-400{--tw-text-opacity: 1;color:rgb(244 114 182 / var(--tw-text-opacity))}.text-pink-500{--tw-text-opacity: 1;color:rgb(236 72 153 / var(--tw-text-opacity))}.text-pink-700{--tw-text-opacity: 1;color:rgb(190 24 93 / var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity: 1;color:rgb(157 23 77 / var(--tw-text-opacity))}.text-pink-900{--tw-text-opacity: 1;color:rgb(131 24 67 / var(--tw-text-opacity))}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-purple-300{--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity))}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity))}.text-purple-700{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity: 1;color:rgb(107 33 168 / var(--tw-text-opacity))}.text-purple-900{--tw-text-opacity: 1;color:rgb(88 28 135 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity))}.text-red-900{--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity))}.text-secondary{color:var(--secondary)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-white\/60{color:#fff9}.text-white\/80{color:#fffc}.text-white\/90{color:#ffffffe6}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.accent-\[var\(--primary\)\],.accent-primary{accent-color:var(--primary)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.opacity-95{opacity:.95}.mix-blend-multiply{mix-blend-mode:multiply}.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-2xl{--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)}.shadow-\[-5px_0_20px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow: -5px 0 20px rgba(0,0,0,.5);--tw-shadow-colored: -5px 0 20px 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-\[0_0_15px_rgba\(255\,51\,51\,0\.5\)\]{--tw-shadow: 0 0 15px rgba(255,51,51,.5);--tw-shadow-colored: 0 0 15px 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-\[0_0_1em_blue\,0_0_0\.2em_blue\]{--tw-shadow: 0 0 1em blue,0 0 .2em blue;--tw-shadow-colored: 0 0 1em var(--tw-shadow-color), 0 0 .2em 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-\[0_10px_30px_rgba\(0\,0\,0\,0\.3\)\]{--tw-shadow: 0 10px 30px rgba(0,0,0,.3);--tw-shadow-colored: 0 10px 30px 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)}.shadow-xl{--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)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.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(3px + 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-inset{--tw-ring-inset: inset}.ring-primary{--tw-ring-color: var(--primary)}.ring-offset-2{--tw-ring-offset-width: 2px}.ring-offset-background{--tw-ring-offset-color: var(--background)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-3xl{--tw-blur: blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[70px\]{--tw-blur: blur(70px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[75px\]{--tw-blur: blur(75px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[80px\]{--tw-blur: blur(80px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-xl{--tw-blur: blur(24px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));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)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia: sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-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)}.backdrop-blur-md{--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)}.backdrop-blur-sm{--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)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-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)}.backdrop-grayscale{--tw-backdrop-grayscale: grayscale(100%);-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)}.backdrop-invert{--tw-backdrop-invert: invert(100%);-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)}.backdrop-sepia{--tw-backdrop-sepia: sepia(100%);-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)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,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-shadow{transition-property:box-shadow;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-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,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{--tw-enter-opacity: 0}.zoom-in{--tw-enter-scale: 0}.zoom-out{--tw-exit-scale: 0}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.ease-in{animation-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.paused{animation-play-state:paused}.\[scale\:log\]{scale:log}@property --border-angle{inherits: false; initial-value: 0deg; syntax: "<angle>";}.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-\[var\(--muted-foreground\)\]::placeholder{color:var(--muted-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.hover\:-translate-x-1:hover{--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))}.hover\:-translate-x-1\.5:hover{--tw-translate-x: -.375rem;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\:-translate-y-0:hover{--tw-translate-y: -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))}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;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\:-translate-y-1:hover{--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))}.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\:border-\[\#666\]:hover{--tw-border-opacity: 1;border-color:rgb(102 102 102 / var(--tw-border-opacity))}.hover\:border-\[\#888\]:hover{--tw-border-opacity: 1;border-color:rgb(136 136 136 / var(--tw-border-opacity))}.hover\:border-\[\#9333EA\]:hover{--tw-border-opacity: 1;border-color:rgb(147 51 234 / var(--tw-border-opacity))}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.hover\:border-purple-300:hover{--tw-border-opacity: 1;border-color:rgb(216 180 254 / var(--tw-border-opacity))}.hover\:bg-\[\#444\]:hover{--tw-bg-opacity: 1;background-color:rgb(68 68 68 / var(--tw-bg-opacity))}.hover\:bg-\[\#7C3AED\]:hover{--tw-bg-opacity: 1;background-color:rgb(124 58 237 / var(--tw-bg-opacity))}.hover\:bg-\[rgba\(0\,100\,255\,0\.1\)\]:hover{background-color:#0064ff1a}.hover\:bg-\[rgba\(0\,100\,255\,0\.2\)\]:hover{background-color:#0064ff33}.hover\:bg-\[rgba\(0\,212\,255\,0\.1\)\]:hover{background-color:#00d4ff1a}.hover\:bg-\[rgba\(153\,0\,255\,0\.1\)\]:hover{background-color:#9900ff1a}.hover\:bg-\[rgba\(153\,0\,255\,0\.2\)\]:hover{background-color:#90f3}.hover\:bg-\[rgba\(155\,89\,182\,0\.1\)\]:hover{background-color:#9b59b61a}.hover\:bg-\[rgba\(231\,76\,60\,0\.1\)\]:hover{background-color:#e74c3c1a}.hover\:bg-\[rgba\(255\,105\,180\,0\.1\)\]:hover{background-color:#ff69b41a}.hover\:bg-\[rgba\(52\,152\,219\,0\.1\)\]:hover{background-color:#3498db1a}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-black\/90:hover{background-color:#000000e6}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity))}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-orange-600:hover{--tw-bg-opacity: 1;background-color:rgb(234 88 12 / var(--tw-bg-opacity))}.hover\:bg-purple-500\/20:hover{background-color:#a855f733}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity))}.hover\:bg-secondary:hover{background-color:var(--secondary)}.hover\:bg-teal-600:hover{--tw-bg-opacity: 1;background-color:rgb(13 148 136 / var(--tw-bg-opacity))}.hover\:bg-white\/30:hover{background-color:#ffffff4d}.hover\:bg-yellow-600:hover{--tw-bg-opacity: 1;background-color:rgb(202 138 4 / var(--tw-bg-opacity))}.hover\:text-\[var\(--primary\)\]:hover{color:var(--primary)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-card-foreground:hover{color:var(--card-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.hover\:text-primary:hover{color:var(--primary)}.hover\:text-yellow-400:hover{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-\[0_0_10px_rgba\(102\,187\,106\,0\.5\)\]:hover{--tw-shadow: 0 0 10px rgba(102,187,106,.5);--tw-shadow-colored: 0 0 10px 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\:shadow-\[0_0_1em_rgba\(0\,100\,255\,0\.6\)\]:hover{--tw-shadow: 0 0 1em rgba(0,100,255,.6);--tw-shadow-colored: 0 0 1em 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\:shadow-\[0_0_1em_rgba\(153\,0\,255\,0\.6\)\]:hover{--tw-shadow: 0 0 1em rgba(153,0,255,.6);--tw-shadow-colored: 0 0 1em 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\:shadow-\[0_0_2em_rgba\(0\,100\,255\,0\.8\)\,0_0_0\.5em_rgba\(0\,100\,255\,0\.6\)\]:hover{--tw-shadow: 0 0 2em rgba(0,100,255,.8),0 0 .5em rgba(0,100,255,.6);--tw-shadow-colored: 0 0 2em var(--tw-shadow-color), 0 0 .5em 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\:shadow-\[0_0_2em_rgba\(0\,212\,255\,0\.8\)\,0_0_0\.5em_rgba\(0\,212\,255\,0\.6\)\]:hover{--tw-shadow: 0 0 2em rgba(0,212,255,.8),0 0 .5em rgba(0,212,255,.6);--tw-shadow-colored: 0 0 2em var(--tw-shadow-color), 0 0 .5em 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\:shadow-\[0_0_2em_rgba\(153\,0\,255\,0\.8\)\,0_0_0\.5em_rgba\(153\,0\,255\,0\.6\)\]:hover{--tw-shadow: 0 0 2em rgba(153,0,255,.8),0 0 .5em rgba(153,0,255,.6);--tw-shadow-colored: 0 0 2em var(--tw-shadow-color), 0 0 .5em 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\:shadow-\[0_0_2em_rgba\(155\,89\,182\,0\.8\)\,0_0_0\.5em_rgba\(155\,89\,182\,0\.6\)\]:hover{--tw-shadow: 0 0 2em rgba(155,89,182,.8),0 0 .5em rgba(155,89,182,.6);--tw-shadow-colored: 0 0 2em var(--tw-shadow-color), 0 0 .5em 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\:shadow-\[0_0_2em_rgba\(231\,76\,60\,0\.8\)\,0_0_0\.5em_rgba\(231\,76\,60\,0\.6\)\]:hover{--tw-shadow: 0 0 2em rgba(231,76,60,.8),0 0 .5em rgba(231,76,60,.6);--tw-shadow-colored: 0 0 2em var(--tw-shadow-color), 0 0 .5em 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\:shadow-\[0_0_2em_rgba\(255\,105\,180\,0\.8\)\,0_0_0\.5em_rgba\(255\,105\,180\,0\.6\)\]:hover{--tw-shadow: 0 0 2em rgba(255,105,180,.8),0 0 .5em rgba(255,105,180,.6);--tw-shadow-colored: 0 0 2em var(--tw-shadow-color), 0 0 .5em 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\:shadow-\[0_0_2em_rgba\(52\,152\,219\,0\.8\)\,0_0_0\.5em_rgba\(52\,152\,219\,0\.6\)\]:hover{--tw-shadow: 0 0 2em rgba(52,152,219,.8),0 0 .5em rgba(52,152,219,.6);--tw-shadow-colored: 0 0 2em var(--tw-shadow-color), 0 0 .5em 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\:shadow-\[0_15px_40px_rgba\(0\,0\,0\,0\.5\)\]:hover{--tw-shadow: 0 15px 40px rgba(0,0,0,.5);--tw-shadow-colored: 0 15px 40px 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\:shadow-\[0_2px_8px_rgba\(124\,58\,237\,0\.5\)\]:hover{--tw-shadow: 0 2px 8px rgba(124,58,237,.5);--tw-shadow-colored: 0 2px 8px 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\: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\:shadow-md: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)}.hover\:shadow-xl: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)}.focus\:border-ring:focus{border-color:var(--ring)}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:opacity-100:focus{opacity:1}.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-primary:focus{--tw-ring-color: var(--primary)}.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-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-\[var\(--ring\)\]:focus-visible{--tw-ring-color: var(--ring)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.active\:translate-y-0:active{--tw-translate-y: 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))}.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))}.active\:scale-\[0\.98\]:active{--tw-scale-x: .98;--tw-scale-y: .98;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))}.active\:bg-\[rgba\(0\,255\,65\,0\.1\)\]:active{background-color:#00ff411a}.active\:shadow-\[0_0_1\.5em_rgba\(0\,255\,65\,0\.8\)\,0_0_0\.3em_rgba\(0\,255\,65\,0\.6\)\]:active{--tw-shadow: 0 0 1.5em rgba(0,255,65,.8),0 0 .3em rgba(0,255,65,.6);--tw-shadow-colored: 0 0 1.5em var(--tw-shadow-color), 0 0 .3em var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:transform-none:disabled{transform:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:translate-x-1{--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))}.group:hover .group-hover\:scale-105{--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))}.group:hover .group-hover\:scale-110{--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))}.group:hover .group-hover\:text-black\/80{color:#000c}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity))}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:var(--destructive)}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:var(--destructive-foreground)}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color: var(--destructive)}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color: #dc2626}.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-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--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-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x: var(--radix-toast-swipe-end-x);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-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x: var(--radix-toast-swipe-move-x);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\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.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],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{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\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity: .8}.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-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y: -100%}@media (min-width: 640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-6{gap:1.5rem}.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\:p-6{padding:1.5rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:text-left{text-align:left}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y: 100%}}@media (min-width: 768px){.md\:static{position:static}.md\:left-auto{left:auto}.md\:right-0{right:0}.md\:order-none{order:0}.md\:col-span-2{grid-column:span 2 / span 2}.md\:my-0{margin-top:0;margin-bottom:0}.md\:mb-4{margin-bottom:1rem}.md\:mb-8{margin-bottom:2rem}.md\:mt-4{margin-top:1rem}.md\:mt-8{margin-top:2rem}.md\:inline-block{display:inline-block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-\[180px\]{height:180px}.md\:h-auto{height:auto}.md\:min-h-\[60px\]{min-height:60px}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}.md\: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))}.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\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:gap-4{gap:1rem}.md\:gap-5{gap:1.25rem}.md\:gap-6{gap:1.5rem}.md\:gap-\[5px\]{gap:5px}.md\:rounded-2xl{border-radius:1rem}.md\:bg-transparent{background-color:transparent}.md\:p-12{padding:3rem}.md\:p-6{padding:1.5rem}.md\:p-7{padding:1.75rem}.md\:p-8{padding:2rem}.md\:px-3{padding-left:.75rem;padding-right:.75rem}.md\:px-5{padding-left:1.25rem;padding-right:1.25rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-\[3\%\]{padding-left:3%;padding-right:3%}.md\:py-2{padding-top:.5rem;padding-bottom:.5rem}.md\:py-3{padding-top:.75rem;padding-bottom:.75rem}.md\:pb-0{padding-bottom:0}.md\:pl-6{padding-left:1.5rem}.md\:pt-0{padding-top:0}.md\:text-left{text-align:left}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.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}.md\:tracking-\[2px\]{letter-spacing:2px}.md\:shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.md\:backdrop-blur-none{--tw-backdrop-blur: blur(0);-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)}.md\:hover\:-translate-y-0:hover{--tw-translate-y: -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))}.md\:hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;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))}.md\:hover\:translate-x-0:hover{--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))}}@media (min-width: 1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.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\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:px-2{padding-left:.5rem;padding-right:.5rem}.lg\:px-\[4\%\]{padding-left:4%;padding-right:4%}.lg\:py-1{padding-top:.25rem;padding-bottom:.25rem}.lg\:text-sm{font-size:.875rem;line-height:1.25rem}.lg\:text-xs{font-size:.75rem;line-height:1rem}.lg\:tracking-\[3px\]{letter-spacing:3px}}@media (min-width: 1280px){.xl\:gap-\[2px\]{gap:2px}.xl\:px-2{padding-left:.5rem;padding-right:.5rem}.xl\:px-2\.5{padding-left:.625rem;padding-right:.625rem}.xl\:px-20{padding-left:5rem;padding-right:5rem}.xl\:py-1{padding-top:.25rem;padding-bottom:.25rem}.xl\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.xl\:text-\[13px\]{font-size:13px}}@media (min-width: 1536px){.\32xl\:px-20{padding-left:5rem;padding-right:5rem}}:is(:where(.dark) .dark\:border-amber-800){--tw-border-opacity: 1;border-color:rgb(146 64 14 / var(--tw-border-opacity))}:is(:where(.dark) .dark\:border-amber-900){--tw-border-opacity: 1;border-color:rgb(120 53 15 / var(--tw-border-opacity))}:is(:where(.dark) .dark\:border-blue-800){--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity))}:is(:where(.dark) .dark\:border-blue-900){--tw-border-opacity: 1;border-color:rgb(30 58 138 / var(--tw-border-opacity))}:is(:where(.dark) .dark\:border-gray-700){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}:is(:where(.dark) .dark\:border-green-800){--tw-border-opacity: 1;border-color:rgb(22 101 52 / var(--tw-border-opacity))}:is(:where(.dark) .dark\:border-green-900){--tw-border-opacity: 1;border-color:rgb(20 83 45 / var(--tw-border-opacity))}:is(:where(.dark) .dark\:border-indigo-900){--tw-border-opacity: 1;border-color:rgb(49 46 129 / var(--tw-border-opacity))}:is(:where(.dark) .dark\:border-pink-800){--tw-border-opacity: 1;border-color:rgb(157 23 77 / var(--tw-border-opacity))}:is(:where(.dark) .dark\:border-purple-800){--tw-border-opacity: 1;border-color:rgb(107 33 168 / var(--tw-border-opacity))}:is(:where(.dark) .dark\:border-purple-900){--tw-border-opacity: 1;border-color:rgb(88 28 135 / var(--tw-border-opacity))}:is(:where(.dark) .dark\:border-red-800){--tw-border-opacity: 1;border-color:rgb(153 27 27 / var(--tw-border-opacity))}:is(:where(.dark) .dark\:bg-amber-900\/20){background-color:#78350f33}:is(:where(.dark) .dark\:bg-amber-950\/20){background-color:#451a0333}:is(:where(.dark) .dark\:bg-black\/20){background-color:#0003}:is(:where(.dark) .dark\:bg-blue-900){--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity))}:is(:where(.dark) .dark\:bg-blue-900\/20){background-color:#1e3a8a33}:is(:where(.dark) .dark\:bg-blue-950\/20){background-color:#17255433}:is(:where(.dark) .dark\:bg-blue-950\/30){background-color:#1725544d}:is(:where(.dark) .dark\:bg-gray-700){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}:is(:where(.dark) .dark\:bg-gray-800){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}:is(:where(.dark) .dark\:bg-green-900\/20){background-color:#14532d33}:is(:where(.dark) .dark\:bg-green-900\/30){background-color:#14532d4d}:is(:where(.dark) .dark\:bg-green-950\/20){background-color:#052e1633}:is(:where(.dark) .dark\:bg-indigo-900\/30){background-color:#312e814d}:is(:where(.dark) .dark\:bg-orange-900\/30){background-color:#7c2d124d}:is(:where(.dark) .dark\:bg-orange-950\/20){background-color:#43140733}:is(:where(.dark) .dark\:bg-purple-900\/20){background-color:#581c8733}:is(:where(.dark) .dark\:bg-purple-900\/30){background-color:#581c874d}:is(:where(.dark) .dark\:bg-purple-950\/20){background-color:#3b076433}:is(:where(.dark) .dark\:bg-red-900\/20){background-color:#7f1d1d33}:is(:where(.dark) .dark\:bg-red-900\/30){background-color:#7f1d1d4d}:is(:where(.dark) .dark\:bg-red-950\/20){background-color:#450a0a33}:is(:where(.dark) .dark\:bg-red-950\/40){background-color:#450a0a66}:is(:where(.dark) .dark\:bg-yellow-900\/30){background-color:#713f124d}:is(:where(.dark) .dark\:bg-yellow-950\/20){background-color:#42200633}:is(:where(.dark) .dark\:from-amber-950\/40){--tw-gradient-from: rgb(69 26 3 / .4) var(--tw-gradient-from-position);--tw-gradient-to: rgb(69 26 3 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(:where(.dark) .dark\:from-blue-950\/20){--tw-gradient-from: rgb(23 37 84 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(23 37 84 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(:where(.dark) .dark\:from-blue-950\/40){--tw-gradient-from: rgb(23 37 84 / .4) var(--tw-gradient-from-position);--tw-gradient-to: rgb(23 37 84 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(:where(.dark) .dark\:from-gray-900){--tw-gradient-from: #111827 var(--tw-gradient-from-position);--tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(:where(.dark) .dark\:from-green-950\/40){--tw-gradient-from: rgb(5 46 22 / .4) var(--tw-gradient-from-position);--tw-gradient-to: rgb(5 46 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(:where(.dark) .dark\:from-pink-950\/40){--tw-gradient-from: rgb(80 7 36 / .4) var(--tw-gradient-from-position);--tw-gradient-to: rgb(80 7 36 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(:where(.dark) .dark\:from-purple-950\/20){--tw-gradient-from: rgb(59 7 100 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 7 100 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(:where(.dark) .dark\:from-purple-950\/40){--tw-gradient-from: rgb(59 7 100 / .4) var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 7 100 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(:where(.dark) .dark\:from-red-950\/20){--tw-gradient-from: rgb(69 10 10 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(69 10 10 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(:where(.dark) .dark\:from-violet-600){--tw-gradient-from: #7c3aed var(--tw-gradient-from-position);--tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(:where(.dark) .dark\:via-gray-800){--tw-gradient-to: rgb(31 41 55 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #1f2937 var(--tw-gradient-via-position), var(--tw-gradient-to)}:is(:where(.dark) .dark\:via-purple-900\/20){--tw-gradient-to: rgb(88 28 135 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(88 28 135 / .2) var(--tw-gradient-via-position), var(--tw-gradient-to)}:is(:where(.dark) .dark\:to-amber-900\/30){--tw-gradient-to: rgb(120 53 15 / .3) var(--tw-gradient-to-position)}:is(:where(.dark) .dark\:to-blue-900\/30){--tw-gradient-to: rgb(30 58 138 / .3) var(--tw-gradient-to-position)}:is(:where(.dark) .dark\:to-blue-950\/10){--tw-gradient-to: rgb(23 37 84 / .1) var(--tw-gradient-to-position)}:is(:where(.dark) .dark\:to-gray-800){--tw-gradient-to: #1f2937 var(--tw-gradient-to-position)}:is(:where(.dark) .dark\:to-gray-900){--tw-gradient-to: #111827 var(--tw-gradient-to-position)}:is(:where(.dark) .dark\:to-green-900\/30){--tw-gradient-to: rgb(20 83 45 / .3) var(--tw-gradient-to-position)}:is(:where(.dark) .dark\:to-pink-900\/20){--tw-gradient-to: rgb(131 24 67 / .2) var(--tw-gradient-to-position)}:is(:where(.dark) .dark\:to-pink-900\/30){--tw-gradient-to: rgb(131 24 67 / .3) var(--tw-gradient-to-position)}:is(:where(.dark) .dark\:to-purple-800){--tw-gradient-to: #6b21a8 var(--tw-gradient-to-position)}:is(:where(.dark) .dark\:to-purple-900\/30){--tw-gradient-to: rgb(88 28 135 / .3) var(--tw-gradient-to-position)}:is(:where(.dark) .dark\:to-purple-950\/10){--tw-gradient-to: rgb(59 7 100 / .1) var(--tw-gradient-to-position)}:is(:where(.dark) .dark\:to-purple-950\/20){--tw-gradient-to: rgb(59 7 100 / .2) var(--tw-gradient-to-position)}:is(:where(.dark) .dark\:to-red-950\/10){--tw-gradient-to: rgb(69 10 10 / .1) var(--tw-gradient-to-position)}:is(:where(.dark) .dark\:text-amber-100){--tw-text-opacity: 1;color:rgb(254 243 199 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-amber-200){--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-amber-300){--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-amber-400){--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-blue-100){--tw-text-opacity: 1;color:rgb(219 234 254 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-blue-200){--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-blue-300){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-blue-400){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-gray-300){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-gray-400){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-gray-700){--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-green-100){--tw-text-opacity: 1;color:rgb(220 252 231 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-green-200){--tw-text-opacity: 1;color:rgb(187 247 208 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-green-300){--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-green-400){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-indigo-400){--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-orange-400){--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-pink-100){--tw-text-opacity: 1;color:rgb(252 231 243 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-pink-200){--tw-text-opacity: 1;color:rgb(251 207 232 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-purple-100){--tw-text-opacity: 1;color:rgb(243 232 255 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-purple-200){--tw-text-opacity: 1;color:rgb(233 213 255 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-purple-300){--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-purple-400){--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-red-100){--tw-text-opacity: 1;color:rgb(254 226 226 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-red-300){--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-red-400){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-white){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-yellow-400){--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}:is(:where(.dark) .dark\:hover\:text-white:hover){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.\[\&\+div\]\:text-xs+div{font-size:.75rem;line-height:1rem}.\[\&\:\:-moz-range-thumb\]\:h-3::-moz-range-thumb{height:.75rem}.\[\&\:\:-moz-range-thumb\]\:w-3::-moz-range-thumb{width:.75rem}.\[\&\:\:-moz-range-thumb\]\:cursor-pointer::-moz-range-thumb{cursor:pointer}.\[\&\:\:-moz-range-thumb\]\:rounded-full::-moz-range-thumb{border-radius:9999px}.\[\&\:\:-moz-range-thumb\]\:border-0::-moz-range-thumb{border-width:0px}.\[\&\:\:-moz-range-thumb\]\:bg-\[\#00ff00\]::-moz-range-thumb{--tw-bg-opacity: 1;background-color:rgb(0 255 0 / var(--tw-bg-opacity))}.\[\&\:\:-moz-range-thumb\]\:bg-gradient-to-br::-moz-range-thumb{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.\[\&\:\:-moz-range-thumb\]\:from-\[var\(--primary\)\]::-moz-range-thumb{--tw-gradient-from: var(--primary) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.\[\&\:\:-moz-range-thumb\]\:to-\[var\(--secondary\)\]::-moz-range-thumb{--tw-gradient-to: var(--secondary) var(--tw-gradient-to-position)}.\[\&\:\:-moz-range-thumb\]\:transition-transform::-moz-range-thumb{-moz-transition-property:transform;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\[\&\:\:-moz-range-thumb\]\:hover\:scale-125:hover::-moz-range-thumb{--tw-scale-x: 1.25;--tw-scale-y: 1.25;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))}.\[\&\:\:-webkit-slider-thumb\]\:h-3::-webkit-slider-thumb{height:.75rem}.\[\&\:\:-webkit-slider-thumb\]\:w-3::-webkit-slider-thumb{width:.75rem}.\[\&\:\:-webkit-slider-thumb\]\:cursor-pointer::-webkit-slider-thumb{cursor:pointer}.\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb{appearance:none}.\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb{border-radius:9999px}.\[\&\:\:-webkit-slider-thumb\]\:bg-\[\#00ff00\]::-webkit-slider-thumb{--tw-bg-opacity: 1;background-color:rgb(0 255 0 / var(--tw-bg-opacity))}.\[\&\:\:-webkit-slider-thumb\]\:bg-gradient-to-br::-webkit-slider-thumb{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.\[\&\:\:-webkit-slider-thumb\]\:from-\[var\(--primary\)\]::-webkit-slider-thumb{--tw-gradient-from: var(--primary) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.\[\&\:\:-webkit-slider-thumb\]\:to-\[var\(--secondary\)\]::-webkit-slider-thumb{--tw-gradient-to: var(--secondary) var(--tw-gradient-to-position)}.\[\&\:\:-webkit-slider-thumb\]\:shadow-\[0_0_6px_rgba\(0\,255\,0\,0\.5\)\]::-webkit-slider-thumb{--tw-shadow: 0 0 6px rgba(0,255,0,.5);--tw-shadow-colored: 0 0 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)}.\[\&\:\:-webkit-slider-thumb\]\:transition-transform::-webkit-slider-thumb{-webkit-transition-property:transform;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\[\&\:\:-webkit-slider-thumb\]\:hover\:scale-125:hover::-webkit-slider-thumb{--tw-scale-x: 1.25;--tw-scale-y: 1.25;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))}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}@font-face{font-family:Proba Pro Regular;src:url(/assets/ProbaPro-Regular-DU1OqWBK.eot);src:url(/assets/ProbaPro-Regular-DU1OqWBK.eot?#iefix) format("embedded-opentype"),url(/assets/ProbaPro-Regular-Dy7jbxMS.woff) format("woff"),url(/assets/ProbaPro-Regular-DU4ZC26A.ttf) format("truetype");font-weight:400;font-style:normal}body,html{margin:0;padding:0;height:100%;width:100%}.artist_name{display:flex;justify-content:center;font-family:Proba Pro Regular;text-shadow:0 0 1em blue,0 0 .2em blue;letter-spacing:1.1em;color:#fff;position:absolute;width:100%;height:115px;top:0;text-align:center;z-index:1;font-style:normal;font-weight:200;font-size:40px;line-height:120px;align-items:center}@media (max-width: 770px){.artist_name{top:25px}}@media (max-width: 500px){.artist_name{top:25px;font-size:30px}}.link{display:flex;justify-content:center;color:#fff;text-decoration:none;margin-left:30px}.link:hover{color:#00f}.buttonBack{position:absolute;top:15vh;left:5vw;z-index:10;font-size:30px;cursor:pointer}.site_link{font-family:Proba Pro Regular;letter-spacing:1.1em;color:#fff;position:absolute;width:100%;top:60px;text-align:center;z-index:1;font-weight:200;font-size:30px;line-height:120px}@media (max-width: 770px){.site_link{top:100px}}@media (max-width: 500px){.site_link{top:100px;font-size:20px}}body::-webkit-scrollbar{width:0px;background-color:gray;opacity:0}body::-webkit-scrollbar-thumb{background:#000;border-radius:0}.App{text-align:center}.App-header{background-color:#282c34;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(10px + 2vmin);color:#fff}.App-link{color:#61dafb}#background-video{height:100%;width:100%;float:left;top:0;padding:none;position:fixed;z-index:0}.player-wrapper{position:relative;padding-top:56.25%}.react-player{position:absolute;top:0;left:0}.container{top:50%!important;transform:translateY(-50%)}.main-container{width:100vw;min-height:100vh;position:relative;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column}.main-container-no-scroll{width:100vw;height:100vh;position:relative;overflow:hidden;display:flex;flex-direction:column;margin:0;padding:0}.bolds-container{position:absolute;inset:0;width:100vw;height:100vh;overflow:hidden;margin:0;padding:0}.bolds-container>*{width:100%!important;height:100%!important}.soundcloud-container{width:100vw;top:30vh;margin:auto;position:absolute;display:flex;justify-content:center;justify-items:center}@media (max-width: 500px){.soundcloud-container{top:23vh}}.buttons_row{display:flex;flex-direction:row;justify-content:space-around;margin-top:6vh}.buttons_row button{background-color:Transparent;color:#fff;border:none;font-weight:700;cursor:pointer}.footer{position:absolute;bottom:25px;left:30px;margin:0 auto 15px;z-index:1;font-family:Proba Pro Regular;text-shadow:0 0 1em blue,0 0 .2em blue;font-weight:200;font-size:20px}.leva-c-kWgxhW{top:40px!important}.container{position:absolute;width:100%;height:70vh;margin-left:auto;margin-right:auto}.container img{height:70vh;margin-left:auto;margin-right:auto}.artwork_title{padding-left:6vw}.artwork_title h4{margin-bottom:0!important;margin-top:2px}h3{color:#fff;font-size:36px;line-height:100px;margin:10px;padding:2%;position:relative;text-align:center}.variable-width .slick-slide p{height:100px;color:#fff;margin:5px;line-height:100px;text-align:center}.center .slick-center h3{color:#e67e22;opacity:1;transform:scale(1.08)}.center h3{opacity:.8;transition:all .3s ease}.content{padding:20px;margin:auto;width:100%}.slick-slide .image{padding:10px}.slick-slide img{display:block;margin:auto;box-shadow:#fff}.slick-slide img.slick-loading{border:0}.slick-slide{padding:0}.slick-slider{margin:30px auto 50px}@media (max-width: 500px){.slick-slider{margin:20px auto 50px}}.slick-dots{margin-left:0}.slick-thumb{bottom:-45px}.slick-thumb li{width:60px;height:45px}.slick-thumb li img{filter:grayscale(100%)}.slick-thumb li.slick-active img{filter:grayscale(0%)}@media (max-width: 768px){h3{font-size:24px}.center{margin-left:-40px;margin-right:-40px}.center .slick-center h3{color:#e67e22;opacity:1;transform:scale(1)}.center h3{opacity:.8;transform:scale(.95);transition:all .3s ease}.artwork_title{top:75vh}}.slick-vertical .slick-slide{height:180px}.slick-arrow{height:40px;filter:drop-shadow(3px 3px 2px blue)}.slick-prev{z-index:100;left:20px!important;top:40%}.slick-next{z-index:100;right:20px!important;top:40%}.base-audio{position:absolute;bottom:60px;left:80px;color:#fff;background-image:url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20viewBox='0%200%20500%20500'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M%20188.101%20125.914%20L%20121.5%20192.5%20L%2045.101%20192.5%20C%2035.175%20192.5%2027.135%20200.539%2027.135%20210.465%20L%2027.135%20318.26%20C%2027.135%20328.179%2035.175%20336.226%2045.101%20336.226%20L%20121.5%20336.226%20L%20188.101%20402.812%20C%20199.352%20414.063%20218.77%20406.158%20218.77%20390.109%20L%20218.77%20138.617%20C%20218.77%20122.553%20199.337%20114.678%20188.101%20125.914%20Z%20M%20362.759%2087.677%20C%20354.397%2082.19%20343.161%2084.503%20337.674%2092.879%20C%20332.179%20101.241%20334.515%20112.477%20342.877%20117.964%20C%20392.485%20150.52%20422.091%20205.248%20422.091%20264.37%20C%20422.091%20323.493%20392.485%20378.221%20342.877%20410.777%20C%20334.515%20416.256%20332.179%20427.5%20337.674%20435.854%20C%20342.944%20443.871%20354.09%20446.753%20362.759%20441.057%20C%20422.585%20401.786%20458.314%20335.725%20458.314%20264.363%20C%20458.314%20193.001%20422.585%20126.947%20362.759%2087.677%20Z%20M%20386.451%20264.363%20C%20386.451%20216.806%20362.452%20173.082%20322.246%20147.405%20C%20313.869%20142.061%20302.76%20144.546%20297.453%20152.99%20C%20292.146%20161.434%20294.623%20172.61%20303%20177.962%20C%20332.756%20196.969%20350.519%20229.262%20350.519%20264.363%20C%20350.519%20299.464%20332.756%20331.757%20303%20350.763%20C%20294.623%20356.108%20292.146%20367.284%20297.453%20375.736%20C%20302.326%20383.491%20313.263%20387.069%20322.246%20381.32%20C%20362.452%20355.644%20386.451%20311.927%20386.451%20264.363%20Z%20M%20280.326%20206.82%20C%20271.657%20202.081%20260.72%20205.203%20255.915%20213.894%20C%20251.131%20222.585%20254.298%20233.507%20262.989%20238.305%20C%20272.653%20243.612%20278.656%20253.606%20278.656%20264.363%20C%20278.656%20275.127%20272.653%20285.113%20262.996%20290.421%20C%20254.305%20295.219%20251.139%20306.141%20255.922%20314.832%20C%20260.735%20323.56%20271.68%20326.659%20280.333%20321.906%20C%20301.465%20310.265%20314.595%20288.22%20314.595%20264.355%20C%20314.595%20240.491%20301.465%20218.453%20280.326%20206.82%20Z'%20style='fill:%20rgba(255,%20255,%20255,%200.8);'/%3e%3c/svg%3e");background-position:center;background-repeat:no-repeat;background-size:contain}.audio-controls{position:absolute;bottom:25px;right:35px;margin:0 auto 15px;z-index:1}.audio-controls .play svg,.audio-controls .pause svg{height:35px;width:35px;filter:drop-shadow(3px 3px 2px blue)}.audio-controls path{fill:#fff}button{background-color:transparent;border:none;cursor:pointer;padding:0}.audio-button{position:fixed;top:10px;left:10px;padding:4px 8px;margin:0;background:#4facfe99;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:#fff;font-size:10px;font-weight:400;border-radius:6px;cursor:pointer;z-index:10000;box-shadow:0 1px 4px #4facfe33;-webkit-user-select:none;user-select:none;border:1px solid rgba(255,255,255,.1);transition:all .2s ease;line-height:1}.audio-button:hover{background:#4facfecc}:root{--leva-colors-elevation1: rgba(20, 20, 30, .98);--leva-colors-elevation2: rgba(30, 30, 40, .95);--leva-colors-elevation3: rgba(40, 40, 50, .95);--leva-colors-accent1: #4facfe;--leva-colors-accent2: #00f2fe;--leva-colors-accent3: #66bb6a;--leva-colors-highlight1: rgba(79, 172, 254, .3);--leva-colors-highlight2: rgba(79, 172, 254, .5);--leva-colors-highlight3: rgba(102, 187, 106, .5);--leva-fonts-mono: "Monaco", "Consolas", monospace;--leva-fontSizes-root: 11px;--leva-sizes-rootWidth: 280px;--leva-shadows-level1: 0 4px 20px rgba(0, 0, 0, .8);--leva-shadows-level2: 0 8px 30px rgba(0, 0, 0, .9)}.leva-c-kWgxhW{-webkit-backdrop-filter:blur(15px)!important;backdrop-filter:blur(15px)!important;border:1px solid rgba(79,172,254,.3)!important;box-shadow:0 4px 20px #000c,0 0 20px #4facfe33!important}.leva-c-kWgxhW-bImGNr-isRoot-true{border-radius:8px!important}.leva-c-guFKIj{color:#ffffffe6!important;font-weight:600!important;text-shadow:0 0 8px rgba(79,172,254,.4)}.leva-c-cKDIjN-egmQWh-variant-RANGE input[type=range]{background:linear-gradient(to right,rgba(79,172,254,.5) 0%,rgba(79,172,254,.5) var(--leva-rangeProgress),rgba(255,255,255,.1) var(--leva-rangeProgress))!important}.leva-c-cKDIjN-egmQWh-variant-RANGE input[type=range]::-webkit-slider-thumb{background:linear-gradient(135deg,#4facfe,#00f2fe)!important;box-shadow:0 0 8px #4facfe99!important}.leva-c-cKDIjN-egmQWh-variant-RANGE input[type=range]::-moz-range-thumb{background:linear-gradient(135deg,#4facfe,#00f2fe)!important;box-shadow:0 0 8px #4facfe99!important}.lofi-canvas-container{position:relative;width:100%;height:calc(100vh - 85px);background-color:#1a1a1a;overflow:hidden}.lofi-canvas{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer}.lofi-controls{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:10px;z-index:10}.lofi-controls button{padding:10px 20px;background-color:#000000b3;color:#fff;border:2px solid #555;border-radius:5px;cursor:pointer;font-family:"Press Start 2P",monospace;font-size:12px;transition:all .3s ease}.lofi-controls button:hover{background-color:#000000e6;border-color:#888;transform:translateY(-2px)}.lofi-controls button:active{transform:translateY(0)}.piano-genie-container{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#0f0f1e);color:#fff;padding:40px 20px;display:flex;flex-direction:column;align-items:center;font-family:Proba Pro Regular,sans-serif}.piano-genie-header{text-align:center;margin-bottom:40px}.piano-genie-header h1{font-size:48px;margin-top:70px;margin-bottom:20px;background:linear-gradient(45deg,#ff6b6b,#ee5a24);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.piano-genie-header p{font-size:18px;color:#999;max-width:600px;margin:0 auto}.instrument-selector{margin-bottom:40px;display:flex;align-items:center;gap:15px;font-size:16px}.instrument-selector label{color:#ccc}.instrument-selector select{background-color:#2a2a3e;color:#fff;border:2px solid #3a3a4e;padding:10px 20px;border-radius:8px;font-size:16px;cursor:pointer;transition:all .3s ease}.instrument-selector select:hover{border-color:#ff6b6b}.genie-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:40px;max-width:600px;width:100%}.genie-button{aspect-ratio:1;min-height:120px;background:linear-gradient(145deg,#2a2a3e,#1f1f2e);border:3px solid #3a3a4e;border-radius:20px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;transition:all .1s ease;position:relative;overflow:hidden}.genie-button:hover{transform:translateY(-2px);border-color:#ff6b6b;box-shadow:0 10px 30px #ff6b6b4d}.genie-button.active{background:linear-gradient(145deg,#ff6b6b,#ee5a24);border-color:#ff6b6b;transform:scale(.95);box-shadow:0 0 40px #ff6b6b99,inset 0 0 20px #fff3}.genie-button.active:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);animation:pulse .5s ease-out}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(0);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:0}}.button-number{font-size:36px;font-weight:700;color:#fff}.button-key{font-size:18px;color:#ccc;text-transform:uppercase;letter-spacing:2px}.genie-button.active .button-number,.genie-button.active .button-key{color:#fff}.status-indicator{font-size:20px;color:#ff6b6b;margin-bottom:40px;height:30px;display:flex;align-items:center;justify-content:center}.instructions li:before{content:"♪";position:absolute;left:0;color:#ff6b6b;font-size:18px}.fm-controls{background:#ffffff0d;padding:30px;border-radius:15px;border:1px solid rgba(255,255,255,.1);margin-bottom:40px;width:100%;max-width:600px}.fm-parameter{display:flex;align-items:center;margin-bottom:20px;gap:15px}.fm-parameter:last-child{margin-bottom:0}.fm-parameter label{min-width:180px;color:#ccc}.fm-slider{flex:1;appearance:none;height:4px;background:#3a3a4e;border-radius:2px;outline:none}.fm-slider::-webkit-slider-thumb{appearance:none;width:20px;height:20px;background:#ff6b6b;border-radius:50%;cursor:pointer;-webkit-transition:all .2s ease;transition:all .2s ease}.fm-slider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 20px #ff6b6b66}.fm-value{min-width:60px;text-align:right;color:#ff6b6b}.controls-container{background:#ffffff0d;padding:25px;border-radius:15px;border:1px solid rgba(255,255,255,.1);margin-bottom:30px;width:100%;max-width:800px}.control-row{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px;align-items:center}.control-row:last-child{margin-bottom:0}.control-group{display:flex;align-items:center;gap:10px}.control-group label{color:#ccc;white-space:nowrap}.control-group select,.control-group input[type=number]{background-color:#2a2a3e;color:#fff;border:2px solid #3a3a4e;padding:8px 15px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s ease}.control-group select:hover,.control-group input[type=number]:hover{border-color:#ff6b6b}.control-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.button-note{font-size:12px;color:#999;margin-top:5px}.genie-button.active .button-note{color:#fff}.sequence-grid{background:#ffffff0d;padding:20px;border-radius:15px;border:1px solid rgba(255,255,255,.1);margin-bottom:40px;overflow-x:auto}.grid-header{display:flex;margin-bottom:10px;margin-left:100px;gap:5px}.grid-step-header{width:30px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#666}.grid-step-header.active{color:#ff6b6b;font-weight:700}.grid-row{display:flex;gap:5px;margin-bottom:5px;align-items:center}.grid-row-header{width:100px;display:flex;flex-direction:column;align-items:flex-start;padding-right:10px;color:#ccc}.grid-row-header .note-name{font-size:12px;color:#999}.grid-cell{width:30px;height:30px;background:#2a2a3e;border:2px solid #3a3a4e;border-radius:5px;cursor:pointer;transition:all .1s ease;padding:0}.grid-cell:hover{border-color:#ff6b6b;transform:scale(1.1)}.grid-cell.active{background:#ff6b6b;border-color:#ff6b6b}.grid-cell.current{box-shadow:0 0 10px #ff6b6bcc;transform:scale(1.1)}.sequencer-button{background:linear-gradient(45deg,#ff6b6b,#ee5a24);border:none;color:#fff;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:700;transition:all .3s ease}.sequencer-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #ff6b6b66}@media (max-width: 768px){.piano-genie-header h1{font-size:36px}.genie-buttons{grid-template-columns:repeat(2,1fr);gap:15px}.genie-button{min-height:100px}.button-number{font-size:28px}.button-key{font-size:14px}.fm-controls{padding:20px}.fm-parameter{flex-direction:column;align-items:stretch;gap:10px}.fm-parameter label{min-width:auto}.fm-value{text-align:left}.controls-container{padding:15px}.control-row,.control-group{flex-direction:column;align-items:stretch}.sequence-grid{padding:10px}.grid-row-header{width:60px;font-size:12px}.grid-cell{width:25px;height:25px}}.ai-duet-container{min-height:100vh;background:linear-gradient(135deg,#0f0f1e,#1a1a2e);color:#fff;padding:40px 20px;display:flex;flex-direction:column;align-items:center;font-family:Proba Pro Regular,sans-serif}.ai-duet-header{text-align:center;margin-bottom:40px}.ai-duet-header h1{font-size:48px;margin-bottom:20px;background:linear-gradient(45deg,#4ecdc4,#44a3aa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ai-duet-header p{font-size:18px;color:#999;max-width:600px;margin:0 auto}.visualization-canvas{width:100%;max-width:800px;height:100px;background:#000;border:2px solid #2a2a3e;border-radius:10px;margin-bottom:30px}.controls{display:flex;gap:30px;align-items:center;margin-bottom:40px;flex-wrap:wrap;justify-content:center}.octave-selector{display:flex;align-items:center;gap:15px;background:#ffffff0d;padding:15px 25px;border-radius:10px;border:1px solid rgba(255,255,255,.1)}.octave-selector label{color:#ccc;font-size:16px}.octave-selector input[type=range]{width:100px}.octave-selector span{color:#4ecdc4;font-size:20px;font-weight:700;min-width:20px;text-align:center}.ai-respond-button{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;border:none;padding:15px 30px;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.ai-respond-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px #ff6b6b4d}.ai-respond-button:disabled{opacity:.5;cursor:not-allowed}.ai-respond-button.responding{background:linear-gradient(135deg,#4ecdc4,#44a3aa);animation:pulse 1s ease-in-out infinite}.piano-container{width:100%;max-width:1000px;overflow-x:auto;margin-bottom:40px;padding:20px;background:#0000004d;border-radius:15px}.piano{display:flex;justify-content:center;position:relative;min-width:600px}.octave{display:flex;position:relative}.piano-key{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .1s ease}.piano-key.white{width:40px;height:150px;background:#fff;border:1px solid #ccc;border-radius:0 0 5px 5px;margin:0 1px}.piano-key.white:hover{background:#f0f0f0}.piano-key.white.active{background:#4ecdc4;transform:translateY(2px)}.piano-key.black{width:30px;height:100px;background:#222;border-radius:0 0 3px 3px;position:absolute;z-index:2}.piano-key.black:nth-child(2){left:30px}.piano-key.black:nth-child(4){left:75px}.piano-key.black:nth-child(7){left:165px}.piano-key.black:nth-child(9){left:210px}.piano-key.black:nth-child(11){left:255px}.piano-key.black:hover{background:#333}.piano-key.black.active{background:#ff6b6b;transform:translateY(2px)}.key-label{position:absolute;bottom:10px;left:50%;transform:translate(-50%);font-size:12px;color:#666;pointer-events:none}.keyboard-guide{background:#ffffff0d;padding:20px;border-radius:10px;border:1px solid rgba(255,255,255,.1);margin-bottom:30px;text-align:center}.keyboard-guide h3{margin:0 0 15px;color:#4ecdc4;font-size:18px}.key-mapping{display:flex;flex-direction:column;gap:10px;font-size:14px;color:#ccc}.status{font-size:20px;color:#4ecdc4;text-align:center;margin-top:20px}@media (max-width: 768px){.ai-duet-header h1{font-size:36px}.piano-key.white{width:35px;height:120px}.piano-key.black{width:25px;height:80px}.controls{flex-direction:column}}.drumbot-container{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;padding:40px 20px;display:flex;flex-direction:column;align-items:center;font-family:Proba Pro Regular,sans-serif}.drumbot-header{text-align:center;margin-bottom:40px}.drumbot-header h1{font-size:48px;margin-bottom:20px;background:linear-gradient(45deg,#ffe66d,#ff6b6b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.drumbot-header p{font-size:18px;color:#999}.controls{display:flex;gap:20px;align-items:center;margin-bottom:40px;flex-wrap:wrap;justify-content:center;background:#0000004d;padding:20px;border-radius:15px;border:1px solid rgba(255,255,255,.1)}.play-button,.record-button{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#2a2a3e,#1f1f2e);border:3px solid #FFE66D;color:#ffe66d;font-size:24px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.play-button:hover{transform:scale(1.1);box-shadow:0 0 20px #ffe66d80}.play-button.playing{background:linear-gradient(135deg,#ffe66d,#ff6b6b);color:#1a1a2e;animation:pulse 2s ease-in-out infinite}.record-button:hover{transform:scale(1.1);box-shadow:0 0 20px #ff6b6b80}.record-button.recording{background:linear-gradient(135deg,#f44,#c00);color:#fff;animation:pulse 1s ease-in-out infinite}.control-group{display:flex;align-items:center;gap:10px;background:#ffffff0d;padding:10px 20px;border-radius:10px}.control-group label{color:#ccc;font-size:14px;min-width:80px}.control-group input[type=range]{width:100px}.control-group span{color:#ffe66d;font-weight:700;min-width:30px}.control-group select{background:#2a2a3e;color:#fff;border:1px solid #3a3a4e;padding:5px 10px;border-radius:5px;cursor:pointer}.generate-button{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;border:none;padding:12px 24px;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;text-transform:uppercase}.generate-button:hover{transform:translateY(-2px);box-shadow:0 10px 30px #ff6b6b4d}.drum-grid{display:flex;gap:10px;background:#00000080;padding:20px;border-radius:15px;margin-bottom:40px;overflow-x:auto;max-width:90vw}.drum-labels{display:flex;flex-direction:column;gap:5px;margin-right:10px}.drum-label{height:30px;display:flex;align-items:center;font-size:12px;color:#ccc;text-transform:uppercase;min-width:100px;padding-right:10px}.grid-container{display:flex;flex-direction:column}.drum-step{width:25px;height:30px;background:#2a2a3e;border:1px solid #3a3a4e;cursor:pointer;transition:all .1s ease;position:relative}.drum-step.beat{border-color:#4a4a5e}.drum-step:hover{background:#3a3a4e;transform:scale(1.1)}.drum-step.active{background:#ffe66d;border-color:#ffe66d;box-shadow:0 0 10px #ffe66d80}.drum-step.active.playing{background:#ff6b6b;animation:flash .2s ease}.drum-step.playing:not(.active){border-color:#ff6b6b;box-shadow:inset 0 0 10px #ff6b6b80}@keyframes flash{0%{transform:scale(1.2)}to{transform:scale(1)}}.info{background:#ffffff0d;padding:30px;border-radius:15px;border:1px solid rgba(255,255,255,.1);max-width:600px}.info h3{margin:0 0 20px;color:#ffe66d;font-size:20px}.info li{margin-bottom:10px;padding-left:25px;position:relative;color:#ccc;line-height:1.6}.info li:before{content:"🥁";position:absolute;left:0}.export-controls{background:#0000004d;padding:20px;border-radius:15px;border:1px solid rgba(255,255,255,.1);margin-bottom:40px;text-align:center}.export-controls h3{margin:0 0 15px;color:#ffe66d;font-size:20px}.export-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:15px}.export-button{background:linear-gradient(135deg,#2a2a3e,#1f1f2e);color:#ffe66d;border:2px solid #FFE66D;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s ease;text-transform:uppercase}.export-button:hover:not(:disabled){background:linear-gradient(135deg,#ffe66d,#ff6b6b);color:#1a1a2e;transform:translateY(-2px);box-shadow:0 5px 20px #ffe66d4d}.export-button:disabled{opacity:.5;cursor:not-allowed}.recording-indicator{color:#f44;font-weight:700;animation:blink 1s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.drumbot-header h1{font-size:36px}.controls{flex-direction:column}.drum-step{width:20px;height:25px}.drum-label{font-size:10px;min-width:80px}}.performance-rnn-container{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#0f0f1e);color:#fff;padding:40px 20px;display:flex;flex-direction:column;align-items:center;font-family:Proba Pro Regular,sans-serif}.performance-header{text-align:center;margin-bottom:40px}.performance-header h1{font-size:48px;margin-bottom:20px;background:linear-gradient(45deg,#b794f6,#e9d8fd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.performance-header p{font-size:18px;color:#999}.performance-visualizer{width:100%;max-width:800px;height:200px;background:#000000b3;border:1px solid rgba(183,148,246,.3);border-radius:15px;margin-bottom:30px;box-shadow:0 10px 30px #00000080}.controls{width:100%;max-width:800px;background:#0000004d;padding:30px;border-radius:15px;border:1px solid rgba(255,255,255,.1);margin-bottom:40px}.control-row{display:flex;gap:30px;align-items:flex-end;margin-bottom:25px;flex-wrap:wrap;justify-content:center}.control-group{display:flex;flex-direction:column;gap:10px;min-width:150px}.control-group label{color:#ccc;font-size:14px;text-transform:uppercase;letter-spacing:1px}.control-group input[type=range]{width:100%;height:6px;background:#ffffff1a;border-radius:3px;outline:none;-webkit-appearance:none}.control-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:#b794f6;border-radius:50%;cursor:pointer;-webkit-transition:all .2s ease;transition:all .2s ease}.control-group input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 15px #b794f699}.control-group span{color:#b794f6;font-weight:700;font-size:14px}.control-group select{background:#2a2a3e;color:#fff;border:1px solid #3a3a4e;padding:8px 15px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s ease}.control-group select:hover{border-color:#b794f6;background:#323244}.button-row{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.generate-button{background:linear-gradient(135deg,#b794f6,#9f7aea);color:#fff;border:none;padding:15px 30px;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 5px 20px #b794f64d}.generate-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px #b794f680}.generate-button.generating{background:linear-gradient(135deg,#6b6b6b,#4a4a4a);cursor:not-allowed;animation:pulse 2s ease-in-out infinite}.play-button,.stop-button,.export-button{background:#ffffff1a;color:#fff;border:2px solid #b794f6;padding:12px 24px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s ease;text-transform:uppercase}.play-button:hover,.stop-button:hover,.export-button:hover{background:#b794f633;transform:translateY(-2px);box-shadow:0 5px 20px #b794f64d}.stop-button{border-color:#ff6b6b;color:#ff6b6b}.stop-button:hover{background:#ff6b6b33;box-shadow:0 5px 20px #ff6b6b4d}.export-button{border-color:#4ecdc4;color:#4ecdc4}.export-button:hover{background:#4ecdc433;box-shadow:0 5px 20px #4ecdc44d}.info-section{background:#ffffff0d;padding:40px;border-radius:15px;border:1px solid rgba(255,255,255,.1);max-width:800px;width:100%}.info-section h3{margin:0 0 25px;color:#b794f6;font-size:24px}.info-section p{color:#ccc;line-height:1.8;margin-bottom:20px}.info-section li{margin-bottom:15px;padding-left:30px;position:relative;color:#ccc;line-height:1.8}.info-section li:before{content:"🎹";position:absolute;left:0}.info-section strong{color:#b794f6}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@media (max-width: 768px){.performance-header h1{font-size:36px}.control-row{flex-direction:column;align-items:stretch}.control-group{width:100%}.button-row{flex-direction:column}.generate-button,.play-button,.stop-button,.export-button{width:100%}.performance-visualizer{height:150px}}.fm-synthesizer{min-height:100vh;background:linear-gradient(135deg,#1a0033,#306);color:#fff;padding:40px 20px;display:flex;flex-direction:column;align-items:center;font-family:Proba Pro Regular,sans-serif}.fm-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;font-size:24px;color:#666}.fm-header{text-align:center;margin-bottom:40px}.fm-header h1{font-size:48px;margin-bottom:20px;background:linear-gradient(45deg,#ff6ec7,#c873f4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.fm-header p{font-size:18px;color:#999}.fm-controls{background:#0000004d;padding:40px;border-radius:20px;border:1px solid rgba(255,255,255,.1);margin-bottom:40px;max-width:600px;width:100%}.fm-play-button{width:120px;height:50px;background:linear-gradient(135deg,#ff6ec7,#c873f4);border:none;color:#fff;font-size:18px;font-weight:700;border-radius:25px;cursor:pointer;transition:all .3s ease;margin-bottom:30px;text-transform:uppercase}.fm-play-button:hover{transform:translateY(-2px);box-shadow:0 10px 30px #ff6ec766}.fm-play-button.playing{background:linear-gradient(135deg,#f44,#c00)}.fm-parameters{display:flex;flex-direction:column;gap:25px}.fm-parameter{display:flex;flex-direction:column;gap:10px}.fm-parameter label{font-size:14px;color:#ccc;text-transform:uppercase;letter-spacing:1px}.fm-slider{height:8px;background:#ffffff1a;border-radius:4px;position:relative}.fm-track{background:linear-gradient(to right,#ff6ec7,#c873f4);height:8px;border-radius:4px}.fm-thumb{width:20px;height:20px;background:#fff;border-radius:50%;cursor:pointer;box-shadow:0 2px 10px #0000004d;transition:all .2s ease}.fm-thumb:hover{transform:scale(1.2);box-shadow:0 0 20px #ff6ec799}.fm-value{color:#ff6ec7;font-weight:700;font-size:14px;min-width:60px;text-align:right}.fm-info{background:#ffffff0d;padding:30px;border-radius:15px;border:1px solid rgba(255,255,255,.1);max-width:600px;width:100%}.fm-info h3{margin:0 0 20px;color:#ff6ec7;font-size:24px}.fm-info p{color:#ccc;line-height:1.8;margin-bottom:20px}.fm-info ul{list-style:none;padding:0}.fm-info li{margin-bottom:15px;padding-left:25px;position:relative;color:#ccc;line-height:1.6}.fm-info li:before{content:"🎛️";position:absolute;left:0}.fm-info strong{color:#ff6ec7}.fm-oscilloscope{width:100%;margin-bottom:30px;background:#00000080;padding:20px;border-radius:15px;border:1px solid rgba(255,255,255,.1);display:flex;justify-content:center;align-items:center}.fm-oscilloscope-canvas{width:100%;max-width:600px;height:200px;min-height:200px;background:#0a0a0a;border-radius:10px;border:1px solid #333;display:block}@media (max-width: 768px){.fm-header h1{font-size:36px}.fm-controls{padding:20px}.fm-play-button{width:100%}}.neural-drum-machine{max-width:1200px;margin:40px auto 0;padding:2rem;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);border-radius:20px;box-shadow:0 20px 60px #00000080}.header{text-align:center;margin-bottom:3rem}.header h1{font-size:3rem;margin-bottom:.5rem;background:linear-gradient(45deg,#ff6b6b,#ff8787);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header p{color:#999;font-size:1.2rem}.loading-drums{display:flex;flex-direction:column;align-items:center;justify-content:start;min-height:80vh;text-align:center}.controls{display:flex;gap:2rem;align-items:center;margin-bottom:2rem;padding:1.5rem;background:#0000004d;border-radius:15px;flex-wrap:wrap}.play-button{width:60px;height:60px;border-radius:50%;border:none;background:linear-gradient(135deg,#ff6b6b,#ff8787);color:#fff;font-size:1.5rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ff6b6b4d}.play-button.playing{background:linear-gradient(135deg,#ffd93d,#ffed4b);animation:pulse 1s infinite}@keyframes pulse{0%{box-shadow:0 4px 15px #ffd93d4d}50%{box-shadow:0 4px 25px #ffd93d80}to{box-shadow:0 4px 15px #ffd93d4d}}.control-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#ff6b6b;border-radius:50%;cursor:pointer}.control-group span{color:#ff6b6b;font-weight:700}.control-group select{background:#333;border:1px solid #444;color:#fff;padding:.5rem;border-radius:5px;font-size:1rem;cursor:pointer}.generate-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#4ecdc4,#44a3aa);border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.generate-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4ecdc466}.drum-selector{margin-bottom:2rem;text-align:center}.drum-selector h3{color:#999;margin-bottom:1rem}.drum-buttons{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.drum-select-button{padding:.5rem 1rem;background:#333;border:2px solid #444;border-radius:20px;color:#666;font-size:.9rem;cursor:pointer;transition:all .3s ease}.drum-select-button.selected{background:#ff6b6b;border-color:#ff6b6b;color:#fff}.drum-select-button:hover{border-color:#ff6b6b;color:#ff6b6b}.drum-grid{display:flex;gap:1rem;margin-bottom:2rem;background:#0003;padding:1rem;border-radius:10px;overflow-x:auto}.drum-labels{display:flex;flex-direction:column;gap:4px;min-width:100px}.drum-label{height:30px;display:flex;align-items:center;padding:0 .5rem;font-size:.8rem;color:#666;background:#ffffff0d;border-radius:5px;cursor:pointer;transition:all .3s ease;white-space:nowrap}.drum-label.selected{color:#ff6b6b;background:#ff6b6b1a;font-weight:700}.drum-label:hover{background:#ff6b6b1a}.grid-container{display:flex;flex-direction:column;gap:4px;flex:1}.drum-row{display:flex;gap:2px}.drum-step{width:25px;height:30px;background:#ffffff0d;border-radius:4px;cursor:pointer;transition:all .2s ease;position:relative}.drum-step.beat{background:#ffffff14}.drum-step.active{background:#ff6b6b;box-shadow:0 2px 10px #ff6b6b66}.drum-step.playing{background:#ffd93d!important;animation:stepPulse .2s ease}.drum-step.disabled{opacity:.3;cursor:not-allowed}@keyframes stepPulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.info h3{color:#ff6b6b;margin-bottom:1rem}.info li:before{content:"▸";position:absolute;left:0;color:#ff6b6b}.kick-settings,.clap-settings{background-color:#1a1a1a;padding:1rem;border-radius:8px;margin-top:1rem;margin-bottom:1rem;border:1px solid #333}.kick-settings h3{margin-top:0;margin-bottom:1rem;color:#ff6b6b}.clap-settings h3{margin-top:0;margin-bottom:1rem;color:#66bb6a}.synthesis-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.control-group .help-text{font-size:.8rem;color:#888}.control-group .reset-button{padding:.5rem 1rem;background-color:#555;color:#fff;border:none;border-radius:4px;cursor:pointer}.control-group .reset-button:hover{background-color:#666}.control-group .export-button{margin-left:.5rem;padding:.25rem .5rem;font-size:.8rem;background-color:#555;color:#fff;border:none;border-radius:4px;cursor:pointer}.control-group .export-button:hover{background-color:#666}.nsynth-container{max-width:1200px;margin:0 auto;padding:2rem;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);border-radius:20px;box-shadow:0 20px 60px #00000080}.nsynth-header{text-align:center;margin-bottom:3rem}.nsynth-header h1{font-size:3rem;margin-bottom:.5rem;background:linear-gradient(45deg,#c7ceea,#b794f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.nsynth-header p{color:#999;font-size:1.2rem}.instrument-selectors{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:center;margin-bottom:2rem}.instrument-selector{display:flex;flex-direction:column;gap:.5rem}.instrument-selector label{font-size:.9rem;color:#999;text-transform:uppercase;letter-spacing:1px}.instrument-selector select{background:#333;border:1px solid #444;color:#fff;padding:.75rem;border-radius:8px;font-size:1rem;cursor:pointer}.instrument-selector select:hover{border-color:#666}.morph-control{display:flex;flex-direction:column;gap:.5rem;align-items:center}.morph-control label{font-size:.9rem;color:#999;text-transform:uppercase;letter-spacing:1px}.morph-control input[type=range]{width:200px;height:8px;background:#333;border-radius:4px;outline:none;-webkit-appearance:none}.morph-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:#b794f6;border-radius:50%;cursor:pointer;box-shadow:0 2px 10px #b794f666}.morph-control span{color:#b794f6;font-weight:700;font-size:1.1rem}.morph-visualizer{margin-bottom:2rem}.morph-gradient{height:60px;border-radius:30px;position:relative;overflow:hidden;box-shadow:inset 0 2px 10px #0000004d}.morph-indicator{position:absolute;top:50%;transform:translate(-50%,-50%);width:30px;height:30px;background:#fff;border-radius:50%;box-shadow:0 4px 15px #00000080;transition:left .1s ease}.morph-labels{display:flex;justify-content:space-between;margin-top:.5rem;color:#999;font-size:.9rem}.note-controls{display:flex;gap:2rem;align-items:center;justify-content:center;flex-wrap:wrap}.control-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#c7ceea;border-radius:50%;cursor:pointer}.control-group span{color:#c7ceea;font-weight:700}.play-button{padding:.75rem 2rem;background:linear-gradient(135deg,#b794f6,#c7ceea);border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #b794f64d}.play-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #b794f666}.play-button:active{transform:translateY(0)}.keyboard{position:relative;height:150px;margin:2rem auto;background:#0003;border-radius:10px;padding:1rem;overflow-x:auto}.white-keys{display:flex;gap:2px;height:100%}.black-keys{position:absolute;top:1rem;left:1rem;height:60%}.key{border:none;cursor:pointer;transition:all .1s ease}.white-key{width:40px;background:#fff;border-radius:0 0 4px 4px;box-shadow:0 2px 5px #0000004d;color:#333;font-size:.8rem;display:flex;align-items:flex-end;justify-content:center;padding-bottom:.5rem}.white-key:hover{background:#f0f0f0}.white-key.active{background:#c7ceea;transform:translateY(2px);box-shadow:0 1px 3px #0000004d}.black-key{position:absolute;width:25px;background:#222;border-radius:0 0 3px 3px;box-shadow:0 2px 5px #00000080}.black-key:hover{background:#333}.black-key.active{background:#b794f6;transform:translateY(2px);box-shadow:0 1px 3px #00000080}.info h3{color:#c7ceea;margin-bottom:1rem}.info li:before{content:"▸";position:absolute;left:0;color:#c7ceea}@media (max-width: 768px){.instrument-selectors{grid-template-columns:1fr;gap:1rem}.morph-control input[type=range]{width:100%}.keyboard{overflow-x:scroll}}.melody-mixer-container{max-width:1400px;margin:0 auto;padding:2rem;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);border-radius:20px;box-shadow:0 20px 60px #00000080}.melody-mixer-header{text-align:center;margin-bottom:3rem}.melody-mixer-header h1{font-size:3rem;margin-bottom:.5rem;background:linear-gradient(45deg,#ffdab9,#ffb6c1);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.melody-mixer-header p{color:#999;font-size:1.2rem}.loading{text-align:center;padding:3rem;font-size:1.2rem;color:#666}.controls{display:flex;gap:2rem;align-items:center;justify-content:center;margin-bottom:3rem;padding:2rem;background:#0000004d;border-radius:15px;flex-wrap:wrap}.mix-control{display:flex;flex-direction:column;gap:1rem;align-items:center}.mix-control label{font-size:1.1rem;color:#999;text-transform:uppercase;letter-spacing:1px}.mix-slider-container{display:flex;align-items:center;gap:1rem}.mix-slider-container span{color:#666;font-size:.9rem}.mix-slider-container input[type=range]{width:200px;height:8px;background:#333;border-radius:4px;outline:none;-webkit-appearance:none}.mix-slider-container input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;background:linear-gradient(135deg,#ff6b6b,#4ecdc4);border-radius:50%;cursor:pointer;box-shadow:0 2px 10px #00000080}.mix-value{font-size:1.5rem;font-weight:700;background:linear-gradient(45deg,#ffdab9,#ffb6c1);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.control-group{display:flex;flex-direction:column;gap:.5rem;align-items:center}.control-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#ffdab9;border-radius:50%;cursor:pointer}.control-group span{color:#ffdab9;font-weight:700}.melodies-container{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;margin-bottom:2rem}.melody-section{background:#0003;padding:1.5rem;border-radius:10px}.melody-section.interpolated{background:#b794f61a;border:2px solid rgba(183,148,246,.3)}.piano-roll{margin-bottom:1rem}.piano-roll h3{margin-bottom:1rem;text-align:center}.roll-container{display:flex;gap:.5rem;margin-bottom:1rem;background:#0000004d;padding:.5rem;border-radius:8px;overflow-x:auto}.pitch-labels{display:flex;flex-direction:column;gap:2px}.pitch-label{height:20px;font-size:.7rem;color:#666;display:flex;align-items:center;padding-right:.5rem;min-width:40px}.notes-grid{display:flex;flex-direction:column;gap:2px;flex:1}.note-row{display:flex;gap:1px}.note-cell{width:15px;height:20px;background:#ffffff0d;border-radius:2px;transition:all .2s ease}.note-cell.active{box-shadow:0 0 10px #ffffff4d}.note-cell.playing{background:#ffd93d!important;animation:notePulse .2s ease}@keyframes notePulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.play-melody-button{width:100%;padding:.75rem;border:none;border-radius:8px;color:#fff;font-weight:700;cursor:pointer;transition:all .3s ease}.play-melody-button:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000004d}.play-melody-button:disabled{opacity:.5;cursor:not-allowed}.melody-controls{display:flex;gap:.5rem;margin-top:1rem}.melody-controls select,.melody-controls button{flex:1;padding:.5rem;background:#333;border:1px solid #444;color:#fff;border-radius:5px;cursor:pointer;transition:all .3s ease}.melody-controls select:hover,.melody-controls button:hover{border-color:#666}.melody-controls button:disabled{opacity:.5;cursor:not-allowed}.generating{text-align:center;padding:1rem;color:#b794f6;font-style:italic;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.info h3{color:#ffdab9;margin-bottom:1rem}.info li:before{content:"▸";position:absolute;left:0;color:#ffdab9}@media (max-width: 1200px){.melodies-container{grid-template-columns:1fr;gap:1rem}.melody-section.interpolated{order:-1}}@media (max-width: 768px){.controls{flex-direction:column;gap:1rem}.mix-slider-container input[type=range]{width:150px}}.color-theremin-container{max-width:1200px;margin:0 auto;padding:2rem;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);border-radius:20px;box-shadow:0 20px 60px #00000080}.color-theremin-header{text-align:center;margin-bottom:3rem}.color-theremin-header h1{font-size:3rem;margin-bottom:.5rem;background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#ffe66d,#b794f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:colorShift 5s ease-in-out infinite}@keyframes colorShift{0%,to{filter:hue-rotate(0deg)}50%{filter:hue-rotate(180deg)}}.color-theremin-header p{color:#999;font-size:1.2rem}.controls{display:flex;gap:2rem;align-items:center;margin-bottom:2rem;padding:1.5rem;background:#0000004d;border-radius:15px;flex-wrap:wrap;justify-content:center}.play-button{width:60px;height:60px;border-radius:50%;border:none;background:linear-gradient(135deg,#ff6b6b,#4ecdc4);color:#fff;font-size:1.5rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ff6b6b4d}.play-button:hover{transform:scale(1.05);box-shadow:0 6px 20px #ff6b6b66}.play-button.playing{background:linear-gradient(135deg,#4ecdc4,#b794f6);animation:pulse 1s infinite}.mode-selector{display:flex;flex-direction:column;gap:.5rem}.mode-selector label{font-size:.9rem;color:#999;text-transform:uppercase;letter-spacing:1px}.mode-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.mode-button{padding:.5rem 1rem;background:transparent;border:2px solid;border-radius:20px;color:#fff;font-size:.9rem;cursor:pointer;transition:all .3s ease}.mode-button:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000004d}.mode-button.active{color:#fff;transform:translateY(-2px);box-shadow:0 4px 15px #0000004d}.control-group input[type=range]{width:120px;height:6px;background:#333;border-radius:3px;outline:none;-webkit-appearance:none}.control-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:linear-gradient(135deg,#ff6b6b,#4ecdc4);border-radius:50%;cursor:pointer}.control-group span{color:#4ecdc4;font-weight:700}.canvas-container{width:100%;height:400px;border-radius:15px;overflow:hidden;box-shadow:0 10px 40px #00000080;margin-bottom:2rem;cursor:crosshair;position:relative}.color-display{display:flex;align-items:center;gap:2rem;justify-content:center;margin-bottom:2rem;padding:1rem;background:#0000004d;border-radius:10px}.color-preview{width:80px;height:80px;border-radius:50%;box-shadow:0 4px 20px #00000080;transition:background-color .1s ease}.color-values{display:flex;gap:2rem}.color-values span{font-family:monospace;font-size:1.1rem;padding:.5rem 1rem;background:#00000080;border-radius:5px}.color-r{color:#ff6b6b}.color-g{color:#4ecdc4}.color-b{color:#ffe66d}.mode-info{text-align:center;margin-bottom:2rem;padding:1rem;background:#0003;border-radius:10px}.mode-info h3{color:#4ecdc4;margin-bottom:.5rem}.mode-info p{color:#999}.info{background:#0000004d;padding:1.5rem;border-radius:10px;margin-top:2rem}.info h3{background:linear-gradient(45deg,#ff6b6b,#4ecdc4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1rem}.info li:before{content:"▸";position:absolute;left:0;background:linear-gradient(45deg,#ff6b6b,#4ecdc4);-webkit-background-clip:text;-webkit-text-fill-color:transparent}@media (max-width: 768px){.controls{flex-direction:column;gap:1rem}.mode-buttons{justify-content:center}.canvas-container{height:300px}.color-display{flex-direction:column;gap:1rem}.color-values{gap:1rem}}.midi-bouncing-ball-container{max-width:1200px;margin:0 auto;padding:2rem;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);border-radius:20px;box-shadow:0 20px 60px #00000080}.midi-bouncing-ball-header{text-align:center;margin-bottom:2rem}.midi-bouncing-ball-header h1{font-size:3rem;margin-bottom:.5rem;background:linear-gradient(45deg,#b794f6,#9f7aea);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.midi-bouncing-ball-header p{color:#999;font-size:1.2rem}.canvas-container{width:100%;height:400px;border-radius:15px;overflow:hidden;box-shadow:0 10px 40px #00000080;margin-bottom:2rem;position:relative}.canvas-container canvas{display:block}.controls{background:#0000004d;padding:2rem;border-radius:15px;margin-bottom:2rem}.transport-controls{display:flex;gap:2rem;align-items:center;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1)}.play-button{width:60px;height:60px;border-radius:50%;border:none;background:linear-gradient(135deg,#b794f6,#9f7aea);color:#fff;font-size:1.5rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #b794f64d}.play-button:hover{transform:scale(1.05);box-shadow:0 6px 20px #b794f666}.play-button.playing{background:linear-gradient(135deg,#4ecdc4,#44a3aa);animation:pulse 1s infinite}@keyframes pulse{0%{box-shadow:0 4px 15px #4ecdc44d}50%{box-shadow:0 4px 25px #4ecdc480}to{box-shadow:0 4px 15px #4ecdc44d}}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-group label{font-size:.9rem;color:#999;text-transform:uppercase;letter-spacing:1px}.control-group input[type=range]{width:150px;height:6px;background:#333;border-radius:3px;outline:none;-webkit-appearance:none}.control-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#b794f6;border-radius:50%;cursor:pointer}.control-group span{color:#b794f6;font-weight:700}.sequencer-section{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.melody-controls,.rhythm-controls{background:#0003;padding:1.5rem;border-radius:10px}.melody-controls h3,.rhythm-controls h3{color:#b794f6;margin-bottom:1rem;text-align:center}.step-sliders{display:flex;gap:1rem;justify-content:center;align-items:flex-end;height:200px;margin-bottom:1rem}.step-control{display:flex;flex-direction:column;align-items:center;gap:.5rem}.vertical-slider{writing-mode:bt-lr;-webkit-appearance:slider-vertical;width:30px;height:150px;background:transparent;outline:none}.step-label{color:#666;font-size:.9rem}.rhythm-buttons{display:flex;gap:.5rem;justify-content:center;margin-bottom:1rem}.rhythm-button{width:50px;height:50px;border:2px solid #444;background:transparent;color:#666;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:700}.rhythm-button:hover{border-color:#b794f6;color:#b794f6}.rhythm-button.active{background:#b794f6;border-color:#b794f6;color:#fff}.rhythm-button.playing{animation:rhythmPulse .2s ease}@keyframes rhythmPulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.section-controls{display:flex;gap:1rem;align-items:center;justify-content:space-between;margin-top:1rem}.section-controls button{padding:.5rem 1rem;background:#333;border:1px solid #444;color:#fff;border-radius:5px;cursor:pointer;transition:all .3s ease}.section-controls button:hover{background:#444;border-color:#b794f6}.volume-control{display:flex;align-items:center;gap:.5rem}.volume-control label{font-size:.8rem;color:#999}.volume-control input[type=range]{width:100px;height:4px;background:#333;border-radius:2px;outline:none;-webkit-appearance:none}.volume-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#b794f6;border-radius:50%;cursor:pointer}.info{background:#0000004d;padding:1.5rem;border-radius:10px}.info h3{color:#b794f6;margin-bottom:1rem}.info li{color:#999;margin-bottom:.5rem;padding-left:1.5rem;position:relative}.info li:before{content:"▸";position:absolute;left:0;color:#b794f6}@media (max-width: 768px){.sequencer-section{grid-template-columns:1fr;gap:1rem}.transport-controls{flex-direction:column;gap:1rem}}.runn-container{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#0f0f1e);color:#fff;padding:40px 20px;display:flex;flex-direction:column;align-items:center;font-family:Proba Pro Regular,sans-serif}.runn-header{text-align:center;margin-bottom:40px}.runn-header h1{font-size:48px;margin-bottom:20px;background:linear-gradient(45deg,#ff6b6b,#ee5a24);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.runn-header p{font-size:18px;color:#999;max-width:600px;margin:0 auto}.loading{font-size:24px;color:#666;margin-top:100px}.game-stats{display:flex;gap:40px;margin-bottom:20px;font-size:24px}.score{color:#ff6b6b}.high-score{color:#ffd93d}canvas{background:#ffffff0d;cursor:pointer}.game-controls{margin-bottom:40px}.start-button{background:linear-gradient(45deg,#ff6b6b,#ee5a24);border:none;border-radius:8px;color:#fff;font-size:18px;padding:12px 30px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.start-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px #ff6b6b4d}.start-button:active{transform:translateY(0)}.instructions{max-width:600px;background:#ffffff0d;padding:30px;border-radius:15px;border:1px solid rgba(255,255,255,.1)}.instructions h3{font-size:24px;margin-bottom:20px;color:#ff6b6b}.instructions ul{list-style:none;padding:0}.instructions li{margin-bottom:15px;padding-left:25px;position:relative;line-height:1.6;color:#ccc}.instructions li:before{content:"→";position:absolute;left:0;color:#ff6b6b}@media (max-width: 768px){.runn-header h1{font-size:36px}.game-stats{font-size:20px;gap:20px}canvas{width:100%;height:auto}.instructions{padding:20px}}.techno-generator-wrapper{background:linear-gradient(135deg,#0a0a0a,#1a1a1a);color:#00ff41;min-height:100vh;padding:20px 0 50px;font-family:Courier New,monospace;overflow-y:auto}.techno-generator-wrapper *{margin:0;padding:0;box-sizing:border-box}.techno-generator-wrapper .container{width:90%;max-width:1040px;margin:70px auto 0;padding:20px;min-height:auto;height:auto;position:relative!important;top:auto!important;transform:none!important;-ms-transform:none!important}.techno-generator-wrapper h1{text-align:center;font-size:2.5em;margin-bottom:30px;text-shadow:0 0 20px #00ff41;letter-spacing:.1em}.techno-generator-wrapper h2{font-size:1.2em;margin-bottom:15px;color:#00ff41}.techno-generator-wrapper .controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:20px;background:#00ff410d;border:1px solid #00ff41}.techno-generator-wrapper .tempo-control{display:flex;align-items:center;gap:15px}.techno-generator-wrapper .transport{display:flex;gap:10px}.techno-generator-wrapper .btn{padding:10px 20px;background:transparent;border:1px solid #00ff41;color:#00ff41;cursor:pointer;font-family:Courier New,monospace;text-transform:uppercase;transition:all .3s}.techno-generator-wrapper .btn:hover{background:#00ff41;color:#0a0a0a;box-shadow:0 0 10px #00ff41}.techno-generator-wrapper .btn.active{background:#00ff41;color:#0a0a0a}.techno-generator-wrapper .btn:disabled{opacity:.5;cursor:not-allowed}.techno-generator-wrapper .btn:disabled:hover{background:transparent;color:#00ff41;box-shadow:none}.techno-generator-wrapper .btn.record.recording{background:red;border-color:red;animation:pulse 1s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.techno-generator-wrapper .sequencer{margin-bottom:30px;padding:20px;background:#00ff410d;border:1px solid #00ff41}.techno-generator-wrapper .sequencer-tracks{width:100%}.techno-generator-wrapper .track{display:flex;align-items:center;margin-bottom:10px;gap:10px}.techno-generator-wrapper .track-label{width:80px;min-width:80px;font-size:.9em;flex-shrink:0}.techno-generator-wrapper .steps{display:flex;gap:5px;flex-wrap:nowrap;overflow-x:auto}.techno-generator-wrapper .step{width:30px;min-width:30px;height:30px;background:#00ff411a;border:1px solid #00ff41;cursor:pointer;transition:all .2s;flex-shrink:0}.techno-generator-wrapper .step:hover{background:#00ff414d}.techno-generator-wrapper .step.active{background:#00ff41;box-shadow:0 0 10px #00ff41}.techno-generator-wrapper .step.current{border:2px solid #ffff00}.techno-generator-wrapper .lead-controls{margin-bottom:30px;padding:20px;background:#00ff410d;border:1px solid #00ff41}.techno-generator-wrapper .synth-params,.techno-generator-wrapper .lead-effects{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin-bottom:20px}.techno-generator-wrapper .synth-params>div,.techno-generator-wrapper .lead-effects>div,.techno-generator-wrapper .effects>div{display:flex;flex-direction:column;gap:10px}.techno-generator-wrapper label{font-size:.9em;text-transform:uppercase}.techno-generator-wrapper input[type=range]{width:100%;height:5px;background:#00ff4133;outline:none;-webkit-appearance:none}.techno-generator-wrapper input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;background:#00ff41;cursor:pointer;border-radius:50%}.techno-generator-wrapper input[type=range]::-moz-range-thumb{width:15px;height:15px;background:#00ff41;cursor:pointer;border-radius:50%;border:none}.techno-generator-wrapper .effects{display:flex;gap:20px;margin-bottom:30px;padding:20px;background:#00ff410d;border:1px solid #00ff41}.techno-generator-wrapper .effects>div{flex:1}.techno-generator-wrapper .export-controls{padding:20px;background:#00ff410d;border:1px solid #00ff41}.techno-generator-wrapper .export-buttons{display:flex;gap:10px;margin-bottom:15px}.techno-generator-wrapper .export-btn{flex:1}.techno-generator-wrapper .recording-status{text-align:center;color:#ff0;font-size:.9em;min-height:20px}.techno-generator-wrapper .visualizer{margin:20px auto;width:100%;max-width:800px;background:#000c;border:1px solid #00ff41;border-radius:4px;padding:10px;box-shadow:0 0 20px #00ff414d}.techno-generator-wrapper .visualizer canvas{width:100%;height:100px;display:block}.techno-generator-wrapper .preset-controls{display:flex;gap:10px;align-items:center;margin:20px 0}.techno-generator-wrapper .preset-selector{background:#222;color:#00ff41;border:1px solid #00ff41;padding:8px 15px;border-radius:4px;font-family:Courier New,monospace;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis}.techno-generator-wrapper .preset-selector:hover{background:#333}.techno-generator-wrapper .swing-control{display:flex;align-items:center;gap:10px;margin:10px 0}.techno-generator-wrapper .swing-control label{color:#00ff41;font-size:12px;font-weight:700;min-width:50px}.techno-generator-wrapper .swing-control input[type=range]{width:150px}.techno-generator-wrapper .swing-control span{color:#00ff41;font-size:14px;min-width:40px}.techno-generator-wrapper .key-control,.techno-generator-wrapper .scale-control{display:flex;align-items:center;gap:10px}.techno-generator-wrapper .key-control label,.techno-generator-wrapper .scale-control label{color:#00ff41;font-size:12px;font-weight:700;min-width:50px}.techno-generator-wrapper .btn-small{background:#222;color:#00ff41;border:1px solid #00ff41;padding:4px 8px;margin-left:5px;font-size:10px;cursor:pointer;transition:all .2s}.techno-generator-wrapper .btn-small:hover{background:#00ff41;color:#000}.techno-generator-wrapper .btn-midi-toggle{background:linear-gradient(135deg,#0f8,#00cc6a);color:#000;border:none;font-size:14px;padding:4px 10px}.techno-generator-wrapper .btn-midi-toggle:hover{background:linear-gradient(135deg,#0fa,#00dd7a);transform:scale(1.05)}.techno-generator-wrapper .synth-params span,.techno-generator-wrapper .lead-effects span,.techno-generator-wrapper .effects span{color:#00ff41;font-size:12px;min-width:30px;display:inline-block;text-align:right}.techno-generator-wrapper .controls{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:30px;padding:20px;background:#00ff410d;border:1px solid #00ff41;gap:15px}.techno-generator-wrapper .container{background:#0009;border:1px solid rgba(0,255,65,.3);border-radius:8px;box-shadow:0 4px 30px #00ff4133}.techno-generator-wrapper .step{position:relative;overflow:hidden}.techno-generator-wrapper .step.active:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;background:radial-gradient(circle,rgba(0,255,65,.8) 0%,transparent 70%);animation:ripple .3s ease-out}@keyframes ripple{0%{width:0;height:0;opacity:1}to{width:100%;height:100%;opacity:0}}.techno-generator-wrapper .rnbo-controls{margin-bottom:30px;padding:20px;background:#00ff410d;border:1px solid #00ff41}.techno-generator-wrapper .rnbo-params{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin-bottom:20px}.techno-generator-wrapper .rnbo-params>div{display:flex;flex-direction:column;gap:10px}.techno-generator-wrapper .rnbo-preset-controls,.techno-generator-wrapper .rnbo-mode-controls{grid-column:span 2}.techno-generator-wrapper .preset-buttons,.techno-generator-wrapper .mode-buttons{display:flex;gap:10px}.techno-generator-wrapper .btn-small.active{background:#00ff41;color:#000}.techno-generator-wrapper .rnbo-automation{grid-column:span 2}.techno-generator-wrapper .rnbo-automation label{display:flex;align-items:center;gap:10px;cursor:pointer}.techno-generator-wrapper .rnbo-automation input[type=checkbox]{width:auto;height:auto;margin:0}.techno-generator-wrapper .arp-settings{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:15px;background:#00ff411a;border:1px solid rgba(0,255,65,.3);border-radius:4px;margin-top:10px}.techno-generator-wrapper .arp-settings select{width:100%;background:#222;color:#00ff41;border:1px solid #00ff41;padding:5px;font-family:Courier New,monospace;cursor:pointer}.techno-generator-wrapper .arp-settings select:hover{background:#333}.techno-generator-wrapper .voice-controls{margin-bottom:30px;padding:20px;background:#00ff410d;border:1px solid #00ff41}.techno-generator-wrapper .voice-input-section{display:flex;align-items:center;gap:10px;margin-bottom:15px}.techno-generator-wrapper .voice-input-section input{flex:1;padding:8px;background:#000;border:1px solid #00ff41;color:#00ff41;font-family:Courier New,monospace}.techno-generator-wrapper .voice-input-section input:disabled{opacity:.5}.techno-generator-wrapper .voice-words-display{display:flex;flex-wrap:wrap;gap:10px}.techno-generator-wrapper .voice-word{padding:5px 10px;background:#00ff411a;border:1px solid #00ff41;border-radius:3px;font-size:.9em;cursor:pointer;transition:all .2s}.techno-generator-wrapper .voice-word:hover{background:#00ff4133;box-shadow:0 0 5px #00ff4180}.techno-generator-wrapper .step.has-word{background:#00ff414d;border-color:#00ff41;box-shadow:0 0 5px #00ff4180}.techno-generator-wrapper .step.selected{border:2px solid #ffff00;box-shadow:0 0 10px #ff0c}.techno-generator-wrapper .pattern-bank{margin-bottom:30px;padding:20px;background:#00ff410d;border:1px solid #00ff41}.techno-generator-wrapper .pattern-slots{display:grid;grid-template-columns:repeat(8,1fr);gap:15px}.techno-generator-wrapper .pattern-slot{display:flex;flex-direction:column;align-items:center;gap:5px}.techno-generator-wrapper .pattern-button{width:60px;height:60px;background:#00ff411a;border:2px solid #00ff41;color:#00ff41;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s}.techno-generator-wrapper .pattern-button:hover{background:#00ff414d}.techno-generator-wrapper .pattern-button.has-pattern{background:#00ff4180;box-shadow:0 0 10px #00ff4180}.techno-generator-wrapper .pattern-button.selected{border-color:#ff0;color:#ff0;box-shadow:0 0 15px #ff0c}.techno-generator-wrapper .pattern-actions{display:flex;gap:5px}.techno-generator-wrapper .timeline-section{margin-bottom:30px;padding:20px;background:#00ff410d;border:1px solid #00ff41}.techno-generator-wrapper .timeline-controls{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap;align-items:center}.techno-generator-wrapper .pattern-selector-container{background:#00ff411a;padding:10px;border-radius:4px;border:1px solid rgba(0,255,65,.3)}.techno-generator-wrapper .timeline-player-controls{display:flex;justify-content:center;margin:20px 0}.techno-generator-wrapper .timeline-container{background:#00000080;border:1px solid #00ff41;border-radius:4px;margin-bottom:20px;overflow-x:auto;position:relative}.techno-generator-wrapper .timeline-grid{display:grid;grid-template-columns:repeat(32,60px);grid-template-rows:80px;gap:2px;padding:10px;min-width:fit-content;position:relative}.techno-generator-wrapper .timeline-block{display:flex;justify-content:space-between;align-items:center;padding:10px;border-radius:4px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}.techno-generator-wrapper .timeline-block:hover{opacity:.8;transform:translateY(-2px)}.techno-generator-wrapper .timeline-block span{font-size:12px;font-weight:700;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.techno-generator-wrapper .timeline-remove{background:#ff000080;color:#fff;border:none;width:20px;height:20px;border-radius:50%;cursor:pointer;font-size:16px;line-height:1;padding:0}.techno-generator-wrapper .timeline-position{position:absolute;width:2px;height:100%;background:#ff0;box-shadow:0 0 10px #ff0;pointer-events:none;animation:pulse 1s infinite}.techno-generator-wrapper .timeline-numbers{display:grid;grid-template-columns:repeat(32,60px);padding:0 10px 10px}.techno-generator-wrapper .timeline-number{text-align:center;font-size:10px;color:#00ff41;opacity:.6}.techno-generator-wrapper .timeline-items{display:flex;flex-direction:column;gap:10px}.techno-generator-wrapper .timeline-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#00ff411a;border:1px solid #00ff41;border-radius:4px}@media (max-width: 768px){.techno-generator-wrapper .container{width:100%;padding:10px;margin-top:50px}.techno-generator-wrapper h1{font-size:1.8em}.techno-generator-wrapper .controls{flex-direction:column;gap:20px}.techno-generator-wrapper .transport{flex-direction:column;gap:15px;width:100%}.techno-generator-wrapper .transport-buttons{display:flex;gap:10px;width:100%;justify-content:center}.techno-generator-wrapper .transport .btn{flex:1;min-width:80px}.techno-generator-wrapper .tempo-control{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}.techno-generator-wrapper .tempo-control input[type=range]{width:100%;max-width:300px}.techno-generator-wrapper .sequencer{padding:15px}.techno-generator-wrapper .sequencer-tracks{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-left:-15px;margin-right:-15px;padding-left:15px;padding-right:15px;padding-bottom:10px}.techno-generator-wrapper .track{display:flex;align-items:center;gap:10px;padding-right:20px;min-width:fit-content}.techno-generator-wrapper .track-label{min-width:70px;padding-right:10px;flex-shrink:0}.techno-generator-wrapper .steps{display:flex;gap:5px;flex-shrink:0}.techno-generator-wrapper .step{min-width:30px;width:30px;height:30px;flex-shrink:0}.techno-generator-wrapper .btn-small{min-width:40px;padding:2px 5px;font-size:.8em;flex-shrink:0}.techno-generator-wrapper .export-buttons{flex-direction:column}.techno-generator-wrapper .voice-controls{padding:15px}.techno-generator-wrapper .voice-input-section{flex-wrap:wrap}.techno-generator-wrapper .voice-input-section label{width:100%;margin-bottom:10px}.techno-generator-wrapper .voice-input-section input{min-width:0;width:calc(100% - 70px)}.techno-generator-wrapper .voice-input-section button{width:60px;flex-shrink:0}.techno-generator-wrapper .voice-mode-selector{width:100%;margin-bottom:15px}.techno-generator-wrapper .voice-mode-selector select{width:100%;max-width:100%}.techno-generator-wrapper .voice-selector{width:100%}.techno-generator-wrapper .voice-selector select{width:100%;max-width:100%;margin-top:5px}.techno-generator-wrapper .voice-words-display{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:5px;margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.techno-generator-wrapper .voice-step-selector .step-buttons{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:10px;margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.techno-generator-wrapper .pattern-slots{grid-template-columns:repeat(4,1fr);gap:10px}.techno-generator-wrapper .pattern-button{width:50px;height:50px;font-size:14px}.techno-generator-wrapper .pattern-actions{flex-direction:column;width:100%}.techno-generator-wrapper .pattern-actions .btn-small{width:100%;min-width:auto}.techno-generator-wrapper .timeline-controls{flex-direction:column;width:100%;gap:15px}.techno-generator-wrapper .timeline-controls .btn{width:100%}.techno-generator-wrapper .pattern-selector-container{width:100%;flex-direction:column;gap:10px}.techno-generator-wrapper .pattern-selector-container select{width:100%}}.simple-piano-roll-overlay{position:fixed;inset:0;background:#000000f2;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.simple-piano-roll-container{background:linear-gradient(135deg,#0a0a0a,#1a1a1a);border-radius:12px;border:2px solid #00ff88;box-shadow:0 20px 60px #00ff8880;width:95%;max-width:1200px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.piano-roll-header{padding:20px 30px;border-bottom:2px solid #222;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;background:#00ff880d}.piano-roll-header h3{margin:0;font-size:22px;font-weight:700;color:#0f8;text-shadow:0 0 20px rgba(0,255,136,.6);letter-spacing:3px;font-family:Courier New,monospace}.piano-roll-controls{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.note-selector{display:flex;align-items:center;gap:10px}.note-selector label{color:#0f8;font-size:14px;font-weight:600;font-family:Courier New,monospace}.note-selector select{background:#000;color:#0f8;border:2px solid #00ff88;border-radius:6px;padding:8px 12px;font-size:14px;font-family:Courier New,monospace;cursor:pointer;outline:none}.note-selector select:hover{background:#0a0a0a;box-shadow:0 0 10px #00ff884d}.btn-control{background:linear-gradient(135deg,#0f8,#00cc6a);border:none;border-radius:6px;padding:10px 24px;font-size:14px;font-weight:600;color:#000;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:1px;font-family:Courier New,monospace}.btn-control:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00ff8880}.btn-close{background:linear-gradient(135deg,#f04,#c03);color:#fff}.piano-roll-content{flex:1;display:flex;overflow:auto;background:#0a0a0a}.piano-keys{width:80px;flex-shrink:0;border-right:2px solid #222}.piano-key{height:20px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #181818;font-size:10px;font-family:Courier New,monospace;font-weight:600}.piano-key.white-key{background:#1a1a1a;color:#0f8}.piano-key.black-key{background:#0a0a0a;color:#00cc6a}.key-label{-webkit-user-select:none;user-select:none}.piano-grid{flex:1;overflow-x:auto}.grid-row{display:flex;height:20px;border-bottom:1px solid #181818}.grid-cell{width:40px;min-width:40px;height:100%;border-right:1px solid #141414;cursor:pointer;transition:all .1s ease;position:relative}.grid-cell:hover{background:#0f83}.grid-cell.beat-marker{border-right:2px solid #222}.grid-cell.active{background:linear-gradient(135deg,#0f8,#00cc6a);box-shadow:0 0 8px #0f89}.grid-cell.active:after{content:"♪";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#000;font-size:12px;font-weight:700}.piano-roll-footer{padding:15px 30px;border-top:2px solid #222;background:#00ff880d}.piano-roll-footer p{margin:0;font-size:12px;color:#0f8;text-align:center;font-family:Courier New,monospace}@media (max-width: 768px){.simple-piano-roll-container{width:100%;max-height:95vh}.piano-roll-header{flex-direction:column;align-items:flex-start}.piano-roll-header h3{font-size:18px}.piano-keys{width:60px}.grid-cell{width:30px;min-width:30px}}.ambient-generator-wrapper{background:linear-gradient(135deg,#0a0520,#1a1040,#0a0520);color:#b8a0ff;min-height:100vh;height:auto;padding:400px 20px 100px;font-family:Courier New,monospace;overflow-y:auto}.ambient-generator-wrapper:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 50%,rgba(138,43,226,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(75,0,130,.1) 0%,transparent 50%);pointer-events:none;z-index:0}.ambient-generator-wrapper *{margin:0;padding:0;box-sizing:border-box}.ambient-generator-wrapper .container{width:100%;max-width:1000px;margin:0 auto;padding:20px;z-index:1;position:static;overflow:visible}.ambient-generator-wrapper h1{text-align:center;font-size:2.5em;margin-bottom:30px;text-shadow:0 0 30px rgba(184,160,255,.8),0 0 60px rgba(138,43,226,.4);letter-spacing:.2em;color:#d0b0ff}.ambient-generator-wrapper h2{font-size:1em;margin-bottom:15px;color:#b8a0ff;letter-spacing:.1em;text-shadow:0 0 10px rgba(184,160,255,.5)}.ambient-generator-wrapper .controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:25px;background:#8a2be214;border:1px solid rgba(184,160,255,.3);border-radius:10px;box-shadow:0 0 20px #8a2be233}.ambient-generator-wrapper .btn{background:linear-gradient(135deg,#6a0dad,#9370db);color:#fff;border:2px solid rgba(184,160,255,.5);padding:15px 40px;font-size:1.2em;cursor:pointer;font-family:Courier New,monospace;border-radius:8px;transition:all .3s;text-shadow:0 0 10px rgba(255,255,255,.5);box-shadow:0 0 20px #8a2be266}.ambient-generator-wrapper .btn:hover{background:linear-gradient(135deg,#7a1dbd,#a380ed);transform:translateY(-2px);box-shadow:0 5px 30px #8a2be299}.ambient-generator-wrapper .btn.playing{background:linear-gradient(135deg,#8b00ff,#b380ff);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 20px #8a2be299}50%{box-shadow:0 0 40px #8a2be2e6}}.ambient-generator-wrapper .tempo-control{display:flex;flex-direction:column;gap:10px;flex:1;max-width:300px;margin-left:30px}.ambient-generator-wrapper .tempo-control label{color:#b8a0ff;font-size:.9em;letter-spacing:.1em}.ambient-generator-wrapper .tempo-control input[type=range]{width:100%;cursor:pointer;accent-color:#8b00ff}.ambient-generator-wrapper .presets{margin-bottom:30px;padding:20px;background:#8a2be20d;border:1px solid rgba(184,160,255,.2);border-radius:10px}.ambient-generator-wrapper .preset-buttons{display:flex;gap:15px;flex-wrap:wrap}.ambient-generator-wrapper .preset-btn{background:#8a2be233;color:#d0b0ff;border:1px solid rgba(184,160,255,.4);padding:12px 25px;cursor:pointer;font-family:Courier New,monospace;border-radius:6px;transition:all .3s;font-size:.95em;letter-spacing:.05em}.ambient-generator-wrapper .preset-btn:hover{background:#8a2be266;border-color:#b8a0ff99;box-shadow:0 0 15px #8a2be280}.ambient-generator-wrapper .sequencer{margin-bottom:30px;padding:20px;background:#0a052099;border:1px solid rgba(184,160,255,.2);border-radius:10px;box-shadow:inset 0 0 30px #8a2be21a}.ambient-generator-wrapper .track{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:8px;background:#8a2be20d;border-radius:6px}.ambient-generator-wrapper .track-label{min-width:120px;font-weight:700;color:#d0b0ff;font-size:.85em;letter-spacing:.1em}.ambient-generator-wrapper .steps{display:flex;gap:3px;flex:1}.ambient-generator-wrapper .step{width:12px;height:30px;background:#8a2be233;border:1px solid rgba(184,160,255,.3);cursor:pointer;transition:all .2s;border-radius:2px}.ambient-generator-wrapper .step:hover{background:#8a2be266;border-color:#b8a0ff80}.ambient-generator-wrapper .step.active{background:linear-gradient(180deg,#8b00ff,#6a0dad);border-color:#b8a0ff;box-shadow:0 0 10px #8a2be299}.ambient-generator-wrapper .step.current{box-shadow:0 0 15px #b8a0ffe6,inset 0 0 10px #ffffff80;border-color:#fff}.ambient-generator-wrapper .step.measure-start{border-left-width:2px;border-left-color:#b8a0ff80}.ambient-generator-wrapper .btn-small{background:#8a2be24d;color:#d0b0ff;border:1px solid rgba(184,160,255,.4);padding:6px 12px;font-size:.75em;cursor:pointer;transition:all .2s;border-radius:4px;font-family:Courier New,monospace}.ambient-generator-wrapper .btn-small:hover{background:#8a2be280;border-color:#b8a0ff99}.ambient-generator-wrapper .info{text-align:center;padding:20px;color:#b8a0ffb3;font-size:.9em;line-height:1.8}.ambient-generator-wrapper .info p{margin-bottom:5px}@media (max-width: 768px){.ambient-generator-wrapper .controls{flex-direction:column;gap:20px}.ambient-generator-wrapper .tempo-control{margin-left:0;max-width:100%}.ambient-generator-wrapper .step{width:8px;height:25px}.ambient-generator-wrapper .track-label{min-width:80px;font-size:.75em}}.lyria-container{min-height:100vh;background:linear-gradient(135deg,#1a0033,#4a0080);color:#fff;padding:40px 20px;font-family:Proba Pro Regular,-apple-system,BlinkMacSystemFont,sans-serif}.lyria-header{text-align:center;margin-bottom:50px}.lyria-header h1{font-size:56px;margin-bottom:20px;background:linear-gradient(45deg,#ff6ec7,#c873f4,#7c4dff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shift 3s ease infinite}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.lyria-header p{font-size:20px;color:#ccc;letter-spacing:1px}.lyria-main{max-width:1200px;margin:0 auto}.audio-visualizer{background:#0006;border-radius:20px;padding:30px;margin-bottom:40px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.waveform-canvas{width:100%;height:200px;background:#0a0a0a;border-radius:15px;border:1px solid #333}.control-panel{background:#ffffff0d;border-radius:20px;padding:40px;margin-bottom:40px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.style-selector{margin-bottom:40px}.style-selector h3{font-size:24px;margin-bottom:20px;color:#ff6ec7}.style-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-bottom:30px}.style-card{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:15px;padding:20px;cursor:pointer;transition:all .3s ease;text-align:center}.style-card:hover{background:#ffffff1a;transform:translateY(-5px);box-shadow:0 10px 30px #ff6ec74d}.style-card.active{background:linear-gradient(135deg,#ff6ec7,#c873f4);border-color:transparent;transform:scale(1.05)}.style-card h4{font-size:18px;margin-bottom:8px;font-weight:600}.style-card p{font-size:14px;color:#ccc;margin:0}.style-card.active p{color:#fff}.tempo-control{margin-bottom:40px}.tempo-control h3{font-size:24px;margin-bottom:20px;color:#ff6ec7}.tempo-slider{width:100%;height:8px;background:#ffffff1a;border-radius:4px;outline:none;appearance:none}.tempo-slider::-webkit-slider-thumb{appearance:none;width:24px;height:24px;background:linear-gradient(135deg,#ff6ec7,#c873f4);border-radius:50%;cursor:pointer;box-shadow:0 4px 15px #ff6ec780;-webkit-transition:all .2s ease;transition:all .2s ease}.tempo-slider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 6px 20px #ff6ec7b3}.record-controls{display:flex;justify-content:center;margin-bottom:30px}.record-button,.stop-button{display:flex;align-items:center;gap:15px;padding:20px 40px;font-size:20px;font-weight:600;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.record-button{background:linear-gradient(135deg,#ff6ec7,#c873f4);color:#fff}.record-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 15px 35px #ff6ec766}.record-button:disabled{opacity:.5;cursor:not-allowed}.stop-button{background:linear-gradient(135deg,#f44,#c00);color:#fff}.stop-button:hover{transform:translateY(-3px);box-shadow:0 15px 35px #f446}.record-icon,.stop-icon{width:20px;height:20px;border-radius:50%;display:inline-block}.record-icon{background:#fff;box-shadow:0 0 10px #ffffff80}.stop-icon{background:#fff;border-radius:4px}.generating-indicator{text-align:center;padding:30px}.spinner{width:50px;height:50px;margin:0 auto 20px;border:4px solid rgba(255,255,255,.1);border-top-color:#ff6ec7;border-radius:50%;animation:spin 1s ease-in-out infinite}.generating-indicator p{font-size:18px;color:#ff6ec7;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.error-message{background:#ff44441a;border:1px solid rgba(255,68,68,.3);border-radius:10px;padding:20px;text-align:center;margin-top:20px}.error-message p{color:#ff6868;margin:0}.info-section{background:#ffffff0d;border-radius:20px;padding:40px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.info-section h3{font-size:28px;margin-bottom:20px;color:#ff6ec7}.info-section p{font-size:18px;line-height:1.8;color:#ccc;margin-bottom:20px}.info-section ul{list-style:none;padding:0}.info-section li{font-size:16px;margin-bottom:15px;padding-left:30px;position:relative;color:#ccc}.info-section li:before{content:"🎵";position:absolute;left:0}@media (max-width: 768px){.lyria-header h1{font-size:40px}.style-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px}.control-panel{padding:20px}.record-button,.stop-button{padding:15px 30px;font-size:16px}}.weight-slider-container{cursor:ns-resize;position:relative;height:100%;display:flex;justify-content:center;flex-direction:column;align-items:center;padding:5px}.weight-slider-scroll-container{width:100%;flex-grow:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.weight-slider-value{font-size:1.3vmin;color:#ccc;margin:.5vmin 0;-webkit-user-select:none;user-select:none;text-align:center}.weight-slider-track{position:relative;width:10px;height:100%;background-color:#0009;border-radius:4px}.weight-slider-thumb{position:absolute;bottom:0;left:0;width:100%;border-radius:4px;box-shadow:0 0 3px #000000b3}.prompt-controller{position:relative;height:100%;width:100%;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;overflow:hidden;background-color:#2a2a2a;border-radius:5px}.prompt-controller.filtered .prompt-text{background:#da2000}.prompt-remove-button{position:absolute;top:1.2vmin;left:1.2vmin;background:#666;color:#fff;border:none;border-radius:50%;width:2.8vmin;height:2.8vmin;font-size:1.8vmin;display:flex;align-items:center;justify-content:center;line-height:2.8vmin;cursor:pointer;opacity:.5;transition:opacity .2s;z-index:10}.prompt-remove-button:hover{opacity:1}.prompt-controller .weight-slider-container{max-height:calc(100% - 9vmin);flex:1;min-height:10vmin;width:100%;box-sizing:border-box;overflow:hidden;margin:2vmin 0 1vmin}.prompt-controls{display:flex;flex-direction:column;flex-shrink:0;align-items:center;gap:.2vmin;width:100%;height:8vmin;padding:0 .5vmin;box-sizing:border-box;margin-bottom:1vmin}.prompt-text{font-family:Google Sans,sans-serif;font-size:1.8vmin;width:100%;flex-grow:1;max-height:100%;padding:.4vmin;box-sizing:border-box;text-align:center;word-wrap:break-word;overflow-y:auto;border:none;outline:none;-webkit-font-smoothing:antialiased;color:#fff;scrollbar-width:thin;scrollbar-color:#666 #1a1a1a}.prompt-text::-webkit-scrollbar{width:6px}.prompt-text::-webkit-scrollbar-track{background:#0009;border-radius:3px}.prompt-text::-webkit-scrollbar-thumb{background-color:#666;border-radius:3px}.recorder-toggle-btn{position:fixed;top:120px;right:40px;width:50px;height:50px;border-radius:50%;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:1000}.recorder-toggle-btn:hover{background:#000000e6;border-color:#fff6;transform:scale(1.05)}.recorder-toggle-btn svg{width:24px;height:24px}.recording-badge{position:absolute;top:-5px;right:-10px;background:red;color:#fff;border-radius:12px;padding:2px 6px;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.recorder-panel{position:fixed;top:80px;right:20px;width:350px;background:#000000f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 60px #00000080;z-index:999;overflow:hidden;display:flex;flex-direction:column}.recorder-header{padding:20px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.recorder-header h3{margin:0;font-size:18px;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.close-btn{background:none;border:none;color:#fff9;font-size:28px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.close-btn:hover{background:#ffffff1a;color:#fff}.recorder-content{padding:20px}.recorder-status{margin-bottom:20px}.status-display{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.status-label{font-size:14px;font-weight:600}.rec-indicator{color:red;animation:blink 1s ease-in-out infinite}.ready-indicator{color:#0f8}.idle-indicator{color:#ffffff80}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.duration-display{font-size:18px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;font-family:Courier New,monospace}.recording-progress{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;margin-top:8px}.progress-bar{height:100%;background:linear-gradient(90deg,#ff0844,#ff5858);transition:width .3s ease;border-radius:3px}.recorder-controls{display:flex;gap:10px;margin-bottom:20px}.control-btn{flex:1;padding:14px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:4px}.control-btn:hover:not(:disabled){background:#ffffff26;transform:translateY(-2px)}.control-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.btn-icon{font-size:24px;line-height:1}.btn-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px}.record-btn{background:linear-gradient(135deg,#ff0844,#ff5858);border-color:transparent}.record-btn:hover:not(:disabled){box-shadow:0 4px 12px #ff084480}.stop-btn{background:linear-gradient(135deg,#ff0844,#ff5858);border-color:transparent}.stop-btn:hover{box-shadow:0 4px 12px #ff084480}.download-btn{background:linear-gradient(135deg,#00b09b,#96c93d);border-color:transparent}.download-btn:hover:not(:disabled){box-shadow:0 4px 12px #00b09b80}.clear-btn{background:#ff444426;border-color:#ff44444d}.clear-btn:hover:not(:disabled){background:#ff444440;border-color:#ff444480}.recorder-info{padding:12px;background:#667eea1a;border:1px solid rgba(102,126,234,.2);border-radius:8px}.info-text{margin:0;font-size:12px;color:#ffffffb3;line-height:1.5}@media (max-width: 768px){.recorder-panel{width:calc(100vw - 40px);max-width:350px}}.stylemixer-react{height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box;padding:2vmin;position:relative;font-size:1.8vmin}.stylemixer-react .background{position:absolute;height:100%;width:100%;z-index:-1;background:#111}.prompts-area{display:flex;align-items:flex-end;justify-content:center;flex:4;width:100%;margin-top:16vmin;gap:2vmin}.prompts-container{display:flex;flex-direction:row;align-items:flex-end;flex-shrink:1;height:100%;gap:2vmin;margin-left:10vmin;padding:1vmin;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#666 #1a1a1a}.prompts-container:before,.prompts-container:after{content:"";flex:1;min-width:.5vmin}.prompts-container::-webkit-scrollbar{height:8px}.prompts-container::-webkit-scrollbar-track{background:#111;border-radius:4px}.prompts-container::-webkit-scrollbar-thumb{background-color:#666;border-radius:4px}.prompts-container::-webkit-scrollbar-thumb:hover{background-color:#777}.add-prompt-button-container{display:flex;align-items:flex-end;height:100%;flex-shrink:0}.settings-container{flex:1;margin:2vmin 0 1vmin}.playback-container{display:flex;justify-content:center;align-items:center;flex-shrink:0;gap:2vmin}.icon-button{position:relative;display:flex;align-items:center;justify-content:center;pointer-events:none;width:12vmin;flex-shrink:0}.icon-button:hover svg{transform:scale(1.2)}.icon-button svg{width:100%;height:100%;transition:transform .5s cubic-bezier(.25,1.56,.32,.99)}.icon-button .hitbox{pointer-events:all;position:absolute;width:65%;aspect-ratio:1;top:9%;border-radius:50%;cursor:pointer}.loader{stroke:#fff;stroke-width:3;stroke-linecap:round;animation:spin linear 1s infinite;transform-origin:center;transform-box:fill-box}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.prompt-controller{height:100%;max-height:80vmin;min-width:14vmin;max-width:16vmin;flex:1}.settings-controller{display:block;padding:2vmin;background-color:#2a2a2a;color:#eee;box-sizing:border-box;border-radius:5px;font-family:Google Sans,sans-serif;font-size:1.5vmin}.core-settings-row{display:flex;flex-direction:row;flex-wrap:wrap;gap:4vmin;margin-bottom:1vmin;justify-content:space-evenly}.core-settings-row .setting{min-width:16vmin}.setting{margin-bottom:.5vmin;display:flex;flex-direction:column;gap:.5vmin}.setting label{font-weight:700;display:flex;justify-content:space-between;align-items:center;white-space:nowrap;-webkit-user-select:none;user-select:none}.setting label span:last-child{font-weight:400;color:#ccc;min-width:3em;text-align:right}.setting input[type=range]{--track-height: 8px;--track-bg: #0009;--track-border-radius: 4px;--thumb-size: 16px;--thumb-bg: #5200ff;--thumb-border-radius: 50%;--thumb-box-shadow: 0 0 3px rgba(0, 0, 0, .7);appearance:none;width:100%;height:var(--track-height);background:transparent;cursor:pointer;margin:.5vmin 0;border:none;padding:0}.setting input[type=range]::-webkit-slider-runnable-track{width:100%;height:var(--track-height);cursor:pointer;border:none;background:var(--track-bg);border-radius:var(--track-border-radius)}.setting input[type=range]::-moz-range-track{width:100%;height:var(--track-height);cursor:pointer;background:var(--track-bg);border-radius:var(--track-border-radius);border:none}.setting input[type=range]::-webkit-slider-thumb{appearance:none;height:var(--thumb-size);width:var(--thumb-size);background:var(--thumb-bg);border-radius:var(--thumb-border-radius);box-shadow:var(--thumb-box-shadow);cursor:pointer;margin-top:calc((var(--thumb-size) - var(--track-height)) / -2)}.setting input[type=range]::-moz-range-thumb{height:var(--thumb-size);width:var(--thumb-size);background:var(--thumb-bg);border-radius:var(--thumb-border-radius);box-shadow:var(--thumb-box-shadow);cursor:pointer;border:none}.advanced-toggle{cursor:pointer;margin:2vmin 0 1vmin;color:#aaa;text-decoration:underline;-webkit-user-select:none;user-select:none;font-size:1.4vmin;width:fit-content}.advanced-toggle:hover{color:#eee}.advanced-settings{margin-top:2vmin;padding:2vmin;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.advanced-row{display:flex;gap:2vmin;margin-bottom:2vmin}.advanced-row:last-child{margin-bottom:0}.advanced-row.checkboxes{flex-direction:column;gap:1vmin}.checkbox-label{display:flex;align-items:center;gap:1vmin;cursor:pointer;-webkit-user-select:none;user-select:none;color:#ccc;font-size:1.6vmin}.checkbox-label input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:#ff25f6}.checkbox-label:hover{color:#fff}.toast{line-height:1.6;position:fixed;top:20px;left:50%;transform:translate(-50%);background-color:#000;color:#fff;padding:15px;border-radius:5px;display:flex;align-items:center;justify-content:space-between;gap:15px;min-width:200px;max-width:80vw;transition:transform .5s cubic-bezier(.19,1,.22,1);z-index:11}.toast:not(.showing){transition-duration:1s;transform:translate(-50%,-200%)}.toast button{border-radius:100px;aspect-ratio:1;border:none;color:#000;cursor:pointer;background:#fff;padding:5px 10px}body.dragging{cursor:ns-resize;-webkit-user-select:none;user-select:none}.doc-toggle-btn{position:fixed;bottom:30px;right:30px;z-index:9999;background:linear-gradient(135deg,#90f,#5200ff);color:#fff;border:none;border-radius:50px;padding:15px 30px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 8px 20px #90f6;transition:all .3s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.doc-toggle-btn:hover{transform:translateY(-3px);box-shadow:0 12px 30px #90f9}.documentation-panel{position:fixed;inset:0;z-index:9998;background:#000000f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;overflow:hidden;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.doc-sidebar{width:250px;background:#14141ef2;border-right:2px solid rgba(153,0,255,.3);padding:30px 20px;overflow-y:auto}.doc-sidebar h3{color:#90f;font-size:18px;margin-bottom:20px;font-weight:700;letter-spacing:.5px}.doc-sidebar nav{display:flex;flex-direction:column;gap:12px}.doc-sidebar a{color:#ffffffb3;text-decoration:none;padding:12px 15px;border-radius:8px;transition:all .2s ease;font-size:14px;font-weight:500;border-left:3px solid transparent}.doc-sidebar a:hover{background:#9900ff1a;color:#fff;border-left-color:#90f}.doc-sidebar a.active{background:#90f3;color:#90f;border-left-color:#90f;font-weight:600}.doc-content{flex:1;padding:40px 60px;overflow-y:auto;color:#fff}.doc-content h2{font-size:36px;margin-bottom:30px;background:linear-gradient(135deg,#90f,#ff25f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:700;letter-spacing:-.5px}.doc-content h3{font-size:28px;margin-top:40px;margin-bottom:20px;color:#90f;font-weight:600}.doc-content h4{font-size:20px;margin-top:25px;margin-bottom:15px;color:#9900ffe6;font-weight:600}.doc-content p{font-size:16px;line-height:1.7;color:#ffffffd9;margin-bottom:15px}.doc-content section{margin-bottom:50px}.doc-content ul{list-style:none;padding:0;margin:15px 0}.doc-content li{padding:10px 0 10px 25px;position:relative;color:#ffffffd9;line-height:1.6}.doc-content li:before{content:"▸";position:absolute;left:0;color:#90f;font-weight:700}.code-block{background:#14141ecc;border:1px solid rgba(153,0,255,.3);border-radius:12px;padding:20px;margin:20px 0;overflow-x:auto}.code-block pre{margin:0;font-family:Courier New,monospace;font-size:14px;line-height:1.6;color:#d8b2ff}.code-block code{background:transparent;color:#ff25f6;padding:0;font-size:13px}code{background:#9900ff26;color:#ff25f6;padding:3px 8px;border-radius:4px;font-family:Courier New,monospace;font-size:14px;font-weight:500}.presets-grid,.scales-grid,.states-grid{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.preset-tag,.scale-tag,.state-tag{background:#9900ff26;color:#d8b2ff;padding:8px 16px;border-radius:20px;font-size:13px;font-weight:500;border:1px solid rgba(153,0,255,.3);transition:all .2s ease}.preset-tag:hover,.scale-tag:hover{background:#9900ff40;border-color:#9900ff80;transform:translateY(-2px)}.state-tag.stopped{background:#c8c8c826;color:#ccc;border-color:#c8c8c84d}.state-tag.loading{background:#ffdd2826;color:#ffdd28;border-color:#ffdd284d}.state-tag.playing{background:#3dffab26;color:#3dffab;border-color:#3dffab4d}.state-tag.paused{background:#ff25f626;color:#ff25f6;border-color:#ff25f64d}.params-table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14px}.params-table th{background:#90f3;color:#90f;padding:12px 15px;text-align:left;font-weight:600;border-bottom:2px solid rgba(153,0,255,.4)}.params-table td{padding:12px 15px;border-bottom:1px solid rgba(153,0,255,.1);color:#ffffffd9}.params-table tr:hover{background:#9900ff0d}.doc-footer{margin-top:60px;padding-top:30px;border-top:2px solid rgba(153,0,255,.2);text-align:center}.doc-footer p{color:#fff9;font-size:14px;margin:8px 0}@media (max-width: 768px){.doc-sidebar{display:none}.doc-content{padding:30px 20px}.doc-content h2{font-size:28px}.doc-content h3{font-size:22px}.doc-toggle-btn{bottom:20px;right:20px;padding:12px 24px;font-size:14px}}.doc-sidebar::-webkit-scrollbar,.doc-content::-webkit-scrollbar{width:8px}.doc-sidebar::-webkit-scrollbar-track,.doc-content::-webkit-scrollbar-track{background:#14141e80}.doc-sidebar::-webkit-scrollbar-thumb,.doc-content::-webkit-scrollbar-thumb{background:#90f6;border-radius:4px}.doc-sidebar::-webkit-scrollbar-thumb:hover,.doc-content::-webkit-scrollbar-thumb:hover{background:#90f9}.stylemixer-react-wrapper{min-height:100vh;background:#111;color:#fff;font-family:Google Sans,-apple-system,BlinkMacSystemFont,sans-serif;position:relative;width:100%;height:100vh}.stylemixer-react-container{width:100%;height:100%;position:relative;background:#111;color:#fff}.api-key-setup{max-width:600px;margin:0 auto;padding:60px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh}.api-key-setup h1{font-size:48px;margin-bottom:30px;background:linear-gradient(45deg,#90f,#ff25f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.api-key-setup p{font-size:18px;color:#ccc;margin-bottom:20px;line-height:1.6}.api-key-setup a{color:#90f;text-decoration:none}.api-key-setup a:hover{text-decoration:underline}.api-key-setup form{margin:40px 0;width:100%}.api-key-input{width:100%;padding:15px 20px;font-size:16px;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;margin-bottom:20px;transition:all .3s ease}.api-key-input:focus{outline:none;border-color:#90f;background:#ffffff26}.api-key-input::placeholder{color:#ffffff80}.api-key-submit{padding:15px 40px;font-size:16px;font-weight:600;background:linear-gradient(135deg,#90f,#ff25f6);border:none;border-radius:50px;color:#fff;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.api-key-submit:hover{transform:translateY(-2px);box-shadow:0 10px 30px #90f6}.info{margin-top:60px;padding:30px;background:#ffffff0d;border-radius:15px;text-align:left;max-width:600px}.info h3{font-size:24px;margin-bottom:15px;color:#ff25f6}.info p{font-size:16px;line-height:1.8}.reset-api-key-btn{position:fixed;bottom:20px;right:20px;padding:10px 20px;font-size:14px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:20px;color:#ccc;cursor:pointer;transition:all .3s ease;z-index:1000}.reset-api-key-btn:hover{background:#fff3;color:#fff}.weight-knob{cursor:grab;position:relative;width:100%;aspect-ratio:1;flex-shrink:0;touch-action:none}.weight-knob:active{cursor:grabbing}.weight-knob svg{position:absolute;top:0;left:0;width:100%;height:100%}.weight-knob-static{pointer-events:none}.weight-knob-interactive{z-index:1}.weight-knob-halo{position:absolute;z-index:-1;top:0;left:0;width:100%;height:100%;border-radius:50%;mix-blend-mode:lighten;transform:scale(2);will-change:transform;transition:transform .1s ease-out}body.dragging *{-webkit-user-select:none!important;user-select:none!important;pointer-events:none!important}body.dragging .weight-knob-interactive{pointer-events:auto!important}.knob-prompt{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.knob-prompt .weight-knob{width:70%;flex-shrink:0}.knob-prompt-midi{font-family:monospace;text-align:center;font-size:1.5vmin;border:.2vmin solid #fff;border-radius:.5vmin;padding:2px 5px;color:#fff;background:#0006;cursor:pointer;visibility:hidden;-webkit-user-select:none;user-select:none;margin-top:.75vmin;transition:all .2s ease}.knob-prompt.learn-mode .knob-prompt-midi{color:orange;border-color:orange;animation:pulse-learn 1s infinite}@keyframes pulse-learn{0%,to{opacity:1}50%{opacity:.5}}.knob-prompt.show-cc .knob-prompt-midi{visibility:visible}.knob-prompt-text{font-weight:500;font-size:1.8vmin;max-width:17vmin;min-width:2vmin;padding:.1em .3em;margin-top:.5vmin;flex-shrink:0;border-radius:.25vmin;text-align:center;white-space:pre;overflow:hidden;border:none;outline:none;-webkit-font-smoothing:antialiased;background:#000;color:#fff;cursor:text}.knob-prompt-text:not(:focus){text-overflow:ellipsis}.knob-prompt-text:focus{background:#222}.knob-prompt.filtered .weight-knob{opacity:.5}.knob-prompt.filtered .knob-prompt-text{background:#da2000;z-index:1}@media only screen and (max-width: 600px){.knob-prompt-text{font-size:2.3vmin}.knob-prompt .weight-knob{width:60%}}.midi-recorder-toggle-btn{position:fixed;top:120px;right:40px;width:50px;height:50px;border-radius:50%;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:1000}.midi-recorder-toggle-btn:hover{background:#000000e6;border-color:#fff6;transform:scale(1.05)}.midi-recorder-toggle-btn svg{width:24px;height:24px}.midi-recording-badge{position:absolute;top:-5px;right:-10px;background:red;color:#fff;border-radius:12px;padding:2px 6px;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;animation:midi-pulse 1.5s ease-in-out infinite}@keyframes midi-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.midi-recorder-panel{position:fixed;top:80px;right:20px;width:350px;background:#000000f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 60px #00000080;z-index:999;overflow:hidden;display:flex;flex-direction:column}.midi-recorder-header{padding:20px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.midi-recorder-header h3{margin:0;font-size:18px;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.midi-close-btn{background:none;border:none;color:#fff9;font-size:28px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.midi-close-btn:hover{background:#ffffff1a;color:#fff}.midi-recorder-content{padding:20px}.midi-recorder-status{margin-bottom:20px}.midi-status-display{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.midi-status-label{font-size:14px;font-weight:600}.midi-rec-indicator{color:red;animation:midi-blink 1s ease-in-out infinite}.midi-ready-indicator{color:#0f8}.midi-idle-indicator{color:#ffffff80}@keyframes midi-blink{0%,to{opacity:1}50%{opacity:.3}}.midi-duration-display{font-size:18px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;font-family:Courier New,monospace}.midi-recording-progress{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;margin-top:8px}.midi-progress-bar{height:100%;background:linear-gradient(90deg,#ff0844,#ff5858);transition:width .3s ease;border-radius:3px}.midi-recorder-controls{display:flex;gap:10px;margin-bottom:20px}.midi-control-btn{flex:1;padding:14px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:4px}.midi-control-btn:hover:not(:disabled){background:#ffffff26;transform:translateY(-2px)}.midi-control-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.midi-btn-icon{font-size:24px;line-height:1}.midi-btn-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px}.midi-record-btn{background:linear-gradient(135deg,#ff0844,#ff5858);border-color:transparent}.midi-record-btn:hover:not(:disabled){box-shadow:0 4px 12px #ff084480}.midi-stop-btn{background:linear-gradient(135deg,#ff0844,#ff5858);border-color:transparent}.midi-stop-btn:hover{box-shadow:0 4px 12px #ff084480}.midi-download-btn{background:linear-gradient(135deg,#00b09b,#96c93d);border-color:transparent}.midi-download-btn:hover:not(:disabled){box-shadow:0 4px 12px #00b09b80}.midi-clear-btn{background:#ff444426;border-color:#ff44444d}.midi-clear-btn:hover:not(:disabled){background:#ff444440;border-color:#ff444480}.midi-recorder-info{padding:12px;background:#667eea1a;border:1px solid rgba(102,126,234,.2);border-radius:8px}.midi-info-text{margin:0;font-size:12px;color:#ffffffb3;line-height:1.5}@media (max-width: 768px){.midi-recorder-panel{width:calc(100vw - 40px);max-width:350px}}.prompt-dj-midi-grid{min-height:100vh;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box;position:relative;font-family:Google Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;overflow:visible;padding:100px 20px 40px}.grid-background{will-change:background-image;position:absolute;height:100%;width:100%;z-index:-1;background:#111;transition:background-image .1s ease}.grid-container{display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px}.grid-buttons{position:absolute;top:80px;left:20px;padding:5px;display:flex;gap:10px;z-index:100}.midi-button{font-family:inherit;font-weight:600;font-size:14px;cursor:pointer;color:#fff;background:#0006;-webkit-font-smoothing:antialiased;border:1.5px solid #fff;border-radius:4px;-webkit-user-select:none;user-select:none;padding:8px 16px;transition:all .2s ease}.midi-button:hover{background:#ffffff1a}.midi-button.active{background-color:#fff;color:#000}.midi-select{font-family:inherit;font-size:14px;padding:8px 12px;background:#fff;color:#000;border-radius:4px;border:none;outline:none;cursor:pointer;min-width:150px}.play-pause-button{position:relative;width:15vmin;min-width:100px;background:transparent;border:none;cursor:pointer;padding:0;transition:transform .3s cubic-bezier(.25,1.56,.32,.99)}.play-pause-button:hover{transform:scale(1.1)}.play-pause-button svg{width:100%;height:auto}.loader-path{animation:spin 1s linear infinite;transform-origin:center;transform-box:fill-box}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.grid-toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;z-index:1000;animation:toastIn .3s ease;box-shadow:0 4px 20px #0000004d}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media only screen and (max-width: 768px){.grid-container{width:95vmin;height:95vmin;gap:1.5vmin}.grid-buttons{top:70px;left:10px;flex-direction:column}.play-pause-button{width:20vmin}}body.dragging{cursor:ns-resize!important}body.dragging *{-webkit-user-select:none!important;user-select:none!important}.promptdj-midi-wrapper{min-height:100vh;background:#111;color:#fff;font-family:Google Sans,-apple-system,BlinkMacSystemFont,sans-serif;position:relative;width:100%;height:auto;overflow-y:auto}.promptdj-midi-container{width:100%;min-height:100vh;height:auto;position:relative;background:#111;color:#fff}.promptdj-midi-wrapper .api-key-setup{max-width:600px;margin:0 auto;padding:60px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh}.promptdj-midi-wrapper .api-key-setup h1{font-size:48px;margin-bottom:30px;background:linear-gradient(45deg,#90f,#ff25f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.promptdj-midi-wrapper .api-key-setup p{font-size:18px;color:#ccc;margin-bottom:20px;line-height:1.6}.promptdj-midi-wrapper .api-key-setup a{color:#90f;text-decoration:none}.promptdj-midi-wrapper .api-key-setup a:hover{text-decoration:underline}.promptdj-midi-wrapper .api-key-setup form{margin:40px 0;width:100%}.promptdj-midi-api-key-input{width:100%;padding:15px 20px;font-size:16px;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;margin-bottom:20px;transition:all .3s ease}.promptdj-midi-api-key-input:focus{outline:none;border-color:#90f;background:#ffffff26}.promptdj-midi-api-key-input::placeholder{color:#ffffff80}.promptdj-midi-api-key-submit{padding:15px 40px;font-size:16px;font-weight:600;background:linear-gradient(135deg,#90f,#ff25f6);border:none;border-radius:50px;color:#fff;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.promptdj-midi-api-key-submit:hover{transform:translateY(-2px);box-shadow:0 10px 30px #90f6}.promptdj-midi-wrapper .info{margin-top:60px;padding:30px;background:#ffffff0d;border-radius:15px;text-align:left;max-width:600px}.promptdj-midi-wrapper .info h3{font-size:24px;margin-bottom:15px;color:#ff25f6}.promptdj-midi-wrapper .info p{font-size:16px;line-height:1.8}.promptdj-midi-reset-btn{position:fixed;bottom:20px;right:20px;padding:10px 20px;font-size:14px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:20px;color:#ccc;cursor:pointer;transition:all .3s ease;z-index:1000}.promptdj-midi-reset-btn:hover{background:#fff3;color:#fff}.demo-container{padding:1rem;margin:0;background:linear-gradient(135deg,#1a1a2e4d,#0a0a0a4d);border-radius:12px;border:1px solid rgba(79,172,254,.2);box-shadow:0 5px 20px #0000004d;max-width:100%;width:100%;box-sizing:border-box;overflow-x:hidden}.demo-header h2{font-size:1.3rem;margin-bottom:.8rem;color:#00f2fe;text-align:center;border-bottom:1px solid rgba(79,172,254,.3);padding-bottom:.5rem}.demo-description{font-size:.9rem;line-height:1.5;color:#ddd;margin-bottom:1rem;text-align:center;max-width:100%;margin-left:auto;margin-right:auto;word-wrap:break-word;overflow-wrap:break-word}.theory-block,.info-block{background:#4facfe1a;padding:.5rem .8rem;border-radius:10px;border-left:3px solid #4facfe;margin:.6rem 0;max-width:100%;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word}.theory-block h3,.info-block h3{color:#4facfe;font-size:.95rem;margin-bottom:.3rem;margin-top:0}.theory-block p{color:#ccc;line-height:1.4;margin-bottom:.3rem;margin-top:0;font-size:.85rem}.info-block ul{list-style:none;padding:0;margin:0}.info-block li{padding:.2rem 0;color:#ddd;font-size:.85rem}.controls-section{background:#ffffff14;padding:1rem;border-radius:12px;margin:1rem 0;border:1px solid rgba(79,172,254,.3);box-shadow:0 3px 10px #0003;max-width:100%;box-sizing:border-box}.controls-section h3{color:#00f2fe;margin-bottom:1rem;font-size:1rem;text-align:center;text-transform:uppercase;letter-spacing:1px}.control-group{margin-bottom:1rem}.control-group label{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem;color:#ddd;font-size:.85rem}.control-group select{padding:.4rem .8rem;background:#4facfe1a;border:1px solid rgba(79,172,254,.3);border-radius:8px;color:#fff;font-size:.85rem;cursor:pointer;transition:all .3s ease;outline:none}.control-group select:hover{border-color:#4facfe;background:#4facfe33}.control-group select:disabled{opacity:.5;cursor:not-allowed}.control-group select option{background:#1a1a2e;color:#fff;padding:.5rem}.value{color:#4facfe;font-weight:600;font-size:.85rem}.slider{width:100%;height:6px;border-radius:3px;background:#4facfe33;outline:none;-webkit-appearance:none}.slider::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border-radius:50%;background:linear-gradient(45deg,#00f2fe,#4facfe);cursor:pointer;box-shadow:0 0 8px #4facfe80}.slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:linear-gradient(45deg,#00f2fe,#4facfe);cursor:pointer;border:none;box-shadow:0 0 8px #4facfe80}.slider:disabled{opacity:.5;cursor:not-allowed}.play-button{width:100%;padding:.8rem;font-size:.95rem;font-weight:600;border:none;border-radius:20px;background:linear-gradient(45deg,#00f2fe,#4facfe);color:#fff;cursor:pointer;transition:all .3s ease;margin-top:1rem;box-shadow:0 3px 10px #4facfe66}.play-button:hover{transform:translateY(-3px);box-shadow:0 8px 30px #4facfe99}.play-button.playing{background:linear-gradient(45deg,#ff6b6b,#ff8e53);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 5px 20px #ff6b6b66}50%{box-shadow:0 8px 40px #ff6b6bcc}}.code-block{background:#00000080;padding:.8rem;border-radius:10px;border:1px solid rgba(79,172,254,.3);margin:1rem 0;overflow-x:auto;max-width:100%;box-sizing:border-box}.code-block h3{color:#4facfe;margin-bottom:.5rem;font-size:.9rem}.code-block pre{margin:0;padding:0}.code-block code{color:#00f2fe;font-family:Courier New,monospace;font-size:.75rem;line-height:1.4}.harmonics-display{margin-top:1rem;padding:1rem;background:#0000004d;border-radius:10px}.harmonics-display h4{color:#4facfe;margin-bottom:.8rem;font-size:.9rem}.harmonics-list{display:flex;flex-direction:column;gap:1rem}.harmonic-item{display:grid;grid-template-columns:120px 1fr 60px;align-items:center;gap:1rem;padding:.5rem;background:#4facfe0d;border-radius:8px}.harmonic-label{color:#4facfe;font-weight:500;font-size:.95rem}.harmonic-slider{height:6px}.amplitude-value{color:#00f2fe;font-weight:600;text-align:right}.preset-buttons{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem}.preset-button{padding:.5rem 1rem;border:1px solid rgba(79,172,254,.3);border-radius:15px;background:#ffffff0d;color:#ddd;cursor:pointer;transition:all .3s ease;font-size:.95rem}.preset-button:hover{background:#4facfe33;border-color:#4facfe;transform:translateY(-2px)}.preset-button.active{background:#4facfe4d;border-color:#00f2fe}@media (max-width: 1024px){.demo-container{padding:.8rem}.demo-header h2{font-size:1.1rem}.demo-description{font-size:.85rem}.theory-block,.info-block{padding:.6rem}.theory-block h3,.info-block h3{font-size:.85rem}.theory-block p{font-size:.8rem}.controls-section{padding:.8rem}.controls-section h3{font-size:.9rem}.control-group label{font-size:.8rem;flex-wrap:wrap}.value{font-size:.8rem}}@media (max-width: 768px){.demo-container{padding:.6rem;margin:0}.demo-header h2{font-size:1rem}.demo-description{font-size:.8rem}.controls-section{padding:.6rem}.controls-section h3{font-size:.85rem}.theory-block,.info-block{padding:.5rem;margin:.8rem 0}.code-block{padding:.5rem}.code-block h3{font-size:.8rem}.code-block code{font-size:.7rem}.harmonic-item{grid-template-columns:1fr;gap:.3rem}.harmonics-display{padding:.6rem}.harmonics-display h4,.harmonic-label{font-size:.8rem}.preset-buttons{gap:.3rem}.preset-button{padding:.4rem .8rem;font-size:.75rem}.play-button{padding:.7rem;font-size:.85rem}}@media (max-width: 480px){.demo-container{padding:.5rem}.demo-header h2{font-size:.9rem;padding-bottom:.3rem}.demo-description{font-size:.75rem;line-height:1.4}.theory-block,.info-block{padding:.4rem;margin:.6rem 0}.theory-block h3,.info-block h3{font-size:.75rem}.theory-block p{font-size:.7rem;line-height:1.3}.info-block li{font-size:.75rem;padding:.2rem 0}.controls-section{padding:.5rem}.controls-section h3{font-size:.75rem;margin-bottom:.8rem}.control-group{margin-bottom:.8rem}.control-group label,.value{font-size:.75rem}.slider{height:5px}.slider::-webkit-slider-thumb{width:12px;height:12px}.slider::-moz-range-thumb{width:12px;height:12px}.code-block{padding:.4rem}.code-block code{font-size:.65rem;line-height:1.3}.harmonics-display{padding:.5rem}.preset-button{padding:.3rem .6rem;font-size:.7rem}.play-button{padding:.6rem;font-size:.8rem}}.sound-synthesis{min-height:100vh;background:#0a0a0a;color:#fff;padding:0;padding-top:var(--navbar-height, 70px);width:100%;max-width:100vw;overflow-x:hidden}.synthesis-header{text-align:center;padding:1rem 2rem;background:linear-gradient(135deg,#1a1a2e,#0a0a0a);border-bottom:1px solid rgba(79,172,254,.2)}.synthesis-header h1{font-size:1.5rem;margin-bottom:.3rem;background:linear-gradient(45deg,#00f2fe,#4facfe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;word-wrap:break-word;overflow-wrap:break-word}.subtitle{font-size:.85rem;color:#aaa;font-weight:300}.synthesis-main-content{display:flex;flex-direction:column;max-width:100%;width:100%;margin:0 auto;padding:1rem;min-height:calc(100vh - var(--navbar-height, 70px) - 80px);box-sizing:border-box;overflow-x:hidden}.visualizer-sidebar{display:none}.demo-slider-container{display:flex;flex-direction:column;gap:1rem;min-height:auto;max-width:1500px;width:100%;margin:0 auto;overflow-x:hidden;box-sizing:border-box}.demo-navigation{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding:.8rem;background:#ffffff0d;border-radius:10px;border:1px solid rgba(79,172,254,.2)}.demo-nav-button{padding:.5rem 1rem;background:#ffffff1a;border:1px solid rgba(79,172,254,.3);border-radius:15px;color:#fff;font-size:.85rem;cursor:pointer;transition:all .3s ease;font-weight:500;white-space:nowrap}.demo-nav-button:hover{background:#4facfe33;border-color:#4facfe;transform:translateY(-2px);box-shadow:0 5px 15px #4facfe4d}.demo-nav-button.active{background:linear-gradient(45deg,#00f2fe,#4facfe);border-color:transparent;box-shadow:0 5px 20px #4facfe80}.demo-content{flex:1;animation:fadeIn .4s ease-in-out;max-width:100%;width:100%;overflow-x:hidden;box-sizing:border-box}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.demo-arrows{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 0}.demo-counter{color:#4facfe;font-size:.9rem;font-weight:600}.arrow-button{padding:.6rem 1.2rem;background:linear-gradient(45deg,#00f2fe,#4facfe);border:none;border-radius:20px;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 3px 10px #4facfe66}.arrow-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 30px #4facfe99}.arrow-button:disabled{opacity:.3;cursor:not-allowed;transform:none}@media (max-width: 1024px){.synthesis-main-content{padding:.8rem}.synthesis-header h1{font-size:1.3rem}.subtitle{font-size:.8rem}}@media (max-width: 968px){.synthesis-main-content{padding:.5rem}.demo-navigation{flex-wrap:wrap;padding:.5rem}.demo-nav-button{font-size:.75rem;padding:.4rem .8rem}.demo-arrows{flex-wrap:wrap}.demo-counter{font-size:.8rem;order:3;width:100%;text-align:center;margin-top:.5rem}.arrow-button{flex:1}}@media (max-width: 768px){.sound-synthesis{padding-top:calc(var(--navbar-height, 70px) - 10px)}.synthesis-header{padding:.8rem 1rem}.synthesis-header h1{font-size:1.2rem}.subtitle{font-size:.75rem}}@media (max-width: 480px){.sound-synthesis{padding:0;padding-top:var(--navbar-height, 70px)}.synthesis-header{padding:.5rem}.synthesis-header h1{font-size:1rem}.subtitle{font-size:.7rem}.synthesis-main-content{padding:.3rem}.demo-nav-button{font-size:.7rem;padding:.3rem .6rem}.arrow-button{font-size:.75rem;padding:.5rem 1rem}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.synth-chain-container{width:100%;height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#1a1a2e,#16213e)}.synth-chain-header{padding:20px 40px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1)}.synth-chain-header h1{margin:0 0 10px;color:#fff;font-size:2rem;font-weight:700}.synth-chain-header p{margin:0;color:#ffffffb3;font-size:1rem}.synth-chain-flow{flex:1;position:relative}.react-flow__node{border-radius:8px;box-shadow:0 4px 12px #0000004d}.react-flow__handle{width:12px;height:12px;border-radius:50%;border:2px solid #fff}.react-flow__handle-left{left:-6px}.react-flow__handle-right{right:-6px}.synth-node{padding:15px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;min-width:200px}.synth-node.fm-synth{background:linear-gradient(135deg,#f093fb,#f5576c)}.synth-node.am-synth{background:linear-gradient(135deg,#4facfe,#00f2fe)}.synth-node.output{background:linear-gradient(135deg,#43e97b,#38f9d7)}.synth-node-header{font-weight:700;font-size:1.1rem;margin-bottom:10px;display:flex;align-items:center;gap:8px}.synth-node-controls{display:flex;flex-direction:column;gap:10px}.synth-node-control{display:flex;flex-direction:column;gap:4px}.synth-node-control label{font-size:.85rem;opacity:.9;display:flex;justify-content:space-between}.synth-node-control input[type=range]{width:100%;cursor:pointer}.synth-node-button{padding:8px 16px;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:4px;color:#fff;cursor:pointer;font-weight:600;transition:all .2s}.synth-node-button:hover{background:#ffffff4d;transform:translateY(-1px)}.synth-node-button.playing{background:#fff6;border-color:#ffffff80}.output-node{padding:20px 25px;background:linear-gradient(135deg,#43e97b,#38f9d7);border:2px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;min-width:150px;text-align:center}.output-node-icon{font-size:2rem;margin-bottom:8px}.output-node-label{font-weight:700;font-size:1.1rem}.synth-chain-panel{background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:15px;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.panel-buttons{display:flex;flex-direction:column;gap:10px}.panel-button{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #667eea4d}.panel-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea80}.synth-node.keyboard-synth{background:linear-gradient(135deg,#fa709a,#fee140);min-width:450px}.synth-select{width:100%;padding:6px 10px;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:4px;color:#fff;font-weight:600;cursor:pointer;font-size:.9rem}.synth-select option{background:#333;color:#fff}.piano-keyboard{position:relative;display:flex;height:120px;margin-top:10px;border-radius:4px;overflow:hidden;background:#000}.piano-key{position:relative;border:none;cursor:pointer;transition:all .05s;-webkit-user-select:none;user-select:none}.piano-key.white{flex:1;background:linear-gradient(to bottom,#fff,#f5f5f5);border:1px solid #000;border-radius:0 0 4px 4px;box-shadow:0 2px 4px #0003}.piano-key.white:hover{background:linear-gradient(to bottom,#f0f0f0,#e5e5e5)}.piano-key.white:active,.piano-key.white.active{background:linear-gradient(to bottom,#ddd,#ccc);box-shadow:inset 0 2px 4px #0000004d;transform:translateY(2px)}.piano-key.black{position:absolute;width:30px;height:70px;background:linear-gradient(to bottom,#333,#000);border-radius:0 0 3px 3px;box-shadow:0 3px 6px #00000080;z-index:2}.piano-key.black:hover{background:linear-gradient(to bottom,#444,#111)}.piano-key.black:active,.piano-key.black.active{background:linear-gradient(to bottom,#222,#000);box-shadow:inset 0 2px 4px #00000080;transform:translateY(2px)}.piano-key.black:nth-of-type(2){left:calc((100% / 15) * .7)}.piano-key.black:nth-of-type(4){left:12%}.piano-key.black:nth-of-type(7){left:calc((100% / 15) * 3.7)}.piano-key.black:nth-of-type(9){left:32%}.piano-key.black:nth-of-type(11){left:calc((100% / 15) * 5.9)}.piano-key.black:nth-of-type(14){left:calc((100% / 15) * 7.7)}.piano-key.black:nth-of-type(16){left:calc((100% / 15) * 8.8)}.key-label{position:absolute;bottom:8px;left:50%;transform:translate(-50%);font-size:.7rem;font-weight:600;color:#666;pointer-events:none}.keyboard-hint{font-size:.75rem;text-align:center;opacity:.8;margin-top:8px;font-style:italic}.sequence-controls{display:flex;flex-direction:column;gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);margin:8px 0}.sequence-buttons{display:flex;gap:8px}.sequence-btn{flex:1;padding:10px 16px;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.sequence-btn.generate-btn{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;box-shadow:0 2px 8px #f093fb4d}.sequence-btn.generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f093fb80}.sequence-btn.generate-btn:disabled{opacity:.5;cursor:not-allowed}.sequence-btn.play-btn{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff;box-shadow:0 2px 8px #43e97b4d}.sequence-btn.play-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #43e97b80}.sequence-btn.stop-btn{background:linear-gradient(135deg,#fa709a,#fee140);color:#333;box-shadow:0 2px 8px #fa709a4d;animation:pulse 1.5s ease-in-out infinite}.sequence-btn.stop-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #fa709a80}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.drum-machine-909{background:linear-gradient(180deg,#2a2a2a,#1a1a1a);min-height:100vh;padding:40px 20px;font-family:Arial,sans-serif;display:flex;justify-content:center;align-items:center}.container-909{width:100%;max-width:1200px;background:linear-gradient(145deg,#e8e8e8,silver);border-radius:20px;padding:40px;box-shadow:0 20px 60px #0009,inset 0 1px #ffffff4d;position:relative}.container-909:before{content:"";position:absolute;inset:15px;border:2px solid rgba(0,0,0,.1);border-radius:15px;pointer-events:none}.header-909{text-align:center;margin-bottom:30px;padding:20px;background:linear-gradient(180deg,#f44,#c00);border-radius:10px;box-shadow:0 4px 10px #0000004d,inset 0 1px #fff6}.header-909 h1{font-size:4em;font-weight:900;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5),0 0 20px rgba(255,100,100,.8);letter-spacing:.2em;margin:0;font-family:Impact,sans-serif}.subtitle{color:#fff;font-size:.9em;letter-spacing:.3em;margin:5px 0 0;text-shadow:0 1px 2px rgba(0,0,0,.5)}.controls-909{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:25px;background:linear-gradient(180deg,#f5f5f5,#d5d5d5);border-radius:12px;box-shadow:inset 0 2px 8px #0003,0 1px #ffffff80;gap:30px}.btn-909{padding:15px 40px;font-size:1.3em;font-weight:900;border:none;border-radius:8px;cursor:pointer;transition:all .1s;text-transform:uppercase;letter-spacing:.1em;font-family:Arial Black,sans-serif}.btn-play{background:linear-gradient(180deg,#4caf50,#2e7d32);color:#fff;box-shadow:0 5px #1b5e20,0 8px 15px #0000004d}.btn-play:active{transform:translateY(3px);box-shadow:0 2px #1b5e20,0 4px 8px #0000004d}.btn-play.playing{background:linear-gradient(180deg,#ff5252,#c62828);box-shadow:0 5px #8b0000,0 8px 15px #f006;animation:pulse-909 .5s ease-in-out infinite alternate}@keyframes pulse-909{0%{box-shadow:0 5px #8b0000,0 8px 15px #f006}to{box-shadow:0 5px #8b0000,0 8px 25px #ff0000b3}}.tempo-909{display:flex;flex-direction:column;align-items:center;gap:8px}.tempo-909 label{font-weight:900;font-size:.85em;color:#333;letter-spacing:.1em}.tempo-display{background:#1a1a1a;color:#f33;padding:10px 20px;font-size:1.8em;font-weight:900;font-family:Courier New,monospace;border-radius:4px;min-width:80px;text-align:center;box-shadow:inset 0 2px 8px #000c;text-shadow:0 0 10px rgba(255,51,51,.8)}.tempo-909 input[type=range]{width:200px;cursor:pointer;height:8px;background:linear-gradient(90deg,#2e7d32,#f33);border-radius:4px;outline:none}.presets-909{display:flex;gap:12px}.preset-909{padding:12px 20px;background:linear-gradient(180deg,#ffa726,#ef6c00);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:900;font-size:.9em;letter-spacing:.05em;box-shadow:0 3px #bf360c,0 5px 10px #0000004d;transition:all .1s}.preset-909:active{transform:translateY(2px);box-shadow:0 1px #bf360c,0 2px 5px #0000004d}.sequencer-909{background:linear-gradient(180deg,#2a2a2a,#1a1a1a);padding:30px;border-radius:12px;box-shadow:inset 0 4px 12px #00000080}.track-909{display:flex;align-items:center;gap:15px;margin-bottom:15px;padding:10px;background:#ffffff0d;border-radius:8px}.track-label-909{min-width:100px;font-weight:900;font-size:.85em;color:#f33;text-shadow:0 0 8px rgba(255,51,51,.6);letter-spacing:.05em;font-family:Arial Black,sans-serif}.steps-909{display:flex;gap:6px;flex:1}.step-909{width:40px;height:40px;background:linear-gradient(180deg,#555,#333);border:2px solid #222;border-radius:6px;cursor:pointer;transition:all .1s;position:relative;box-shadow:inset 0 -2px 4px #00000080,0 2px #ffffff1a}.step-909:active{transform:scale(.95)}.step-909.beat-start{border-left:3px solid #ff3333}.step-led{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;background:#1a1a1a;border-radius:50%;box-shadow:inset 0 1px 3px #000c}.step-909.active .step-led{background:#f33;box-shadow:0 0 10px #f33,0 0 20px #f339,inset 0 0 5px #ffffff4d}.step-909.current{background:linear-gradient(180deg,#4caf50,#2e7d32);border-color:#1b5e20;box-shadow:0 0 15px #4caf50cc,inset 0 -2px 4px #0000004d}.clear-909{padding:8px 16px;background:linear-gradient(180deg,#666,#444);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:900;font-size:.75em;letter-spacing:.1em;box-shadow:0 2px #222,0 4px 8px #0000004d;transition:all .1s}.clear-909:active{transform:translateY(1px);box-shadow:0 1px #222,0 2px 4px #0000004d}.footer-909{margin-top:20px;padding:15px;background:linear-gradient(180deg,#f5f5f5,#d5d5d5);border-radius:8px;box-shadow:inset 0 2px 6px #0003}.step-indicator{display:flex;justify-content:space-around}.step-num{width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.9em;color:#666;background:#ddd;border-radius:4px;box-shadow:inset 0 1px 3px #0003}.step-num.active{background:#f33;color:#fff;box-shadow:0 0 10px #f33c}@media (max-width: 768px){.container-909{padding:20px}.controls-909{flex-direction:column}.step-909{width:20px;height:30px}.step-led{width:10px;height:10px}.track-label-909{min-width:60px;font-size:.7em}}.drum-machine-v4-wrapper{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);min-height:100vh;padding:40px 20px;font-family:Courier New,monospace;color:#e94560}.drum-machine-v4-container{max-width:900px;margin:0 auto;background:#0f34604d;border:2px solid rgba(233,69,96,.5);border-radius:15px;padding:40px;box-shadow:0 0 30px #e945604d}.drum-machine-v4-wrapper h1{text-align:center;font-size:3em;margin-bottom:10px;text-shadow:0 0 20px rgba(233,69,96,.8);color:#e94560;letter-spacing:.1em}.subtitle{text-align:center;font-size:1.1em;color:#a8dadc;margin-bottom:30px;letter-spacing:.05em}.controls{display:flex;justify-content:center;gap:20px;margin:30px 0}.btn{padding:15px 40px;font-size:1.2em;font-weight:700;border:2px solid;border-radius:8px;cursor:pointer;font-family:Courier New,monospace;transition:all .3s;text-transform:uppercase;letter-spacing:.1em}.btn-start{background:linear-gradient(135deg,#00d4aa,#00a896);color:#fff;border-color:#00d4aa;box-shadow:0 0 15px #00d4aa66}.btn-start:hover{background:linear-gradient(135deg,#00f5cc,#00d4aa);box-shadow:0 0 25px #00d4aa99;transform:translateY(-2px)}.btn-stop{background:linear-gradient(135deg,#e94560,#c62e47);color:#fff;border-color:#e94560;box-shadow:0 0 15px #e9456066}.btn-stop:hover{background:linear-gradient(135deg,#ff5c7a,#e94560);box-shadow:0 0 25px #e9456099;transform:translateY(-2px)}.btn-external{background:linear-gradient(135deg,#6a5acd,#483d8b);color:#fff;border-color:#6a5acd;box-shadow:0 0 15px #6a5acd66;text-decoration:none;display:inline-block}.btn-external:hover{background:linear-gradient(135deg,#7b68ee,#6a5acd);box-shadow:0 0 25px #6a5acd99;transform:translateY(-2px)}.btn-close{background:linear-gradient(135deg,#666,#444);color:#fff;border-color:#666;box-shadow:0 0 15px #6666;padding:10px 25px;font-size:1em}.btn-close:hover{background:linear-gradient(135deg,#888,#666);box-shadow:0 0 25px #6669;transform:translateY(-2px)}.iframe-controls{margin-bottom:20px;text-align:right}.webpd-iframe-container{width:100%;height:80vh;min-height:600px;border:2px solid rgba(233,69,96,.5);border-radius:10px;overflow:hidden;background:#000}.webpd-iframe{width:100%;height:100%;border:none}.loading-message,.error-message{text-align:center;padding:30px;margin:20px 0;border-radius:8px;font-size:1.1em}.loading-message{background:#00a8961a;border:1px solid rgba(0,212,170,.3);color:#00d4aa}.error-message{background:#e945601a;border:1px solid rgba(233,69,96,.3);color:#e94560}.info{margin:40px 0;padding:25px;background:#16213e80;border-left:4px solid #e94560;border-radius:4px}.info p{color:#a8dadc;line-height:1.8;margin-bottom:10px}.patch-info{margin-top:30px;padding:20px;background:#0f346066;border:1px solid rgba(168,218,220,.3);border-radius:8px}.patch-info h3{color:#a8dadc;font-size:.9em;margin-bottom:10px;letter-spacing:.05em}.patch-info code{color:#00d4aa;background:#0000004d;padding:8px 15px;border-radius:4px;display:inline-block;font-size:.95em}@media (max-width: 768px){.drum-machine-v4-wrapper h1{font-size:2em}.controls{flex-direction:column}.btn{width:100%}}.drum-machine-basic-wrapper{background:linear-gradient(135deg,#2d1b69,#1a0f3d,#0d0622);min-height:100vh;padding:40px 20px;font-family:Courier New,monospace;color:#9d4edd}.drum-machine-basic-container{max-width:900px;margin:0 auto;background:#0d062266;border:2px solid rgba(157,78,221,.5);border-radius:15px;padding:40px;box-shadow:0 0 30px #9d4edd4d}.drum-machine-basic-wrapper h1{text-align:center;font-size:3em;margin-bottom:10px;text-shadow:0 0 20px rgba(157,78,221,.8);color:#9d4edd;letter-spacing:.1em}.drum-machine-basic-wrapper .subtitle{text-align:center;font-size:1.1em;color:#c77dff;margin-bottom:30px;letter-spacing:.05em}.drum-machine-basic-wrapper .controls{display:flex;justify-content:center;gap:20px;margin:30px 0}.drum-machine-basic-wrapper .btn{padding:15px 40px;font-size:1.2em;font-weight:700;border:2px solid;border-radius:8px;cursor:pointer;font-family:Courier New,monospace;transition:all .3s;text-transform:uppercase;letter-spacing:.1em}.drum-machine-basic-wrapper .btn-start{background:linear-gradient(135deg,#7209b7,#560bad);color:#fff;border-color:#9d4edd;box-shadow:0 0 15px #9d4edd66}.drum-machine-basic-wrapper .btn-start:hover{background:linear-gradient(135deg,#9d4edd,#7209b7);box-shadow:0 0 25px #9d4edd99;transform:translateY(-2px)}.drum-machine-basic-wrapper .btn-stop{background:linear-gradient(135deg,#f72585,#d4006d);color:#fff;border-color:#f72585;box-shadow:0 0 15px #f7258566}.drum-machine-basic-wrapper .btn-stop:hover{background:linear-gradient(135deg,#ff4da6,#f72585);box-shadow:0 0 25px #f7258599;transform:translateY(-2px)}.drum-machine-basic-wrapper .btn-external{background:linear-gradient(135deg,#6a5acd,#483d8b);color:#fff;border-color:#6a5acd;box-shadow:0 0 15px #6a5acd66;text-decoration:none;display:inline-block}.drum-machine-basic-wrapper .btn-external:hover{background:linear-gradient(135deg,#7b68ee,#6a5acd);box-shadow:0 0 25px #6a5acd99;transform:translateY(-2px)}.drum-machine-basic-wrapper .btn-close{background:linear-gradient(135deg,#666,#444);color:#fff;border-color:#666;box-shadow:0 0 15px #6666;padding:10px 25px;font-size:1em}.drum-machine-basic-wrapper .btn-close:hover{background:linear-gradient(135deg,#888,#666);box-shadow:0 0 25px #6669;transform:translateY(-2px)}.drum-machine-basic-wrapper .iframe-controls{margin-bottom:20px;text-align:right}.drum-machine-basic-wrapper .webpd-iframe-container{width:100%;height:80vh;min-height:600px;border:2px solid rgba(157,78,221,.5);border-radius:10px;overflow:hidden;background:#000}.drum-machine-basic-wrapper .webpd-iframe{width:100%;height:100%;border:none}.drum-machine-basic-wrapper .loading-message,.drum-machine-basic-wrapper .error-message{text-align:center;padding:30px;margin:20px 0;border-radius:8px;font-size:1.1em}.drum-machine-basic-wrapper .loading-message{background:#7209b71a;border:1px solid rgba(157,78,221,.3);color:#9d4edd}.drum-machine-basic-wrapper .error-message{background:#f725851a;border:1px solid rgba(247,37,133,.3);color:#f72585}.drum-machine-basic-wrapper .info{margin:40px 0;padding:25px;background:#2d1b6980;border-left:4px solid #9d4edd;border-radius:4px}.drum-machine-basic-wrapper .info p{color:#c77dff;line-height:1.8;margin-bottom:10px}.drum-machine-basic-wrapper .patch-info{margin-top:30px;padding:20px;background:#0d062280;border:1px solid rgba(199,125,255,.3);border-radius:8px}.drum-machine-basic-wrapper .patch-info h3{color:#c77dff;font-size:.9em;margin-bottom:10px;letter-spacing:.05em}.drum-machine-basic-wrapper .patch-info code{color:#9d4edd;background:#0000004d;padding:8px 15px;border-radius:4px;display:inline-block;font-size:.95em}@media (max-width: 768px){.drum-machine-basic-wrapper h1{font-size:2em}.drum-machine-basic-wrapper .controls{flex-direction:column}.drum-machine-basic-wrapper .btn{width:100%}}.ReactPiano__Keyboard{position:relative;display:flex}.ReactPiano__Key{display:flex}.ReactPiano__Key--accidental{background:#555;border:1px solid #fff;border-top:1px solid transparent;border-radius:0 0 4px 4px;cursor:pointer;height:66%;z-index:1;position:absolute;top:0}.ReactPiano__Key--natural{background:#f6f5f3;border:1px solid #888;border-radius:0 0 6px 6px;cursor:pointer;z-index:0;flex:1;margin-right:1px}.ReactPiano__Key--natural:last-child{margin-right:0}.ReactPiano__Key--active{background:#3ac8da}.ReactPiano__Key--active.ReactPiano__Key--accidental{border:1px solid #fff;border-top:1px solid #3ac8da;height:65%}.ReactPiano__Key--active.ReactPiano__Key--natural{border:1px solid #3ac8da;height:98%}.ReactPiano__Key--disabled.ReactPiano__Key--accidental{background:#ddd;border:1px solid #999}.ReactPiano__Key--disabled.ReactPiano__Key--natural{background:#eee;border:1px solid #aaa}.ReactPiano__NoteLabelContainer{flex:1;align-self:flex-end}.ReactPiano__NoteLabel{font-size:12px;text-align:center;text-transform:capitalize;-webkit-user-select:none;user-select:none}.ReactPiano__NoteLabel--accidental{color:#f8e8d5;margin-bottom:3px}.ReactPiano__NoteLabel--natural{color:#888;margin-bottom:3px}.ReactPiano__NoteLabel--natural.ReactPiano__NoteLabel--active{color:#f8e8d5}.react-piano-wrapper{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);min-height:100vh;height:auto;padding:200px 20px 100px;font-family:Courier New,monospace;color:#e94560;overflow-y:auto}.react-piano-container{max-width:1200px;margin:0 auto;padding:40px;background:#0f34604d;border:2px solid rgba(233,69,96,.5);border-radius:15px;box-shadow:0 0 30px #e945604d}.react-piano-wrapper h1{text-align:center;font-size:3em;margin-bottom:10px;text-shadow:0 0 20px rgba(233,69,96,.8);color:#e94560;letter-spacing:.1em}.react-piano-wrapper .subtitle{text-align:center;font-size:1.1em;color:#a8dadc;margin-bottom:40px;letter-spacing:.05em}.react-piano-wrapper .controls{display:flex;justify-content:center;margin-bottom:40px}.react-piano-wrapper .octave-control{text-align:center}.react-piano-wrapper .octave-control label{display:block;margin-bottom:15px;font-size:1.1em;color:#a8dadc;letter-spacing:.05em}.react-piano-wrapper .octave-buttons{display:flex;gap:15px;justify-content:center}.react-piano-wrapper .btn{padding:12px 30px;font-size:1em;font-weight:700;border:2px solid;border-radius:8px;cursor:pointer;font-family:Courier New,monospace;transition:all .3s;text-transform:uppercase;letter-spacing:.1em}.react-piano-wrapper .btn-octave{background:linear-gradient(135deg,#00d4aa,#00a896);color:#fff;border-color:#00d4aa;box-shadow:0 0 15px #00d4aa66}.react-piano-wrapper .btn-octave:hover:not(:disabled){background:linear-gradient(135deg,#00f5cc,#00d4aa);box-shadow:0 0 25px #00d4aa99;transform:translateY(-2px)}.react-piano-wrapper .btn-octave:disabled{opacity:.3;cursor:not-allowed}.react-piano-wrapper .piano-container{display:flex;justify-content:center;margin:40px 0;padding:30px;background:#0000004d;border-radius:15px;overflow-x:auto}.react-piano-wrapper .info{margin-top:40px;padding:25px;background:#16213e80;border-left:4px solid #e94560;border-radius:4px}.react-piano-wrapper .info h3{color:#a8dadc;margin-bottom:15px;font-size:1.2em;letter-spacing:.05em}.react-piano-wrapper .info ul{list-style:none;padding:0}.react-piano-wrapper .info li{color:#a8dadc;line-height:1.8;margin-bottom:8px;padding-left:20px;position:relative}.react-piano-wrapper .info li:before{content:"▸";position:absolute;left:0;color:#e94560}.react-piano-wrapper .credits{text-align:center;margin-top:30px;padding:20px;color:#a8dadcb3;font-size:.9em}.react-piano-wrapper .credits a{color:#00d4aa;text-decoration:none;transition:all .3s}.react-piano-wrapper .credits a:hover{color:#00f5cc;text-shadow:0 0 10px rgba(0,212,170,.6)}@media (max-width: 768px){.react-piano-wrapper h1{font-size:2em}.react-piano-wrapper .piano-container{padding:15px}.react-piano-wrapper .octave-buttons{flex-direction:column}}.reactronica-wrapper{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);min-height:100vh;height:auto;padding:200px 20px 100px;font-family:Courier New,monospace;color:#e94560;overflow-y:auto}.reactronica-wrapper:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 30% 40%,rgba(233,69,96,.1) 0%,transparent 50%),radial-gradient(circle at 70% 70%,rgba(15,52,96,.2) 0%,transparent 50%);pointer-events:none;z-index:0}.reactronica-wrapper *{margin:0;padding:0;box-sizing:border-box}.reactronica-container{width:100%;max-width:1400px;margin:0 auto;padding:40px;background:#0f34604d;border:2px solid rgba(233,69,96,.5);border-radius:15px;box-shadow:0 0 30px #e945604d;position:relative;z-index:1}.reactronica-wrapper h1{text-align:center;font-size:3em;margin-bottom:10px;text-shadow:0 0 20px rgba(233,69,96,.8);color:#e94560;letter-spacing:.2em}.reactronica-wrapper .subtitle{text-align:center;font-size:1.1em;color:#a8dadc;margin-bottom:40px;letter-spacing:.05em}.transport-controls{display:flex;gap:30px;align-items:center;justify-content:center;margin-bottom:40px;padding:25px;background:#e9456014;border:1px solid rgba(233,69,96,.3);border-radius:10px;flex-wrap:wrap}.btn{padding:12px 30px;font-size:1em;font-weight:700;border:2px solid;border-radius:8px;cursor:pointer;font-family:Courier New,monospace;transition:all .3s;text-transform:uppercase;letter-spacing:.1em}.btn-transport{background:linear-gradient(135deg,#e94560,#d63447);color:#fff;border-color:#e94560;box-shadow:0 0 15px #e9456066;padding:15px 40px;font-size:1.2em}.btn-transport:hover{background:linear-gradient(135deg,#ff5571,#e94560);box-shadow:0 0 25px #e9456099;transform:translateY(-2px)}.btn-transport.playing{background:linear-gradient(135deg,#00d4aa,#00a896);border-color:#00d4aa;animation:pulse-play 2s ease-in-out infinite}@keyframes pulse-play{0%,to{box-shadow:0 0 20px #00d4aa99}50%{box-shadow:0 0 40px #00d4aae6}}.control-group{display:flex;flex-direction:column;gap:10px;min-width:200px}.control-group label{color:#a8dadc;font-size:.9em;letter-spacing:.1em}.control-group input[type=range]{width:100%;cursor:pointer;accent-color:#e94560}.section{margin-bottom:40px;padding:25px;background:#1a1a2e80;border:1px solid rgba(233,69,96,.2);border-radius:10px;box-shadow:inset 0 0 20px #0000004d}.section h2{font-size:1.5em;margin-bottom:20px;color:#e94560;letter-spacing:.15em;text-shadow:0 0 10px rgba(233,69,96,.6)}.track-row{display:flex;flex-direction:column;gap:10px;margin-bottom:15px;padding:15px;background:#e945600d;border-radius:8px;border:1px solid rgba(233,69,96,.15)}.track-header{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.track-name{font-weight:700;color:#e94560;font-size:.95em;letter-spacing:.1em;min-width:80px}.track-controls{display:flex;align-items:center;gap:10px;flex:1}.track-actions{display:flex;gap:8px}.btn-mute{background:#e9456033;color:#e94560;border:1px solid rgba(233,69,96,.4);padding:6px 12px;font-size:.75em;cursor:pointer;transition:all .2s;border-radius:4px;font-family:Courier New,monospace;min-width:35px}.btn-mute.active{background:#e94560;color:#fff;box-shadow:0 0 10px #e9456099}.volume-slider{flex:1;min-width:100px}.volume-value{color:#a8dadc;font-size:.9em;min-width:35px;text-align:right}.btn-small,.btn-clear{background:#e9456033;color:#e94560;border:1px solid rgba(233,69,96,.4);padding:6px 12px;font-size:.75em;cursor:pointer;transition:all .2s;border-radius:4px;font-family:Courier New,monospace;text-transform:uppercase}.btn-small:hover,.btn-clear:hover{background:#e9456066;border-color:#e9456099}.steps{display:flex;gap:4px;flex:1;flex-wrap:wrap}.step{width:35px;height:35px;background:#e9456026;border:2px solid rgba(233,69,96,.3);cursor:pointer;transition:all .2s;border-radius:4px}.step:hover{background:#e945604d;border-color:#e9456080;transform:scale(1.05)}.step.active{background:linear-gradient(135deg,#e94560,#d63447);border-color:#ff5571;box-shadow:0 0 12px #e94560b3}.step.measure-start{border-left-width:3px;border-left-color:#e9456099}.info{margin-top:40px;padding:25px;background:#16213e80;border-left:4px solid #e94560;border-radius:4px}.info h3{color:#a8dadc;margin-bottom:15px;font-size:1.2em;letter-spacing:.05em}.info ul{list-style:none;padding:0}.info li{color:#a8dadc;line-height:1.8;margin-bottom:8px;padding-left:20px;position:relative}.info li:before{content:"▸";position:absolute;left:0;color:#e94560}.credits{text-align:center;margin-top:30px;padding:20px;color:#a8dadcb3;font-size:.9em}.credits a{color:#e94560;text-decoration:none;transition:all .3s}.credits a:hover{color:#ff5571;text-shadow:0 0 10px rgba(233,69,96,.6)}.effects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.effect-control{display:flex;flex-direction:column;gap:10px}.effect-control label{color:#a8dadc;font-size:.9em}.mixer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px}.mixer-channel{padding:20px;background:#e9456014;border:1px solid rgba(233,69,96,.3);border-radius:8px}.mixer-channel h3{color:#e94560;margin-bottom:15px;font-size:1.1em;letter-spacing:.1em;text-align:center}.channel-controls{display:flex;flex-direction:column;gap:15px}.channel-controls label{color:#a8dadc;font-size:.85em;text-align:center}.channel-controls input[type=range]{width:100%}@media (max-width: 768px){.reactronica-wrapper h1{font-size:2em}.transport-controls{flex-direction:column;gap:15px}.control-group{width:100%}.step{width:18px;height:30px}.track-header{min-width:80px}.track-name{font-size:.8em}.mixer-grid{grid-template-columns:1fr 1fr}.effects-grid{grid-template-columns:1fr}}.synth-knob-container{display:flex;flex-direction:column;align-items:center;gap:4px;-webkit-user-select:none;user-select:none}.synth-knob{width:70px;height:70px;cursor:ns-resize;touch-action:none}.synth-knob.dragging{cursor:ns-resize}.synth-knob-svg{width:100%;height:100%;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.synth-knob:hover .synth-knob-svg{filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))}.synth-knob-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#ffffffb3;text-align:center}.synth-knob-value{font-size:12px;font-weight:500;font-family:Courier New,monospace;text-align:center}body.synth-dragging{cursor:ns-resize!important}body.synth-dragging *{-webkit-user-select:none!important;user-select:none!important}.virtual-keyboard{display:flex;flex-direction:column;align-items:center;gap:15px;padding:20px;background:#0000004d;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.keyboard-controls{display:flex;align-items:center;gap:15px}.octave-btn{padding:8px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.octave-btn:hover{background:#fff3}.octave-btn:active{transform:scale(.95)}.octave-display{font-size:18px;font-weight:700;color:#00d4ff;min-width:40px;text-align:center}.piano-container{position:relative;height:150px;width:360px}.piano-key{position:absolute;cursor:pointer;transition:all .05s ease;border-radius:0 0 6px 6px}.white-key{width:38px;height:150px;background:linear-gradient(180deg,#f0f0f0,#d0d0d0);border:1px solid #999;z-index:1}.white-key:hover{background:linear-gradient(180deg,#fff,#e0e0e0)}.white-key.active{background:linear-gradient(180deg,#00d4ff,#09c);transform:translateY(2px);box-shadow:0 0 20px #00d4ff80}.black-key{width:24px;height:95px;background:linear-gradient(180deg,#2a2a2a,#1a1a1a);border:1px solid #000;z-index:2}.black-key:hover{background:linear-gradient(180deg,#3a3a3a,#2a2a2a)}.black-key.active{background:linear-gradient(180deg,#f0a,#c08);transform:translateY(2px);box-shadow:0 0 15px #ff00aa80}.keyboard-hint{font-size:12px;color:#ffffff80;text-align:center}.wam-synth-init{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a0a0a,#1a1a2e,#0a0a0a);color:#fff;font-family:Google Sans,-apple-system,BlinkMacSystemFont,sans-serif}.init-content{text-align:center;max-width:500px;padding:40px}.init-content h1{font-size:48px;margin-bottom:10px;background:linear-gradient(135deg,#00d4ff,#f0a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.init-content p{color:#ffffffb3;font-size:18px;margin-bottom:15px}.init-content .description{font-size:14px;line-height:1.6;margin-bottom:30px}.error-message{color:#f44!important;padding:10px;background:#ff44441a;border-radius:8px;margin-bottom:20px}.init-button{padding:16px 40px;font-size:18px;font-weight:600;background:linear-gradient(135deg,#00d4ff,#f0a);border:none;border-radius:50px;color:#fff;cursor:pointer;transition:all .3s ease}.init-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px #00d4ff66}.init-button:disabled{opacity:.7;cursor:not-allowed}.hint{font-size:12px!important;color:#fff6!important;margin-top:20px!important}.wam-synth{min-height:100vh;background:linear-gradient(135deg,#0a0a0a,#1a1a2e,#0a0a0a);color:#fff;font-family:Google Sans,-apple-system,BlinkMacSystemFont,sans-serif;padding:80px 20px 40px}.synth-header{display:flex;justify-content:space-between;align-items:center;max-width:1000px;margin:0 auto 30px;padding:0 20px}.synth-header h1{font-size:32px;background:linear-gradient(135deg,#00d4ff,#f0a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.midi-controls{display:flex;gap:10px}.midi-btn{padding:10px 20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.midi-btn:hover{background:#fff3}.midi-select{padding:10px 15px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:14px;min-width:200px;cursor:pointer}.midi-select option{background:#1a1a2e;color:#fff}.synth-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;max-width:1000px;margin:0 auto 30px}.synth-section{background:#0000004d;border-radius:16px;border:1px solid rgba(255,255,255,.1);padding:20px}.synth-section h2{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#fff9;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1)}.oscillators{grid-column:span 2}.osc-row{display:flex;gap:30px;justify-content:space-around;flex-wrap:wrap}.osc-group{display:flex;flex-direction:column;align-items:center;gap:15px}.osc-group h3{font-size:12px;font-weight:600;color:#fffc}.osc-type-select{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;max-width:200px}.osc-type-btn{padding:6px 10px;font-size:11px;font-weight:600;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#fff9;cursor:pointer;transition:all .2s ease}.osc-type-btn:hover{background:#ffffff1a;color:#fff}.osc-type-btn.active{background:linear-gradient(135deg,#00d4ff,#f0a);border-color:transparent;color:#fff}.mix-group{display:flex;align-items:center;padding-top:30px}.knob-row{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.master{display:flex;flex-direction:column;align-items:center}.master .knob-row{flex:1;align-items:center}.synth-footer{text-align:center;padding:20px;color:#fff6;font-size:12px;max-width:1000px;margin:30px auto 0}@media (max-width: 768px){.wam-synth{padding:70px 10px 20px}.synth-header{flex-direction:column;gap:15px;text-align:center}.synth-panel{grid-template-columns:1fr}.oscillators{grid-column:span 1}.osc-row{flex-direction:column;align-items:center}.knob-row{gap:10px}}.faust-playground,.faust-playground-init{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#e8e8e8;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.faust-playground-init{display:flex;align-items:center;justify-content:center;padding:40px 20px}.init-content{text-align:center;max-width:600px}.init-content h1{font-size:3rem;margin-bottom:10px;background:linear-gradient(135deg,#00d4ff,#9b59b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.init-content>p{font-size:1.2rem;color:#a0a0a0;margin-bottom:20px}.init-content .description{font-size:1rem;color:#888;line-height:1.6;margin-bottom:30px}.init-button{background:linear-gradient(135deg,#00d4ff,#9b59b6);border:none;color:#fff;font-size:1.2rem;padding:15px 40px;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:600}.init-button:hover{transform:translateY(-2px);box-shadow:0 10px 30px #00d4ff4d}.init-content .hint{font-size:.85rem;color:#666;margin-top:15px}.faust-playground{display:flex;flex-direction:column;padding:20px}.faust-header{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;background:#0000004d;border-radius:10px;margin-bottom:20px}.faust-header h1{font-size:1.5rem;margin:0;background:linear-gradient(135deg,#00d4ff,#9b59b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.faust-status{font-size:.9rem;color:#888;background:#ffffff1a;padding:6px 12px;border-radius:4px}.faust-main{display:grid;grid-template-columns:1fr 350px;gap:20px;flex:1}@media (max-width: 900px){.faust-main{grid-template-columns:1fr}}.faust-editor-section{display:flex;flex-direction:column;background:#0000004d;border-radius:10px;padding:20px}.editor-toolbar{display:flex;align-items:center;gap:15px;margin-bottom:15px;flex-wrap:wrap}.preset-select{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 15px;border-radius:6px;font-size:.95rem;cursor:pointer;min-width:180px}.preset-select option{background:#1a1a2e;color:#fff}.preset-description{color:#888;font-size:.9rem;margin:0}.faust-code-editor{flex:1;min-height:400px;background:#0d0d1a;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:15px;font-family:Fira Code,Monaco,Consolas,monospace;font-size:.9rem;color:#e8e8e8;resize:vertical;line-height:1.5;tab-size:2}.faust-code-editor:focus{outline:none;border-color:#00d4ff}.editor-controls{display:flex;gap:10px;margin-top:15px}.compile-btn,.stop-btn{padding:12px 30px;font-size:1rem;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.compile-btn{background:linear-gradient(135deg,#00d4ff,#09c);color:#fff}.compile-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 20px #00d4ff4d}.compile-btn:disabled{opacity:.6;cursor:not-allowed}.stop-btn{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.stop-btn:hover{transform:translateY(-1px);box-shadow:0 5px 20px #e74c3c4d}.error-panel{margin-top:15px;padding:12px 15px;background:#e74c3c33;border:1px solid rgba(231,76,60,.5);border-radius:6px;color:#ff6b6b;font-size:.9rem}.error-message{color:#ff6b6b;margin-bottom:20px}.faust-controls-section{background:#0000004d;border-radius:10px;padding:20px}.faust-controls-section h2{font-size:1.2rem;margin:0 0 20px;color:#00d4ff}.controls-grid{display:flex;flex-direction:column;gap:15px}.no-controls{color:#666;text-align:center;padding:30px}.faust-slider{display:flex;flex-direction:column;gap:6px}.faust-slider label{font-size:.85rem;color:#aaa;text-transform:capitalize}.faust-slider input[type=range]{width:100%;height:6px;appearance:none;background:#ffffff1a;border-radius:3px;cursor:pointer}.faust-slider input[type=range]::-webkit-slider-thumb{appearance:none;width:16px;height:16px;background:linear-gradient(135deg,#00d4ff,#9b59b6);border-radius:50%;cursor:pointer}.faust-slider input[type=range]::-moz-range-thumb{width:16px;height:16px;background:linear-gradient(135deg,#00d4ff,#9b59b6);border-radius:50%;cursor:pointer;border:none}.faust-value{font-size:.8rem;color:#00d4ff;font-family:Fira Code,monospace}.faust-button{background:linear-gradient(135deg,#9b59b6,#8e44ad);border:none;color:#fff;padding:12px 20px;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:capitalize}.faust-button:hover{transform:scale(1.02)}.faust-button:active{transform:scale(.98);background:linear-gradient(135deg,#8e44ad,#7d3c98)}.faust-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;color:#aaa}.faust-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:#00d4ff}.faust-footer{margin-top:20px;padding:15px;text-align:center;color:#666;font-size:.85rem}.faust-footer a{color:#00d4ff;text-decoration:none}.faust-footer a:hover{text-decoration:underline}.stem-separator{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#e8e8e8;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding:20px}.stem-header{text-align:center;padding:80px 20px 30px}.stem-header h1{font-size:2.5rem;margin:0 0 10px;background:linear-gradient(135deg,#e74c3c,#9b59b6,#3498db);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stem-header p{color:#888;font-size:1.1rem;margin:0}.stem-main{max-width:900px;margin:0 auto}.mode-toggle{display:flex;justify-content:center;gap:10px;margin-bottom:30px;padding:5px;background:#0000004d;border-radius:12px;max-width:500px;margin-left:auto;margin-right:auto}.mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:transparent;border:none;border-radius:8px;color:#888;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.mode-btn:hover{color:#fff;background:#ffffff0d}.mode-btn.active{background:linear-gradient(135deg,#9b59b6,#e74c3c);color:#fff}.mode-btn svg{width:20px;height:20px}.local-mode-section{background:#ffffff0d;border-radius:16px;padding:30px}.model-selection{margin-bottom:30px}.model-selection h3{margin:0 0 15px;color:#aaa;font-size:.9rem;text-transform:uppercase;letter-spacing:1px;text-align:center}.model-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.model-option{background:#0000004d;border:2px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;text-align:left;cursor:pointer;transition:all .3s ease}.model-option:hover{border-color:#9b59b680;background:#9b59b61a}.model-option.active{border-color:#9b59b6;background:#9b59b633}.model-option.loaded{border-color:#2ecc7180}.model-option.active.loaded{border-color:#2ecc71}.model-option-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.model-stems{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#9b59b6,#e74c3c);border-radius:6px;color:#fff;font-weight:700;font-size:1rem}.model-name{font-size:1.1rem;font-weight:600;color:#fff;flex:1}.model-loaded-badge{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#2ecc7133;border-radius:50%;color:#2ecc71;font-size:.9rem}.model-description{margin:0 0 8px;color:#888;font-size:.85rem;line-height:1.4}.model-size{display:inline-block;padding:3px 8px;background:#ffffff1a;border-radius:4px;color:#666;font-size:.75rem}.model-status{text-align:center;padding:40px}.model-status p{color:#aaa;margin:0 0 20px}.loading-spinner{width:50px;height:50px;border:4px solid rgba(155,89,182,.2);border-top-color:#9b59b6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{to{transform:rotate(360deg)}}.mini-progress{width:200px;height:6px;background:#ffffff1a;border-radius:3px;margin:15px auto;overflow:hidden}.mini-progress-fill{height:100%;background:linear-gradient(90deg,#9b59b6,#e74c3c);border-radius:3px;transition:width .3s ease}.load-model-btn{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;background:linear-gradient(135deg,#9b59b6,#e74c3c);border:none;border-radius:10px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.load-model-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px #9b59b64d}.load-model-btn svg{width:20px;height:20px}.upload-section{background:#ffffff0d;border:2px dashed rgba(255,255,255,.2);border-radius:16px;padding:60px 40px;text-align:center;cursor:pointer;transition:all .3s ease;position:relative}.upload-section:hover{border-color:#9b59b680;background:#9b59b61a}.upload-icon{width:80px;height:80px;margin:0 auto 20px;color:#9b59b6}.upload-icon svg{width:100%;height:100%}.upload-section h2{font-size:1.5rem;margin:0 0 10px;color:#fff}.upload-section>p{color:#888;margin:0 0 10px}.file-input{position:absolute;inset:0;opacity:0;cursor:pointer}.supported-formats{font-size:.85rem;color:#666;margin-top:20px}.file-section{background:#0000004d;border-radius:16px;padding:30px}.file-info{display:flex;align-items:center;gap:15px;padding:20px;background:#ffffff0d;border-radius:12px;margin-bottom:20px}.file-icon{width:50px;height:50px;color:#9b59b6}.file-icon svg{width:100%;height:100%}.file-details{flex:1}.file-details h3{margin:0 0 5px;font-size:1.1rem;color:#fff;word-break:break-all}.file-details p{margin:0;color:#888;font-size:.9rem}.remove-btn{width:40px;height:40px;background:#e74c3c33;border:none;border-radius:8px;color:#e74c3c;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.remove-btn:hover{background:#e74c3c66}.remove-btn svg{width:20px;height:20px}.region-selection{margin-bottom:25px;background:#0000004d;border-radius:12px;padding:20px}.region-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:10px}.region-header h4,.region-selection h4{margin:0;color:#aaa;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.region-info{display:flex;align-items:center;gap:15px}.region-hint{margin:15px 0 0;color:#666;font-size:.8rem;text-align:center;font-style:italic}.waveform-container{position:relative;margin-bottom:15px;border-radius:8px;overflow:hidden;background:#0006}.waveform-canvas{width:100%;height:80px;display:block;cursor:crosshair}.region-controls{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.time-input{display:flex;align-items:center;gap:8px}.time-input label{color:#888;font-size:.85rem;min-width:40px}.time-input input{width:80px;padding:8px 10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:.9rem;text-align:center;font-family:SF Mono,Monaco,Consolas,monospace}.time-input input:focus{outline:none;border-color:#9b59b6;background:#9b59b61a}.region-duration{color:#9b59b6;font-size:.9rem;font-weight:600;padding:8px 12px;background:#9b59b626;border-radius:6px}.select-all-btn{padding:8px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:.85rem;cursor:pointer;transition:all .2s ease;margin-left:auto}.select-all-btn:hover{background:#fff3;border-color:#ffffff4d}.original-player{margin-bottom:20px}.original-player h4{margin:0 0 10px;color:#aaa;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.audio-player{width:100%;height:50px;border-radius:8px}.process-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 30px;background:linear-gradient(135deg,#2ecc71,#27ae60);border:none;border-radius:12px;color:#fff;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.process-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px #2ecc714d}.process-btn svg{width:24px;height:24px}.features-list{display:flex;justify-content:center;gap:30px;margin-top:30px;flex-wrap:wrap}.feature{display:flex;align-items:center;gap:10px;color:#888;font-size:.9rem}.feature-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#9b59b6,#e74c3c);border-radius:6px;color:#fff;font-weight:700;font-size:.75rem}.iframe-mode-section{text-align:center}.iframe-info{background:#ffffff0d;border-radius:16px;padding:40px;margin-bottom:30px}.iframe-icon{width:60px;height:60px;margin:0 auto 20px;color:#3498db}.iframe-icon svg{width:100%;height:100%}.iframe-info h2{margin:0 0 10px;color:#fff}.iframe-info>p{color:#888;margin:0 0 25px}.iframe-features{list-style:none;padding:0;text-align:left;max-width:300px;margin:0 auto 30px}.iframe-features li{padding:10px 0 10px 30px;position:relative;color:#aaa}.iframe-features li:before{content:"✓";position:absolute;left:0;color:#2ecc71;font-weight:700}.launch-iframe-btn{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:10px;color:#fff;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.launch-iframe-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px #3498db4d}.launch-iframe-btn svg{width:22px;height:22px}.alt-services{background:#0003;border-radius:12px;padding:25px}.alt-services h3{margin:0 0 15px;color:#fff;font-size:1rem}.alt-link{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;background:#0000004d;border-radius:8px;color:#fff;text-decoration:none;transition:all .2s ease;margin-bottom:10px}.alt-link:last-child{margin-bottom:0}.alt-link:hover{background:#ffffff1a;text-decoration:none}.badge{font-size:.75rem;padding:3px 8px;border-radius:4px;font-weight:600}.badge.free{background:#2ecc7133;color:#2ecc71}.badge.paid{background:#f1c40f33;color:#f1c40f}.badge.freemium{background:#3498db33;color:#3498db}.processing-section{text-align:center;padding:60px 40px;background:#ffffff0d;border-radius:16px}.processing-animation{margin-bottom:30px}.wave-bars{display:flex;justify-content:center;align-items:flex-end;gap:8px;height:60px}.wave-bar{width:12px;background:linear-gradient(135deg,#9b59b6,#e74c3c);border-radius:6px;animation:wave .8s ease-in-out infinite}.wave-bar:nth-child(1){height:20px}.wave-bar:nth-child(2){height:40px}.wave-bar:nth-child(3){height:60px}.wave-bar:nth-child(4){height:40px}.wave-bar:nth-child(5){height:20px}@keyframes wave{0%,to{transform:scaleY(1)}50%{transform:scaleY(.5)}}.processing-status{margin:20px 0}.progress-bar{height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin-bottom:10px}.progress-fill{height:100%;background:linear-gradient(90deg,#e74c3c,#9b59b6,#3498db);border-radius:4px;transition:width .3s ease}.processing-status p{color:#888;margin:0 0 5px}.progress-percent{color:#9b59b6;font-size:1.5rem;font-weight:700}.cancel-btn{padding:12px 30px;background:#ffffff1a;border:none;border-radius:8px;color:#fff;font-size:1rem;cursor:pointer;transition:all .2s ease;margin-top:20px}.cancel-btn:hover{background:#fff3}.stems-section{background:#0000004d;border-radius:16px;padding:30px}.stems-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;flex-wrap:wrap;gap:15px}.stems-header h2{margin:0;font-size:1.5rem;color:#fff}.stems-controls{display:flex;gap:10px}.play-all-btn,.reset-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.play-all-btn{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}.play-all-btn.playing{background:linear-gradient(135deg,#f39c12,#e67e22)}.play-all-btn:hover{transform:scale(1.02)}.play-all-btn svg{width:18px;height:18px}.reset-btn{background:#ffffff1a;color:#fff}.reset-btn:hover{background:#fff3}.stems-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.stem-card{background:#ffffff0d;border-radius:12px;padding:20px;border-left:4px solid var(--stem-color);transition:all .2s ease}.stem-card.muted{opacity:.5}.stem-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.stem-name{font-size:1.1rem;font-weight:600;color:var(--stem-color)}.stem-actions{display:flex;gap:5px}.solo-btn,.mute-btn{width:28px;height:28px;border:none;border-radius:4px;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .2s ease}.solo-btn{background:#2ecc7133;color:#2ecc71}.solo-btn:hover{background:#2ecc7166}.mute-btn{background:#e74c3c33;color:#e74c3c}.mute-btn:hover,.mute-btn.active{background:#e74c3c66}.stem-volume{display:flex;align-items:center;gap:10px;margin-bottom:15px}.volume-slider{flex:1;height:6px;appearance:none;background:#ffffff1a;border-radius:3px;cursor:pointer}.volume-slider::-webkit-slider-thumb{appearance:none;width:16px;height:16px;background:var(--stem-color);border-radius:50%;cursor:pointer}.volume-slider::-moz-range-thumb{width:16px;height:16px;background:var(--stem-color);border-radius:50%;cursor:pointer;border:none}.volume-value{font-size:.85rem;color:#888;min-width:40px;text-align:right}.download-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;background:#ffffff1a;border:none;border-radius:8px;color:#fff;font-size:.9rem;cursor:pointer;transition:all .2s ease}.download-btn:hover{background:#fff3}.download-btn svg{width:18px;height:18px}.message{padding:15px 20px;border-radius:8px;margin-top:20px;font-size:.95rem}.message.error{background:#e74c3c33;border:1px solid rgba(231,76,60,.3);color:#ff6b6b}.message.info{background:#3498db33;border:1px solid rgba(52,152,219,.3);color:#5dade2}.stem-footer{text-align:center;padding:30px 20px;color:#666;font-size:.9rem}.stem-footer p{margin:5px 0}.stem-footer a{color:#9b59b6;text-decoration:none}.stem-footer a:hover{text-decoration:underline}.credits{margin-top:25px!important}.demixer-mode{max-width:100%;padding:0 20px}.demixer-controls{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap}.back-btn,.new-tab-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.back-btn{background:#ffffff1a;color:#fff}.back-btn:hover{background:#fff3}.new-tab-btn{background:#3498db33;color:#3498db}.new-tab-btn:hover{background:#3498db66}.back-btn svg,.new-tab-btn svg{width:18px;height:18px}.demixer-iframe-container{width:100%;height:calc(100vh - 250px);min-height:500px;border-radius:12px;overflow:hidden;background:#111}.demixer-iframe{width:100%;height:100%;border:none}.demixer-info{margin-top:15px;padding:15px 20px;background:#3498db1a;border-radius:8px;border-left:4px solid #3498db}.demixer-info p{margin:0;color:#aaa;font-size:.9rem}.demixer-info strong{color:#fff}@media (max-width: 768px){.mode-toggle{flex-direction:column}.mode-btn{justify-content:center}.features-list{flex-direction:column;align-items:center;gap:15px}.stems-grid{grid-template-columns:1fr}.demixer-iframe-container{height:calc(100vh - 300px);min-height:400px}}@media (max-width: 600px){.stem-header h1{font-size:1.8rem}.upload-section{padding:40px 20px}.stems-header{flex-direction:column;align-items:stretch}.stems-controls{justify-content:center}.region-controls{flex-direction:column;align-items:stretch;gap:12px}.time-input{justify-content:space-between}.time-input input{flex:1;max-width:120px}.select-all-btn{margin-left:0}.region-duration{text-align:center}}.visuals-page{min-height:100vh;background:#000;color:#fff;padding:2rem 1rem 4rem}.visuals-container{max-width:1200px;margin:0 auto}.visuals-header{text-align:center;margin-bottom:3rem;padding-top:2rem}.visuals-title{font-size:3.5rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(to right,var(--primary),var(--accent),var(--secondary));-webkit-background-clip:text;background-clip:text;color:transparent}.visuals-subtitle{font-size:1.25rem;color:#888}.tag-filter{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2rem}.tag-btn{padding:.5rem 1rem;border-radius:9999px;border:1px solid #333;background:transparent;color:#888;cursor:pointer;transition:all .2s;font-size:.875rem;text-transform:capitalize}.tag-btn:hover{border-color:var(--primary);color:var(--primary)}.tag-btn.active{background:var(--primary);border-color:var(--primary);color:#000}.visuals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-bottom:3rem}.visual-card-link{text-decoration:none;color:inherit}.visual-card{height:100%;transition:transform .3s ease}.visual-card.hovered{transform:translateY(-4px)}.visual-card-inner{position:relative;padding:0;display:flex;flex-direction:column;height:100%}.visual-preview{height:180px;border-radius:8px 8px 0 0;position:relative;overflow:hidden}.preview-overlay{position:absolute;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}.visual-card:hover .preview-overlay{opacity:1}.preview-text{font-size:1.5rem;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}.visual-content{padding:1.25rem;flex:1;display:flex;flex-direction:column}.visual-title{font-size:1.5rem;font-weight:700;margin-bottom:.75rem}.visual-description{color:#aaa;font-size:.9rem;line-height:1.5;margin-bottom:1rem;flex:1}.visual-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.visual-tag{padding:.25rem .5rem;background:#ffffff1a;border-radius:4px;font-size:.75rem;color:#888;text-transform:capitalize}.visual-author{font-size:.8rem;color:#666;margin-bottom:.5rem}.visual-source{font-size:.8rem;color:var(--accent);text-decoration:none;transition:color .2s}.visual-source:hover{color:var(--primary)}.open-indicator{position:absolute;bottom:1rem;right:1rem;display:flex;align-items:center;gap:.5rem;color:var(--primary);font-size:.875rem;opacity:0;transform:translate(-10px);transition:all .3s}.visual-card:hover .open-indicator{opacity:1;transform:translate(0)}.open-indicator svg{width:16px;height:16px}.visuals-info{margin-top:2rem}.info-content{padding:2rem}.info-content h2{font-size:1.5rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(to right,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.info-content p{color:#aaa;line-height:1.7;margin-bottom:1.5rem}.info-content p a{color:var(--accent);text-decoration:none}.info-content p a:hover{text-decoration:underline}.info-links{display:flex;flex-wrap:wrap;gap:1rem}.info-links a{color:var(--primary);text-decoration:none;padding:.5rem 1rem;border:1px solid var(--primary);border-radius:4px;transition:all .2s}.info-links a:hover{background:var(--primary);color:#000}.sketch-container{display:flex;justify-content:center;align-items:center;min-height:100%}.sketch-container canvas{max-width:100%;height:auto}.visual-page{min-height:100vh;background:#000;color:#fff;display:flex;flex-direction:column}.visual-page-header{padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #222}.back-link{display:flex;align-items:center;gap:.5rem;color:var(--primary);text-decoration:none;transition:color .2s}.back-link:hover{color:var(--accent)}.back-link svg{width:20px;height:20px}.visual-page-title{font-size:1.5rem;font-weight:700}.visual-page-content{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.visual-page-footer{padding:1rem 2rem;border-top:1px solid #222;text-align:center}.visual-page-footer p{color:#666;font-size:.875rem}.fullscreen-visual-page{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;z-index:1}.sketch-container-fullscreen{position:absolute;top:0;left:0;width:100%;height:100%}.sketch-container-fullscreen canvas{display:block;width:100%!important;height:100%!important}.fullscreen-instructions{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);padding:.75rem 1.5rem;background:#000000b3;border:1px solid rgba(255,255,255,.2);border-radius:9999px;color:#888;font-size:.875rem;pointer-events:none;z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media (max-width: 768px){.visuals-title{font-size:2.5rem}.visuals-grid{grid-template-columns:1fr}.visual-preview{height:150px}.fullscreen-instructions{font-size:.75rem;padding:.5rem 1rem;bottom:1rem}}.audio-timeline-container{min-height:100vh;background:linear-gradient(135deg,#0a0a0f,#1a1a2e,#0f1a2a);padding:20px;color:#e8e8e8}.timeline-header{text-align:center;margin-bottom:30px}.timeline-header h1{font-size:2rem;margin:0 0 10px;background:linear-gradient(135deg,#e74c3c,#9b59b6,#3498db);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.timeline-header .subtitle{color:#666;margin:0}.transport-controls{display:flex;align-items:center;justify-content:center;gap:30px;padding:20px;background:#0006;border-radius:16px;margin-bottom:20px;flex-wrap:wrap}.transport-buttons{display:flex;gap:10px}.transport-btn{width:50px;height:50px;border:none;border-radius:50%;background:#ffffff1a;color:#fff;font-size:1.2rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.transport-btn:hover{background:#fff3;transform:scale(1.1)}.transport-btn.play{background:linear-gradient(135deg,#2ecc71,#27ae60)}.transport-btn.pause{background:linear-gradient(135deg,#f39c12,#e67e22)}.transport-btn.loop.active{background:linear-gradient(135deg,#9b59b6,#8e44ad)}.transport-btn.record{background:#e74c3c4d}.transport-btn.record:hover{background:linear-gradient(135deg,#e74c3c,#c0392b)}.transport-btn.record.active{background:linear-gradient(135deg,#e74c3c,#c0392b);animation:pulse-record 1s infinite}.transport-btn:disabled{opacity:.6;cursor:not-allowed}@keyframes pulse-record{0%,to{opacity:1}50%{opacity:.6}}.recording-progress{display:flex;align-items:center;gap:12px;background:#e74c3c1a;padding:10px 20px;border-radius:8px;border:1px solid rgba(231,76,60,.3)}.recording-progress span{color:#e74c3c;font-size:.85rem;font-weight:600;white-space:nowrap}.progress-bar{width:120px;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#e74c3c,#c0392b);border-radius:3px;transition:width .1s ease}.time-display{font-family:SF Mono,Monaco,Consolas,monospace;font-size:1.5rem;background:#0006;padding:10px 20px;border-radius:8px}.current-time{color:#2ecc71}.separator{color:#666;margin:0 8px}.total-time{color:#888}.timeline-settings{display:flex;align-items:center;gap:15px}.timeline-settings label{display:flex;align-items:center;gap:8px;color:#888;font-size:.9rem}.timeline-settings input[type=number]{width:60px;padding:8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:.9rem;text-align:center}.timeline-wrapper{display:flex;background:#0000004d;border-radius:16px;overflow:hidden}.track-labels{width:200px;flex-shrink:0;background:#0006;border-right:1px solid rgba(255,255,255,.1)}.track-label{height:80px;padding:10px 15px;border-left:4px solid;border-bottom:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;justify-content:center;gap:8px}.track-label:first-child{margin-top:30px}.track-name{font-weight:600;font-size:.9rem}.track-controls{display:flex;align-items:center;gap:6px}.track-btn{width:24px;height:24px;border:none;border-radius:4px;background:#ffffff1a;color:#888;font-size:.7rem;font-weight:700;cursor:pointer;transition:all .2s ease}.track-btn:hover{background:#fff3}.track-btn.mute.active{background:#e74c3c;color:#fff}.track-btn.solo.active{background:#f39c12;color:#fff}.volume-slider{width:80px;height:4px;-webkit-appearance:none;background:#ffffff1a;border-radius:2px;cursor:pointer}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#9b59b6;border-radius:50%;cursor:pointer}.timeline-area{flex:1;position:relative;overflow-x:auto;overflow-y:hidden}.time-ruler{height:30px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1);position:relative}.time-marker{position:absolute;height:100%;border-left:1px solid rgba(255,255,255,.2)}.time-marker span{position:absolute;top:5px;left:5px;font-size:.7rem;color:#666;font-family:SF Mono,monospace}.tracks-container{position:relative}.track-row{height:80px;border-bottom:1px solid rgba(255,255,255,.05);position:relative}.track-content{width:100%;height:100%;position:relative;overflow:hidden}.waveform-svg{width:100%;height:100%;display:block}.remove-btn{position:absolute;top:5px;right:5px;width:24px;height:24px;border:none;border-radius:50%;background:#e74c3ccc;color:#fff;font-size:.8rem;cursor:pointer;opacity:0;transition:opacity .2s ease}.track-content:hover .remove-btn{opacity:1}.track-filename{position:absolute;bottom:5px;left:10px;font-size:.75rem;color:#ffffffb3;background:#00000080;padding:2px 8px;border-radius:4px}.track-drop-zone{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;background:#ffffff05;border:2px dashed rgba(255,255,255,.1);transition:all .2s ease}.track-drop-zone:hover{background:#ffffff0d;border-color:#fff3}.drop-icon{font-size:1.5rem;opacity:.5}.track-drop-zone span{color:#666;font-size:.85rem}.track-drop-zone .formats{font-size:.7rem;color:#444}.playhead{position:absolute;top:0;bottom:0;width:2px;pointer-events:none;z-index:10}.playhead-head{width:12px;height:12px;background:#2ecc71;border-radius:50%;position:absolute;top:9px;left:-5px}.playhead-line{position:absolute;top:20px;bottom:0;left:0;width:2px;background:linear-gradient(to bottom,#2ecc71,#2ecc714d)}.timeline-info{text-align:center;margin-top:20px;color:#666;font-size:.85rem}.timeline-info strong{color:#888}@media (max-width: 768px){.transport-controls{flex-direction:column;gap:15px}.timeline-wrapper{flex-direction:column}.track-labels{width:100%;display:flex;overflow-x:auto}.track-label{flex-shrink:0;width:150px;height:auto;padding:10px}.track-label:first-child{margin-top:0}.timeline-area{min-height:400px}.track-row{height:100px}}
