@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700;800;900&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Syncopate:wght@400;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap";@layer theme,base,components,utilities;@layer theme{@theme default{ --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-100: oklch(96.2% .059 95.617); --color-amber-200: oklch(92.4% .12 95.746); --color-amber-300: oklch(87.9% .169 91.605); --color-amber-400: oklch(82.8% .189 84.429); --color-amber-500: oklch(76.9% .188 70.08); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-amber-800: oklch(47.3% .137 46.201); --color-amber-900: oklch(41.4% .112 45.904); --color-amber-950: oklch(27.9% .077 45.635); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --color-emerald-50: oklch(97.9% .021 166.113); --color-emerald-100: oklch(95% .052 163.051); --color-emerald-200: oklch(90.5% .093 164.15); --color-emerald-300: oklch(84.5% .143 164.978); --color-emerald-400: oklch(76.5% .177 163.223); --color-emerald-500: oklch(69.6% .17 162.48); --color-emerald-600: oklch(59.6% .145 163.225); --color-emerald-700: oklch(50.8% .118 165.612); --color-emerald-800: oklch(43.2% .095 166.913); --color-emerald-900: oklch(37.8% .077 168.94); --color-emerald-950: oklch(26.2% .051 172.552); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --color-sky-50: oklch(97.7% .013 236.62); --color-sky-100: oklch(95.1% .026 236.824); --color-sky-200: oklch(90.1% .058 230.902); --color-sky-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --color-sky-700: oklch(50% .134 242.749); --color-sky-800: oklch(44.3% .11 240.79); --color-sky-900: oklch(39.1% .09 240.876); --color-sky-950: oklch(29.3% .066 243.157); --color-blue-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-200: oklch(89.2% .058 10.001); --color-rose-300: oklch(81% .117 11.638); --color-rose-400: oklch(71.2% .194 13.428); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-rose-700: oklch(51.4% .222 16.935); --color-rose-800: oklch(45.5% .188 13.697); --color-rose-900: oklch(41% .159 10.272); --color-rose-950: oklch(27.1% .105 12.094); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 0); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --container-7xl: 80rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: 1.5 ; --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: 1.2 ; --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px rgb(0 0 0 / .05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25); --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / .05); --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / .05); --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / .05); --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / .05); --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / .15); --drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12); --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15); --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / .1); --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / .15); --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / .15); --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / .2); --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / .075), 0px 1px 1px rgb(0 0 0 / .075), 0px 2px 2px rgb(0 0 0 / .075); --text-shadow-md: 0px 1px 1px rgb(0 0 0 / .1), 0px 1px 2px rgb(0 0 0 / .1), 0px 2px 4px rgb(0 0 0 / .1); --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / .1), 0px 3px 2px rgb(0 0 0 / .1), 0px 4px 8px rgb(0 0 0 / .1); --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: --theme(--font-sans, initial); --default-font-feature-settings: --theme( --font-sans--font-feature-settings, initial ); --default-font-variation-settings: --theme( --font-sans--font-variation-settings, initial ); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme( --font-mono--font-feature-settings, initial ); --default-mono-font-variation-settings: --theme( --font-mono--font-variation-settings, initial ); }@theme default inline reference{ --blur: 8px; --shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05); --drop-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 1px 1px rgb(0 0 0 / .06); --radius: .25rem; --max-width-prose: 65ch; }}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:--theme(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-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}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{@tailwind utilities;}:root{--space-950: #07060f;--space-900: #0d0b1a;--space-850: #110f22;--space-800: #16132b;--space-750: #1c1835;--space-700: #231f40;--space-600: #2e2a52;--space-500: #3d3870;--space-400: #5a548e;--space-300: #7e79ad;--space-200: #a9a5c8;--space-100: #d4d2e4;--space-50: #eeedf5;--crimson-700: #8b0f30;--crimson-600: #a8133a;--crimson-500: #c21a4d;--crimson-400: #d93060;--crimson-300: #e85c82;--crimson-200: #f49ab5;--crimson-100: #fad5e0;--teal-800: #0d2e32;--teal-700: #133d42;--teal-600: #1a5059;--teal-500: #226470;--teal-400: #2f8090;--teal-300: #4aa3b5;--teal-200: #7ec4d0;--teal-100: #b8e2e9;--neutral-950: #0a0a0a;--neutral-900: #141414;--neutral-800: #242424;--neutral-700: #3a3a3a;--neutral-600: #555555;--neutral-500: #737373;--neutral-400: #9a9a9a;--neutral-300: #c0c0c0;--neutral-200: #d8d8d8;--neutral-100: #f0f0f0;--neutral-50: #f8f8f8;--support-success: #22c55e;--support-warning: #f59e0b;--support-danger: #ef4444;--support-info: #3b82f6;--color-surface-page-dark: var(--space-900);--color-surface-elevated-dark: var(--space-800);--color-surface-card-dark: var(--space-750);--color-border-dark: rgba(160, 150, 220, .12);--color-text-primary-dark: #ede9ff;--color-text-secondary-dark: #9b96c0;--color-surface-page-light: #f4f3f8;--color-surface-elevated-light: #eceaf4;--color-surface-card-light: #ffffff;--color-border-light: rgba(60, 50, 120, .14);--color-text-primary-light: #1a1730;--color-text-secondary-light: #5a5478;--color-accent-primary: var(--crimson-500);--color-accent-primary-hover: var(--crimson-600);--color-accent-muted: var(--teal-400);--color-accent-contrast: #ffffff;--brand-teal-300: var(--teal-300);--brand-teal-400: var(--teal-400);--brand-teal-500: var(--teal-500);--brand-teal-600: var(--teal-600);--brand-teal-700: var(--teal-700);--brand-plum-900: var(--space-900);--brand-plum-800: var(--space-800)}[data-theme=dark]{--bg-primary: var(--color-surface-page-dark);--bg-secondary: var(--color-surface-elevated-dark);--bg-card: var(--color-surface-card-dark);--border-color: var(--color-border-dark);--text-primary: var(--color-text-primary-dark);--text-secondary:var(--color-text-secondary-dark);--accent-primary:var(--color-accent-primary);--accent-success:var(--support-success);--accent-muted: var(--color-accent-muted);--error-color: var(--support-danger);--warning-color: var(--support-warning);--glow-accent: rgba(194, 26, 77, .18);--glow-teal: rgba(47, 128, 144, .15);--surface-hover: rgba(160, 150, 220, .06);--surface-active:rgba(194, 26, 77, .08)}[data-theme=light]{--bg-primary: var(--color-surface-page-light);--bg-secondary: var(--color-surface-elevated-light);--bg-card: var(--color-surface-card-light);--border-color: var(--color-border-light);--text-primary: var(--color-text-primary-light);--text-secondary:var(--color-text-secondary-light);--accent-primary:var(--color-accent-primary);--accent-success:var(--support-success);--accent-muted: var(--color-accent-muted);--error-color: var(--support-danger);--warning-color: var(--support-warning);--glow-accent: rgba(194, 26, 77, .1);--glow-teal: rgba(47, 128, 144, .1);--surface-hover: rgba(60, 50, 120, .04);--surface-active:rgba(194, 26, 77, .06)}*,*:before,*:after{box-sizing:border-box}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:Inter,system-ui,sans-serif;margin:0;min-height:100vh;transition:background-color .3s ease,color .3s ease}[data-theme=dark] ::-webkit-scrollbar{width:6px;height:6px}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--space-850)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--space-600);border-radius:3px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--space-500)}[data-theme=light] ::-webkit-scrollbar{width:6px;height:6px}[data-theme=light] ::-webkit-scrollbar-track{background:#e8e6f0}[data-theme=light] ::-webkit-scrollbar-thumb{background:#b0aac8;border-radius:3px}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#8880a8}[data-theme=dark] ::selection{background:#c21a4d59;color:#fff}[data-theme=light] ::selection{background:#c21a4d33;color:#1a1730}.typing-test-page{width:100vw;height:100vh;display:flex;flex-direction:column;overflow:hidden;position:relative;background:linear-gradient(135deg,#0d0b1a,#16132b,#0d0b1a);transition:background .3s ease}.typing-test-page.light{background:linear-gradient(135deg,#fff,#f1f5f9,#e2e8f0)}.typing-header{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;background:#ffffff05;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.06);z-index:100}.typing-test-page.light .typing-header{background:#fffffff2;border-bottom:1px solid rgba(0,0,0,.1);box-shadow:0 2px 8px #0000000d}.header-left,.header-center,.header-right{display:flex;align-items:center;gap:20px;flex:1}.header-left{justify-content:flex-start}.header-center{justify-content:center}.header-right{justify-content:flex-end}.nav-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#94a3b8;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.nav-btn:hover{background:#ffffff1a;border-color:#ffffff26;color:#e2e8f0;transform:translateY(-1px)}.typing-test-page.light .nav-btn{background:#00000008;border-color:#00000014;color:#64748b}.typing-test-page.light .nav-btn:hover{background:#0000000f;border-color:#0000001f;color:#1e293b}.nav-btn svg{width:18px;height:18px}.restart-btn-header{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#f59e0b4d;color:#fff}.restart-btn-header:hover{background:linear-gradient(135deg,#d97706,#b45309);border-color:#f59e0b80;color:#fff;box-shadow:0 4px 12px #f59e0b4d}.brand{display:flex;align-items:center;gap:12px}.brand-icon{font-size:32px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.brand-info{display:flex;flex-direction:column}.brand-title{font-size:20px;font-weight:700;color:#e2e8f0;margin:0;letter-spacing:-.5px}.typing-test-page.light .brand-title{color:#0f172a}.brand-subtitle{font-size:12px;color:#64748b;margin:0}.typing-test-page.light .brand-subtitle{color:#475569}.live-stats{display:flex;align-items:center;gap:16px;padding:10px 20px;background:#0f172af2;border:2px solid rgba(100,116,139,.3);border-radius:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.typing-test-page.light .live-stats{background:#fffffff2;border-color:#64748b40;box-shadow:0 2px 8px #00000014}.stat-item{display:flex;align-items:center;gap:8px;padding:6px 14px;background:#1e293b99;border-radius:10px;border:1px solid rgba(100,116,139,.2)}.typing-test-page.light .stat-item{background:#f8fafccc;border-color:#64748b26}.stat-label{font-size:11px;font-weight:700;color:#cbd5e1;text-transform:uppercase;letter-spacing:.8px}.typing-test-page.light .stat-label{color:#475569}.stat-value{font-size:24px;font-weight:900;font-family:Courier New,monospace;line-height:1}.stat-value.correct{color:#22c55e}.typing-test-page.light .stat-value.correct{color:#16a34a}.stat-value.error{color:#f87171}.typing-test-page.light .stat-value.error{color:#dc2626}.stat-value.accuracy{color:#60a5fa}.typing-test-page.light .stat-value.accuracy{color:#2563eb}.stat-value.streak{color:#fbbf24}.typing-test-page.light .stat-value.streak{color:#d97706}.stat-divider{width:2px;height:32px;background:#64748b4d;border-radius:2px}.typing-test-page.light .stat-divider{background:#64748b33}.duration-selector{display:flex;gap:8px;padding:4px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:10px}.typing-test-page.light .duration-selector{background:#00000005;border-color:#0000000f}.duration-btn{padding:8px 16px;background:transparent;border:none;border-radius:8px;color:#64748b;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.duration-btn:hover:not(:disabled){background:#ffffff0d;color:#e2e8f0}.duration-btn.active{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b9814d}.duration-btn:disabled{opacity:.4;cursor:not-allowed}.custom-btn{display:flex;align-items:center;justify-content:center}.custom-settings-info-bar{background:#10b98114;border:2px solid rgba(16,185,129,.3);border-left:none;border-right:none;padding:16px 32px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideDown .4s ease}.typing-test-page.light .custom-settings-info-bar{background:#10b9811f;border-color:#10b98166}.info-bar-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.info-bar-header{display:flex;align-items:center;gap:10px}.info-bar-icon{font-size:20px}.info-bar-title{font-size:15px;font-weight:700;color:#10b981;letter-spacing:.5px}.typing-test-page.light .info-bar-title{color:#059669}.info-bar-items{display:flex;align-items:center;gap:24px;flex:1;flex-wrap:wrap}.info-item{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;font-size:13px}.typing-test-page.light .info-item{background:#0000000a;border-color:#0000001a}.info-label{color:#94a3b8;font-weight:600}.typing-test-page.light .info-label{color:#64748b}.info-value{color:#10b981;font-weight:700;font-family:Courier New,monospace}.typing-test-page.light .info-value{color:#059669}.info-bar-actions{display:flex;gap:10px}.info-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.info-btn svg{width:16px;height:16px}.edit-btn{background:#3b82f626;border:1px solid rgba(59,130,246,.3);color:#3b82f6}.edit-btn:hover{background:#3b82f640;border-color:#3b82f6;transform:translateY(-1px)}.clear-btn{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#ef4444}.clear-btn:hover{background:#ef444440;border-color:#ef4444;transform:translateY(-1px)}.custom-panel{position:absolute;top:80px;right:32px;background:#0f172afa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:0;z-index:99;box-shadow:0 10px 40px #00000080;animation:slideDown .3s ease;min-width:450px;max-width:550px;max-height:80vh;overflow-y:auto}.typing-test-page.light .custom-panel{background:#fffffffa;border-color:#0000001a;box-shadow:0 10px 40px #00000026}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.custom-panel-content{padding:24px}.custom-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.custom-panel-title{font-size:18px;font-weight:700;color:#e2e8f0;margin:0;display:flex;align-items:center;gap:8px}.typing-test-page.light .custom-panel-title{color:#1e293b}.close-panel-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s ease}.close-panel-btn:hover{background:#ef444433;transform:scale(1.1)}.custom-panel-description{font-size:13px;color:#94a3b8;margin:0 0 20px;line-height:1.5}.typing-test-page.light .custom-panel-description{color:#64748b}.custom-inputs{display:flex;flex-direction:column;gap:20px}.input-group{display:flex;flex-direction:column;gap:8px}.input-group.full-width{width:100%}.input-group label{font-size:13px;font-weight:600;color:#64748b;display:flex;align-items:center;gap:6px}.input-hint{font-size:12px;color:#64748b;margin:-4px 0 4px;font-style:italic}.input-with-btn{display:flex;gap:8px}.input-group input{flex:1;padding:10px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e2e8f0;font-size:14px;font-family:Courier New,monospace}.typing-test-page.light .input-group input{background:#00000008;border-color:#0000001a;color:#1e293b}.input-group input:focus{outline:none;border-color:#10b981;background:#10b9810d}.custom-textarea{width:100%;padding:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e2e8f0;font-size:14px;font-family:Courier New,monospace;resize:vertical;min-height:120px;line-height:1.6}.typing-test-page.light .custom-textarea{background:#00000008;border-color:#0000001a;color:#1e293b}.custom-textarea:focus{outline:none;border-color:#10b981;background:#10b9810d}.custom-textarea::placeholder{color:#64748b;font-style:italic}.textarea-actions{display:flex;gap:8px;margin-top:8px}.paste-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;color:#3b82f6;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.paste-btn:hover{background:#3b82f633;transform:translateY(-1px)}.paste-btn svg{width:16px;height:16px}.char-count{font-size:11px;color:#64748b;margin:4px 0 0;text-align:right}.setting-active{font-size:12px;color:#10b981;margin:8px 0 0;font-weight:600;display:flex;align-items:center;gap:4px}.typing-test-page.light .setting-active{color:#059669}.apply-btn{padding:10px 20px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.apply-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.apply-btn:disabled{opacity:.5;cursor:not-allowed}.custom-actions{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.typing-test-page.light .custom-actions{border-top-color:#0000001a}.clear-all-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.clear-all-btn:hover{background:#ef444433;border-color:#ef4444;transform:translateY(-1px)}.clear-all-btn svg{width:16px;height:16px}.typing-main{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px;position:relative;overflow:hidden}.welcome-screen{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:10;animation:fadeInScale .6s ease;pointer-events:none}@keyframes fadeInScale{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.welcome-content{display:flex;flex-direction:column;align-items:center;gap:24px}.welcome-icon-wrapper{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center}.icon-pulse{position:absolute;width:100%;height:100%;border:3px solid rgba(16,185,129,.3);border-radius:50%;animation:pulse 2s ease-out infinite}@keyframes pulse{0%{transform:scale(.8);opacity:1}to{transform:scale(1.5);opacity:0}}.welcome-icon{font-size:64px;animation:float 3s ease-in-out infinite}.welcome-title{font-size:42px;font-weight:700;color:#e2e8f0;margin:0;letter-spacing:-1px}.typing-test-page.light .welcome-title{color:#1e293b}.welcome-message{font-size:20px;color:#94a3b8;margin:0;animation:blink 2s ease-in-out infinite;font-weight:500}.typing-test-page.light .welcome-message{color:#64748b}@keyframes blink{0%,to{opacity:1}50%{opacity:.6}}.welcome-tips{display:flex;gap:16px;margin-top:16px}.tip-card{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#10b98114;border:1px solid rgba(16,185,129,.2);border-radius:12px;color:#10b981;font-size:14px;font-weight:600;transition:all .2s ease}.typing-test-page.light .tip-card{background:#10b9811f;border-color:#10b9814d;color:#059669}.tip-card:hover{transform:translateY(-2px);background:#10b9811f}.typing-test-page.light .tip-card:hover{background:#10b9812e}.tip-icon{font-size:18px}.typing-area{width:100%;max-width:1100px;margin:0 auto;padding:56px;background:#ffffff08;border:2px solid rgba(255,255,255,.06);border-radius:24px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);transition:all .3s ease;min-height:320px;max-height:450px;display:flex;align-items:flex-start;justify-content:center;box-shadow:0 8px 32px #0000001a;overflow-y:auto;overflow-x:hidden}.typing-test-page.light .typing-area{background:#fffffff2;border-color:#0000001f;box-shadow:0 8px 32px #00000014}.typing-area.active{border-color:#10b98166;box-shadow:0 8px 32px #10b98126,0 0 0 1px #10b9811a;background:#ffffff0a}.typing-test-page.light .typing-area.active{background:#fff;box-shadow:0 8px 32px #10b98126,0 0 0 2px #10b9814d;border-color:#10b98180}.typing-area.dimmed{opacity:.3}.typing-area::-webkit-scrollbar{width:8px}.typing-area::-webkit-scrollbar-track{background:#ffffff0d;border-radius:10px}.typing-area::-webkit-scrollbar-thumb{background:#10b9814d;border-radius:10px}.typing-area::-webkit-scrollbar-thumb:hover{background:#10b98180}.typing-test-page.light .typing-area::-webkit-scrollbar-track{background:#0000000d}.typing-test-page.light .typing-area::-webkit-scrollbar-thumb{background:#10b98166}.text-container{font-size:30px;line-height:2.2;font-family:Courier New,Consolas,monospace;color:#64748b;letter-spacing:.8px;display:flex;flex-wrap:wrap;gap:0;text-align:left;width:100%}.typing-test-page.light .text-container{color:#334155;font-weight:500}.word-group{display:inline-flex;white-space:nowrap;margin-right:4px}.text-char{position:relative;transition:all .12s ease;display:inline-block}.char-current{color:#e2e8f0;background:linear-gradient(135deg,#10b98133,#10b98126);border-radius:6px;padding:4px 6px;margin:-4px -2px;animation:currentPulse 1.2s ease-in-out infinite;box-shadow:0 0 12px #10b98133}@keyframes currentPulse{0%,to{background:linear-gradient(135deg,#10b98133,#10b98126);box-shadow:0 0 12px #10b98133}50%{background:linear-gradient(135deg,#10b9814d,#10b98140);box-shadow:0 0 20px #10b9814d}}.typing-test-page.light .char-current{color:#0f172a;background:linear-gradient(135deg,#10b98159,#10b98140);box-shadow:0 0 12px #10b9814d;font-weight:600}.char-correct{color:#10b981;animation:charSuccess .25s cubic-bezier(.34,1.56,.64,1);font-weight:600}.typing-test-page.light .char-correct{color:#059669;font-weight:700}@keyframes charSuccess{0%{transform:scale(1.2);color:#34d399}to{transform:scale(1);color:#10b981}}.char-incorrect{color:#ef4444;background:#ef44441f;border-radius:4px;padding:2px 4px;margin:-2px 0;animation:charError .4s cubic-bezier(.36,.07,.19,.97);box-shadow:0 0 8px #ef444433;font-weight:600}.typing-test-page.light .char-incorrect{color:#dc2626;background:#ef444433;box-shadow:0 0 8px #ef44444d;font-weight:700}@keyframes charError{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-3px)}20%,40%,60%,80%{transform:translate(3px)}}.progress-section{width:100%;max-width:1000px;margin:32px auto 0;padding:24px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.typing-test-page.light .progress-section{background:#fffc;border-color:#0000001a;box-shadow:0 4px 16px #0000000d}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#64748b}.progress-label svg{width:16px;height:16px}.progress-percentage{font-size:24px;font-weight:700;color:#10b981;font-family:Courier New,monospace}.progress-bar{width:100%;height:10px;background:#ffffff0d;border-radius:10px;overflow:hidden;margin-bottom:12px}.typing-test-page.light .progress-bar{background:#0000000d}.progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:10px;transition:width .3s ease;position:relative;overflow:hidden}.progress-shine{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:shine 2s infinite}@keyframes shine{0%{left:-100%}to{left:100%}}.progress-stats{display:flex;justify-content:space-between;gap:16px}.progress-stat{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b;font-weight:500}.progress-stat svg{width:14px;height:14px}.completion-overlay{position:fixed;inset:0;background:#000000eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .4s ease;padding:20px;overflow-y:auto}.confetti-container{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:1001}.confetti{position:absolute;width:10px;height:10px;top:-10px;animation:confettiFall 3s linear infinite}@keyframes confettiFall{to{transform:translateY(100vh) rotate(360deg)}}.balloon-container{position:fixed;bottom:0;left:0;right:0;height:100%;overflow:hidden;pointer-events:none;z-index:1001}.balloon{position:absolute;bottom:-100px;width:40px;height:50px;border-radius:50%/60% 60% 40% 40%;animation:balloonFloat 4s ease-in-out infinite}.balloon-string{position:absolute;bottom:-30px;left:50%;width:2px;height:30px;background:#ffffff4d}@keyframes balloonFloat{0%{transform:translateY(0) translate(0);opacity:1}to{transform:translateY(-120vh) translate(50px);opacity:0}}.completion-modal-wrapper{display:flex;align-items:center;justify-content:center;width:100%;max-width:650px;margin:auto;z-index:1002}.completion-modal{background:linear-gradient(135deg,#1e293b,#0f172a);border:2px solid rgba(16,185,129,.3);border-radius:24px;padding:40px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #0009;animation:modalSlideUp .5s ease;position:relative}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close-btn{position:absolute;top:20px;right:20px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#ef44441a;border:2px solid rgba(239,68,68,.3);border-radius:12px;color:#ef4444;font-size:24px;font-weight:700;cursor:pointer;transition:all .2s ease;z-index:10}.modal-close-btn:hover{background:#ef444433;border-color:#ef4444;color:#fff;transform:rotate(90deg) scale(1.1)}.modal-header{text-align:center;margin-bottom:32px;padding-top:10px}.trophy-icon{font-size:72px;animation:trophyBounce 1s ease infinite;display:inline-block}@keyframes trophyBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.05)}}.modal-title{font-size:36px;font-weight:700;color:#10b981;margin:16px 0 8px;letter-spacing:-.5px}.modal-subtitle{font-size:16px;color:#94a3b8;margin:0}.modal-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.modal-stat-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px;text-align:center;transition:all .3s ease}.modal-stat-card:hover{transform:translateY(-4px);background:#ffffff0d;border-color:#10b981}.modal-stat-label{font-size:12px;color:#64748b;margin-bottom:8px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.modal-stat-value{font-size:32px;font-weight:700;color:#10b981;font-family:Courier New,monospace}.modal-details{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px;margin-bottom:24px}.modal-detail-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.05)}.modal-detail-row:last-child{border-bottom:none}.modal-detail-icon{font-size:20px}.modal-detail-text{color:#94a3b8;font-size:15px;font-weight:500}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.modal-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px 24px;border:none;border-radius:14px;font-size:17px;font-weight:700;cursor:pointer;transition:all .2s ease;min-height:60px}.modal-btn svg{width:20px;height:20px;flex-shrink:0}.modal-btn.primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 6px 20px #10b98166}.modal-btn.primary:hover{transform:translateY(-3px);box-shadow:0 8px 25px #10b98180}.modal-btn.secondary{background:#ffffff14;border:2px solid rgba(255,255,255,.15);color:#e2e8f0}.modal-btn.secondary:hover{background:#ffffff1f;border-color:#ffffff40;color:#fff;transform:translateY(-3px)}.modal-hint{text-align:center;font-size:13px;color:#64748b;margin:0;font-style:italic;padding-bottom:10px}@media(max-width:1024px){.text-container{font-size:24px}.modal-stats{grid-template-columns:1fr}}@media(max-width:768px){.typing-header{flex-wrap:wrap;padding:12px 16px}.header-center{order:3;flex:100%;margin-top:12px}.live-stats{gap:10px;padding:6px 12px}.stat-item{padding:4px 8px;gap:6px}.stat-label{font-size:9px}.stat-value{font-size:18px}.stat-divider{height:28px}.custom-settings-info-bar{padding:12px 16px}.info-bar-content{flex-direction:column;align-items:flex-start;gap:12px}.info-bar-items{width:100%;flex-direction:column;align-items:stretch;gap:8px}.info-item{width:100%;justify-content:space-between}.info-bar-actions{width:100%}.info-btn{flex:1}.text-container{font-size:20px;line-height:1.8}.typing-area{padding:32px 24px}.welcome-title{font-size:32px}.welcome-tips,.modal-actions{flex-direction:column}.progress-stats{flex-direction:column;gap:8px}}@media(max-width:480px){.typing-main{padding:20px}.text-container{font-size:18px}.typing-area{padding:24px 16px}.duration-selector{flex-wrap:wrap}.duration-btn{padding:6px 12px;font-size:12px}.welcome-title{font-size:24px}.welcome-icon{font-size:48px}.completion-modal{padding:32px 24px}.modal-title{font-size:28px}.trophy-icon{font-size:56px}}.success-overlay{position:fixed;inset:0;background:#000000eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .4s ease;padding:30px 20px;overflow-y:auto}.success-overlay.light{background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.confetti-wrapper{position:fixed;inset:0;pointer-events:none;z-index:10001}.confetti-piece{position:absolute;width:12px;height:12px;top:-20px;border-radius:2px;animation:confettiFall 5s linear infinite}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:0}}.success-modal{background:linear-gradient(145deg,#1e293b,#0f172a);border:3px solid rgba(16,185,129,.6);border-radius:28px;padding:56px 48px 48px;max-width:680px;width:94%;max-height:85vh;overflow-y:auto;box-shadow:0 50px 100px #000000e6,0 0 0 1px #10b9814d,inset 0 2px 4px #ffffff0d;animation:modalSlideUp .6s cubic-bezier(.34,1.56,.64,1);position:relative;z-index:10002;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);margin:auto}.success-modal.light{background:linear-gradient(145deg,#fff,#fafbfc);border:3px solid rgba(16,185,129,.7);box-shadow:0 50px 100px #00000040,0 0 0 1px #10b98166,inset 0 2px 4px #fff}.success-modal::-webkit-scrollbar{width:8px}.success-modal::-webkit-scrollbar-track{background:#ffffff0d;border-radius:10px}.success-modal::-webkit-scrollbar-thumb{background:#10b98180;border-radius:10px}.success-modal::-webkit-scrollbar-thumb:hover{background:#10b981b3}.success-modal.light::-webkit-scrollbar-track{background:#0000000d}.success-modal.light::-webkit-scrollbar-thumb{background:#10b98199}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(60px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}.close-button{position:absolute;top:22px;right:22px;width:50px;height:50px;background:linear-gradient(145deg,#ef4444,#dc2626);border:none;border-radius:50%;color:#fff;font-size:28px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.34,1.56,.64,1);z-index:10;box-shadow:0 5px 18px #ef444480}.close-button:hover{background:linear-gradient(145deg,#dc2626,#b91c1c);transform:rotate(90deg) scale(1.12);box-shadow:0 7px 25px #ef4444b3}.close-button.light{background:linear-gradient(145deg,#ef4444,#dc2626);box-shadow:0 5px 18px #ef444466}.close-button.light:hover{box-shadow:0 7px 25px #ef444499}.trophy-container{text-align:center;margin-bottom:26px;position:relative;height:110px;display:flex;align-items:center;justify-content:center}.trophy-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:130px;height:130px;background:radial-gradient(circle,rgba(251,191,36,.35) 0%,transparent 70%);border-radius:50%;animation:glowPulseSmooth 3s ease-in-out infinite}@keyframes glowPulseSmooth{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:.9;transform:translate(-50%,-50%) scale(1.08)}}.trophy{font-size:85px;display:inline-block;position:relative;z-index:2;filter:drop-shadow(0 8px 18px rgba(251,191,36,.5))}.success-title{font-size:46px;font-weight:900;background:linear-gradient(135deg,#10b981,#34d399,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center;margin:0 0 14px;letter-spacing:-1.2px}.success-title.light{background:linear-gradient(135deg,#059669,#10b981,#059669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.success-subtitle{font-size:18px;color:#94a3b8;text-align:center;margin:0 0 36px;font-weight:500;line-height:1.5}.success-subtitle.light{color:#64748b}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:32px}.stat-box{background:linear-gradient(145deg,#10b98124,#10b98114);border:2px solid rgba(16,185,129,.45);border-radius:18px;padding:26px 18px;text-align:center;transition:all .35s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;box-shadow:0 4px 12px #10b98126}.stat-box:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(16,185,129,.25),transparent);transition:left .5s}.stat-box:hover:before{left:100%}.stat-box:hover{transform:translateY(-6px) scale(1.03);border-color:#10b981;box-shadow:0 18px 45px #10b98173;background:linear-gradient(145deg,#10b98133,#10b98124)}.stat-box.light{background:linear-gradient(145deg,#10b98129,#10b98117);border-color:#10b9818c;box-shadow:0 4px 12px #10b98133}.stat-box.light:hover{background:linear-gradient(145deg,#10b9813d,#10b98129);box-shadow:0 18px 45px #10b98159}.stat-icon{font-size:40px;margin-bottom:12px}.stat-label{font-size:12px;color:#64748b;font-weight:700;text-transform:uppercase;letter-spacing:1.3px;margin-bottom:10px}.stat-label.light{color:#475569}.stat-value{font-size:42px;font-weight:900;color:#10b981;font-family:Courier New,monospace;line-height:1}.stat-value.light{color:#059669}.details-box{background:#ffffff0d;border:2px solid rgba(255,255,255,.14);border-radius:18px;padding:22px 26px;margin-bottom:32px;box-shadow:inset 0 2px 8px #0003}.details-box.light{background:#0000000a;border-color:#00000024;box-shadow:inset 0 2px 8px #0000000d}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08)}.detail-item:last-child{border-bottom:none;padding-bottom:0}.details-box.light .detail-item{border-bottom-color:#0000001a}.detail-label{font-size:16px;color:#cbd5e1;font-weight:600}.detail-label.light{color:#475569}.detail-value{font-size:21px;font-weight:800;color:#10b981;font-family:Courier New,monospace}.detail-value.light{color:#059669}.action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}.action-btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px 32px;border:none;border-radius:16px;font-size:18px;font-weight:800;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);min-height:72px;position:relative;overflow:hidden;letter-spacing:.3px}.action-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff40;transform:translate(-50%,-50%);transition:width .5s,height .5s}.action-btn:hover:before{width:350px;height:350px}.action-btn svg{width:24px;height:24px;position:relative;z-index:1}.action-btn span{position:relative;z-index:1}.restart-btn{background:linear-gradient(145deg,#10b981,#059669);color:#fff;box-shadow:0 8px 24px #10b98180}.restart-btn:hover{transform:translateY(-4px);box-shadow:0 12px 32px #10b98199}.restart-btn.light{box-shadow:0 8px 24px #10b98166}.restart-btn.light:hover{box-shadow:0 12px 32px #10b98180}.menu-btn{background:linear-gradient(145deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 8px 24px #3b82f680}.menu-btn:hover{transform:translateY(-4px);box-shadow:0 12px 32px #3b82f699}.menu-btn.light{box-shadow:0 8px 24px #3b82f666}.menu-btn.light:hover{box-shadow:0 12px 32px #3b82f680}.hint-text{text-align:center;font-size:14px;color:#64748b;margin:0;font-weight:500;font-style:italic}.hint-text.light{color:#475569}@media(max-width:768px){.success-overlay{padding:20px 15px;align-items:flex-start}.success-modal{padding:44px 26px 36px;max-height:none;margin:20px auto}.stats-grid{grid-template-columns:1fr;gap:14px}.action-buttons{grid-template-columns:1fr;gap:12px}.success-title{font-size:34px}.trophy{font-size:70px}.stat-value{font-size:36px}.action-btn{min-height:64px;font-size:17px;padding:18px 28px}.close-button{width:46px;height:46px;font-size:26px}.welcome-tips{flex-direction:column;width:100%}.tip-card{width:100%;justify-content:center}}.results-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#07060fe0;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:modalFadeIn .4s cubic-bezier(.16,1,.3,1) forwards;padding:1rem;box-sizing:border-box}.results-card{background:linear-gradient(145deg,#16132bf7,#0d0b1af7);border:1px solid rgba(194,26,77,.2);border-radius:20px;padding:1.25rem 2rem!important;width:95%!important;max-width:1000px!important;max-height:85vh!important;overflow-y:auto;box-shadow:0 25px 60px -12px #000c,0 0 0 1px #c21a4d14;animation:modalSlideUp .5s cubic-bezier(.16,1,.3,1) forwards;display:flex!important;flex-direction:column!important;gap:.75rem!important}.results-card::-webkit-scrollbar{width:6px}.results-card::-webkit-scrollbar-track{background:#0000004d;border-radius:3px}.results-card::-webkit-scrollbar-thumb{background:#c21a4d4d;border-radius:3px}.immersive-game.light .results-overlay{background:#f0eef8e6}.immersive-game.light .results-card{background:linear-gradient(145deg,#fffffff7,#f4f3f8f7);border-color:#c21a4d26;box-shadow:0 25px 50px -12px #0000001f}.results-header{text-align:center;margin-bottom:0}.results-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#c21a4d1a;color:#e85c82;border:1px solid rgba(194,26,77,.2);border-radius:50px;font-weight:700;font-size:.875rem;margin-bottom:1rem}.immersive-game.light .results-badge{background:#c21a4d14;color:#c21a4d}.results-title{font-size:1.75rem;font-weight:800;margin:0;background:linear-gradient(to right,#e85c82,#c21a4d);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.immersive-game.light .results-title{background:linear-gradient(to right,#c21a4d,#8b0f30);-webkit-background-clip:text;background-clip:text}.results-content-wrapper{display:flex!important;flex-direction:row!important;gap:2rem!important}.results-section{flex:1!important;display:flex!important;flex-direction:column!important}.section-title{font-size:.8rem;font-weight:600;color:#c21a4da6;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;border-bottom:1px solid rgba(194,26,77,.12);padding-bottom:.25rem}.immersive-game.light .section-title{color:#c21a4db3;border-bottom-color:#c21a4d26}.results-grid.compact{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.results-grid.compact .result-item{flex:1;min-width:110px;padding:1rem;background:#16132b99;border:1px solid rgba(160,150,220,.1);border-radius:16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:transform .2s ease,box-shadow .2s ease}.results-grid.compact .result-item.primary{background:#c21a4d0f;border-color:#c21a4d26}.results-grid.compact.best .result-item{min-width:140px}.results-grid.compact .result-item.highlight{background:linear-gradient(135deg,#f59e0b14,#eab3080f);border-color:#f59e0b33}.results-grid.compact .result-item:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}.immersive-game.light .results-grid.compact .result-item{background:#ffffffb3;border-color:#3c327814}.immersive-game.light .results-grid.compact .result-item.primary{background:#c21a4d0a;border-color:#c21a4d1f}.immersive-game.light .results-grid.compact .result-item.highlight{background:#f59e0b14;border-color:#f59e0b33}.result-icon{font-size:1.75rem}.result-info{display:flex;flex-direction:column;gap:.25rem}.result-label{font-size:.75rem;color:#9b96c0;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.immersive-game.light .result-label{color:#5a5478}.result-value{font-size:1.25rem;color:#ede9ff;font-weight:700;font-family:JetBrains Mono,Consolas,monospace}.immersive-game.light .result-value{color:#1a1730}.results-actions.horizontal{display:flex;flex-direction:row;justify-content:center;gap:1rem;margin-top:.5rem;flex-wrap:wrap}.play-again-button,.secondary-button{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:1rem 1.75rem;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);flex:1;min-width:150px;font-family:inherit}.play-again-button{background:linear-gradient(135deg,#c21a4d,#a8133a);color:#fff;border:none;box-shadow:0 8px 20px #c21a4d4d}.play-again-button:hover{transform:translateY(-2px);box-shadow:0 12px 28px #c21a4d73}.secondary-button{background:transparent;color:#9b96c0;border:1px solid rgba(160,150,220,.2)}.secondary-button:hover{background:#a096dc0f;color:#ede9ff}.secondary-button.quit{border-color:#ef444440;color:#fca5a5;flex:.5;min-width:120px}.secondary-button.quit:hover{background:#ef444414;color:#fef2f2}.immersive-game.light .play-again-button{background:linear-gradient(135deg,#c21a4d,#8b0f30);color:#fff}.immersive-game.light .secondary-button{color:#5a5478;border-color:#3c327833}.immersive-game.light .secondary-button:hover{background:#3c32780d;color:#1a1730}.immersive-game.light .secondary-button.quit{color:#ef4444;border-color:#ef444440}.immersive-game.light .secondary-button.quit:hover{background:#ef44440d;color:#b91c1c}@keyframes modalFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:768px){.results-card{padding:1.5rem!important;max-height:95vh!important}.results-content-wrapper{flex-direction:column!important;gap:1.5rem!important}.results-grid.compact .result-item{min-width:100%}.results-actions.horizontal{flex-direction:column}}.header{width:100%;padding:1.5rem 0;position:relative;z-index:100;transition:all .3s ease}.header-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center}.header-left{display:flex;align-items:center;gap:1rem}.header-back-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-primary);width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:1.2rem}.header.light .header-back-btn{background:#00000008;border:1px solid rgba(0,0,0,.08)}.header-back-btn:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;transform:translate(-3px);box-shadow:0 4px 12px #c21a4d4d}.header-logo{display:flex;align-items:center;gap:.75rem}.header-logo-icon{font-size:1.5rem;background:var(--accent-primary);color:#fff;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;box-shadow:0 4px 15px #c21a4d4d}.header-logo-text{display:flex;flex-direction:column}.header-title{font-size:1.25rem;font-weight:800;color:var(--text-primary);letter-spacing:-.5px}.header-badge{font-size:.7rem;font-weight:700;color:#10b981;letter-spacing:1px;line-height:1}.header-center{display:flex;justify-content:center}.header-stats{display:flex;gap:1.5rem;background:#ffffff0d;padding:.5rem 1.5rem;border-radius:20px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header.light .header-stats{background:#00000008;border:1px solid rgba(0,0,0,.05)}.stat-pill{display:flex;flex-direction:column;align-items:center;min-width:60px}.pill-label{font-size:.7rem;font-weight:700;color:var(--text-secondary);letter-spacing:.5px}.pill-value{font-size:1.1rem;font-weight:800;font-family:JetBrains Mono,monospace;color:var(--text-primary)}.stat-pill.wpm .pill-value{color:#10b981}.stat-pill.acc .pill-value{color:#6366f1}.stat-pill.time .pill-value{color:var(--accent-primary)}.header-right{display:flex;justify-content:flex-end}.header-actions{display:flex;align-items:center;gap:1rem}.theme-pill{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:12px;cursor:pointer;font-weight:600;font-size:.85rem;transition:all .2s ease}.theme-pill:hover{background:#ffffff0d;border-color:var(--accent-primary);color:var(--accent-primary)}.header.light .theme-pill:hover{background:#00000008}@media(max-width:900px){.header-container{grid-template-columns:1fr 1fr;gap:1.5rem}.header-center{order:3;grid-column:span 2}.header-stats{width:100%;justify-content:space-around}}@media(max-width:600px){.header-badge,.theme-text{display:none}.header-title{font-size:1.1rem}.stat-pill{min-width:50px}.pill-value{font-size:.95rem}}.sound-toggle{background-color:var(--bg-card);border:2px solid var(--border-color);border-radius:12px;padding:.75rem 1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 6px #0000001a}.sound-toggle:hover{transform:translateY(-2px);box-shadow:0 8px 12px #00000026}.sound-toggle.active{background-color:var(--accent-success);border-color:var(--accent-success)}.sound-icon{font-size:1.25rem}.speed-demon-challenge{background:var(--bg-primary);border-radius:24px;padding:3rem;box-shadow:0 0 60px #ffd7004d,inset 0 0 60px #ff00000d;border:3px solid #ffd700;position:relative;overflow:hidden;transition:all .3s ease}.speed-demon-challenge.light{background:#fff;border-color:#f59e0b;box-shadow:0 10px 40px #f59e0b26}.speed-demon-challenge.light .speed-header{background:#f59e0b0d;border-color:#f59e0b33}.speed-demon-challenge.light .speed-back-btn{background:#fdf2f2;border-color:#fca5a5;color:#b91c1c}.speed-demon-challenge.light .speed-back-btn:hover{background:#fee2e2}.speed-demon-challenge.light .speed-title{background:linear-gradient(45deg,#f59e0b,#d97706);-webkit-background-clip:text;background-clip:text;text-shadow:none}.speed-demon-challenge.light .speed-word{background:#f8fafc;color:#475569}.speed-demon-challenge.light .speed-word.current-word{background:#fef3c7;border-color:#f59e0b;color:#92400e}.speed-demon-challenge.light .speed-char.correct{color:#059669}.speed-demon-challenge.light .speed-char.incorrect{color:#dc2626;background:#dc26261a}.speed-demon-challenge.light .meter-bar{background:#e2e8f0;border-color:#cbd5e1}.speed-track{background:#0006;border-radius:16px;padding:3rem;min-height:250px;border:1px solid rgba(255,215,0,.2);position:relative;z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.speed-demon-challenge.light .speed-track{background:#fff;border-color:#e2e8f0}.speed-demon-challenge:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,215,0,.03) 10px,rgba(255,215,0,.03) 20px);animation:slide 20s linear infinite}.speed-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem 1.5rem;background:#0006;border-radius:16px;border:1px solid rgba(255,215,0,.2);position:relative;z-index:10}.speed-back-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:all .2s;font-weight:600;display:flex;align-items:center;gap:.5rem;margin-right:1.5rem}.speed-back-btn:hover{background:#fff3;transform:translate(-3px)}.icon-btn-speed{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:transform .2s;color:gold}.icon-btn-speed:hover{transform:scale(1.1)}.speed-title-section{display:flex;align-items:center;gap:1.5rem}.lightning-container{position:relative;display:flex;gap:.5rem}.lightning{font-size:3rem;animation:flash .5s ease-in-out infinite;filter:drop-shadow(0 0 10px #ffd700)}.lightning.delay-1{animation-delay:.15s}.lightning.delay-2{animation-delay:.3s}.speed-title{font-size:2.5rem;font-weight:900;background:linear-gradient(45deg,gold,#ff6b00,gold);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-shift 2s ease infinite;text-shadow:0 0 30px rgba(255,215,0,.5);letter-spacing:.1em;margin:0}.speed-duration-selector{display:flex;gap:.5rem;background:#0009;padding:.5rem;border-radius:12px;border:2px solid #ffd700}.speed-duration-btn{padding:.75rem 1.5rem;border:2px solid rgba(255,215,0,.5);background:transparent;color:gold;border-radius:8px;cursor:pointer;font-family:JetBrains Mono,monospace;font-weight:700;transition:all .3s ease;text-transform:uppercase}.speed-duration-btn:hover:not(:disabled){background:#ffd70033;border-color:gold;transform:scale(1.05);box-shadow:0 0 20px #ffd70080}.speed-duration-btn.active{background:linear-gradient(135deg,gold,#ff6b00);color:#000;border-color:gold;box-shadow:0 0 30px #ffd700cc}.speed-duration-btn:disabled{opacity:.5;cursor:not-allowed}.speed-warning{background:linear-gradient(135deg,#f003,#ff6b0033);border:2px solid #ff6b00;border-radius:12px;padding:1.5rem;margin-bottom:2rem;display:flex;align-items:center;gap:1rem;animation:warning-pulse 2s ease-in-out infinite;position:relative;z-index:1}.warning-icon{font-size:2rem;animation:rotate 2s linear infinite}.speed-warning p{color:gold;font-family:JetBrains Mono,monospace;font-weight:700;font-size:1.1rem;margin:0;text-transform:uppercase;letter-spacing:.05em}.speed-track{background:#0009;border-radius:16px;padding:3rem;min-height:250px;border:2px solid rgba(255,215,0,.3);position:relative;z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.speed-words-container{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.speed-word{font-size:2.5rem;font-family:JetBrains Mono,monospace;font-weight:900;padding:.5rem 1rem;border-radius:12px;background:#ffffff0d;border:2px solid transparent;transition:all .2s ease}.speed-word.current-word{background:#ffd70033;border-color:gold;transform:scale(1.1);box-shadow:0 0 30px #ffd70080;animation:shake .5s ease-in-out infinite}.speed-word.next-word{background:#ffd7001a;border-color:#ffd7004d;transform:scale(1.05)}.speed-word.typed-word{opacity:.3;transform:scale(.9)}.meter-labels span{transition:all .3s ease}.meter-labels span.active{color:gold;font-size:1.1rem;text-shadow:0 0 20px #ffd700;transform:scale(1.2)}.speed-level-indicator{margin-top:1rem;text-align:center;font-family:JetBrains Mono,monospace;font-size:1.2rem;color:gold;text-transform:uppercase;letter-spacing:.2em;animation:pulse-text 2s ease-in-out infinite}.level-text strong{color:#ff6b00;text-shadow:0 0 20px #ff6b00}.meter-fill.slow{background:linear-gradient(90deg,red,#ff6b00)}.meter-fill.fast{background:linear-gradient(90deg,#ff6b00,gold)}.meter-fill.demon{background:linear-gradient(90deg,gold,#00ff41);box-shadow:0 0 30px #00ff41cc}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.7}}.speed-char{transition:all .1s ease;display:inline-block}.speed-char.current{color:gold;text-shadow:0 0 20px #ffd700;animation:glow .5s ease-in-out infinite}.speed-char.correct{color:#00ff41;text-shadow:0 0 10px #00ff41}.speed-char.incorrect{color:red;text-shadow:0 0 10px #ff0000;animation:error-shake .3s ease}.speed-meter{margin-top:2rem;position:relative;z-index:1}.meter-labels{display:flex;justify-content:space-between;margin-bottom:.5rem;font-family:JetBrains Mono,monospace;font-weight:700;font-size:.9rem;color:gold;text-transform:uppercase}.meter-bar{height:20px;background:linear-gradient(90deg,#1a0a0a,#2a0a0a);border-radius:10px;overflow:hidden;border:2px solid #ffd700;box-shadow:inset 0 0 20px #00000080}.meter-fill{height:100%;background:linear-gradient(90deg,red,#ff6b00,gold,#00ff41);transition:width .3s ease;box-shadow:0 0 20px #ffd700cc;position:relative}.meter-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 1s linear infinite}@keyframes flash{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes warning-pulse{0%,to{box-shadow:0 0 20px #ff6b0080}50%{box-shadow:0 0 40px #ff6b00cc}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:scale(1.1) translate(0)}25%{transform:scale(1.1) translate(-5px)}75%{transform:scale(1.1) translate(5px)}}@keyframes glow{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes slide{0%{transform:translate(0)}to{transform:translate(50%,50%)}}.code-master-challenge{background:var(--bg-primary);border-radius:12px;overflow:hidden;box-shadow:0 20px 60px #00000080;border:1px solid #3e3e3e;font-family:Consolas,Monaco,Courier New,monospace;transition:all .3s ease}.code-master-challenge.light{background:#fff;border-color:#e2e8f0;box-shadow:0 10px 40px #0000001a}.code-master-challenge.light .code-editor-header{background:#f3f4f6;border-color:#e5e7eb}.code-master-challenge.light .editor-tab{background:#e5e7eb;color:#6b7280;border-color:#d1d5db}.code-master-challenge.light .editor-tab.active{background:#fff;color:#1f2937;border-bottom-color:#3b82f6}.code-master-challenge.light .code-back-btn{background:#fff;color:#1f2937;border-color:#d1d5db}.code-master-challenge.light .code-back-btn:hover{background:#f9fafb}.code-master-challenge.light .code-editor-toolbar{background:#f9fafb;border-color:#e5e7eb}.code-master-challenge.light .toolbar-item{color:#4b5563}.code-master-challenge.light .code-editor-body,.code-master-challenge.light .line-numbers{background:#fff}.code-master-challenge.light .line-numbers{border-color:#e5e7eb;color:#9ca3af}.code-master-challenge.light .code-text{color:#374151}.code-master-challenge.light .code-char.current{background:#3b82f61a;border-color:#3b82f6}.code-master-challenge.light .code-char.correct{color:#059669}.code-master-challenge.light .code-char.incorrect{color:#dc2626;background:#dc26260d}.code-master-challenge.light .code-footer{background:#007acc}.code-editor-header{background:#2d2d2d;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #3e3e3e;padding:0 1rem}.code-back-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.4rem .8rem;border-radius:4px;cursor:pointer;transition:all .2s;font-weight:600;display:flex;align-items:center;gap:.5rem;margin:.5rem 1rem .5rem 0;font-size:.75rem}.code-back-btn:hover{background:#fff3}.icon-btn-code{background:none;border:none;font-size:1rem;cursor:pointer;padding:.4rem;display:flex;align-items:center;justify-content:center;transition:transform .2s;color:#ccc}.icon-btn-code:hover{transform:scale(1.1);color:#fff}.editor-tabs{display:flex;gap:0}.editor-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#252526;border-right:1px solid #3e3e3e;cursor:pointer;transition:all .2s ease;color:#858585;font-size:.875rem}.editor-tab.active{background:#1e1e1e;color:#fff;border-bottom:2px solid #008d7b}.editor-tab:hover{background:#2a2a2a}.tab-icon{font-size:1rem}.tab-close{opacity:0;transition:opacity .2s ease;font-size:1.2rem;margin-left:.5rem}.editor-tab:hover .tab-close{opacity:1}.editor-actions{padding:.5rem 1rem}.code-duration-selector{display:flex;gap:.25rem}.code-duration-btn{padding:.5rem 1rem;border:1px solid #3e3e3e;background:#252526;color:#ccc;border-radius:4px;cursor:pointer;font-family:Consolas,monospace;font-size:.75rem;transition:all .2s ease}.code-duration-btn:hover:not(:disabled){background:#2a2a2a;border-color:#008d7b}.code-duration-btn.active{background:#008d7b;color:#fff;border-color:#008d7b}.code-duration-btn:disabled{opacity:.5;cursor:not-allowed}.code-editor-toolbar{background:#2d2d2d;padding:.5rem 1rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #3e3e3e;font-size:.8rem}.toolbar-left,.toolbar-right{display:flex;gap:1.5rem;align-items:center}.toolbar-item{color:#ccc;cursor:pointer;transition:color .2s ease}.toolbar-item:hover{color:#fff}.status-indicator{color:#4ec9b0;font-size:.6rem}.status-text{color:#ccc;font-size:.75rem}.code-hint{background:#008d7b1a;border-left:3px solid #008d7b;padding:1rem 1.5rem;margin:1rem;display:flex;align-items:center;gap:1rem;animation:code-pulse 2s ease-in-out infinite}.hint-bracket{color:#008d7b;font-size:1.5rem;font-weight:700}.code-hint p{color:#4ec9b0;margin:0;font-size:.9rem}.code-editor-body{display:flex;min-height:350px;background:#1e1e1e;padding:1rem 0}.line-numbers{background:#1e1e1e;padding:0 1rem;text-align:right;-webkit-user-select:none;user-select:none;border-right:1px solid #3e3e3e;color:#858585;font-size:.9rem;line-height:1.8}.line-number{padding:.2rem 0}.code-content{flex:1;padding:0 2rem;position:relative}.code-text{font-size:1rem;line-height:1.8;color:#d4d4d4;white-space:pre-wrap;word-break:break-all}.code-char{transition:all .1s ease}.code-char.current{background:#008d7b4d;border-left:2px solid #008d7b;animation:cursor-blink 1s step-end infinite}.code-char.correct{color:#4ec9b0}.code-char.incorrect{color:#f48771;background:#f4877133;text-decoration:wavy underline}.code-char.bracket{color:gold;font-weight:700}.code-char.punctuation{color:#d4d4d4}.code-char.string{color:#ce9178}.cursor-blink{display:inline-block;width:2px;height:1.2em;background:#008d7b;animation:blink 1s step-end infinite;margin-left:2px}.code-footer{background:#007acc;padding:.5rem 1rem;display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:#fff}.footer-left,.footer-right{display:flex;gap:1.5rem;align-items:center}.footer-item{display:flex;align-items:center;gap:.3rem}.footer-icon{font-size:.9rem}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes code-pulse{0%,to{background:#008d7b1a}50%{background:#008d7b33}}.alphabet-challenge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:24px;padding:3rem;box-shadow:0 20px 60px #667eea66;border:2px solid rgba(255,255,255,.1)}.alphabet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.alphabet-title-section{display:flex;align-items:center;gap:1rem}.alphabet-icon{font-size:3rem;animation:rotate-slow 10s linear infinite}.alphabet-title{font-size:2.5rem;font-weight:900;color:#fff;margin:0;text-shadow:0 4px 20px rgba(0,0,0,.3);font-family:JetBrains Mono,monospace}.alphabet-duration-selector{display:flex;gap:.5rem;background:#ffffff1a;padding:.5rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.alphabet-duration-btn{padding:.75rem 1.5rem;border:2px solid rgba(255,255,255,.3);background:transparent;color:#fff;border-radius:8px;cursor:pointer;font-family:JetBrains Mono,monospace;font-weight:700;transition:all .3s ease}.alphabet-duration-btn:hover:not(:disabled){background:#fff3;border-color:#fff;transform:translateY(-2px)}.alphabet-duration-btn.active{background:#fff;color:#667eea;border-color:#fff}.alphabet-duration-btn:disabled{opacity:.5;cursor:not-allowed}.alphabet-grid{display:grid;grid-template-columns:repeat(13,1fr);gap:.75rem;margin-bottom:2rem;padding:2rem;background:#ffffff1a;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.letter-card{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:12px;transition:all .3s ease;position:relative;overflow:hidden}.letter-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent,rgba(255,255,255,.1));opacity:0;transition:opacity .3s ease}.letter-card:hover:before{opacity:1}.letter-card.pending{opacity:.5}.letter-card.in-progress{background:#ffd7004d;border-color:gold;animation:pulse-glow 1.5s ease-in-out infinite}.letter-card.current{background:#ffd70080;border-color:gold;transform:scale(1.1);box-shadow:0 0 30px #ffd70099;animation:bounce-card .5s ease-in-out infinite}.letter-card.completed{background:#00ff7f4d;border-color:#00ff7f;animation:complete-pop .5s ease}.letter-upper{font-size:1.2rem;font-weight:900;color:#fff;font-family:JetBrains Mono,monospace}.letter-lower{font-size:.8rem;color:#ffffffb3;font-family:JetBrains Mono,monospace}.alphabet-hint{background:#ffffff26;border-radius:12px;padding:1.5rem;margin-bottom:2rem;display:flex;align-items:center;gap:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2)}.hint-icon{font-size:2rem;animation:pulse 2s ease-in-out infinite}.alphabet-hint p{color:#fff;font-family:JetBrains Mono,monospace;font-size:1.1rem;margin:0;font-weight:600}.alphabet-text-area{background:#0000004d;border-radius:16px;padding:2.5rem;min-height:200px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.1)}.text-display{font-size:2rem;line-height:2.5;font-family:JetBrains Mono,monospace;color:#fff;letter-spacing:.1em;text-align:center}.alphabet-char{transition:all .2s ease;display:inline-block}.alphabet-char.current{background:#ffd70080;color:gold;border-radius:6px;padding:0 6px;transform:scale(1.2);animation:char-pulse 1s ease-in-out infinite}.alphabet-char.correct{color:#00ff7f;text-shadow:0 0 10px #00ff7f}.alphabet-char.incorrect{color:#ff6b6b;background:#ff6b6b4d;border-radius:6px;padding:0 6px;animation:shake-char .3s ease}.alphabet-progress-section{margin-top:2rem}.progress-label{display:flex;justify-content:space-between;margin-bottom:.75rem;color:#fff;font-family:JetBrains Mono,monospace;font-weight:700;font-size:1rem}.alphabet-progress-bar{height:16px;background:#0000004d;border-radius:10px;overflow:hidden;border:2px solid rgba(255,255,255,.2)}.progress-fill{height:100%;background:linear-gradient(90deg,#00ff7f,#00d4ff,#667eea);transition:width .3s ease;box-shadow:0 0 20px #00ff7f99;position:relative}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s linear infinite}@keyframes rotate-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 10px #ffd70080}50%{box-shadow:0 0 20px #ffd700cc}}@keyframes bounce-card{0%,to{transform:scale(1.1) translateY(0)}50%{transform:scale(1.1) translateY(-5px)}}@keyframes complete-pop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes char-pulse{0%,to{box-shadow:0 0 #ffd700b3}50%{box-shadow:0 0 0 10px #ffd70000}}@keyframes shake-char{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.immersive-game{height:100vh;width:100vw;position:fixed;top:0;left:0;overflow:hidden;font-family:Poppins,sans-serif;background:linear-gradient(180deg,#0a192f,#112240,#1a365d)}.immersive-game.light{background:linear-gradient(180deg,#f0f4f8,#d9e2ec,#bcccdc)}.background-pattern{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.05;background-image:radial-gradient(circle at 20% 30%,rgba(100,255,218,.15) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(100,255,218,.15) 0%,transparent 50%);animation:patternFloat 15s ease-in-out infinite}@keyframes patternFloat{0%,to{transform:translate(0)}50%{transform:translate(30px,30px)}}.ripple-effect{position:absolute;top:50%;left:50%;width:80px;height:80px;border-radius:50%;border:2px solid rgba(100,255,218,.6);transform:translate(-50%,-50%);animation:rippleExpand .3s ease-out;pointer-events:none}@keyframes rippleExpand{0%{width:80px;height:80px;opacity:1}to{width:400px;height:400px;opacity:0}}.top-left-corner{position:absolute;top:2rem;left:2rem;z-index:100}.back-button{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;background:#64ffda1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:50px;border:1px solid rgba(100,255,218,.2);color:#64ffda;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #0000001a}.back-button:hover{background:#64ffda33;transform:translate(-3px);box-shadow:0 6px 24px #64ffda4d}.immersive-game.light .back-button{background:#ffffffe6;border:1px solid rgba(0,0,0,.1);color:#0a192f}.immersive-game.light .back-button:hover{background:#fff;box-shadow:0 6px 24px #00000026}.back-arrow{font-size:1.5rem;transition:transform .3s ease}.back-button:hover .back-arrow{transform:translate(-3px)}.back-text{font-weight:700}.top-right-corner{position:absolute;top:2rem;right:2rem;display:flex;gap:.75rem;z-index:100}.icon-button{width:50px;height:50px;border-radius:50%;border:1px solid rgba(100,255,218,.2);background:#64ffda1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#64ffda;font-size:1.25rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0000001a}.icon-button:hover{background:#64ffda33;transform:translateY(-2px);box-shadow:0 6px 24px #64ffda4d}.immersive-game.light .icon-button{background:#ffffffe6;border:1px solid rgba(0,0,0,.1);color:#0a192f}.immersive-game.light .icon-button:hover{background:#fff;box-shadow:0 6px 24px #00000026}.left-side-stats{position:absolute;left:2rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:1rem;z-index:100}.stat-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#64ffda1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(100,255,218,.2);box-shadow:0 4px 20px #0000001a;transition:all .3s ease;min-width:160px}.stat-card:hover{transform:translate(-5px);box-shadow:0 6px 24px #64ffda4d}.immersive-game.light .stat-card{background:#ffffffe6;border:1px solid rgba(0,0,0,.1)}.immersive-game.light .stat-card:hover{box-shadow:0 6px 24px #00000026}.stat-label{font-size:.75rem;font-weight:700;color:#64ffdab3;text-transform:uppercase;letter-spacing:.5px}.immersive-game.light .stat-label{color:#00000080}.stat-value{font-size:1.5rem;font-weight:900;color:#64ffda}.immersive-game.light .stat-value{color:#0a192f}.stat-value.timer{font-family:Courier New,monospace;font-size:1.25rem}.right-side-progress{position:absolute;right:2rem;top:50%;transform:translateY(-50%);z-index:100}.progress-card{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;background:#64ffda1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(100,255,218,.2);box-shadow:0 4px 20px #0000001a;transition:all .3s ease}.progress-card:hover{transform:translate(5px) translateY(-50%);box-shadow:0 6px 24px #64ffda4d}.immersive-game.light .progress-card{background:#ffffffe6;border:1px solid rgba(0,0,0,.1)}.immersive-game.light .progress-card:hover{box-shadow:0 6px 24px #00000026}.progress-label{font-size:.875rem;font-weight:700;color:#64ffdab3;text-transform:uppercase;letter-spacing:.5px}.immersive-game.light .progress-label{color:#00000080}.circular-progress{position:relative;width:120px;height:120px}.progress-ring{transform:rotate(0)}.progress-ring-circle{transition:stroke-dashoffset .3s ease;stroke-linecap:round;filter:drop-shadow(0 0 8px rgba(100,255,218,.5))}.immersive-game.light .progress-ring-circle{stroke:#00b894;filter:drop-shadow(0 0 8px rgba(0,184,148,.5))}.immersive-game.light .progress-ring-circle-bg{stroke:#0000001a}.progress-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.progress-number{font-size:2rem;font-weight:900;color:#64ffda;line-height:1}.immersive-game.light .progress-number{color:#0a192f}.progress-total{font-size:.875rem;font-weight:600;color:#64ffda99}.immersive-game.light .progress-total{color:#0006}.bottom-left-corner{position:absolute;bottom:2rem;left:2rem;z-index:100}.action-button{display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;border-radius:50px;border:1px solid rgba(100,255,218,.3);background:#64ffda26;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#64ffda;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #0000001a}.button-icon{font-size:1.5rem;transition:transform .3s ease}.button-text{font-weight:700}.icon-button.exit{background:#ff6b6b26;border-color:#ff6b6b4d;color:#ff6b6b}.icon-button.exit:hover{background:#ff6b6b40}.game-ring-anchor{position:absolute;top:50%;left:50%;width:700px;height:700px;margin-left:-350px;margin-top:-350px}.game-ring{position:absolute;top:0;left:0;width:700px;height:700px;animation:smoothRotate 120s linear infinite}@keyframes smoothRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.solid-bubble{position:absolute;width:75px;height:75px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.25rem;font-weight:800;color:#fff;cursor:default;background:linear-gradient(135deg,#64ffda,#00d4aa);border:3px solid #64ffda;box-shadow:0 6px 24px #64ffda66,0 0 30px #64ffda33;transform:translate(-50%,-50%);transition:all .05s ease}.solid-bubble .bubble-letter{display:block;animation:counterRotate 120s linear infinite}.immersive-game.light .solid-bubble{background:linear-gradient(135deg,#00b894,#00cec9);border:3px solid #00b894;box-shadow:0 6px 24px #00b89466,0 0 30px #00b89433}.solid-bubble.active{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);border:3px solid #ff8787;box-shadow:0 0 40px #ff6b6bcc,0 0 80px #ee5a6f66,0 8px 32px #ff6b6b80;font-size:2.75rem}.solid-bubble.active .bubble-letter{animation:activePulse .8s ease-in-out infinite,counterRotate 120s linear infinite}.immersive-game.light .solid-bubble.active{background:linear-gradient(135deg,#ff5252,#f44336);border:3px solid #ff6b6b}.solid-bubble.popping{animation:instantPop .05s ease-out forwards}.solid-bubble.shaking{animation:quickShake .1s ease-in-out,flashError .1s ease-in-out}.crystal-shard{position:absolute;width:10px;height:10px;background:linear-gradient(135deg,#64ffda,#00d4aa);border-radius:2px;pointer-events:none;box-shadow:0 0 8px #64ffdacc}.immersive-game.light .crystal-shard{background:linear-gradient(135deg,#00b894,#00cec9)}.center-display{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:10;pointer-events:none}.center-brand-icon{width:100px;height:100px;object-fit:contain;display:block;margin:0 auto .75rem}.center-text{font-size:1.5rem;font-weight:700;color:#64ffda;margin-bottom:.5rem}.immersive-game.light .center-text{color:#0a192f}.center-hint{font-size:1rem;color:#64ffda99}.immersive-game.light .center-hint{color:#00000080}.pause-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;background:#0a192ff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:3rem;border-radius:24px;border:2px solid rgba(100,255,218,.3);z-index:10}.immersive-game.light .pause-overlay{background:#fffffff2;border-color:#0000001a}.pause-icon{font-size:4rem;margin-bottom:1rem}.pause-text{font-size:2rem;font-weight:900;color:#64ffda;margin-bottom:1.5rem}.immersive-game.light .pause-text{color:#0a192f}.resume-btn{padding:.875rem 2rem;background:linear-gradient(135deg,#64ffda,#00d4aa);border:none;border-radius:50px;color:#0a192f;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .3s ease}.resume-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #64ffda66}.floating-footer{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:100}.footer-content{display:flex;justify-content:center;align-items:center}.action-button{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.75rem;border-radius:50px;border:1px solid rgba(100,255,218,.3);background:#64ffda26;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#64ffda;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #0000001a}.action-button:hover{background:#64ffda40;transform:translateY(-3px);box-shadow:0 8px 24px #64ffda4d}.immersive-game.light .action-button{background:#ffffffe6;border:1px solid rgba(0,0,0,.1);color:#0a192f}.immersive-game.light .action-button:hover{background:#fff;box-shadow:0 8px 24px #00000026}.button-icon{font-size:1.25rem;transition:transform .3s ease}.action-button:hover .button-icon{transform:rotate(180deg)}.results-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.results-card{background:#0a192ff2;-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);border:2px solid rgba(100,255,218,.3);border-radius:32px;padding:3rem;max-width:600px;width:90%;text-align:center;animation:slideUp .4s ease;box-shadow:0 20px 60px #00000080}.immersive-game.light .results-card{background:#fffffffa;border-color:#0000001a}.results-badge{display:inline-block;padding:.5rem 1.5rem;background:#64ffda26;border-radius:50px;font-size:.875rem;font-weight:700;color:#64ffda;margin-bottom:1rem}.immersive-game.light .results-badge{background:#00b89426;color:#00b894}.results-title{font-size:2.5rem;font-weight:900;color:#64ffda;margin:0 0 2rem}.immersive-game.light .results-title{color:#0a192f}.results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem}.result-item{background:#64ffda14;border-radius:16px;padding:1.5rem;border:1px solid rgba(100,255,218,.15)}.immersive-game.light .result-item{background:#00b89414;border-color:#00b89426}.result-item.primary{background:#64ffda26;border-color:#64ffda4d}.result-item.highlight{grid-column:1 / -1;background:linear-gradient(135deg,#ffc10726,#ff980026);border-color:#ffc1074d}.result-icon{font-size:2rem;margin-bottom:.5rem}.result-label{font-size:.75rem;color:#64ffdab3;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.immersive-game.light .result-label{color:#00000080}.result-value{font-size:2rem;font-weight:900;color:#64ffda;font-family:Courier New,monospace}.immersive-game.light .result-value{color:#0a192f}.results-actions{display:flex;flex-direction:column;gap:.75rem}.play-again-button{width:100%;padding:1.125rem 2rem;background:linear-gradient(135deg,#64ffda,#00d4aa);border:none;border-radius:50px;color:#0a192f;font-size:1.125rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:all .3s ease;box-shadow:0 6px 24px #64ffda66}.play-again-button:hover{transform:translateY(-3px);box-shadow:0 10px 32px #64ffda80}.button-arrow{font-size:1.5rem;transition:transform .3s ease}.play-again-button:hover .button-arrow{transform:translate(4px)}.secondary-button{width:100%;padding:1rem 2rem;background:transparent;border:2px solid rgba(100,255,218,.3);border-radius:50px;color:#64ffda;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.secondary-button:hover{background:#64ffda1a;border-color:#64ffda80}.immersive-game.light .secondary-button{border-color:#0003;color:#0a192f}.immersive-game.light .secondary-button:hover{background:#0000000d}@media(max-width:1200px){.left-side-stats{left:1rem}.right-side-progress{right:1rem}.stat-card{min-width:140px;padding:.875rem 1.25rem}}@media(max-width:768px){.game-ring{width:500px;height:500px}.solid-bubble{width:60px;height:60px;font-size:1.75rem}.solid-bubble.active{font-size:2rem}.left-side-stats{left:.5rem;gap:.75rem}.right-side-progress{right:.5rem}.stat-card{min-width:120px;padding:.75rem 1rem}.stat-icon{font-size:1.5rem}.stat-value{font-size:1.25rem}.circular-progress{width:100px;height:100px}.progress-number{font-size:1.5rem}.top-left-corner{top:1rem;left:1rem}.top-right-corner{top:1rem;right:1rem}.bottom-left-corner{bottom:1rem;left:1rem}.results-grid{grid-template-columns:1fr}}@media(max-width:480px){.game-ring{width:380px;height:380px}.solid-bubble{width:50px;height:50px;font-size:1.5rem}.solid-bubble.active{font-size:1.75rem}.left-side-stats{left:.5rem;gap:.5rem}.right-side-progress{right:.5rem}.stat-card{min-width:100px;padding:.625rem .875rem}.stat-icon{font-size:1.25rem}.stat-value{font-size:1.125rem}.stat-label{font-size:.625rem}.circular-progress{width:80px;height:80px}.progress-number{font-size:1.25rem}.back-button{padding:.625rem 1.25rem;font-size:.875rem}.icon-button{width:44px;height:44px;font-size:1.125rem}.action-button{padding:.875rem 1.5rem;font-size:1rem}.button-text{display:none}}.immersive-game.medium-mode{height:100vh;width:100vw;position:fixed;top:0;left:0;overflow:hidden;font-family:Poppins,sans-serif;background:linear-gradient(180deg,#1a0f00,#2d1a00,#3d2400)}.immersive-game.medium-mode.light{background:linear-gradient(180deg,#fff8f0,#ffe8d6,#ffd4b3)}.immersive-game.medium-mode .background-pattern{background-image:radial-gradient(circle at 20% 30%,rgba(255,152,0,.15) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(255,152,0,.15) 0%,transparent 50%)}.immersive-game.medium-mode .ripple-effect{border:2px solid rgba(255,152,0,.6)}.immersive-game.medium-mode .top-left-corner{position:absolute;top:2rem;left:2rem;z-index:100}.immersive-game.medium-mode .back-button{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;background:#ff98001a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:50px;border:1px solid rgba(255,152,0,.2);color:#ff9800;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #0000001a}.immersive-game.medium-mode .back-button:hover{background:#ff980033;transform:translate(-3px);box-shadow:0 6px 24px #ff98004d}.immersive-game.medium-mode.light .back-button{background:#ffffffe6;border:1px solid rgba(0,0,0,.1);color:#e65100}.immersive-game.medium-mode .back-arrow{font-size:1.5rem;transition:transform .3s ease}.immersive-game.medium-mode .back-button:hover .back-arrow{transform:translate(-3px)}.immersive-game.medium-mode .top-right-corner{position:absolute;top:2rem;right:2rem;display:flex;gap:.75rem;z-index:100}.immersive-game.medium-mode .icon-button{width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,152,0,.2);background:#ff98001a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#ff9800;font-size:1.25rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0000001a}.immersive-game.medium-mode .icon-button:hover{background:#ff980033;transform:translateY(-2px);box-shadow:0 6px 24px #ff98004d}.immersive-game.medium-mode.light .icon-button{background:#ffffffe6;border:1px solid rgba(0,0,0,.1);color:#e65100}.immersive-game.medium-mode .left-side-stats{position:absolute;left:2rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:1rem;z-index:100}.immersive-game.medium-mode .stat-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#ff98001a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,152,0,.2);box-shadow:0 4px 20px #0000001a;transition:all .3s ease;min-width:160px}.immersive-game.medium-mode .stat-card:hover{transform:translate(-5px);box-shadow:0 6px 24px #ff98004d}.immersive-game.medium-mode.light .stat-card{background:#ffffffe6;border:1px solid rgba(0,0,0,.1)}.immersive-game.medium-mode .stat-icon{font-size:2rem}.immersive-game.medium-mode .stat-label{font-size:.75rem;font-weight:700;color:#ff9800b3;text-transform:uppercase;letter-spacing:.5px}.immersive-game.medium-mode.light .stat-label{color:#00000080}.immersive-game.medium-mode .stat-value{font-size:1.5rem;font-weight:900;color:#ff9800}.immersive-game.medium-mode.light .stat-value{color:#e65100}.immersive-game.medium-mode .stat-value.timer{font-family:Courier New,monospace;font-size:1.25rem}.immersive-game.medium-mode .right-side-progress{position:absolute;right:2rem;top:50%;transform:translateY(-50%);z-index:100}.immersive-game.medium-mode .progress-card{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;background:#ff98001a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,152,0,.2);box-shadow:0 4px 20px #0000001a;transition:all .3s ease}.immersive-game.medium-mode .progress-card:hover{transform:translate(5px) translateY(-50%);box-shadow:0 6px 24px #ff98004d}.immersive-game.medium-mode.light .progress-card{background:#ffffffe6;border:1px solid rgba(0,0,0,.1)}.immersive-game.medium-mode .progress-label{font-size:.875rem;font-weight:700;color:#ff9800b3;text-transform:uppercase;letter-spacing:.5px}.immersive-game.medium-mode.light .progress-label{color:#00000080}.immersive-game.medium-mode .progress-ring-circle{stroke:#ff9800;filter:drop-shadow(0 0 8px rgba(255,152,0,.5))}.immersive-game.medium-mode.light .progress-ring-circle{stroke:#e65100}.immersive-game.medium-mode .progress-number{font-size:2rem;font-weight:900;color:#ff9800}.immersive-game.medium-mode.light .progress-number{color:#e65100}.immersive-game.medium-mode .progress-total{font-size:.875rem;font-weight:600;color:#ff980099}.immersive-game.medium-mode.light .progress-total{color:#0006}.immersive-game.medium-mode .bottom-left-corner{position:absolute;bottom:2rem;left:2rem;z-index:100}.immersive-game.medium-mode .action-button{display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;border-radius:50px;border:1px solid rgba(255,152,0,.3);background:#ff980026;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#ff9800;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #0000001a}.immersive-game.medium-mode .action-button:hover{background:#ff980040;transform:translateY(-3px);box-shadow:0 8px 24px #ff98004d}.immersive-game.medium-mode.light .action-button{background:#ffffffe6;border:1px solid rgba(0,0,0,.1);color:#e65100}.immersive-game.medium-mode .button-icon{font-size:1.5rem;transition:transform .3s ease}.immersive-game.medium-mode .action-button:hover .button-icon{transform:rotate(180deg)}.immersive-game.medium-mode .game-ring-anchor{position:absolute;top:50%;left:50%;width:700px;height:700px;margin-left:-350px;margin-top:-350px}.immersive-game.medium-mode .game-ring{position:absolute;top:0;left:0;width:700px;height:700px;animation:smoothRotateMed 120s linear infinite}@keyframes smoothRotateMed{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.immersive-game.medium-mode .solid-bubble{position:absolute;width:75px;height:75px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.25rem;font-weight:800;color:#fff;cursor:default;background:linear-gradient(135deg,#ff9800,#f57c00);border:3px solid #ff9800;box-shadow:0 6px 24px #ff980066,0 0 30px #ff980033;transform:translate(-50%,-50%);transition:all .05s ease}.immersive-game.medium-mode .bubble-letter{display:block;animation:counterRotate 120s linear infinite}@keyframes counterRotate{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.immersive-game.medium-mode.light .solid-bubble{background:linear-gradient(135deg,#fb8c00,#f57c00);border:3px solid #fb8c00;box-shadow:0 6px 24px #fb8c0066,0 0 30px #fb8c0033}.immersive-game.medium-mode .solid-bubble.active{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);border:3px solid #ff8787;box-shadow:0 0 40px #ff6b6bcc,0 0 80px #ee5a6f66,0 8px 32px #ff6b6b80;font-size:2.75rem}.immersive-game.medium-mode .solid-bubble.active .bubble-letter{animation:activePulse .8s ease-in-out infinite,counterRotate 120s linear infinite}@keyframes activePulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.immersive-game.medium-mode .solid-bubble.popping{animation:instantPop .05s ease-out forwards}@keyframes instantPop{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(0);opacity:0}}.immersive-game.medium-mode .solid-bubble.shaking{animation:quickShake .1s ease-in-out,flashError .1s ease-in-out}@keyframes quickShake{0%,to{transform:translate(-50%,-50%) translate(0)}33%{transform:translate(-50%,-50%) translate(-8px)}66%{transform:translate(-50%,-50%) translate(8px)}}@keyframes flashError{0%,to{background:linear-gradient(135deg,#ff6b6b,#ee5a6f)}50%{background:linear-gradient(135deg,#d32f2f,#c62828);box-shadow:0 0 50px #d32f2fe6}}.immersive-game.medium-mode .crystal-shard{position:absolute;width:10px;height:10px;background:linear-gradient(135deg,#ff9800,#f57c00);border-radius:2px;pointer-events:none;box-shadow:0 0 8px #ff9800cc}.immersive-game.medium-mode .center-display{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:10;pointer-events:none}.immersive-game.medium-mode .center-icon{display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.immersive-game.medium-mode .center-brand-icon{width:100px;height:100px;object-fit:contain}.immersive-game.medium-mode .center-text{font-size:1.5rem;font-weight:700;color:#ff9800;margin-bottom:.5rem}.immersive-game.medium-mode.light .center-text{color:#e65100}.immersive-game.medium-mode .center-hint{font-size:1rem;color:#ff980099}.immersive-game.medium-mode.light .center-hint{color:#00000080}.immersive-game.medium-mode .pause-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;background:#1a0f00f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:3rem;border-radius:24px;border:2px solid rgba(255,152,0,.3);z-index:10}.immersive-game.medium-mode.light .pause-overlay{background:#fffffff2;border-color:#0000001a}.immersive-game.medium-mode .pause-icon{font-size:4rem;margin-bottom:1rem}.immersive-game.medium-mode .pause-text{font-size:2rem;font-weight:900;color:#ff9800;margin-bottom:1.5rem}.immersive-game.medium-mode.light .pause-text{color:#e65100}.immersive-game.medium-mode .resume-btn{padding:.875rem 2rem;background:linear-gradient(135deg,#ff9800,#f57c00);border:none;border-radius:50px;color:#fff;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .3s ease}.immersive-game.medium-mode .resume-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ff980066}.immersive-game.medium-mode .results-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.immersive-game.medium-mode .results-card{background:#1a0f00f2;-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);border:2px solid rgba(255,152,0,.3);border-radius:32px;padding:3rem;max-width:600px;width:90%;text-align:center;animation:slideUp .4s ease;box-shadow:0 20px 60px #00000080}.immersive-game.medium-mode.light .results-card{background:#fffffffa;border-color:#0000001a}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.immersive-game.medium-mode .results-badge{display:inline-block;padding:.5rem 1.5rem;background:#ff980026;border-radius:50px;font-size:.875rem;font-weight:700;color:#ff9800;margin-bottom:1rem}.immersive-game.medium-mode.light .results-badge{background:#fb8c0026;color:#e65100}.immersive-game.medium-mode .results-title{font-size:2.5rem;font-weight:900;color:#ff9800;margin:0 0 2rem}.immersive-game.medium-mode.light .results-title{color:#e65100}.immersive-game.medium-mode .results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem}.immersive-game.medium-mode .result-item{background:#ff980014;border-radius:16px;padding:1.5rem;border:1px solid rgba(255,152,0,.15)}.immersive-game.medium-mode.light .result-item{background:#fb8c0014;border-color:#fb8c0026}.immersive-game.medium-mode .result-item.primary{background:#ff980026;border-color:#ff98004d}.immersive-game.medium-mode .result-item.highlight{grid-column:1 / -1;background:linear-gradient(135deg,#ffc10726,#ff980026);border-color:#ffc1074d}.immersive-game.medium-mode .result-label{font-size:.75rem;color:#ff9800b3;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.immersive-game.medium-mode.light .result-label{color:#00000080}.immersive-game.medium-mode .result-value{font-size:2rem;font-weight:900;color:#ff9800;font-family:Courier New,monospace}.immersive-game.medium-mode.light .result-value{color:#e65100}.immersive-game.medium-mode .play-again-button{width:100%;padding:1.125rem 2rem;background:linear-gradient(135deg,#ff9800,#f57c00);border:none;border-radius:50px;color:#fff;font-size:1.125rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:all .3s ease;box-shadow:0 6px 24px #ff980066}.immersive-game.medium-mode .play-again-button:hover{transform:translateY(-3px);box-shadow:0 10px 32px #ff980080}.immersive-game.medium-mode .button-arrow{font-size:1.5rem;transition:transform .3s ease}.immersive-game.medium-mode .play-again-button:hover .button-arrow{transform:translate(4px)}.immersive-game.medium-mode .secondary-button{width:100%;padding:1rem 2rem;background:transparent;border:2px solid rgba(255,152,0,.3);border-radius:50px;color:#ff9800;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.immersive-game.medium-mode .secondary-button:hover{background:#ff98001a;border-color:#ff980080}.immersive-game.medium-mode.light .secondary-button{border-color:#0003;color:#e65100}.immersive-game.medium-mode.light .secondary-button:hover{background:#0000000d}@media(max-width:768px){.immersive-game.medium-mode .game-ring{width:500px;height:500px}.immersive-game.medium-mode .solid-bubble{width:60px;height:60px;font-size:1.75rem}.immersive-game.medium-mode .left-side-stats{left:1rem}.immersive-game.medium-mode .right-side-progress{right:1rem}.immersive-game.medium-mode .stat-card{min-width:140px;padding:.875rem 1.25rem}.immersive-game.medium-mode .results-grid{grid-template-columns:1fr}}@media(max-width:480px){.immersive-game.medium-mode .game-ring{width:380px;height:380px}.immersive-game.medium-mode .solid-bubble{width:50px;height:50px;font-size:1.5rem}.immersive-game.medium-mode .stat-card{min-width:120px;padding:.75rem 1rem}.immersive-game.medium-mode .button-text{display:none}}.hard-game-container.matrix-theme{width:100vw;height:100vh;background-color:#020617;color:#fff;font-family:JetBrains Mono,monospace;overflow:hidden;position:relative;display:flex;flex-direction:column}.matrix-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(0,242,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,242,255,.05) 1px,transparent 1px);background-size:80px 80px;z-index:1}.scan-line{position:absolute;top:0;left:0;width:100%;height:10px;background:linear-gradient(to bottom,transparent,rgba(0,242,255,.2),transparent);animation:scan 4s linear infinite;z-index:2;pointer-events:none}@keyframes scan{0%{top:-10%}to{top:110%}}.top-hud-v2{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 3rem;background:#0f172acc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,242,255,.3);z-index:10}.hud-part{display:flex;flex-direction:column;gap:.5rem}.hud-part.center{text-align:center}.hud-part .label{font-size:.75rem;letter-spacing:2px;color:#00f2ff;font-weight:700}.main-stat{font-size:2.5rem;font-weight:800;color:#fff;text-shadow:0 0 20px rgba(0,242,255,.5)}.integrity-bar{width:200px;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.integrity-fill{height:100%;background:linear-gradient(90deg,#ff007f,#00f2ff);transition:width .3s ease;box-shadow:0 0 10px #00f2ff80}.game-arena{flex:1;position:relative;z-index:5}.meteor-field{width:100%;height:100%;position:relative}.meteor-orb{position:absolute;width:60px;height:60px;background:#000c;border:2px solid var(--orb-color);border-radius:50%;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);z-index:15;box-shadow:0 0 30px var(--orb-color);transition:left .1s linear,top .1s linear}.meteor-char{font-size:1.75rem;font-weight:800;color:#fff}.meteor-tail{position:absolute;bottom:100%;left:50%;width:15px;height:200px;transform:translate(-50%);opacity:.6}.firewall-line{position:absolute;bottom:10%;left:0;width:100%;height:3px;background:linear-gradient(90deg,transparent,#ff007f,transparent);box-shadow:0 0 20px #ff007f;animation:pulseFirewall 2s infinite}@keyframes pulseFirewall{0%,to{opacity:.6}50%{opacity:1}}.gateway-prompt{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem}.glitch-text{font-size:4rem;font-weight:800;color:#fff;letter-spacing:8px;position:relative}.init-btn{margin-top:2rem;padding:1.25rem 3rem;background:transparent;border:2px solid #00f2ff;color:#00f2ff;font-weight:800;font-family:inherit;cursor:pointer;letter-spacing:4px;transition:all .3s ease}.init-btn:hover{background:#00f2ff;color:#000;box-shadow:0 0 40px #00f2ff}.bottom-hud-v2{display:flex;justify-content:space-around;padding:1.5rem;background:#0f172ae6;border-top:1px solid rgba(0,242,255,.3)}.bottom-hud-v2 .stat{display:flex;flex-direction:column;align-items:center}.bottom-hud-v2 .stat span{font-size:.75rem;color:#00f2ff;opacity:.7}.bottom-hud-v2 .stat strong{font-size:1.5rem;color:#fff}.end-results-modal{position:fixed;inset:0;background:#000000e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000}.end-card{padding:4rem;border:2px solid #00f2ff;background:#020617;text-align:center;max-width:600px;width:90%;box-shadow:0 0 60px #00f2ff4d}.end-card h2{font-size:2.5rem;letter-spacing:4px;margin-bottom:2.5rem}.end-card h2.fail{color:#ff007f}.end-card h2.success{color:#00f2ff}.end-stats{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:3rem}.e-stat{display:flex;flex-direction:column;gap:.5rem}.e-stat span{color:#00f2ff;font-size:.875rem}.e-stat strong{font-size:2.5rem;color:#fff}.end-actions{display:flex;gap:2rem;justify-content:center}.retry-btn,.exit-btn{padding:1rem 2rem;border:1px solid #fff;background:transparent;color:#fff;cursor:pointer;font-family:inherit;font-weight:700;transition:all .3s ease}.retry-btn:hover{background:#fff;color:#000}.exit-btn:hover{border-color:#ff007f;color:#ff007f}@media(max-width:768px){.top-hud-v2{padding:1rem}.main-stat{font-size:1.5rem}.integrity-bar{width:100px}.glitch-text{font-size:2rem}}.quote-master-challenge{background:linear-gradient(135deg,#2c3e50,#34495e);border-radius:24px;padding:3rem;box-shadow:0 20px 60px #0006;border:2px solid rgba(236,240,241,.2);position:relative;transition:all .3s ease}.quote-master-challenge.light{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-color:#cbd5e1;box-shadow:0 10px 40px #4755691a}.quote-master-challenge.light .quote-header{background:#4755690d;border-color:#4755691a}.quote-master-challenge.light .quote-back-btn{background:#fff;color:#1e293b;border-color:#cbd5e1}.quote-master-challenge.light .quote-back-btn:hover{background:#f8fafc}.quote-master-challenge.light .quote-title{color:#1e293b}.quote-master-challenge.light .quote-container{background:#fff;border-color:#e2e8f0}.quote-master-challenge.light .quote-text{color:#334155}.quote-master-challenge.light .quote-char.correct{color:#059669}.quote-master-challenge.light .quote-char.incorrect{color:#dc2626;background:#dc26260d}.quote-master-challenge.light .stat-item{background:#f8fafc;border-color:#e2e8f0}.quote-master-challenge.light .stat-value{color:#1e293b}.quote-master-challenge.light .quote-progress-bar{background:#e2e8f0}.quote-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;padding:1rem 1.5rem;background:#0003;border-radius:16px;border:1px solid rgba(255,255,255,.1)}.quote-back-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:all .2s;font-weight:600;display:flex;align-items:center;gap:.5rem;margin-right:1rem}.quote-back-btn:hover{background:#fff3;transform:translate(-3px)}.icon-btn-quote{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:transform .2s;color:#ecf0f1}.icon-btn-quote:hover{transform:scale(1.1)}.quote-title-section{display:flex;align-items:center;gap:1rem}.quote-icon{font-size:3rem;animation:book-flip 3s ease-in-out infinite}.quote-title{font-size:2.5rem;font-weight:700;color:#ecf0f1;margin:0;font-family:Georgia,serif}.quote-subtitle{font-size:1rem;color:#95a5a6;font-style:italic;font-family:Georgia,serif}.quote-duration-selector{display:flex;gap:.5rem;background:#0000004d;padding:.5rem;border-radius:12px}.quote-duration-btn{padding:.75rem 1.5rem;border:2px solid rgba(236,240,241,.3);background:transparent;color:#ecf0f1;border-radius:8px;cursor:pointer;font-family:JetBrains Mono,monospace;font-weight:700;transition:all .3s ease}.quote-duration-btn:hover:not(:disabled){background:#ecf0f11a;border-color:#ecf0f1;transform:translateY(-2px)}.quote-duration-btn.active{background:#ecf0f1;color:#2c3e50;border-color:#ecf0f1}.quote-duration-btn:disabled{opacity:.5;cursor:not-allowed}.quote-container{background:#0000004d;border-radius:20px;padding:4rem;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(236,240,241,.1);min-height:300px;display:flex;flex-direction:column;justify-content:center}.quote-decoration{position:absolute;font-size:6rem;color:#ecf0f11a;font-family:Georgia,serif;line-height:1}.quote-decoration.top-left{top:1rem;left:1.5rem}.quote-decoration.top-right{top:1rem;right:1.5rem}.quote-hint{text-align:center;margin-bottom:2rem;animation:fade-pulse 2s ease-in-out infinite}.quote-hint .hint-icon{font-size:2.5rem;display:block;margin-bottom:1rem}.quote-hint p{color:#95a5a6;font-family:Georgia,serif;font-size:1.2rem;font-style:italic;margin:0}.quote-text-box{margin:2rem 0}.quote-text{font-size:1.8rem;line-height:2.2;font-family:Georgia,serif;color:#ecf0f1;text-align:center;letter-spacing:.02em}.quote-char{transition:all .2s ease;display:inline-block}.quote-char.current{background:#3498db66;color:#3498db;border-radius:4px;padding:0 4px;animation:quote-pulse 1s ease-in-out infinite}.quote-char.correct{color:#2ecc71}.quote-char.incorrect{color:#e74c3c;background:#e74c3c33;border-radius:4px;padding:0 4px}.quote-author{text-align:right;margin-top:2rem;font-family:Georgia,serif;font-size:1.2rem;color:#95a5a6;font-style:italic}.author-dash{margin-right:.5rem}.quote-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}.stat-item{background:#0000004d;border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;border:2px solid rgba(236,240,241,.1);transition:all .3s ease}.stat-item:hover{background:#0006;border-color:#ecf0f14d;transform:translateY(-2px)}.stat-icon{font-size:2rem}.stat-label{color:#95a5a6;font-size:.9rem;font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.05em}.stat-value{color:#ecf0f1;font-size:1.5rem;font-weight:700;font-family:JetBrains Mono,monospace}.quote-progress-bar{margin-top:2rem;height:12px;background:#0000004d;border-radius:10px;overflow:hidden;border:2px solid rgba(236,240,241,.1)}.quote-progress-fill{height:100%;background:linear-gradient(90deg,#3498db,#2ecc71);transition:width .3s ease;box-shadow:0 0 20px #3498db80}@keyframes book-flip{0%,to{transform:rotateY(0)}50%{transform:rotateY(180deg)}}@keyframes fade-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes quote-pulse{0%,to{box-shadow:0 0 #3498dbb3}50%{box-shadow:0 0 0 10px #3498db00}}.number-ninja-challenge{background:var(--bg-primary);border-radius:24px;padding:3rem;box-shadow:0 20px 60px #ff007f4d;border:2px solid #ff007f;position:relative;overflow:hidden;transition:all .3s ease}.number-ninja-challenge.light{background:#fff;border-color:#ff007f;box-shadow:0 10px 40px #ff007f0d}.number-ninja-challenge.light .ninja-header{background:#ff007f08;border-color:#ff007f1a}.number-ninja-challenge.light .ninja-back-btn{background:#fff;color:#c026d3;border-color:#f5d0fe}.number-ninja-challenge.light .ninja-back-btn:hover{background:#fdf4ff}.number-ninja-challenge.light .ninja-title{background:linear-gradient(45deg,#c026d3,#2563eb);-webkit-background-clip:text;background-clip:text;text-shadow:none}.number-ninja-challenge.light .ninja-arena{background:#f8fafc;border-color:#e2e8f0}.number-ninja-challenge.light .char-cell{background:#fff;border-color:#cbd5e1}.number-ninja-challenge.light .ninja-char.number{color:#2563eb}.number-ninja-challenge.light .ninja-char.symbol{color:#c026d3}.number-ninja-challenge.light .ninja-char.correct{color:#059669}.number-ninja-challenge.light .ninja-char.incorrect{color:#dc2626;background:#dc26260d}.number-ninja-challenge.light .stat-box{background:#fff;border-color:#f5d0fe}.number-ninja-challenge.light .stat-value{color:#c026d3}.number-ninja-challenge:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(255,0,127,.1) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgba(0,255,255,.1) 0%,transparent 50%);pointer-events:none}.ninja-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem 1.5rem;background:#0006;border-radius:16px;border:1px solid rgba(255,0,127,.2);position:relative;z-index:10}.ninja-back-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:all .2s;font-weight:600;display:flex;align-items:center;gap:.5rem;margin-right:1.5rem}.ninja-back-btn:hover{background:#fff3;transform:translate(-3px)}.icon-btn-ninja{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:transform .2s;color:#ff007f}.icon-btn-ninja:hover{transform:scale(1.1)}.ninja-title-section{display:flex;align-items:center;gap:1.5rem}.ninja-icon-container{position:relative;display:flex;align-items:center;justify-content:center}.ninja-icon{font-size:3.5rem;animation:ninja-spin 3s linear infinite;filter:drop-shadow(0 0 20px #ff007f)}.ninja-star{position:absolute;font-size:1.5rem;animation:star-orbit 2s linear infinite}.ninja-star.delay-1{animation-delay:.66s}.ninja-star.delay-2{animation-delay:1.33s}.ninja-title{font-size:2.5rem;font-weight:900;background:linear-gradient(45deg,#ff007f,#0ff,#ff007f);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-flow 3s ease infinite;margin:0;font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.1em}.ninja-tagline{color:#0ff;font-size:1rem;margin:.5rem 0 0;font-family:JetBrains Mono,monospace;text-shadow:0 0 10px #00ffff}.ninja-duration-selector{display:flex;gap:.5rem;background:#ff007f1a;padding:.5rem;border-radius:12px;border:2px solid rgba(255,0,127,.3)}.ninja-duration-btn{padding:.75rem 1.5rem;border:2px solid rgba(255,0,127,.5);background:transparent;color:#ff007f;border-radius:8px;cursor:pointer;font-family:JetBrains Mono,monospace;font-weight:700;transition:all .3s ease}.ninja-duration-btn:hover:not(:disabled){background:#ff007f33;border-color:#ff007f;transform:scale(1.05);box-shadow:0 0 20px #ff007f80}.ninja-duration-btn.active{background:linear-gradient(135deg,#ff007f,#0ff);color:#000;border-color:#ff007f;box-shadow:0 0 30px #ff007fcc}.ninja-duration-btn:disabled{opacity:.5;cursor:not-allowed}.keyboard-reference{background:#00000080;border-radius:16px;padding:1.5rem;margin-bottom:2rem;border:2px solid rgba(255,0,127,.2);position:relative;z-index:1}.key-row{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.key-row:last-child{margin-bottom:0}.key-label{color:#0ff;font-family:JetBrains Mono,monospace;font-weight:700;font-size:.9rem;min-width:100px}.key-display{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-family:JetBrains Mono,monospace;font-weight:700;font-size:1.1rem;transition:all .3s ease}.key-display.number-key{background:#00ffff1a;border:2px solid rgba(0,255,255,.3);color:#0ff}.key-display.symbol-key{background:#ff007f1a;border:2px solid rgba(255,0,127,.3);color:#ff007f}.ninja-hint{background:linear-gradient(135deg,#ff007f33,#0ff3);border:2px solid #ff007f;border-radius:12px;padding:1.5rem;margin-bottom:2rem;display:flex;align-items:center;gap:1rem;animation:ninja-pulse 2s ease-in-out infinite;position:relative;z-index:1}.ninja-hint .hint-icon{font-size:2.5rem;animation:ninja-bounce 1s ease-in-out infinite}.ninja-hint p{color:#0ff;font-family:JetBrains Mono,monospace;font-weight:700;font-size:1.1rem;margin:0}.ninja-arena{background:#0009;border-radius:16px;padding:2rem;min-height:250px;border:2px solid rgba(255,0,127,.3);position:relative;z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.arena-grid{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.char-cell{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;transition:all .2s ease}.ninja-char{font-size:2rem;font-family:JetBrains Mono,monospace;font-weight:900;transition:all .2s ease}.ninja-char.number{color:#0ff}.ninja-char.symbol{color:#ff007f}.ninja-char.current{animation:ninja-glow .5s ease-in-out infinite;transform:scale(1.3)}.char-cell:has(.ninja-char.current){background:#ff007f4d;border-color:#ff007f;box-shadow:0 0 30px #ff007f99;transform:scale(1.1)}.ninja-char.correct{color:#0f0;text-shadow:0 0 20px #00ff00}.char-cell:has(.ninja-char.correct){background:#0f03;border-color:#0f0}.ninja-char.incorrect{color:red;text-shadow:0 0 20px #ff0000;animation:error-shake .3s ease}.char-cell:has(.ninja-char.incorrect){background:#f003;border-color:red}.ninja-stats-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem;position:relative;z-index:1}.stat-box{background:#0009;border:2px solid rgba(255,0,127,.3);border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .3s ease}.stat-box:hover{background:#000c;border-color:#ff007f;transform:translateY(-5px);box-shadow:0 10px 30px #ff007f66}.stat-box .stat-icon{font-size:2.5rem}.stat-content{display:flex;flex-direction:column;gap:.25rem}.stat-label{color:#0ff;font-size:.8rem;font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.05em}.stat-value{color:#ff007f;font-size:1.8rem;font-weight:900;font-family:JetBrains Mono,monospace;text-shadow:0 0 10px #ff007f}@keyframes ninja-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes star-orbit{0%{transform:rotate(0) translate(50px) rotate(0)}to{transform:rotate(360deg) translate(50px) rotate(-360deg)}}@keyframes gradient-flow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes ninja-pulse{0%,to{box-shadow:0 0 20px #ff007f80}50%{box-shadow:0 0 40px #ff007fcc}}@keyframes ninja-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes ninja-glow{0%,to{text-shadow:0 0 10px currentColor}50%{text-shadow:0 0 30px currentColor}}@keyframes error-shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.splash-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0d0d12;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10000;overflow:hidden;transition:opacity .6s ease,filter .6s ease}.splash-exit{opacity:0;filter:blur(20px)}.splash-background{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.circle{position:absolute;border-radius:50%;filter:blur(80px);z-index:0;opacity:.15}.circle-1{width:40vw;height:40vw;background:radial-gradient(circle,#21b334,transparent);top:-10%;right:-5%;animation:float 20s infinite alternate ease-in-out}.circle-2{width:50vw;height:50vw;background:radial-gradient(circle,#00a162,transparent);bottom:-15%;left:-10%;animation:float 25s infinite alternate-reverse ease-in-out}@keyframes float{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.splash-content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center}.splash-logo-container{position:relative;width:120px;height:120px;margin-bottom:2rem;animation:logoIn 1s cubic-bezier(.19,1,.22,1)}@keyframes logoIn{0%{opacity:0;transform:scale(.6) rotate(-20deg);filter:blur(10px)}to{opacity:1;transform:scale(1) rotate(0);filter:blur(0)}}.splash-logo-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;background:#21b334;border-radius:50%;filter:blur(30px);opacity:.3;animation:glowPulse 2s infinite ease-in-out}@keyframes glowPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.2}50%{transform:translate(-50%,-50%) scale(1.4);opacity:.4}}.splash-logo{position:relative;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 10px rgba(33,179,52,.5))}.splash-title{font-family:Syncopate,Inter,sans-serif;font-size:2.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.4rem;color:#fff;margin:0 0 1.5rem;display:flex;gap:.2rem}.splash-title span{display:inline-block;opacity:0;transform:translateY(20px);animation:textIn .5s forwards cubic-bezier(.19,1,.22,1)}@keyframes textIn{to{opacity:1;transform:translateY(0)}}.splash-progress-container{width:240px;height:3px;background:#ffffff0d;border-radius:4px;margin-bottom:1.5rem;overflow:hidden;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.splash-progress-bar{height:100%;background:linear-gradient(90deg,#21b334,#00ff8c);transition:width .1s linear;box-shadow:0 0 15px #21b334cc}.splash-status{text-align:center;animation:fadeIn 1s .5s both}.splash-status p{font-family:JetBrains Mono,monospace;font-size:.8rem;color:#94a3b8;letter-spacing:.15rem;text-transform:uppercase;margin:0}.splash-footer{position:absolute;bottom:2rem;font-size:.7rem;color:#475569;letter-spacing:.05rem;animation:fadeIn 1s 1s both}@media(max-width:768px){.splash-title{font-size:1.8rem;letter-spacing:.2rem}.splash-logo-container{width:90px;height:90px}}.leaderboard-modal.leaderboard-redesign{max-width:900px;min-height:500px;overflow:hidden;display:flex;flex-direction:column}.leaderboard-header{padding:0 0 1rem;border-bottom:2px solid var(--border-color);margin-bottom:1.5rem}.header-tabs{display:flex;gap:1rem}.tab-btn{background:none;border:none;padding:.75rem 1.5rem;font-size:1.1rem;font-weight:700;color:var(--text-secondary);cursor:pointer;border-radius:12px;transition:all .2s ease;font-family:Inter,sans-serif}.tab-btn:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.tab-btn.active{background-color:var(--accent-primary);color:#020617;box-shadow:0 4px 12px #64ffda33}.unauthorized-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--text-secondary)}.unauthorized-state .state-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.5}.unauthorized-state h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:1rem}.leaderboard-table{font-family:JetBrains Mono,monospace}.table-header{display:grid;grid-template-columns:80px 1fr 100px 100px 100px;gap:1rem;padding:1rem;background-color:var(--bg-secondary);border-radius:12px;font-weight:700;font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.history-table .table-header,.history-table .table-row{grid-template-columns:180px 100px 100px 1fr 60px}.table-body{display:flex;flex-direction:column;gap:.5rem}.table-row{display:grid;grid-template-columns:80px 1fr 100px 100px 100px;gap:1rem;padding:1rem;background-color:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);transition:all .2s ease;align-items:center}.table-row:hover{background-color:var(--bg-card);border-color:var(--accent-primary);transform:translate(4px)}.col-date{font-size:.875rem;color:var(--text-secondary)}.col-wpm.highlight{color:var(--accent-primary);font-weight:700;font-size:1.1rem}.col-acc{color:var(--accent-success)}.col-actions{display:flex;justify-content:flex-end}.delete-score-btn{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#fca5a5;padding:.5rem;border-radius:8px;cursor:pointer;transition:all .2s ease;line-height:1}.delete-score-btn:hover{background:#ef444433;border-color:#ef4444;color:#fef2f2}.delete-score-btn.deleting{opacity:.5;cursor:wait}.local-warn-banner{margin-top:1rem;padding:1rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:12px;color:#fbbf24;font-size:.875rem;text-align:center}.highlight-link{color:var(--accent-primary);font-weight:600;text-decoration:underline;cursor:pointer}@media(max-width:600px){.history-table .table-header,.history-table .table-row{grid-template-columns:1fr 60px 60px 40px}.col-date{display:none}}.live-chart{background-color:var(--bg-card);border:2px solid var(--border-color);border-radius:16px;padding:1.5rem;margin-top:2rem}.live-chart.dark{box-shadow:0 8px 16px #0003}.live-chart.light{box-shadow:0 8px 16px #005f7414}.chart-title{font-size:1rem;font-weight:700;color:var(--text-primary);font-family:Inter,sans-serif;margin:0 0 1rem;text-align:center}.chart-canvas{width:100%;height:auto;display:block}*{box-sizing:border-box}.home-screen{min-height:100vh;background:transparent;position:relative;overflow-x:hidden;--home-accent: var(--accent-primary);--home-accent-2: var(--accent-muted);--home-text: var(--text-primary);--home-text-muted: var(--text-secondary)}.home-screen:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 15% 15%,rgba(194,26,77,.07) 0%,transparent 50%),radial-gradient(circle at 85% 85%,rgba(47,128,144,.07) 0%,transparent 50%);pointer-events:none;z-index:0}.home-screen.light{background:transparent}.home-screen.light:before{background:radial-gradient(circle at 20% 20%,rgba(16,185,129,.04) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(59,130,246,.04) 0%,transparent 50%)}.top-nav{position:fixed;top:0;left:0;right:0;z-index:100;background:color-mix(in srgb,var(--bg-primary) 92%,transparent);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid color-mix(in srgb,var(--accent-muted) 24%,transparent);box-shadow:0 6px 18px color-mix(in srgb,#000000 16%,transparent);padding:0}.home-screen.light .top-nav{background:color-mix(in srgb,var(--bg-card) 96%,transparent);border-bottom:1px solid color-mix(in srgb,var(--accent-muted) 18%,transparent);box-shadow:0 6px 18px color-mix(in srgb,var(--accent-muted) 12%,transparent)}.nav-container{max-width:1400px;margin:0 auto;padding:0 1.5rem;display:flex;justify-content:space-between;align-items:center;min-height:84px}.logo-section{display:flex;align-items:center;height:84px;padding:0;margin:0}.logo-text{display:flex;align-items:center;justify-content:center;height:100%;padding:0;margin:0}.app-logo-detailed{height:100%;max-height:84px;width:auto;max-width:700px;object-fit:contain;display:block;padding:0;margin:0}.app-name{font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,var(--home-accent) 0%,var(--brand-teal-300) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.5px}.home-screen.light .app-name{background:linear-gradient(135deg,var(--home-accent-2) 0%,var(--brand-teal-400) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-tagline{font-size:.75rem;color:var(--home-text-muted);font-weight:500}.home-screen.light .app-tagline{color:var(--home-text-muted)}.nav-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.nav-user{display:flex;align-items:center;gap:.35rem}.nav-username{font-size:.8125rem;font-weight:600;color:#94a3b8;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-screen.light .nav-username{color:#64748b}.nav-text-btn{font-size:.75rem!important;font-weight:700;min-width:auto;padding:0 .65rem}.nav-signin{width:auto!important;padding:0 .85rem!important;font-size:.8125rem!important;font-weight:700;color:var(--home-accent)!important;border-color:color-mix(in srgb,var(--home-accent) 35%,transparent)!important}.user-stats-strip{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:center;margin:0 auto 2rem;padding:.65rem 1.25rem;border-radius:999px;background:#10b98114;border:1px solid rgba(16,185,129,.2);font-size:.875rem;color:#94a3b8}.home-screen.light .user-stats-strip{background:#10b9810f;color:#64748b}.user-stats-label{font-weight:700;color:#10b981;margin-right:.25rem}.user-stats-item{font-weight:600}.user-stats-dot{opacity:.5}.control-btn{width:38px;height:38px;border-radius:11px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#94a3b8;font-size:1.1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.control-btn:hover{background:#10b9811a;border-color:#10b9814d;transform:translateY(-2px)}.home-screen.light .control-btn{border-color:#00000014;background:#00000005;color:#64748b}.home-screen.light .control-btn:hover{background:#10b98114;border-color:#10b98133}.hero{padding:7rem 2rem 4rem;position:relative;z-index:1}.hero-container{max-width:900px;margin:0 auto;text-align:center}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#10b9811a;border:1px solid rgba(16,185,129,.2);border-radius:50px;margin-bottom:1.5rem;animation:fadeInDown .6s ease}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.badge-icon{font-size:1rem}.badge-text{font-size:.875rem;font-weight:600;color:#10b981}.home-screen.light .badge-text{color:#059669}.hero-title{font-size:4rem;font-weight:900;color:var(--text-primary);margin:0 0 1rem;line-height:1.1;letter-spacing:-2px;animation:fadeInUp .8s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.title-highlight{background:linear-gradient(135deg,#10b981,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.home-screen.light .hero-title{color:#0f172a}.hero-description{font-size:1.25rem;color:var(--text-secondary);margin:0 0 3rem;line-height:1.6;animation:fadeInUp 1s ease}.home-screen.light .hero-description{color:#64748b}.hero-features{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;animation:fadeInUp 1.2s ease}.feature-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:var(--surface-hover);border:1px solid var(--border-color);border-radius:16px;transition:all .3s ease}.feature-item:hover{background:var(--surface-active);border-color:#c21a4d40;transform:translateY(-4px)}.home-screen.light .feature-item{background:#fff9;border-color:#0000000f}.home-screen.light .feature-item:hover{background:#10b98114;border-color:#10b98133}.feature-icon{font-size:2rem}.feature-text{text-align:left}.feature-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:.125rem}.home-screen.light .feature-title{color:#0f172a}.feature-desc{font-size:.875rem;color:var(--text-secondary)}.home-screen.light .feature-desc{color:#64748b}.modes-section{padding:4rem 2rem;position:relative;z-index:1}.challenge-section{background:#ffffff03}.home-screen.light .challenge-section{background:#00000003}.section-container{max-width:1400px;margin:0 auto}.section-header{text-align:center;margin-bottom:3rem}.section-brand-logo{height:64px;width:auto;object-fit:contain;display:block;margin:0 auto 1.75rem;border-radius:16px;background:#ffffff0f;padding:10px 20px;border:1px solid rgba(160,150,220,.12);box-shadow:0 4px 20px #0000004d;transition:all .3s ease}.section-brand-logo:hover{background:#ffffff1a;border-color:#c21a4d40;box-shadow:0 6px 28px #c21a4d26;transform:translateY(-2px)}.home-screen.light .section-brand-logo{background:#ffffffe6;border-color:#3c32781a;box-shadow:0 4px 16px #00000014}.home-screen.light .section-brand-logo:hover{background:#fff;box-shadow:0 6px 24px #c21a4d1f}.section-label{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--surface-hover);border:1px solid var(--border-color);border-radius:50px;margin-bottom:1rem}.home-screen.light .section-label{background:#00000005;border-color:#00000014}.label-icon{font-size:1.25rem}.label-text{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.home-screen.light .label-text{color:#64748b}.section-title{font-size:2.5rem;font-weight:800;color:var(--text-primary);margin:0 0 .5rem;letter-spacing:-1px}.home-screen.light .section-title{color:#0f172a}.section-subtitle{font-size:1.125rem;color:var(--text-secondary);margin:0}.home-screen.light .section-subtitle{color:#64748b}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:2rem}.mode-card{background:#1c1835b3;border:1px solid rgba(160,150,220,.1);border-radius:20px;padding:2rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);animation:cardFadeIn .6s ease forwards;opacity:0;position:relative;overflow:hidden}@keyframes cardFadeIn{to{opacity:1}}.mode-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(194,26,77,.6),transparent);opacity:0;transition:opacity .3s ease}.mode-card:hover:before{opacity:1}.mode-card:hover{transform:translateY(-8px);border-color:#c21a4d40;box-shadow:0 20px 48px #00000080,0 0 0 1px #c21a4d14;background:#231f40d9}.home-screen.light .mode-card{background:#fffc;border-color:#00000014}.home-screen.light .mode-card:hover{background:#fff;box-shadow:0 20px 40px #0000001a}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.card-icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:2rem;box-shadow:0 8px 24px #0003;transition:transform .3s ease}.mode-card:hover .card-icon{transform:scale(1.1) rotate(-5deg)}.card-badge{padding:.375rem .75rem;border-radius:8px;font-size:.75rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px}.card-content{margin-bottom:1.5rem}.card-title{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin:0 0 .5rem;letter-spacing:-.5px}.home-screen.light .card-title{color:#0f172a}.card-description{font-size:.9375rem;color:var(--text-secondary);margin:0 0 1rem;line-height:1.6}.home-screen.light .card-description{color:#64748b}.card-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.card-features li{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.home-screen.light .card-features li{color:#475569}.feature-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.card-button{width:100%;padding:.875rem 1.5rem;border:none;border-radius:12px;font-size:1rem;font-weight:700;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .3s ease;font-family:inherit}.card-button:hover{transform:translateY(-2px);box-shadow:0 12px 32px #0000004d}.card-button svg{transition:transform .3s ease}.card-button:hover svg{transform:translate(4px)}.footer-cta{padding:4rem 2rem 6rem;position:relative;z-index:1}.cta-container{max-width:900px;margin:0 auto}.footer-logo-detailed{height:80px;width:auto;max-width:min(100%,740px);display:block}.cta-content{display:flex;align-items:center;gap:1.5rem;padding:2rem;background:linear-gradient(135deg,#10b9811a,#3b82f61a);border:1px solid rgba(16,185,129,.2);border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.home-screen.light .cta-content{background:linear-gradient(135deg,#10b98114,#3b82f614);border-color:#10b98126}.cta-icon{font-size:3rem;flex-shrink:0}.cta-text{flex:1}.cta-title{font-size:1.25rem;font-weight:800;color:#10b981;margin:0 0 .5rem}.cta-description{font-size:1rem;color:#cbd5e1;margin:0;line-height:1.6}.home-screen.light .cta-description{color:#475569}@media(max-width:1024px){.cards-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}@media(max-width:768px){.hero{padding:3rem 1.5rem 2rem}.hero-title{font-size:2.5rem}.hero-description{font-size:1.125rem}.hero-features{flex-direction:column;gap:1rem}.feature-item{width:100%}.section-title{font-size:2rem}.cards-grid{grid-template-columns:1fr;gap:1.5rem}.cta-content{flex-direction:column;text-align:center}.app-logo-detailed{height:62px;max-width:540px}.footer-logo-detailed{height:70px;max-width:600px}}@media(max-width:480px){.nav-container{padding:0 1rem;min-height:72px}.logo-section{height:72px}.app-logo-detailed{max-height:72px;max-width:300px}.hero-title{font-size:2rem}.hero-description{font-size:1rem}.section-title{font-size:1.75rem}.mode-card{padding:1.5rem}.footer-logo-detailed{height:56px;max-width:460px}}.alphabet-section{background:linear-gradient(135deg,#10b9810d,#34d3990d)}.home-screen.light .alphabet-section{background:linear-gradient(135deg,#10b98108,#34d39908)}.brand-detailed-logo{display:block;width:auto;border-radius:18px;padding:.2rem .4rem;transition:box-shadow .25s ease,filter .25s ease}[data-theme=dark] .brand-detailed-logo{background:color-mix(in srgb,var(--bg-card) 76%,transparent);border:1px solid color-mix(in srgb,var(--accent-muted) 24%,transparent);box-shadow:0 14px 30px #0000006b,0 0 0 1px color-mix(in srgb,var(--accent-primary) 16%,transparent);filter:contrast(1.04) saturate(1.03)}[data-theme=light] .brand-detailed-logo{background:color-mix(in srgb,#ffffff 92%,var(--neutral-100) 8%);border:1px solid color-mix(in srgb,var(--accent-muted) 18%,transparent);box-shadow:0 10px 22px #26535929,0 0 0 1px color-mix(in srgb,var(--accent-primary) 8%,transparent);filter:contrast(1.02) saturate(1.01)}.brand-detailed-logo:hover{box-shadow:0 16px 34px #00000038,0 0 0 1px color-mix(in srgb,var(--accent-primary) 14%,transparent)}.navbar{width:100%;height:90px;background:#0d0b1ad1;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border-bottom:1px solid rgba(160,150,220,.1);box-shadow:0 1px #a096dc0f,0 8px 32px #0006;position:fixed;top:0;left:0;z-index:1000;display:flex;align-items:center;transition:all .4s cubic-bezier(.4,0,.2,1)}.navbar.light{background:#ffffffe0;border-bottom:1px solid rgba(60,50,120,.1);box-shadow:0 1px #3c32780f,0 8px 24px #0000000f}.navbar-container{max-width:1400px;width:100%;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.navbar-left{display:flex;align-items:center;gap:3rem}.navbar-logo{cursor:pointer;transition:transform .3s ease;display:flex;align-items:center;padding:.5rem 0}.navbar-logo:hover{transform:scale(1.04)}.nav-logo-img{height:64px;width:auto;object-fit:contain;display:block}.navbar-links{display:flex;align-items:center;gap:.5rem}.nav-link-btn{background:none;border:none;color:var(--text-secondary);font-size:.95rem;font-weight:600;padding:.55rem 1rem;border-radius:10px;cursor:pointer;text-decoration:none;transition:all .2s ease;position:relative;letter-spacing:.01em}.nav-link-btn:hover{color:var(--text-primary);background:var(--surface-hover)}.nav-link-btn.active{color:var(--accent-primary);background:var(--surface-active)}.nav-link-btn:after{content:"";position:absolute;bottom:2px;left:50%;width:0;height:2px;background:var(--accent-primary);border-radius:2px;transition:all .25s ease;transform:translate(-50%)}.nav-link-btn.active:after{width:24px}.nav-link-btn:hover:after{width:16px;opacity:.5}.navbar-right{display:flex;align-items:center;gap:1.25rem}.navbar-controls{display:flex;align-items:center;gap:.5rem}.control-icon-btn{width:38px;height:38px;border-radius:10px;border:1px solid rgba(160,150,220,.12);background:#a096dc0d;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.navbar.light .control-icon-btn{border:1px solid rgba(60,50,120,.1);background:#3c327808}.control-icon-btn:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 14px #c21a4d4d}.icon-wrapper{font-size:1.1rem;line-height:1}.navbar-divider{width:1px;height:28px;background:#a096dc1f}.navbar.light .navbar-divider{background:#3c32781a}.navbar-auth{display:flex;align-items:center}.desktop-only{display:flex!important}@media(max-width:900px){.desktop-only{display:none!important}}.auth-btn{padding:.55rem 1.25rem;border-radius:10px;font-weight:700;font-size:.875rem;cursor:pointer;transition:all .25s ease;font-family:inherit}.auth-btn.login{background:var(--accent-primary);color:#fff;border:none;box-shadow:0 4px 16px #c21a4d4d}.auth-btn.login:hover{background:var(--color-accent-primary-hover);transform:translateY(-2px);box-shadow:0 6px 22px #c21a4d66}.user-profile{display:flex;align-items:center;gap:.85rem}.user-info{display:flex;flex-direction:column;align-items:flex-end}.user-badge{font-size:9px;font-weight:800;background:var(--support-warning);color:var(--space-900);padding:1px 5px;border-radius:4px;margin-bottom:2px;letter-spacing:.5px}.username{font-size:.85rem;font-weight:600;color:var(--text-primary)}.auth-btn.logout{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.auth-btn.logout:hover{border-color:var(--support-danger);color:var(--support-danger);background:#ef44440f}.mobile-menu-toggle{display:none;width:38px;height:38px;border-radius:10px;border:1px solid rgba(160,150,220,.12);background:#a096dc0d;cursor:pointer;position:relative;align-items:center;justify-content:center;z-index:1001}.hamburger{width:18px;height:2px;background:var(--text-secondary);position:relative;transition:all .3s ease}.hamburger:before,.hamburger:after{content:"";position:absolute;width:18px;height:2px;background:var(--text-secondary);transition:all .3s ease}.hamburger:before{transform:translateY(-6px)}.hamburger:after{transform:translateY(6px)}.mobile-open .hamburger{background:transparent}.mobile-open .hamburger:before{transform:rotate(45deg)}.mobile-open .hamburger:after{transform:rotate(-45deg)}.mobile-auth-links{display:none;margin-top:2rem;width:100%}@media(max-width:900px){.navbar-links{display:flex;position:fixed;top:90px;left:0;width:100%;height:0;background:var(--bg-primary);flex-direction:column;padding:0;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:999;align-items:center;justify-content:center;gap:1.5rem;border-bottom:1px solid var(--border-color)}.navbar-links.show{height:calc(100vh - 90px);padding:2rem}.nav-link-btn{font-size:1.5rem;width:100%;text-align:center}.mobile-menu-toggle{display:flex}.mobile-auth-links{display:flex;justify-content:center}.navbar-divider{display:none}}.footer{width:100%;background:var(--bg-primary);border-top:1px solid rgba(255,255,255,.05);position:relative;overflow:hidden;padding-top:4rem;padding-bottom:2rem;transition:all .3s ease}.footer.light{background:#f8f9fa;border-top:1px solid rgba(0,0,0,.05)}.footer-gradient-top{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--accent-primary) 50%,transparent 100%);opacity:.3}.footer-container{max-width:1300px;width:100%;margin:0 auto;padding:0 2rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem;margin-bottom:4rem}.footer-brand{display:flex;flex-direction:column;gap:1.5rem}.footer-logo{height:72px;width:auto;object-fit:contain;align-self:flex-start;transition:transform .3s ease}.footer-logo:hover{transform:scale(1.02)}.brand-tagline{color:var(--text-secondary);line-height:1.7;font-size:.95rem;max-width:400px}.social-links{display:flex;gap:1rem}.social-icon{width:36px;height:36px;border-radius:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all .2s ease}.footer.light .social-icon{background:#00000008;border:1px solid rgba(0,0,0,.08)}.social-icon:hover{background:var(--accent-primary);border-color:var(--accent-primary);transform:translateY(-3px);box-shadow:0 4px 12px #c21a4d4d}.social-icon .icon-wrapper{font-size:1.2rem}.footer-links-group{display:flex;flex-direction:column;gap:1.5rem}.footer-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);position:relative;padding-bottom:.5rem}.footer-title:after{content:"";position:absolute;bottom:0;left:0;width:30px;height:2px;background:var(--accent-primary)}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.footer-links a{color:var(--text-secondary);text-decoration:none;font-size:.95rem;transition:all .2s ease;display:inline-block}.footer-links a:hover{color:var(--accent-primary);transform:translate(5px)}.footer-bottom{padding-top:2rem}.footer-divider{width:100%;height:1px;background:linear-gradient(90deg,#fff0,#ffffff0d,#fff0)}.footer.light .footer-divider{background:linear-gradient(90deg,#0000,#0000000d,#0000)}.bottom-content{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;flex-wrap:wrap;gap:1.5rem}.copyright{color:var(--text-secondary);font-size:.85rem;margin:0}.legal-links{display:flex;gap:1.5rem;align-items:center}.legal-links a{color:var(--text-secondary);text-decoration:none;font-size:.85rem;transition:color .2s ease}.legal-links a:hover{color:var(--text-primary)}.legal-links .dot{color:#ffffff1a}.footer.light .legal-links .dot{color:#0000001a}@media(max-width:1100px){.footer-grid{grid-template-columns:1fr 1fr 1fr;gap:3rem}.footer-brand{grid-column:span 3;align-items:center;text-align:center}.footer-logo{align-self:center}}@media(max-width:768px){.footer-grid{grid-template-columns:1fr;gap:2.5rem;text-align:center}.footer-brand{grid-column:span 1}.footer-title:after{left:50%;transform:translate(-50%)}.footer-links a:hover{transform:none;text-decoration:underline}.bottom-content{flex-direction:column;text-align:center}}.auth-page{min-height:100vh;position:relative;overflow-x:hidden;font-family:Inter,system-ui,-apple-system,sans-serif;--auth-accent: var(--accent-primary);--auth-accent-2: var(--accent-muted);--auth-text: var(--text-primary);--auth-text-muted: var(--text-secondary)}.auth-page-bg{position:fixed;inset:0;z-index:0;pointer-events:none}.auth-page.dark .auth-page-bg{background:radial-gradient(ellipse 80% 50% at 20% 20%,color-mix(in srgb,var(--auth-accent) 18%,transparent) 0%,transparent 55%),radial-gradient(ellipse 60% 40% at 80% 80%,color-mix(in srgb,var(--auth-accent-2) 18%,transparent) 0%,transparent 50%),linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.auth-page.light .auth-page-bg{background:radial-gradient(ellipse 80% 50% at 15% 15%,color-mix(in srgb,var(--auth-accent) 12%,transparent) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 85% 85%,color-mix(in srgb,var(--auth-accent-2) 12%,transparent) 0%,transparent 50%),linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.auth-page-grid{position:relative;z-index:1;display:grid;min-height:100vh;grid-template-columns:1fr 1fr}@media(max-width:960px){.auth-page-grid{grid-template-columns:1fr}}.auth-brand-panel{position:relative;display:flex;flex-direction:column;padding:2rem 3rem 3rem;justify-content:center}@media(max-width:960px){.auth-brand-panel{padding:1.5rem 1.5rem 2rem;min-height:auto}}.auth-back-floating{position:absolute;top:1.5rem;left:1.5rem;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#94a3b8;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s,transform .2s}.auth-page.light .auth-back-floating{border-color:#00000014;background:#fffc;color:#64748b}.auth-back-floating:hover{background:#10b9811f;color:#34d399;transform:translate(-2px)}.auth-back-icon{font-size:1.1rem;line-height:1}.auth-brand-inner{max-width:420px;margin:0 auto;position:relative}@media(max-width:960px){.auth-brand-inner{margin-top:3rem;text-align:center}.auth-brand-list{text-align:left;max-width:320px;margin-left:auto;margin-right:auto}.auth-back-floating{position:relative;top:0;left:0;margin-bottom:1rem}}.auth-logo-mark{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,var(--auth-accent) 0%,var(--auth-accent-2) 100%);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 40px color-mix(in srgb,var(--auth-accent) 35%,transparent);margin-bottom:1.5rem}@media(max-width:960px){.auth-logo-mark{margin-left:auto;margin-right:auto}}.auth-logo-emoji{font-size:2rem}.auth-logo-img{width:38px;height:38px;border-radius:10px;display:block}.auth-brand-title{font-size:2.5rem;font-weight:800;letter-spacing:-.03em;margin:0 0 .75rem;background:linear-gradient(135deg,var(--auth-accent) 0%,var(--brand-teal-300) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-brand-detailed-logo{width:min(100%,300px);height:auto;display:block;margin-bottom:.75rem}.auth-page.light .auth-brand-title{background:linear-gradient(135deg,var(--auth-accent-2) 0%,var(--brand-teal-400) 100%);-webkit-background-clip:text;background-clip:text}.auth-brand-tagline{font-size:1.0625rem;line-height:1.6;color:#94a3b8;margin:0 0 2rem}.auth-page.light .auth-brand-tagline{color:#64748b}.auth-brand-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.85rem}.auth-brand-list li{display:flex;align-items:flex-start;gap:.65rem;font-size:.9375rem;color:#cbd5e1;line-height:1.45}.auth-page.light .auth-brand-list li{color:#475569}.auth-brand-check{flex-shrink:0;width:22px;height:22px;border-radius:6px;background:#10b98126;color:#34d399;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.auth-brand-orbit{position:absolute;width:280px;height:280px;right:-40px;bottom:-60px;pointer-events:none;opacity:.35}@media(max-width:960px){.auth-brand-orbit{display:none}}.orbit-ring{position:absolute;inset:0;border:1px solid rgba(16,185,129,.25);border-radius:50%}.orbit-1{animation:auth-orbit 24s linear infinite}.orbit-2{inset:24px;border-color:#3b82f633;animation:auth-orbit 18s linear infinite reverse}.orbit-3{inset:48px;border-color:#8b5cf626;animation:auth-orbit 30s linear infinite}@keyframes auth-orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-form-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 2rem 3rem;position:relative}.auth-form-toolbar{position:absolute;top:1.5rem;right:1.5rem;display:flex;gap:.5rem}.auth-tool-btn{width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;font-size:1.2rem;cursor:pointer;transition:background .2s,transform .2s}.auth-page.light .auth-tool-btn{border-color:#00000014;background:#ffffffe6}.auth-tool-btn:hover{transform:translateY(-2px);background:#10b9811f}.auth-card{width:100%;max-width:420px;padding:2.25rem 2rem;border-radius:24px;border:1px solid rgba(255,255,255,.08);background:#0f172aa6;-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);box-shadow:0 4px 6px #00000014,0 24px 48px -12px #00000059}.auth-page.light .auth-card{background:#ffffffd9;border-color:#0000000f;box-shadow:0 4px 6px #0000000a,0 24px 48px -12px #0f172a1f}.auth-card-header{margin-bottom:1.5rem}.auth-card-title{margin:0 0 .5rem;font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:#f1f5f9}.auth-page.light .auth-card-title{color:#0f172a}.auth-card-sub{margin:0;font-size:.9375rem;line-height:1.5;color:#94a3b8}.auth-page.light .auth-card-sub{color:#64748b}.auth-segmented{display:flex;padding:4px;margin-bottom:1.75rem;border-radius:14px;background:#00000040;border:1px solid rgba(255,255,255,.06)}.auth-page.light .auth-segmented{background:#0000000a;border-color:#0000000f}.auth-segmented button{flex:1;padding:.65rem 1rem;border:none;border-radius:10px;background:transparent;color:#94a3b8;font-size:.9375rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}.auth-page.light .auth-segmented button{color:#64748b}.auth-segmented button.active{background:linear-gradient(135deg,#10b98140,#05966933);color:#34d399;box-shadow:0 2px 8px #10b98126}.auth-page.light .auth-segmented button.active{background:linear-gradient(135deg,#10b98126,#0596691f);color:#059669}.auth-form{display:flex;flex-direction:column;gap:1.15rem}.auth-field{display:flex;flex-direction:column;gap:.4rem}.auth-label{font-size:.8125rem;font-weight:600;color:#94a3b8;letter-spacing:.02em}.auth-page.light .auth-label{color:#475569}.auth-input-wrap{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:14px;font-size:.9rem;opacity:.45;pointer-events:none;z-index:1}.auth-input{width:100%;padding:.85rem 1rem;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#00000040;color:#f1f5f9;font-size:1rem;outline:none;transition:border-color .2s,box-shadow .2s}.auth-input.has-icon{padding-left:2.75rem}.auth-input::placeholder{color:#64748b;opacity:.7}.auth-input:focus{border-color:#10b9818c;box-shadow:0 0 0 3px #10b98126}.auth-page.light .auth-input{border-color:#0000001a;background:#f8fafc;color:#0f172a}.auth-page.light .auth-input:focus{border-color:#10b98180;box-shadow:0 0 0 3px #10b9811f}.auth-hint{font-size:.75rem;color:#64748b}.auth-error-banner{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;border-radius:12px;background:#ef44441f;border:1px solid rgba(239,68,68,.25);color:#fca5a5;font-size:.875rem;line-height:1.45}.auth-page.light .auth-error-banner{background:#ef444414;color:#b91c1c}.auth-error-dot{width:8px;height:8px;margin-top:.35rem;border-radius:50%;background:#ef4444;flex-shrink:0}.auth-submit-btn{margin-top:.25rem;width:100%;padding:.95rem 1.25rem;border:none;border-radius:14px;font-size:1rem;font-weight:700;color:#fff;cursor:pointer;background:linear-gradient(135deg,var(--auth-accent) 0%,var(--auth-accent-2) 55%,var(--brand-teal-700) 100%);box-shadow:0 8px 24px color-mix(in srgb,var(--auth-accent) 40%,transparent);transition:transform .2s,box-shadow .2s,filter .2s}.auth-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 32px color-mix(in srgb,var(--auth-accent) 45%,transparent);filter:brightness(1.03)}.auth-submit-btn:disabled{opacity:.75;cursor:not-allowed;transform:none}.auth-submit-loading{display:inline-flex;align-items:center;justify-content:center;gap:.65rem}.auth-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:auth-spin .7s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-footer-note{margin:1.25rem 0 0;text-align:center;font-size:.75rem;line-height:1.5;color:#64748b}.auth-mobile-back{display:none;margin-top:1.5rem;padding:.65rem 1rem;border:none;background:none;color:#94a3b8;font-size:.9375rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.auth-mobile-back:hover{color:#34d399}@media(max-width:960px){.auth-mobile-back{display:block}}.classic-typing-test ::selection{background:#10b98166;color:#fff}.classic-typing-test.light ::selection{background:#10b9814d;color:#1e293b}.classic-typing-test{min-height:100vh;background:linear-gradient(135deg,#0d0b1a,#16132b);color:#ede9ff;display:flex;flex-direction:column;-webkit-user-select:text;user-select:text}.classic-typing-test.light{background:linear-gradient(135deg,#f8fafc,#e2e8f0);color:#1e293b}.classic-header{background:#1e293bcc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid rgba(16,185,129,.3);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 6px -1px #0000001a}.classic-typing-test.light .classic-header{background:#ffffffe6;border-bottom:2px solid rgba(16,185,129,.3)}.header-left{display:flex;align-items:center;gap:1.5rem}.back-btn{background:linear-gradient(135deg,#334155,#475569);border:1px solid rgba(16,185,129,.3);color:#e2e8f0;padding:.5rem 1.25rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.back-btn:hover{background:linear-gradient(135deg,#475569,#64748b);transform:translateY(-1px);box-shadow:0 4px 8px #0003}.back-btn:active{transform:translateY(0) scale(.98);box-shadow:0 2px 4px #0000001a}.classic-typing-test.light .back-btn{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-color:#10b9814d;color:#1e293b}.classic-typing-test.light .back-btn:hover{background:linear-gradient(135deg,#cbd5e1,#94a3b8)}.classic-title{font-size:1.5rem;font-weight:700;margin:0;background:linear-gradient(135deg,#10b981,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-right{display:flex;gap:.5rem}.icon-btn{width:42px;height:42px;background:linear-gradient(135deg,#334155,#475569);border:1px solid rgba(16,185,129,.3);border-radius:8px;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.icon-btn:hover{background:linear-gradient(135deg,#10b981,#34d399);transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #10b98166}.icon-btn:active{transform:translateY(0) scale(1);box-shadow:0 2px 4px #10b98133}.classic-typing-test.light .icon-btn{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-color:#10b9814d}.classic-typing-test.light .icon-btn:hover{background:linear-gradient(135deg,#10b981,#34d399)}.classic-content{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:0;height:calc(100vh - 80px);overflow:hidden;max-height:calc(100vh - 80px)}.left-panel{background:#1e293b99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:2px solid rgba(16,185,129,.2);padding:2rem;display:flex;flex-direction:column;overflow:hidden;height:100%;max-height:100%;min-height:0}.classic-typing-test.light .left-panel{background:#fffc;border-right:2px solid rgba(16,185,129,.2)}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid rgba(16,185,129,.3);flex-shrink:0}.classic-typing-test.light .panel-header{border-bottom:2px solid rgba(16,185,129,.3)}.panel-header h2{font-size:1.25rem;font-weight:700;margin:0;background:linear-gradient(135deg,#10b981,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.custom-text-btn{background:linear-gradient(135deg,#334155,#475569);border:1px solid rgba(16,185,129,.3);color:#e2e8f0;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .3s ease;box-shadow:0 2px 4px #0000001a;position:relative}.custom-text-btn:hover{background:linear-gradient(135deg,#10b981,#34d399);border-color:#10b981;color:#fff;transform:translateY(-1px);box-shadow:0 4px 8px #10b9814d}.custom-text-btn:active{transform:translateY(0);box-shadow:0 2px 4px #10b98133}.classic-typing-test.light .custom-text-btn{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-color:#10b9814d;color:#1e293b}.custom-text-input{margin-bottom:1.5rem;padding:1rem;background:#1e293bcc;border:1px solid rgba(16,185,129,.3);border-radius:12px;flex-shrink:0;box-shadow:0 4px 6px #0000001a}.classic-typing-test.light .custom-text-input{background:#f8fafce6;border-color:#10b9814d}.custom-text-input textarea{width:100%;background:#0f172a99;border:1px solid rgba(16,185,129,.2);color:#e2e8f0;padding:.75rem;border-radius:8px;font-family:Courier New,monospace;font-size:.9rem;resize:vertical;transition:all .3s ease}.custom-text-input textarea::selection{background:#10b98166;color:#fff}.custom-text-input textarea:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.classic-typing-test.light .custom-text-input textarea{background:#fff;border-color:#10b98133;color:#1e293b}.classic-typing-test.light .custom-text-input textarea::selection{background:#10b9814d;color:#1e293b}.custom-text-actions{display:flex;gap:.5rem;margin-top:.75rem}.custom-text-actions button{flex:1;background:linear-gradient(135deg,#334155,#475569);border:1px solid rgba(16,185,129,.3);color:#e2e8f0;padding:.5rem;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .3s ease}.custom-text-actions button:hover{background:linear-gradient(135deg,#10b981,#34d399);border-color:#10b981;color:#fff;transform:translateY(-1px)}.custom-text-actions button:active{transform:translateY(0) scale(.98);box-shadow:inset 0 2px 4px #0003}.classic-typing-test.light .custom-text-actions button{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-color:#10b9814d;color:#1e293b}.text-display{flex:1 1 auto;font-family:Courier New,monospace;font-size:1.25rem;line-height:2;letter-spacing:.5px;padding:1.5rem;background:#0f172a99;border:2px solid rgba(16,185,129,.3);border-radius:12px;overflow-y:auto;overflow-x:hidden;margin-bottom:1.5rem;min-height:0;max-height:100%;word-wrap:break-word;box-shadow:inset 0 2px 8px #0003;scroll-behavior:smooth}.classic-typing-test.light .text-display{background:#ffffffe6;border-color:#10b9814d;box-shadow:inset 0 2px 8px #0000000d}.text-display ::selection{background:#10b98166;color:#fff}.classic-typing-test.light .text-display ::selection{background:#10b9814d;color:#1e293b}.char{color:#64748b;transition:all .15s ease}.char.correct{color:#10b981;font-weight:500}.char.incorrect{color:#ef4444;background:#ef444433;border-radius:2px;font-weight:500}.char.current{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;padding:0 2px;border-radius:3px;animation:blink 1s infinite;font-weight:600}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:.5}}.stats-panel{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;flex-shrink:0}.stat-item{background:linear-gradient(135deg,#1e293bcc,#334155cc);border:2px solid rgba(16,185,129,.3);border-radius:12px;padding:1rem;text-align:center;transition:all .3s ease;box-shadow:0 4px 6px #0000001a}.stat-item:hover{transform:translateY(-2px);box-shadow:0 6px 12px #10b98133;border-color:#10b981}.classic-typing-test.light .stat-item{background:linear-gradient(135deg,#f8fafce6,#e2e8f0e6);border-color:#10b9814d}.stat-label{font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem;display:block;font-weight:600}.stat-value{font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,#10b981,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:Courier New,monospace}.right-panel{background:#0f172a99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;display:flex;flex-direction:column;overflow:hidden;height:100%;max-height:100%;min-height:0}.classic-typing-test.light .right-panel{background:#f8fafccc}.duration-selector{display:flex;gap:.5rem}.duration-btn{background:linear-gradient(135deg,#334155,#475569);border:1px solid rgba(16,185,129,.3);color:#e2e8f0;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .3s ease;box-shadow:0 2px 4px #0000001a;position:relative}.duration-btn:hover:not(:disabled){background:linear-gradient(135deg,#475569,#64748b);transform:translateY(-1px);box-shadow:0 4px 8px #0003}.duration-btn.active{background:linear-gradient(135deg,#10b981,#34d399);border-color:#10b981;color:#fff;box-shadow:0 4px 12px #10b98166;transform:scale(1.05);font-weight:700}.duration-btn.active:before{content:"";position:absolute;inset:-2px;border-radius:8px;padding:2px;background:linear-gradient(135deg,#10b981,#34d399);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.5}.duration-btn:disabled{opacity:.5;cursor:not-allowed}.classic-typing-test.light .duration-btn{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-color:#10b9814d;color:#1e293b}.classic-typing-test.light .duration-btn:hover:not(:disabled){background:linear-gradient(135deg,#cbd5e1,#94a3b8)}.classic-typing-test.light .duration-btn.active{background:linear-gradient(135deg,#10b981,#34d399);color:#fff}.custom-time-btn{font-size:1rem;padding:.5rem .75rem}.custom-time-btn.active{background:linear-gradient(135deg,#f59e0b,#fbbf24);border-color:#f59e0b;color:#fff}.custom-time-input{display:flex;gap:.5rem;margin-bottom:1rem;padding:1rem;background:#1e293bcc;border:1px solid rgba(16,185,129,.3);border-radius:12px;flex-shrink:0;box-shadow:0 4px 6px #0000001a}.classic-typing-test.light .custom-time-input{background:#f8fafce6;border-color:#10b9814d}.custom-time-input input{flex:1;background:#0f172a99;border:1px solid rgba(16,185,129,.2);color:#e2e8f0;padding:.5rem .75rem;border-radius:8px;font-family:Courier New,monospace;font-size:.9rem;transition:all .3s ease}.custom-time-input input::selection{background:#10b98166;color:#fff}.custom-time-input input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.classic-typing-test.light .custom-time-input input{background:#fff;border-color:#10b98133;color:#1e293b}.classic-typing-test.light .custom-time-input input::selection{background:#10b9814d;color:#1e293b}.custom-time-input button{background:linear-gradient(135deg,#10b981,#34d399);border:1px solid #10b981;color:#fff;padding:.5rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .3s ease;box-shadow:0 2px 4px #10b98133}.custom-time-input button:hover{background:linear-gradient(135deg,#059669,#10b981);transform:translateY(-1px);box-shadow:0 4px 8px #10b98166}.custom-time-input button:active{transform:translateY(0) scale(.98);box-shadow:inset 0 2px 4px #0003}.typing-area-container{flex:1 1 auto;position:relative;margin-bottom:1.5rem;min-height:0;max-height:100%;display:flex;flex-direction:column;overflow:hidden}.typing-textarea{width:100%;flex:1 1 auto;background:#0f172a99;border:2px solid rgba(16,185,129,.3);color:#e2e8f0;padding:1.5rem;border-radius:12px;font-family:Courier New,monospace;font-size:1.25rem;line-height:2;resize:none;outline:none;overflow-y:auto;overflow-x:hidden;min-height:0;max-height:100%;transition:all .3s ease;box-shadow:inset 0 2px 8px #0003}.typing-textarea:focus{border-color:#10b981;box-shadow:inset 0 2px 8px #0003,0 0 0 3px #10b9811a}.typing-textarea::selection{background:#10b98166;color:#fff}.classic-typing-test.light .typing-textarea{background:#ffffffe6;border-color:#10b9814d;color:#1e293b;box-shadow:inset 0 2px 8px #0000000d}.classic-typing-test.light .typing-textarea:focus{box-shadow:inset 0 2px 8px #0000000d,0 0 0 3px #10b9811a}.classic-typing-test.light .typing-textarea::selection{background:#10b9814d;color:#1e293b}.start-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#64748b;font-size:1.125rem;text-align:center;pointer-events:none;font-weight:500}.results-overlay{position:absolute;inset:0;background:#0f172afa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;border-radius:12px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.classic-typing-test.light .results-overlay{background:#fffffffa}.results-card{background:linear-gradient(135deg,#1e293bf2,#334155f2);border:2px solid #10b981;border-radius:16px;padding:2rem;max-width:500px;width:90%;box-shadow:0 20px 40px #0000004d,0 0 40px #10b98133;animation:slideUp .4s ease}.classic-typing-test.light .results-card{background:linear-gradient(135deg,#fffffffa,#f8fafcfa);border-color:#10b981}.results-card h2{text-align:center;background:linear-gradient(135deg,#10b981,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 1.5rem;font-size:1.75rem;font-weight:700}.results-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.result-item{background:#0f172acc;border:1px solid rgba(16,185,129,.3);border-radius:12px;padding:1rem;text-align:center;transition:all .3s ease}.result-item:hover{transform:translateY(-2px);border-color:#10b981;box-shadow:0 4px 12px #10b98133}.classic-typing-test.light .result-item{background:#f8fafce6;border-color:#10b9814d}.result-label{display:block;font-size:.75rem;color:#94a3b8;text-transform:uppercase;margin-bottom:.5rem;font-weight:600;letter-spacing:1px}.result-value{display:block;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#10b981,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:Courier New,monospace}.results-actions{display:flex;gap:1rem}.retry-btn,.back-btn-result{flex:1;padding:.75rem;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.retry-btn{background:linear-gradient(135deg,#10b981,#34d399);border:2px solid #10b981;color:#fff;box-shadow:0 4px 12px #10b9814d}.retry-btn:hover{background:linear-gradient(135deg,#059669,#10b981);transform:translateY(-2px);box-shadow:0 6px 16px #10b98166}.retry-btn:active{transform:translateY(0) scale(.98);box-shadow:0 4px 12px #10b9814d}.back-btn-result{background:transparent;border:2px solid rgba(16,185,129,.3);color:#e2e8f0}.back-btn-result:hover{background:#10b9811a;border-color:#10b981;transform:translateY(-2px)}.back-btn-result:active{transform:translateY(0) scale(.98);background:#10b98133}.classic-typing-test.light .back-btn-result{border-color:#10b9814d;color:#1e293b}.classic-typing-test.light .back-btn-result:hover{background:#10b9811a}.control-panel{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:2px solid rgba(16,185,129,.3);flex-shrink:0}.classic-typing-test.light .control-panel{border-top:2px solid rgba(16,185,129,.3)}.reset-btn{background:linear-gradient(135deg,#334155,#475569);border:1px solid rgba(16,185,129,.3);color:#e2e8f0;padding:.75rem 1.5rem;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.reset-btn:hover:not(:disabled){background:linear-gradient(135deg,#10b981,#34d399);border-color:#10b981;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.reset-btn:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:0 2px 4px #10b98133}.reset-btn:disabled{opacity:.5;cursor:not-allowed}.classic-typing-test.light .reset-btn{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-color:#10b9814d;color:#1e293b}.progress-info{font-family:Courier New,monospace;font-size:.9rem;color:#94a3b8;font-weight:500}@media(max-width:1024px){.classic-content{grid-template-columns:1fr;height:auto}.left-panel{border-right:none;border-bottom:2px solid #3a3a3a}.classic-typing-test.light .left-panel{border-bottom:2px solid #e0e0e0}.stats-panel{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.classic-header{padding:1rem}.classic-title{font-size:1.25rem}.left-panel,.right-panel{padding:1rem}.text-display,.typing-textarea{font-size:1rem}.results-stats{grid-template-columns:1fr}}.leaderboard-page{--bg-primary: #0d0b1a;--bg-card: #1c1835;--bg-secondary: #16132b;--text-primary: #ede9ff;--text-secondary:#9b96c0;--accent-color: #c21a4d;--accent-glow: rgba(194, 26, 77, .35);--border-color: rgba(160, 150, 220, .12);--success-color: #22c55e;--error-color: #ef4444;min-height:100vh;background:var(--bg-primary);color:var(--text-primary);font-family:Space Grotesk,sans-serif;padding:0;padding-bottom:4rem;transition:all .3s ease;background-image:radial-gradient(circle at 0% 0%,rgba(194,26,77,.07) 0%,transparent 50%),radial-gradient(circle at 100% 100%,rgba(47,128,144,.07) 0%,transparent 50%)}.leaderboard-page.light{--bg-primary: #f8fafc;--bg-card: #ffffff;--bg-secondary: #f1f5f9;--text-primary: #1e293b;--text-secondary: #64748b;--accent-color: #4f46e5;--accent-glow: rgba(79, 70, 229, .15);--border-color: rgba(226, 232, 240, .8)}.leaderboard-header-section{padding:4rem 2rem;text-align:center;max-width:1200px;margin:0 auto}.page-subtitle{font-size:1.1rem;color:var(--text-secondary);margin-top:1rem;font-weight:500}.back-btn{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);font-weight:600;border-radius:12px;cursor:pointer;transition:all .2s ease}.back-btn:hover{background:var(--bg-secondary);border-color:var(--accent-color);transform:translate(-4px)}.page-title{font-size:2.5rem;font-weight:800;text-align:center;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-color) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;flex:1}.stats-container{max-width:1200px;margin:0 auto;background:var(--bg-card);border:1px solid var(--border-color);border-radius:32px;overflow:hidden;box-shadow:0 40px 100px #0003}.tabs-header{display:flex;background:var(--bg-secondary);border-bottom:2px solid var(--border-color)}.tab-btn{flex:1;padding:2rem;border:none;background:transparent;color:var(--text-secondary);font-size:1.25rem;font-weight:700;cursor:pointer;transition:all .3s ease;position:relative}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--accent-color);background:#6366f10d}.tab-btn.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:4px;background:var(--accent-color);box-shadow:0 0 20px var(--accent-glow)}.tab-content{padding:3rem;min-height:20rem}.table-wrapper{animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.stats-table{width:100%;border-collapse:separate;border-spacing:0 1rem;margin-top:-1rem}.stats-table th{text-align:left;padding:1.5rem;color:var(--text-secondary);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:2px}.stats-table td{padding:1.5rem;background:var(--bg-secondary);font-weight:600}.stats-table tr td:first-child{border-radius:16px 0 0 16px;min-width:80px;text-align:center;font-size:1.25rem}.stats-table tr td:last-child{border-radius:0 16px 16px 0}.stats-table tr:hover td{background:#6366f11a;color:var(--accent-color)}.user-cell{display:flex;align-items:center;gap:1rem}.user-avatar{width:40px;height:40px;background:var(--accent-color);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:1.25rem}.wpm-cell{font-family:Courier New,monospace;font-size:1.5rem;color:var(--accent-color)}.mode-badge{padding:.25rem .75rem;border-radius:6px;background:#ffffff0d;font-size:.75rem;text-transform:capitalize;border:1px solid var(--border-color)}.date-cell .time-hint{display:block;font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.delete-action{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#ef4444;padding:.5rem;border-radius:8px;cursor:pointer;transition:all .2s ease}.delete-action:hover:not(:disabled){background:#ef4444;color:#fff;transform:scale(1.1)}.delete-action:disabled{opacity:.5;cursor:not-allowed}.top-1 td{border:2px solid #ffd700!important;color:gold;background:#ffd7000d!important}.top-2 td{border:2px solid #c0c0c0!important;color:silver;background:#c0c0c00d!important}.top-3 td{border:2px solid #cd7f32!important;color:#cd7f32;background:#cd7f320d!important}.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1.5rem}.loader{width:48px;height:48px;border:4px solid var(--accent-color);border-bottom-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-state{text-align:center;padding:4rem;color:var(--error-color)}.error-icon{font-size:3rem;margin-bottom:1rem}.login-prompt-btn{margin-top:2rem;padding:1rem 2rem;background:var(--accent-color);border:none;border-radius:12px;color:#fff;font-weight:700;cursor:pointer;transition:all .2s ease}.login-prompt-btn:hover{transform:translateY(-2px);filter:brightness(1.2)}.local-storage-notice{margin-top:2rem;padding:1rem;border-radius:12px;background:#6366f11a;color:var(--text-secondary);font-size:.875rem;text-align:center;border:1px dashed var(--accent-color)}@media(max-width:1024px){.leaderboard-page,.tab-content{padding:1.5rem}}@media(max-width:768px){.page-title{font-size:1.75rem}.stats-table th:nth-child(4),.stats-table td:nth-child(4){display:none}.stats-table th:nth-child(5),.stats-table td:nth-child(5){display:none}}.info-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);transition:all .3s ease}.info-content{flex:1;width:100%;animation:fadeInUp .7s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.info-hero{text-align:center;padding:7rem 2rem 5rem;position:relative;overflow:hidden}.info-hero:before{content:"";position:absolute;top:-40%;left:50%;transform:translate(-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(194,26,77,.12) 0%,transparent 70%);pointer-events:none}.hero-eyebrow{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem 1.25rem;background:#c21a4d14;color:var(--accent-primary);border:1px solid rgba(194,26,77,.3);border-radius:100px;font-size:.8rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:2rem}.hero-eyebrow-dot{width:6px;height:6px;background:var(--accent-primary);border-radius:50%;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.info-title{font-size:clamp(2.8rem,6vw,5rem);font-weight:900;margin:0 0 1.5rem;letter-spacing:-2px;line-height:1.05}.info-title .highlight{background:linear-gradient(135deg,var(--accent-primary) 0%,#6366f1 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.info-subtitle{font-size:1.25rem;color:var(--text-secondary);line-height:1.7;max-width:680px;margin:0 auto 3rem}.hero-stats-row{display:flex;justify-content:center;gap:3rem;flex-wrap:wrap;margin-top:1rem}.hero-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.hero-stat-value{font-size:2.2rem;font-weight:900;background:linear-gradient(135deg,var(--accent-primary),#6366f1);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-family:JetBrains Mono,monospace}.hero-stat-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;font-weight:600}.info-section{max-width:1200px;margin:0 auto 6rem;padding:0 2rem}.section-label-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.section-tag{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--accent-primary)}.section-line{flex:1;height:1px;background:linear-gradient(90deg,rgba(194,26,77,.3),transparent)}.section-heading{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:800;margin:0 0 .75rem;letter-spacing:-.5px}.section-sub{font-size:1.1rem;color:var(--text-secondary);margin:0 0 3rem;line-height:1.6}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.info-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:24px;padding:2.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:1.25rem;position:relative;overflow:hidden}.info-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-primary),#6366f1);opacity:0;transition:opacity .3s ease}.info-card:hover{transform:translateY(-6px);border-color:#c21a4d4d;box-shadow:0 20px 40px #00000026}.info-card:hover:before{opacity:1}.card-icon-wrap{width:56px;height:56px;background:#c21a4d14;border:1px solid rgba(194,26,77,.15);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.75rem}.info-card h3{font-size:1.2rem;font-weight:700;margin:0;color:var(--text-primary)}.info-card p{line-height:1.75;color:var(--text-secondary);font-size:.95rem;margin:0}.info-split{max-width:1200px;margin:0 auto 6rem;padding:4rem 2rem;background:#ffffff05;border-radius:32px;border:1px solid rgba(255,255,255,.05)}.info-page.light .info-split{background:#f8fafc;border-color:#e2e8f0}.split-inner{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5rem;padding:0 2rem}.split-text h2{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:800;margin:0 0 1.25rem;letter-spacing:-.5px}.split-text p{font-size:1.05rem;line-height:1.8;color:var(--text-secondary);margin:0 0 2rem}.info-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.85rem}.info-list li{display:flex;align-items:center;gap:.85rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.info-list li:before{content:"✓";color:#10b981;font-weight:900;font-size:.8rem;background:#10b9811f;width:26px;height:26px;min-width:26px;display:flex;align-items:center;justify-content:center;border-radius:50%}.split-visual{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:1rem;height:320px}.vis-block{border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:900;color:#fff;transition:transform .3s ease}.vis-block:hover{transform:scale(1.03)}.vis-block.v1{background:linear-gradient(135deg,#6366f1,#8b5cf6);grid-column:span 2;font-size:1.1rem;letter-spacing:2px;text-transform:uppercase}.vis-block.v2{background:linear-gradient(135deg,var(--accent-primary),#e11d48)}.vis-block.v3{background:linear-gradient(135deg,#10b981,#059669)}.testimonials-section{max-width:1200px;margin:0 auto 6rem;padding:0 2rem}.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.testimonial-card{background:var(--bg-card);padding:2.5rem;border-radius:24px;border:1px solid var(--border-color);display:flex;flex-direction:column;gap:1.5rem;transition:all .3s ease;position:relative}.testimonial-card:before{content:'"';position:absolute;top:1.5rem;right:2rem;font-size:5rem;line-height:1;color:#c21a4d1a;font-family:Georgia,serif;pointer-events:none}.testimonial-card:hover{border-color:#c21a4d40;transform:translateY(-4px);box-shadow:0 12px 30px #0000001a}.testimonial-stars{display:flex;gap:.25rem;font-size:.9rem}.testimonial-card p{font-size:1.05rem;line-height:1.75;font-style:italic;color:var(--text-primary);margin:0}.user-info{display:flex;align-items:center;gap:1rem;margin-top:auto}.avatar{width:44px;height:44px;background:linear-gradient(135deg,#6366f1,var(--accent-primary));color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.user-meta{display:flex;flex-direction:column;gap:.15rem}.user-name{font-size:.95rem;font-weight:700;color:var(--text-primary)}.user-role{font-size:.8rem;color:var(--text-secondary)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.contact-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:24px;padding:2.5rem;display:flex;flex-direction:column;gap:1.5rem;transition:all .3s ease;position:relative;overflow:hidden}.contact-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-primary),#6366f1);opacity:0;transition:opacity .3s ease}.contact-card:hover{border-color:#c21a4d40;transform:translateY(-4px);box-shadow:0 16px 40px #0000001f}.contact-card:hover:after{opacity:1}.contact-card.wide{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.contact-card-icon{width:56px;height:56px;background:#c21a4d14;border:1px solid rgba(194,26,77,.15);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.6rem}.contact-card h3{font-size:1.2rem;font-weight:700;margin:0;color:var(--text-primary)}.contact-card p{font-size:.95rem;color:var(--text-secondary);line-height:1.7;margin:0}.emails-list{display:flex;flex-direction:column;gap:.85rem}.email-row{display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.25rem;background:#ffffff08;border-radius:12px;border:1px solid rgba(255,255,255,.05);transition:border-color .2s ease}.info-page.light .email-row{background:#00000005;border-color:#0000000f}.email-row:hover{border-color:#c21a4d33}.email-type{font-size:.72rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.5px;font-weight:600}.email-addr{font-size:1rem;color:var(--accent-primary);font-family:JetBrains Mono,monospace;font-weight:600}.link-action{display:inline-flex;align-items:center;gap:.5rem;color:var(--accent-primary);text-decoration:none;font-weight:700;font-size:.95rem;transition:gap .2s ease;margin-top:auto}.link-action:after{content:"→";transition:transform .2s ease}.link-action:hover:after{transform:translate(4px)}.contact-banner{max-width:1200px;margin:0 auto 6rem;padding:0 2rem}.contact-banner-inner{background:linear-gradient(135deg,#c21a4d14,#6366f114);border:1px solid rgba(194,26,77,.2);border-radius:24px;padding:3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}.banner-text h3{font-size:1.5rem;font-weight:800;margin:0 0 .5rem}.banner-text p{font-size:1rem;color:var(--text-secondary);margin:0}.privacy-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.25);border-radius:12px;font-weight:700;font-size:.9rem;white-space:nowrap}@media(max-width:1024px){.split-inner{grid-template-columns:1fr;gap:3rem}.split-visual{display:none}.contact-card.wide{grid-template-columns:1fr;gap:2rem}}@media(max-width:768px){.info-grid,.testimonial-grid,.contact-grid{grid-template-columns:1fr}.contact-card.wide{grid-column:span 1}.info-hero{padding:5rem 1.5rem 3rem}.hero-stats-row{gap:2rem}.info-section{padding:0 1.5rem}.info-split{padding:2.5rem 1.5rem}.split-inner{padding:0}.contact-banner-inner{flex-direction:column;text-align:center}}.floating-stats{position:fixed;top:50%;right:2rem;transform:translateY(-50%);background:var(--bg-card);border:2px solid var(--border-color);border-radius:16px;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 10px 30px #0000004d;animation:slideInRight .5s ease-out;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes slideInRight{0%{opacity:0;transform:translateY(-50%) translate(100px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.stat-label{font-size:.75rem;font-weight:700;color:var(--text-secondary);font-family:JetBrains Mono,monospace;letter-spacing:.1em}.stat-value{font-size:2rem;font-weight:800;font-family:JetBrains Mono,monospace;line-height:1;transition:all .3s ease}.stat-value.wpm{color:#21b334;text-shadow:0 0 10px rgba(33,179,52,.3)}.stat-value.accuracy{color:#00a162;text-shadow:0 0 10px rgba(0,161,98,.3)}.stat-value.time{color:#008d7b;text-shadow:0 0 10px rgba(0,141,123,.3)}.stat-divider{height:2px;background:linear-gradient(90deg,transparent,var(--border-color),transparent);margin:.5rem 0}.floating-stats.dark{background:#16132beb;border-color:#a096dc24;box-shadow:0 10px 40px #00000080}.floating-stats.light{background:#ffffffe6}@media(max-width:1024px){.floating-stats{position:static;transform:none;flex-direction:row;justify-content:space-around;margin:2rem auto;max-width:600px}.stat-divider{width:2px;height:auto;background:linear-gradient(180deg,transparent,var(--border-color),transparent);margin:0}}.streak-display{position:fixed;bottom:2rem;right:2rem;z-index:50;animation:slideIn .5s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.streak-content{background:var(--bg-card);border:3px solid;border-radius:20px;padding:1rem 2rem;display:flex;align-items:center;gap:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.streak-emoji{font-size:2rem;animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.streak-info{display:flex;flex-direction:column;align-items:center}.streak-label{font-size:.75rem;font-weight:700;color:var(--text-secondary);font-family:JetBrains Mono,monospace;letter-spacing:.1em}.streak-value{font-size:2.5rem;font-weight:900;font-family:JetBrains Mono,monospace;line-height:1;text-shadow:0 0 15px currentColor}.streak-max{font-size:.875rem;color:var(--text-secondary);font-family:JetBrains Mono,monospace;padding-left:1rem;border-left:2px solid var(--border-color)}.max-label{font-weight:600}.streak-bonus{position:absolute;top:-40px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#21b334,#00a162);color:#fff;padding:.5rem 1.5rem;border-radius:20px;font-weight:800;font-family:JetBrains Mono,monospace;font-size:1rem;animation:bonusPop 1s ease-out forwards;white-space:nowrap;box-shadow:0 5px 20px #21b33480}@keyframes bonusPop{0%{opacity:0;transform:translate(-50%) translateY(20px) scale(.5)}50%{opacity:1;transform:translate(-50%) translateY(0) scale(1.1)}to{opacity:0;transform:translate(-50%) translateY(-20px) scale(.8)}}@media(max-width:768px){.streak-display{bottom:1.5rem;right:1rem}.streak-content{padding:.75rem 1.5rem;gap:.75rem}.streak-emoji{font-size:1.5rem}.streak-value{font-size:2rem}.streak-max{font-size:.75rem;padding-left:.75rem}}@keyframes slow-drift{0%{transform:translate(-50%,-50%) rotate(-8deg) scale(1)}50%{transform:translate(-50%,-48%) rotate(-9deg) scale(1.04)}to{transform:translate(-50%,-50%) rotate(-8deg) scale(1)}}@keyframes ambient-glow{0%,to{opacity:.35;filter:drop-shadow(0 0 15px rgba(38,83,89,.1))}50%{opacity:.6;filter:drop-shadow(0 0 30px rgba(194,26,77,.2))}}.ghosted-keyboard{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-8deg);width:140vw;height:140vh;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 400'%3E%3Cstyle%3E .k { fill: %23ffffff; fill-opacity: 0.02; stroke: %23ffffff; stroke-width: 1.5; stroke-opacity: 0.25; } .t { fill: %23ffffff; fill-opacity: 0.15; font-family: 'Inter', sans-serif; font-weight: 600; font-size: 14px; text-anchor: middle; dominant-baseline: middle; } %3C/style%3E%3C!-- Outer Frame --%3E%3Crect x='10' y='10' width='980' height='380' rx='20' class='k' stroke-width='2' stroke-opacity='0.3'/%3E%3C!-- Number Row --%3E%3Cg transform='translate(30, 40)'%3E%3Crect x='0' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='25' y='25' class='t'%3E~%3C/text%3E%3Crect x='60' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='85' y='25' class='t'%3E1%3C/text%3E%3Crect x='120' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='145' y='25' class='t'%3E2%3C/text%3E%3Crect x='180' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='205' y='25' class='t'%3E3%3C/text%3E%3Crect x='240' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='265' y='25' class='t'%3E4%3C/text%3E%3Crect x='300' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='325' y='25' class='t'%3E5%3C/text%3E%3Crect x='360' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='385' y='25' class='t'%3E6%3C/text%3E%3Crect x='420' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='445' y='25' class='t'%3E7%3C/text%3E%3Crect x='480' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='505' y='25' class='t'%3E8%3C/text%3E%3Crect x='540' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='565' y='25' class='t'%3E9%3C/text%3E%3Crect x='600' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='625' y='25' class='t'%3E0%3C/text%3E%3Crect x='660' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='685' y='25' class='t'%3E-%3C/text%3E%3Crect x='720' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='745' y='25' class='t'%3E=%3C/text%3E%3Crect x='780' y='0' width='100' height='50' rx='8' class='k'/%3E%3Ctext x='830' y='25' class='t'%3EBACK%3C/text%3E%3C/g%3E%3C!-- Top Letter Row --%3E%3Cg transform='translate(30, 100)'%3E%3Crect x='0' y='0' width='70' height='50' rx='8' class='k'/%3E%3Ctext x='35' y='25' class='t'%3ETAB%3C/text%3E%3Crect x='80' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='105' y='25' class='t'%3EQ%3C/text%3E%3Crect x='140' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='165' y='25' class='t'%3EW%3C/text%3E%3Crect x='200' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='225' y='25' class='t'%3EE%3C/text%3E%3Crect x='260' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='285' y='25' class='t'%3ER%3C/text%3E%3Crect x='320' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='345' y='25' class='t'%3ET%3C/text%3E%3Crect x='380' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='405' y='25' class='t'%3EY%3C/text%3E%3Crect x='440' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='465' y='25' class='t'%3EU%3C/text%3E%3Crect x='500' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='525' y='25' class='t'%3EI%3C/text%3E%3Crect x='560' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='585' y='25' class='t'%3EO%3C/text%3E%3Crect x='620' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='645' y='25' class='t'%3EP%3C/text%3E%3Crect x='680' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='705' y='25' class='t'%3E[%3C/text%3E%3Crect x='740' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='765' y='25' class='t'%3E]%3C/text%3E%3Crect x='800' y='0' width='80' height='50' rx='8' class='k'/%3E%3Ctext x='840' y='25' class='t'%3E\\%3C/text%3E%3C/g%3E%3C!-- Home Row --%3E%3Cg transform='translate(30, 160)'%3E%3Crect x='0' y='0' width='90' height='50' rx='8' class='k'/%3E%3Ctext x='45' y='25' class='t'%3ECAPS%3C/text%3E%3Crect x='100' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='125' y='25' class='t'%3EA%3C/text%3E%3Crect x='160' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='185' y='25' class='t'%3ES%3C/text%3E%3Crect x='220' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='245' y='25' class='t'%3ED%3C/text%3E%3Crect x='280' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='305' y='25' class='t'%3EF%3C/text%3E%3Crect x='340' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='365' y='25' class='t'%3EG%3C/text%3E%3Crect x='400' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='425' y='25' class='t'%3EH%3C/text%3E%3Crect x='460' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='485' y='25' class='t'%3EJ%3C/text%3E%3Crect x='520' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='545' y='25' class='t'%3EK%3C/text%3E%3Crect x='580' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='605' y='25' class='t'%3EL%3C/text%3E%3Crect x='640' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='665' y='25' class='t'%3E;%3C/text%3E%3Crect x='700' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='725' y='25' class='t'%3E'%3C/text%3E%3Crect x='760' y='0' width='120' height='50' rx='8' class='k'/%3E%3Ctext x='820' y='25' class='t'%3EENTER%3C/text%3E%3C/g%3E%3C!-- Bottom Letter Row --%3E%3Cg transform='translate(30, 220)'%3E%3Crect x='0' y='0' width='120' height='50' rx='8' class='k'/%3E%3Ctext x='60' y='25' class='t'%3ESHIFT%3C/text%3E%3Crect x='130' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='155' y='25' class='t'%3EZ%3C/text%3E%3Crect x='190' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='215' y='25' class='t'%3EX%3C/text%3E%3Crect x='250' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='275' y='25' class='t'%3EC%3C/text%3E%3Crect x='310' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='335' y='25' class='t'%3EV%3C/text%3E%3Crect x='370' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='395' y='25' class='t'%3EB%3C/text%3E%3Crect x='430' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='455' y='25' class='t'%3EN%3C/text%3E%3Crect x='490' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='515' y='25' class='t'%3EM%3C/text%3E%3Crect x='550' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='575' y='25' class='t'%3E,%3C/text%3E%3Crect x='610' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='635' y='25' class='t'%3E.%3C/text%3E%3Crect x='670' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='695' y='25' class='t'%3E/%3C/text%3E%3Crect x='730' y='0' width='150' height='50' rx='8' class='k'/%3E%3Ctext x='805' y='25' class='t'%3ESHIFT%3C/text%3E%3C/g%3E%3C!-- Spacebar Row --%3E%3Cg transform='translate(30, 280)'%3E%3Crect x='0' y='0' width='60' height='50' rx='8' class='k'/%3E%3Ctext x='30' y='25' class='t'%3ECTRL%3C/text%3E%3Crect x='70' y='0' width='60' height='50' rx='8' class='k'/%3E%3Ctext x='100' y='25' class='t'%3EOPT%3C/text%3E%3Crect x='140' y='0' width='60' height='50' rx='8' class='k'/%3E%3Ctext x='170' y='25' class='t'%3ECMD%3C/text%3E%3Crect x='210' y='0' width='400' height='50' rx='8' class='k'/%3E%3Ctext x='410' y='25' class='t'%3ESPACE%3C/text%3E%3Crect x='620' y='0' width='60' height='50' rx='8' class='k'/%3E%3Ctext x='650' y='25' class='t'%3ECMD%3C/text%3E%3Crect x='690' y='0' width='60' height='50' rx='8' class='k'/%3E%3Ctext x='720' y='25' class='t'%3EOPT%3C/text%3E%3Crect x='760' y='0' width='120' height='50' rx='8' class='k'/%3E%3Ctext x='820' y='25' class='t'%3ECTRL%3C/text%3E%3C/g%3E%3C/svg%3E");background-repeat:repeat;background-position:center;background-size:1000px;pointer-events:none;z-index:0;animation:slow-drift 30s ease-in-out infinite,ambient-glow 12s ease-in-out infinite;mix-blend-mode:screen;transition:all .5s ease}[data-theme=light] .ghosted-keyboard{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 400'%3E%3Cstyle%3E .k { fill: %23000000; fill-opacity: 0.02; stroke: %231a1a1a; stroke-width: 1.5; stroke-opacity: 0.2; } .t { fill: %231a1a1a; fill-opacity: 0.15; font-family: 'Inter', sans-serif; font-weight: 600; font-size: 14px; text-anchor: middle; dominant-baseline: middle; } %3C/style%3E%3C!-- Outer Frame --%3E%3Crect x='10' y='10' width='980' height='380' rx='20' class='k' stroke-width='2' stroke-opacity='0.25'/%3E%3C!-- Number Row --%3E%3Cg transform='translate(30, 40)'%3E%3Crect x='0' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='25' y='25' class='t'%3E~%3C/text%3E%3Crect x='60' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='85' y='25' class='t'%3E1%3C/text%3E%3Crect x='120' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='145' y='25' class='t'%3E2%3C/text%3E%3Crect x='180' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='205' y='25' class='t'%3E3%3C/text%3E%3Crect x='240' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='265' y='25' class='t'%3E4%3C/text%3E%3Crect x='300' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='325' y='25' class='t'%3E5%3C/text%3E%3Crect x='360' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='385' y='25' class='t'%3E6%3C/text%3E%3Crect x='420' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='445' y='25' class='t'%3E7%3C/text%3E%3Crect x='480' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='505' y='25' class='t'%3E8%3C/text%3E%3Crect x='540' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='565' y='25' class='t'%3E9%3C/text%3E%3Crect x='600' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='625' y='25' class='t'%3E0%3C/text%3E%3Crect x='660' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='685' y='25' class='t'%3E-%3C/text%3E%3Crect x='720' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='745' y='25' class='t'%3E=%3C/text%3E%3Crect x='780' y='0' width='100' height='50' rx='8' class='k'/%3E%3Ctext x='830' y='25' class='t'%3EBACK%3C/text%3E%3C/g%3E%3C!-- Top Letter Row --%3E%3Cg transform='translate(30, 100)'%3E%3Crect x='0' y='0' width='70' height='50' rx='8' class='k'/%3E%3Ctext x='35' y='25' class='t'%3ETAB%3C/text%3E%3Crect x='80' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='105' y='25' class='t'%3EQ%3C/text%3E%3Crect x='140' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='165' y='25' class='t'%3EW%3C/text%3E%3Crect x='200' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='225' y='25' class='t'%3EE%3C/text%3E%3Crect x='260' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='285' y='25' class='t'%3ER%3C/text%3E%3Crect x='320' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='345' y='25' class='t'%3ET%3C/text%3E%3Crect x='380' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='405' y='25' class='t'%3EY%3C/text%3E%3Crect x='440' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='465' y='25' class='t'%3EU%3C/text%3E%3Crect x='500' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='525' y='25' class='t'%3EI%3C/text%3E%3Crect x='560' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='585' y='25' class='t'%3EO%3C/text%3E%3Crect x='620' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='645' y='25' class='t'%3EP%3C/text%3E%3Crect x='680' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='705' y='25' class='t'%3E[%3C/text%3E%3Crect x='740' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='765' y='25' class='t'%3E]%3C/text%3E%3Crect x='800' y='0' width='80' height='50' rx='8' class='k'/%3E%3Ctext x='840' y='25' class='t'%3E\\%3C/text%3E%3C/g%3E%3C!-- Home Row --%3E%3Cg transform='translate(30, 160)'%3E%3Crect x='0' y='0' width='90' height='50' rx='8' class='k'/%3E%3Ctext x='45' y='25' class='t'%3ECAPS%3C/text%3E%3Crect x='100' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='125' y='25' class='t'%3EA%3C/text%3E%3Crect x='160' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='185' y='25' class='t'%3ES%3C/text%3E%3Crect x='220' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='245' y='25' class='t'%3ED%3C/text%3E%3Crect x='280' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='305' y='25' class='t'%3EF%3C/text%3E%3Crect x='340' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='365' y='25' class='t'%3EG%3C/text%3E%3Crect x='400' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='425' y='25' class='t'%3EH%3C/text%3E%3Crect x='460' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='485' y='25' class='t'%3EJ%3C/text%3E%3Crect x='520' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='545' y='25' class='t'%3EK%3C/text%3E%3Crect x='580' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='605' y='25' class='t'%3EL%3C/text%3E%3Crect x='640' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='665' y='25' class='t'%3E;%3C/text%3E%3Crect x='700' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='725' y='25' class='t'%3E'%3C/text%3E%3Crect x='760' y='0' width='120' height='50' rx='8' class='k'/%3E%3Ctext x='820' y='25' class='t'%3EENTER%3C/text%3E%3C/g%3E%3C!-- Bottom Letter Row --%3E%3Cg transform='translate(30, 220)'%3E%3Crect x='0' y='0' width='120' height='50' rx='8' class='k'/%3E%3Ctext x='60' y='25' class='t'%3ESHIFT%3C/text%3E%3Crect x='130' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='155' y='25' class='t'%3EZ%3C/text%3E%3Crect x='190' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='215' y='25' class='t'%3EX%3C/text%3E%3Crect x='250' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='275' y='25' class='t'%3EC%3C/text%3E%3Crect x='310' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='335' y='25' class='t'%3EV%3C/text%3E%3Crect x='370' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='395' y='25' class='t'%3EB%3C/text%3E%3Crect x='430' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='455' y='25' class='t'%3EN%3C/text%3E%3Crect x='490' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='515' y='25' class='t'%3EM%3C/text%3E%3Crect x='550' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='575' y='25' class='t'%3E,%3C/text%3E%3Crect x='610' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='635' y='25' class='t'%3E.%3C/text%3E%3Crect x='670' y='0' width='50' height='50' rx='8' class='k'/%3E%3Ctext x='695' y='25' class='t'%3E/%3C/text%3E%3Crect x='730' y='0' width='150' height='50' rx='8' class='k'/%3E%3Ctext x='805' y='25' class='t'%3ESHIFT%3C/text%3E%3C/g%3E%3C!-- Spacebar Row --%3E%3Cg transform='translate(30, 280)'%3E%3Crect x='0' y='0' width='60' height='50' rx='8' class='k'/%3E%3Ctext x='30' y='25' class='t'%3ECTRL%3C/text%3E%3Crect x='70' y='0' width='60' height='50' rx='8' class='k'/%3E%3Ctext x='100' y='25' class='t'%3EOPT%3C/text%3E%3Crect x='140' y='0' width='60' height='50' rx='8' class='k'/%3E%3Ctext x='170' y='25' class='t'%3ECMD%3C/text%3E%3Crect x='210' y='0' width='400' height='50' rx='8' class='k'/%3E%3Ctext x='410' y='25' class='t'%3ESPACE%3C/text%3E%3Crect x='620' y='0' width='60' height='50' rx='8' class='k'/%3E%3Ctext x='650' y='25' class='t'%3ECMD%3C/text%3E%3Crect x='690' y='0' width='60' height='50' rx='8' class='k'/%3E%3Ctext x='720' y='25' class='t'%3EOPT%3C/text%3E%3Crect x='760' y='0' width='120' height='50' rx='8' class='k'/%3E%3Ctext x='820' y='25' class='t'%3ECTRL%3C/text%3E%3C/g%3E%3C/svg%3E");mix-blend-mode:multiply}
