.ScoreDisplay__Score{--score-success-base-scale: 1.2;--score-success-increase: .2;--score-success-scale-factor: 0}.ScoreDisplay__Score.success{animation:score-success .3s linear}.ScoreDisplay__ComboBar.animate{animation-name:combo-bar;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes score-success{0%{transform:scale(1)}4%{transform:scale(calc(var(--score-success-base-scale) + var(--score-success-increase) * var(--score-success-scale-factor)));color:hsl(var(--combo-glow));text-shadow:0 0 50px hsl(var(--combo-glow))}}@keyframes combo-bar{0%{width:100%}to{width:0%}}.UnlockBar__Key.is-unlocked{animation:unclock-bar-key-unlock 1s ease-in-out alternate infinite}@keyframes unclock-bar-key-unlock{0%{transform:scale(1);filter:drop-shadow(0 0 0 hsl(var(--warning)))}to{transform:scale(1.1);filter:drop-shadow(0 0 8px hsl(var(--warning)))}}@property --y{syntax: "<length>"; initial-value: 0vh; inherits: false;}@property --x{syntax: "<length>"; initial-value: 0px; inherits: false;}@property --x-offset{syntax: "<length>"; initial-value: 0px; inherits: false;}@property --y-offset{syntax: "<length>"; initial-value: 0px; inherits: false;}@property --float-up-opacity{syntax: "<number>"; initial-value: 1; inherits: false;}@property --effect-opacity{syntax: "<number>"; initial-value: 1; inherits: false;}.ParticleCanvas{background:radial-gradient(circle at 50% 50%,#0000 50%,#000 200%)}.Particle{visibility:hidden;--flutter-distance: 100px;--float-up-duration: 30s;--float-up-duration-multiplier: 1;--float-up-distance: calc(var(--effective-size, 100px) - 100vh * -1);--effective-float-up-duration: calc( var(--float-up-duration) * var(--float-up-duration-multiplier) );--flutter-duration: calc(var(--effective-float-up-duration) / 10);--flutter-duration-multiplier: 1;--effective-flutter-duration: calc( var(--flutter-duration) * var(--flutter-duration-multiplier) );--size: 100px;--size-multiplier: 1;--effective-size: calc(var(--size) * var(--size-multiplier));--effect-duration: var(--float-up-duration);--base-animation: particle-float-up var(--effective-float-up-duration) linear, particle-flutter var(--effective-flutter-duration) ease-in-out calc(var(--r1) * -2s) infinite alternate;--base-animation: particle-float-up var(--effective-float-up-duration) linear;--effect-animation: none;--r1: 0;--r2: 0;--r3: 0;--opacity: 1;--hue: 0deg;margin-left:calc(var(--effective-size) * -.5);width:var(--effective-size);height:var(--effective-size);border-radius:100%;position:absolute;left:50vw;opacity:calc(var(--float-up-opacity) * var(--effect-opacity) * var(--opacity));translate:calc(var(--x, 0px) + var(--x-offset, 0px)) calc(var(--y, 0px) + var(--y-offset, 0px));background:radial-gradient(circle at 50% 50%,hsla(calc(var(--hue)),100%,90%,.8),hsla(calc(var(--hue)),100%,50%,.1))}.Particle.active{visibility:visible;animation:var(--base-animation),var(--effect-animation);animation-delay:calc(var(--effective-float-up-duration) * var(--starting-progress, 0) * -1)}.Particle.effect-burst{--float-up-duration: 2s;--burst-down-distance: 10px;--effect-animation: particle-burst var(--effect-duration) ease-out forwards, particle-rotate 2s linear infinite;mix-blend-mode:overlay;background:radial-gradient(circle at 50% 50%,#f9ffb8,#f4ff7500 150%);z-index:10;border-radius:0}.Particle.effect-combo{transform:scaleX(calc(var(--effect-intensity))) scaleY(calc((1 - var(--effect-intensity)) * 2 + 1));mix-blend-mode:plus-lighter}.Particle.effect-ambient-combo{--hue: 120deg !important;z-index:10;box-shadow:0 0 10px #fff8;background:radial-gradient(circle at 50% 50%,#ffffff86,#fff0);mix-blend-mode:plus-lighter}@keyframes particle-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes particle-float-up{0%{--y: 0px;--float-up-opacity: 1}to{--y: calc(var(--float-up-distance, -100vh) * -1);--float-up-opacity: .5}}@keyframes particle-flutter{0%{--x: calc(var(--flutter-distance) * -.5)}to{--x: calc(var(--flutter-distance) * .5)}}@keyframes particle-burst{0%{--effect-opacity: 0;--x-offset: 0px;--y-offset: 0px}10%{--x-offset: calc(var(--burst-distance, 100px) * .2);--y-offset: var(--burst-down-distance, 10px)}30%{--effect-opacity: 1}to{--x-offset: var(--burst-distance, 100px);--effect-opacity: 0;--y-offset: 0}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 270 50% 98%;--foreground: 270 50% 10%;--card: 0 0% 100%;--card-foreground: 270 50% 10%;--popover: 0 0% 100%;--popover-foreground: 270 50% 10%;--primary: 280 80% 55%;--primary-foreground: 0 0% 100%;--secondary: 200 90% 55%;--secondary-foreground: 0 0% 100%;--muted: 270 20% 92%;--muted-foreground: 270 20% 40%;--accent: 45 95% 55%;--accent-foreground: 45 95% 15%;--destructive: 0 80% 60%;--destructive-foreground: 0 0% 100%;--success: 145 70% 45%;--success-foreground: 0 0% 100%;--warning: 45 95% 50%;--warning-foreground: 45 95% 10%;--border: 270 30% 85%;--input: 270 30% 85%;--ring: 280 80% 55%;--radius: .75rem;--game-gradient-start: 280 80% 55%;--game-gradient-end: 200 90% 55%;--box-empty: 270 30% 95%;--box-filled: 145 70% 45%;--box-selected: 280 80% 55%;--keyboard-key: 270 20% 95%;--keyboard-key-hover: 270 30% 88%;--keyboard-disabled: 270 10% 80%;--combo-glow: 45 95% 55%;--strike-active: 0 80% 60%;--strike-inactive: 270 20% 85%}.dark{--background: 270 50% 8%;--foreground: 270 20% 95%;--card: 270 40% 12%;--card-foreground: 270 20% 95%;--popover: 270 40% 12%;--popover-foreground: 270 20% 95%;--primary: 280 80% 60%;--primary-foreground: 0 0% 100%;--secondary: 200 90% 60%;--secondary-foreground: 0 0% 100%;--muted: 270 30% 18%;--muted-foreground: 270 20% 60%;--accent: 45 95% 55%;--accent-foreground: 45 95% 10%;--destructive: 0 70% 50%;--destructive-foreground: 0 0% 100%;--success: 145 70% 50%;--success-foreground: 0 0% 100%;--border: 270 30% 22%;--input: 270 30% 22%;--ring: 280 80% 60%;--box-empty: 270 30% 20%;--box-filled: 145 70% 35%;--box-selected: 280 80% 50%;--keyboard-key: 270 25% 18%;--keyboard-key-hover: 270 30% 25%;--keyboard-disabled: 270 15% 25%;--strike-inactive: 270 20% 25%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:Inter,system-ui,sans-serif}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:hsl(var(--muted-foreground) / .3) transparent}.scrollbar-thin::-webkit-scrollbar{width:6px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground) / .3);border-radius:3px}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.-bottom-20{bottom:-5rem}.-left-20{left:-5rem}.-right-32{right:-8rem}.-top-20{top:-5rem}.left-1\/2{left:50%}.left-1\/4{left:25%}.top-1\/2{top:50%}.top-1\/3{top:33.333333%}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mt-0\.5{margin-top:.125rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.h-1\.5{height:.375rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-72{height:18rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-full{height:100%}.max-h-full{max-height:100%}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-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-y-3\/4{--tw-translate-y: -75%;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-\[60\%\]{--tw-translate-y: -60%;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-\[65\%\]{--tw-translate-y: -65%;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-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))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-y-2{row-gap:.5rem}.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-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))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-destructive{border-color:hsl(var(--destructive))}.border-muted-foreground\/40{border-color:hsl(var(--muted-foreground) / .4)}.border-primary{border-color:hsl(var(--primary))}.border-success{border-color:hsl(var(--success))}.border-warning\/50{border-color:hsl(var(--warning) / .5)}.bg-accent{background-color:hsl(var(--accent))}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-card{background-color:hsl(var(--card))}.bg-card\/80{background-color:hsl(var(--card) / .8)}.bg-destructive\/20{background-color:hsl(var(--destructive) / .2)}.bg-game-box-empty{background-color:hsl(var(--box-empty))}.bg-game-box-filled{background-color:hsl(var(--box-filled))}.bg-game-box-selected{background-color:hsl(var(--box-selected))}.bg-game-keyboard-disabled{background-color:hsl(var(--keyboard-disabled))}.bg-game-keyboard-key{background-color:hsl(var(--keyboard-key))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground\/20{background-color:hsl(var(--muted-foreground) / .2)}.bg-muted-foreground\/30{background-color:hsl(var(--muted-foreground) / .3)}.bg-muted-foreground\/70{background-color:hsl(var(--muted-foreground) / .7)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-secondary\/20{background-color:hsl(var(--secondary) / .2)}.bg-success\/20{background-color:hsl(var(--success) / .2)}.bg-warning{background-color:hsl(var(--warning))}.bg-warning\/70{background-color:hsl(var(--warning) / .7)}.bg-warning\/80{background-color:hsl(var(--warning) / .8)}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/20{background-color:#fff3}.bg-white\/30{background-color:#ffffff4d}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-accent{--tw-gradient-from: hsl(var(--accent)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--accent) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-500{--tw-gradient-from: #10b981 var(--tw-gradient-from-position);--tw-gradient-to: rgb(16 185 129 / 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-primary{--tw-gradient-from: hsl(var(--primary)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 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)}.to-pink-500{--tw-gradient-to: #ec4899 var(--tw-gradient-to-position)}.to-primary{--tw-gradient-to: hsl(var(--primary)) var(--tw-gradient-to-position)}.to-red-500{--tw-gradient-to: #ef4444 var(--tw-gradient-to-position)}.to-secondary{--tw-gradient-to: hsl(var(--secondary)) var(--tw-gradient-to-position)}.to-teal-600{--tw-gradient-to: #0d9488 var(--tw-gradient-to-position)}.fill-accent{fill:hsl(var(--accent))}.fill-accent\/50{fill:hsl(var(--accent) / .5)}.fill-game-strike-active{fill:hsl(var(--strike-active))}.fill-transparent{fill:transparent}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-8{padding-bottom:2rem}.pt-20{padding-top:5rem}.text-left{text-align:left}.text-center{text-align:center}.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-\[10px\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-accent{color:hsl(var(--accent))}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-game-strike-active{color:hsl(var(--strike-active))}.text-game-strike-inactive{color:hsl(var(--strike-inactive))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/20{color:hsl(var(--muted-foreground) / .2)}.text-muted-foreground\/30{color:hsl(var(--muted-foreground) / .3)}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-muted-foreground\/80{color:hsl(var(--muted-foreground) / .8)}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-success{color:hsl(var(--success))}.text-success-foreground{color:hsl(var(--success-foreground))}.text-success-foreground\/60{color:hsl(var(--success-foreground) / .6)}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/60{color:#fff9}.text-white\/80{color:#fffc}.text-white\/90{color:#ffffffe6}.underline{text-decoration-line:underline}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.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-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-primary\/30{--tw-shadow-color: hsl(var(--primary) / .3);--tw-shadow: var(--tw-shadow-colored)}.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-primary\/50{--tw-ring-color: hsl(var(--primary) / .5)}.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)}.drop-shadow-\[0_0_4px_hsl\(var\(--warning\)\)\]{--tw-drop-shadow: drop-shadow(0 0 4px hsl(var(--warning)));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-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)}.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}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.duration-100{animation-duration:.1s}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.game-gradient{background:linear-gradient(135deg,hsl(var(--game-gradient-start)),hsl(var(--game-gradient-end)))}.game-bg{background:linear-gradient(160deg,hsl(var(--background)),#f4edf7,#edf4f7)}.dark .game-bg{background:linear-gradient(160deg,hsl(var(--background)),#23122b,#0f1d24)}.combo-glow{box-shadow:0 0 20px hsl(var(--combo-glow) / .6),0 0 40px hsl(var(--combo-glow) / .3)}.box-correct{animation:box-pop .3s ease-out}.box-wrong{animation:box-shake .4s ease-in-out}@media (max-width: 380px){.puzzle-container{transform:scale(.9);transform-origin:center}}.particle-container{--particle-base-hue: 45;--particle-opacity-mult: 1;--particle-size-mult: 1;--particle-speed-mult: 1;transition:--particle-base-hue .3s ease-out,--particle-opacity-mult .3s ease-out,--particle-size-mult .3s ease-out,--particle-speed-mult .3s ease-out}.particle{--p-hue-offset: 0;--p-base-opacity: .3;--p-base-size: 50px;--p-base-speed: 20s;--p-delay: 0s;--computed-size: calc(var(--p-base-size) * var(--particle-size-mult));--computed-hue: calc(var(--particle-base-hue) + var(--p-hue-offset));--computed-opacity: calc( var(--p-base-opacity) * var(--particle-opacity-mult) );width:var(--computed-size);height:var(--computed-size);margin-left:calc(var(--computed-size) / -2);bottom:calc(var(--computed-size) * -1);opacity:var(--computed-opacity);background:radial-gradient(circle at 50% 50%,hsla(var(--computed-hue),85%,70%,.8) 0%,transparent 80%);animation-name:float-up;animation-timing-function:linear;animation-iteration-count:infinite;animation-duration:calc(var(--p-base-speed) * var(--particle-speed-mult));animation-delay:var(--p-delay)}.particle-overlay.active{opacity:1}.particle-container.effect-correct .particle-overlay.active{background:radial-gradient(circle at 50% 50%,hsl(145,70%,50%,.15) 0%,transparent 60%)}.particle-container.effect-wrong .particle-overlay.active{background:radial-gradient(circle at 50% 50%,hsl(0,80%,50%,.12) 0%,transparent 60%)}.blur-orb{will-change:transform,opacity;transform:scale(var(--orb-scale, 1));opacity:var(--orb-opacity, .2);transition:transform .3s ease-out,opacity .3s ease-out}@keyframes box-pop{0%{transform:scale(1);box-shadow:0 0 hsl(var(--success) / .7)}50%{transform:scale(1.2);box-shadow:0 0 20px 5px hsl(var(--success) / .5)}to{transform:scale(1);box-shadow:0 0 hsl(var(--success) / 0)}}@keyframes box-shake{0%,to{transform:translate(0);box-shadow:0 0 hsl(var(--destructive) / 0)}10%,30%,50%,70%,90%{transform:translate(-3px);box-shadow:0 0 10px 2px hsl(var(--destructive) / .4)}20%,40%,60%,80%{transform:translate(3px);box-shadow:0 0 10px 2px hsl(var(--destructive) / .4)}}@keyframes float-up{0%{transform:translateY(0) scale(1);opacity:0}10%{opacity:1}90%{opacity:.8}to{transform:translateY(-100vh) scale(.5);opacity:0}}@keyframes burst{0%{transform:translate(-50%,-50%) scale(0);opacity:1}50%{transform:translate(-50%,-50%) scale(1.5);opacity:.8}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.hover\:scale-\[1\.02\]:hover{--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary) / .5)}.hover\:border-warning:hover{border-color:hsl(var(--warning))}.hover\:bg-game-box-empty\/80:hover{background-color:hsl(var(--box-empty) / .8)}.hover\:bg-game-keyboard-key-hover:hover{background-color:hsl(var(--keyboard-key-hover))}.hover\:bg-muted\/80:hover{background-color:hsl(var(--muted) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-warning:hover{background-color:hsl(var(--warning))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-primary\/90:hover{color:hsl(var(--primary) / .9)}.hover\:opacity-90:hover{opacity:.9}.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-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)}.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))}@media (min-width: 640px){.sm\:h-11{height:2.75rem}.sm\:h-12{height:3rem}.sm\:h-9{height:2.25rem}.sm\:w-10{width:2.5rem}.sm\:w-5{width:1.25rem}.sm\:w-9{width:2.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}}
