/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--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-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-700:oklch(50.8% .118 165.612);--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-cyan-300:oklch(86.5% .127 207.078);--color-cyan-500:oklch(71.5% .143 215.221);--color-cyan-700:oklch(52% .105 223.128);--color-sky-500:oklch(68.5% .169 237.323);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-600:oklch(54.1% .281 293.009);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-700:oklch(51.4% .222 16.935);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-200:oklch(92.9% .013 255.508);--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-900:oklch(20.8% .042 265.755);--color-white:#fff;--spacing:.25rem;--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);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-widest:.1em;--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--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%;-moz-tab-size:4;-o-tab-size:4;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;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}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing)*4)}.right-2{right:calc(var(--spacing)*2)}.left-3{left:calc(var(--spacing)*3)}.left-11{left:calc(var(--spacing)*11)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-4{margin-top:calc(var(--spacing)*4)}.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-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.table{display:table}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-\[1px\]{height:1px}.h-auto{height:auto}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-9{width:calc(var(--spacing)*9)}.w-28{width:calc(var(--spacing)*28)}.w-\[1px\]{width:1px}.w-full{width:100%}.max-w-\[232px\]{max-width:232px}.max-w-\[520px\]{max-width:520px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*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)))}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:calc(var(--radius) + 8px)}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-emerald-200{border-color:var(--color-emerald-200)}.border-input{border-color:var(--input)}.border-rose-200{border-color:var(--color-rose-200)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-400{border-color:var(--color-slate-400)}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-background{background-color:var(--background)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-primary{background-color:var(--primary)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-secondary{background-color:var(--secondary)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-teal-400{--tw-gradient-from:var(--color-teal-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-sky-500{--tw-gradient-via:var(--color-sky-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-violet-600{--tw-gradient-to:var(--color-violet-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-6{padding:calc(var(--spacing)*6)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0{padding-block:calc(var(--spacing)*0)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-5{padding-top:calc(var(--spacing)*5)}.pr-16{padding-right:calc(var(--spacing)*16)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.text-center{text-align:center}.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-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[2\.45rem\]{font-size:2.45rem}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-card-foreground{color:var(--card-foreground)}.text-emerald-700{color:var(--color-emerald-700)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-rose-700{color:var(--color-rose-700)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-600\/80{color:#45556ccc}@supports (color:color-mix(in lab,red,red)){.text-slate-600\/80{color:color-mix(in oklab,var(--color-slate-600)80%,transparent)}}.text-slate-700{color:var(--color-slate-700)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_1px_1px_rgba\(15\,23\,42\,0\.04\)\]{--tw-shadow:inset 0 1px 1px var(--tw-shadow-color,#0f172a0a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-cyan-500\/25{--tw-shadow-color:#00b7d740}@supports (color:color-mix(in lab,red,red)){.shadow-cyan-500\/25{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-cyan-500)25%,transparent)var(--tw-shadow-alpha),transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,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-\[transform\,box-shadow\,background-color\]{transition-property:transform,box-shadow,background-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;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))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-\[250ms\]{--tw-duration:.25s;transition-duration:.25s}.ease-\[cubic-bezier\(0\.22\,1\,0\.36\,1\)\]{--tw-ease:cubic-bezier(.22,1,.36,1);transition-timing-function:cubic-bezier(.22,1,.36,1)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-\[250ms\]{animation-duration:.25s}.ease-\[cubic-bezier\(0\.22\,1\,0\.36\,1\)\]{animation-timing-function:cubic-bezier(.22,1,.36,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}@media (hover:hover){.group-hover\:scale-\[1\.01\]:is(:where(.group):hover *){scale:1.01}}.peer-placeholder-shown\:top-1\/2:is(:where(.peer):-moz-placeholder~*){top:50%}.peer-placeholder-shown\:top-1\/2:is(:where(.peer):placeholder-shown~*){top:50%}.peer-placeholder-shown\:text-sm:is(:where(.peer):-moz-placeholder~*){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.peer-placeholder-shown\:text-sm:is(:where(.peer):placeholder-shown~*){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.peer-placeholder-shown\:font-medium:is(:where(.peer):-moz-placeholder~*){--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.peer-placeholder-shown\:font-medium:is(:where(.peer):placeholder-shown~*){--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.peer-focus\:top-4:is(:where(.peer):focus~*){top:calc(var(--spacing)*4)}.peer-focus\:text-xs:is(:where(.peer):focus~*){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.peer-focus\:font-semibold:is(:where(.peer):focus~*){--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.peer-focus\:text-cyan-700:is(:where(.peer):focus~*){color:var(--color-cyan-700)}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::-moz-placeholder{color:var(--muted-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.placeholder\:text-transparent::-moz-placeholder{color:#0000}.placeholder\:text-transparent::placeholder{color:#0000}.focus-within\:border-teal-500:focus-within{border-color:var(--color-teal-500)}.focus-within\:bg-white:focus-within{background-color:var(--color-white)}.focus-within\:shadow-\[0_0_0_3px_rgba\(20\,184\,166\,0\.25\)\,0_10px_24px_rgba\(56\,189\,248\,0\.12\)\,0_0_16px_rgba\(124\,58\,237\,0\.08\)\]:focus-within{--tw-shadow:0 0 0 3px var(--tw-shadow-color,#14b8a640),0 10px 24px var(--tw-shadow-color,#38bdf81f),0 0 16px var(--tw-shadow-color,#7c3aed14);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:border-slate-500:hover{border-color:var(--color-slate-500)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-200:hover{background-color:var(--color-slate-200)}.hover\:from-teal-300:hover{--tw-gradient-from:var(--color-teal-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:via-sky-500:hover{--tw-gradient-via:var(--color-sky-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.hover\:to-fuchsia-500:hover{--tw-gradient-to:var(--color-fuchsia-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-inherit:hover{color:inherit}.hover\:text-slate-900:hover{color:var(--color-slate-900)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-violet-500\/30:hover{--tw-shadow-color:#8d54ff4d}@supports (color:color-mix(in lab,red,red)){.hover\:shadow-violet-500\/30:hover{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-violet-500)30%,transparent)var(--tw-shadow-alpha),transparent)}}}.focus-visible\:-translate-y-0\.5:focus-visible{--tw-translate-y:calc(var(--spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.focus-visible\:from-teal-300:focus-visible{--tw-gradient-from:var(--color-teal-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.focus-visible\:via-sky-500:focus-visible{--tw-gradient-via:var(--color-sky-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.focus-visible\:to-fuchsia-500:focus-visible{--tw-gradient-to:var(--color-fuchsia-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.focus-visible\:shadow-xl:focus-visible{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:shadow-violet-500\/30:focus-visible{--tw-shadow-color:#8d54ff4d}@supports (color:color-mix(in lab,red,red)){.focus-visible\:shadow-violet-500\/30:focus-visible{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-violet-500)30%,transparent)var(--tw-shadow-alpha),transparent)}}.focus-visible\:ring-cyan-300:focus-visible{--tw-ring-color:var(--color-cyan-300)}.focus-visible\:ring-cyan-300\/80:focus-visible{--tw-ring-color:#53eafdcc}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-cyan-300\/80:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-cyan-300)80%,transparent)}}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-white:focus-visible{--tw-ring-offset-color:var(--color-white)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:48rem){.md\:w-32{width:calc(var(--spacing)*32)}.md\:px-10{padding-inline:calc(var(--spacing)*10)}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}:root{color-scheme:light;--bg-1:#fdf6d8;--bg-2:#c9f2ff;--bg-3:#ffd3ec;--bg-4:#fefefe;--ink:#1f2a44;--heading:#17253f;--card:oklch(100% 0 0);--surface:#fdfefe;--accent:oklch(97% 0 0);--accent-2:#2bb673;--muted:oklch(97% 0 0);--subtitle:#6b7280;--header-email:#2f3d59;--tab-active-bg:#1f5fd6;--tab-active-text:#fff;--shadow:0 12px 30px #14283c24;--metric-bg:#f6fbff;--metric-border:#e4f1ff;--tab-bg:#d9e8f9;--card-border:#ecf1ff;--lesson-link:#1b5fb9;--lesson-image-border:#dce8ff;--lesson-image-bg:#f3f8ff;--thumb-border:#deebff;--thumb-shadow:#204a8d2e;--focus-ring:#8bb8ff;--story-border:#ffe2b0;--story-bg:#fff8ea;--practice-border:#dce8ff;--practice-bg:#f9fcff;--code-bg:#f4f8ff;--code-border:#dce8ff;--code-text:#22325a;--output-bg:#101623;--output-border:#223e64;--output-text:#d8ffe7;--card-done-border:#9ee6bf;--card-done-bg:#f0fff7;--pill-bg:#ecf8f0;--pill-text:#17733f;--editor-border:#d8e3ff;--button-bg:#d7e7ff;--button-text:var(--ink);--coming-soon-bg:#fff7e7;--coming-soon-border:#ffd394;--explain-bg:#eef8ff;--explain-border:#b9ddff;--pitfall-bg:#fff1ef;--pitfall-border:#ffc4bd;--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}[data-theme=dark]{color-scheme:dark;--bg-1:#0e1a2f;--bg-2:#101b2b;--bg-3:#30203f;--bg-4:#090f1a;--ink:#e8eefc;--heading:#f4f7ff;--card:#18243a;--surface:#162033;--accent:#ff9b52;--accent-2:#3bcf87;--muted:#b7c3de;--subtitle:#b7c3de;--header-email:#d6e3ff;--tab-active-bg:#5b8dff;--tab-active-text:#081326;--shadow:0 14px 32px #0308128c;--metric-bg:#1d2a43;--metric-border:#2c4066;--tab-bg:#24314f;--card-border:#2a3b5f;--lesson-link:#8cbcff;--lesson-image-border:#34517f;--lesson-image-bg:#1c2842;--thumb-border:#375280;--thumb-shadow:#060c188c;--focus-ring:#77a9ff;--story-border:#6f552a;--story-bg:#2a2232;--practice-border:#355179;--practice-bg:#142235;--code-bg:#101b2e;--code-border:#344f76;--code-text:#d8e7ff;--output-bg:#09101d;--output-border:#2c486d;--output-text:#b9ffd7;--card-done-border:#2f8a63;--card-done-bg:#122a24;--pill-bg:#173126;--pill-text:#8df0bf;--editor-border:#355179;--button-bg:#27395b;--button-text:#e8efff;--coming-soon-bg:#2a2435;--coming-soon-border:#705631;--explain-bg:#162b46;--explain-border:#3f6597;--pitfall-bg:#34212a;--pitfall-border:#845365}*{box-sizing:border-box}body{color:var(--ink);background:radial-gradient(circle at 10% 20%,var(--bg-1),transparent 30%),radial-gradient(circle at 80% 10%,var(--bg-3),transparent 35%),linear-gradient(135deg,var(--bg-2),var(--bg-4));min-height:100vh;margin:0;font-family:Trebuchet MS,Avenir Next,Segoe UI,Helvetica Neue,sans-serif}body.auth-page{overflow:hidden}.stars{pointer-events:none;opacity:.35;background-image:radial-gradient(circle,#ffffff73 1px,#0000 1px);background-size:34px 34px;position:fixed;top:0;right:0;bottom:0;left:0}.app-shell{z-index:1;max-width:980px;margin:90px auto 24px;padding:20px;position:relative}.top-header{z-index:1000;background:var(--card);padding:12px 16px;position:fixed;top:0;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.top-header{background:color-mix(in srgb,var(--card)82%,transparent)}}.top-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.top-header-inner{justify-content:space-between;align-items:center;max-width:980px;margin:0 auto;display:flex}.header-right{align-items:center;gap:8px;display:flex}.user-email{text-overflow:ellipsis;white-space:nowrap;max-width:210px;color:var(--header-email);font-size:.88rem;overflow:hidden}.header-left{align-items:center;gap:10px;display:flex}.brand-mini{color:var(--heading);padding-right:18px;font-weight:700;display:inline-block;position:relative}.brand-logo-mini{-o-object-fit:contain;object-fit:contain;width:22px;height:22px}.brand-mini-text{z-index:2;position:relative}.brand-logo-mini-behind{z-index:1;opacity:.95;position:absolute;top:50%;right:6px;transform:translateY(-50%)rotate(8deg)}.hero-title{padding-right:38px;display:inline-block;position:relative}.hero-logo{-o-object-fit:contain;object-fit:contain;width:34px;height:34px}.hero-title-text{z-index:2;position:relative}.hero-logo-behind{z-index:1;opacity:.95;filter:drop-shadow(0 6px 10px #08101e40);width:58px;height:58px;position:absolute;top:50%;right:2px;transform:translateY(-50%)rotate(9deg)}.header-back-button{background:var(--tab-bg);color:var(--ink);border:1px solid var(--metric-border);border-radius:999px;padding:6px 12px;font-size:.9rem}.header-logout{border-radius:999px;padding:8px 12px}.header-login-link{color:var(--ink);border-radius:999px;padding:8px 12px;font-weight:600;text-decoration:none}.theme-switch{background:0 0;border-radius:999px;padding:0}.switch-track{background:var(--tab-bg);border:2px solid var(--metric-border);border-radius:999px;align-items:center;width:62px;height:34px;padding:3px;transition:background .2s;display:inline-flex}.switch-track.is-dark{background:var(--accent)}.switch-thumb{background:var(--card);width:24px;height:24px;box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;transition:transform .2s;display:inline-flex;transform:translate(0)}.switch-track.is-dark .switch-thumb{transform:translate(28px)}.switch-thumb img{width:15px;height:15px;display:block}.hero{background:var(--card);box-shadow:var(--shadow);border-radius:24px;justify-content:space-between;gap:16px;padding:22px;display:flex}h1,h2,h3,h4,p{margin:0}.eyebrow{color:var(--accent-2);font-weight:700}.subtitle{color:var(--subtitle);margin-top:8px}.scoreboard{grid-template-columns:repeat(3,minmax(72px,1fr));gap:10px;display:grid}.metric{background:var(--metric-bg);border:2px solid var(--metric-border);text-align:center;border-radius:14px;padding:8px}.metric.locked{opacity:.72}.metric strong{font-size:1.4rem;display:block}.metric-lock{justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.tabs{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.tab{background:var(--tab-bg);color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-weight:700;display:inline-flex}.tab:disabled{opacity:.72;cursor:not-allowed}.tab-lock{font-size:.86em}.tab.active{background:var(--tab-active-bg);color:var(--tab-active-text)}.panel{background:var(--card);box-shadow:var(--shadow);border-radius:20px;padding:20px;animation:.3s rise}.auth-shell{z-index:1;justify-content:center;align-items:center;max-width:520px;min-height:calc(100vh - 72px);margin:72px auto 0;padding:20px;display:flex;position:relative}.auth-panel{gap:10px;display:grid}.auth-stars{opacity:1;z-index:0;background:linear-gradient(135deg,#2dc7d8,#3a7fe2 45%,#d22df0)}.launchpad-shell{background:linear-gradient(135deg,#14b8a6,#38bdf8 48%,#8b5cf6 82%,#0f172a);grid-template-columns:3fr 2fr;min-height:100vh;display:grid;position:relative;overflow:hidden}.launchpad-shell:before{content:"";pointer-events:none;background:radial-gradient(circle at 22% 28%,#ffffff24,#0000 52%),radial-gradient(circle at 78% 66%,#1e293b38,#0000 48%);position:absolute;top:0;right:0;bottom:0;left:0}.launchpad-shell:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0f172a00,#0f172a5c);width:26%;height:100%;position:absolute;top:0;right:0}.launchpad-left{color:#eff9ff;background:0 0;padding:72px;position:relative;overflow:hidden}.launchpad-left:after{content:"";pointer-events:none;background:radial-gradient(circle at 20% 30%,#ffffff26,#0000 50%);position:absolute;top:0;right:0;bottom:0;left:0}.launchpad-brace-bg{color:#e8f5ff14;filter:blur(1.5px);z-index:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:clamp(9rem,19vw,14rem);font-weight:800;position:absolute}.launchpad-brace-bg-1{top:-2%;left:6%}.launchpad-brace-bg-2{opacity:.78;position:fixed;bottom:4%;right:4%;transform:rotate(12deg)}.launchpad-noise{z-index:0;opacity:.035;pointer-events:none;background-image:radial-gradient(circle at 20% 20%,#fff .5px,#0000 .5px);background-size:3px 3px;position:fixed;top:0;right:0;bottom:0;left:0}.launchpad-glow{filter:blur(14px);z-index:0;background:radial-gradient(circle,#38bdf88c,#38bdf800);border-radius:999px;width:620px;height:620px;position:absolute;top:13%;left:10%}.launchpad-mascot{z-index:2;width:346px;max-width:42%;animation:5.8s ease-in-out infinite float-mascot;position:absolute;top:19%;left:24%;transform:rotate(-8deg)}.launchpad-copy{max-width:420px;position:absolute;bottom:92px;left:72px}.launchpad-copy h2{color:#f7fdff;text-shadow:0 2px 10px #08142833;margin:0;font-size:2.1rem;line-height:1.2}.launchpad-copy p{color:#f1fbfffa;margin-top:10px;font-size:1.05rem;line-height:1.45}.launchpad-progress-copy{opacity:.55;letter-spacing:.03em;margin-top:16px;font-size:.88rem}.code-float{color:#ebf7ff99;letter-spacing:.08em;font-weight:800;animation:9.5s ease-in-out infinite float-code;position:absolute}.code-float-1{top:18%;left:56%}.code-float-2{animation-delay:.6s;top:34%;left:68%}.code-float-3{animation-delay:1.1s;top:52%;left:62%}.code-float-4{animation-delay:1.6s;top:66%;left:76%}.spark{background:#ffffffe0;border-radius:999px;width:6px;height:6px;animation:5.8s ease-in-out infinite pulse-spark;position:absolute;box-shadow:0 0 16px #fffc}.spark-1{top:30%;left:46%}.spark-2{animation-delay:.8s;top:44%;left:52%}.spark-3{animation-delay:1.4s;top:62%;left:58%}.launchpad-right{z-index:2;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px;display:flex;position:relative}.auth-contact{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f223d57;border:1px solid #ffffffb3;border-radius:14px;width:100%;max-width:430px;padding:12px 14px}.auth-contact h3{color:#f5fbff;margin:0 0 6px;font-size:.96rem}.auth-contact p{color:#e7f6ffe6;margin:0;font-size:.87rem;line-height:1.4}.auth-contact a{color:#8de9ff;font-weight:700;text-decoration:none}.auth-contact a:hover,.auth-contact a:focus-visible{text-decoration:underline}.auth-contact-inline{display:none}.auth-card{z-index:2;color:#202538;background:#fff;border-radius:22px;gap:12px;width:100%;max-width:430px;margin:0 auto;padding:32px 28px;position:relative;transform:translateY(-20px);box-shadow:0 16px 34px #131e3633}.glass-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fff;border:1px solid #e2e8f0;box-shadow:0 16px 34px #0812233d,0 0 0 1px #38bdf824}.glass-card:before{content:"";pointer-events:none;border:1px solid #ffffff8c;border-radius:21px;position:absolute;top:1px;right:1px;bottom:1px;left:1px}.auth-card-error{animation:.32s ease-out auth-shake}.auth-field{position:relative}.auth-field-icon{color:#475569;transition:transform .2s,color .2s;display:inline-block}.auth-field-icon-email,.auth-field-icon-password{color:#475569}.auth-field:focus-within .auth-field-icon{color:#14b8a6;transform:translateY(-1px)scale(1.05)}.auth-field:focus-within .auth-field-icon-email,.auth-field:focus-within .auth-field-icon-password{background:0 0}.auth-cta{animation:6s ease-in-out infinite pulse-cta;position:relative;overflow:hidden}.auth-cta:before{content:"";pointer-events:none;background:linear-gradient(90deg,#fff0,#ffffff38,#fff0);width:42%;height:340%;animation:7.2s ease-in-out infinite shine-sweep;position:absolute;top:-120%;left:-36%;transform:rotate(22deg)}.auth-cta:after{content:"";pointer-events:none;background:linear-gradient(#ffffff57,#fff0);border-radius:999px;position:absolute;top:1px;right:1px;bottom:1px;left:1px}.auth-rocket{display:inline-block}.auth-rocket-pill{margin-right:6px;display:inline-block}.auth-cta:hover .auth-rocket{animation:.7s ease-in-out rocket-wiggle}.auth-divider-copy{color:#0000;letter-spacing:.09em;background:linear-gradient(90deg,#2bb673,#38bdf8,#7c3aed);-webkit-background-clip:text;background-clip:text}.auth-brand{justify-content:center;align-items:center;margin-bottom:2px;display:flex}.auth-brand-badge .auth-brand-logo{filter:drop-shadow(0 0 15px #38bdf859);width:78px}.auth-brand-logo{-o-object-fit:contain;object-fit:contain;width:128px;height:auto}.auth-title{text-align:center;color:#202538;font-size:2rem;font-weight:800}.auth-subtitle{text-align:center;color:#667085;margin-bottom:8px}.auth-label{color:#4f566b;font-size:.88rem;font-weight:700}.auth-input-wrap{position:relative}.auth-input-icon{opacity:.75;font-size:.95rem;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.auth-input{color:#202538;width:100%;font:inherit;background:#f8fbff;border:1px solid #d6deee;border-radius:16px;padding:11px 12px 11px 36px;transition:border-color .25s,box-shadow .25s,background .25s;box-shadow:inset 0 1px 2px #14283c14}.auth-input:focus{background:#fff;border-color:#14b8a6;outline:none;box-shadow:0 0 0 3px #14b8a63d}.auth-links-row{justify-content:flex-end;margin-top:2px;display:flex}.auth-link-button{color:#667085;background:0 0;border-radius:0;padding:0;font-size:.86rem}.auth-submit{color:#fff;letter-spacing:.04em;background:linear-gradient(90deg,#2dc7d8,#d22df0);border-radius:999px;width:100%;padding:12px 16px;font-weight:800;transition:transform .2s,box-shadow .2s;animation:4s ease-in-out infinite pulse-cta;box-shadow:0 10px 22px #a434e659}.auth-submit:hover{transform:translateY(-2px);box-shadow:0 14px 28px #a434e673}.auth-or-text{text-align:center;color:#667085;margin-top:8px}.auth-google-official{background:0 0;border-radius:20px;width:189px;margin:0 auto;padding:0}.auth-google-official img{border-radius:20px;width:100%;height:auto;transition:transform .2s,box-shadow .2s;display:block}.auth-google-official:hover img{transform:translateY(-2px);box-shadow:0 10px 20px #14283c33}.auth-divider{color:#8a93a7;letter-spacing:.03em;align-items:center;gap:10px;margin:8px 0 2px;font-size:.78rem;font-weight:700;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#d9e1f0;flex:1;height:1px}.auth-signup-button{color:#4f566b;letter-spacing:.04em;text-underline-offset:4px;background:0 0;margin:4px auto 0;font-weight:800;text-decoration:underline}@keyframes float-mascot{0%,to{transform:rotate(-8deg)translateY(0)}50%{transform:rotate(-5deg)translateY(-10px)}}@keyframes float-code{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:.88;transform:translateY(-6px)}}@keyframes pulse-spark{0%,to{opacity:.3}50%{opacity:1}}@keyframes pulse-cta{0%,to{box-shadow:0 12px 24px #7c3aed47}50%{box-shadow:0 14px 30px #06b6d457}}@keyframes auth-shake{0%{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}to{transform:translate(0)}}@keyframes rocket-wiggle{0%,to{transform:translateY(0)rotate(0)}30%{transform:translateY(-1px)rotate(-10deg)}60%{transform:translateY(-2px)rotate(8deg)}}@keyframes shine-sweep{0%,86%,to{opacity:0;transform:translate(-220%)rotate(22deg)}90%{opacity:.55}96%{opacity:0;transform:translate(320%)rotate(22deg)}}.auth-error{color:#d94848;font-weight:700}.auth-message{color:var(--accent-2);font-weight:700}.sync-warning{border:2px solid var(--pitfall-border);background:var(--pitfall-bg);border-radius:12px;margin-bottom:12px;padding:10px 12px;font-weight:700}.card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:14px;display:grid}.card{border:2px solid var(--card-border);background:var(--surface);border-radius:16px;padding:12px}.lesson-link{color:var(--lesson-link);margin-top:8px;font-weight:700;text-decoration:none;display:inline-block}.lesson-link:hover{text-decoration:underline}.lesson-detail{margin-top:14px}.lesson-image{aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;border:2px solid var(--lesson-image-border);background:var(--lesson-image-bg);border-radius:14px;width:100%;margin:10px 0}.lesson-thumb{aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;border:1px solid var(--thumb-border);background:var(--lesson-image-bg);border-radius:10px;width:100%;margin-bottom:8px;transition:transform .25s,box-shadow .25s}.lesson-thumb-button{cursor:pointer;background:0 0;border:0;border-radius:10px;width:100%;margin:0;padding:0}.lesson-thumb-button:hover .lesson-thumb,.lesson-thumb-button:focus-visible .lesson-thumb{box-shadow:0 10px 18px var(--thumb-shadow);transform:scale(1.03)}.lesson-thumb-button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.story-box{border:2px solid var(--story-border);background:var(--story-bg);border-radius:12px;margin-top:10px;padding:10px}.explain-box{border:2px solid var(--explain-border);background:var(--explain-bg);border-radius:12px;margin-top:10px;padding:10px}.explain-box h4{margin:0 0 6px}.pitfall-box{border:2px solid var(--pitfall-border);background:var(--pitfall-bg);border-radius:12px;margin-top:10px;padding:10px}.pitfall-box h4{margin:0 0 6px}.pitfall-box ul{margin:0;padding-left:20px}.pitfall-box li{margin:4px 0}.story-box h4{margin:0 0 6px}.story-box ul{margin:0;padding-left:20px}.story-box li{margin:4px 0}.practice-box{border:2px solid var(--practice-border);background:var(--practice-bg);border-radius:14px;margin-top:14px;padding:12px}.practice-box h4{margin:0 0 8px}.lesson-code,.lesson-output{white-space:pre-wrap;border-radius:10px;margin:6px 0 10px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.85rem}.lesson-code{background:var(--code-bg);border:1px solid var(--code-border);color:var(--code-text)}.lesson-output{background:var(--output-bg);border:1px solid var(--output-border);color:var(--output-text)}.card.done{border-color:var(--card-done-border);background:var(--card-done-bg)}.challenge-head{justify-content:space-between;align-items:center;display:flex}.pill{background:var(--pill-bg);color:var(--pill-text);border-radius:999px;padding:4px 10px;font-weight:700}#code-editor{border:2px solid var(--editor-border);background:var(--code-bg);width:100%;min-height:220px;color:var(--code-text);resize:vertical;border-radius:14px;margin-top:12px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.95rem}#lesson-practice-editor{border:2px solid var(--editor-border);background:var(--code-bg);width:100%;min-height:170px;color:var(--code-text);resize:vertical;border-radius:12px;margin-top:10px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.92rem}.actions{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.actions button{background:var(--button-bg);color:var(--button-text);font:inherit;cursor:pointer;border:0;border-radius:10px;padding:10px 14px;font-weight:700}.actions button.primary{background:var(--accent-2);color:#fff}.actions button:disabled{opacity:.6;cursor:not-allowed}#output,#lesson-practice-output{background:var(--output-bg);color:var(--output-text);white-space:pre-wrap;border-radius:14px;min-height:120px;margin-top:12px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.coming-soon{border:2px dashed var(--coming-soon-border);background:var(--coming-soon-bg);border-radius:16px;margin-top:14px;padding:14px}h1,h2,h3,h4{color:var(--heading)}.badge{justify-content:space-between;align-items:center;display:flex}.badge.locked{opacity:.45}.confetti-container{pointer-events:none;z-index:9999;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.confetti-piece{opacity:.95;border-radius:2px;width:10px;height:16px;animation-name:confetti-fall;animation-timing-function:ease-out;animation-fill-mode:forwards;position:absolute;top:0}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-12vh)rotate(0)}to{opacity:.9;transform:translateY(108vh)rotate(680deg)}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.site-footer{z-index:1;border-top:1px solid var(--card-border);margin-top:20px;position:relative}@supports (color:color-mix(in lab,red,red)){.site-footer{border-top:1px solid color-mix(in srgb,var(--card-border)68%,transparent)}}.site-footer{background:var(--card)}@supports (color:color-mix(in lab,red,red)){.site-footer{background:color-mix(in srgb,var(--card)76%,transparent)}}.site-footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.site-footer.is-auth{margin-top:0}.site-footer-inner{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px;max-width:980px;margin:0 auto;padding:18px 20px 22px;display:grid}.site-footer-title{color:var(--heading);margin:0 0 6px;font-size:1rem;font-weight:800}.site-footer-brand p{color:var(--subtitle);margin:0;font-size:.9rem;line-height:1.45}.site-footer-links{grid-template-columns:repeat(2,minmax(0,auto));gap:8px 14px;display:grid}.site-footer-links a{color:var(--lesson-link);font-weight:700;text-decoration:none}.site-footer-links a:hover,.site-footer-links a:focus-visible{text-decoration:underline}.site-footer-contact{flex-direction:column;gap:6px;display:flex}.site-footer-contact a{color:var(--lesson-link);font-weight:700;text-decoration:none}.site-footer-contact a:hover,.site-footer-contact a:focus-visible{text-decoration:underline}.site-footer-contact p{color:var(--subtitle);margin:0;font-size:.86rem}@media (max-width:760px){body.auth-page{background:#fff;overflow:hidden auto}.auth-stars{display:none}.launchpad-shell{background:#fff;grid-template-columns:1fr}.launchpad-shell:before,.launchpad-shell:after,.launchpad-left{display:none}.launchpad-right{background:0 0;justify-content:flex-start;gap:8px;padding:8px 0 0}.auth-contact{display:none}.auth-contact-inline{background:#f8fbff;border:1px solid #d9e2f1;border-radius:12px;margin-top:8px;padding:10px;display:block}.auth-contact-inline h3{color:#23314d;margin:0 0 6px;font-size:.94rem}.auth-contact-inline p{color:#4b5a78;margin:0;font-size:.84rem;line-height:1.4}.auth-contact-inline a{color:#1b5fb9;font-weight:700;text-decoration:none}.auth-contact-inline a:hover,.auth-contact-inline a:focus-visible{text-decoration:underline}.app-shell{margin-top:84px}.auth-shell{min-height:100vh;margin-top:0;padding:0}.auth-card{max-width:none;min-height:auto;box-shadow:none;border-radius:0;padding:20px 20px 16px;transform:none}.auth-brand-logo{width:96px}.auth-title{font-size:1.9rem}.auth-subtitle{font-size:.98rem}.auth-google-official{width:200px}.auth-submit,.auth-google-official{width:100%;max-width:320px}.top-header{padding:10px 12px}.header-right{gap:6px}.user-email{display:none}.header-back-button{padding:6px 10px;font-size:.82rem}.hero-title{padding-right:30px}.hero-logo-behind{width:48px;height:48px;right:-8px}.hero{flex-direction:column}.scoreboard{grid-template-columns:repeat(3,1fr)}.site-footer{margin-top:14px}.site-footer-inner{grid-template-columns:1fr;gap:12px;max-width:none;margin:0;padding:14px 12px 18px}.site-footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value: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-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
