@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.08hd0g.321csk.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.0x08jh8vondwt.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.0~wrfy7sm-h4g.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.0k_.i63k_i_qa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.16-z~2sp29ex6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.0m9hhkgdlzukj.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.0juuwbcf7uz~t.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.0qg7j5o.yrclm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0hkrq11n-dhos.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.07ig5l8azj~hy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/f53f4557ddd9f7a6-s.0l86rvwdd07jt.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5256dd17dd2ccf14-s.0-bj-4.3jk9zi.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fe48c93add1d142c-s.169mj0m4oygmx.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5689d89b20a4bd5b-s.072srq0~jhoqa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a7e15459c1805da0-s.p.15mmg7gamto4l.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_a4f36e96-module__EUTeLq__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_a4f36e96-module__EUTeLq__variable{--font-rf-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7f49c72243bdcede-s.02n~ovut9q.eh.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a2797aaeec05c026-s.0heuz94e2xu-_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b3baf9375001c1f5-s.0pgow3hyiaf3k.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9096fd5f49bfad97-s.0wnpx~ncnbwem.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ef7be03ed7e60a63-s.p.14o~5h-2n.9~4.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:500;font-display:swap;src:url(../media/4bd7aa058bc96e4f-s.15bgzjziiwxor.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0bd78c1bd4dfd4c7-s.131wlma90crvu.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:500;font-display:swap;src:url(../media/197b82234d448be7-s.15ua0zfd806~o.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:500;font-display:swap;src:url(../media/79050e547acec5d8-s.10902ftf82jy~.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:500;font-display:swap;src:url(../media/522cd826f2dc0be6-s.p.0n2990xzhyidg.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:700;font-display:swap;src:url(../media/dbde2f8f30101ad5-s.0yj~nmf1k1wsd.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:700;font-display:swap;src:url(../media/3458ec625a68754e-s.0gbbo479ko04r.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:700;font-display:swap;src:url(../media/bcf81e271d3e6abb-s.01vai8fj1ya.z.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b9126928ffb46be5-s.16hq-3ewj6jv8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:700;font-display:swap;src:url(../media/97f7e3833b6cf3b1-s.p.10qtomfsgntaz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Serif Fallback;src:local(Times New Roman);ascent-override:88.04%;descent-override:23.62%;line-gap-override:0.0%;size-adjust:116.43%}.ibm_plex_serif_cc4d8e1e-module__yInnAW__className{font-family:IBM Plex Serif,IBM Plex Serif Fallback;font-style:normal}.ibm_plex_serif_cc4d8e1e-module__yInnAW__variable{--font-rf-serif:"IBM Plex Serif", "IBM Plex Serif Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid}}}@layer theme{:root,:host{--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-3xl:48rem;--container-4xl:56rem;--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:calc(1.5 / 1);--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:calc(2.25 / 1.875);--font-weight-medium:500;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--radius-sm:.25rem;--radius-lg:.5rem;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--rf-font-serif);--default-mono-font-family:var(--rf-font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--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:var(--default-font-feature-settings,normal);font-variation-settings:var(--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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-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{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}: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:currentColor}@supports (color:color-mix(in lab, red, red)){::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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.-top-0\.5{top:calc(var(--spacing) * -.5)}.-right-4{right:calc(var(--spacing) * -4)}.z-10{z-index:10}.z-\[200\]{z-index:200}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.-mt-0\.5{margin-top:calc(var(--spacing) * -.5)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-20{margin-top:calc(var(--spacing) * 20)}.mt-auto{margin-top:auto}.-mr-1{margin-right:calc(var(--spacing) * -1)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:calc(var(--spacing) * 1)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-28{height:calc(var(--spacing) * 28)}.h-32{height:calc(var(--spacing) * 32)}.h-full{height:100%}.max-h-\[60vh\]{max-height:60vh}.min-h-full{min-height:100%}.w-3{width:calc(var(--spacing) * 3)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-32{width:calc(var(--spacing) * 32)}.w-48{width:calc(var(--spacing) * 48)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[120px\]{max-width:120px}.max-w-\[200px\]{max-width:200px}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.scroll-mt-20{scroll-margin-top:calc(var(--spacing) * 20)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-rf-blue\/50{border-color:var(--rf-blue)}@supports (color:color-mix(in lab, red, red)){.border-rf-blue\/50{border-color:color-mix(in oklab, var(--rf-blue) 50%, transparent)}}.border-rf-border{border-color:var(--rf-border)}.bg-rf-blue,.bg-rf-blue\/30{background-color:var(--rf-blue)}@supports (color:color-mix(in lab, red, red)){.bg-rf-blue\/30{background-color:color-mix(in oklab, var(--rf-blue) 30%, transparent)}}.bg-rf-border{background-color:var(--rf-border)}.bg-rf-elevated{background-color:var(--rf-elevated)}.bg-rf-green,.bg-rf-green\/5{background-color:var(--rf-green)}@supports (color:color-mix(in lab, red, red)){.bg-rf-green\/5{background-color:color-mix(in oklab, var(--rf-green) 5%, transparent)}}.bg-rf-red\/5{background-color:var(--rf-red)}@supports (color:color-mix(in lab, red, red)){.bg-rf-red\/5{background-color:color-mix(in oklab, var(--rf-red) 5%, transparent)}}.bg-rf-tile{background-color:var(--rf-tile)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:var(--rf-font-mono)}.font-serif{font-family:var(--rf-font-serif)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-all{word-break:break-all}.text-rf-blue{color:var(--rf-blue)}.text-rf-green{color:var(--rf-green)}.text-rf-red{color:var(--rf-red)}.text-rf-text-muted{color:var(--rf-text-muted)}.text-rf-text-primary{color:var(--rf-text-primary)}.text-rf-text-secondary{color:var(--rf-text-secondary)}.text-rf-white{color:var(--rf-white)}.uppercase{text-transform:uppercase}.line-through{text-decoration-line:line-through}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:text-rf-blue:hover{color:var(--rf-blue)}.hover\:text-rf-white:hover{color:var(--rf-white)}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-rf-blue:focus-visible{outline-color:var(--rf-blue)}@media (min-width:40rem){.sm\:mt-12{margin-top:calc(var(--spacing) * 12)}.sm\:mb-12{margin-bottom:calc(var(--spacing) * 12)}.sm\:max-w-none{max-width:none}.sm\:gap-6{gap:calc(var(--spacing) * 6)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:pt-14{padding-top:calc(var(--spacing) * 14)}.sm\:pt-16{padding-top:calc(var(--spacing) * 16)}.sm\:pt-20{padding-top:calc(var(--spacing) * 20)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}:root{--rf-black:#000;--rf-surface:#0a0a0f;--rf-tile:#121217;--rf-elevated:#1a1a22;--rf-border:#2a2a35;--rf-white:#fff;--rf-text-primary:#ededed;--rf-text-secondary:#ededed8a;--rf-text-muted:#ededed52;--rf-blue:#ea6961;--rf-blue-glow:#ea696126;--rf-pink:#ffb3ff;--rf-red:#ff537a;--rf-yellow:#ffffb5;--rf-green:#00ffb5;--rf-green-dim:#00ffb51f;--rf-accent:var(--rf-blue);--rf-success:var(--rf-green);--rf-error:var(--rf-red);--rf-warning:var(--rf-yellow);--rf-hint:var(--rf-pink);--rf-cjk-sans:"PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", "WenQuanYi Micro Hei", sans-serif;--rf-cjk-serif:"PingFang SC", "Microsoft YaHei", "Noto Serif CJK SC", "Source Han Serif SC", "SimSun", serif;--rf-font-mono:var(--font-rf-mono), "IBM Plex Mono", var(--rf-cjk-sans), monospace;--rf-font-serif:var(--font-rf-serif), "IBM Plex Serif", var(--rf-cjk-serif);--rf-line-height:1.65em;--rf-block-offset:3.3em;--rf-gutter:.5rem;--rf-space-xs:.25rem;--rf-space-sm:.5rem;--rf-space-md:1rem;--rf-space-lg:1.5rem;--rf-space-xl:2rem;--rf-space-2xl:3.3em;--rf-space-3xl:6rem;--rf-radius-sm:4px;--rf-radius-md:8px;--rf-radius-lg:12px;--rf-radius-pill:3em;--rf-radius-round:50%;--rf-shadow-sm:0 1px 2px #00000080;--rf-shadow-md:0 4px 12px #0006;--rf-shadow-lg:0 8px 32px #0009;--rf-shadow-glow:0 0 20px var(--rf-blue-glow);--rf-ease-out:cubic-bezier(.23, 1, .32, 1);--rf-ease-spring:cubic-bezier(.19, 1, .22, 1);--rf-duration-fast:.2s;--rf-duration-normal:.5s;--rf-duration-slow:.8s;--rf-z-base:0;--rf-z-dropdown:10;--rf-z-sticky:20;--rf-z-overlay:100;--rf-z-modal:200;--rf-z-tooltip:300;--rf-z-noise:9999}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--rf-surface);color:var(--rf-text-primary);font-family:var(--rf-font-serif);font-size:16px;line-height:var(--rf-line-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);-webkit-text-size-adjust:100%}::selection{background:var(--rf-blue);color:var(--rf-white)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--rf-black)}::-webkit-scrollbar-thumb{background:var(--rf-border);border-radius:3px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:var(--rf-blue)}h1,h2,h3,h4,h5,h6{font-family:var(--rf-font-mono);letter-spacing:-.02em;font-weight:400;line-height:1.2}h1{font-size:2.5rem;font-weight:500}h2{color:var(--rf-blue);font-size:1.5rem}h3{color:var(--rf-blue);font-size:1.125rem}p{margin:var(--rf-line-height) 0;line-height:var(--rf-line-height)}a{color:var(--rf-white);transition:color var(--rf-duration-fast) ease;text-decoration:none}a:hover{color:var(--rf-blue)}a:focus-visible{outline:2px solid var(--rf-blue);outline-offset:2px;border-radius:2px}code,pre,kbd{font-family:var(--rf-font-mono)}hr{margin:calc(var(--rf-line-height) * 2) 0;border:none}hr:after{content:"* * *";text-align:center;color:var(--rf-text-muted);font-family:var(--rf-font-mono);letter-spacing:.5em;display:block}blockquote{border-left:3px solid var(--rf-blue);color:var(--rf-text-secondary);margin-left:0;padding-left:1em;font-style:italic}.dropcap:first-letter{float:left;color:var(--rf-yellow);padding-top:4px;padding-right:15px;font-size:3em;font-weight:700;line-height:.9em}@keyframes hueRotate{0%{filter:hue-rotate()}to{filter:hue-rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{50%{opacity:.5}}@keyframes blink{0%,to{color:#0000}50%{color:var(--rf-blue)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes push{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}@keyframes confettiBurst{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(-120vh)rotate(720deg)}}@keyframes morphIn{0%{opacity:0;filter:blur(8px);transform:scale(.9)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes streak{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes streakGlowSilver{0%,to{box-shadow:0 0 6px #a8b8c826,0 0 18px #d4e0ec14}50%{box-shadow:0 0 10px #a8b8c840,0 0 24px #d4e0ec1f}}@keyframes streakGlowGold{0%,to{box-shadow:0 0 8px #ffd70033,0 0 24px #f0c0301a}50%{box-shadow:0 0 14px #ffd70059,0 0 32px #f0c0302e}}@keyframes streakGlowDiamond{0%,to{box-shadow:0 0 10px #00ffb540,0 0 28px #ea69611f,0 0 40px #ffb3ff0f}50%{box-shadow:0 0 16px #00ffb566,0 0 36px #ea696133,0 0 52px #ffb3ff1a}}@keyframes streakShimmer{0%{left:-100%}to{left:200%}}@keyframes correctPop{0%{transform:scale(1)}30%{transform:scale(1.08)}50%{transform:scale(.97)}70%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes correctGlow{0%{box-shadow:0 2px 0 var(--rf-green), 0 0 0 0 #00ffb500}40%{box-shadow:0 2px 0 var(--rf-green), 0 0 16px 4px #00ffb559}to{box-shadow:0 2px 0 var(--rf-green), 0 0 0 0 #00ffb500}}@keyframes wrongShake{0%,to{transform:translate(0)}10%{transform:translate(-6px)rotate(-1deg)}20%{transform:translate(5px)rotate(.5deg)}30%{transform:translate(-4px)rotate(-.5deg)}40%{transform:translate(3px)rotate(.3deg)}50%{transform:translate(-2px)}60%{transform:translate(1px)}}@keyframes wrongFlash{0%{background:#ff537a00}20%{background:#ff537a40}to{background:#ff537a1f}}@keyframes checkDraw{0%{stroke-dashoffset:24px;opacity:0}30%{opacity:1}to{stroke-dashoffset:0;opacity:1}}@keyframes crossDraw{0%{stroke-dashoffset:20px;opacity:0}30%{opacity:1}to{stroke-dashoffset:0;opacity:1}}@keyframes cursorBlink{0%,to{border-right-color:var(--rf-blue)}50%{border-right-color:#0000}}@keyframes focusExpand{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes hintReveal{0%{opacity:0;letter-spacing:.5em;filter:blur(4px)}to{opacity:1;letter-spacing:.15em;filter:blur()}}@keyframes hintBounceIn{0%{opacity:0;transform:translate(-50%)translateY(4px)scale(.9)}60%{transform:translate(-50%)translateY(-2px)scale(1.02)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes charAppear{0%{opacity:0;transform:translateY(4px)scale(.7)}60%{opacity:1;transform:translateY(-1px)scale(1.05)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes charCorrect{0%{opacity:0;color:var(--rf-text-primary);transform:translateY(4px)scale(.7)}40%{opacity:1;color:var(--rf-green);transform:translateY(-2px)scale(1.15)}to{opacity:1;color:var(--rf-green);transform:translateY(0)scale(1)}}@keyframes charWrong{0%{opacity:0;color:var(--rf-text-primary);transform:translate(0)scale(.7)}20%{opacity:1;color:var(--rf-red);transform:translate(-3px)scale(1.05)}40%{transform:translate(3px)scale(1)}60%{transform:translate(-2px)scale(1)}80%{transform:translate(1px)scale(1)}to{opacity:1;color:var(--rf-red);transform:translate(0)scale(1)}}@keyframes scoreReveal{0%{opacity:0;filter:blur(8px);transform:scale(.5)translateY(20px)}60%{filter:blur();transform:scale(1.1)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes progressFill{0%{width:0}}@keyframes progressGlow{0%,to{box-shadow:0 0 4px #ea69614d}50%{box-shadow:0 0 12px #ea696199}}@keyframes perfectPulse{0%,to{text-shadow:0 0 8px #00ffb54d;filter:brightness()}50%{text-shadow:0 0 20px #00ffb599,0 0 40px #ea69614d;filter:brightness(1.1)}}@keyframes cardReveal{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes buttonShine{0%{left:-75%}to{left:125%}}@keyframes rippleOut{0%{opacity:.5;transform:scale(0)}to{opacity:0;transform:scale(4)}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(40px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes overlayIn{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}@keyframes streakPulse{0%,to{filter:brightness(1.05);transform:scale(1)}50%{filter:brightness(1.2);transform:scale(1.05)}}.animate-fade-in{animation:fadeIn .5s var(--rf-ease-out) forwards}.animate-slide-up{animation:slideUp .65s var(--rf-ease-out) forwards}.animate-scale-in{animation:scaleIn .4s var(--rf-ease-out) forwards}.animate-morph-in{animation:morphIn .6s var(--rf-ease-out) forwards}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-shimmer{background:linear-gradient(90deg, var(--rf-tile) 25%, var(--rf-elevated) 50%, var(--rf-tile) 75%);background-size:200% 100%;animation:1.5s infinite shimmer}.animate-card-reveal{animation:cardReveal .5s var(--rf-ease-out) both}.stagger-children>*{opacity:0;animation:cardReveal .5s var(--rf-ease-out) forwards}.stagger-children>:first-child{animation-delay:50ms}.stagger-children>:nth-child(2){animation-delay:.1s}.stagger-children>:nth-child(3){animation-delay:.15s}.stagger-children>:nth-child(4){animation-delay:.2s}.stagger-children>:nth-child(5){animation-delay:.25s}.stagger-children>:nth-child(6){animation-delay:.3s}.stagger-children>:nth-child(7){animation-delay:.35s}.stagger-children>:nth-child(8){animation-delay:.4s}.stagger-children>:nth-child(9){animation-delay:.45s}.stagger-children>:nth-child(10){animation-delay:.5s}.rf-block{margin-top:var(--rf-line-height);margin-bottom:var(--rf-line-height)}.rf-block-extended{margin-top:var(--rf-block-offset);margin-bottom:var(--rf-block-offset)}.rf-section{max-width:1280px;padding:var(--rf-space-2xl) var(--rf-space-md);line-height:var(--rf-line-height);margin-left:auto;margin-right:auto}@media (min-width:768px){.rf-section{padding-left:5%;padding-right:5%}}@media (min-width:1024px){.rf-section{width:80%;max-width:1140px;padding-left:0;padding-right:0}}.rf-grid-bg{background-image:linear-gradient(var(--rf-border) 1px, transparent 1px);background-size:100% var(--rf-line-height);background-repeat:repeat-y}.rf-nav-link-subtle{font-family:var(--rf-font-mono);opacity:.54;transition:opacity var(--rf-duration-fast) ease;font-size:.875rem;text-decoration:none}.rf-nav-link-subtle:hover{opacity:1}.rf-nav-link-subtle:focus-visible{outline:2px solid var(--rf-blue);outline-offset:2px;border-radius:2px}.rf-tile{background-color:var(--rf-tile);border:1px solid var(--rf-border);border-radius:var(--rf-radius-md);-webkit-mask-image:-webkit-radial-gradient(center, white, black);-webkit-mask-image:-webkit-radial-gradient(center, white, black);-webkit-mask-image:-webkit-radial-gradient(center, white, black);mask-image:-webkit-radial-gradient(center, white, black);transition:background-color var(--rf-duration-fast) ease, border-color var(--rf-duration-fast) ease, transform var(--rf-duration-normal) var(--rf-ease-spring), box-shadow var(--rf-duration-normal) var(--rf-ease-spring);position:relative}.rf-tile:hover{background-color:var(--rf-elevated)}.rf-tile p{margin:0}.rf-tile-hoverable:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d,0 0 0 1px #ea696114}.rf-cloze-input{font-family:var(--rf-font-mono);border:none;border-bottom:2px solid var(--rf-border);color:var(--rf-text-primary);transition:border-color var(--rf-duration-fast) var(--rf-ease-out), background-color var(--rf-duration-fast) var(--rf-ease-out), box-shadow .3s var(--rf-ease-out), transform .3s var(--rf-ease-spring);background:0 0;outline:none;padding:2px 4px;font-size:max(1em,16px);position:relative}.rf-cloze-input:after{content:"";transform-origin:50%;height:2px;transition:transform .3s var(--rf-ease-spring);position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.rf-cloze-input:focus{border-bottom-color:var(--rf-blue);box-shadow:0 2px 0 var(--rf-blue), 0 4px 12px #ea696126}.rf-cloze-input::placeholder{color:var(--rf-text-muted);font-style:italic;transition:opacity .2s}.rf-cloze-input:focus::placeholder{opacity:.5}.rf-cloze-input[data-state=correct]{border-bottom-color:var(--rf-green);background:var(--rf-green-dim);color:var(--rf-green);animation:correctPop .5s var(--rf-ease-spring), correctGlow .8s var(--rf-ease-out)}.rf-cloze-input[data-state=wrong]{border-bottom-color:var(--rf-red);color:var(--rf-red);animation:wrongShake .5s var(--rf-ease-out), wrongFlash .6s ease-out;background:#ff537a1f}.rf-cloze-input[data-state=hinting]{border-bottom-color:var(--rf-pink);border-bottom-style:dashed}.rf-cloze-wrapper,.rf-cloze-field{vertical-align:baseline;display:inline-block;position:relative}.rf-cloze-input-hidden{caret-color:var(--rf-blue);color:#0000!important}.rf-char-overlay{pointer-events:none;font-family:var(--rf-font-mono);font-size:inherit;line-height:inherit;padding:2px 4px;display:flex;position:absolute;top:0;left:0}.rf-char{text-align:center;min-width:.58em;transition:color .15s var(--rf-ease-out), transform .2s var(--rf-ease-spring), opacity .15s ease;opacity:0;display:inline-block}.rf-char[data-filled=true]{opacity:1;animation:charAppear .25s var(--rf-ease-spring) forwards}.rf-char-correct{color:var(--rf-green)}.rf-char-correct[data-filled=true]{animation:charCorrect .3s var(--rf-ease-spring) forwards}.rf-char-wrong{color:var(--rf-red)}.rf-char-wrong[data-filled=true]{animation:charWrong .35s var(--rf-ease-out) forwards}.rf-char-pending{color:var(--rf-text-primary)}.rf-char-empty{opacity:0}.rf-check-icon{stroke-dasharray:24;stroke-dashoffset:0;animation:checkDraw .4s var(--rf-ease-out) forwards}.rf-cross-icon{stroke-dasharray:20;stroke-dashoffset:0;animation:crossDraw .3s var(--rf-ease-out) forwards}.rf-correct-answer{animation:fadeIn .3s var(--rf-ease-out) .2s both}.rf-diff-tooltip{background:var(--rf-elevated);border:1px solid var(--rf-border);border-radius:var(--rf-radius-md);font-family:var(--rf-font-mono);white-space:nowrap;pointer-events:none;z-index:60;opacity:0;transition:opacity .2s var(--rf-ease-out), transform .2s var(--rf-ease-out);padding:8px 12px;font-size:.8rem;display:block;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(4px)scale(.96);box-shadow:0 8px 24px #0006}.rf-diff-tooltip-visible{opacity:1;transform:translate(-50%)translateY(0)scale(1)}.rf-diff-tooltip:after{content:"";border:6px solid #0000;border-top-color:var(--rf-border);position:absolute;top:100%;left:50%;transform:translate(-50%)}.rf-diff-row{justify-content:center;align-items:center;line-height:1.6;display:flex}.rf-diff-chars{gap:1px;display:flex}.rf-diff-chars>span{text-align:center;border-radius:2px;min-width:.7em;padding:0 1px;transition:background .15s;display:inline-block}.rf-diff-match{color:var(--rf-text-muted)}.rf-diff-wrong{color:var(--rf-red);background:#ff537a26;-webkit-text-decoration:line-through #ff537a80;text-decoration:line-through #ff537a80}.rf-diff-correct{color:var(--rf-green);background:#00ffb51f;font-weight:500}.rf-diff-divider{background:var(--rf-border);height:1px;margin:4px 0;display:block}.rf-btn{font-family:var(--rf-font-mono);letter-spacing:.05em;border:1.5px solid var(--rf-white);border-radius:var(--rf-radius-pill);color:var(--rf-white);cursor:pointer;transition:all var(--rf-duration-normal) var(--rf-ease-spring);-webkit-user-select:none;user-select:none;background:0 0;align-items:center;gap:.5em;padding:.85em 1.5em;font-size:.875rem;line-height:1;display:inline-flex;position:relative;overflow:hidden}.rf-btn:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff14,#0000);width:50%;height:100%;transition:none;position:absolute;top:0;left:-75%;transform:skew(-20deg)}.rf-btn:hover:before{animation:.6s ease-out forwards buttonShine}.rf-btn:hover{background:var(--rf-blue);border-color:#fff0;transform:scale(1.02);box-shadow:0 4px 16px #ea696140}.rf-btn:active{animation:.4s ease-out push}.rf-btn:focus-visible{outline:2px solid var(--rf-blue);outline-offset:2px}.rf-btn:disabled,.rf-btn[aria-disabled=true]{opacity:.32;cursor:not-allowed;pointer-events:none}.rf-btn-primary{background:var(--rf-blue);border-color:var(--rf-blue)}.rf-btn-primary:hover{background:#d4554e;border-color:#d4554e;box-shadow:0 4px 20px #ea696159}.rf-btn-secondary{border-color:var(--rf-blue);color:var(--rf-blue);background:var(--rf-blue-glow)}.rf-btn-secondary:hover{background:var(--rf-blue);color:var(--rf-white);border-color:var(--rf-blue);box-shadow:0 4px 20px #ea69614d}.rf-btn-ghost{opacity:.54;border-color:#0000}.rf-btn-ghost:hover{opacity:1;background:var(--rf-tile);box-shadow:none}.rf-btn-ghost:hover:before{animation:none}.rf-ripple{pointer-events:none;background:#ffffff4d;border-radius:50%;width:8px;height:8px;margin-top:-4px;margin-left:-4px;animation:.5s ease-out forwards rippleOut;position:absolute;transform:scale(0)}.rf-score{font-family:var(--rf-font-mono);font-size:3rem;font-weight:500;line-height:1;display:inline-block}.rf-score-animated{animation:scoreReveal .7s var(--rf-ease-spring) both}.rf-score-perfect{background:linear-gradient(135deg, var(--rf-green), var(--rf-blue));-webkit-text-fill-color:transparent;animation:scoreReveal .7s var(--rf-ease-spring) both, perfectPulse 2s ease-in-out .7s infinite;-webkit-background-clip:text;background-clip:text}.rf-progress-bar{position:relative;overflow:hidden}.rf-progress-fill{border-radius:inherit;height:100%;animation:progressFill 1s var(--rf-ease-out) .3s both;transition:none}.rf-progress-fill-glow{animation:progressFill 1s var(--rf-ease-out) .3s both, progressGlow 2s ease-in-out 1.3s infinite}.rf-streak{font-family:var(--rf-font-mono);border-radius:var(--rf-radius-pill);color:var(--rf-black);letter-spacing:.02em;transition:transform .3s var(--rf-ease-spring), box-shadow .3s ease, filter .3s ease;background-size:200% 200%;align-items:center;gap:.5em;padding:.5em 1.2em;font-size:.875rem;font-weight:600;animation:4s infinite streak;display:inline-flex;position:relative;overflow:hidden}.rf-streak:after{content:"";pointer-events:none;width:60%;height:100%;transition:none;position:absolute;top:0;left:-100%}.rf-streak:hover:after{animation:.8s ease-out streakShimmer}.rf-streak--bronze{background:linear-gradient(135deg,#cd7f32,#e8a862,#cd7f32);box-shadow:0 0 6px #cd7f3226}.rf-streak--bronze:after{background:linear-gradient(90deg,#0000,#ffffff26,#0000)}.rf-streak--bronze:hover{filter:brightness(1.06);box-shadow:0 0 12px #cd7f324d,0 0 28px #e8a86226}.rf-streak--silver{background:linear-gradient(135deg,#a8b8c8,#d4e0ec,#b8c8d8,#d4e0ec);animation:4s infinite streak,3s ease-in-out infinite streakGlowSilver}.rf-streak--silver:after{background:linear-gradient(90deg,#0000,#ffffff40,#0000)}.rf-streak--silver:hover{filter:brightness(1.08);animation:4s infinite streak,1.2s ease-in-out infinite streakPulse;box-shadow:0 0 14px #a8b8c859,0 0 32px #d4e0ec2e}.rf-streak--gold{background:linear-gradient(135deg,gold,#ffec80,#f0c030,#ffec80);animation:3.5s infinite streak,2.5s ease-in-out infinite streakGlowGold}.rf-streak--gold:after{background:linear-gradient(90deg,#0000,#ffffff4d,#0000)}.rf-streak--gold:hover{filter:brightness(1.1);animation:3.5s infinite streak,1s ease-in-out infinite streakPulse;box-shadow:0 0 18px #ffd70066,0 0 40px #f0c03033}.rf-streak--diamond{background:linear-gradient(135deg, var(--rf-green), var(--rf-blue), var(--rf-pink), var(--rf-blue));animation:3s infinite streak,2s ease-in-out infinite streakGlowDiamond}.rf-streak--diamond:after{background:linear-gradient(90deg,#0000,#ffffff59,#0000)}.rf-streak--diamond:hover{filter:brightness(1.12);animation:3s infinite streak,.8s ease-in-out infinite streakPulse;box-shadow:0 0 20px #00ffb559,0 0 48px #ea696133,0 0 64px #ffb3ff1a}.rf-tooltip{background:var(--rf-elevated);border:1px solid var(--rf-border);border-radius:var(--rf-radius-sm);font-family:var(--rf-font-mono);color:var(--rf-pink);white-space:nowrap;pointer-events:none;animation:hintBounceIn .35s var(--rf-ease-spring) forwards;z-index:50;padding:.5em .75em;font-size:.8rem;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.rf-tooltip .tracking-widest{animation:hintReveal .4s var(--rf-ease-out) .1s both;display:inline-block}.rf-tooltip:after{content:"";border:5px solid #0000;border-top-color:var(--rf-border);position:absolute;top:100%;left:50%;transform:translate(-50%)}.rf-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#000000b3;justify-content:center;align-items:center;animation:.3s forwards overlayIn;display:flex;position:fixed;inset:0}.rf-modal{background:var(--rf-tile);border:1px solid var(--rf-border);border-radius:var(--rf-radius-lg);width:90%;max-width:480px;max-height:80vh;animation:modalSlideIn .45s var(--rf-ease-spring) forwards;padding:2rem;overflow-y:auto;box-shadow:0 24px 64px #00000080,0 0 0 1px #ea69610f}.rf-nav-link{font-family:var(--rf-font-mono);color:var(--rf-text-secondary);transition:color var(--rf-duration-fast) ease;font-size:.875rem;text-decoration:none}.rf-nav-link:hover{color:var(--rf-white)}.rf-nav-link:focus-visible{outline:2px solid var(--rf-blue);outline-offset:2px;border-radius:2px}.rf-nav-link[data-active=true]{color:var(--rf-blue)}.rf-prose{font-family:var(--rf-font-serif);color:var(--rf-text-primary);max-width:42em;font-size:1.125rem;line-height:1.75}.rf-prose p{margin:1.5em 0}.rf-prose p:first-child{margin-top:0}.rf-prose strong{color:var(--rf-white)}.rf-prose em{color:var(--rf-text-secondary)}.rf-word-fade-out{animation:fadeOut .4s var(--rf-ease-out) forwards;display:inline-block}.rf-input-fade-in{animation:morphIn .5s var(--rf-ease-out) .2s both;display:inline-block}.rf-hue-rotate-hover:hover{animation:10s infinite hueRotate}.rf-blur-hover-content{transition:filter .5s var(--rf-ease-out), transform .5s var(--rf-ease-out)}.rf-blur-hover:hover .rf-blur-hover-content{filter:blur(44px);transform:scale(1.5)}button,[role=button],a,.rf-btn,.rf-tile-hoverable,select{cursor:pointer}input,textarea{cursor:text}@media (min-width:640px){body{font-size:17px}h1{font-size:3rem}}@media (min-width:768px){body{font-size:18px}}@media (min-width:1024px){body{font-size:20px}h1{font-size:3.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.animate-shimmer{background:var(--rf-elevated);animation:none!important}.stagger-children>*{opacity:1;animation:none!important}.rf-streak{animation:none!important}}.rf-noise:before{content:"";pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;position:fixed;inset:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
